西门子MODBUS.docx

上传人:b****3 文档编号:4469103 上传时间:2022-12-01 格式:DOCX 页数:10 大小:149.78KB
下载 相关 举报
西门子MODBUS.docx_第1页
第1页 / 共10页
西门子MODBUS.docx_第2页
第2页 / 共10页
西门子MODBUS.docx_第3页
第3页 / 共10页
西门子MODBUS.docx_第4页
第4页 / 共10页
西门子MODBUS.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

西门子MODBUS.docx

《西门子MODBUS.docx》由会员分享,可在线阅读,更多相关《西门子MODBUS.docx(10页珍藏版)》请在冰豆网上搜索。

西门子MODBUS.docx

西门子MODBUS

说明:

用下面的例程你可以在S7-200CPU之间建立一个简单的Modbus主-从通讯。

这个例子是关于Modbus功能码6的(写从站保持寄存器),也可以作为其他所支持的功能码的基本参数设置步骤:

1,2,3,4,5,15和16。

要求:

要使用Modbus协议必须先获得并在STEP7Micro/Win中安装指令库(条目17470979)。

Modbus主站协议只被STEP7Micro/WinV4.0SP5及其以上版本支持。

∙1.硬件设置

∙2.参数匹配

∙3.指令库的存储地址

∙4.保持寄存器变量传输

1.硬件设置

例程中的Modbus通讯是在两个S7-200CPU的0号通讯口间进行的(最好每个CPU都有两个通讯口)。

在主站侧也可以用相应库文件"MBUS_CTRL_P1"和"MBUS_MSG_P1"通过1号通讯口通信。

通讯口1用Micro/WIN与PG或PC建立连接,两个CPU的通讯口0通过Profibus缆进行连接(电缆的针脚连接为3,3,8,8->见图01)。

另外,需要确定逻辑地M相连。

图.01

2.参数匹配

对于MODBUS通讯,主站侧需要程序库"MBUS_CTRL"和"MBUS_MSG",从站侧需要程序库"MBUS_INIT"and"MBUS_SLAVE"。

在Micro/WIN中您需要为主站和从站新建一个项目,程序与参数设置见图.02。

必须要保证主站与从站的“Baud”和“Parity”的参数设置要一致,并且程序块"MBUS_MSG"中的"Slave"地址要与程序块"MBUS_INIT"中的"Addr"所设置的一致(见图.02)。

在Micro/WIN“系统块”中设置的通讯口0的波特率与MODBUS协议无关("Mode"="1")。

图.02

下面的表格列出了程序块各个参数选项及其含义。

主站

MBUS_CTRL

参数

意义

选项

EN

使能

Mode

协议选择

0=PPI,1=MODBUS

Baud

传输速率kbps

1200,2400,4800,9600,19200,38400,57600,115200

Parity

校验选择

0=无校验,1=奇校验,2=偶校验

Timeout

从站的最长响应时间ms

Done

“完成”标志位

Error

错误代码

1)

表01

1)参看STEP7Micro/WIN帮助:

"MODBUS主站执行MBUS_MSG时的错误代码"。

MBUS_MSG

参数

意义

选项

EN

使能

First

读写请求位

Slave

从站地址

RW

"读"或"写"

0=读,1=写

Addr

读写从站的数据地址

0..128=数字量输出Q0.0..Q15.7

1001..10128=数字量输入I0.0..I15.7

30001..30092=模拟量输入AIW0..AIW62

40001..49999=保持寄存器2

Count

位或字的个数(0xxxx,1xxxx)/words(3xxxx,4xxxx)

DataPtr

V存储区起始地址指针

Done

'完成'标志位

Error

错误代码

1)

表02

1)参看STEP7Micro/WIN帮助:

"MODBUS主站执行MBUS_MSG时的错误代码"。

从站

MBUS_INIT

参数

意义

选项

EN

使能

Mode

协议选择

0=PPI,1=MODBUS

Addr

从站地址

Baud

传输速率kbps

1200,2400,4800,9600,19200,38400,57600,115200

Parity

奇偶校验

0=无校验,1=奇校验,2=偶校验

Delay

延时时间ms

MaxIQ

最大数字输入输出点数

2)

MaxAI

最大模拟量输入点数

2)

MaxHold

最大保持寄存器字数量

2)

HoldStart

保持寄存器区起始地址(40001)

Done

完成标志位

Error

错误代码

3)

表03

2)最大的地址取决于所用CPU的类型及其最大值。

3)参看STEP7Micro/WIN帮助:

“MODBUS从站协议的错误代码”。

MBUS_SLAVE

参数

意义

选项

EN

使能

Done

完成标志位

Error

错误代码

3)

表04

3)参看STEP7Micro/WIN帮助:

“MODBUS从站协议的错误代码”。

3.库的存储地址

项目完成后必须要在Micro/WIN中定义库的存储地址,当定义完存储区后,要保证在任何情况下不能再被其它程序所使用(主站侧:

"DataPtr"+"Count"从站侧:

"HoldStart"+"MaxHold")。

图.03

4.保持寄存器值的传输

将程序下载到相应的CPU后,可以在状态表中给主站侧的V存储区赋值,然后从站侧监视数值的变化。

当主站的I0.0使能后,VW2中的内容就被发送到从站并写入从站的VW2。

保持寄存器值的传输见图.04。

指针"DataPtr"代表了被读的V区起始地址。

参数"Count"指定了被写入地址"Addr"="4xxxx"(保持寄存器)字的个数。

相应V存储区的变量将被写到保持寄存器启始地址"Addr"="40002"("RW"="1")中。

保持寄存器是以字为单位传输的,它与从站的V区地址对应。

指针"HoldStart"指定了与保持寄存器起始地址40001相对应的V存储区的初始地址。

可以按下面公式计算从站的V区目标指针:

2*(Addr-40001)+HoldStart=2*(40002-40001)+&VB0=&VB2

另外,要保证主站侧所要写入的数据区包含在"MaxHold"定义的数据区内:

MaxHold>=Addr-40001+Count=40002-40001+1=2

图.04

关于STEP7Micro/WINMOBDUS库的更多信息可以参看S7-200系统手册(条目1109582)和STEP7Micro/WIN帮助。

如何在STEP7Micro/WIN中找到ModbusRTU协议和USS协议操作库?

隐藏订货号显示订货号订货号:

说明:

在STEP7Micro/WIN中,ModbusRTU协议和USS协议操作库位于操作树的“库”文件夹中。

MODBUS函数库要求STEP7Micro/WIN为V3.2或更高版本。

图1:

添加函数库

这些库是附加函数库,并非组态软件STEP7Micro/WIN的组成部分。

您如果需要使用ModbusRTU协议,必须购买“SIMATICSTEP7Micro/WINADDON:

FunctionLibraryV1.1(USS+MODBUS)forSTEP7Micro/WIN32”软件。

这个可选附加函数库的订货号是6ES7830-2BC00-0YX0。

安装顺序:

先安装“STEP7Micro/WIN32ToolboxV1.0”(包括库),然后安装“STEP7Micro/WIN”。

注意:

这个函数库包含可以在STEP7Micro/WINV3.2中使用的ModbusRTU协议库和USS协议库。

如果您安装了STEP7Micro/WINV4.0SP5(参见条目号:

24675347)或者更高版本,那么操作库中就会包含下列函数:

∙ModbusRTUMasterV1.2对应端口0和端口1

∙ModbusRTUSlaveV1.0对应端口0

∙USSprotocolV2.3对应端口0和端口1

您可以在STEP7Micro/WIN的帮助中或者S7-200系统手册中找到关于指令库的更多信息(参见条目号:

1109582)。

条目号:

28767151

日期:

2008-05-27

关于此条目的反馈

有用

无用

拷贝永久地址

有关条目方面的建议

发送给好友

打印

©SiemensAG2014版权所有-法人信息-保密政策-应用条款

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1