1 前言
因为近来打算在汇川论坛赚点水滴,兑换些好东西,所以打算写这样一系列小白也能懂的开发笔记(当然没人看就鸽了)。
本来打算叫【授人以渔系列】的,但是转念一想,自己一个菜鸟又谈何‘授’人以鱼,不如一起来快乐摸鱼。所以最后这篇攻略就决定叫【一起摸鱼系列】了。
因为手上正好有个H5U PLC,所以这是一篇基于 汇川 H5U PLC 的上位机开发笔记, 理论上也适用于其他支持 Modbus TCP 的设备。而且经过简单修改,也可以适配任何通信协议。
2 技术栈
2.1 语言及运行环境选择
虽然标题已经写了 Node.js 开发,那么语言也只能是 JavaScript ,但想必大家对此还是有一些疑问:
-
什么是 Node.js?
Node.js 是基于 V8 引擎(Google 的开源高性能 JavaScript 和 WebAssembly 引擎)的JavaScript运行环境。可以在 Windows 7 或更高版本、macOS 10.12+ 以及使用 x64、IA-32、ARM 或 MIPS 处理器的 Linux 系统上运行。
-
为什么选择 Node.js?
让我们看看 The Computer Language Benchmarks Game 中 Node.js 与 C++ 分别使用简易辛积分器模拟类木行星轨道的性能对比。
各运行50000000次,C++ 耗时9.67s,Node.js 耗时27.76s。
那么既然 C++ 效率这么高,为什么不直接用C++开发上位机呢?因为 C++ 的维护成本与开发效率与 Node.js 也截然不同。
由于 Node.js 是支持 C++ 拓展的,那么综合考虑维护成本、开发效率及性能的话,整体使用 Node.js 开发,偶尔在其中使用 C++ 拓展,也不失为一种好方案。
2.2 桌面应用框架选择
如果你可以建一个网站,你就可以建一个桌面应用程序。 Electron 是一个使用 JavaScript, HTML 和 CSS 等 Web 技术创建原生程序的框架,它内嵌了 Chromium 和 Node.js ,允许你使用 JavaScript 代码创建在 Windows、macOS 和 Linux 上运行的跨平台应用 —— 不需要本地开发经验。
2.3 Web 前端框架选择
React.js 、AngularJS 和 Vue.js 都是很好用的前端框架,这里我们选择最容易上手的 Vue.js。
3 开始
已经选择好了技术栈,那么我们开始吧!
3.1 下载 Node.js
前往 Node.js 的官网:
https://nodejs.org/zh-cn/download/releases/
下载 2021-07-29, Version 14.17.4 'Fermium' (LTS)对应你系统的版本,由于我在window上开发,这里我下载 win x64 版本。
如有特殊需求也可以下载其他版本,这里不推荐。
安装之后在 cmd 中输入node -v
,有如下输出则安装成功。
> node -v
v14.17.4
3.2 下载 Visual Studio Code (可选)
Visual Studio Code 是一个免费的、重新定义和优化的代码编辑器,用于构建和调试现代 Web 和云应用程序。
前往 vs code 官网:
https://code.visualstudio.com/
下载对应系统的 vs code 版本,然后安装。
4 一个简单的 Node.js 程序
新建一个文件夹,在其中新建一个 program.js
文件,输入如下代码,并保存。
const a = 1
const myFunc = (b) => b + 1
console.log('mingiii' + myFunc(a))
最后在 cmd 或 vs code 的终端中,在该目录下输入 node .\program.js
,得到下图返回。
> node .\program.js
mingiii2
到这里,一个简单的 Node.js 程序就完成了,如果对 JavaScript 还不是很了解的,可以浏览下列教程
廖雪峰的 JavaScript 教程:https://www.liaoxuefeng.com/wiki/1022910821149312
MDN Web JavaScript 文档:https://developer.mozilla.org/en-US/docs/Web/JavaScript
5 参考文献
- nodejs.org / OpenJS 基金会和 Node.js 贡献者们, 2021
- electronjs.org / OpenJS 基金会和 Electron 贡献者们, 2021
- Node.js:来一打 C++ 扩展 / 死月著 .—北京:电子工业出版社,2018.6
6 讨饭用附件