1.0.1.Modbus简单介绍:
Modbus是一种串行通信协议,是Modicon公司(现在的施耐德电气Schneider Electric)于1979年为使用可编程逻辑控制器(PLC)通信而发表。
Modbus已经成为工业领域通信协议的业界标准(De facto),并且现在是工业电子设备之间常用的连接方式。 Modbus比其他通信协议使用的更广泛的主要原因有:
公开发表并且无版权要求
易于部署和维护
对供应商来说,修改移动本地的比特或字节没有很多限制
Modbus允许多个 (大约240个) 设备连接在同一个网络上进行通信,举个例子,一个由测量温度和湿度的装置,并且将结果发送给计算机。在数据采集与监视控制系统(SCADA)中,Modbus通常用来连接监控计算机和远程终端控制系统(RTU)。
1.0.2.Modbus协议版本:
Modbus协议目前存在用于串口、以太网以及其他支持互联网协议的网络的版本。
大多数Modbus设备通信通过串口EIA-485物理层进行。
对于串行连接,存在两个变种,它们在数值数据表示不同和协议细节上略有不同。Modbus RTU是一种紧凑的,采用二进制表示数据的方式,Modbus ASCII是一种人类可读的,冗长的表示方式。这两个变种都使用串行通信(serial communication)方式。
RTU格式后续的命令/数据带有循环冗余校验的校验和,而ASCII格式采用纵向冗余校验的校验和。被配置为RTU变种的节点不会和设置为ASCII变种的节点通信,反之亦然。
对于通过TCP/IP(例如以太网)的连接,存在多个Modbus/TCP变种,这种方式不需要校验和计算。
对于所有的这三种通信协议在数据模型和功能调用上都是相同的,只有封装方式是不同的。
Modbus有一个扩展版本Modbus Plus(Modbus+或者MB+),不过此协议是Modicon专有的,和Modbus不同。它需要一个专门的协处理器来处理类似HDLC的高速令牌旋转。
它使用1Mbit/s的双绞线,并且每个节点都有转换隔离装置,是一种采用转换/边缘触发而不是电压/水平触发的装置。
连接Modbus Plus到计算机需要特别的接口,通常是支持ISA(SA85),PCI或者PMCIA总线的板卡。
1.0.3.以上介绍了Modbus 协议用途等,我们就把它所需的材料清单列到一起 如下:
1.)装有TIAV15博途软件的电脑一台,(版本不作限制);
2.)一台西门子1200系列PLC一台,(机型不作定性);
3.)一台CM-1241/422/485通信模块;
4.)一台台达VFD-M变频器一台,(台达品牌变频器都可以,不作硬性规定);
5.)制作一条RS485通信线,(不会制作也可以淘宝买一条,不作硬性规定);
6.)一个九针RS485公头和一个RJ45电话线水晶头。 满足以上条件就可以开工啦。
2.0.0查询手册查询到变频器Modbus通信篇,就是我们所需用到的如下:
2.0.1 读写modbus参数地址如下图:
Modbus参数读写
2.0.2 变频器参数设置:
设置参数之前先把变频器恢复到出厂设置,P76=09参数,即变频器恢复到出厂50HZ状态。后断电重启再设置参数:
1.)P00=03,主频率通过R485通信控制变频器有效;
2.)P01=03,运转指令来至RS485控制,则键盘STOP键有效;
3.)P88=? 变频器的站号,它是01-254,本案例是“4”;
4.)P89=01,波特率9600bps;
5.)P92=4.通信数据格式8E1; 6.)P157=01,即Modbus 。
以上为变频器参数设置完毕后断电重启变频器。
3.0TIA博途编写程序:
1.)组态CM-1241/R422/485模块参数如下:
组态CM-1241模块
2.)建立变频器数据存放(全局DB1块)如下:
变频器参数块
3.)编写通信初始化激活如下图所示:
通信初始化激活
4.)编写变频器控制程序:
控制字
5.)编写变频器控制逻辑程序:
控制程序逻辑
6.)编写变频器频率输入程序:
频率输入及转换
7.)编写变频器频率返回及转换程序:
频率反馈及转换
8.)编写变频器电流反馈及转换程序:
变频器电流反馈及转换
9.)编写电压反馈程序:
电压反馈及转换
10.)编写直流母线电压转换程序:
直流母线电压转换