你现在位置:首页>技术论文>经验技巧>西门子PLC>正文
如何用S7-200实现Modbus通信
日期:2008-5-20 23:53:33 来源:本站整理  
点击: 作者:
点击【】放大字体.
WW.W_PLC※JS_C,OM-PL,C-技.术_网

说明:
WW.W_PLCJS_COM-PLC-技.术_网

使用下面的例程你可以在S7-200CPU之间设置一个简单的Modbus通讯。
P.L.C.技.术.网——可编程控制器技术门户

这个例子是关于Modbus功能码6的(写从站保持寄存器), 也可以作为其他所支持的功能码:1, 2, 3, 4, 5, 15 和16 的基本参数设置步骤 。
WWW_PL※CJS_COM-PLC-技.术_网

要求:
WW.W_PLCJS_COM-PLC-技.术_网

要使用Modbus协议必须先在STEP 7 Micro/Win上安装指令库 (Entry ID 17470979)。
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

Modbus主站协议只支持STEP 7 Micro/Win V4.0 SP5及其以上版本.。
WW.W_PLC※JS_C,OM-PL,C-技.术_网

  • 1. 硬件设置
  • 2. 参数匹配
  • 3. 指令库的存储地址
  • 4. 保持寄存器值得传输
W1WW_P4LCJS_COM-PLC-技.术_网

1. 硬件设置
WWW.PLCJS.COM——可编程控制器技术门户

例程中的Modbus通讯是在两个S7-200 CPU的0号通讯口间进行的(最好每个CPU都有两个通讯口)。在主站侧也可以选择相应库文件 "MBUS_CTRL_P1" 和 "MBUS_MSG_P1"通过1号通讯口通信。通讯口1与Micro/WIN建立PG或PC连接,两个CPU的通讯口0通过PPI电缆进行连接(电缆的针脚 连接为2,3,7,8)。
WWW.PLCJS.COM——可编程控制器技术门户

( 26 KB )
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

图. 01
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

2. 参数匹配
WWW.PLCJS.COM——可编程控制器技术门户

对于MODBUS通讯, 主站侧需要程序库 "MBUS_CTRL" 和 "MBUS_MSG", 从站侧需要程序库 "MBUS_INIT" and "MBUS_SLAVE"。
WWW_P※LCJS_COM-PLC-)技.术_网

在 Micro/WIN 中您需要为主站和从站新建一个项目,程序与参数设置见图.02。
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

必须要保证主站与从站的“Baud”和"Parity"的参数设置要一致,并且程序块"MBUS_MSG"中的"Slave"地址要与程序块"MBUS_INIT"中的"Addr"所设置的一致 (见图. 02)。
——可——编——程——控-制-器-技——术——门——户

Micro/WIN“系统块”中设置的0通讯口的波特率与MODBUS协议无关("Mode" = "1")。
WWW_P※LCJS_CO※M-PLC-技-.术_网

( 40 KB )
plcjs.技.术_网

图. 02
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

下面的表格列出了程序块各个参数选项及其意义
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

主站
WWW_PL※CJS_COM-PLC-技.术_网

MBUS_CTRL
WWW.PLCJS.COM——可编程控制器技术门户

——可——编——程——控-制-器-技——术——门——户

P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

参数
WWW_PL※CJS_COM-PLC-技.术_网

WW.W_PLC※JS_C,OM-PL,C-技.术_网

意义
WWW_PLCJS_COM-PLC-技.术_网

WWW.PLCJS.COM——可编程控制器技术门户

选项
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

WWW_PLCJS_COM-PLC-技.术_网

EN
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

使能
P.L.C.技.术.网——可编程控制器技术门户

WW.W_PLCJS_COM-PLC-技.术_网

 
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

Mode
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

plcjs.技.术_网

协议选择
P.L.C.技.术.网——可编程控制器技术门户

WWW_PLCJS@_COM%-PLC-技.术_网

0=PPI, 1=MODBUS
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

WWW.PLCJS.COM——可编程控制器技术门户

Baud
WWW_P※LCJS_COM-PLC-)技.术_网

WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

传输速率 kbps
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200
WW.W_PLCJS_COM-PLC-技.术_网

WWcW_PLCJS_COM-PLC-技.术_网

Parity
WWcW_PLCJS_COM-PLC-技.术_网

WWW_PL※CJS_COM-PLC-技.术_网

校验选择
W1WW_P4LCJS_COM-PLC-技.术_网

WWW.PLCJS.COM——可编程控制器技术门户

0=无校验, 1=奇校验, 2=偶校验
plcjs.技.术_网

WWW.PLCJS.COM——可编程控制器技术门户

Timeout
WWW_P※LCJS_CO※M-PLC-技-.术_网

P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

从站的最长响应时间 ms
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

WWW_PLC※JS_COM-PmLC-技.术_网

 
WWW_PL※CJS_COM-PLC-技.术_网

WWcW_PLCJS_COM-PLC-技.术_网

Done
WW.W_PLC※JS_C,OM-PL,C-技.术_网

WWW_P※LCJS_CO※M-PLC-技-.术_网

“完成”标志位
plcjs.技.术_网

WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

 
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

WW.W_PLC※JS_C,OM-PL,C-技.术_网

Error
WWW_PLC※JS_COM-PmLC-技.术_网

WWW_PLCJS_COM-PLC-技.术_网

错误代码
WW.W_PLC※JS_C,OM-PL,C-技.术_网

WWW_PLC※JS_COM-PmLC-技.术_网

1)
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

表 01
WW.W_PLCJS_COM-PLC-技.术_网

1) 参看STEP 7 Micro/WIN 帮助: "MODBUS主站执行MBUS_MSG时的错误代码MBUS_MSG" 。
W1WW_P4LCJS_COM-PLC-技.术_网

MBUS_MSG
WW.W_PLCJS_COM-PLC-技.术_网

 
P.L.C.技.术.网——可编程控制器技术门户

W1WW_P4LCJS_COM-PLC-技.术_网

参数
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

意义
WWcW_PLCJS_COM-PLC-技.术_网

plcjs.技.术_网

选项
WWcW_PLCJS_COM-PLC-技.术_网

——可——编——程——控-制-器-技——术——门——户

EN
WW.W_PLCJS_COM-PLC-技.术_网

WWW_PLCJS_COM-PLC-技.术_网

使能
WW.W_PLCJS_COM-PLC-技.术_网

WWcW_PLCJS_COM-PLC-技.术_网

 
WWW_PLC※JS_COM-PmLC-技.术_网

WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

First
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

plcjs.技.术_网

读写请求位
W1WW_P4LCJS_COM-PLC-技.术_网

WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

 
WWW_P※LCJS_CO※M-PLC-技-.术_网

WWW_PLCJS_COM-PLC-技.术_网

Slave
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

WW.W_PLC※JS_C,OM-PL,C-技.术_网

从站地址
WWW_P※LCJS_COM-PLC-)技.术_网

P.L.C.技.术.网——可编程控制器技术门户

 
WWW_PLCJS_COM-PLC-技.术_网

WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

RW
WWW_PL※CJS_COM-PLC-技.术_网

WW.W_PLC※JS_C,OM-PL,C-技.术_网

"读" 或 "写"
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

0=读, 1=写
W1WW_P4LCJS_COM-PLC-技.术_网

WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

Addr
P.L.C.技.术.网——可编程控制器技术门户

——可——编——程——控-制-器-技——术——门——户

读写从站的数据地址
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

WWW_PLCJS@_COM%-PLC-技.术_网

0 .. 128 = 数字量输出 Q0.0 .. Q15.7
WWW_PLCJS_COM-PLC-技.术_网

 1001 .. 10128 = 数字量输入 I0.0 .. Q15.7
WWW_PLCJS_COM-PLC-技.术_网

 30001 .. 30092 = 模拟量输入 AIW0 .. AIW62
WWW_PLCJS_COM-PLC-技.术_网

 40001 .. 49999 = 保持寄存器 2
WWW_P※LCJS_CO※M-PLC-技-.术_网

WW.W_PLCJS_COM-PLC-技.术_网

Count
WWW_PL※CJS_COM-PLC-技.术_网

WWW_PLCJS@_COM%-PLC-技.术_网

位或字的个数 (0xxxx, 1xxxx) / words (3xxxx, 4xxxx)
plcjs.技.术_网

WWW_PLC※JS_COM-PmLC-技.术_网

 
WWW_PLC※JS_COM-PmLC-技.术_网

WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

DataPtr
WWW_PLCJS_COM-PLC-技.术_网

WWW_P※LCJS_CO※M-PLC-技-.术_网

V存储区起始地址指针
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

plcjs.技.术_网

 
WWW_PL※CJS_COM-PLC-技.术_网

WW.W_PLCJS_COM-PLC-技.术_网

Done
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

WWW_P※LCJS_COM-PLC-)技.术_网

完成 标志位
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

 
WWW_P※LCJS_COM-PLC-)技.术_网

WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

Error
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

错误代码
WWW_PLCJS@_COM%-PLC-技.术_网

WWW_P※LCJS_CO※M-PLC-技-.术_网

1)
WW.W_PLC※JS_C,OM-PL,C-技.术_网

WW.W_PLC※JS_C,OM-PL,C-技.术_网

表 02
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

1)参看STEP 7 Micro/WIN 帮助: "MODBUS主站执行MBUS_MSG时的错误代码MBUS_MSG" 。
P.L.C.技.术.网——可编程控制器技术门户

从站
WW.W_PLCJS_COM-PLC-技.术_网

MBUS_INIT
WWW_PLCJS_COM-PLC-技.术_网

 
——可——编——程——控-制-器-技——术——门——户

WWW_PLCJS_COM-PLC-技.术_网

参数
WWW.PLCJS.COM——可编程控制器技术门户

WWW_PLCJS@_COM%-PLC-技.术_网

意义
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

WWW_PLCJS@_COM%-PLC-技.术_网

选项
WWW_P※LCJS_CO※M-PLC-技-.术_网

WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

EN
P.L.C.技.术.网——可编程控制器技术门户

WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

使能
——可——编——程——控-制-器-技——术——门——户

WWW_P※LCJS_CO※M-PLC-技-.术_网

 
P.L.C.技.术.网——可编程控制器技术门户

——可——编——程——控-制-器-技——术——门——户

Mode
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

WW.W_PLC※JS_C,OM-PL,C-技.术_网

协议选择
WWW_P※LCJS_COM-PLC-)技.术_网

WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

0=PPI, 1=MODBUS
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

Addr
WW.W_PLCJS_COM-PLC-技.术_网

WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

从站地址
WWW_P※LCJS_COM-PLC-)技.术_网

——可——编——程——控-制-器-技——术——门——户

 
WWW.PLCJS.COM——可编程控制器技术门户

WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

Baud
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

WWW_PLC※JS_COM-PmLC-技.术_网

传输速率 kbps
W1WW_P4LCJS_COM-PLC-技.术_网

WW.W_PLC※JS_C,OM-PL,C-技.术_网

1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

WWW_P※LCJS_CO※M-PLC-技-.术_网

Parity
WWW_P※LCJS_CO※M-PLC-技-.术_网

WWW_P※LCJS_CO※M-PLC-技-.术_网

校验
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

WWW_P※LCJS_COM-PLC-)技.术_网

0=无校验, 1=奇校验, 2=偶校验
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

Delay
——可——编——程——控-制-器-技——术——门——户

WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

超时时间 ms
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

P.L.C.技.术.网——可编程控制器技术门户

 
WWW_P※LCJS_CO※M-PLC-技-.术_网

WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

MaxIQ
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

——可——编——程——控-制-器-技——术——门——户

可使用的数字输入输出点数
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

WW.W_PLC※JS_C,OM-PL,C-技.术_网

2)
WW.W_PLCJS_COM-PLC-技.术_网

WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

MaxAI
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

plcjs.技.术_网

可使用的模拟量输入点数
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

WWW_PLCJS_COM-PLC-技.术_网

2)
P.L.C.技.术.网——可编程控制器技术门户

WWW.PLCJS.COM——可编程控制器技术门户

MaxHold
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

保持寄存器字的最大数量
WWW_P※LCJS_COM-PLC-)技.术_网

WWW_P※LCJS_COM-PLC-)技.术_网

2)
——可——编——程——控-制-器-技——术——门——户

WW.W_PLC※JS_C,OM-PL,C-技.术_网

HoldStart
WWW_PLCJS@_COM%-PLC-技.术_网

plcjs.技.术_网

保持寄存器的起始地址(40001)
WWcW_PLCJS_COM-PLC-技.术_网

P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

 
WWW_PLCJS@_COM%-PLC-技.术_网

WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

Done
plcjs.技.术_网

WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

完成标志位
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

 
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

P.L.C.技.术.网——可编程控制器技术门户

Error
WWcW_PLCJS_COM-PLC-技.术_网

——可——编——程——控-制-器-技——术——门——户

错误代码
WWW_PLC※JS_COM-PmLC-技.术_网

WWcW_PLCJS_COM-PLC-技.术_网

3)
WWW_PL※CJS_COM-PLC-技.术_网

WWW_P※LCJS_COM-PLC-)技.术_网

表 03
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

2) 最大的地址取决于所用CPU的类型及其最大值。
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

3)参看STEP 7 Micro/WIN 帮助: “MODBUS从站协议的错误代码”。
WWW_PLC※JS_COM-PmLC-技.术_网

MBUS_SLAVE
WWW_PL※CJS_COM-PLC-技.术_网

 
WWW_PLCJS@_COM%-PLC-技.术_网

P.L.C.技.术.网——可编程控制器技术门户

参数
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

WWW.PLCJS.COM——可编程控制器技术门户

意义
WWW_PLCJS@_COM%-PLC-技.术_网

——可——编——程——控-制-器-技——术——门——户

选项
WW.W_PLCJS_COM-PLC-技.术_网

WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

EN
WWW_P※LCJS_CO※M-PLC-技-.术_网

WWW_P※LCJS_COM-PLC-)技.术_网

使能
WWW.PLCJS.COM——可编程控制器技术门户

plcjs.技.术_网

 
plcjs.技.术_网

plcjs.技.术_网

Done
WWW.PLCJS.COM——可编程控制器技术门户

WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

完成标志位
WWW_PLCJS_COM-PLC-技.术_网

WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

 
W1WW_P4LCJS_COM-PLC-技.术_网

P.L.C.技.术.网——可编程控制器技术门户

Error
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

错误代码
plcjs.技.术_网

——可——编——程——控-制-器-技——术——门——户

3)
P.L.C.技.术.网——可编程控制器技术门户

W1WW_P4LCJS_COM-PLC-技.术_网

表 04
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

3)参看STEP 7 Micro/WIN 帮助: “MODBUS从站协议的错误代码” 。
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

3. 库的存储地址
WW.W_PLC※JS_C,OM-PL,C-技.术_网

项目完成后必须要在Micro/WIN中定义库的存储地址,当定义完存储区后, 要保证在任何情况下不能再被其它程序所使用 (主站侧: "DataPtr" + "Count" 从站侧: "HoldStart" + "MaxHold")。
WW.W_PLCJS_COM-PLC-技.术_网

( 137 KB )
P.L.C.技.术.网——可编程控制器技术门户

图. 03
WWW_PL※CJS_COM-PLC-技.术_网

4. 保持寄存器值的传输
WW.W_PLCJS_COM-PLC-技.术_网

将程序下载到相应的CPU后,可以在状态表中给主站侧的V存储区赋值,然后监视从站的变化。
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

当主站的I0.0使能后,VW2中的内容就被发送到从站并写入从站的VW2 。
WW.W_PLC※JS_C,OM-PL,C-技.术_网

保持寄存器值的传输见图. 04。
W1WW_P4LCJS_COM-PLC-技.术_网

指针"DataPtr" 代表了V区被读的起始地址。
WWW.PLCJS.COM——可编程控制器技术门户

参数 "Count" 表明了地址"Addr" = "4xxxx" (保持寄存器)以字为单位被读的个数。
WWW.PLCJS.COM——可编程控制器技术门户

主站中被读取的V存储区被写入地址为"Addr" = "40002" ("RW" = "1")的保持寄存器中。
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

保持寄存器是以字为单位工作的,它与从站的V区地址对应。
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

指针 "HoldStart" 明确了与保持寄存器起始地址40001相对应的V存储区的初始地址。
WWW.PLCJS.COM——可编程控制器技术门户

可以这样计算从站的V区目标指针:
WWW_P※LCJS_COM-PLC-)技.术_网

2 * (Addr - 40001) + HoldStart = 2 * (40002 - 40001) + &VB0 = &VB2
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

另外,要保证"MaxHold" 定义的数据区能够包含主站侧所要写入的数据区 :
——可——编——程——控-制-器-技——术——门——户

MaxHold >= Addr - 40001 + Count = 40002 - 40001 + 1 = 2
WWW_P※LCJS_CO※M-PLC-技-.术_网

( 38 KB )
plcjs.技.术_网

Fig. 04
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

关于STEP 7 Micro/WIN MOBDUS 库的更多信息可以参看 S7-200 系统手册
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

评论内容
载入中...
载入中...
P
L
C



|










|


P
L
C









·最新招聘信息
·最新求职信息
·推荐产品
·推荐厂商
·栏目热门排行
·站内热门排行