文章详情

EIO Link协议编程说明

日期:2024-04-18 12:21
浏览次数:4274
摘要:

EIO Link协议编程说明

1、     与上位机通讯方式

EIO支持模式>模式>两种工作模式。

l      模式>下,EIO监听TCP/IP端口(默认为5100),等待远程主机建立连接。

l      模式>下,EIO根据设置,主动连接指定的或通过域名解析获得的远程主机地址。

设备默认设置为模式>

 

1)  Socket TCP/IP通讯方式

上位机软件通过Socket规范与EIO直接建立TCP/IP连接,在成功建立TCP/IP连接后,上位机与设备就可以进行数据通讯。

 

2)  虚拟串口通讯方式

EIO支持虚拟串口技术,可以将EIOLink端口映射为本机的虚拟串口。上位机软件只需要按照常规的串口编程方式,使用EIOLink报文就可以与设备进行通讯,无需编写复杂的网络代码。

 

 

 

 

 

2、     功能描述

l      EIO专有协议,可以实时获得开关量输入状态。实时设置EIO开关量输出状态

l      支持2EIO配对,透传开关量输入/输出状态

l      EIO Link支持TCP/IP ServerClient两种工作方式

l      支持开关量输入状态变化主动发送

l      Client模式下,支持动态域名解析

l      7字节定长短包传输方式

 

3、     EIOLink协议报文

1)  报文说明

报文数据样本(十六进制):00 00 FF 00 00 00 00

报文结构

命令码

状态码

数据1

数据2

数据3

数据4

数据5

00

00

FF

00

00

00

00

l      命令码

00状态更新命令,定时发送的开关量输入状态报文。

01实时输入状态变化命令,当开关量输入状态发生变化时,EIO主动发送此命令码的报文。

 

l      状态码

00说明报文正确,否则为报文为错误状态,由此字节指出错误码。

 

l      数据1-数据5

1)  EIO发出报文(上位机接收时)

命令码为00时含义:8-40路开关量输入同步状态数据,EIO定时发送此报文。

命令码为01时含义: 8-40路开关量输入变化实时数据,EIO检测到8-40路开关量输入任意一路发生了变化(接通或断开),将主动向上位机发送开关量输入状态数据。

 

例如EIO发出报文<00 01 0F 00 00 0000>,上位机接收并解释为EIO的开关量输入发生了变化,第18路开关量输入中的1234为接通状态,5678为断开状态。

 

例如EIO发出报文<00 00 F0 00 00 0000>,上位机接收并解释为EIO定期发送的报文状态数据,当前第18路开关量输入中的1234为接通状态,5678为断开状态。如果长时间(默认为超过5秒)收不到此类型报文,上位机可判定网络故障或EIO已经丢失。

 

2)  EIO接收报文(上位机发送时)

命令码为0001时均解释为:

8-40路开关量输出控制数据,数据1控制第18路开关量输出,数据2控制第28路开关量输出,以此类推。

当数据的字节中的数据位置1时,对应的开关量输出为接通,或低电平状态。

 

例如EIO收到报文<00 00 8F 00 00 0000>后,将接通第1组输出中的12348,或设置为低电平。而将567断开或设置成高电平。

 

4、     报文详解

l      EIO设备接收报文

收到报文含义为:远程EIO设备的开关量输入状态。

数据1至数据5,一共5个字节,每个字节对应EIO18路开关量输入状态,数据1对应第18个开关量输入,以此类推。超过EIO输入路数的数据字节一直为0

1的位,表示该路开关量输入为接通低电平状态。

0的位,表示该路开关量输入为断开高电平状态。

 

EIO设备支持开关量状态变化主动发送,在与EIO Link端口(默认为5100)建立TCP/IP连接后,如果EIO设备的开关量输入状态发生改变,EIO将通过此连接,主动发送实时的开关量输入状态报文(命令码为01)。

为了增强可靠性,即使开关量输入状态没有变化,EIO也会根据设置的间隔时间,一直发送当前开关量输入状态报文(命令码为00)。

 

l      EIO设备发送报文

发送报文含义为:设置远程EIO设备的开关量输出为指定状态(命令码为0001)。

数据1至数据5,一共5个字节,每个数据字节的8个数据位,控制8路输出状态。超过*大输出路数的控制字节将被忽略。

1位,对应的输出为接通低电平。

0位,对应输出为断开高电平。

 

5、     更多示例

l      EIO收到报文

收到:00 00 1C 00 00 00 00

说明:EIO的开关量输入状态为1C=0001 1100,第12678路输入为断开或高电平状态,第345路为接通或低电平状态。

 

l      EIO发送报文

设置EIO的输出状态为指定状态

发送:00 00 FF 00 00 00 00

说明:将EIO的第18路输出设置为全部接通或低电平状态。

 

 

下一篇: CAN解决方案
上一篇: 串口服务器使用说明