PC機(jī)與PLC在一卡通系統(tǒng)中的應(yīng)用
文章出處:http:// 作者: 人氣: 發(fā)表時(shí)間:2011年09月12日
摘要:本文對(duì)DVP 系列PLC 及射頻IC 卡通用讀卡模塊的通信協(xié)議進(jìn)行了詳細(xì)的介紹,并以VB 為開發(fā)工具,實(shí)現(xiàn)了PC 機(jī)對(duì)讀卡器的采樣判斷,再由PC 實(shí)現(xiàn)與PLC 的通訊和控制。
關(guān)鍵詞:PLC ,一卡通系統(tǒng), 串行通信, 讀卡器, VB6.0
1、前言
一卡通系統(tǒng)在樓宇智能化方面已經(jīng)得到了廣泛的應(yīng)用,對(duì)于安防、進(jìn)出控制、身份識(shí)別等方面的技術(shù)日見成熟。通過PC 機(jī)實(shí)現(xiàn)對(duì)讀卡器的采樣及判斷,在由PC 機(jī)發(fā)出控制指令給PLC,實(shí)現(xiàn)考勤管理及智能門禁控制,以動(dòng)態(tài)數(shù)據(jù)畫面、報(bào)表形式、文件共享等技術(shù)實(shí)現(xiàn)對(duì)辦公及住宅的安全實(shí)時(shí)管理。本文詳細(xì)介紹了125KHZ 射頻卡讀卡器及DVP 系列PLC的通訊協(xié)議,并在WINDOW 環(huán)境下使用VB 開發(fā)通訊,采樣,記錄及控制程序,實(shí)現(xiàn)PC 與讀卡器、PLC 之間通信.
2、PC 與125KHZ 射頻卡讀卡器的數(shù)據(jù)采樣
射頻IC 卡識(shí)別技術(shù),通常由載有密碼的射頻IC 卡來代替鍵盤密碼,不可復(fù)制.讀卡模塊讀出密碼后,即產(chǎn)生輸出信號(hào),將卡號(hào)送入PC 進(jìn)行數(shù)據(jù)庫(kù)管理.
(1) 讀卡器通訊協(xié)議傳輸速率為9600bps,無奇偶校驗(yàn),數(shù)據(jù)位為8 位,1 個(gè)停止位.
(2) R232 數(shù)據(jù)格式
(3) 通信口初始化
Mscomm1.setting=”9600,N,8,1”
Mscomm1.comport=1
Mscomm1.input=0
Mscomm1.inputmode=cominputmodebinary
Mscomm1.rthreshold=11
Mscomm1.portopen=True
(4) 設(shè)置串口響應(yīng)
Select Case Mscomm1.commevent
Case ComEvReceive
Dim buffer as Variant
Dim string(11) as string
Buffer=Mscomm1.inpu
Dim I as Interger
Dim Cardnumber as long
Cardnumber=CDec(buffer(7)*2^16+ buffer(8)*2^8+ buffer(9))
For I=0 to 10
StringBuf(I)=DecToHex(CDec(buffer(I)))
Next
Text1.Text = "數(shù)據(jù):" & StringBuf(0) & StringBuf(1) & StringBuf(2) & StringBuf(3) _
& StringBuf(4) & StringBuf(5) & StringBuf(6) & StringBuf(7) & StringBuf(8) &
StringBuf(9) & StringBuf(10) & " 卡號(hào):" & Str(CardNumber)
CardCode = Mid$(Text1.Text, 42)
End select
Function DecToHex(DecNumber As Integer) As String
If DecNumber <= 15 Then
DecToHex = " 0" & Hex(DecNumber)
Else: DecToHex = "" & Hex(DecNumber)
End If
End Function
進(jìn)一步轉(zhuǎn)換成卡號(hào),利用ODBC打開存有關(guān)于卡號(hào)內(nèi)容的本地?cái)?shù)據(jù)庫(kù),對(duì)卡號(hào)進(jìn)行判斷并記錄下合法卡號(hào),當(dāng)前時(shí)間及其他信息生成報(bào)表進(jìn)行考勤管理和門禁控制.
3、PC 與DVP 系列PLC 的串行通訊
通過PC 的COM2 與DVP 系列PLC 的 RS-232C 端口連接,來實(shí)現(xiàn)控制
(1) DVP 系列PLC 的通信協(xié)議為ASCII 模式,9600 傳輸速度,偶同位,1 個(gè)起始位,1 個(gè)停止位.
(2)通訊資料格式
(3)接收命令
DVP 系列PLC 有讀命令,復(fù)位命令和強(qiáng)制命令,表中X-輸入繼電器,Y-輸出繼電器,M-輔助繼電器,S-狀態(tài)元件,T-定時(shí)器,C-計(jì)數(shù)器,D-數(shù)據(jù)寄存器.另外用于強(qiáng)制命令時(shí),0XFF000 為線圈導(dǎo)通0X0000 為斷開
(4)PLC 裝置地址
(5)PLC 基本梯型圖
M1 由PC 發(fā)出通斷命令,當(dāng)X1 閉合時(shí),M1 閉合則電磁門鎖閉合,M1 斷開則電磁門鎖打開.當(dāng)X1 斷開時(shí)PC 只執(zhí)行考勤而對(duì)門禁不起作用.
(6)通信初始化及控制
Mscomm2.setting=”9600,E,7,1”
Mscomm2.comport=2
Mscomm2.inputmode=cominputmodetext
Mscomm2.portopen=True
Private sub sendon()
Mscomm2.output=”:01050801FF00F2”+chr$(13)+chr$(10)
End sub
Private sub sendoff()
Mscomm2.output=”:010508010000F1”+chr$(13)+chr$(10)
End sub
4、結(jié)束語
該系統(tǒng)已經(jīng)成功的運(yùn)用于考勤和門禁管理,程序設(shè)計(jì)簡(jiǎn)明,且實(shí)現(xiàn)成本較低,可以通過互聯(lián)網(wǎng)絡(luò)進(jìn)行遠(yuǎn)程管理和控制,對(duì)其他型號(hào)的PLC 和讀卡器也有借鑒之處,在辦公管理自動(dòng)化中非常有效。
作者簡(jiǎn)介:楊文虎,男,1974 年出生,現(xiàn)為濟(jì)南鐵道職業(yè)技術(shù)學(xué)院講師 山東大學(xué)控制科學(xué)與工程在職研究生, 主要進(jìn)行基于CAN 總線的遠(yuǎn)程監(jiān)控系統(tǒng)的研究與應(yīng)用