1、采用RS485多機通訊方式。
2、通訊波特率為19200bps
3、使用說明:
使用時,先定義一個對象變量,再創建對象,如下所示:
Dim KQ As Object
Set KQ = CreateObject("DoorConnect2610.Door2610")
之后如果要使用下面的函數,則按以下三步進行:
1) 調用SetPort()設置并打開串口;
2) 進行相關操作;
3) 調用DestoryPort()釋放串口;
內容 : 物理卡號 + 年月日時分秒 + 保留字 + 特征字
長度 : 10字節 12字節 1字節 1字節
例如: 0000714558070610123025FF01
物理卡號: 10個十進制數字組成(0—9),其中有兩個特殊的物理卡號:“0000000001”和 “0000000002”,“0000000001”表示此記錄是開關1的開門記錄,,“0000000002”表示此記錄是開關2的開門記錄。
年月日時分秒: 格式為“yymmddhhnnss”
保留字節: 在V4.0門禁機中未用,恒等于“FF”;在V5.0中,由于增加密碼開鎖功能,所以此字節意義如下:
0B 輸入密碼的記錄,[物理卡號]記錄的是6位密碼。
特征字取值: 表示在哪個感應器上刷的卡,取值為00—03,分別表示:
00 二控一 感應器一
01 一控一 感應器一
02 二控一 感應器二
03 一控一 感應器二
內容 :物理卡號 / 邏輯卡號 / 開鎖模式 / 周允許狀態 / 終止年月日 / 鎖1時間段 / 鎖2時間段
長度 :10字節 8字節 8字節 7字節 6字節 16字節 16字節
例如: 0000714558/00501204/11000110/1111111/070610/1111000000000000/1111000000000000
1 12 21 30 38 45 62
物理卡號: 10個十進制數字組成(0—9)
邏輯卡號: 8個十六進制數字組成(0—9,A—F)
開鎖模式: 由8個字符表示以下內容:
第1個字符,表示鎖1是否允許刷卡(0—不允許,1—允許 )
第2個字符,表示鎖2是否允許刷卡(0—不允許,1—允許 )
第6個字符,表示是否控制周(0—不控制,1—控制 )
第7個字符,表示是否控制終止日期(0—不控制,1—控制 )
第8個字符,表示是否控制時間段(0—不控制,1—控制 )
第3--5個字符,預留字符,暫時不用
周允許狀態:格式為0/1表示的串,總共七個字符,從左向右分別表示周一至周日是否允許(0—不允許,1—允許 )
鎖1時間段:格式為0/1表示的串,共計16個字符,分別表示16個時間段是否允許刷卡(0—不允許,1—允許 )
鎖2時間段:同鎖1時間段
SetPort(ByVal PortNum As Integer) As Boolean
Public Function DestoryPort() As Boolean
Public Function CardSendToMachine(ByVal varAddr As Integer, _
ByVal strEmpID As String, _
ByVal strPhyCardNum As String, _
ByVal intLockCtr1 As Integer, _
ByVal intLockCtr2 As Integer, _
ByVal IsWeek As Integer, _
ByVal IsEndDate As Integer, _
ByVal IsTime As Integer, _
ByVal strWeekValue As String, _
ByVal strEndDateValue As String, _
ByVal strTimeValue1 As String, _
ByVal strTimeValue2 As String _
) As Boolean
varAddr,為機器地址(取值為0—254)
strPhyCardNum,為物理卡號,是一個十位十進制數的字符串
strEmpID,為工號,是一個八位數的字符串
intLockCtr1,鎖1是否允許(整形,0--不允許,非0,允許)
intLockCtr2,鎖2是否允許(整形,0--不允許,非0,允許)
IsWeek,是否控制周(整形,0--不控制,非0,控制)
IsEndDate,是否控制有效日期 (整形,0--不控制,非0,控制)
IsTime,是否控制時間段 (整形,0--不控制,非0,控制)
StrWeekValue,周控制的值,格式為0/1表示的串,共七個字符,從左向右分別表示周一至周日是否允許
StrEndDateValue,有效日期,格式為"YYMMDD"的字符串
strTimeValue1,鎖1時間段控制的值,0/1串,共計16個字符,分別表示16個時間段是否允許刷卡
strTimeValue2,鎖2時間段控制的值,格式同strTimeValue1
Public Function ModifyDateTime(ByVal varAddr As Integer, ByVal strDate As String, ByVal strTime As String, ByVal intWeek As Integer) As Boolean
varAddr 為機器地址
strDate,字符串型,格式為"YYMMDD"的日期
strTime,字符串型,格式為"hhmmss"的時間
intWeek,整型,表示星期,取值范圍1--7,分別表示周一至周日
Public Function ClearRecord(ByVal varAddr As Integer) As Boolean
varAddr 為機器地址
Public Function ClearNameList(ByVal varAddr As Integer) As Boolean
varAddr 為機器地址
Public Function ClearName(ByVal varAddr As Integer, ByVal strPhyCardNum As String) As Integer
varAddr,為機器地址(取值為0—254)
strPhyCardNum,為物理卡號,是一個十位十進制數的字符串
說明:此函數返回的“已退卡總數”如果過多,例如大于200條,則有必要對門禁機做一次存儲器整理,這樣可以提高門禁機中存儲器的利用率。
Public Function ReadCardNum(ByVal varAddr As Integer, Optional ByRef AllStr As String) As String
varAddr,為機器地址(取值為0—254)
AllStr,可選參數,讀出的全部信息。(內部使用的預留參數,暫無用處)
Public Function OpenLock(ByVal varAddr As Integer, ByVal intLockNo As Integer) As Boolean
varAddr,為機器地址(取值為0—254)
intLockNo,鎖號,整型,取值為1,2,3;分別表示鎖1,鎖2,外接繼電器
Public Function getLockStatus(ByVal varAddr As Integer, ByRef strStatus As String) As Boolean
varAddr,為機器地址(取值為0—254)
strStatus----返回參數,兩位字符串,第一位為鎖1狀態,第二位為鎖2狀態;(0--關,1--開)
Public Function getCardLockStatus(ByVal varAddr As Integer, ByRef strStatus As String) As Boolean
varAddr,為機器地址(取值為0—254)
strStatus,返回參數,14位,前10位是物理卡號,第11位為鎖1狀態,第12位為鎖2狀態;(0--關,1--開),第13位為鎖模式(1,一控一;2,二控一),第14位為當前感應器(1,感應器一;2,感應器二)
Public Function GatherRecordSum(ByVal varAddr As Integer) As Long
varAddr,為機器地址(取值為0—254)
Public Function GatherSendCardSum(ByVal varAddr As Integer) As Long
varAddr,為機器地址(取值為0—254)
最后修改時間:
Public Function SetTimeGroup(ByVal varAddr As Integer, ByVal intTotal As Integer, ByVal intOrder As Integer, ByVal strTime As String, Optional ByVal intCardOrPassword As Integer = 0) As Boolean
varAddr,為機器地址
intTotal,整型,預計下發的時間段總數,一般取值為1--16
intOrder,整型,本次下發的時段序號,取值為0---15
strTime,以字符串表示的時間段,格式為:HHMM-HHMM
intCardOrPassword--此參數是
注意:門禁機可以存儲16個時間段,此函數一次下發一個時間段,如要傳16個段,則用循環實現。
最后修改時間:
Public Function GetTimeGroup(ByVal varAddr As Integer, ByRef strTime As String
, Optional ByRef strCardOrPassword As String = "Null") As Boolean
varAddr,為機器地址
strTime------------返回參數,以字符串表示的時間段共64個字符,每四個字符表示一個時間段,格式為:hhmmhhmm
strCardOrPassword--可選的返回參數,表示開門方式,共16個字節,每個字符表示一個時間段的開門方式。每個字符的取值及意義為:0-卡或密碼,3--卡加密碼
注意,在使用時,需要將這64個字符串解析出來形成16個時間段,在解析時,如果有“FFFF”這樣的時間數據,則認為此段未設置。
Optional ByVal interval As Long = 100 _
varAddr,為機器地址
VarFilePath,文件路徑
VarFileName,文件名
VarDescription,描述,用此參數可以查看錯誤信息
BackRecordSum,長整型,記錄數
SleepDate,長整型,延時設置。在局域網中采集可能要改變其參數,此參數可選,,默認 5
PhStrCardFlg,布爾型,輸出的物理卡號格式,取值為True,則用10位十進制表示,為False則用8位十六進制表示,此參數可選,默認 True
interval ,采集兩個包之間的間隔時間,單位為毫秒,一般設為20即可,如果想要在采集的時候能響應刷卡,則可設為100或150. 此參數是
注意,interval參數,對于版本號為V
注意,采集的數據在文本文件中,一行存儲一條記錄,格式見2.2門禁機內采集回的發卡記錄格式
最后修改時間:
Public Function GatherData(ByVal varAddr As Integer, _
ByVal VarFilePath As String, _
ByVal VarFileName As String, _
ByRef VarDescription As String, _
ByRef BackRecordSum As Long, _
Optional ByVal SleepDate As Long = 2, _
Optional ByVal phStrCardFlg As Boolean = False, _
Optional IsFullYear As Boolean = False , _
Optional ByRef intGatherRecordCount As Long = -1, _
Optional ByVal interval As Long = 100 _
) As Boolean
varAddr,為機器地址
VarFilePath,文件路?
VarFileName,文件名
VarDescription,描述,用此??可以查看??信息
BackRecordSum,???
SleepDate,延??置,單位是秒。(在局域?中采集可能要改?其??)
PhStrCardFlg,布爾型,輸出的物理卡號格式,取值為True,則用10位十進制表示,為False則用8位十六進制表示,此參數可選,默認 True
IsFullYear,布爾型,輸出的年份格式,False 兩位年份,True 四位年份,此參數可選,默認False
IntGatherRecordCount,實際采集出的條數。此參數是
interval ,采集兩個包之間的間隔時間,單位為毫秒,一般設為20即可,如果想要在采集的時候能響應刷卡,則可設為100或150. 此參數是
注意,interval參數,對于版本號為V
注意,采集的數據在文本文件中,一行存儲一條記錄,格式見2.1門禁機內采集回的打卡記錄格式
Public Function FindCard(ByVal varAddr As Integer, ByVal strPhyNum As String, ByRef strSendCard As String, Optional ByVal intSleep As Integer = 2) As Boolean
varAddr,為機器地址(取值為0—254)
strPhyNum,待查找的物理卡號
strSendCard,輸出參數,字符串型,可以帶出來發卡數據,為空,表示沒找到;
否則,是77個字符,分別是:
物理卡號(10字節) / 卡號(8字節) / 開鎖模式(8字節) /周控制(7字節) / 終止日期(6字節) / 鎖1時間段(16字節) / 鎖2時間段(16字節)
' intSleep,整型,命令等待時間,一般設為發卡總條數的1/1000秒,這是一個可選參數,默認值為2
Public Function SetLockDelayTime(ByVal varAddr As Integer, ByVal Secon1 As Integer, ByVal Secon2 As Integer, ByVal Secon3 As Integer) As Boolean
varAddr,為機器地址(取值為0—254)
Secon1,整型,鎖1延時(取值范圍:0---60),1個單位約是0.2秒
Secon2,整型,鎖2延時(取值范圍:0---60)
Secon3,整型,外接繼電器延時(取值范圍:0---60)
Public Function getDateTimeDelay(ByVal varAddr As Integer, ByRef strResult As String) As Boolean
varAddr,為機器地址(取值為0—254)
strResult----返回參數,21位,前12位是年月日時分秒,第13位開始每三位是一個繼電器延時秒數
Public Function GetMachVer(ByVal varAddr As Integer, ByRef strMachVer As String) As Boolean
varAddr,為機器地址(取值為0—254)
strMachVer,返回參數,以字符串表示的版本信息,共16個字符,分別表示產品類型,最后修改日期,版本號。
例如:返回 “2610070530040000”,表示類別為:2610,最后修改日期為:
无码av高清毛片在线看 - 视频 - 在线播放 - 影视资讯 - 一级毛