西门子中国一级总代理
西门子中国一级总代理
西门子中国一级总代理
PLC如何使用MODBUS功能?
PLC如何使用Modbus功能?变频器除了简单的端子控制之外,我们还可以通过RS485 modbus来进行灵活的控制,这些这样的控制程序之前你首先要知道,以下几点:
plc是否支持MODbus,或者他的什么模块支持485;
变频器的RS485功能如何通过面板或者软件设置、以及变频器的rs485如何接线
另外就是modbus的功能码是什么。
所以当你接手一个这样的项目的时候,你要找到相关的手册,PLC的手册,变频器的手册
modbus的协议说明等,这些东西是你编程的关键。
我们大家知道,两个设备之间如果想要通讯,首先就是要让我们对方的地址是一样的,所以此次的案例也是一样的。
1、PLC和变频器中,使用的应用通讯协议是MODBUS,硬件层用485;
2,485连接的时候,需要先把变频器和PLC的通讯波特率,奇偶校验,结束位等做好匹配,其中变频器要设置站号;
3,在PLC中编程,使用MODRW指令,具体使用方式,如果有台达编程手册,就详细读一读这个指令的应用吧;
4,参考变频器手册的通讯章节,有个MODBUS地址,其中的启动,停止地址是2000H,对应的是数据的bit5~6,频率地址是2001H。
西门子PLC MODBUS地址问题原因分析
西门子PLC Modbus地址问题原因分析
Modbus地址实际上分为两种情况即plc作Modbus主站,Modbus地址和PLC手册里的地址一与PLC作从站,PLC不用管什么Modbus地址。
Modbus地址实际上分为两种情况。下面以西门子S7-200/S7-200SMART/和S7-1200为例来说明:
第一种情况:
PLC作Modbus主站,Modbus地址和PLC手册里的地址一致,例如作主站的S7-200的MBUS_MSG指令用于向Modbus从站发送请求消息,和处理从站返回的响应消息。要读取从站(另一台S7-200)的I0.0开始的地址区时,它的输入参数Addr(Modbus地址)为10001。S7-200从站保持寄存器的V区起始地址为VB200时,要读取从站VW200开始的V存储区时,保持寄存器的地址是40001。
第二种情况:
PLC作从站,PLC不用管什么Modbus地址,等着主站来读写它的地址区就是了。
主站的计算机软件(例如dcs或组态软件)的编程人员需要编写实现Modbus通信的程序,首先需要确定ModbusRTU的报文结构。他们一般不熟悉PLC,因此PLC的编程人员往往需要和上位机软件的编程人员一起来讨论Modbus的报文结构。
*容易出问题的就是报文里Modbus地址与PLC存储区地址的对应关系。曾经有工作人员做过的一个系统的上位机是专用的组态软件,通过分析GEPLC手册给出的CRC的循环异或计算实例每一步的中间数据,编写出了CRC计算的C语言程序。通过实验验证了Modbus报文结构和CRC的计算的可行性。
S7PLC手册给出的Modbus地址与Modicon公司和GE公司PLC使用的地址相同,是基于1的地址,即同类元件的首地址为1。而西门子plc采用的是基于0的地址,即同类元件的首地址为0。Modbus报文中西门子PLC的Modbus地址也采用基于0的地址。
PLC系统手册中的Modbus地址的*高位用来表示地址区的类型,例如I0.0的Modbus地址为10001。因为地址区类型的信息已经包含在报文的功能码中了,报文中S7-200的I0.0的Modbus地址不是10001,而是0。报文中其他地址区的Modbus地址也应按相同的原则处理。例如当S7-200从站保持寄存器的V区起始地址为VB200时,VW200对应的保持寄存器在报文中的Modbus地址为0,而不是40001。
6ES7534-7QE00-0AB0 | AI4/AQ2:模拟量输入/输出模块 AI/AO 4x U/I/RTD/TC 2x U/I ST, 25mm模块,含前连接器 |
6ES7522-1BP00-0AA0 | DQ 64:数字量输出模块,源型, 晶体管 DQ 64 x 24 VDC/ 0.5A BA, 35mm模块,不含前连接器,需要配合Topconnector使用 |
6ES7522-1BP50-0AA0 | DQ 64:数字量输出模块,漏型, 晶体管 DQ 64 x 24 VDC/ 0.5A BA, 35mm模块,不含前连接器,需要配合Topconnector使用 |
6ES7522-1BL01-0AB0 | DQ 32:数字量输出模块,晶体管 DQ 32 x 24 VDC/ 0.5A HF, 35mm模块,不含前连接器 |
6ES7522-1BL10-0AA0 | DQ 32:数字量输出模块,晶体管 DQ 32 x 24 VDC/ 0.5A BA, 25mm模块,含前连接器 |
6ES7522-1BH01-0AB0 | DQ 16:数字量输出模块,晶体管 DQ 16 x 24 VDC/ 0.5A HF, 35mm模块,不含前连接器 |
6ES7522-1BH10-0AA0 | DQ 16:数字量输出模块,晶体管 DQ 16 x 24 VDC/ 0.5A BA, 25mm模块,含前连接器 |
6ES7522-5FH00-0AB0 | DQ 16:数字量输出模块,可控硅 DQ 16x 230 VAC/ 1A ST (TRIAC), 35mm模块,不含前连接器 |
6ES7522-5HH00-0AB0 | DQ 16:数字量输出模块,继电器 DQ 16x 230 VAC/ 2A ST (RELAY), 35mm模块,不含前连接器 |
6ES7522-5EH00-0AB0 | DQ 16:数字量输出模块,晶体管 DQ16 X 24...48VUC/125VDC/0.5A, 35mm模块,不含前连接器 |
6ES7522-1BF00-0AB0 | DQ 8:数字量输出模块,高性能 DQ 8x 24VDC/ 2A HF, 35mm模块,不含前连接器 |
6ES7522-5FF00-0AB0 | DQ 8:数字量输出模块,可控硅 DQ 8 x 230 VAC/ 2A ST (TRIAC), 35mm模块,不含前连接器 |
6ES7522-5HF00-0AB0 | DQ 8:数字量输出模块,继电器 DQ 8x 230VAC/ 5A ST (RELAY), 35mm模块,不含前连接器 |
6ES7521-1BP00-0AA0 | DI 64:数字量输入模块,基本型 DI 64x 24VDC BA, 35mm模块,不含前连接器,需要配合Topconnector使用 |
6ES7521-1BL00-0AB0 | DI 32:数字量输入模块,高性能 DI 32x 24VDC HF, 35mm模块,不含前连接器 |
6ES75211BL100AA0 | DI 32:数字量输入模块,DI 32x 24VDC BA, 25mm模块,含前连接器 |
6ES7521-1BH00-0AB0 | DI 16:数字量输入模块,高性能 DI 16x 24VDC HF, 35mm模块,不含前连接器 |
6ES7521-1BH10-0AA0 | DI 16:数字量输入模块,DI 16x 24VDC BA, 25mm模块,含前连接器 |
6ES7521-1BH50-0AA0 | DI 16:数字量输入模块,源型,DI 16x 24VDC SRC BA, 35mm模块,不含前连接器 |
6ES7521-1FH00-0AA0 | DI 16:数字量输入模块,DI 16x 230V AC BA, 35mm模块,不含前连接器 |
6ES7521-7EH00-0AB0 | DI 16:数字量输入模块,DI 16 X 24...125V UC HF, 35mm模块,不含前连接器 |