关于近期项目实施的技术概述
本周,我参与了一个项目,该项目主要涉及使用PLC控制变频器电机的运行,同时收集环境和电机的状态信息。对于此项目,我们并没有设定过高的要求,因此选择了西门子200smart作为主站,配以一个变频器和一个度传感器,并采用Modbus RTU轮询的方式进行数据交互。
一、程序编写要点
在程序开发过程中,首先需要正确设置波特率和奇偶校验。我们以标注位M0.0作为轮询的开始标志。在程序中,我们还用到了控制字。上一个轮询的标志位M0.2将被用作起始位来读取实际频率,当读取完成后,标志位M0.3会复位M0.2。
对于电流和电压的读取,我们可以查阅变频器的说明书,从中找到电压和电流的地址。而度数据的读取,其从站的地址设为2,变频器地址设为1,这些都可以根据需要进行设置。具体的地址信息,同样可以在说明书中查找到。
二、硬件参数设置
硬件部分的设置尤为关键,因为不恰当的参数设置将导致轮询出错。
在Modbus系统中,若主站PLC出现故障或通讯线断裂等导致报文中断,作为从站的变频器必须停止运行,以避免生产的发生。报文应答的超时时间设置为1000ms,因此P2014参数必须设置大于1000ms,通常我们将其设置为2-3秒。特别注意的是,P2014参数不能设置为0。
对于PLC部分,由于机HMI触摸屏占用了9针串口的资源,我们不得不采用添加信号板-CM01的方式进行扩展,并确保其波特率设置为9600。
三、总结