PLC与变频器的通信,以前我做过profibus 的通信,今天这个是Modbus 的通信,台达变频器或者别的品牌变频器,只要做过一两次通信之后,基本上你就知道怎么使用了。先贴上我的图片吧!






先建立好一个DB背景数据块,把数据类型和变量名称定义好,再去建立一个FB块,在FB快的局部变量,就是***张图中创建好Modbus_Comm_Load 和Modbus_Master ,把Modbus_Load中的Static中的Mode 由16#00 改成16#04,这点比较重要,其他的就照着上面的数据类型来设置,全局背景数据块中Mode 是Usint 读数据是0 ,写数据是1,SlaveAddr 从站的地址 Uint ,DataAddr,数据的首地址 数据类型是UDINT,DataLen 数据的长度 ,后面的数据就是你想写或者读的存储地址,例如Flow 这些变量名称,读或者写的数据用MOVE 这个指令来传送,或者遇到需要转换高低字节的,就用SWAP这个转换指令来完成。我这次需要控制的几个参数分别的启动停止命令 ,PID的几个参数,在台达变频器中分别如下图


上面两个图中的启动和停止,还有PID的几个参数,2000H ,转换成10进制是8192 ,那西门子PLC对应的地址是48193起始 ,而10.02 先转换成16进制是0A02 ,再转换成10进制是2562,那对应西门子PLC就是42563,现在基本上就是这样的设置。10.11这个参数也需要设置好,为什么我这边要通信,就是把这些参数放到触摸屏上进行修改,所以就整得这么麻烦了,如果你这边只是用于控制启动,停止或者上传故障代码,那就 ***张图片上的参数就够用了。