终于来到树莓派4B上的开发流程,开箱时已经部署了Ubuntu2204lts版本的LinuxOS镜像,这里可以直接进入到应用软件系统的部署和开发。
通过学习了一段时间的Beremiz这个软PLC系统runtime后,发现它内部虽然集成了modbus协议栈,但是并不是很适合利用这个集成的协议栈进行modbus控制外设的二次开发。所以我们依然可以考虑部署这个软PLC的runtime,把树莓派4B当做是一台PLC工业控制器用,但是为了实现modbus on TCP来控制例如机床上的照明灯具lamp,声光报警器alarm,还有通风机鼓风机ventilator等等设备,我们还需要部署,安装其它的软件系统如HMI等。
考虑到当前web技术和工业iIoT物联网技术的结合趋势,我选择了FUXA这个开源项目作为HMI系统来进行部署。后面如果需要二次开发,也可以比较方便用JS语言进行。
可以看到,Beremiz这个软PLC系统还是很容易部署和运行的,我这里都是采用直接源码编译和安装,没有考虑docker啥的,主要考虑到将来如果把它正式用于生产环境,对于Beremiz这个runtime中运行的PLC指令表和梯形图等控制程序,也可能会有二次开发需求啥的。
这里要注意它的提示,对于npm包管理器和nodeJS版本是有要求的,我这里按照提示所言安装了
Node Version 14.21.3 (集成的npm 6.14.18),可以略去有关模块不兼容造成的bug。
如上图所示,这是代表FUXA的server端已经跑起来了。Ubuntu2204lts系统中记得用防火墙ufw打开端口1881,你就可以在局域网环境里访问服务。至于要通过公网环境访问的话,那还需要进行dns域名配置和端口映射等等操作。如下图所示。
接下来,我们继续安装和部署FUXA的客户端client,有debug和build两个模式。
如上图所示,这是代表FUXA的客户端client也已经OK了。未完待续!
PS:win10平台上,也可以考虑部署FUXA的客户端client,主要是方便有些人喜欢工作于win平台,如下图所示。
从上述已经有所省略的10张图所示,这个基于web前端技术的HMI系统FUXA如果非要在win平台上部署,安装流程是很繁琐的,除了nodeJS14.21.3,Python3.12等FUXA本身依赖是必须品,同时还有powershell环境下自动跳出来安装的Windows系统级一大堆的依赖。例如vctool和vc动态链接库,vs的buildtools,dotnet4.8,vs的workload-vctools等等,如果不熟悉vs开发生态和Windows系统平台的话,头都大了。
最后不幸的是,同样的部署,安装流程在树莓派和Linux系统上运行时完全OK,但是在我的win10笔记本上,运行还bug了,暂时也没去排错处理,特此记录!
本帖最后由 ly87802541 于 2024-1-8 17:47 编辑