紫外工控论坛

 找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

搜索
查看: 5530|回复: 1

[MODBUS] S7 200 MODbus库的使用说明

[复制链接]
冰糖 发表于 2011-3-7 20:34:59 | 显示全部楼层 |阅读模式
群内一个网友要的
1. 调用 Modbus RTU 主站初始化和控制子程序
使用 SM0.0 调用 MBUS_CTRL 完成主站的初始化,并启动其功能控制:

各参数意义如下:
a)  EN    使能:  必须保证每一扫描周期都被使能(使用 SM0.0)
b)  Mode   模式:  为 1  时,使能 Modbus  协议功能;为 0  时恢复为系统 PPI
协议
c)  Baud   波特率:  支持的通讯波特率为 1200,2400,4800,9600,19200,
38400,57600,115200。
d)  Parity   校验:  校验方式选择   0=无校验 1=奇较验 2=偶较验   
e)  Timeout  超时:  主站等待从站响应的时间,以毫秒为单位,典型的设置值为
1000  毫秒(1  秒),允许设置的范围为 1 - 32767。   
注意 注意 注意 注意: :: :  这个值必须设置足够大以保证从站有时间响应。
f)  Done完成位:   初始化完成,此位会自动置 1。可以用该位启动 MBUS_MSG
读写操作
g)  Error   初始化错误代码(只有在 Done  位为 1 时有效):  
0=  无错误  
1=  校验选择非法  
2=  波特率选择非法  
3=  模式选择非法



2.  调用 Modbus RTU  主站读写子程序 MBUS_MSG,发送一个 Modbus  请求;



各参数意义如下:
a)  EN  使能:  同一时刻只能有一个读写功能(即 MBUS_MSG)使能  
注意:建议每一个读写功能(即 MBUS_MSG)都用上一个 MBUS_MSG  指
令的 Done  完成位来激活,以保证所有读写指令循环进行(见例程)。
b)  First  读写请求位:  每一个新的读写请求必须使用脉冲触发   
c)  Slave  从站地址:  可选择的范围   1 – 247
d)  RW  从站地址: 0  =  读, 1  =  写  
    注意:  关量输出和保持寄存器支持读和写功能  
输入和模拟量输入只支持读功能
e)  Addr   读写从站的  选择读写的数据类型  
数据地址: 00001  至 0xxxx -  开关量输出  
10001  至 1xxxx -  开关量输入  
30001  至 3xxxx -  模拟量输入  
40001  至 4xxxx -  保持寄存器
f)  Count  数据个数  通讯的数据个数(位或字的个数)  
注意: Modbus 主站可读/写的最大数据量为 120 个字(是指每一个
MBUS_MSG  指令)
g)  g. DataPtr  数据指针:  如果是读指令,读回的数据放到这个数据区中  
           如果是写指令,要写出的数据放到这个数据区中
h)  Done  完成位  读写功能完成位  
i)  Error  错误代码:  只有在 Done  位为 1 时,错误代码才有效  
0  =  无错误  
1  =  响应校验错误  
2  =  未用  
3  =  接收超时(从站无响应)  
4  =  请求参数错误 (slave address, Modbus address, count,
RW)  
5  = Modbus/自由口未使能   
6  = Modbus 正在忙于其它请求  
7  =  响应错误(响应不是请求的操作)  
8  =  响应 CRC 校验和错误  
-  

101  =  从站不支持请求的功能  
102  =  从站不支持数据地址  
103  =  从站不支持此种数据类型  
104  =  从站设备故障  
105  =  从站接受了信息,但是响应被延迟  
106  =  从站忙,拒绝了该信息  
107  =  从站拒绝了信息  
108  =  从站存储器奇偶错误
常见的错误:
• 如果多个 MBUS_MSG 指令同时使能会造成 6 号错误  
• 从站 delay 参数设的时间过长会造成主站 3 号错误  
• 从站掉电或不运行,网络故障都会造成主站 3 号错误



3. 在 CPU 的 V 数据区中为库指令分配存储区(Library Memory)
Modbus Master 指令库需要一个 284 个字节的全局 V 存储区。
1.如下图所示在”程序块”上点击右键选择”库内存区”


2.出现对话框,分配一个大小为 284 的存储区域。注意 注意 注意 注意: :: :不要与别的存储区域相冲突。


此为西门子正式推出的标准库指令说明资料。  




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
siwd23 发表于 2012-9-16 15:47:58 | 显示全部楼层
非常详细,对于我们学习PLC是非常好的借鉴  谢谢分享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


--------------------------------------------------------------------------------------------------------------------
本站是工控技术交流站点,论坛内容均为网络收集或会员所发表,并不代表本站立场,会员拥有该内容的所有权力及责任!
本站内容如有侵犯您的版权,请按下面方式联系本站管理员,我们将及时删除处理
管理员:冰糖 QQ:5483695(请直击主题), Mail:admin#ziwai.net(#改成@) 其它非本人.
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论!

QQ|Archiver|手机版|小黑屋|紫外工控论坛. ( 苏ICP备11032118号-1 )

GMT+8, 2024-4-27 04:09 , Processed in 0.578122 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表