抚顺西门子6GK工业交换机一级代理商
Mode('模式')输入数值选择通讯协议。输入值1(可用SM0.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(启动),在有新请求要发送时才打开以进行一次扫描,通过一个边沿检测元素(例如上升沿)打开,这将导致请求被传送一次。
Slave(从站地址)从站的地址,允许的范围是0到247,地址0是广播地址,只能用于写请求。不存在对地址0的广播请求的应答。从站的实际地址范围为1-247(从站的地址(Slave)在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)