河南安阳西门子代理商|授权代理

供应商
浔之漫智控技术(上海)有限公司西门子一级代理商
认证
报价
86.00元每台
西门子模块
西门子plc模块
西门子变频器
西门子一级代理商
西门子触摸屏
西门子触摸屏
联系电话
15618722057
手机号
15618722057
联系人
占亦
所在地
上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
更新时间
2024-05-15 07:00

详细介绍

 


mode('')输入数值选择通讯协议。输入值1(可用0.0替代或者直接用数值1)将cpu端口分配给modbus协议并启用该协议。输入值0将cpu端口分配给ppi协议并禁用modbus协议。

baud (波特率)一般选择9600。

parity (奇偶校验)参数被设为与modbus从站奇偶校验相匹配。所有设置使用一个起始位和一个停止位。一般选择偶校验2.

timeout('超时')参数设为等待来自从站应答的毫秒时间数。'超时'数值可以设置的范围为1毫秒到32767毫秒。典型值是1000毫秒(1秒)(一般都设定为1000)

。'超时'参数应该设置的足够大,以便从站有时间对所选的波特率作出应答。

'超时'参数用于确定modbus从站是否对请求做出应答。'超时'值确定modbus主设备在发送了请求一个字符后,将要等待多长时间才会有应答的个字符。如果在'超时'规定的时间内至少收到应答的一个字符,modbus主设备将从modbus从站接收到整个应答。

done(完成)mbus_ctrl指令完成时,'完成'输出打开。

error(错误)输出包含执行该指令的结果。下表定义了在执行mbus_ctrl指令时会产生的错误条件。一个字节来存放错误代码。

错误代码         说明


0       无错误

1       奇偶校验选择无效

2       波特率选择无效

3       超时选择无效

4       选择无效

初始化完成!

 

 

 

 no.2 启动modbus协议

读操作

mbus_msg(端口0使用)指令(或用于端口1的mbus_msg_p1)用于启动对modbus从站的请求并处理应答。

当en输入和'输入打开时,bus_msg指令启动对modbus从站的请求。发送请求、等待应答、并处理应答通常需要多次扫描。en输入必须打开以启用请求的发送,并应该保持打开直到'完成'位(m10.1)被置位。

first(启动),在有新请求要发送时才打开以进行一次扫描,通过一个边沿检测元素(例如上升沿)打开,这将请求被传送一次。

sle(从站地址)从站的地址,允许的范围是0到247,地址0是广播地址,只能用于写请求。不存在对地址0的广播请求的应答。从站的实际地址范围为1-247(从站的地址(sle)在1-247范围内任选一个数即可,但需要和从站程序中的地址对应,否则通讯失败)。主站在modbus网络上没有地址。

rw('读写')是用来读取还是写入该消息。'读写'参数允许使用下列两个值。

0  读

1        写

addr (地址)是指向读取或写入的起始modbus地址,'地址'的取值范围基于modbus从站支持的地址。一般都取40001。

count (计数)在该请求中读取或写入的数据元素的数目,mbus_msg指令将读取或写120个字或1920个位(240字节的数据)。'计数'的实际限值将取决于modbus从站中的。

dataptr(地址指针) 指向s7-200cpu的v存储器中与读取或写入请求相关的数据的间接地址指针。dataptr值作为间接地址指针传递到mbus_msg。例如,如果要写入modbus从站的数据从s7-200cpu中的地址vw200开始,则dataptr的数值将会是&vb200(vb200的地址)。指针必须始终是vb类型,即使它们指向字数据。

 

done(完成位)输出在发送请求和接收应答时关闭。'完成'输出在应答完成或mbus_msg指令因错误而中止时打开。完成信息存入辅助寄存器中(如m10.1)

error(错误)输出仅当'完成'输出打开时有效,反馈错误代码,存入辅助位寄存器中(如mb6)

mbus_msg。

错误代码         说明

0       无错误

1      应答时奇偶校验错误:仅当使用偶校验或奇校验时才会发生。传,可能会收到不正确的数据。该错误通常是由电气故障(例如错误接线或者影响通讯的电噪声)引起的。

2       未使用

3      接收超时:在'超时'时间内,没有来自从站的应答。可能有以下一些原因:与从站的电气连接有问题、主设备和从站设置为不同的波特率/奇偶校验设置,以及错误的从站地址。

4      请求参数出错:一个或多个输入参数(从站、读写、地址或计数)被设置为值。检查文档中输入参数的允许值。

5      modbus主设备未启用:在调用mbus_msg前,每次扫描时都调用mbus_ctrl。

6      modbus忙于处理另一个请求:一次只能一条mbus_msg指令。

7       应答时出错:收到的应答与请求不相关。这表示从站中出现了某些错误,或者错误的从站应答了请求。

8       应答时crc错误:传,可能会收到不正确的数据。该错误通常是由电气故障(例如错误接线或者影响通讯的电噪声)引起的。

101 从站不支持在该地址处所请求的功能:请参阅'使用modbus主设备指令'帮助主题中的所需modbus从站功能支持表。

102 从站不支持数据地址:'地址'加上'计数'所要求的地址范围超出了从站所允许的地址范围。

103 从站不支持数据类型:该'地址'类型不被从站支持。

104  从站故障

105 从站已接受消息但应答:这是mbus_msg的错误,用户程序应在稍后重新发送请求。

106 从站忙,因此拒绝消息:可以再次尝试相同的请求,以应答。

107  从站因未知原因而拒绝消息。

108 从站存储器奇偶校验错误:从站中有错误。

 

低位编号的错误代码(1到8)是由mbus_msg指令检测到的错误。这些错误代码通常指示与mbus_msg指令的输入参数有关的问题,或接收来自从站的应答时出现的问题。奇偶校验和crc错误指示存在应答但是数据未正确接收。这通常是由电气故障(例如连接有问题或者电噪声)引起的。

高位编号的错误代码(从101开始)是由modbus从站返回的错误。这些错误指示从站不支持所请求的功能,或者所请求的地址(或数据类型或地址范围)不被modbus从站支持。

 

由于一次只能一条mbus_msg指令。所以在条mbus_msg指令完成后,启动第二条指令,同时必须复位条指令。如果启用了多条mbus_msg指令,则将处理所执行的条mbus_msg指令,之后的所有mbus_msg指令将中止并产生错误代码6。

mode() 为1,启用modbus协议。

addr(地址) 与主站的寻址对应一致。

baud (波特率)一般选择9600。

parity (奇偶校验)参数被设为与modbus从站奇偶校验相匹配。所有设置使用一个起始位和一个停止位。一般选择偶校验2.(和主站保持一致)

delay('延时')参数通过将的毫秒数至modbus信息超时的modbus信息结束超时条件。该参数的典型数值在有线网络上应为0。

maxiq参数将供modbus地址0xxxx和1xxxx使用的i和q点数设为0至128之间的数值。建议使用的maxiq数值是128,该数值可在s7-200中存取所有的i和q点。

maxai参数将供modbus地址3xxxx使用的字输入(ai)寄存器数目设为0至32之间的数值。

建议使用的maxai数值如下,这些数值可允许存取所有的s7-200模拟输入:(根据cpu型号选择数值)

0用于cpu 221

16用于cpu 222

32用于cpu224、224xp、226和226xm。

maxhold参数设定供modbus地址4xxxx使用的v存储器中的字保持寄存器数目。例如,为了允许主设备存取2000个字节的v存储器,将maxhold设为1000个字的数值(保持寄存器)。

holdstart参数是v存储器中保持寄存器的起始地址,modbus主设备可存取v内存maxhold个字数,从holdstart开始。

done(完成)mbus_init指令完成时,'完成'输出打开。

error(错误)'错误'输出字节包含执行指令的结果。

0       无错误

1       内存范围错误

2       波特率或奇偶校验

3       从属地址

4       modbus参数值

5       保持寄存器与modbus从属符号重叠

6       收到奇偶校验错误

7       收到crc错误

8      能请求/功能不受支持

9       请求中的内存地址

10    从属功能未启用



mbus_sle指令被用于为modbus主设备发出的请求服务。

如果'完成'关闭,错误参数不会改变。

展开全文
我们其他产品
我们的新闻
微信咨询 在线询价 拨打电话