宁波做百度网站/windows优化大师怎么彻底删除
一般在使用中,都是PLC做主站,去读取从站的数据,由于各个PLC差别太大,因此,对于Modbus的编程也是各有不同。一般日系PLC都是通过梯形图来实现,和实现模拟量一样,比较麻烦。欧系PLC比较简单,都是调用功能块,我们直接填写参数即可。无论使用什么PLC,都是要我们编写程序来实现Modbus通讯,而且当从站设备数量过多的时候,还要考虑读写时序,非常麻烦。
今天介绍一下施耐德PLC的Modbus_IO Scanner功能,它实现Modbus就像实现总线通讯一样简单,无需编程。这里以施耐德最便宜的PLC,M218(TM218LDA24DRN)为例说明。
一、硬件组态M218 所有的PLC都有两个串口,默认都是支持Modbus协议的,一般使用串口1,因为串口2是水晶头接口,一般都是和触摸屏联机的。
如上图所示,串口1模式是Somachine协议,我们把它删掉,鼠标放置在串行线路1,点击右键,选择删除即可。然后我们再点击添加。
如上图所示,我们选择【Modbus_IOscanner】
这样,我们就建立里一个Modbus主站。然后右击Modbus_IOscanner,添加Generic_Modbus_Slave,这样我们就添加了一个从站。
图中其他的选项比如ZBRN2 PM1200,是施耐德供配电产品,比如框架断路器,塑壳断路器,电能检测仪等等。我们添加的Generic_Modbus_Slave是一个通用的Modbus从站。比如,第三方的变频器,一起仪表等等。你可以理解成,总线通讯是有EDS文件和没有EDS文件的区别。如果我们要和多个从站通讯,添加多个即可,系统会自动分配时序,无需我们自己编程。
当然,我们可以修改Generic_Modbus_Slave的名字,变成我们从站的名字,比如要和三菱变频器通讯,我们可以改成三菱变频器,遗憾的是,不支持中文。当然,我们可以改成变频器的型号比如 FRN-A800:
双击串行线路1 打开参数设置页面:
在这里,我们设置Modbus通讯最主要的参数,波特率,校验等等。
三、组态通讯数据双击FRNA800,也就是我们添加的从站:
点击→添加通道:
在这里,我们就添加我们需要读取从站的类型和地址就可以了。关于地址和功能码,大家可以查看相关的编程手册。在这里,假设我们写入40001:
这样,就添加了一个读取的数据,也就是一个Modbus通讯的通道 Channel1:
我们还可以给这个写入的值取个名字,也就是变量名,便于我们编写程序。点击Modbus Master IO映射,可以看到刚才建立的Channel1:
我们可以看到,系统已经自动分配了地址%IW1,而它的变量是空白的,我们单击,就可以取个名字了,很遗憾,这里不支持中文变量名字,我们建立一个变量W_Fre:
至此,我们就完成了通讯的设置,我们在程序中往变量W_Fre 中赋值,就相当于往从站的40001地址里写值,怎么样,是不是很方便,不需要编写任何程序,就可实现Modbus通讯。
当从站出现错误的时候,系统不会自动复位,造成通讯中断,需要我们自己写一个通讯处理程序,实现自动复位
此时,我们需要调用系统功能,这个系统功能,是PLC为我们的Modbus从站自动分配的。
如图所示,当出现错误的时候,会自动复位。
五、相关方案MCGS与FX3UPLC之间的无线通讯测试实例
9台西门子PLC的无线通讯建立
5分钟实现S7-1200与S7-200PLC无线通讯
8台三菱PLC无线N:N协议通讯讲解
S7-1200之间实现无线通讯【一】
S7-1200之间实现无线通讯【二】
教程 |组态软件的无线485通讯实例
西门子S7-200 SMART和变频器的MODBUS无线通讯实例测试
更多方案请关注“PLC无线通讯方案”