名称:RS232接收

符号:RS232_RECV

说明:

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

图片:

参数:

参数名称 | 数据类型 | IN/OUT | 参数作用 | 说明
--- | --- | --- | --- | ---
ENABLE | BOOL | IN | 功能块使能 |
    TRUE：功能块使能
DATA | REF_TO_BYTE | IN | 存储首地址 |
    据存储内存首地址（不可为空/NULL）
WILLLEN | WORD | IN | 期望接收长度 |
    期望接收长度：不可大于DATA实际大小
ACTUALLEN | WORD | OUT | 实际接收长度 |
    当前时刻已经接收到的字节数
DONE | BOOL | OUT | 成功标志 |
    是否接收到了计划接收的字节数，TRUE：接收成功
ERROR | BOOL | OUT | 错误标志 |
    是否发生错误，TRUE：接收出错
ERRORID | UDINT | OUT | 错误码 |
    0：正常；其它：错误码值

错误码:

错误码 | 说明
--- | ---
0 |
    无错误
3 |
    接收数据过长或缓存区设置太小
4 |
    当前端口正在被其他功能块使用
5 |
    端口未配置为自由协议
6 |
    存储首地址为空

示例:

LD:

ST:

RS232_RECV_inst1(ENABLE := ExecuteRecv1, DATA := REF(DataRecv1), WILLLEN := 10, ACTUALLEN => v_actuallen, DONE => v_done, ERROR => v_error, ERRORID => v_errorid);

解释:

         当“ExecuteRecv1”操作数的信号状态从“0”变为“1”时，执行该指令,把收到的数据存入“DataRecv1”数组中。每检测到一个信号上升沿，就执行一次接收。当实际接收大小“ACTUALLEN1”等于“10”时，表示接收完成，“DONE1”输出状态会变“1”。