我只能说,你根本不理解【RS D10 K12 D30 K10】这条指令的作用。所以才搞出“为什么把12个寄存器塞到 10个寄存器里面 塞得下吗?”这样的笑话。这条指令分两部分理解:前半部分是设定D10-D21这12个寄存器存储发送的数据,后半部分是设定D30-D39这10个寄存器存储接收的数据。M8122置1发送数据,M8123置1表示接收完数据。
三菱变频器与PLC的串行通信有多种:第一种是MODBUS,这种方法应用广泛,移植性好,不仅适用变频器,而且适用其它具有MODBUS通信功能的驱动器、传感器等。采用CRC校验码纠错。第二种是三菱专用协议,采用和校验,因适用设备单一,已很少采用。第三种是CC-LINK,需用专用通信模块,通信编程最简单。第四种是CC-LINK IE,未来的主流发展方向。
ENQ是三菱变频器的专用协议通信指令的控制码之一,命令代码表示PLC命令变频器干具体的事情(如启动、停止、变向、变速,读取转速、电流数据等),等待时间表示,PLC发送通信数据给变频器后,要求等多少时间后,变频器发送应答信号,这个等待时间由变频器的参数Pr.123设定,可以设为无等待时间。这样PLC就少发一个数据。
建议看看李金城写的书,他写了几本有关三菱PLC的书。每本书都非常好。建议学习变频器的MODBUS通信。对于采用专用协议的通信程序不做分析。
[ 此帖被zhangqi_1234在2019-07-20 00:54重新编辑 ]