C#上位机:生产操作指南
相关Demo与操作原理
C#上位机:串口通讯
C#上位机:Modbus RTU通讯实例
C#上位机:TCP通讯实例
C#上位机:Modbus TCP通讯实例
上位机与生产环境概述
上位机的核心功能是,位于PC、手机端控制下位硬件设备,即连接设备并通信。一般来说是通过下位机(例如PLC、单片机)控制设备运作、获取传感器信号、并处理数据。如果把整套工业设备形容成汽车,上位机则类似于中控系统。
我们以实际生产为例,一台上位机架设在PC端,下位机由PLC完成,我们需要设计与编程一台上位机软件,下位机则进行PLC编程,PLC端再去连接传感器、电机等。
程序设计
一个上位机程序技术核心是通讯方式,设计核心则是科学的生产流程。通讯方式是架设通信协议,并能进行稳定的通讯。常用的通信方式有:RS232/RS485串行通信、USB(某种意义上的485串口)、蓝牙、网络UDP/TCP,在这基础上还有各种主流工业通信协议,如CANBUS、MODBUS、Profibus等。我们以Modbus为例,这是主流控制PLC下位机的串行通信协议,通过串口或TCP发送报文,使得PLC得到信号触发。
程序设计的核心是工业生产的流程,一般是先制定完整和规范的流程再进行程序的编写,而流程体现在接收信号后的处理与反馈。有时候程序上的问题也可以通过优化生产流程来解决,例如面对复杂不稳定的信号条件,我们可以加设使能信号,而面对不稳定的流程等待时间我们也可以加装触发信号。简而言之,应当追求灵活的设计,与稳定的技术规范。
功能补充
在上位机的功能中,我们可能根据生产需要,加入视觉算法识别(OpenCV)、控制算法PID、各设备间的数据识别、读取算法以及数据库记录生产数据。
有时候我们还需要将数据汇总,通过通讯发送至别的平台(PC、打印机等)。
以实际生产为例,一条流水线可能需要工业CCD先行取图,交由上位机进行产品筛选,然后拿筛选结果再去触发PLC信号,在流水线上进行下一步处理。
在流体机械与一些气体、压力相关设备中,我们可能需要通过读取压传等,再通过PID计算,再操控电磁阀进行生产流程。
操作规范与注意事项
在上位机编写的过程中,有以下几个基础的注意事项:
1.关于各种接口的灵活处理,所有可能更改的设置由Config类保存。
2.在实际生产中上位机可能是开机自启动,需要注意自启动的生产安全性与流程的完整性。
3.由于设备常常在客户,也就是异地运行,需要注意长时间运行状态下的通讯连接与流程安全性。
4.线程安全与代码的可读性。
5.需要对上述的几条进行全面的测试,测试永远是编写上位机最重要与最花费时间的环节。
6.应充分考虑连接的各种硬件设备的条件与环境,例如传感器的模拟量与开关量,设计精度与环境干扰。