当前位置:文档之家› CRT通信协议

CRT通信协议

****************************************

CRT与控制器RS-232通信协议(16回路版)

****************************************

一、通信模式

1. 波特率19200bps 8位有效数据无奇偶校验1位停止位

2. 五线制在线检测

对方在线:数据设备准备好DSR(data-set-ready)信号是否被设置

自己在线:设置数据终端准备好DTR (data-terminal-ready)信号

备注:(两个有用的win32函数)

BOOL GetCommModemStatus(

HANDLE hFile, // handle to communications device

LPDWORD lpModemStat // pointer to control-register values

);

BOOL EscapeCommFunction(

HANDLE hFile, // handle to communications device

DWORD dwFunc // extended function to perform

);

3. 主从式、半双工通信方式

控制器为主方、CRT为从方,所有通信过程由主方发起,从方只做应答。

主方发送一帧数据,若未收到从方应答,则延时重发本帧,收到应答后才发送下一帧。

从方收到一帧数据,校验无误后发送应答帧,未收到数据或校验有错不发送任何帧。

采用窗口方式避免数据帧重复和帧混序现象出现,窗口大小为1。主方和从方各自维持一个标志位,并保证初始状态一致。主方发送新的数据帧(带上主方标志位),从方正确接收到一帧后,将该帧中的主方标志位和从方标志位比较,若一致则认为是新的数据帧,存储该帧数据并发送应答帧,同时将从方标志位翻转;如不一致则认为是重复的数据帧,丢弃该帧数据并再次发送应答帧(即收方认为主方未收到上次应答帧),此时从方标志位不变。主方若超时未收到从方应答帧,则保持主方标志位不变,并重新发送上一帧数据;若收到应答帧则将主方标志位翻转,开始发送下一新的数据帧(带上更新后的主方标志位),进入下一轮通信过程。

二、通信流程

控制器CRT

检测CRT是否在线<-----------> 检测控制器在线并给出CRT在线信号

| 是| 是

发送握手密钥------------> 与自身的密钥对比,检查是否有单元信息

| 等待应答| 没有| 有

接受应答帧并判断<----------- 发送否认应答NCK 发送肯定应答ACK

| ACK | NCK | 等待| 等待

发送历史信息发送单元信息---------> 接收单元信息接收历史信息

。。。| 逐帧确认| 肯定应答。。。

。。。结束重新启动(软启动)。。。

三、帧结构

1. 数据帧格式(固定帧长为34 byte,有效负荷16 byte,超长必须拆帧)

---------------------------------------------------------------------------------------------------------------------------------

偏移量大小存储内容数据格式说明

--------------------------------------------------------------------------------------------------------------------------------- 0x00 1 byte 帧头标志0x10或0x11 帧头唯一,最低位为窗口

0x01 1 byte 第1个数据高位0x0? 高4位为0,低4位为数据

0x02 1 byte 第1个数据低位0x0? 和上一个字节共同传输第1字节

0x03 1 byte 第2个数据高位0x0? 高4位为0,低4位为数据

0x04 1 byte 第2个数据低位0x0? 和上一个字节共同传输第2字节……………

0x2F 1 byte 第16个数据高位0x0? 高4位为0,低4位为数据

0x20 1 byte 第16个数据低位0x0? 和上一个字节共同传输第16字节0x21 1 byte 校验位0xF? 低4位为数据[0x01, 0x20]异或校验---------------------------------------------------------------------------------------------------------------------------------

2. 命令帧格式(固定帧长为1 byte)

--------------------------------------------------------------------------------------------------------

偏移量大小存储内容数据值数据描述

--------------------------------------------------------------------------------------------------------

0x00 1 byte 帧头标志0x20 确认应答ACK

0x25 否认应答NCK

--------------------------------------------------------------------------------------------------------

注释:

[1]该帧结构可以保证传输数据透明;

[2]数据字段的高4位永远为0000B,校验字段的高4位永远为1111B,其它情况用于特殊字段。

四、信息存储结构

1. 历史事件

基本元素:

逻辑地址:节点号、回路号、单元号

物理地址:楼栋号、楼层号、区域号、汉字标签(单字节)

时间标签:月、日、时、分

事件标识:事件类型、单元类型

数据格式:(长度为16 byte)

-------------------------------------------------------------------------------------------------------------------------------- 偏移量大小存储内容数据类型有效值范围[1]说明

-------------------------------------------------------------------------------------------------------------------------------- 0x00 1 byte 节点号HEX 0x01-0x80 控制器的编号

0x01 1 byte 回路号HEX 0x01-0x80 回路1-128

0x02 1 byte 单元号HEX 0x01-0xFE 编址单元1-254 0x03 1 byte 单元类型HEX 0x00-0xFE 定义见附件

0x04 1 byte 楼栋号HEX 0x01-0xFE 楼栋1-254

0x05 1 byte 楼层号HEX 0x01-0xFE 见注释[2]

0x06 1 byte 区域号HEX 0x01-0xFE 区域1-254[3]

0x07 1 byte 月BCD 0x01-0x12 月份1-12

0x08 1 byte 日BCD 0x01-0x31 日期1-31

0x09 1 byte 时BCD 0x00-0x23 小时0-23

0x0A 1 byte 分BCD 0x00-0x59 分钟0-59

0x0B 1 byte 事件类型HEX 0x01-0xFE 定义见附件

0x0C 4 byte 单字节汉字HEX 0x01-0xFE 表示4个汉字[4]

---------------------------------------------------------------------------------------------------------------------------------

注释:

[1] 除汉字标签外各字段中保留0xFF为无效值,表示无本字段内容,而起始值为0x01或0x00是根据惯例来定的;

[2]本字段0x01-0xC8表示地上1-200层,0xC9-0xFE表示地下1-54层;

[3]未分区情况下缺省为1区,即取值0x01,0x00为无效取值;

[4]本字段一个字节表示一个汉字,汉字表见附件;

2. 单元信息

基本元素:

逻辑地址:节点号、回路号、单元号

物理地址:楼栋号、楼层号、区域号、汉字标签

单元特征:单元类型、定义类型、楼显号

单元状态:预警/火警、屏蔽、双次报警

数据格式:(暂略)

3. 握手密钥信息

基本元素:

厂商标识:厂商ID号

设备标识:控制器系列编号、控制器类型、控制器硬件版本、控制器软件版本

用户标识:用户ID号

配置标识:配置日期、配置时间、配置密码、配置签名

数据格式:(暂略)

五、附件

1. 历史事件类型定义

--------------------------------------------------------------------------------------------------------------------------------

事件类型单元类型历史事件名称所属类别说明

--------------------------------------------------------------------------------------------------------------------------------

0x01 0x00 回路通信故障恢复故障1(撤销)无CRT图形

其它单元通信故障恢复故障2(撤销)

0x02 0x01~0x04 稳态值超限提示1

0x05~0x06 上电触点开路提示2

0x07~0x0D 供电24V故障提示3

其它保留(未知事件)

0x03 0x10 短路隔离故障3

其它总线欠压提示4

0x04 0x07~0x0C 线路1开路提示5

其它保留(未知事件)

0x05 0x0A 线路2开路提示6

其它保留(未知事件)

0x06 0x0D 感温电缆故障提示7

其它保留(未知事件)

0x07 0x07~0x0C 线路1短路提示8

其它保留(未知事件)

0x08 0x0A 线路2短路提示9

其它保留(未知事件)

0x09 任意EPPROM故障提示

0x0A 0x00 回路通信故障故障1 无CRT图形其它单元通信故障故障2

0x0B 0x01~0x07 报警灯亮火警

其它线路1启动联动

0x0C 0x0A 线路2启动联动

其它保留(未知事件)

0x0E 0x01~0x04 探测器调整失败故障

其它保留(未知事件)

0x12 0x01~0x04 稳态值超限恢复提示1(撤销)

0x05~0x06 上电触点开路恢复提示2(撤销)

0x07~0x0D 供电24V故障恢复提示3(撤销)

其它保留(未知事件)

0x13 0x10 短路隔离恢复故障3(撤销)

其它总线欠压恢复提示4(撤销)

0x14 0x07~0x0C 线路1开路恢复提示5(撤销)

其它保留(未知事件)

0x15 0x0A 线路2开路恢复提示6(撤销)

其它保留(未知事件)

0x16 0x0D 感温电缆故障恢复提示7(撤销)

其它保留(未知事件)

0x17 0x07~0x0C 线路1短路恢复提示8(撤销)

其它保留(未知事件)

0x18 0x0A 线路2短路恢复提示9(撤销)

其它保留(未知事件)

0x1B 0x01~0x07 保留(未知事件)

其它线路1停止联动

0x1C 0x0A 线路2停止联动

其它保留(未知事件)

0x20 任意动作失败故障

0x35 0x09~0x0A 线路1返回恢复联动1(撤销)

其它保留(未知事件)

0x36 0x0A 线路2返回恢复联动2(撤销)

其它保留(未知事件)

0x3A 0x0A 线路1和2返回恢复联动3(撤销)

其它保留(未知事件)

0x54 0x01~0x04 烟火警一级火警

其它保留(未知事件)

0x55 0x01~0x04 烟火警二级火警

0x05~0x08 火警信号输入火警

0x09~0x0A 线路1返回联动1

0x0B~0x0D 火警信号输入火警

其它保留(未知事件)

0xA4 0x01~0x04 温火警一级火警

其它保留(未知事件)

0xA5 0x01~0x04 温火警二级火警

0x0A 线路2返回联动2

其它保留(未知事件)

0xAA 0x03 烟温复合火警火警

0x04 CO三复合火警火警

0x0A 线路1和2返回联动3

其它保留(未知事件)

0xD1 任意主电停止故障无CRT图形

0xD2 任意备电停止故障无CRT图形

0xD3 任意备电欠压故障无CRT图形

0xD4 任意主电欠压故障无CRT图形

0xDE 任意控制器复位复位无CRT图形

0xDF 任意控制器上电重启复位无CRT图形

其它任意保留(未知事件)

---------------------------------------------------------------------------------------------------------------------------------

2. 单元类型定义

-------------------------------------------------------------------------------------------------------------------------------- 类型号类型名称说明

-------------------------------------------------------------------------------------------------------------------------------- 0x00 回路(回路、专线控制盘、总线控制器)无CRT图形

0x01 感烟探测器

0x02 感温探测器

0x03 烟温复合探测器

0x04 CO三复合探测器

0x05 手动火灾报警按钮

0x06 消火栓

0x07 单输入模块

0x08 单输出模块

0x09 单输入输出模块

0x0A 双输入输出模块

0x0B 开关量探测器

0x0C 红外可燃气体探测器

0x0D 感温电缆

0x0E~0x0F 保留(未知设备)

0x10 隔离模块

0x11~0x3F 保留(未知设备)

0x40 直接控制点

0x41 楼层显示器

0x42~0x7F 保留(未知设备)

0x80 报警控制器无CRT图形

0x81~0xFE 保留(未知设备)

0xFF 无效数据

--------------------------------------------------------------------------------------------------------------------------------- 3. 单字节汉字表(略)

自由格式协议_chn

自由协议 控制器与显示器相连接的一个简单的通信协议,控制器是主控端, 显示器是从属端,在控制器中,只需编写简单的通信读/写程序,而不用编写通信中断服务程序。 首先,控制器发送一个请求给显示器,显示器接受请求之后,给控制器回复一个响应。显示器和控制器交换数据为128(最大)字,为MW0~MW127,字的每个比特可以作为线圈使用,为MWx.i(x=0..127,i=0..15)。 请求的格式: 站号:显示器站号(0~255,0表示广播方式,显示器不需要回复) 命令:‘R’表示从显示器读取,‘W’表示向显示器写数据 地址:MW(0~127)的索引号 长度:需要读/写MW的个数(1~128) 数据:MW的值,如果命令是‘R’则没数据 校验:从站号到校验前的字节,所有字节相加,再取0x100的余数 (注意:如果校验是0x5A,则忽略,不作检查) 状态:通信的状态 :0 –正常 :1 –地址错误 :2 –长度错误 :3 –范围错误(地址+ 长度> 128 ) :4 –命令错误 当命令是‘W’或不正常时,则没有地址、长度和数据 数据的格式

协议: 首先,控制器发送一个请求给显示器。显示器收到请求后,检查校验,如果校验正确,且站号等于显示器本身站号,显示器就响应这个请求。否则,显示器将不作响应。 控制器需要检查显示器的响应是否超时,超时时间为50毫秒。如果超时,控制器应该重新发送请求。 显示器检查接收数据是否超时,超时时间为25毫秒。如果超时,显示器初始化通信,等待控制器的新的请求。 读(从显示器读数据) 数据:需要读的MW的值 写(向显示器写数据) 例子 a) 控制器从DP210读MW0,MW1 控制器发送:01H 52H 00H 02H 55H DP210回应:01H 00H 00H 02H 00H 00H 00H 0CH 0FH (MW0=0 MW1=12) b) 控制器写256 到MW0 控制器发送:01H 57H 00H 01H 01H 00H 5AH DP210回应:01H 00H 01H

常用的硬件接口及通信协议详解

一:串口 串口是串行接口的简称,分为同步传输(USRT)和异步传输(UART)。在同步通信中,发送端和接收端使用同一个时钟。在异步通信中,接受时钟和发送时钟是不同步的,即发送端和接收端都有自己独立的时钟和相同的速度约定。 1:RS232接口定义 2:异步串口的通信协议 作为UART的一种,工作原理是将传输数据的每个字符一位接一位地传输。图一给出了其工作模式: 图一 其中各位的意义如下: 起始位:先发出一个逻辑”0”的信号,表示传输字符的开始。

数据位:紧接着起始位之后。数据位的个数可以是4、5、6、7、8等,构成一个字符。通常采用ASCII码。从最低位开始传送,靠时钟定位。 奇偶校验位:资料位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验资料传送的正确性。 停止位:它是一个字符数据的结束标志。可以是1位、1.5位、2位的高电平。 空闲位:处于逻辑“1”状态,表示当前线路上没有资料传送。 波特率:是衡量资料传送速率的指针。表示每秒钟传送的二进制位数。例如资料传送速率为120字符/秒,而每一个字符为10位,则其传送的波特率为10×120=1200字符/秒=1200波特。 3:在嵌入式处理器中,通常都集成了串口,只需对相关寄存器进行设置,就可以使用啦。尽管不同的体系结构的处理器中,相关的寄存器可能不大一样,但是基于FIFO的uart框图还是差不多。

发送过程:把数据发送到fifo中,fifo把数据发送到移位寄存器,然后在时钟脉冲的作用下,往串口线上发送一位bit数据。 接受过程:接受移位寄存器接收到数据后,将数据放到fifo中,接受fifo事先设置好触发门限,当fifo中数据超过这个门限时,就触发一个中断,然后调用驱动中的中断服务函数,把数据写到flip_buf 中。 二:SPI SPI,是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备接口。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB 的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议。

单片机串口通信协议程序

#include #include #define R55 101 #define RAA 202 #define RLEN 203 #define RDATA 104 #define RCH 105 //#define unsigned char gRecState=R55; unsigned char gRecLen; unsigned char gRecCount; unsigned char RecBuf[30]; unsigned char gValue; void isr_UART(void) interrupt 4 using 1 { unsigned char ch; unsigned char i; unsigned char temp; if (RI==1) { ch=SBUF; switch(gRecState) { case R55: // wait 0x55 if (ch==0x55) gRecState=RAA; break;

case RAA: if (ch==0xaa) gRecState=RLEN; else if (ch==0x55) gRecState=RAA; else gRecState=R55; break; case RLEN: gRecLen=ch; gRecCount=0; gRecState=RDATA; break; case RDATA: RecBuf[gRecCount]=ch; gRecCount++; if (gRecCount>=gRecLen) { gRecState=RCH; } break; case RCH: temp=0; for(i=0;i

编码器RS485自由通讯协议

编码器RS485自由通讯协议 正常工作状态编码器按照编程设定参数:波特率为设定值,一般为9600、19200、38400等,数据位8位,停止位1位,无奇偶校验,无控制流。 编码器的主被动模式需对编码器进行设定。 编码器为主动模式时,即编码器主动向上位机发送数据。数据长度为13位16进制ASCII码,格式为:=±DATA↙,即: 1 2 3 4 5 6 7 8 9 10 11 12 13 = ± DATA ↙ 其中,“=”为前导字母,±为符号位。DATA为数据,ASCII格式,10位,由0~9构成,范围为-9,999,999,999~+9,999,999,999。最后是回车符(0D)。 编码器地址为被动模式时,即问答模式。上位机向编码器发送询问指令,指令为4位16进制ASCII 码,格式为:#AB↙(带地址返回主测量值询问指令为:&AB↙)。 AB为编码器地址,范围为0到99。 编码器对上位机回答的数据格式与主动模式发送的数据格式是一样的。 (带地址返回的数据格式在“=”与符号位之间有“AB>”,“>”为分隔符) 例:被动模式,地址设为1,波特率为19200,与上位机通讯时的数据为: 发送:23 30 31 0D 发送:26 30 31 0D 接收:3D 2B 30 30 30 30 30 30 30 30 31 32 0D 接收:3D 30 31 3E 2B 30 30 30 30 30 30 30 30 31 32 0D 即,发送#01↙接收=+0000000012↙。 即,发送&01↙接收=01>+0000000012↙。 编码器RS485信号及接线端子引脚分配 DB9针脚 定义 3 RS485(A+) 8 RS485(B-) 编程允许线(Poen)的使用 编程模式时,编码器棕色线与编程允许线(Poen)并在一起接正电源,兰色线接电源地线。此时,编码器的通讯速率固定为19200bps。 非编程模式,即正常工作时,建议将兰色线与编程允许线(Poen)并在一起接电源地线。 RS485通讯的注意事项: 1. 通讯速率与传输距离是一对矛盾。速率越高,传输距离越近、但也越稳定,反之亦然。 2. 在外部电磁干扰强时,外部置位线在对编码器置位需接高电平,但置位结束后建议强制接低电平,以防止编码器由于外部干扰而突然回零。 3. 在外部电磁干扰强时,RS485接线最好使用双屏蔽电缆。 4. 多个编码器接上位机时,由于编码器返回数据没有奇偶校验,故建议在上位机编程时在时间上对各个编码器返回的数据进行区分。 5. 当系统中有电动机时,编码器电源需与其他电源隔离。 6. 由于RS485电路是差分形式的,A+,B-都是带电压的,常时间接地或接高电平都会造成RS485电路损坏。 上海楚嘉自动化科技有限公司 技术服务部

IC卡通信协议详解(7816-3)

目录 第一章IC卡通信过程整体归纳 (1) 第二章IC卡的电气特性 (3) 1.IC卡的触点分配 (3) 2.IC卡的电气特性 (3) 2.1 VCC (3) 2.2 I/O (3) 2.3 CLK (3) 2.4 RST (3) 2.2 VPP (3) 第三章IC卡的操作过程 (4) 1、IC卡操作的一般过程 (4) 2、卡激活 (4) 3、冷复位 (4) 4、热复位 (5) 5、时钟停止 (6) 6、去激活 (6) 第四章复位应答 (8) 1、异步字符 (8) 1.1 字符结构 (8) 1.2 错误信号和字符副本 (8) 2、复位应答 (9) 2.1 复位应答的序列配置 (9) 2.2 复位应答的结构和内容 (11) 第五章协议和参数选择 (14) 1.PPS协议 (14) 2.PPS请求的结构和内容 (14) 3.成功的PPS交换 (14) 第六章异步半双工字符传输协议 (16) 1、命令的结构和处理 (16) 2、过程字节 (16) 3、NULL字节 (16) 4、确认字节 (16) 5、状态字节 (17) 第七章异步半双工块传输 (18) 1.数据块块帧结构 (18) 2.起始域 (18) 3.信息域 (18) 4.终止域 (19) 5.信息域尺寸 (19) 6.等待时间 (19) 7.数据链路层字符成分 (20) 8.数据链路层块成分 (20) 9.链接 (20)

第一章IC卡通信过程整体归纳 根据协议,IC卡的操作信息交互流程大概为(见图1): (1)接口设备能够控制IC卡各IO引脚使其激活。 (2)接口设备给卡发送复位信号使卡复位启动。 (3)卡要向接口设备发送复位应答信号,将通信中必要的相关信息告知接口设备。(4)接口设备对卡进行一次热复位,卡进行复位应答。 (5)接口设备发起一个PPS交互指令,选择要与卡通信的协议和相关参数。 (6)根据选择的协议(T=0或T=1)进行数据的通信。

通讯协议标准

编号: 密级:内部 页数:__________基于RS485接口的DGL通信协议(修改) 编写:____________________ 校对:____________________ 审核:____________________ 批准:____________________ 北京华美特科贸有限公司 二○○二年十二月六日

1.前言 在常见的数字式磁致伸缩液位计中,多采用RS485通信方式。但RS485标准仅对物理层接口进行了明确定义,并没有制定通信协议标准。因此,在RS485的基础上,派生出很多不同的协议,不同公司均可根据自身需要设计符合实际情况的通信协议。并且,RS485允许单总线多机通信,如果通信协议设计不好,就会造成相互干扰和总线闭锁等现象。如果在一条总线上挂接不同类型的产品,由于协议不一样,很容易造成误触发,造成总线阻塞,使得不同产品对总线的兼容性很差。 随着RS485的发展,Modicon公司提出的MODBUS协议逐步得到广泛认可,已在工业领域得到广泛应用。而MODBUS的协议规范比较烦琐,并且每字节数据仅用低4位(范围:0~15),在信息量相同时,对总线占用时间较长。 DGL协议是根据以上问题提出的一种通信协议。在制定该协议时已充分考虑以下几点要求: a.兼容于MODBUS 。也就是说,符合该协议的从机均可挂接到同一总线上。 b.要适应大数据量的通信。如:满足产品在线程序更新的需要(未来功能)。 c.数据传输需稳定可靠。对不确定因素应加入必要的冗错措施。 d.降低总线的占用率,保证数据传输的通畅。 2.协议描述 为了兼容其它协议,现做以下定义: 通信数据均用1字节的16进制数表示。从机的地址范围为:0x80~0xFD,即:MSB=1; 命令和数据的数值范围均应控制在0~0x7F之间。即:MSB=0,以区别地址和其它数据。 液位计的编码地址为:0x82~0x9F。其初始地址(出厂默认值)为:0x81。 罐旁表的编织地址为:0xA2~0xBF。其初始地址(出厂默认值)为:0xA1。 其它地址用于连接其它类型的设备,也可用于液位计、罐区表地址不够时的扩充。 液位计的命令范围为:0x01~0x2F,共47条,将分别用于参数设定、实时测量、诊断测试、在线编程等。 通信的基本参数为:4800波特率,1个起始位,1个结束位。字节校验为奇校验。 本协议的数据包是参照MODBUS RTU 通信格式编写,并对其进行了部分修改,以提高数据传输的速度。另外,还部分参照了HART协议。其具体格式如下: 表中,数据的最大字节数为16个。也就是说,整个数据包最长为20个字节。 “校验和”是其前面所有数据异或得到的数值,然后将该数值MSB位清零,使其满足0~7F 的要求。在验证接收数据包的“校验和”是否正确时,可将所有接收数据(包括“校验和”)进行异或操作,得到的数据应=0x80。这是因为,只有“地址”的MSB=1,所以异或结果的MSB也必然等于1。 本协议不支持MODBUS中所规定的广播模式。 3.时序安排 在上电后,液位计将先延迟10秒,等待电源稳定。然后,用5秒的时间进行自检和测试数据。

51串口通信协议(新型篇)

51串口通信协议(新型篇) C51编程:这是网友牛毅编的一个C51串口通讯程序! //PC读MCU指令结构:(中断方式,ASCII码表示) //帧:帧头标志|帧类型|器件地址|启始地址|长度n|效验和|帧尾标志 //值: 'n' 'y'| 'r' | 0x01 | x | x | x |0x13 0x10 //字节数: 2 | 1 | 1 | 1 | 1 | 1 | 2 //求和: ///////////////////////////////////////////////////////////////////// //公司名称:*** //模块名:protocol.c //创建者:牛毅 //修改者: //功能描述:中断方式:本程序为mcu的串口通讯提供(贞结构)函数接口,包括具体协议部分 //其他说明:只提供对A T89c51具体硬件的可靠访问接口 //版本:1.0 //信息:QQ 75011221 ///////////////////////////////////////////////////////////////////// #include #include //预定义 //帧 #define F_ST1 0x6e //帧头标志n #define F_ST2 0x79 //帧头标志y #define F_R 0x72 //帧类型读r #define F_W 0x77 //帧类型写w #define F_D 0x64 //帧类型数据帧d #define F_B 0x62 //帧类型写回应帧b #define F_C 0x63 //帧类型重发命令帧c #define F_Q 0x71 //帧类型放弃帧q #define F_ADDR 0x31 //器件地址0-9 #define F_END 0x7a //帧尾标志z #define F_SPACE 0x30 //空标志0 #define F_ERR1 0x31 //错误标志1,flagerr 1 #define F_ERR2 0x32 //错误标志2 2 //常数 #define S_MAXBUF 16 //接收/发送数据的最大缓存量 #define FIELD_MAXBUF 48 //最小场缓存,可以大于48字节,因为协议是以20字节为

永宏FBs-PLC的自由通讯协议及应用

引言 电子技术的日益发展,通讯接口给工业控制的自动化集中控制带来巨大的变化,系统的分布控制,网络的远程监控等都是通过通讯来实现监控。各个智能设备之间要进行正常通讯,首先要保证以下 3 个条件一致:通讯硬件界面相同;通讯参数设置一致;以及通讯协议一致。在串口的通讯中,界面都已经是标准化,参数设定亦可透过设定来保持一致。但在智能自动化设备中,由于品牌和产品都存在差异,对于同一种产品,不同的品牌就可能存在不同的通讯协议!所以,智能设备的通讯,设备的选择是关键!但针对同种协议的产品,就有可能缩小设备选型范围,势必会对系统的组成存在影响。如造成成本的提升,系统得不到优化等问题。 1. 系统硬件要求 1.1 永宏FBs-PLC 通讯功能 永宏FBs-PLC提供相当强大的通讯功能,SoC单晶片中集合 5 个高速通讯端口。主机自带一个通讯端口。多样的扩展方式,可以选择通讯模块或者通讯板实现通讯端口的扩展,单一主机可以最多扩展至 5 个通讯端口;数据传输可以选择ASCII 码或者速度快一倍的二进制码来传输;每个通讯端口通讯速率高达921.6Kbps ;支持RS-232,RS-485,USB 和Ethernet 等界面;通讯协议提供永宏标准通讯协议,工业界通用的ModBus 标准协议,以及自由口协议。这里我们就永宏PLC 的自由通讯协议做进一步探讨。 1.2 永宏PLC 自由通讯协议简介 所谓自由通讯协议,永宏PLC 作为主站,根据通讯的从站设备通讯格式来编写通讯传输数据格式,以保证通讯格式的一致性。在符合从站设备的数据格式时设备才能识别主站发送出来的命令要求,再根据命令来进行处理数据、做响应回复等工作。这样将大大提高PLC 控制对象的通讯接口兼容。 图 1.1 RS-485 单主多从通讯示意图 如图 1.1 所示,一个永宏PLC 可以跟多个智能从站进行通讯;智能从站可以同为一种设备不同品牌,或者不同设备不同品牌,例如其他品牌的PLC、变频器、智能仪表等,只要 符合RS-485 通讯要求即可组网。 2. 软件系统要求与设计

电话视频通信协议(协议模板)

A contract is generally a legal act of both parties and can only be established if the parties reach an agreement. Protect the legal rights of both parties after signing. (协议范本) 甲方:___________________ 乙方:___________________ 日期:___________________ 电话视频通信协议(协议模板)

电话视频通信协议(协议模板)说明:合同一般是双方的法律行为,只有双方当事人达成协议才能成立。签订合同后依法保护双方的合法权益,避免很多不必要的争议。可用作电子存档或实体印刷,使用时请详细阅读条款。 甲方:_________乙方:_________ 为了满足宽带网用户使用高科技视频通信的需要,促进中国互联网增值业务的发展,_________公司推出具有国际领先水平的可视电话视频通信业务。为维护甲、乙双方的合法权益,双方就甲方使用乙方提供的视频通信服务一事,根据国内现时的相关法律、行规规定达成如下协议,以供共同遵照执行: 1.为了保证乙方对甲方的服务质量,甲方必须向乙方提供包括姓名(单位用户则为单位全称)、出生年月、住址(包括邮政编码)、身份证号、工作单位、联系电话等在内的客户资料。若甲方提供的客户资料虚假或不详细,乙方保留向甲方要求进一步提供身份证复印件(单位用户则为法人营业执照副本复印件)的权利,必要时有权停止向甲方提供服务,并依法追究甲方的法律责任。乙方保证对甲方提供的身份资料只作提供本协议项下的服务之用,未经甲方授权不向任何第三方公开,但法律另有规定的除外。

各种通信协议

分层及通信协议 协议软件是计算机通信网中各部分之间所必须遵守的规则的集合,它定义了通信各部分交换信息时的顺序、格式和词汇。协议软件是计算机通信网软件中最重要的部分。网络的体系结构往往都是和协议对应的,而且,网络管理软件、交换与路由软件以及应用软件等都要通过协议软件才能发生作用。 一、通信协议 1、什么是通信协议 通信协议(简称协议Protoco l),是指相互通信的双方(或多方)对如何进行信息交换所一致同意的一整套规则。一个网络有一系列的协议,每一个协议都规定了一个特定任务的完成。协议的作用是完成计算机之间有序的信息交换。 通信网络是由处在不同位置上的各节点用通信链路连接而组成的一个群体。通信网必须在节点之间以及不同节点上的用户之间提供有效的通信,即提供有效的接入通路。在计算机通信网中,将这种接入通路称为连接(connection)。建立一次连接必需要遵守的一些规则,这些规则也就是通信网设计时所要考虑的主要问题。 (l)为了能在两个硬件设备之间建立起连接,应保证在源、宿点之间存在物理的传输媒介,在该通路的各条链路上要执行某种协议。 如果传输线路使用电话线,则要通过调制解调器将信号从数字转换成模拟的,并在接收端进行反变换。 如果用的是数字传输线路,则在数据处理设备和通信设备之间,必须有一个数字适配器,以便将数字信号的格式转换成两种设备各自所期望的形式。 为了在两个端设备之间互换数据,需要协调和同步,调制解调器和数字适配器必须执行它们自己的协议。 无论是模拟的还是数字的通信设备,调制解调器和数字适配器的状态必须由接到节点上的设备来控制,这里必定有一个物理的或电气的接口来执行这种功能,执行某种适当的协议来达到这一控制目的。 (2)在计算机通信网中,许多信息源都是突发性的(bursty),问题是要利用信息的这种突发性质来降低消耗在线路上的费用,由此开发了许多共享通信资源的技术。所谓共享,是指允许多个用户使用同一通信资源,这就产生了多用户的接入问题。多路接入

S7-200 CPU 通信口的自由口模式实现 Modbus 通信协议

在组态王里点击“com1”(根据你在前面已经定的com口而定),然后在右边的界面上显示你所建立的文件,然后对你编译的主画面点反键,然后在下拉菜单中点击“测试---”(你的文件名),再随便在选项里输入一个你编写的程序里的标志位,看能不能显示你的PLC内的当前值,如果可以显示,就应该是通信上了。 通过 S7-200 CPU 通信口的自由口模式实现 Modbus 通信协议,可以通过无线数据电台等慢速通信设备传输。这为组成 S7-200 之间的简单无线通信网络提供了便利。 详细情况请参考《S7-200系统手册》(2002 年 10 月或以后版本)的相应章节。Modbus 是公开通信协议,其最简单的串行通信部分仅规定了在串行线路的基本数据传输格式,在 OSI 七层协议模型中只到 1,2 层。 Modbus 具有两种串行传输模式,ASCII 和 RTU。它们定义了数据如何打包、解码的不同方式。支持 Modbus 协议的设备一般都支持 RTU 格式。 通信双方必须同时支持上述模式中的一种。 Modbus 是一种单主站的主/从通信模式。Modbus 网络上只能有一个主站存在,主站在 Modbus 网络上没有地址,从站的地址范围为 0 - 247,其中 0 为广播地址,从站的实际地址范围为 1 - 247。 Modbus 通信标准协议可以通过各种传输方式传播,如 RS232C、RS485、光纤、无线电等。在 S7-200 CPU 通信口上实现的是 RS485 半双工通信,使用的 是 S7-200 的自由口功能。 Modbus RTU 主站指令库(测试版) 西门子针对 S7-200 最新推出支持 Modbus RTU 主站的协议库(测试版),用户可以将这个库添加到 Micro/WIN 软件中,并通过调用库指令,方便地实 现 Modbus RTU 主站的功能。 注意: 1. Modbus RTU 主站指令库的功能是通过在用户程序中调用预先编好的程序功 能块实现的,该库只对 Port 0 口有效。该指令库将设置 Port 0 工作在自由口通信模式下。 2. Modbus RTU 主站指令库使用了一些用户中断功能,编其他程序时不能在用户程序中禁止中断。 使用 Modbus RTU 主站指令库,可以读写 Modbus RTU 从站的数字量、模拟 量 I/O 以及保持寄存器。 要使用 Modbus RTU 主站指令库,须遵循下列步骤: 取得 Modbus RTU 主站指令库文件,并添加到编程软件 STEP 7-Micro/WIN 中;按照要求编写用户程序调用 Modubs RTU 主站指令库。

思科X.25协议详解

C H A P T E R 17Chapter Goals ? Discuss the history and development of the X.25 protocol.? Describe the basic functions and components of X.25.?Describe the frame formats of X.25. X.25 Introduction X.25 is an International Telecommunication Union–Telecommunication Standardization Sector (ITU-T) protocol standard for WAN communications that defines how connections between user devices and network devices are established and maintained. X.25 is designed to operate effectively regardless of the type of systems connected to the network. It is typically used in the packet-switched networks (PSNs) of common carriers, such as the telephone companies. Subscribers are charged based on their use of the network. The development of the X.25 standard was initiated by the common carriers in the 1970s. At that time, there was a need for WAN protocols capable of providing connectivity across public data networks (PDNs). X.25 is now administered as an international standard by the ITU-T. X.25 Devices and Protocol Operation X.25 network devices fall into three general categories: data terminal equipment (DTE), data circuit-terminating equipment (DCE), and packet-switching exchange (PSE). Data terminal equipment devices are end systems that communicate across the X.25 network. They are usually terminals, personal computers, or network hosts, and are located on the premises of individual subscribers. DCE devices are communications devices, such as modems and packet switches, that provide the interface between DTE devices and a PSE, and are generally located in the carrier’s facilities. PSEs are switches that compose the bulk of the carrier’s network. They transfer data from one DTE device to another through the X.25 PSN. Figure 17-1 illustrates the relationships among the three types of X.25 network devices.

通信服务合同模板(标准版)

编号:GR-WR-19539 通信服务合同模板(标准 版) After negotiation and consultation, both parties jointly recognize and abide by their responsibilities and obligations, and elaborate the agreed commitment results within the specified time. 甲方:____________________ 乙方:____________________ 签订时间:____________________ 本文档下载后可任意修改

通信服务合同模板(标准版) 备注:本合同书适用于约定双方经过谈判、协商而共同承认、共同遵守的责任与义务,同时阐 述确定的时间内达成约定的承诺结果。文档可直接下载或修改,使用时请详细阅读内容。 通信服务协议 为保护乙方的通信权利,维护甲方合法的通信经营权,双方本着自愿、平等的原则,达成协议如下: 一、协议双方的权利与义务 (一)乙方的权利与义务 1.依法使用电信的自由和通信秘密受法律保护。 2.有权自主选择使用甲方依法开办的固定电话通信业务。 3.有对甲方执行的收费项目和资费标准的知晓权。 4.应当在约定的时限内(全月)缴纳电信费用。 5.登记办理固定电话业务须提供真实、无误的乙方资料,并对乙方资料的准确性、真实性,承担法律责任。 6.乙方名称、结算方式发生变更时,应在一周内办理变更确认手续,因未按时办理变更手续造成的损失由乙方自行承担。

7.使用的用户终端设备必须符合国家规定的标准并取得进网许可证。 8.使用电信网络传输的信息内容及其后果由乙方负责。 9.配合甲方实施的固定电话服务变更。 (二)甲方的权利和义务 1.按照规定的标准收取各项费用。 2.按照国家规定的服务标准向乙方提供固定电话服务。并在营业场所公布收费项目和资费标准,并为乙方缴费提供方便。 3.甲方免费向乙方提供火警(119)、匪警(110)、医疗急救(120)、交通事故 报警(122)等紧急电话的接入服务。 4.甲方免费向乙方提供长途话费详细清单查询,并为乙方保留话费信息半年。 5.根据国家关于电话交换设备技术规范书、国家计委和信息产业部对电信计费的有关规定,固定网本地电话不提供详细话单。 6.乙方对缴纳的电信费用有异议的,甲方有义务采取必

HLP SV Modbus标准通讯协议格式

HLP_SV Modbus RTU 标准通讯协议格式 通信资料格式 Address Function Data CRC check 8 bits 8 bits N×8bits 16bits 1)Address通讯地址:1-247 2)Function:命令码8-bit命令 01 读线圈状态 上位机发送数据格式: ADDRESS 01 ADDRH ADDRL NUMH NUML CRC 注: ADDR: 00000 --- FFFF(ADDR=线圈地址-1);NUM: 0010-----0040 (NUM为要读线圈状态值的二进制数位数) 正确时变频器返回数据格式: ADDRESS 01 BYTECOUNT DATA1 DATA2 DATA3 DATAN CRC 注: BYTECOUNT:读取的字数 错误时变频器返回数据格式: ADDRESS 0X81 Errornum CRC 注: Errornum为错误类型代码 如:要检测变频器的输出频率 应发送数据:01 01 00 30 00 10 3D C9(16进制) 变频器返回数据:01 01 02 00 20 B8 24(16进制) 发送数据:0030hex(线圈地址49) 返回的数据位为“0020”(16进制),高位与低位互换,为2000。即输出频率为 303(Max Ref)的50%。关于2000对应50%,具体见图1。

03读保持寄存器 上位机发送数据格式: ADDRESS 03 ADDRH ADDRL NUMH NUML CRC 注:ADDR: 0 --- 0XFFFF;NUM: 0010-----0040 (NUM为要读取数据的字数) ADDR=Parameter Numbe r×10-1 正确时变频器返回数据格式: ADDRESS 03 BYTECOUNT DATA1 DATA 2 DATA 3 DATAN CRC 注: BYTECOUNT:读取的字节数 错误时变频器返回数据格式: ADDRESS 0X83 Errornum CRC 如:要读变频器参数303的设定值 应发送数据:01 03 0B D5 00 02 95 BC (16进制) Parameter 303(3029)=0BD5HEX 变频器返回数据:“:”01 03 04 00 00 EA 60 B5 7B 返回的数据位为“00 00 EA 60”(16进制)转换为10进制数为60000, 表示303设置值为60.000 ※当参数值为双字时,NUM的值必须等于2。否则无法读取或读取错误。 05 写单个线圈状态 上位机发送数据格式: ADDRESS 05ADDRH ADDRL DATAH DA TAL CRC 注:ADDR: 0 ---- 0XFFFF(ADDR=线圈地址-1);DATA=0000HEX(OFF) OR FF00(ON) HEX 正确时变频器返回数据格式: ADDRESS 05 DATAH DATAL BYTECOUNT CRC 错误时变频器返回数据格式: ADDRESS 0X85 Errornum CRC 如:要使写参数为写入RAM和EEPROM 应发送数据:01 05 00 40 FF 00 CRC(16进制) 变频器返回数据:01 05 FF 00 00 01 CRC(16进制) 发送数据:0040hex(线圈地址65) 06 写单个保持寄存器值(只能写参数值为单个字的参数) 上位机发送数据格式: ADDRESS 06 ADDRH ADDRL DA TAH DATAL CRC 注:ADDR: ADDR=Parameter Numbe r×10-1 正确时变频器返回数据格式: ADDRESS 06 ADDRH ADDRL DA TAH DA TAL CRC 错误时变频器返回数据: ADDRESS 0X86 Errornum CRC 如:要对变频器参数101写入1 应发送数据:01 06 00 03 F1 00 01 19 BD(16进制) 变频器返回数据:01 06 03 F1 00 01 19 BD(16进制) PARAMETER 101(1009)=03F1 HEX

菱f系列plc编程口通信协议

三菱FX系列 PLC 编程口通信协议总览 三菱PLC-FX2N 三菱FX系列PLC编程口通信协议总览 该协议实际上适用于PLC编程端口以及 FX-232AW 模块的通信。 通讯格式: 命令命令码目标设备 DEVICE READ CMD "0" X,Y,M,S,T,C,D DEVICE WRITE CMD "1" X,Y,M,S,T,C,D FORCE ON CMD " 7" X,Y,M,S,T,C FORCE OFF CMD "8" X,Y,M,S,T,C 传输格式: RS232C 波特率: 9600bps 奇偶: even 校验: 累加方式(和校验) 字符: ASCII 16进制代码: ENQ 05H 请求 ACK 06H PLC正确响应 NAK 15H PLC错误响应 STX 02H 报文开始 ETX 03H 报文结束 帧格式: STX CMD DATA ...... DATA ETX SUM(upper) SUM(lower) 例子: STX ,CMD ,ADDRESS, BYTES, ETX, SUM 02H, 30H, 31H,30H,46H,36H, 30H,34H, 03H, 37H,34H

SUM=CMD+......+ETX; 30h+31h+30h+46h+36h+30h+34h+03h=74h; 累加和超过两位取低两位 1、DEVICE READ(读出软设备状态值) 计算机向PLC发送: 始命令首地址位数终和校验 STX CMD GROUP ADDRESS BYTES ETX SUM 例子:从D123开始读取4个字节数据 02h 30h 31h,30h,46h,36h 30h,34h 03h 37h,34h 地址算法:address=address*2+1000h 再转换成ASCII 31h,30h,46h,36h PLC返回 STX 1ST DATA 2ND DATA ..... LAST DATA ETX SUM 注:最多可以读取64个字节的数据 例子:从指定的存储器单元读到3584这个数据 02h 33h 35h 38h 34h 03h 44h,36h 2、DEVICE WRITE(向PLC软设备写入值) 始命令首地址位数数据终和校验 STX CMD GROUP ADDRESS BYTES 1ST DATA 2ND DATA ...... LAST DATA ETX SUM 例子:向D123开始的两个存储器中写入1234,ABCD 02h 31h 31h,30h,46h,36h 30h,34h 33h,34h,31h,32h,43h,44h,41h,42h 03h 34h,39h PLC返回 ACK (06H) 接受正确 NAK (15H) 接受错误 3、位设备强制置位/复位 FORCE ON置位 始命令地址终和校验 STX CMD ADDRESS ETX SUM 02h 37h address 03h sum FORCE OFF复位 始命令地址终和校验

RIP路由协议详解

RIP路由协议(Routing Information Protocols,路由信息协议)是使用最广泛的距离向量协议,它是由施乐(Xerox)在70年代开发的。当时,RIP是XNS (Xerox Network Service,施乐网络服务)协议簇的一部分。TCP/IP版本的RIP是施乐协议的改进版。RIP最大的特点是,无论实现原理还是配置方法,都非常简单。 度量方法RIP的度量是基于跳数(hops count)的,每经过一台路由器,路径的跳数加一。如此一来,跳数越多,路径就越长,RIP算法会优先选择跳数少的路径。RIP支持的最大跳数是15,跳数为16的网络被认为不可达。 路由更新RIP路由协议中路由的更新是通过定时广播实现的。缺省情况下,路由器每隔30秒向与它相连的网络广播自己的路由表,接到广播的路由器将收到的信息添加至自身的路由表中。每个路由器都如此广播,最终网络上所有的路由器都会得知全部的路由信息。正常情况下,每30秒路由器就可以收到一次路由信息确认,如果经过180秒,即6个更新周期,一个路由项都没有得到确认,路由器就认为它已失效了。如果经过240秒,即8个更新周期,路由项仍没有得到确认,它就被从路由表中删除。上面的30秒,180秒和240秒的延时都是由计时器控制的,它们分别是更新计时器(_updateTimer)、无效计时器(Invalid Timer)和刷新计时器(Flush Timer)。 路由循环距离向量类的算法容易产生路由循环,RIP路由协议是距离向量算法的一种,所以它也不例外。如果网络上有路由循环,信息就会循环传递,永远不能到达目的地。为了避免这个问题,RIP等距离向量算法实现了下面4个机制。 水平分割(split horizon)。水平分割保证路由器记住每一条路由信息的来源,并且不在收到这条信息的端口上再次发送它。这是保证不产生路由循环的最基本措施。 毒性逆转(poison reverse)。当一条路径信息变为无效之后,路由器并不立即将它从路由表中删除,而是用16,即不可达的度量值将它广播出去。这样虽然增加了路由表的大小,但对消除路由循环很有帮助,它可以立即清除相邻路由器之间的任何环路。 触发更新(trigger update)。当路由表发生变化时,更新报文立即广播给相邻的所有路由器,而不是等待30秒的更新周期。同样,当一个路由器刚启动RIP 路由协议时,它广播请求报文。收到此广播的相邻路由器立即应答一个更新报文,而不必等到下一个更新周期。这样,网络拓扑的变化会最快地在网络上传播开,减少了路由循环产生的可能性。 抑制计时(holddown timer)。一条路由信息无效之后,一段时间内这条路由都处于抑制状态,即在一定时间内不再接收关于同一目的地址的路由更新。如果,路由器从一个网段上得知一条路径失效,然后,立即在另一个网段上得知这个路由有效。这个有效的信息往往是不正确的,抑制计时避免了这个问题,而且,当一条链路频繁起停时,抑制计时减少了路由的浮动,增加了网络的稳定性。 即便采用了上面的4种方法,路由循环的问题也不能完全解决,只是得到了最大程度的减少。一旦路由循环真的出现,路由项的度量值就会出现计数到无穷大(_countto Infinity)的情况。这是因为路由信息被循环传递,每传过一个路由器,度量值就加1,一直加到16,路径就成为不可达的了。RIP路由协议选择16作为不可达的度量值是很巧妙的,它既足够的大,保证了多数网络能够正常运行,又足够小,使得计数到无穷大所花费的时间最短。 邻居有些网络是NBMA(Non-Broad_cast MultiAccess,非广播多路访问)

几种通信协议

RS-232-C RS-232-C是OSI基本参考模型物理层部分的规格,它决定了连接器形状等物理特性、以0和1表示的电气特性及表示信号意义的逻辑特性。 RS-232-C是EIA发表的,是RS-232-B的修改版。本来是为连接模拟通信线路中的调制解调器等DCE及电传打印机等DTE拉接口而标准化的。现在很多个人计算机也用RS-232-C作为输入输出接口,用RS-232-C作为接口的个人计算机也很普及。 RS-232-C的如下特点:采用直通方式,双向通信,基本频带,电流环方式,串行传输方式,DCE-DTE间使用的信号形态,交接方式,全双工通信。RS-232-C在ITU建议的V.24和V.28规定的25引脚连接器在功能上具有互换性。 RS-232-C所使用的连接器为25引脚插入式连接器,一般称为25引脚D-SUB。DTE端的电缆顶端接公插头,DCE端接母插座。 RS-232-C所用电缆的形状并不固定,但大多使用带屏蔽的24芯电缆。电缆的最大长度为15m。使用RS-232-C在200K位/秒以下的任何速率都能进行数据传输。 RS-449 RS-449是1977年由EIA发表的标准,它规定了DTE和DCE之间的机械特性和电气特性。RS-449是想取代RS-232-C而开发的标准,但是几乎所有的数据通信设备厂家仍然采用原来的标准,所以RS-232-C仍然是最受欢迎的接口而被广泛采用。 RS-449的连接器使用ISO规格的37引脚及9引脚的连接器,2次通道(返回字通道)电路以外的所有相互连接的电路都使用37引脚的连接器,而2次通道电路则采用9引脚连接器。 RS-449的电特性,对平衡电路来说由RS-422-A规定,大体与V.11具有相同规格,而RS-423-A大体与V.10具有相同规格。

相关主题
文本预览
相关文档 最新文档