名称:RS485发送

符号:RS485_SEND

说明:

        本体RS232串口配置为自由协议时，使用本功能块实现数据发送。

图片:

参数:

参数名称 | 数据类型 | IN/OUT | 参数作用 | 说明
--- | --- | --- | --- | ---
EXECUTE | BOOL | IN | 功能块触发 |
    上升沿触发功能块执行
DATA | REF_TO BYTE | IN | 数据首地址 |
    待发送数据块首地址（不可为空/NULL）
LENGTH | WORD | IN | 数据长度 |
    数据长度（不可大于DATA实际大小）
DONE | BOOL | OUT | 成功标志 |
    是否发送成功，TRUE：发送成功
ERROR | BOOL | OUT | 错误标志 |
    是否发生错误，TRUE：发送出错
ERRORID | UDINT | OUT | 错误码 |
    0：正常；其它：错误码值

错误码:

错误码 | 说明
--- | ---
0 |
    无错误
1 |
    发送数据过长
2 |
    发送数据过快
5 |
    端口未配置为自由协议
6 |
    数据首地址为空

示例:

LD:

ST:

v_data := REF(v_dataArray); RS485_SEND_inst1(EXECUTE := v_execute, DATA := v_data, LENGTH := v_length, DONE => v_done, ERROR => v_error, ERRORID => v_errorid);

解释:

         当“v_execute”操作数的信号状态从“0”变为“1”时，执行该指令,把"DataSend1"数组里的"10"个字节数发送出去。每检测到一个信号上升沿，就执行一次发送。
    当正在执行发送的时候，成功执行完毕之后，“DONE1”输出的信号状态就为“1”。