好爽又高潮了毛片免费下载,国产97在线 | 亚洲,亚洲一区二区三区AV无码,特级AAAAAAAAA毛片免费视频

您好, 歡迎來到智慧城市網

| 注冊| 產品展廳| 收藏該商鋪
technology

首頁   >>   技術文章   >>   門禁系統中通信平臺的應用

深圳市中燁通道科技有限公...

立即詢價

您提交后,專屬客服將第一時間為您服務

門禁系統中通信平臺的應用

閱讀:2502      發布時間:2015-9-22
分享:
  門禁系統,主要應用于出入口通道的控制和管理。門禁系統常規的通信結構都是通過RS422/485與計算機通信。但隨著網絡的發展,綜合布線早已被廣泛應用,采用TCP/IP通信協議,通過構建綜合布線網絡,實現跨樓層、跨建筑、跨城市的遠程聯網及數據傳輸,免去了在同一建筑內樓層間,或建筑群之間的總線敷線施工,現在這已成為大家追求的目標。
  
  門禁控制器實現網絡控制的方式大約有以下幾種:
  
  控制器直接支持TCP/IP功能,這種門禁控制器目前較少。
  
  通過固件完成TCP/IP功能:目前已經出現了32位CPU,以及一些通信轉換模塊,通過此模塊可以將RS232數據轉換為TCP/IP功能的通信平臺。
  
  通過軟件實現TCP/IP功能:大部分的門禁控制器都是采用8位的單片機進行控制,所以無法直接進行TCP/IP通信。本文提出的即是一種可以通過軟件技術使控制器實現TCP/IP功能的通信平臺。
  
  通信平臺的設計與實現
  
  通過軟件技術實現TCP/IP功能,可以在硬件控制器以及控制器端的接線不做任何改變的基礎上完成。所以對兼容早期門禁控制器產品具有很大的實際意義,其具體的設計細節如下所述。
  
  通信平臺功能
  
  支持多用戶多客戶端通信模式;
  
  接受客戶端通信數據并通過RS422/485發送到門禁控制器;
  
  接受從RS422/485發送上來的門禁控制器數據,打包成TCP/IP包后發送給遠程客戶端;
  
  數據主動回收。
  
  通信平臺的系統結構
  
  通信平臺作為業務層與主控制器之間的通信紐帶,在用戶局域網里,多個工作站上運行業務層的應用程序,通過TCP/IP與通信平臺通信,可同時訪問Intranet網絡內的多個主控制器。這樣既可以穩定地完成多用戶的請求需要,又可做到快速地與主控制器通信。
  
  通信平臺同時擔當起串口通信與TCP/IP通信的角色,以異步通信方式,多線程處理TCP/IP通信與串口通信接發包。可以做到多監控系統同平臺同時運行,實時接發數據。因此在這平臺上,只要串口數目允許的情況下,業務可以自由擴展。目前,通信平臺只支持串口通信,USB口以及并口以后再予完善。
  
  除了自動回收記錄數據外,對于其它的通信數據包,通信平臺不起解釋協議的作用,只是負責套接字與串口之間的轉發包。所以在套接字之間需一套協議,串口之間需一套底層硬件通信協議,與串口的底層主控制器的通信協議一成沒變的采用原來的舊協議。
  
  自動回收記錄數據功能,因為監控系統里,出入記錄、事件、告警記錄是zui重要的通信數據,所以為了安全快捷,通信平臺增加自動定時回收數據的功能。回收數據的間隔時長由用戶自行設定,例如每1秒、2秒等回收一次數據。回收到的記錄數據通過解釋協議,解析包以后把有效數據存入到數據庫里,如果寫數據庫失敗,則把數據寫入到文本文件里。
  
  因為本平臺用在通信主控機上,所以作為通信軸鈕,安全與穩定性特別重要。所以為了及時監測到本平臺的異常情況,需要另外一個輔助模塊來實時監測通信平臺及主控機的運行情況,如果發現平臺出現意外情況,告警模塊需要及時發出告警信號,通知相關的網絡管理員。所以本平臺需要與告警模塊實時通信,實時處理告警模塊的通信數據包。
  
  程序基本流程思路
  
  1.通信平臺采用多線程異步通信轉發包,TCP/IP端口監視線程,監聽到一個用戶連上來,就為該連接創建一個接收TCP/IP數據的線程,接收TCP/IP數據的線程接收到有效數據,就通過消息發送方式,把數據包發送給要訪問的串口類對象的TCP/IP數據處理線程的消息隊列,等待該線程處理。該TCP/IP數據處理線程獲取消息,再檢查是否可以發送,如果可以,則把該數據請求包通過串口發送給主控制器。
  
  2.串口類對象的接收數據的線程,利用WINDOWS消息觸發機制,串口數據一來到就產生一個接收數據的消息,立即從該串口接收數據,然后處理一下,通過消息發送方式,把數據包發送給該串口類對象的串口數據處理線程進行數據處理。
  
  3.串口數據處理線程進行數據處理完畢后,就發消息通知TCP/IP數據處理線程把該TCP/IP數據包從數據緩沖區里清除掉。
  
  多線程異步機制
  
  ?TCP/IP通信方面,一個監視SOCKET連接的線程,每個SOCKET連接都有一個接收數據TCP/IP數據的線程;
  
  ?串口通信方面,每個串口有一個TCP/IP數據處理線程、串口數據接收線程、串口數據處理線程、回收記錄數據入庫線程。
  
  套接字與串口通信原理
  
  1.TCP/IP通信:與業務端的通信采用WinSockAPI進行TCP/IP通信,通信平臺作為Socket的Server端,操作步驟如下:
  
  ①ocket初始化成功,就建立起一個監聽線程,在不斷的監測是否有Client端的Socket連接上來。同時建立起一個寫線程,供所有套接字發送數據用。
  
  ②如果監測到有Client連接上來,創建該連接的一個讀Socket線程,Socket描述字通過讀取公用變量來傳給讀線程的局部變量。
  
  ③不斷地監測該Socket端口是否有數據,一旦接收到數據,根據協議的格式,取確定長度的數據。然后根據數據包檢查客戶請求模式。
  
  ④如果是打開串口,則打開串口,發回執行結果,返回第③步。
  
  ⑤如果是關閉串口,因為多用戶的模式,不予處理,返回第③步。
  
  ⑥如果是請求串口處理,把數據包發送給屬于要訪問的該串口對象的TCPIP數據處理線程的TCPIP數據包緩沖區,返回第③步。
  
  2.串口通信:串口通信采用主從應答式與主控制器一對一的通信,PC機為主,主控制器為從。運行步驟如下:
  
  ①接收串口數據的線程在事件檢測方式檢測串口緩沖區是否有數據到來。
  
  ②有數據到來,一次性接收完緩沖區里的全部數據,判斷數據類型。
  
  ③如果是“S”信號,就由互斥保護的結構體標志量的字段的值為的值。標志量是結構體類型的公用變量,結構體內容為:typedefstructFLAG_SERIAL_STRUCTURE(BOOLbCanSend;//是否接收到了主控器發來的0x53信號DWORDdwReceiveTime;//接到0x53信號的時間)StrucFlagSerial;返回第①步。
  
  ④如果是有效數據,則發送數據包給該串口類對象的串口數據處理線程進行相應的處理。返回第①步。
  
  串口數據的處理
  
  1.在串口數據處理線程里處理,接收到數據包后,因為接收數據比較長時,不能以一個完整的數據幀來接收。超時等待重組后來接收到的數據包。檢查接收到的數據是否有效與校驗和是否正確。
  
  2.是否如果是回收記錄的數據,則解析數據格式,得到有效的記錄數據,以消息包的形式發送給寫數據庫的線程,把有效數據以調用存儲過程的方式寫入到數據庫里。返回1。
  
  3.如果是業務端發來的請求,則封裝打包通過SOCKET連接發給業務。返回1。
  
  串口通信流程還是走以前的PC機與單片機為主從式的通信方式,也是目前平臺實現了的功能,PC機發請求,單片機回數據包。這個同主控制器通信的功能正在等待完善。
  
  每個串口的TCP/IP數據處理線程中需要維護一個數據緩沖區,即TCP/IP數據鏈表。每次從SOCKET得到數據,加入到該數據包請求的串口實例對象所屬的數據緩沖鏈表的表尾。再以該實例對象所創建的數據處理線程來從表頭一個一個的處理。另外一個需要維護的就是寫串口時主控制器發來的標志量結構體數據,以標識主控器是否處于PC有效時期。
  
  結論
  
  本文提出的通信平臺解決了門禁控制器不能進行網絡通信的問題,它支持局域網、INTERNET等網絡結構,所以可以跨單體樓、跨城市,只要有網絡的地方都可以遠程控制門禁系統,實現了基于TCP/IP的網絡門禁控制系統。使得門禁系統可以實現集中控制,滿足了目前很多大公司全國分公司集中控制門禁授權的要求,減少了人力資源和系統實施的費用與成本。對當前基于WEB的門禁系統的設計有很大意義。

會員登錄

請輸入賬號

請輸入密碼

=

請輸驗證碼

收藏該商鋪

標簽:
保存成功

(空格分隔,最多3個,單個標簽最多10個字符)

常用:

提示

您的留言已提交成功!我們將在第一時間回復您~
在線留言