文档库 最新最全的文档下载
当前位置:文档库 › 韦根协议以及示例程序

韦根协议以及示例程序

韦根协议以及示例程序 TYYGROUP system office room 【TYYUA16H-TYY-TYYYUA8Q8-

韦根协议——I D卡号读取2010-03-31 20:52

最近在做门禁系统,第一次听说韦根协议。我第一阶段要做的事情就是用韦根读卡器将ID卡的卡号读出来,当我拿到读卡器和ID卡的时候感觉无从下手。可当我把韦根协议都研究透之后想想也不过如此而已,下面简单的介绍一下韦根协议。

而标准26-bit 格式是一个开放式的格式,这就意味着任何人都可以购买某一特定格式的HID卡,并且这些特定格式的种类是公开可选的。26-Bit格式就是一个广泛使用的工业标准,并且对所有HID的用户开放。几乎所有的门禁控制系统都接受标准的26-Bit格式。

一、Wiegand(韦根)接口

Wiegand接口通常由3根线组成,它们是:数据0(Data0),数据1(Data1)和Data return。这3条线负责传输Wiegand信号。D0,D1在没有数据输出时都保持+5V 高电平。若输出为0,则D0拉低一段时间,若输出为1,则D1拉低一段时间。如

图:

二、标

准26位

Wiegand

通讯协

标准韦

根输出

是由26

位二进

制数组成,每一位的含义如下:

1 2 9 10 25 26X X X X X X X X X X X X X X X X X X X X X X X X X X 二进制

第1位为2—13位的偶校验位第2—9位对应与电子卡HID码的低8位第10-25位对应电子卡的PID号码第26位为14-25位的奇校验位这26位数据在读出器的韦根输出线D0,D1上输出。

三、HID和PID

HID号码即Hidden ID code 隐含码,PID号码即Public ID code 公开码。 PID很容易在读出器的输出结果中找到,但HID在读出器的输出结果中部分或者全部隐掉。HID是一个非常重要的号码,它不仅存在于卡中,也存在于读卡器中。如果卡中的HID与读卡器中的HID不同的话,那么这张卡就无法在这个读卡器上正常工作。

四、Wiegand接口硬件设计

可以将Wiegand接口的Data0和

Data1两个输出接到MCU的两个IO脚

上,采用查询的方式接收数据,但这

样接收并不可靠。比较好的方法是将

Data0和Data1接到MCU的两个中断

引脚上,采用中断的方式接收数据。

如图:

示例程序:

#include<>

#include<>

#include<>

#define DELAY_TIME 60 /*经实验,不要小于50!否则可能造成时序混乱*/

#define TRUE 1

#define FALSE 0

#define uchar unsigned char

#define uint unsigned int

sbit DATA1=P3^2; //韦根读卡器的DATA1接单片机的P3^2

sbit DATA0=P3^3; //韦根读卡器的DATA0接单片机的P3^3

bit Even; // 偶检验位

bit Odd; // 奇检验位

bit CheakEven=0;//偶检验

bit CheakOdd=1;//奇检验

uchar Cnt=0;//

uchar WG[26]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};//接收韦根数据26位

uchar WGstr[3]={0,0,0};//存韦根ID卡卡号的HID和PID码,其中HID码为8位即一字节,PID码16位两字节

uchar i;

uchar j=0;

void Init()

{

EA=0;

TMOD=0x20;

TL1=0xfd;

TH1=0xfd;//设置波特率为9600的定时器1为方式2以及初始值

PCON=0x00;

SCON=0xd8; //设置串口方式

IT0=1; //设置外部中断0为下降沿触发方式

IT1=1; //设置外部中断1为下降沿触发方式

EX0=1; //开外部中断0

EX1=1; //开外部中断1

TR1=1; //开定时器1

EA=1; //开所有中断

}

void Weigand(uchar *str) //把26位韦根数据转换为3字节数据存储

{

uchar k;

for(k=0;k<26;k++)

{

if(k<=0) //读偶检验位

{

if(str[k]==0)

Even=0;

else

Even=1;

}

if(k>=25) //读奇检验位

{

if(str[k]==0)

Odd=0;

else

Odd=1;

}

if(k<=8) //读HID码低8位

{

if(str[k]==0x00)

WGstr[0]|=0x00;

else

{

WGstr[0]|=0x01;

CheakEven=~ CheakEven; // 根据HID码低8位1的个数来确定偶检验位是1还是0

}

if(k<8)

WGstr[0]=WGstr[0]<<1;

}

if(k<=16) //读PID码高8位

{

if(str[k]==0x00)

WGstr[1]|=0x00;

else

{

WGstr[1]|=0x01;

CheakOdd=~CheakOdd; //// 根据PID码高8位1的个数来确定奇检验位是1还是0

}

if(k<16)

WGstr[1]=WGstr[1]<<1;

}

else //读PID码的低8位

{

if(str[k]==0x00)

WGstr[2]|=0x00;

else

{

WGstr[2]|=0x01;

CheakOdd=~CheakOdd; // 根据PID码低8位1的个数来确定奇检验位是1还是0

}

if(k<24)

WGstr[2]=WGstr[2]<<1;

}

}

}

void main()

{

//P1=0x55;

Init();//调用初始化函数

Cnt=0;

while(1)

{

if(Cnt>=26)

{

EA=0; //关中断以免外部中断的干扰

Weigand(WG);//将读到的26位韦根数据转换位3字节格式

EA=1;

for(j=0;j<3;j++) //用串口调试工具显示读到的卡号

{

SBUF=WGstr[j];

while(TI==0);

TI=0;

WGstr[j]=0;

}

Cnt=0;

}

}

}

void DATA0_Interrupt(void) interrupt 2 using 1 //外部中断1读DATA0数据即0

{

WG[Cnt]=0x00;

Cnt++;

}

void DATA1_Interrupt(void) interrupt 0 using 2 //外部中断0读DATA1数据即1

{

WG[Cnt]=0x01;

Cnt++;

}

韦根协议介绍与韦根码

韦根协议介绍 韦根协议读卡器系列 Wiegand协议是国际上统一的标准,是由摩托罗拉公司制定的一种通讯协议。它适用于涉及门禁控制系统的读卡器和卡片的许多特性。它有很多格式,标准的26-bit 应该是最常用的格式。此外,还有34-bit 、37-bit 等格式。而标准26-bit 格式是一个开放式的格式,这就意味着任何人都可以购买某一特定格式的HID卡,并且这些特定格式的种类是公开可选的。26-Bit格式就是一个广泛使用的工业标准,并且对所有HID的用户开放。几乎所有的门禁控制系统都接受标准的26-Bit格式。 目录 简介 韦根数据输出的基本概念 韦根26位输出格式 韦根26接收Wiegand(韦根)接口 标准26位Wiegand通讯协议 HID和PID Wiegand接口硬件设计 什么是韦根26 韦根码

简介 Wiegand协议是国际上统一的标准,有很多格式,标准的26-bit 应该是最常用的格式。此外,还有34-bit 、37-bit 等格式。格式的含义如下:当给出这一串数字028********,用户并不知道这串数字的含义,但如果说这是一个电话号码的时候,那么你可能就会说:哦,028是成都的区号,而88888888是电话号码。呵呵,不错,这正是四川航空的服务热线。但是安防行业并不愿意把这些格式公开,而安防公司也常常变化这些格式来保证产品的保密性。而标准26-bit 格式是一个开放式的格式,这就意味着任何人都可以购买某一特定格式的HID卡,并且这些特定格式的种类是公开可选的。26-Bit格式就是一个广泛使用的工业标准,并且对所有HID的用户开放。几乎所有的门禁控制系统都接受标准的26-Bit格式。Wiegand(韦根)协议是由摩托罗拉公司制定的一种通讯协议,它适用于涉及门禁控制系统的读卡器和卡片的许多特性;其协议并没有定义通讯的波特率、也没有定义数据长度韦根格式主要定义是数据传输方式:Data0和Data1两根数据线分别传输0和1.现在应用最多的是26bit,34bit,36bit,44bit等等。 韦根数据输出的基本概念 韦根数据输出由二根线组成,分别是DA TA0 和DA TA1 ;二根线分别为‘0’或‘1’输出。输出‘0’时:DATA0线上出现负脉冲;输出‘1’时:DATA1线上出现负脉冲;负脉冲宽度TP=100微秒;周期TW=1600微秒;具体时序如下:例如:数据‘01000’的时序如下:韦根26位输出格式 韦根26位输出格式: E XXXX XXXX XXXX XXXX XXXX XXXX O 前12BIT偶校验前12位后12位后12BIT奇校验以上数据从左至右顺序发送。高位在前。如果电卡的地区码位2个字符,即8位则可用那设置255个地区码((15x16)+15=255);电子卡的卡号位4个字符,即16位则可设置65536个卡号((15x16x16x16)+(15x16x16)+(15x16)+15= 65,535)。以电子卡为标准26位韦根格式为例,假设电子卡号码为:地区码:01 卡号:0001 韦根输出为: 1 0000 0001 0000 0000 0000 0001 0 前12BIT偶校验前12位后12位后12BIT奇校验地区码卡号 韦根26接收 韦根的接收对时间的实时性要求比较高,如果用查询的方法接收会出现丢帧的现象:假设查询到DATA0 为0时主程序正在指向其他任务,等主程序执行完该任务时DATA0已经变为1了,那么这样就导致了一个0 bit丢了,这样读出的卡号肯定奇偶校验通不过,所以表现出CPU接收不到ID模块发送的卡号了。唯一的办法是在外部中断里接收每个bit。(仅仅在中断里获得开始接收wiegand数据还不行,因为这是尽管给开始接收wiegand数据标志位置位了,但是主程序还在执行其他代码而没有到达查询开始接收wiegand数据标志位这条指令)。五.韦根接口定义:Wiegand接口界面由三条导线组成:DATA0:暂定,兰色,P2.5 (通常为绿色)。DATA1:暂定,白色,P2.6 (通常为白色)。GND:(通常为黑色),暂定信号地。当安装商拿到读卡器时,他们希望在读卡器和门禁控制面板的连接点(终端)上都能够看到这三个名称。目前所有的标准型读卡器都提供可选择的

modbus_通讯协议_实例

上海安标电子有限公司 ——PC39A接地电阻仪通信协议 通信协议: 波特率:9600数据位:8校验位:无停止位:1 上位机(计算机): 字节号 1 2 3 4 5 6 7 8 意义ID Command 数据地址V alue CRC 注:1 ID:1个字节,由单机来定(0~255) 2 Command:1个字节,读:3或4,写:6 3 数据地址:2个字节,寄存器地址,读从100开始,写从200开始 4 V alue:2个字节,读:个数(以整型为单位),写:命令/ 数据(以整型为单位) 5 CRC:计算出CRC 下位机(PC39A): 读数据,若正确 字节号 1 2 3 3+N (N=个数*2) 3+N+1 3+N+2 意义ID Command=3 / 4 数据个数数据CRC 注:1 ID:1个字节,由单机来定(0~255) 2 Command:1个字节,收到的上位机命令 3数据个数:1个字节,返回数据个数(以字节为单位) 4 V alue:N个字节,是返回上位机的数据 5 CRC:计算出CRC 写命令,若正确 返回收到的数据: 若错误 字节号 1 2 3 4 5 意义ID Command 数据CRC 注:1 ID:1个字节,由单机来定(0~255) 2 Command:1个字节,收到的上位机命令或上0x80, 如收到3,返回0x83 3数据:1个字节,错误的指令 错误指令 1:表示command不存在 2:表示数据地址超限 4 CRC:计算出CRC

例如读PC39A 电流数据: 机器地址为12,电流的数据地址100,数据为15.45(A) (一个整型数据) 主机: ID Command 数据地址 V alue CRC 16进制 0x0c 0x03 0x0064 0x0001 CRC_H CRC_L 10进制 12 3 100 1 CRC_H CRC_L 从机返回 如正确: ID Command 数据个数(以字节为单位) V alue CRC 16进制 0x0c 0x03 0x002 0x0609 CRC_H CRC_L 10进制 12 3 2 1545 CRC_H CRC_L 如错误: ID Command 数据 CRC 16进制 0x0c 0x83 0x02 CRC_H CRC_L 10进制 12 131 2 CRC_H CRC_L 例如发PC39A 启动命令: 机器地址为12,命令的地址200,数据为25000(25000表示启动) 主机: ID Command 数据地址 V alue CRC 16进制 0x0c 0x06 0x00c8 0x61a8 CRC_H CRC_L 10进制 12 6 200 25000 CRC_H CRC_L 从机返回 如正确: ID Command 数据地址 V alue CRC 16进制 0x0c 0x06 0x00c8 0x61a8 CRC_H CRC_L 10进制 12 6 200 25000 CRC_H CRC_L 如错误: ID Command 数据 CRC 16进制 0x0c 0x86 0x02 CRC_H CRC_L 10进制 12 134 2 CRC_H CRC_L 0011 10000110 错误码0x83 功能码0x06错误码0x86

韦根编码及协议应用

韦根26经典讲 第一章 韦根协议简介 Wiegand (韦根)协议是由摩托罗拉公司制定的一种通讯协议,它适用于涉及门禁控制系统的读卡器和卡片的许多特性,其协议并没有定义通讯的波特率、也没有定义数据长度韦根格式主要定义是数据传输方式:Data0和Data1两根数据线分别传输0和1,现在应用最多的是26bit ,34bit ,36bit ,44bit 等等,其中标准26-bit 格式是一个开放式的格式,任何人都可以购买某一特定格式的HID 卡,并且这些特定格式的种类是公开可选的,26-Bit 格式就是一个广泛使用的工业标准,并且对所有HID 的用户开放,现在几乎所有的门禁控制系统都接受26-Bit 格式的标准。 1.传感器原理介绍 韦根传感器是由一根双稳态磁敏感功能合金丝和缠绕其外的感应线圈组成的。其工作原理是:在交变磁场中,当平行于敏感丝的某极性(例如n 极)磁场达到触发磁感应强度时,敏感丝中的磁畴受到激励会发生运动,磁化方向瞬间转向同一方向,同时在敏感丝周围空间磁场也发生瞬间变化,由此在感应线圈中感生出一个电脉冲。此后若该磁场减弱,敏感丝磁化方向将保持稳定不变,感应线圈也无电脉冲输出,但当相反极性(s 极)磁场增强触发磁感应强度时,敏感丝磁化方向又瞬间发生翻转,并在感应线圈中感生出一个方向相反的电脉冲。如此反复,韦根传感器便将交变磁场的磁信号转换成交变电信号。 2.数据输出的基本概念 韦根协议又称韦根码,韦根码在数据的传输中只需两条数据线,一条为DA TA0,另一条为DATA1。协议规定,两条数据线在无数据时均为高电平,如果DA TA0为低电平代表数据0,DATA1为低电平代表数据1(低电平信号低于1V ,高电平信号大于4V ),数据信号波形如图1.1所示。图1.1中脉冲宽度在20μs 到200μs 之间,两个脉冲间的时间间隔在200μs 到20ms 之间。 3.韦根6位输出格式 标准韦根输出是由26位二进制数组成,每一位的含义如下: 图1.1 数据信号波形图 D A T A 数据 20~200s μ200s ~200ms μ

韦根协议简介

韦根协议简介 韦根门禁通讯协议 一、前言: Wiegand(韦根)协议是由摩托罗拉公司制定的一种通讯协议,它适用于涉及门禁控制系统的读卡器和卡 片的许多特性;其协议并没有定义通讯的波特率、也没有定义数据长度韦根格式主要定义是数据传输方 式:Data0和Data1两根数据线分别传输0和1.现在应用最多的是26bit,34 bit,36bit,44bit等等。 二、韦根数据输出的基本概念: 二、韦根数据输出由二根线组成,分别是DATA0 和 DATA1 ;二根线分别将‘0’ 或‘1’输出。 输出‘0’时:DATA0线上出现负脉冲; 输出‘1’时:DATA1线上出现负脉冲; 负脉冲宽度TP=100微妙;周期TW=1600微妙 具体时序如下: 例如:数据‘01000’的时序如下: 三、韦根26位输出格式:韦根26位输出格式: E XXXX XXXX XXXX XXXX XXXX XXXX O 前12BIT偶校验前12位后12位后12BIT奇校验 以上数据从左至右顺序发送。高位在前。 如果电卡的地区码位2个字符,即8位则可用那设置255个地区码((15x1 6)+15=255);电子卡的卡 号位4个字符,即16位则可设置65536个卡号 ((15x16x16x16)+(15x16x16)+(15x16)+15= 65,535)。 以电子卡为标准26位韦根格式为例,假设电子卡号码为: 地区码:01 卡号:0001 韦根输出为: 1 0000 0001 0000 0000 0000 0001 0 前12BIT偶校验前12位后12位后12BIT奇校验 地区码卡号 四、韦根26接收: 韦根的接收对时间的实时性要求比较高,如果用查询的方法接收会出现丢帧的现象:假设查询到DATA0 为0时主程序正在指向其他任务,等主程序执行完该任务时DATA0已经变为1了,那么这样就导致了一 个0 bit丢了,这样读出的卡号肯定奇偶校验通不过,所以表现出CPU接收不到ID模块发送的卡号了。 唯一的办法是在外部中断里接收每个bit。 (仅仅在中断里获得开始接收wiegand数据还不行,因为这是尽管给开始接

基于Modbus协议实现单片机与PLC之间的通讯

基于Modbus协议实现单片机与PLC之间的通讯 来源:PLC&FA 作者:蔡晓燕赵兴群万遂人董鹏云 关键词:可编程控制器 Modbus 通讯协议 1 引言 HMI(人机界面)以其体积小,高性能,强实时等特点,越来越多的应用于工业自动化系统和设备中。它有字母、汉字、图形和图片等不同的显示,界面简单友好。配有长寿命的薄膜按钮键盘,操作简单。它一般采用具有集成度高、速度快、高可靠且价格低等优点的单片机[1]作为其核心控制器,以实现实时快速处理。PLC和单片机结合不仅可以提PLC的数据处理能力,还可以给用户带来友好简洁的界面。本文以Modbus通讯协议为例,详细讨论了一个人机系统中,如何用C51实现单片机和PLC之间通讯的实例。 2 Modbus通讯协议[4] Modbus协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络和其它设备之间可以通信。 Modbus协议提供了主—从原则,即仅一设备(主设备)能初始化传输(查询)。其它设备(从设备)根据主设备查询提供的数据作出相应反应。主设备查询的格式:设备地址(或广播,此时不需要回应)、功能代码、所有要发送的数据、和一错误检测域。从设备回应消息包括确认地址、功能码、任何要返回的数据、和一错误检测域。如果在消息接收过程中发生一错误,或从设备不能执行其命令,从设备将建立一错误消息并把它作为回应发送出去。 控制器能设置为两种传输模式:ASCII和RTU,在同样的波特率下,RTU可比ASCII方式传送更多的数据,所以采用KTU模式。 (1) 典型的RTU消息帧 典型的RTU消息帧如表1所示。

RTU消息帧的地址域包含8bit。可能的从设备地址是0...127(十进制)。其中地址0是用作广播地址,以使所有的从设备都能认识。主设备通过将要联络的从设备的地址放入消息中的地址域来选通从设备。当从设备发送回应消息时,它把自己的地址放入回应的地址域中,以便主设备知道是哪一个设备作出回应。 RTU消息帧中的功能代码域包含了8bits,当消息从主设备发往从设备时,功能代码域将告之从设备需要执行哪些行为;当从设备回应时,它使用功能代码域来指示是正常回应(无误)还是有某种错误发生(称作异议回应,一般是将功能码的最高位由0改为1)。 从主设备发给从设备消息的数据域包含附加的信息:从设备必须用于进行执行由功能代 码所定义的行为。这包括了像不连续的寄存器地址,要处理项的数目,域中实际数据字节数。如果没有错误发生,从从设备返回的数据域包含请求的数据。如果有错误发生,此域包含一异议代码,主设备应用程序可以用来判断采取下一步行动。 当选用RTU模式作字符帧时,错误检测域包含一16Bits值(用两个8位的字符来实现)。错误检测域的内容是通过对消息内容进行循环冗长检测(CRC)方法得出的。CRC域附加在消息的最后,添加时先是低字节然后是高字节。 (2) 所有的Modbus功能码 Modbus的功能码定义如表2所示。

韦根6协议以及示例程序

韦根协议——I D卡号读取2010-03-31 20:52 最近在做门禁系统,第一次听说韦根协议。我第一阶段要做的事情就是用韦根读卡器将ID卡的卡号读出来,当我拿到读卡器和ID卡的时候感觉无从下手。可当我把韦根协议都研究透之后想想也不过如此而已,下面简单的介绍一下韦根协议。 而标准26-bit 格式是一个开放式的格式,这就意味着任何人都可以购买某一特定格式的HID卡,并且这些特定格式的种类是公开可选的。26-Bit格式就是一 个广泛使用的工业标准,并且对所有HID的用户开放。几乎所有的门禁控制系统都接受标准的26-Bit格式。 一、Wiegand(韦根)接口 Wiegand接口通常由3根线组成,它们是:数据0(Data0),数据1(Data1) 和 Data return。这3条线负责传输Wiegand信号。D0,D1在没有数据输出时 都保持+5V高电平。若输出为0,则D0拉低一段时间,若输出为1,则D1拉低 一段时间。如图: 二、标准26位Wiegand通讯协议 标准韦根输出是由26位二进制数组成,每一位的含义如下: 1 2?????????????????? 9 10??????????????????? ???????????????????? 25 26 X X X X X X X X X X X X X X X X X X X X X X X X X X??????? 二进制????????? 第1位为2—13位的偶校验位 第2—9位对应与电子卡HID码的低8位

第10-25位对应电子卡的PID号 码 第26位为14-25位的奇校验位 这26位数据在读出器的韦根输 出线D0,D1上输出。 三、HID和PID HID号码即Hidden ID code 隐含码,PID号码即Public ID code 公开码。 PID很容易在读出器的输出结果中找到,但HID在读出器的输出结果中部分或者全部隐掉。HID是一个非常重要的号码,它不仅存在于卡中,也存在于读卡器中。如果卡中的HID与读卡器中的HID不同的话,那么这张卡就无法在这个读卡器上正常工作。 四、Wiegand接口硬件设计 可以将Wiegand接口的Data0和Data1两个输出接到MCU的两个IO脚上,采用查询的方式接收数据,但这样接收并不可靠。比较好的方法是将Data0和Data1接到MCU的两个中断引脚上,采用中断的方式接收数据。如图: 示例程序: #include #include #include #define DELAY_TIME 60 /*经实验,不要小于50!否则可能造成时序混乱*/ #define TRUE 1 #define FALSE 0 #define uchar unsigned char #define uint unsigned int sbit DATA1=P3^2; //韦根读卡器的DATA1接单片机的P3^2 sbit DATA0=P3^3; //韦根读卡器的DATA0接单片机的P3^3 bit Even; // 偶检验位 bit Odd; // 奇检验位 bit CheakEven=0;//偶检验 bit CheakOdd=1;//奇检验 uchar Cnt=0;// uchar WG[26]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};//接收韦根数

无线IC卡(RFID)韦根26协议的资料

1530 Old Oakland Road, Suite 100 01846-002 Rev. E Pyramid Series reader's cable. Consult Table 1 and Figure 1 for wiring instructions. 1.The term “Wiegand?” is used throughout this document to indicate a standard data output format for the Pyramid Series Proximity Readers. This is not to be confused with Wiegand swipe readers and cards. Table 1: Wiring Connections Wire Color Function Silver Shield Green Data 0Blue Beeper Red Reader Power Black Reader Ground Brown Single LED Control Line (Red LED)Orange Second LED Control Line (Green LED)White Data 1

1530 Old Oakland Road, Suite 10001846-002 Rev. E R e f e r e n c e D o c u m P y r a m i d S e r i e s Figure 1: Wiring Connections 2.0Data Signals Figure 2 displays the timing pattern for data bits sent by the reader to the access control panel. This timing pattern falls within the Wiegand guidelines as proscribed by the SIA's Access Control Standard Protocol for the 26-Bit Wiegand Reader Interface (a Pulse Width time between 20 uS and 100 uS, and a Pulse Interval time between 200 uS and 20 mS).The Data 1 and Data 0 signals are held at a logic high level (above the V oh level) until the reader is ready to send a data stream. The reader places data as asynchronous low-going pulses (below the V ol level) on the Data 1 or Data 0 lines to transmit the data stream to the access control panel (the "saw-teeth" in Figure 2). The Data 1 and Data 0 pulses will not overlap or occur simultaneously. Table 2 provides the minimum and maximum allowable pulse width times (the duration of a pulse) and pulse interval times (the time between pulses) for Pyramid Series Readers. Figure 2: Data Bit Timing Pattern

韦根协议格式

[数据采集]标准韦根通讯格式 1. Census产品的标准RS232通讯协议 波特率(Baud Rate):9600; 数据位(Data bits):8位; 奇偶校验(Parity):无; 停止位(Stop bits):1位 读出器标准输出格式为:[五位十进制PID码][LF][CR] 其中五位十进制PID码对应电子卡的PID号码; LF,CR为回车,换行符。 例如:HID为00012,PID为01234的电子卡在读出器上的输出为:01234[LF][CR]。特别说明: 1)Census产品的输出格式是由读出器决定的,在上述标准输出格式中,并没有包含电子卡的HID号码,而只是显示了电子卡的PID。而实际上读出器不仅读到了电子卡的PID号码,也读到了电子卡的HID号码并做出了检查。只有确认电子卡的HID号码与读出器自身设定的HID相符时,读出器才会产生输出。 2)除非特别说明,所售Census产品的RS232通讯协议均为上述标准协议。3) RS232通讯协议包括输出格式可以根据客户需要进行配置,例如在输出中增加电子卡的HID码输出,详情请与慈溪信阳电子联系。 2. Census产品的标准26位韦根通讯协议 Census产品的标准韦根输出是由26位二进制数组成,每一位的含义如下: 1 2 9 10 25 26 X X X X X X X X X X X X X X X X X X X X X X X X X X 二进制 第1位为2—13位的偶校验位 第2—9位对应与电子卡HID码的低8位 第10-25位对应电子卡的PID号码 第26位为14-25位的奇校验位 例如:一只HID:16385,PID:00004的电子卡其26位韦根输出为: 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 检验位 HID =16385(二进制的低8位) PID = 4(二进 制)检验位 这26位数据在读出器的韦根输出线D0,D1上输出。 D0,D1在没有数据输出时都保持+5V高电平。若输出为0,则D0拉低一段时间,若输出为1,则D1拉低一段时间。如图:

(完整版)MODBUS通讯协议-RTU要点

Modbus 通讯协议 (RTU传输模式)本说明仅做内部参考,详细请参阅英文版本。

第一章Modbus协议简介 Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。 此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。 当在一Modbus网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用Modbus协议发出。在其它网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。 协议在一根通讯线上使用应答式连接(半双工),这意味着在一根单独的通讯线上信号沿着相反的两个方向传输。首先,主计算机的信号寻址到一台唯一的终端设备(从机),然后,在相反的方向上终端设备发出的应答信号传输给主机。协议只允许在主计算机和终端设备之间,而不允许独立的设备之间的数据交换,这就不会在使它们初始化时占据通讯线路,而仅限于响应到达本机的查询信号。 1.1 传输方式 传输方式是一个信息帧内一系列独立的数据结构以及用于传输数据的有限规则,以RTU 模式在Modbus总线上进行通讯时,信息中的每8位字节分成2个4位16进制的字符,每个信息必须连续传输下面定义了与Modebus 协议– RTU方式相兼容的传输方式。 代码系统 ?8位二进制,十六进制数0...9,A...F ?消息中的每个8位域都是一个两个十六进制字符组成 每个字节的位 ?1个起始位 ?8个数据位,最小的有效位先发送 ?1个奇偶校验位,无校验则无 ?1个停止位(有校验时),2个Bit(无校验时) 错误检测域 ?CRC(循环冗长检测)

韦根26协议以及示例程序

韦根协议——ID卡号读取 2010-03-31 20:52 最近在做门禁系统,第一次听说韦根协议。我第一阶段要做的事情就是用韦根读卡器将ID卡的卡号读出来,当我拿到读卡器和ID卡的时候感觉无从下手。可当我把韦根协议都研究透之后想想也不过如此而已,下面简单的介绍一下韦根协议。 韦根协议是国际上统一的标准,它也是一种数据传输协议。标准的26-bit 应该是最常用的格式。此外,还有34-bit 、37-bit 等格式。格式的含义如下:当给出这一串数字028********,用户并不知道这串数字的含义,但如果说这是一个电话号码的时候,那么你可能就会说:哦,028是成都的区号,而88888888是电话号码。呵呵,不错,这正是四川航空的服务热线。但是安防行业并不愿意把这些格式公开,而安防公司也常常变化这些格式来保证产品的保密性。 而标准26-bit 格式是一个开放式的格式,这就意味着任何人都可以购买某一特定格式的HID卡,并且这些特定格式的种类是公开可选的。26-Bit格式就是一个广泛使用的工业标准,并且对所有HID的用户开放。几乎所有的门禁控制系统都接受标准的26-Bit格式。 一、Wiegand(韦根)接口 Wiegand接口通常由3根线组成,它们是:数据0(Data0),数据1(Data1)和 Data return。这3条线负责传输Wiegand信号。D0,D1在没有数据输出时都保持+5V高电平。若输出为0,则D0拉低一段时间,若输出为1,则D1拉低 一段时间。如图: 二、标准26位Wiegand通讯协议 标准韦根输出是由26位二进制数组成,每一位的含义如下: 1 2 9 10 25

很好的威纶通MODBUSRTU通讯协议与变频器通讯案例

很好的威纶通 M O D B U S R T U通讯协议与变频器通讯案例 公司标准化编码 [QQX96QT-XQQB89Q8-NQQJ6Q8-MQM9N]

本文研究的是触摸屏通过MODBUS RTU通讯协议与变频器通讯实现变频器的控制。触摸屏采用威纶通TK6070IP,变频器用汇川MD380通用系列。通过触摸屏编程软件,编辑控制画面实现变频器的启动、停止、速度调节、多段速速度设置,通过宏指令实现工程值与实际值的转换。 一、MODBUS RTU 简介: 为了在自动化系统之间、自动化系统和所连接的分散的现场设备之间进行信息交换,如今串行现场总线被主要用作通讯系统。成千上万的应用已经强烈地证明了通过使用现场总线技术,可以节省多至40%的接线、调试及维护的费用。仅仅使用两根电线就可以传送现场设备的所有相关信息,比如输入和输出数据、参数、诊断数据。过去使用的现场总线往往是制造商的特定现场总线,并且同其它现场总线不兼容。如今使用的现场总线几乎是完全公开和标准化的。这就意味者用户可以以最合理的价格选择最好的产品,而不用依赖于每个独立的制造商。Modbus RTU是一种国际的、开放的现场总线标准。作为一种很容易实现的现场总线协议,在全世界范围内,Modbus得到了成功的应用。应用领域包括生产过程中的自动化、过程控制和楼宇自控。MODBUS RTU通讯协议的报文如图1。 图1 MODBUS RTU 通讯协议的报文功能码如下: 01H 读取线圈状态。从执行机构上读取线圈(单个位)的内容; 02H 读取离散量输入。从执行机构上读取离散量输入(多个位)的内容; 03H 读取保持寄存器。从执行机构上读取保持寄存器(16位字)的内容; 04H 读取输入寄存器。从执行机构上读取输入寄存器(16位字)的内容; 05H 强置单线圈。写数据到执行机构的线圈(单个位)为“通”(“1”)或“断”(“0”); 06H 预置单寄存器。写数据到执行机构的单个保持寄存器(16位字); 0FH 强置多线圈。写数据到执行机构的几个连续线圈(单个位)为“通”(“1”) 或“断”(“0”); 10H 预置多寄存器。写数据到执行机构的几个连续的保持寄存器(16位字)。 二、威纶通编程软件介绍: EB8000软件中MODBUS协议的设备类型为0x、1x、3x、4x、5x、6x,还有 3x_bit,4x_bit,6x_bit,0x_multi_coils等,下面分别说明这些设备类型在MODBUS协议中支持哪些功能码。 0x:是一个可读可写的设备类型,相当于操作PLC的输出点。该设备类型读取位状态的时候,发出的功能码是01H,写位状态的时候发出的功能码是05H。写多个寄存器时发出的功能码是0fH。

韦根协议以及示例程序

韦根协议以及示例程序 TYYGROUP system office room 【TYYUA16H-TYY-TYYYUA8Q8-

韦根协议——I D卡号读取2010-03-31 20:52 最近在做门禁系统,第一次听说韦根协议。我第一阶段要做的事情就是用韦根读卡器将ID卡的卡号读出来,当我拿到读卡器和ID卡的时候感觉无从下手。可当我把韦根协议都研究透之后想想也不过如此而已,下面简单的介绍一下韦根协议。 而标准26-bit 格式是一个开放式的格式,这就意味着任何人都可以购买某一特定格式的HID卡,并且这些特定格式的种类是公开可选的。26-Bit格式就是一个广泛使用的工业标准,并且对所有HID的用户开放。几乎所有的门禁控制系统都接受标准的26-Bit格式。 一、Wiegand(韦根)接口 Wiegand接口通常由3根线组成,它们是:数据0(Data0),数据1(Data1)和Data return。这3条线负责传输Wiegand信号。D0,D1在没有数据输出时都保持+5V 高电平。若输出为0,则D0拉低一段时间,若输出为1,则D1拉低一段时间。如 图: 二、标 准26位 Wiegand 通讯协 议 标准韦 根输出 是由26 位二进 制数组成,每一位的含义如下: 1 2 9 10 25 26X X X X X X X X X X X X X X X X X X X X X X X X X X 二进制 第1位为2—13位的偶校验位第2—9位对应与电子卡HID码的低8位第10-25位对应电子卡的PID号码第26位为14-25位的奇校验位这26位数据在读出器的韦根输出线D0,D1上输出。 三、HID和PID HID号码即Hidden ID code 隐含码,PID号码即Public ID code 公开码。 PID很容易在读出器的输出结果中找到,但HID在读出器的输出结果中部分或者全部隐掉。HID是一个非常重要的号码,它不仅存在于卡中,也存在于读卡器中。如果卡中的HID与读卡器中的HID不同的话,那么这张卡就无法在这个读卡器上正常工作。 四、Wiegand接口硬件设计

modbus协议下上位机编程实例

竭诚为您提供优质文档/双击可除modbus协议下上位机编程实例 篇一:modbus协议下的上位机地址 Rs485采取流量计数据,经串口com1的2号地址读到int ouch中来,双字40001、40002为浮点型瞬时流量,读到上位机项目为40001F双字40004、40005为长整型累计流量,读到上位机项目为40004l 驱动设置与intouch标记名的设置 驱动设置: 项目名设置 注:在不修改驱动设置的情况下,s=s1+s2*65535 s=s2+s1*65535 根据各个厂家的仪表,上面工式有区别,设计时各个测试一下。 篇二:modbus通讯协议实例 上海安标电子有限公司 ——pc39a接地电阻仪通信协议 通信协议:

波特率:9600数据位:8校验位:无停止位:1 上位机(计算机): 注:1id:1个字节,由单机来定(0~255) 2command:1个字节,读:3或4,写:6 3数据地址:2个字节,寄存器地址,读从100开始,写从200开始4Value:2个字节,读:个数(以整型为单位),写:命令/数据(以整型为单位)5cRc:计算出cRc下位机(pc39a ):注:1id:1个字节,由单机来定(0~255) 2command:1个字节,收到的上位机命令 3数据个数:1个字节,返回数据个数(以字节为单位)4Value:n个字节,是返回上位机的数据5cRc:计算出cRc 写命令,若正确返回收到的数据:若错误注:1id:1个字节,由单机来定(0~255) 2command:1个字节,收到的上位机命令或上0x80, 如收到3,返回0x83 3数据:1个字节,错误的指令错误指令 1:表示command不存在2:表示数据地址超限 4cRc:计算出cRc 例如读pc39a电流数据: 机器地址为12,电流的数据地址100,数据为15.45(a)(一个整型数据)

韦根协议

韦根协议 Wiegand协议是国际上统一的标准,是由摩托罗拉公司制定的一种通讯协议。它适用于涉及门禁控制系统的读卡器和卡片的许多特性。它有很多格式,标准的26-bit 应该是最常用的格式。此外,还有34-bit 、37-bit 等格式。而标准26-bit 格式是一个开放式的格式,这就意味着任何人都可以购买某一特定格式的HID卡,并且这些特定格式的种类是公开可选的。26-Bit格式就是一个广泛使用的工业标准,并且对所有HID的用户开放。几乎所有的门禁控制系统都接受标准的26-Bit格式。 简介 Wiegand协议是国际上统一的标准,有很多格式,标准的26-bit 应该是最常用的格式。此外,还有34-bit 、37-bit 等格式。但是安防行业并不愿意把这些格式公开,而安防公司也常常变化这些格式来保证产品的保密性。而标准26-bit 格式是一个开放式的格式,这就意味着任何人都可以购买某一特定格式的HID卡,并且这些特定格式的种类是公开可选的。26-Bit格式就是一个广泛使用的工业标准,并且对所有HID的用户开放。几乎所有的门禁控制系统都接受标准的26-Bit格式。 Wiegand(韦根)协议是由摩托罗拉公司制定的一种通讯协议,它适用于涉及门禁控制系统的读卡器和卡片的许多特性;其协议并没有定义通讯的波特率、也没有定义数据长度韦根格式主要定义是数据传输方式:Data0和Data1两根数据线分别传输0和1.现在应用最多的是26bit,34bit,36bit,44bit等等。 韦根数据输出的基本概念 韦根数据输出由二根线组成,分别是DATA0 和DATA1 ;二根线分别为‘0’或‘1’输出。

韦根协议

韦根协议 Wiega nd协议是国际上统一的标准,是由摩托罗拉公司制定的一种通讯协议。它适用于涉及门禁控制系统的读卡器和卡片的许多特性。它有很多格式,标准的26-bit应该是最常用 的格式。此外,还有34-bit、37-bit等格式。而标准26-bit格式是一个开放式的格式,这就意味着任何人都可以购买某一特定格式的HID卡,并且这些特定格式的种类是公开可选 的。26-Bit格式就是一个广泛使用的工业标准,并且对所有HID的用户开放。几乎所有的 门禁控制系统都接受标准的26-Bit格式。 简介 Wiegand协议是国际上统一的标准,有很多格式,标准的26-bit应该是最常用的格式。此外,还有34-bit、37-bit等格式。但是安防行业并不愿意把这些格式公开,而安防公司也常常变化这些格式来保证产品的保密性。而标准26-bit格式是一个开放式的格式,这就 意味着任何人都可以购买某一特定格式的HID卡,并且这些特定格式的种类是公开可选的。 26-Bit格式就是一个广泛使用的工业标准,并且对所有HID的用户开放。几乎所有的门禁 控制系统都接受标准的26-Bit格式。 Wiegand (韦根)协议是由摩托罗拉公司制定的一种通讯协议,它适用于涉及门禁控制系统的读卡器和卡片的许多特性;其协议并没有定义通讯的波特率、也没有定义数据长度韦根格式主要定义是数据传输方式:DataO和Datal两根数据线分别传输0和1.现在应用最多的是26bit,34bit,36bit,44bit 等等。 韦根数据输出的基本概念

ov ■45V ov 二进制号码 o 1 韦根26位输出格式 标准韦根输出是由 26位二进制数 组成,每一位的含义如下: 1 2 9 10 25 26 X X X X X X X X X X X X X X X X X X X X X X X X X X 二进制 第1位为2 —13位的偶校验位 第2 9位对应与电子卡 HID 码的低8位 第10-25位对应电子卡的 PID 号码 这26位数据在读出器的韦根输出线 DO , D1上输出。 韦根26位输出格式: E XXXX XXXX XXXX XXXX XXXX XXXX O 前12BIT 偶校验 前12位 后12位 后12BIT 奇校验 以上数据从左至右顺序发送。高位在前。 如果电卡的地区码位 2个字符,即8位则可用那设置 255个地区码((15x16)+15=255 ); 电子卡的卡 号位4个字符,即16位则可设置65536个卡号 ((15x16x16x16)+(15x16x16)+(15x16)+15= 65,535 )。 以电子卡为标准26位韦根格式为例,假设电子卡号码为: 地区码:01卡号:0001 韦根输出为: 1 0000 0001 0000 0000 0000 0001 0 前12BIT 偶校验 前12位 后12位 后12BIT 奇校验 ■45V 脉冲周期"ms 脉冲宽度1 00U£ Datal

Modbus通讯协议(TCP和RTU)

1MODBUS RTU 读寄存器请求序号意义所占字节字节存放格式 1从设备地址1个字节0x00?0xff 2功能码1个字节0x03 3起始寄存器基地址两个字节高字节在前 4寄存器个数两个字节高字节在前 5CRC校验码两个字节低字节在前 读寄存器回应序号意义所占字节字节存放格式1从设备地址1个字节0x00?0xff 2功能码1个字节0x03 3数据长度1个字节寄存器个数×2 4数据寄存器个数×2个字节每个寄存器高字节在前5CRC校验码两个字节低字节在前 写单个寄存器请求序号意义所占字节字节存放格式1从设备地址1个字节0x00?0xff 2功能码1个字节0x06 3起始寄存器地址两个字节高字节在前 4寄存器值两个字节 高字节在前 5CRC校验码 两个字节 低字节在前 写单个寄存器回应序号意义所占字节字节存放格式1从设备地址1个字节0x00?0xff 2功能码1个字节0x10 3起始寄存器地址两个字节高字节在前 4寄存器值两个字节 高字节在前 5CRC校验码 两个字节 低字节在前 1

写多个寄存器请求序号意义所占字节字节存放格式1从设备地址1个字节0x00?0xff 2功能码1个字节0x10 3起始寄存器地址两个字节高字节在前 4寄存器个数两个字节 高字节在前 5数据长度 1个字节 寄存器个数×2  6数据寄存器个数×2个字节每个寄存器高字节在前7CRC校验码 两个字节 低字节在前 写多个寄存器回应序号意义所占字节字节存放格式1从设备地址1个字节0x00?0xff 2功能码1个字节0x10 3起始寄存器地址两个字节高字节在前 4寄存器个数两个字节 高字节在前 5CRC校验码 两个字节 低字节在前 错误返回序号意义所占字节字节存放格式1从设备地址1个字节0x00?0xff 2功能码1个字节请求功能码+0x80 3错误码1个字节 其代号见下面表格4CRC校验码 两个字节 低字节在前 错误代号错误代号意义 0x01不支持该功能码 0x02越界 0x03寄存器数量超出范围 0x04读写错误 2

基于韦根协议的门禁系统安全性研究

基于韦根协议的门禁系统安全性研究 孟涛,张伟,王福虎 (中国船舶重工集团公司第七一八研究所,河北邯郸,056027) 摘要: 韦根协议是一种国际标准通信协议,几乎所有的门禁控制器都使用韦根协议与读卡器进行通信。本文首先介绍了韦根协议的通信原理,随后对基于韦根协议的门禁系统安全性进行了分析,指出韦根协议在抵御数据重放攻击方面存在重大安全隐患,最后针对这一问题给出了两种解决方案。 关键词: 韦根协议;门禁系统;数据重放攻击;加密认证 中图分类号:TP311 文献标识码:A A research of access control system security based on wiegand protocol Mengtao, Zhang wei, Wang fu hu ( HanDan, HeBei, 056027, China) Abstract: Wiegand protocol is an international standard protocol, access controller almost all use the Wiegand protocol to communicate with the reader. This paper firstly introduces the principle of communication of Wiegand protocol, then the access control system security Wiegand protocol was analyzed based on Wiegand protocol, pointed out the significant security risks in the fight against data replay attacks, and at last this paper gives two kinds of solution. Key words: wiegand protocol; access control system; data replay attacks; Encryption and authentication 1.简介 韦根协议是一种国际上标准的通信协议,在非接触式IC卡的数据传输中被广泛应用,几乎所有的门禁控制器都使用韦根协议与读卡器进行通信。 韦根协议又称韦根码,它有很多格式,标准的韦根26-bit是最常用的格式。此外,还有34-bit、37-bit等格式。而标准的26-bit 格式是一个开放式的格式,这就意味着任何支持韦根26-bit输入\输出的设备都可以互相连接进行通信。韦根26-bit格式就是一个广泛使用的工业标准,目前几乎所有的门禁控制器都接受标准的韦根26-bit格式,几乎所有的门禁读卡器、生物识别终端、门禁考勤机等都支持韦根26-bit格式输出。2.通信原理 标准的韦根26-bit接口使用7条不同颜色的线,实际涉及通信的数据线有3条,分别为:绿色线代表DA TA0,白色线代表DATA1,黑色代表地[1]。 协议规定,两条数据线在无数据时均为高电平,如果DA TA0为低电平代表数据0,DATA1为低电平代表数据1(低电平信号低于1V,高电平信号大于4V),数据信号波形如图1所示。图中脉冲宽度Tpw在20us 到100us之间,两个脉冲间的时间间隔Tpi 在200us到20ms之间。

相关文档