>大家好,我是微控小智,今天又跟大家见面了。学习不是一蹴而就,需要坚持,做技术亦是如此,厚积才能博发。 上次分享的S7-200PLC与台达VFD_M变频器Modbus通讯案例程序,是采用SM0.5时钟脉冲接通MODBUS指令,这种写法是可以随时修改变频器的频率,但也有局限性,如果还要实时读取变频器的频率、电压、电流值的时候,由于读写指令较多,指令之间又不能同时接通,这种情况下SM0.5调用指令就不适用了。这次采用的方法同样是利用MODBUS读写指令的完成标志位接通下一个指令并复位上一条指令,达到使其不能同时接通的目的。 有关Modbus地址方便对照: 00001 - 09999:数字量输出(线圈) 10001 - 19999:数字量输入(触点) 30001 - 39999:输入数据寄存器(通常为模拟量输入) 40001 - 49999:数据保持寄存器 台达变频器Modbus通讯地址: 频率命令:16进制地址是2001H,转换后的地址是48194。 启停命令:16进制地址是2000H,转换后的地址是48193,向其地址中分别写入2#10010、2#100010和2#1控制变频器正转、反转和停止。 读取频率:16进制地址是2103H,转换后的地址是48452。 读取电流:16进制地址是2104H,转换后的地址是48453。 读取电压:16进制地址是2106H,转换后的地址是48455。 通讯案例:编写S7-200PLC与台达变频器Modbus通讯程序,PLC作为主站设备,台达变频器作为从站设备,通讯连接方式如下图所示: 控制要求:S7-200PLC与台达变频器Modbus通讯,控制变频器启动频率为30.00HZ,并且频率可以进行修改,按钮I0.0控制变频器正转启动,按钮I0.1控制变频器反转启动,按钮I0.2控制变频器停止运行。启动后还需要对变频器的输出频率,输出电流和电压进行实时监控。 通讯之前,变频器的站地址、波特率、奇偶校验需与PLC端设置一致,变频器的通讯参数设置如下图所示: S7-200PLC与台达变频器Modbus通讯轮询并实时读取数据的程序如下图所示: 实践出真知,没有实践,理论就是纸上谈兵;学习中需要多加测试和验证。 |