通讯协议——ASI2x1

基本功能描述

计算机或控制器通过以太网口或者RS232接口发出指令,包括查询指令,切换指令等,主机箱中的控制板在收到这些指令之后,将这些数据通过485总线转发给对应的主板,并将结果回传给发出指令的计算机或控制器。控制器或计算机发出切换指令后,等待主机箱中的控制板发出刷新指令,以改变显示。主机箱中,控制板以一定时间为间隔不断查询主板的状态,并发出刷新指令将查得的信息更新给计算机或控制器。

通过网络控制时,网管软件必须每隔在30秒内向切换器发出如下字符:

*?#    (其中*和#分别是起始字符和结束字符)

网络模块应答 *@#

切换器端如果在30秒内没有收到此握手字符或者其他有效字符(任何按照协议规定的切换或查询指令),将断开TCP网络连接,控制软件必须重新建立网络连接

通讯协议

字符定义:SOH: ASCII码“*”,起始标志字符

EOT: ASCII码“#”,结束标志字符

ACK: ASCII码“0x06”,正确应答字符

NAK: ASCII码“0x15”,错误应答字符

默认速率为 9600,N,8,1

以下协议中蓝色部分为关键字,棕褐色部分为变量;带单引号‘’的是ASCII码。

注意区分大小写字母SOH之后的3个字母一般为大写字母。

 

1:状态查询指令

    (1) 主板状态查询指令

SOH 
‘R’‘D’  ‘Z’‘0’  CHECK
SUM 
EOT

该指令的作用是查询指定的某一块主板的状态。

这里,‘RD’为查询指令的关键字。

‘Z’
后面一位十六进制数表示要查询的板号。因每个机箱最多可插入8块切换板,该数为0~7之间的数。

CHECK_SUM为校验和,现为预留。可用‘--’代替。下同。

――应答指令如下:

SOH ‘D’‘R’
‘Z’‘0’‘S’ ‘0’ ‘0’ CHECK
-SUM 
EOT

‘DR’表示对
‘RD’指令的应答。

‘Z’后面一位十六进制数表示要查询的板号。

‘S’后面两位十六进制数(8个比特位)。其中,

比特0(最低位)表示手动或自动:1——表示手动,0——表示自动;

比特1表示当前输出路数:0——代表主路,1——代表备路;

比特2表示主路信号状态:1——表示有,0——表示无;

比特3表示备路信号状态:1——表示有,0——表示无;

比特4表示主路同步错误:1——表示有同步错误,0——表示无同步错误;

比特5表示备路同步错误:1——表示有同步错误,0——表示无同步错误;

       比特6表示主路PID丢失:1——表示有PID丢失,0——表示无PID丢失;

比特7表示备路PID丢失:1——表示有PID丢失,0——表示无PID丢失。

如果出现错误,例如,电路板没有应答,则应答结果如下:

SOH 
‘D’ ‘R’ ‘Z’‘0’‘T’ ‘O’ 
CHECK
-SUM 
EOT

‘T’ ‘O’ 是TIME OVER即超时的意思,表示在规定的时间内没有收到应答信号,或者是板子不存在,或者是板子故障。

     (2) PID状态查询指令

SOH 
‘R’‘Q’  ‘Z’‘0’  CHECK
SUM 
EOT

该指令的作用是查询指定的某一块主板的某一路TS流里某一个PID的状态。

这里,‘RQ’为查询指令的关键字。

‘Z’
后面一位十六进制数(4个比特位)。其中,

低3位(比特0~2)表示要查询的板号;

最高位(比特3)表示主路或备路:0——代表主路,1——代表备路。

――应答指令如下:

SOH ‘Q‘R’
‘Z’‘0’ ‘S’ ‘0’ ‘0’ ‘W’ ‘0’ ‘0’ ……CHECK-SUM 
EOT

‘Z’
后面一位十六进制数(4个比特位)。其中,

低3位(比特0~2)表示要查询的板号;

最高位(比特3)表示主路或备路:0——代表主路,1——代表备路。

‘S’后面两位十六进制数表示所检测的PID数量;

‘W’后面的十六进制数表示对应PID状态有无。

第一个数代表第一到第四个检测PID的状态,

4
比特数据:

比特0 表示第一个PID状态 :0—表示无此PID,1---表示有此PID;

比特1 表示第二个PID状态 :0—表示无此PID,1---表示有此PID;

比特2 表示第三个PID状态 :0—表示无此PID,1---表示有此PID;

比特3 表示第四个PID状态 :0—表示无此PID,1---表示有此PID;

第二个数代表第五个到第八个PID状态同样低位为先;以此类推。

如果出现错误,例如,电路板没有应答,则应答结果如下:

SOH 
‘Q’ ‘R’ ‘Z’‘0’‘T’ ‘O’ 
CHECK
-SUM 
EOT

‘T’ ‘O’ 是TIME OVER即超时的意思,表示在规定的时间内没有收到应答信号,或者是板子不存在,或者是板子故障。

2:PID列表查询指令

SOH 
‘R’ ‘P’  ‘Z’‘0’  CHECK
SUM 
EOT

该指令的作用是查询指定通道TS流里PID的列表。

这里,‘RP’为PID列表查询指令的关键字。

‘Z’
后面一位十六进制数(4个比特位)。其中,

低3位(比特0~2)表示要查询的板号;

最高位(比特3)表示主路或备路:0——代表主路,1——代表备路。

――应答指令如下:

SOH 
‘P’ ‘R’‘Z’‘0’  ‘nn’
‘y’‘××××’
‘y’‘××××’
‘y’‘××××’……
CHECK-SUM 
EOT

‘PR’表示对
‘RP’指令的应答。

‘Z’
后面一位十六进制数(4个比特位)。其中,

低3位(比特0~2)表示要查询的板号;

最高位(比特3)表示主路或备路:0——代表主路,1——代表备路。

‘nn’
是两位十六进制数,8比特数据:

比特0至比特5
这6比特二进数字代表PID数量范围0-63;

比特 7
、6  代表后面所开始的PID的序号,00
代表其后为第一个PID

01代表其后为第17个PID,

10代表其后为第33个PID;

11代表其后为第49个PID。

每条指令最多传输16个PID值。

位有效,高位为先。

序号依次加一。

如果出现错误,例如,电路板没有应答,则应答结果如下:

SOH 
‘P’ ‘R’ ‘Z’‘0’‘T’ ‘O’ 
CHECK
-SUM 
EOT

‘T’ ‘O’ 是TIME OVER即超时的意思,表示在规定的时间内没有收到应答信号,或者是板子不存在,或者是板子故障。

注:该指令得到的是自上次清空指令之后,码流之中存在过的所有PID列表,未必是实时结果,如果想得到即时结果,请与清空指令组合使用。

3:所设置PID列表查询指令

SOH 
‘R’ ‘O’  ‘Z’‘0’  CHECK
SUM 
EOT

该指令的作用是查询指定通道TS流里PID的列表。

这里,‘RO’为PID列表查询指令的关键字。

‘Z’
后面一位十六进制数(4个比特位)。其中,

低3位(比特0~2)表示要查询的板号;

最高位(比特3)表示主路或备路:0——代表主路,1——代表备路。

――应答指令如下:

SOH 
‘O’ ‘R’‘Z’‘0’  ‘nn’
‘y’‘××××’
‘y’‘××××’
‘y’‘××××’……
CHECK-SUM 
EOT

‘OR’表示对
‘RO’指令的应答。

‘Z’
后面一位十六进制数(4个比特位)。其中,

低3位(比特0~2)表示要查询的板号;

最高位(比特3)表示主路或备路:0——代表主路,1——代表备路。

‘nn’
是两位以ASCII码表示的十六进制数,8比特数据:

比特0至比特5
组成6比特二进数字代表PID数量范围0-63;

比特 7
、6  代表后面所开始的PID的序号:

00代表其后为第一个PID;

01代表其后为第17个PID;

10代表其后为第33个PID;

11代表其后为第49个PID。

每条指令最多传输16个PID值。

位有效,高位为先。

‘y’为分割每个PID的标识字符。

如果出现错误,例如,电路板没有应答,则应答结果如下:

SOH 
‘O’ ‘R’ ‘Z’‘0’‘T’ ‘O’ 
CHECK
-SUM 
EOT

‘T’ ‘O’ 是TIME OVER即超时的意思,表示在规定的时间内没有收到应答信号,或者是板子不存在,或者是板子故障。

4:查询自动切换设置指令

a.
查询自动切换使能指令

SOH 
‘R’ ‘Y’ ‘
Z’ ‘0’ ‘y’ CHECKSUM
 EOT

该指令的作用是查询某一块主板是否允许靠信号有无、同步错误、PID丢失自动切换。

――应答指令如下:

SOH 
‘Y’ ‘R’ ‘
Z’ ‘0’ ‘y’ ‘0’ CHECKSUM
 EOT

‘Z’
后面一位十六进制数表示要查询的板号。

比特数字:注:y为小写字母。

比特0表示是否允许靠信号有无自动切换:1
表示允许,0表示不允许

比特1表示是否允许靠同步错误自动切换:1
表示允许,0表示不允许

比特2表示是否允许靠PID丢失自动切换:1
表示允许,0表示不允许

最高位(比特3)保留。

b.
查询自动切换时间指令

SOH 
‘R ‘Y’ ‘
Z’ ‘0’ ‘t’ CHECKSUM
 EOT

该指令的作用是查询某一块主板出现错误切换时间。注:t为小写字母。

――应答指令如下:

SOH 
‘Y’ ‘R’ ‘
Z’ ‘0’ ‘t’ ‘0’ ‘0’ CHECKSUM
 EOT

‘Z’
后面一位十六进制数表示要查询的板号。

‘t’后面两位十六进制数表示出现错误切换时间,范围1-200,单位秒。

c.
查询单独pid使能指令

SOH 
‘R’ ‘Y’ ‘
Z’ ‘0’ ‘q’CHECKSUM
 EOT

该指令的作用是查询某一块主板所检测的PID是否依靠对应PID切换。

――应答指令如下:

SOH 
‘Y’ ‘R’ ‘
Z’ ‘0’
‘q’ ‘0’
‘0’‘p’ ‘0’ ‘0’
……CHECKSUM
 EOT

‘Z’
后面一位十六进制数表示要查询的板号。

‘q’后面两位十六进制数表示所检测的PID数量。注:p,q为小写字母。

‘p’后面的十六进制数表示是否依靠对应PID切换:

第一个数代表第一到第四个检测的PID的状态,

4
比特数据:

比特0 表示是否靠第一个PID切换:1
表示允许,0表示不允许;

比特1 表示是否靠第二个PID切换:1
表示允许,0表示不允许;

比特2表示是否靠第三个PID切换:1
表示允许,0表示不允许;

比特3 表示是否靠第四个PID切换:1
表示允许,0表示不允许。

第二个数代表第五个到第八个PID设置状态同样低位为先;以此类推。

事实上,‘q’后面两位十六进制数表示的PID数量(a)与‘p’后面ASCII码的数量(b)具有如下关系:当a>0时,b=(a-1)/4+1;当a=0时,b=0。

如果出现错误,例如,电路板没有应答,则以上三条指令的应答结果都如下:

SOH 
‘Y’ ‘R’ ‘Z’‘0’‘T’ ‘O’ 
CHECK
-SUM 
EOT

‘T’ ‘O’ 是TIME OVER即超时的意思,表示在规定的时间内没有收到应答信号,者是板子不存在,或者是板子故障。

5:自动切换设置指令

a.自动切换使能指令

SOH 
‘W’ ‘Y’ ‘
Z’ ‘0’ ‘y’ ‘0’ CHECKSUM
 EOT

该指令的作用是设置某一块主板是否允许靠信号有无、同步错误、PID丢失自动切换。

‘Z’
后面一位十六进制数表示要查询的板号。

比特数字:(注:y为小写字母。)

比特0表示是否允许靠信号有无自动切换:1
表示允许,0表示不允许;

比特1表示是否允许靠同步错误自动切换:1
表示允许,0表示不允许;

比特2表示是否允许靠PID丢失自动切换:1
表示允许,0表示不允许;

最高位(比特3)保留。

b.自动切换时间指令

SOH 
‘W’ ‘Y’ ‘
Z’ ‘0’ ‘t’ ‘0’ ‘0’ CHECKSUM
 EOT

该指令作用是设置某一块主板出现错误切换时间。

‘Z’后面一位十六进制数表示要查询的板号。

‘t’后面两位十六进制数表示出现错误切换时间,范围1-200,单位秒。注:t为小写。

c.自动切换pid使能指令

SOH 
‘W’ ‘Y’ ‘
Z’ ‘0’‘q’ ‘0’ ‘0’ ‘p’
‘0’ ‘0’
…… CHECK-SUM
 EOT

该指令作用是自动切换某一块主板所检测的PID是否依靠对应PID切换。

‘Z’后面一位十六进制数表示要查询的板号。

‘q’后面两位十六进制数表示所检测的PID数量;

‘p’后面的十六进制数表示是否依靠对应PID切换;

第一个数代表第一到第四个检测的PID的状态。注:p、q为小写字母。

4 比特数据:

比特0 表示是否靠第一个PID切换:1
表示允许,0表示不允许;

比特1 表示是否靠第二个PID切换:1
表示允许,0表示不允许;

比特2表示是否靠第三个PID切换:1
表示允许,0表示不允许;

比特3 表示是否靠第四个PID切换:1
表示允许,0表示不允许。

第二个数代表第五个到第八个PID设置状态同样低位为先;以此类推。

――所有切换指令应答指令如下:

ACK
:数据正确接收。

NAK
‘1’
:数据接收校验错误。

NAK
‘2’
:数据接收错误,无起始位。

NAK
字节。

6:PID列表清空指令

SOH 
‘W’ ‘P’  ‘Z’‘0’  CHECK
SUM 
EOT

该指令用来清空PID列表,重新搜索。

‘Z’
后面一位十六进制数(4个比特位)。其中,

低3位(比特0~2)表示要处理的板号;

最高位(比特3)表示主路或备路:0——代表主路,1——代表备路。

――PID列表清空指令应答指令如下:

ACK
:数据正确接收。

NAK
‘1’
:数据接收校验错误。

NAK
‘2’
:数据接收错误,无起始位。

NAK
字节。

7:切换指令

SOH 
‘W’ ‘R’ ‘
Z’ ‘0’ ‘y’ ‘0’ 
CHECK
SUM
 EOT

该指令用来切换自动或手动和主路或备路。

这里,‘WR’为切换指令的关键字。

‘Z’后面一位十六进制数表示要查询的板号。

当块板。

比特数字,(注:y为小写字母。)

比特0表示自动或手动切换:1
表示手动,0表示自动;

比特1表示主路或备路切换:0
表示主路,1表示备路。

――所有切换指令应答指令如下:

ACK
:数据正确接收。

NAK
‘1’
:数据接收校验错误。

NAK
‘2’
:数据接收错误,无起始位。

NAK
字节。

8:连续设置PID指令

SOH ‘W’‘O’
‘Z’‘0’ ‘nn’
‘y’‘××××’
‘y’‘××××’
‘y’‘××××’……
CHECK-SUM 
EOT

该指令的作用是向指定主板的指定通道里依次写PID。

这里,‘WO’为写PID指令的关键字,其它字符的含义同PID列表查询指令。

‘Z’后面一位十六进制数表示要查询的板号。

nn’
是两位十六进制数,8比特数据:

比特0至比特5
组成6比特二进制数字代表PID数量范围0-63;此数量值是多少其后就应该严格的有多少个‘y’,否则指令将不被识别。

比特 7
、6  代表后面所开始的PID的序号,00
代表其后为第1个PID

01代表其后为第17个PID,

10代表其后为第33个PID;

11代表其后为第49个PID;

总共最多可设置63个PID值,每条指令最多可设置16个PID值。

比特数字中,低13位有效(数据范围0-1FFFH)。(注:y为小写字母。)

――应答指令如下:

ACK
:数据正确接收。

NAK
‘1’
:数据接收校验错误。

NAK
‘2’
:数据接收错误,无起始位。

NAK
字节。

9:单独设置PID指令

SOH ‘W’‘S’
‘Z’‘0’ ‘n’ ‘x’‘
××’‘y’‘××××’ 
‘x’‘××’‘y’‘××××’
……CHECKSUM 
EOT

该指令的作用是设置指定主板的指定通道里的指定PID。

这里,‘WS’为设置PID指令的关键字。

‘Z’后面一位十六进制数表示要查询的板号。

进制数据表示此指令修改多少个(1~8个)PID,单指令最多修改8个PID值。‘n’的值为多少就应该严格的有多少对‘xy’,否则指令将不被识别。

‘x’后面两位十六进制数表示对第几个PID进行修改;范围1-63;

比特数字中低13位有效高位为先。

时表示不检测PID)。(注:x,y为小写字母。)

――应答指令如下:

ACK
:数据正确接收。

NAK
‘1’
:数据接收校验错误。

NAK
‘2’
:数据接收错误,无起始位。

NAK
字节。

 

10:状态刷新指令(此指令从主机发来)

SOH ‘+’
 ‘Z’‘0’‘S’ ‘0’ ‘0’ CHECK
SUM 
EOT

该指令的作用是对某个状态变化的内容进行刷新。当主板状态发生改变时,控制板会自动发出状态刷新指令。

这里,‘+’是刷新指令关键字。‘Z’
后面一位十六进制数表示要对应的板号。

‘S’后面两位十六进制数(8个比特位)。其中,

比特0(最低位)表示手动或自动:1——表示手动,0——表示自动;

比特1表示当前输出路数:0——代表主路,1——代表备路;

比特2表示主路信号状态:1——表示有,0——表示无;

比特3表示备路信号状态:1——表示有,0——表示无;

比特4表示主路同步错误:1——表示有同步错误,0——表示无同步错误;

比特5表示备路同步错误:1——表示有同步错误,0——表示无同步错误;

       比特6表示主路PID丢失:1——表示有PID丢失,0——表示无PID丢失;

比特7表示备路PID丢失:1——表示有PID丢失,0——表示无PID丢失。

如果出现错误,例如,电路板没有应答,则刷新内容如下:

SOH 
‘+’ ‘Z’‘0’‘T’ ‘O’ 
CHECK
-SUM 
EOT

‘T’ ‘O’ 是TIME OVER即超时的意思,表示在规定的时间内没有收到应答信号,或者是板子不存在,或者是板子故障。

11:读写IP地址指令

   写IP地址指令:

SOH 
‘W’ ‘I’‘1’ ‘9’ ‘2’ ‘.’ ‘1’ ‘6’ ‘8’ ‘.’ ‘0’ ‘.’ ‘2’ ‘3’ ‘4’ CHECK
SUM
 EOT
 

该指令的作用是修改主机的IP地址。

这里,‘W’ ‘I’代表指令关键字,192.168.0.234代表修改后的IP地址。

读IP地址指令:

SOH 
‘R’ ‘I’ CHECK
SUM
 EOT
 

该指令的作用是读取主机的IP地址。

这里,‘R’ ‘I’代表指令关键字。

――应答指令如下:

SOH 
‘IR’ ‘1’ ‘9’ ‘2’ ‘.’ ‘1’ ‘6’ ‘8’ ‘.’ ‘0’ ‘.’ ‘2’ ‘3’ ‘4’
 CHECK
-SUM 
EOT

‘IR’表示对
‘RI’指令的应答,192.168.0.234代表矩阵的IP地址。

:当操作指令与该协议中的不一致时,将不被系统识别,系统回复:SOH 
‘?’  EOT
 

:产品出厂默认的IP地址为
192.168.0.247”。

端口号不可更改!每次更改完IP地址后必须重新上电!!!

[完]

ASI通讯协议——ASI2x1的更多相关文章

  1. 基于dubbo框架下的RPC通讯协议性能测试

    一.前言 Dubbo RPC服务框架支持丰富的传输协议.序列化方式等通讯相关的配置和扩展.dubbo执行一次RPC请求的过程大致如下:消费者(Consumer)向注册中心(Registry)执行RPC ...

  2. MODBUS-RTU通讯协议简介

    MODBUS-RTU通讯协议简介   什么是MODBUS? MODBUS 是MODICON公司最先倡导的一种软的通讯规约,经过大多数公司 的实际应用,逐渐被认可,成为一种标准的通讯规约,只要按照这种规 ...

  3. 【读书笔记】iOS-防止通讯协议被轻易破解的方法

    开发者可以选择类似Protobuf之类的二进制通讯协议或者自己实现通讯协议,对于传输的内容进行一定程度的加密,以增加黑客破解协议的难度. 参考资料: <iOS开发进阶> --唐巧

  4. CNN 美国有线电视新闻网 wapCNN WAP 指无线应用通讯协议 ---- 美国有线电视新闻网 的无线应用

    wapCNN  wap指无线应用通讯协议  CNN美国有线电视新闻网   固, wapCNN 美国有线电视新闻网的无线应用 -------------------------------------- ...

  5. Netty 对通讯协议结构设计的启发和总结

    Netty 通讯协议结构设计的总结 key words: 通信,协议,结构设计,netty,解码器,LengthFieldBasedFrameDecoder 原创 包含与机器/设备的通讯协议结构的设计 ...

  6. 几种通讯协议的比较RMI > Httpinvoker >= Hessian >> Burlap >> web service

    一.综述本文比较了RMI,Hessian,Burlap,Httpinvoker,web service等5种通讯协议的在不同的数据结构和不同数据量时的传输性能.RMI是java语言本身提供的远程通讯协 ...

  7. 射频识别技术漫谈(6)——通讯协议概述【worldsing笔记】

    通讯协议是通讯的双方或多方在交流时遵守的规矩,包括谁先发起通讯,先交流什么,后交流什么,一方如何问,另一方如何答等.在这里通迅的双方指的是读写器和卡片. 首先是谁先发起通讯,很显然有两种,读写器先发言 ...

  8. USB通讯协议 && 数据传输

    USB2.0通讯协议(spalish)   1.包(packet) 包是USB系统中信息传输的基本单元,所有数据都是经过打包后在总线上传输的.USB包由五部分组成,同步字段(sync).包标识符(PI ...

  9. ISO7816通讯协议在工控主板EM9160中的实现方案

    在新的国家电网智能终端相关标准中,规定了通过专门的加密芯片来保证设备数据安全性的方法,而设备主控单元与加密芯片采用了广泛应用的ISO7816通讯协议.工控主板EM9160为了适应这一新的技术需求,对其 ...

随机推荐

  1. 1.Tarball软件make与makefile详解(还需要补充)

    *通常自己安装的软件放在 /usr/local/软件名   中,而将源文件放在/usr/local/src *为安装到单独目录的软件之 man page 加入 man path 搜寻: 如果你安装的软 ...

  2. JS前端验证代码

    手机号码正则表达式验证: function checkPhone(){ var phone = document.getElementById('phone').value; if(!(/^1[345 ...

  3. 关于OMAPL138烧写程序的说明

    相信很多朋友在用CCS调试OMAPL138开发板的时候,肯定遇到了许许多多的问题: 例如: 1.CCS安装不完整,导致有些功能无法使用 2.ARM端没有加载gel文件,使得程序无法被唤醒 3.ccxm ...

  4. JetBrains Pycharm 破解+汉化

    准备材料: 1.JetBrains Pycharm    传送门:  https://pan.baidu.com/s/1qZCpIR6 密码: rvrn 2.JetbrainsCrack-2.6.2. ...

  5. dubbo中Listener的实现

    这里继续dubbo的源码旅程,在过程中学习它的设计和技巧,看优秀的代码,我想对我们日程编码必然有帮助的.而那些开源的代码正是千锤百炼的东西,希望和各位共勉. 拿ProtocolListenerWrap ...

  6. RHEL7.2安装

    先在系统启动的时候按下Del键(有些系统是F2键)进入BIOS,设置从光盘启动. 系统只有2个USB口时,1个要接光驱,另外1个口不能同时接键盘和鼠标,可以接1个USB集线器,键盘和鼠标同时接入到集线 ...

  7. POJ1741Tree [点分治]【学习笔记】

    Tree Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 20098   Accepted: 6608 Description ...

  8. Does Java pass by reference or pass by value?(Java是值传递还是引用传递) - 总结

    这个话题一直是Java程序员的一个热议话题,争论不断,但是不论是你百度搜也好还是去看官方的文档中所标明的也好,得到的都只有一个结论:Java只有值传递. 在这里就不贴代码细致解释了,让我们来看看一些论 ...

  9. [代码]JAVA触发器,Spring的quartz配置

    Spring的quartz中的配置代码,spring-quartz.xml: <?xml version="1.0" encoding="UTF-8"?& ...

  10. Windows Server 2016-部署第一台域控制器

    上节我们提到有关WinSer 2016 Active Directory域服务概述.WinSer2016 AD域中新增的功能及先决条件等,本节就为大家带来WinSer2016下搭建部署第一台域控的操作 ...