大部分的plc制造商都有自己的通讯协议,比如西门子的profibus、mpi ,三菱的cc-link等等,这些通讯协议一般都是针对自家的设备,没有开放具体的协议内容,使用起来比较简单,根据手册在软件中做一些简单的配置就可以,但是局限性比较大,因为各家的plc与其它家的就不能通讯了。
所以现在工控设备仪表用的最多的是modbus通讯,因为modbus协议是完全免费公开的,Modbus是Modicon公司开发的,该公司几经收购,最后并入现在的施耐德电气,一般现场设备问是什么通讯,说485通讯基本上就是modbus了,当然485是物理层的概念,modbus是指应用层,rs485可以走别的通讯协议,modbus也可以用rs232/422等等作为物理层,但是目前工控设备仪表一般都是485接口走modbus通讯,协议简单易用,硬件消耗很少,本人遇到的觉大部分变频器,仪表类(支持通讯的)都是使用modbus协议,可以说modbus是目前工控领域的标准协议,准确的来说应该是modbus-rtu,后面再讲。
先说modbus通讯怎么用,刚才说了modbus协议简单易用所以才能普及,应用时一般根据设备厂家提供的通讯手册对波特率、数据位、站地址等进行设置,还要根据通讯手册知道设备寄存器的地址,modbus是主-从协议,主站发出相应的指令读或者写从站寄存器给从站,从站做出相应的反馈,简单来说就是这样,这个还是需要好好读一读modbus说明,这里就不详细讲了,但有一点绝对不难。
再讲讲个人认为以后工控行业的通讯方式发展方向,刚才讲的modbus-rtu是通过485接口实现的串型通讯,但是串型通讯在使用中会遇到各种问题比如很容易受干扰,故随着以太网的普及modbus发展出来经由以太网的modbus-tcp,以太网抗干扰能力强、可以通过光纤远距离传输等等优点,以后工业现场肯定是以太网的天下。像西门子的profibus也推出了profinet协议。
首先你手机最好有一台PLC,然后查看你这台PLC的手册,看一下它有哪些通讯接口,支持哪些通讯协议。拿s7-200 smart来举例,CPU本体带一个RS485口和一个RJ45网口,这两个物理接口具体支持哪些通讯协议如下:
1.RS485口:
a.支持Modbus RTU主站和从站,有现成的指令库可以使用,简单方便
b.支持自由口通信
c.支持USS通信,是西门子专为驱动装置开发的通信协议。
2.RJ45网口:
a.S7通信,采用PUT/GET指令,只能用于西门子PLC之间通信
b.TCP/UDP通信,具有网口的PLC一般都支持的通信
c.Modbus TCP通信,应用简单,用的较广泛,大部分带网口的PLC都支持
d.最近刚推出的V2.5版本还支持Profinet通讯,可以方便的集成到1200或1500的PN网络中。
针对不同的通讯协议,有不同的功能指令块,学习时要查看相关的手册说明。
如果手头只有一个PLC,可以电脑上安装调试助手来方便调试学习,PLC发送数据,看调试助手能否收到,调试助手发送数据,看PLC是否能收到!