资源描述:
《西门子plc modbus rtu-通讯案例》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、西门子S7-200Modbus例程参考本文介绍可以很快掌握MODBUS通讯的应用问题,使用下面的例程你可以在S7-200CPU之间设置一个简单的Modbus通讯。这个例子是关于Modbus功能码6的(写从站保持寄存器),也可以作为其他所支持的功能码:1,2,3,4,5,15和16的基本参数设置步骤。要求:要使用Modbus协议必须先在STEP7Micro/Win上安装指令库。Modbus主站协议只支持STEP7Micro/WinV4.0SP5及其以上版本.。.硬件设置.参数匹配.指令库的存储地址.保持寄存器值
2、得传输1.硬件设置例程中的Modbus通讯是在两个S7-200CPU的0号通讯口间进行的(最好每个CPU都有两个通讯口)。在主站侧也可以选择相应库文件"MBUS_CTRL_P1"和"MBUS_MSG_P1"通过1号通讯口通信。通讯口1与Micro/WIN建立PG或PC连接,两个CPU的通讯口0通过PPI电缆进行连接(电缆的针脚连接为2,3,7,8)。(26KB)图.012.参数匹配对于MODBUS通讯,主站侧需要程序库"MBUS_CTRL"和"MBUS_MSG",从站侧需要程序库"MBUS_INIT"and"MBUS_SLAVE"。在Micro/WIN中您需要为主站和从站
3、新建一个项目,程序与参数设置见图.02。必须要保证主站与从站的“Baud”和"Parity"的参数设置要一致,并且程序块"MBUS_MSG"中的"Slave"地址要与程序块"MBUS_INIT"中的"Addr"所设置的一致(见图.02)。Micro/WIN“系统块”中设置的0通讯口的波特率与MODBUS协议无关("Mode"="1")。图.02下面的表格列出了程序块各个参数选项及其意义主站MBUS_CTRL参数意义选项EN使能Mode协议选择0=PPI,1=MODBUSBaud传输速率kbps1200,2400,4800,9600,19200,38400,57600,11
4、5200Parity校验选择0=无校验,1=奇校验,2=偶校验Timeout从站的最长响应时间msDone“完成”标志位Error错误代码1)表011)参看STEP7Micro/WIN帮助:"MODBUS主站执行MBUS_MSG时的错误代码MBUS_MSG"。MBUS_MSG参数意义选项EN使能First读写请求位Slave从站地址RW"读"或"写"0=读,1=写Addr读写从站的数据地址0..128=数字量输出Q0.0..Q15.71001..10128=数字量输入I0.0..I15.730001..30092=模拟量输入AIW0..AIW6240001..49999=
5、保持寄存器2Count位或字的个数(0xxxx,1xxxx)/words(3xxxx,4xxxx)DataPtrV存储区起始地址指针Done"完成"标志位Error错误代码1)表021)参看STEP7Micro/WIN帮助:"MODBUS主站执行MBUS_MSG时的错误代码MBUS_MSG"。从站MBUS_INIT参数意义选项EN使能Mode协议选择0=PPI,1=MODBUSAddr从站地址Baud传输速率kbps1200,2400,4800,9600,19200,38400,57600,115200Parity校验0=无校验,1=奇校验,2=偶校验Delay超时时间m
6、sMaxIQ可使用的数字输入输出点数2)MaxAI可使用的模拟量输入点数2)MaxHold保持寄存器字的最大数量2)HoldStart保持寄存器的起始地址(40001)Done完成标志位Error错误代码3)表032)最大的地址取决于所用CPU的类型及其最大值。3)参看STEP7Micro/WIN帮助:“MODBUS从站协议的错误代码”。MBUS_SLAVE参数意义选项EN使能Done完成标志位Error错误代码3)表043)参看STEP7Micro/WIN帮助:“MODBUS从站协议的错误代码”。3.库的存储地址项目完成后必须要在Micro/WIN中定义库的存储地址,当
7、定义完存储区后,要保证在任何情况下不能再被其它程序所使用(主站侧:"DataPtr"+"Count"从站侧:"HoldStart"+"MaxHold")。图.034.保持寄存器值的传输将程序下载到相应的CPU后,可以在状态表中给主站侧的V存储区赋值,然后监视从站的变化。当主站的I0.0使能后,VW2中的内容就被发送到从站并写入从站的VW2。保持寄存器值的传输见图.04。指针"DataPtr"代表了V区被读的起始地址。参数"Count"表明了地址"Addr"="4xxxx"(保持寄存器)以字为单位被读的个数。主站中被读取的V存储