大数跨境

TwinCAT 3 用 USB 转串口方式实现 ModbusRTU 和自由串口通讯

TwinCAT 3 用 USB 转串口方式实现 ModbusRTU 和自由串口通讯 倍福技术之星俱乐部
2026-10-30
6

TwinCAT 3 中做 ModbusRTU 或自由口通讯,一般需要控制器上自带串口或者需要扩展 EL6002、EL6022 等 RS232/RS485 模块。还有一种方法通过 USB 转 RS485/422/232 串口线来实现。


1


原理:

由于数据是通过 ADS 和虚拟串口服务通讯,所以使用这种方式的通讯是非实时的,优点是不需要专门的硬件。TwinCAT 3 授权及版本要求:做自由口通讯需要 TF6340 授权,TwinCAT 3.1.4016 以上版本。做 ModbusRTU 通讯需要 TF6340+TF6255 授权,TwinCAT 3.1.4024.0以上版本。

Windows中设置 USB 转串口的端口号,插上 USB 转串口线并安装好转换器驱动,设备管理器中会出现该串口线的端口,这个端口号 TwinCAT 程序中会用到。可以通过高级设置去修改,该例子设置端口号为 1,如下图:

测试环境:笔记本电脑安装 TwinCAT 3.1.4024.66,笔记本上两个 USB 口插两个 USB 转RS485 串口线,分别配置端口号为 COM1 和 COM2,测试软件工具 Modsim32、Modscan32 和 JCom。

TwinCAT 3 示例程序:

TwinCAT 程序中,IO/Devices 中不需要做任何配置。MAIN 程序用于 TwinCAT 和 COM1 口建立连接,配置波特率、校验等端口信息。程序运行后串口端口会自动连接,如果没有连接成功需检查该端口号是否存在、有没有被占用。连接成功后,根据所需要测试的功能设置Mode。Mode 设置为 1,TwinCAT 作为 ModbusRTU_Master;Mode 设置为 2,TwinCAT作为 ModbusRTU_Slave;Mode 设置为 3,TwinCAT 做自由口通讯。

子程序 ModbusRTU_Master 是 TwinCAT 作为 ModbusRTU Master 对从站各个功能区的读写,可以结合 Modsim 进行测试。

MAIN.Mode 设置为 1,变量 Start 置 True 后,开始循环各个功能码的读取或写入操作。

子程序 ModbusRTU_Slave 是 TwinCAT 作为 ModbusRTU Slave,可以结合Modscan 进行测试,MAIN.Mode 设置为 2。

TwinCAT 3 中Input变量对应Modbus 起始地址为40001,最大数量为2048 words。

TwinCAT 3 中 Output 变量对应 Modbus 起始地址为 42049,最大数量为 14336 words。

TwinCAT 3 中 Memory 变量对应 Modbus 起始地址为 416385,最大数量为 16384 words

子程序 SerialCom 是自由口通讯示例,可以结合串口调试工具 JCom 进行测试。

TwinCAT 中定义了一个结构体作为通讯数据帧(帧头、5 个 LREAL 数据、CRC 校验、帧尾)。

发送:由 TwinCAT 发送给串口调试软件 JCom,在 JCom 中按照 TwinCAT 发送的数据帧格式和校验规则对数据进行解析。MAIN.Mode 设置为 3,StartSend 设置为 TRUE,开始发送数据。

接收:串口调试软件根据设定的帧格式发送数据给 TwinCAT,TwinCAT 接收数据,根据设定的格式验证数据的有效性。

关于 CRC 校验的功能:F_DATA_TO_CRC16_CCITT,测试程序中初始值设置为 0x0000,对应的校验算法 Polynomial value : 0x1021,Polynomial: x^16 + x^12 + x^5 + 1,输入、输出不反转。串口调试软件中设置如下:

推荐一个串口调试工具 JCom。这个工具可以对接收到数据帧按照设置的格式和校验算法进行校验和解析,显示为整形、实数,可以把接收到的数据显示为曲线,保存文件,按照设定的帧格式发送数据帧。

使用方法以及下载地址:https://www.jooiee.com/cms/ruanjian/115.html

使用截图:

接收到的数据帧进行校验和解析,把接收到的十六进制转换为实数,便于观察。

设置接收数据的帧格式。

接收到的数据显示为曲线。

接收到的数据保存为 CSV 文件。

按照设置的数据帧格式发送数据。


文/王帅 倍福技术支持工程师

点击下载,领取本文例程


【声明】内容源于网络
0
0
倍福技术之星俱乐部
倍福技术之星俱乐部(Star Technology Club)是德国倍福自动化有限公司针对自动化技术发展需求,响应技术创新、服务创新的大趋势,为广大技术人员提供沟通、互动及高品质服务的重要平台。
内容 513
粉丝 0
倍福技术之星俱乐部 倍福技术之星俱乐部(Star Technology Club)是德国倍福自动化有限公司针对自动化技术发展需求,响应技术创新、服务创新的大趋势,为广大技术人员提供沟通、互动及高品质服务的重要平台。
总阅读10.2k
粉丝0
内容513