设为首页加入收藏
| 设为首页 | 加入收藏 | 联系我们 | English |
TG900P-将任意协议转换为MODBUS TCP
分享到: 更多
产品简介 快速开始 通讯设置 内部寄存器
将MODBUS RTU协议转换为MODBUS TCP 将任意协议转换为MODBUS TCP CAN通信 自由口编程范例

5.2 将任意协议转换为MODBUS TCP

  TG900P的3个串口与各种协议的设备通信时,通过腾控提供的自由口功能块编程,将设备数据采集到TG900P中,最终通过MODBUS TCP被上位机获取。

  自由口通信包括 PORT_OPEN、PORT_WRITE 和 PORT_READ 共 3 个指令。

将MODBUS RTU协议转换为MODBUS TCP

  (1)同5.1(1)进入编辑界面

  (2)同5.1(2)添加固件库

  (3)插入功能块指令

  在右侧编辑向导TCNETLIB组中找到PORT_OPEN、PORT_WRITE 和 PORT_READ 指令,依次拖拽到编程界面中,“确定”,建立功能块。

  双击功能块的蓝色管脚,设置各变量。

进入程序编辑界面

输入引脚 数据类型 描述
EN BOOL 为TRUE时,打开并独占此串口;为FALSE时,关闭此串口
Port BYTE 要打开TG900P的串口号,可选值:1、2、3,分别对应COM1、COM2、COM3口
Setting STRING  通讯参数,要与从站的通讯格式一致,如‘19200,1,E,8‘是指19200 BPS,偶校验、8位数据位、1位停止位
注:字符串要在英文状态下输入
TimeOut BYTE 串口操作超时时间,单位:10ms
输出引脚 数据类型 描述
ENO BOOL 输出使能
DONE BOOL 为 1 时串口打开成功、为 0 时串口打开失败
Errmsg WORD  错误信息 0:串口工作正常 1:当前串口无效(注:已被其它程序占用) 2:串口参数格式错误(19200,1,E,8) 3:接收数据奇偶校验错误 4:串口设备忙 5:串口没打开

将任意协议转换为MODBUS TCP

输入引脚 数据类型 描述
EN BOOL 写命令使能,上升沿有效
EN上升沿有效,可用两个延时接通定时器产生一个脉冲串,50%占空比,脉宽1秒(通过PT引脚可修改),脉冲串在TON_1.Q端产生,用于控制线圈C000。
Port BYTE 由 PORT_OPEN 打开的串口号
Length WORD 需要写入数据的字节个数
Dataptr ANY 存放写串口数据的缓冲区,一般为数组
输出引脚 数据类型 描述
ENO BOOL 输出使能
DONE BOOL 为 1 时写数据、为 0 时没有写数据
Errmsg WORD  错误信息
0:串口工作正常
1:当前串口无效(注:已被其它程序占用)
2:串口参数格式错误(9600,1,N,8)
3:接收数据奇偶校验错误
4:串口设备忙
5:串口没打开
6:串口没回应

将任意协议转换为MODBUS TCP

输入引脚 数据类型 描述
EN BOOL 读命令使能,TRUE 有效
Port BYTE 由 PORT_OPEN 打开的串口号
Dataptr  ANY  存放从串口读取数据的缓冲区,一般为数组
输出引脚 数据类型 描述
ENO BOOL 输出使能
DONE BOOL 为 1 时读数据、为 0 时没有读数据
Errmsg WORD  错误信息
0:串口工作正常
1:当前串口无效(注:已被其它程序占用)
2:串口参数格式错误(9600,1,N,8)
3:接收数据奇偶校验错误
4:串口设备忙
5:串口没打开
6:没有收到数据
Length WORD  读取到数据的字节长度

  (4)数据校验

  串口数据发送时,经常使用附加校验,为减轻用户工作量,腾控提供三种校验功能块CRC校验、FCS校验和XOR校验。

  CRC校验

CRC校验

输入引脚 数据类型 描述
EN BOOL 上升沿有效
Length WORD 数据所占字节的个数
Type WORD CRC类型:
1:CRC-16 
2:Modbus CRC
3:CRC DNP 
4:CRC SICK 
5:CRC CCITT 0000 
6:CRC CCITT FFFF 
7:CRC CCITT 1D0F
8:CRC KERMIT
Dataptr  ANY  要计算CRC校验码的数据,一般为字节型数组
输出引脚 数据类型 描述
ENO BOOL 输出使能
Result WORD 计算出的CRC校验码:低字节在前,高字节在后

  FCS校验

FCS校验

输入引脚 数据类型 描述
EN BOOL 上升沿有效
Length WORD 数据所占字节的个数
Dataptr  ANY  要计算FCS校验码的数据,一般为字节型数组
输出引脚 数据类型 描述
ENO BOOL 输出使能
Result WORD 计算出的FCS校验码

  XOR校验

XOR校验

输入引脚 数据类型 描述
EN BOOL 上升沿有效
Length WORD 数据所占字节的个数
Dataptr  ANY  要计算XOR校验码的数据,一般为字节型数组
输出引脚 数据类型 描述
ENO BOOL 输出使能
Result WORD 计算出的XOR校验码

  (5)制作,下装,运行。

  (6)打开调试开关,监视程序。

  所有输出引脚Errmsg为0时,表示通信无错误,当有输出引脚Errmsg不为0时,根据错误信息修改错误。

版权所有 Copyright(C)2011-2012 北京腾控科技有限公司 电话:010-59790086
Live Chat by comm100