技术干货 | 德克威尔自由通信模块EX-6311接收模式配置说明
- 关键词:德克威尔,远程IO
- 摘要:EX-6311是德克威尔EX卡片式远程IO系列中的RS232通讯模块。该通讯模块支持多种波特率选择,数据位、校验位等功能参数灵活配置。本次就该模块的三种接收模式在TwinCat下配置进行说明。
一、产品介绍
EX-6311是德克威尔EX卡片式远程IO系列中的RS232通讯模块。该通讯模块支持多种波特率选择,数据位、校验位等功能参数灵活配置。本次就该模块的三种接收模式在TwinCat下配置进行说明。
二、TwinCat下配置使用
将EX-6311挂载在EX-1100适配器下,打开TwinCat,扫描到适配器和模块。
依次按下图选择进入EX-6311接收模式配置设置
EX-6311接收模式分为三种:
1.按字符间隔接收(默认模式)
2.按长度接收(接收长度用户定义)
3.特殊字符结尾接收(默认0x0d,用户可设置)
三、三种接收模式下接收数据
以下接收数据测试都是由电脑串口收发工具发送数据;此次测试模块的其他配置信息都是默认配置。
1.按字符间隔接收
使用串口工具配置各项参数和EX-6311的配置一致。
用串口工具发送任意字节长度(不超过最大64字节)的数据给模块,查看TwinCat下模块接收到的数据是否一致。
可以看出模块接收到新的数据时会覆盖上一次接收的数据;Status Byte 的第一个字节会显示接收的字节长度。
2.按字符长度接收
第一步修改模块的接收模式为按字符长度接收;
第二步发送接收字符长度的指令,发送格式如下:
设定接收长度的数据格式为:
0xXX+0x01+0xYY…0xYY+0xZZ
0xXX: 模块发送出去的数据长度
0x01:触发发送指令
0xYY: 发送的数据
0xZZ: 接收的数据长度
例如发送0x0201 0x1111 0x0505,意思为接收五个字节长度的数据。
使用串口工具发送六个字节数据给模块。
模块只会接收到前五个字节数据。
并且需要重新接收新数据时必须先新发送一条接收字符长度指令,否则无法接收新数据。
接收到的字节长度未达到设置的长度时,数据不显示(但是会存储下来),只会在接收到设定的长度时才会显示出来。
3.按特殊字符结尾接收
和按字符长度接收一样,第一步先修改接收模式为特殊字符结尾模式,默认的特殊字符为0x0d。
特殊字符结尾模式时,收发数据形式为一发一收(必须模块先发送一组数据才能接收到数据)。
没有0x0d结尾时接收数据不显示。
加上特殊字符结尾后模块数据接收区会显示出特殊字符结尾前接收到的所有数据。
一帧数据里面有两个特殊字符,会默认接收第一个特殊字符时接收结束。
如何修改特殊字符结尾
修改特殊字符结尾时要发送一组特殊字符,字符格式如下:
发送帧:
XX XX表示需要修改的特定字符,长度可变,最大支持2字节字符;
N :表示xx xx数据长度,最大长度为2;
应答帧:
修改成功
修改失败(无法修改和无效修改时响应失败)
YY YY:表示当前特定字符,如果是1字节特定字符,则OxYY OxYY为特定字符(1字节)+0x00, 如果是2字节特定字符,则YYYY为特定字符(2字节);
注:无效修改指特殊字符全为0时,设置修改失败
以下示例为修改特殊字符为双字节且修改成功的示例。
以下示例为修改特殊字符为双字节修改失败的示例。
修改失败的原因为特殊字符中的第二位为0x00。
以下示例为修改特殊字符为双字节,第一个字节为0x00的示例。
以下为修改特殊字符为单字节成功的示例。
以下为修改特殊字符为单字节失败的示例。
修改失败原因为设定修改字节的长度为0x01时特殊字符的第二字节不为0x00。
以上就是EX-6311模块三种接收模式的应用了。