PLC对Wiegand34信号接收和处理方法研究
2014-06-30陈赤肖镭
陈赤 肖镭
摘 要: 为了通过三菱FX2NPLC准确地接收和处理以Wiegand34协议传送的信息,将Wiegand接口与PLC的输入X0,X1连接,通过输入中断I000,I100结合左移位指令接收Wiegand34信号,并在数据处理中根据所接收到的Wiegand34信息bit33的取值对数据进行修正,最终得到准确完整的数据信息。给出了PLC的程序流程图和相应的梯形图程序。经实际应用证明所介绍的方法准确可靠。
关键词: PLC; Wiegand34; 输入中断; 程序流程图
中图分类号: TN964?34 文献标识码: A 文章编号: 1004?373X(2014)12?0023?03
Abstract: In order to accurately receive and process information transmitted by Wiegand34 protocol through Mitsubishi FX2NPLC, the Wiegand interface is connected to PLC Input X1 and X2, and the Input interruption I000 and I100 is combined with left shift instruction to receive Wiegand34 signals. In the process of data processing, the data is corrected according to the wiegand34 bit33 value of the received information to obtain accurate and complete data information. The program flow chart of PLC and corresponding ladder diagram are given in this paper. The practical application proves that the method is accurate and reliable.
Keywords: PLC; Wiegand34; input interruption; program flow chart
0 引 言
Wiegand协议是由美国工业安全委员会SIA(Security Industry Association)的隶属组织访问控制标准子委员会制定的一个关于存取控制的标准协议。它是一个关于非接触式IC卡读写器接口和输出的协议。协议中定义了经常应用于控制访问、安全和其他相关工业领域中读卡器和控制器之间的接口。这个标准的规范使得读卡器的设计者和控制器的生产厂商们的工作得以标准化。该协议目前广泛应用于各类门禁系统中,现在市面上用于身份识别的各种读卡器、指纹识别器、人脸识别器大多均可以Wiegand26,Wiegand34协议输出识别信息。其中具有Wiegand34输出信号的身份识别器有效传输的数据为32位,特别适用大容量的信息自动采集和管理的各种管理系统。在这些系统中,有的需要以PLC为中心,进行信息采集,产生控制信号。例如新近开发的实验室智能管理系统,便是通过PLC接收由身份识别器以Wiegand34格式发送过来的被识别者的十位学号信息,再结合触摸屏与上位机,自动采集和存储相关的实验教学信息,产生各实验组电源的通断控制信号[1]。对该类系统而言PLC如何快速准确地接收和处理以Wiegand34协议传送过来的学号信息是一个关键的技术难点。
1 Wiegand接口及其与PLC的连接
Wiegand34格式为:E XXXX XXXX XXXX XXXX YYYY YYYY YYYY YYYY O,其中E为其后面16个比特XXXX XXXX XXXX XXXX的偶校验,XXXX XXXX XXXX XXXX YYYY YYYY YYYY YYYY为要传输的32位数据,O为其前面16个比特YYYY YYYY YYYY YYYY的奇校验。Wiegand34每次传输的有效数据为32位,4个字节。Wiegand接口通常由3根线组成,它们是:数据0(Data0),数据1(Data1)和信号地 (GND)。这3条线负责传输Wiegand信号。Wiegand信号数据传输使用TTL电平,D0,D1在没有数据输出时都保持+5 V高电平。若输出为0,则D0拉低一段时间,若输出为1,则D1拉低一段时间。每一位数据的持续时间为50~100 μs,数据间隔1~2 ms,Wiegand信号数据波形图如图1所示[2]。
PLC执行用户程序通常采用循环扫描串行执行的工作方式,这种工作方式要求输入信号要大于一个扫描周期。而韦根信号的接收对时间的实时性要求比较高,如果用串行执行的工作方式接收会出现丢帧的现象:假设 DATA0为 0 时主程序正在指向其他任务,等主程序执行完该任务时 DATA0 已经变为 1 ,那么这样就导致了一个 0 b丢了,这样接收到的数据不但奇偶校验通不过,且数据必然产生错误,所以表现出PLC 接收不到正确的数据。惟一的办法是采用PLC的另一种工作方式——中断[3]。以三菱FX2N系列PLC为例,外部输入中断对应的外部中断信号输入端子的有X0~X5,其中与X0,X1对应的下降沿中断I00,I10对于输入中断的响应时间可达20 μs,可通过输入中断I000,I100结合左移位指令接收Wiegand34信号每个 bit(仅仅在中断里获得开始接收Wiegand数据标志位还不行,因为这时尽管给开始接收 Wiegand 数据标志位置位了,但是主程序还在执行其他代码而没有到达查询开始接收Wiegand 数据标志位这条指令)。通过X0,X1的下降沿中断接收Wiegand34信号时,Wiegand接口与三菱FX2N系列PLC间的连接如图2所示。
2 PLC程序流程图
除去前后的奇偶校验位,Wiegand34有效传输数据为32位(bit2~bit33),对应的十进制数据范围为0~4 294 967 295。而在三菱FX2NPLC中在进行32位数据处理时最高位是正负符号位,对应的数据范围为-2 147 483 648~+2 147 483 648。因此为保证系统的信息容量,在对Wiegand34有效传输的32位数据进行接收处理时,当bit33为1时必需对所处理的数据进行相应的修正。Wiegand34信号接收和处理的PLC程序流程图如图3所示,接收处理完后的数据最终锁存在D10~D12中供系统调用[4?10]。
3 PLC梯形图程序
Wiegand34信号接收和处理的 PLC梯形图程序如图4所示[4?10]。
4 结 语
通过对PLC接收处理Wiegand34 信号方法的研究,解决了PLC通过外部中断方式准确可靠地接收处理Wiegand34 信号的问题。同时考虑到三菱FX2N系列PLC双字32位的数据处理范围为-2 147 483 648~+2 147 483 648,而Wiegand34的数据传送范围为0~4 294 967 295,在PLC对所接收到的信息进行处理时根据接收到的Wiegand34信号bit33为0或1的情况进行相应的修正,使系统的数据接收处理范围与Wiegand34相匹配,保证了系统的信息容量。目前该接收处理方面已成功地应用在新近开发成功的实验室管理系统中。实际应用证明该接收处理方法安全可靠,准确率达100%。
参考文献
[1] 广西师范大学.实验室的管理系统:中国,ZL201320566228.8[P].2014?02?12.
[2] 柴卉,万振凯.韦根协议在门禁系统中的应用[J].仪器仪表用户,2007(5):111?112.
[3] 许德恒.基于单片机的多路韦根信号的采集与处理[J].计算机测量与控制,2004,12(4):375?376.
[4] 廖常初.FX系列PLC编程及应用[M].北京:机械工业出版社,2006.
[5] 宋伯生.PLC编程实用指南[M].北京:机械工业出版社,2006.
[6] 王阿根.电气可编程控制原理与应用[M].北京:清华大学出版社,2010.
[7] 求是科技.PLC应用开发技术与工程实践[M].北京:人民邮电出版社,2004.
[8] 刘守操.可编程控制器技术与应用[M].北京:机械工业出版社,2006.
[9] 郑风翼,郑丹丹,赵春江.PLC控制系统梯形图和语句表[M].北京:人民邮电出版社,2006.
[10] 贾德胜.PLC应用开发实用子程序[M].北京:人民邮电出版社,2006.
2 PLC程序流程图
除去前后的奇偶校验位,Wiegand34有效传输数据为32位(bit2~bit33),对应的十进制数据范围为0~4 294 967 295。而在三菱FX2NPLC中在进行32位数据处理时最高位是正负符号位,对应的数据范围为-2 147 483 648~+2 147 483 648。因此为保证系统的信息容量,在对Wiegand34有效传输的32位数据进行接收处理时,当bit33为1时必需对所处理的数据进行相应的修正。Wiegand34信号接收和处理的PLC程序流程图如图3所示,接收处理完后的数据最终锁存在D10~D12中供系统调用[4?10]。
3 PLC梯形图程序
Wiegand34信号接收和处理的 PLC梯形图程序如图4所示[4?10]。
4 结 语
通过对PLC接收处理Wiegand34 信号方法的研究,解决了PLC通过外部中断方式准确可靠地接收处理Wiegand34 信号的问题。同时考虑到三菱FX2N系列PLC双字32位的数据处理范围为-2 147 483 648~+2 147 483 648,而Wiegand34的数据传送范围为0~4 294 967 295,在PLC对所接收到的信息进行处理时根据接收到的Wiegand34信号bit33为0或1的情况进行相应的修正,使系统的数据接收处理范围与Wiegand34相匹配,保证了系统的信息容量。目前该接收处理方面已成功地应用在新近开发成功的实验室管理系统中。实际应用证明该接收处理方法安全可靠,准确率达100%。
参考文献
[1] 广西师范大学.实验室的管理系统:中国,ZL201320566228.8[P].2014?02?12.
[2] 柴卉,万振凯.韦根协议在门禁系统中的应用[J].仪器仪表用户,2007(5):111?112.
[3] 许德恒.基于单片机的多路韦根信号的采集与处理[J].计算机测量与控制,2004,12(4):375?376.
[4] 廖常初.FX系列PLC编程及应用[M].北京:机械工业出版社,2006.
[5] 宋伯生.PLC编程实用指南[M].北京:机械工业出版社,2006.
[6] 王阿根.电气可编程控制原理与应用[M].北京:清华大学出版社,2010.
[7] 求是科技.PLC应用开发技术与工程实践[M].北京:人民邮电出版社,2004.
[8] 刘守操.可编程控制器技术与应用[M].北京:机械工业出版社,2006.
[9] 郑风翼,郑丹丹,赵春江.PLC控制系统梯形图和语句表[M].北京:人民邮电出版社,2006.
[10] 贾德胜.PLC应用开发实用子程序[M].北京:人民邮电出版社,2006.
2 PLC程序流程图
除去前后的奇偶校验位,Wiegand34有效传输数据为32位(bit2~bit33),对应的十进制数据范围为0~4 294 967 295。而在三菱FX2NPLC中在进行32位数据处理时最高位是正负符号位,对应的数据范围为-2 147 483 648~+2 147 483 648。因此为保证系统的信息容量,在对Wiegand34有效传输的32位数据进行接收处理时,当bit33为1时必需对所处理的数据进行相应的修正。Wiegand34信号接收和处理的PLC程序流程图如图3所示,接收处理完后的数据最终锁存在D10~D12中供系统调用[4?10]。
3 PLC梯形图程序
Wiegand34信号接收和处理的 PLC梯形图程序如图4所示[4?10]。
4 结 语
通过对PLC接收处理Wiegand34 信号方法的研究,解决了PLC通过外部中断方式准确可靠地接收处理Wiegand34 信号的问题。同时考虑到三菱FX2N系列PLC双字32位的数据处理范围为-2 147 483 648~+2 147 483 648,而Wiegand34的数据传送范围为0~4 294 967 295,在PLC对所接收到的信息进行处理时根据接收到的Wiegand34信号bit33为0或1的情况进行相应的修正,使系统的数据接收处理范围与Wiegand34相匹配,保证了系统的信息容量。目前该接收处理方面已成功地应用在新近开发成功的实验室管理系统中。实际应用证明该接收处理方法安全可靠,准确率达100%。
参考文献
[1] 广西师范大学.实验室的管理系统:中国,ZL201320566228.8[P].2014?02?12.
[2] 柴卉,万振凯.韦根协议在门禁系统中的应用[J].仪器仪表用户,2007(5):111?112.
[3] 许德恒.基于单片机的多路韦根信号的采集与处理[J].计算机测量与控制,2004,12(4):375?376.
[4] 廖常初.FX系列PLC编程及应用[M].北京:机械工业出版社,2006.
[5] 宋伯生.PLC编程实用指南[M].北京:机械工业出版社,2006.
[6] 王阿根.电气可编程控制原理与应用[M].北京:清华大学出版社,2010.
[7] 求是科技.PLC应用开发技术与工程实践[M].北京:人民邮电出版社,2004.
[8] 刘守操.可编程控制器技术与应用[M].北京:机械工业出版社,2006.
[9] 郑风翼,郑丹丹,赵春江.PLC控制系统梯形图和语句表[M].北京:人民邮电出版社,2006.
[10] 贾德胜.PLC应用开发实用子程序[M].北京:人民邮电出版社,2006.