[经验分享] 【DigiKey“智造万物,快乐不停”创意大赛】树莓派PLC+HMI端simple-demo

ly87802541   2024-1-8 14:37 楼主
 
终于来到树莓派4B上的开发流程,开箱时已经部署了Ubuntu2204lts版本的LinuxOS镜像,这里可以直接进入到应用软件系统的部署和开发。
通过学习了一段时间的Beremiz这个软PLC系统runtime后,发现它内部虽然集成了modbus协议栈,但是并不是很适合利用这个集成的协议栈进行modbus控制外设的二次开发。所以我们依然可以考虑部署这个软PLC的runtime,把树莓派4B当做是一台PLC工业控制器用,但是为了实现modbus on TCP来控制例如机床上的照明灯具lamp,声光报警器alarm,还有通风机鼓风机ventilator等等设备,我们还需要部署,安装其它的软件系统如HMI等。
考虑到当前web技术和工业iIoT物联网技术的结合趋势,我选择了FUXA这个开源项目作为HMI系统来进行部署。后面如果需要二次开发,也可以比较方便用JS语言进行。
首先,我们找到https://gitee.com/liunix61/Beremiz链接地址,git clone这个项目源码,然后按照Gitee页面上的指令进行一系列操作,如下图所示。
143303qhk7pd1i2o373tzs.png
143303cy6447hwpp07zot3.png
143303n8qfv8vb41a2qaaa.png
143303wox8ru68668964h8.png
143303f9scyet72x27oe7z.png
可以看到,Beremiz这个软PLC系统还是很容易部署和运行的,我这里都是采用直接源码编译和安装,没有考虑docker啥的,主要考虑到将来如果把它正式用于生产环境,对于Beremiz这个runtime中运行的PLC指令表和梯形图等控制程序,也可能会有二次开发需求啥的。
然后就是关于FUXA这个HMI软件系统的安装,部署等流程,同样也是找到链接地址https://gitee.com/liunix61/FUXA这个Gitee页面,git clone这个FUXA开源项目的源码,并且按照其Gitee页面上的指令进行一系列操作,如下图所示。
143303y4f43detz5d358ct.png
这里要注意它的提示,对于npm包管理器和nodeJS版本是有要求的,我这里按照提示所言安装了Node Version 14.21.3 (集成的npm 6.14.18),可以略去有关模块不兼容造成的bug。
143303gdvd2z1fvxj3hne3.png
143303reaqx606awx0sssz.png
143303nece2eew2cm43m9m.png
如上图所示,这是代表FUXA的server端已经跑起来了。Ubuntu2204lts系统中记得用防火墙ufw打开端口1881,你就可以在局域网环境里访问服务。至于要通过公网环境访问的话,那还需要进行dns域名配置和端口映射等等操作。如下图所示。
6b94f31f27df543018e327fbb3cdd14.png  
cef6103488075036518fc1370660da4.png  
 
接下来,我们继续安装和部署FUXA的客户端client,有debug和build两个模式。
143303sjamza73kxjkcux5.png
143303hj5jl20po4ppoigo.png
143303ttqxxhmmvflhz0x7.png
如上图所示,这是代表FUXA的客户端client也已经OK了。未完待续!
PS:win10平台上,也可以考虑部署FUXA的客户端client,主要是方便有些人喜欢工作于win平台,如下图所示。
143303olltzvjslcc88gah.png
143303h7vfs77yyff7yghm.png
143303itez08mkeuutm93e.png
143303ojiba7z0jpdz4k8p.png
143303o2h4f60z0mz0fwyu.png
143303hazyhfpsautua0sp.png
143303jbyvqowlg80lvsys.png
143303f4mj4naazaa2acaq.png
143303apz6zhvtjt0od8tc.png
143303byss5v925lqg5g7x.png
从上述已经有所省略的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 编辑

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复