名称:Modbus功能块触发单个通道

符号:MODBUS_ONE_CH

说明:

        CPU单元作为Modbus主站时，在Modbus通信配置中选择触发方式为功能块触发，使用此功能块来实现触发单个通道功能。

图片:

参数:

参数名称 | 数据类型 | IN/OUT | 参数作用 | 说明
--- | --- | --- | --- | ---
EXECUTE | BOOL | IN | 功能块触发 |
    上升沿触发指令执行
PORT | USINT | IN | 端口类型 |
    数据发送端口类型：0:RS485；1:RS232；2:TCP；3:选项板0；4:选项板1（预留）；其它:无效
SLAVEADDR | USINT | IN | 从站地址 |
    从站地址：0-247；0:主站广播消息；1-247:主站与指定地址从站通信，且从站地址已经配置过
EVENTINDEX | USINT | IN | 通道序列号 |
    要发送的通道序号，该通道必须配置为功能块触发
BUSY | BOOL | OUT | 执行中 |
    TRUE：执行中
DONE | BOOL | OUT | 成功标志 |
    TRUE：执行完成
ERROR | BOOL | OUT | 出错标志 |
    TRUE：执行出错
ERRORID | UINT | OUT | 错误码 |
    0：正常；其它：错误码值

错误码:

错误码 | 说明
--- | ---
00H |
    没有错误
01H |
    从站响应超时
02H |
    回复报文字节数量错误
03H |
    回复功能码错误
04H |
    回复从站地址错误
05H |
    回复寄存器数量错误
06H |
    回复报文CRC校验错误
07H |
    回复寄存器地址错误
08H |
    回复不识别的功能码错误
09H |
    其他响应错误
0AH |
    参数无效
0BH |
    通道忙。触发的过于频繁，PLC还没有处理完前面的触发请求，无法响应新的触发请求

示例:

LD:

ST:

MODBUS_ONE_CH_inst1(EXECUTE := TRUE, PORT := 0, SLAVEADDR := 1, EVENTINDEX := 1, DONE => DoneOut, BUSY => BusyOut, ERROR => ErrorOut, ERRORID => ErrorID);

解释:

         Execute为TRUE，如果上一次调用此功能块对象时，Execute为FALSE，则此次为上升沿，将触发发送Modbus；
         PORT为0表示发送端口为RS485；
         SLAVEADDR为1表示从站地址为1；
         EVENTINDEX为1表示从站事件序号为1；
         DoneOut如果为TRUE，则表示功能块执行完成；
         BusyOut如果为TRUE，则表示当前功能块正在执行；
         ErrorOut如果为TURE，则表示功能块存在错误，没有完成发送Modbus通道动作，错误码为ErrorID.