虹科干货 | 探索工业树莓派更多可能性—兼顾CODESYS数据采集和Python数据优化处理

前言

工业4.0理念的兴起带来了数字化和智能化的革命。现代工业场景对OT端设备的要求越来越高,需要处理多样化的任务和数据,包括实时控制、数据处理、物联网通信、边缘计算等。面对多样化的需求,传统工业PLC控制器设备已经不能完全满足,需要一种更强大的OT端设备满足数字化、智能化需求

一、解决方案

针对上述情况,虹科曾提出过一种解决方案:为PLC控制器设备添加虹科工业树莓派设备,借由工业树莓派接口丰富的特点,采集PLC控制器的数据并进行边缘计算。本文,我们将提供第二种解决方案:采用虹科工业树莓派替代PLC控制器。

虹科工业树莓派是一个专门为工业应用设计的边缘计算硬件平台,它能够与CODESYS进行结合作为软PLC模块使用,以满足传统工业中电气工程师的开发应用习惯。除此之外,虹科工业树莓派可以作为边缘计算网关,支持Python开发应用。虹科工业树莓派本身配备一个多核处理器,可以同时运行多个程序,实现并行计算。本文将探讨虹科工业树莓派同时作为软PLC和边缘计算网关的可行性。

二、理论分析

1、多核处理器

虹科工业树莓派采用Broadcom BCM2711四核处理器,可以同时运行多个程序,实现并行计算,提高性能。

2、大内存配置

虹科工业树莓派部分型号配备较大的内存,能够支持同时运行多个程序,确保运行的稳定性。

3、独立运行环境

CODESYS和Python作为独立的运行环境,彼此之间不会相互干扰,各自运行在不同的进程中,不会冲突。

4、分时调度

Linux操作系统有着优秀的进程调度机制,能够快速地在不同任务之间切换,实现看似同时运行的效果。

三、初步实践测试

虹科工业树莓派自带两个支持可自由编程控制的指示灯,本次初步测试内容:

  • CODESYS控制指示灯,Python程序获取指示灯状态;
  • 指令控制指示灯,CODESYS在线监测指示灯状态。

1. CODESYS控制指示灯,Python程序获取指示灯状态

a.CODESYS定义变量;

b.CODESYS程序:A1指示灯和A2指示灯亮绿灯,运行;

c. 使用虹科开发提供的myCtrlLib库编写Python程序获取指示灯状态;

d.在线修改CODESYS程序,并重新下载;

e.结果:CODESYS控制设备成功,Python同时获取设备数据成功。

2. 指令控制指示灯,CODESYS程序获取指示灯状态

a.输入指示灯控制指令;

piTest -w RevPiLED,5

b.CODESYS监测状态;

c.指令查看指示灯当前状态。

d.结果:Python控制设备失败,CODESYS获取数据当前状态成功。

3.测试分析

基于虹科提供的myCtrlLib库的基础上,在CODESYS程序运行的同时,Python程序无法控制设备硬件,但是Python程序能够正常在设备内运行并及时获取到设备正确数据。换而言之,虹科工业树莓派在采用CODESYS程序实现数据采集的同时,能够同时运行编程语言实现边缘计算。

初步分析,Python程序无法控制硬件的主要原因:默认情况下,CODESYS调用硬件的优先级高于Python程序,这部分可以通过系统管理尝试修改优先级。

四、结论

通过本次初步测试,虹科工业树莓派能够在满足电气工程师开发习惯的基础上,增加边缘计算能力,同时兼顾CODESYS数据采集和Python数据处理。

虹科工业树莓派近期也推出了最新产品—RevPi Connect 4系列配备最新CM4计算模块,具备更强大的性能,能够在最大限度上满足上述需求,欢迎大家咨询采购(点击下图了解详情)。