您现在的位置:首页>>资料下载>>二次开发工具>> 2610动态库
2610动态库
2610动态库的下载

一、 动态库概述

    1、采用RS485多机通讯方式。

2、通讯波特率为19200bps

3、使用说明:

使用时,先定义一个对象变量,再创建对象,如下所示:

Dim KQ  As Object

Set KQ = CreateObject("DoorConnect2610.Door2610")

之后如果要使用下面的函数,则按以下三步进行:

1) 调用SetPort()设置并打开串口;

2) 进行相关操作;

3) 调用DestoryPort()释放串口;

二、 参考说明

门禁机内采集回的打卡记录格式,共24字节,如下">1、 门禁机内采集回的打卡记录格式,共24字节,如下

     内容 物理卡号  +  年月日时分秒  +  保留字  +  特征字

   长度   10字节         12字节         1字节     1字节

      例如:     0000714558070610123025FF01

 

物理卡号: 10个十进制数字组成(0—9),其中有两个特殊的物理卡号:“0000000001” “0000000002”“0000000001”表示此记录是开关1的开门记录,,“0000000002”表示此记录是开关2的开门记录。

年月日时分秒:         格式为“yymmddhhnnss”

保留字节:            V4.0门禁机中未用,恒等于“FF”;在V5.0中,由于增加密码开锁功能,所以此字节意义如下:

                                               0A                       刷卡记录

                                               0B                       输入密码的记录,[物理卡号]记录的是6位密码。

                                     0C                       刷卡及输入密码的记录,但[物理卡号]仅记录卡的物理卡号。

特征字取值:    表示在哪个感应器上刷的卡,取值为00—03,分别表示:

00        二控一   感应器一

      01        一控一   感应器一

    02        二控一   感应器二

            03        一控一   感应器二

 

2、 门禁机内采集回的发卡记录格式,共77个字符,如下

内容 :物理卡号 / 逻辑卡号 / 开锁模式 / 周允许状态 / 终止年月日 / 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时间段

三、 函数集

1、 设置串口 SetPort

1) 函数原型:

SetPort(ByVal PortNum As Integer) As Boolean

2) 参数:                       PortNum为端口号

3) 返回值:            布尔值True成功,False失败

2、 释放串口 DestoryPort

1) 函数原型:

Public Function DestoryPort() As Boolean

2) 参数:                      

3) 返回值:            布尔值True成功,False失败

3、 PC下传一条发卡名单CardSendToMachine

1) 函数原型:

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

2) 参数: 12       

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

3) 返回值:    布尔值True成功,False失败

4、 修改门禁机时钟  ModifyDateTime      

1) 函数原型:

Public Function ModifyDateTime(ByVal varAddr As Integer, ByVal strDate As String, ByVal strTime As String, ByVal intWeek As Integer) As Boolean

2) 参数: 4

            varAddr  为机器地址

            strDate,字符串型,格式为"YYMMDD"的日期

            strTime,字符串型,格式为"hhmmss"的时间

            intWeek,整型,表示星期,取值范围1--7,分别表示周一至周日

3) 返回值:    布尔值True成功,False失败

5、 清除所有打卡数据       ClearRecord            

1) 函数原型:

Public Function ClearRecord(ByVal varAddr As Integer) As Boolean

2) 参数: 1

            varAddr  为机器地址           

3) 返回值:    布尔值True成功,False失败

6、 清除所有发卡名单      ClearNameList        

1) 函数原型:

Public Function ClearNameList(ByVal varAddr As Integer) As Boolean

2) 参数: 1

            varAddr  为机器地址

3) 返回值:    布尔值True成功,False失败

7、 PC清除一条发卡记录,即退卡  ClearName

1) 函数原型:

Public Function ClearName(ByVal varAddr As Integer, ByVal strPhyCardNum As String) As Integer

2) 参数: 2

varAddr,为机器地址(取值为0—254

            strPhyCardNum,为物理卡号,是一个十位十进制数的字符串

3) 返回值:整数,为-1,表示清除失败,>=0 表示退卡成功,并返回当前机器内已退卡的总数

说明:此函数返回的已退卡总数如果过多,例如大于200条,则有必要对门禁机做一次存储器整理,这样可以提高门禁机中存储器的利用率。

8、 PC读取最近一次打卡的物理卡号       ReadCardNum

1) 函数原型:

Public Function ReadCardNum(ByVal varAddr As Integer, Optional ByRef AllStr As String) As String

2) 参数: 2

varAddr,为机器地址(取值为0—254

            AllStr,可选参数,读出的全部信息。(内部使用的预留参数,暂无用处)

3) 返回值:十位物理卡号,如读取失败,或没有打卡,则返为空串

9、 PC直接开锁  OpenLock

1) 函数原型:

Public Function OpenLock(ByVal varAddr As Integer, ByVal intLockNo As Integer) As Boolean

2) 参数: 2

varAddr,为机器地址(取值为0—254

            intLockNo,锁号,整型,取值为1,2,3;分别表示锁1,锁2,外接继电器

3) 返回值:布尔型,True表示开锁成功

10、 PC读取锁状态 getLockStatus

1) 函数原型:

Public Function getLockStatus(ByVal varAddr As Integer, ByRef strStatus As String) As Boolean

2) 参数: 2

varAddr,为机器地址(取值为0—254

            strStatus----返回参数,两位字符串,第一位为锁1状态,第二位为锁2状态;(0--关,1--)

3) 返回值:布尔型,True表示通讯正常,False表示通讯异常

11、 PC读取当前刷卡物理卡号及锁状态:getCardLockStatus

1) 函数原型:

Public Function getCardLockStatus(ByVal varAddr As Integer, ByRef strStatus As String) As Boolean

2) 参数: 2

varAddr,为机器地址(取值为0—254

            strStatus,返回参数,14位,前10位是物理卡号,第11位为锁1状态,第12位为锁2状态;(0--关,1--),第13位为锁模式(1,一控一;2,二控一),第14位为当前感应器(1,感应器一;2,感应器二)

3) 返回值:布尔型,True表示通讯正常,False表示通讯异常

12、 采集打卡总条数 GatherRecordSum

1) 函数原型:

Public Function GatherRecordSum(ByVal varAddr As Integer) As Long

2) 参数: 1

varAddr,为机器地址(取值为0—254

3) 返回值:长整型,为 –1 时,表示采集失败,为>=0时,表示打卡总条数

13、 采集发卡总条数 GatherSendCardSum

1) 函数原型:

Public Function GatherSendCardSum(ByVal varAddr As Integer) As Long

2) 参数: 1

varAddr,为机器地址(取值为0—254

3) 返回值:长整型,为 –1 时,表示采集失败,为>=0时,表示发卡总条数

 

14、 发送一个时间段到门禁机 SetTimeGroup

最后修改时间:2008-05-19

1) 函数原型:

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

2) 参数: 5

varAddr,为机器地址

intTotal,整型,预计下发的时间段总数,一般取值为1--16

intOrder,整型,本次下发的时段序号,取值为0---15

strTime,以字符串表示的时间段,格式为:HHMM-HHMM

intCardOrPassword--此参数是2008-05-19加的可选参数,对于V4.0门禁机来说,此参数应取值为0;对于V5.0门禁机,表示开门方式,0,表示卡或密码,3,表示卡加密码 ,

3) 返回值:布尔型,True表示通讯正常,False表示通讯异常

注意:门禁机可以存储16个时间段,此函数一次下发一个时间段,如要传16个段,则用循环实现。

15、 采集门禁机时间段 GetTimeGroup

最后修改时间:2008-05-19

1) 函数原型:

Public Function GetTimeGroup(ByVal varAddr As Integer, ByRef strTime As String

, Optional ByRef strCardOrPassword As String = "Null") As Boolean

2) 参数: 3

varAddr,为机器地址

strTime------------返回参数,以字符串表示的时间段共64个字符,每四个字符表示一个时间段,格式为:hhmmhhmm

strCardOrPassword--可选的返回参数,表示开门方式,共16个字节,每个字符表示一个时间段的开门方式。每个字符的取值及意义为:0-卡或密码,3--卡加密码  2008-05-19

3) 返回值:布尔值True成功,False失败

注意,在使用时,需要将这64个字符串解析出来形成16个时间段,在解析时,如果有“FFFF”这样的时间数据,则认为此段未设置。

16、 PC采集发卡数据,并写入到文本文件中  GatherSendCardData

1) 函数原型:

Public Function GatherSendCardData(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 = 5, _

                                    Optional ByVal phStrCardFlg As Boolean = False, _

Optional ByVal interval As Long = 100 _

                                  ) As Boolean

2) 参数: 8

varAddr,为机器地址

VarFilePath,文件路径

VarFileName,文件名

VarDescription,描述,用此参数可以查看错误信息

BackRecordSum,长整型,记录数

SleepDate,长整型,延时设置。在局域网中采集可能要改变其参数,此参数可选,,默认 5

PhStrCardFlg,布尔型,输出的物理卡号格式,取值为True,则用10位十进制表示,为False则用8位十六进制表示,此参数可选,默认 True

interval ,采集两个包之间的间隔时间,单位为毫秒,一般设为20即可,如果想要在采集的时候能响应刷卡,则可设为100150. 此参数是2008-08-26加的

注意,interval参数,对于版本号为V4.0.0的门禁机,应设置为120毫秒,否则将采集不成功。对于V4.1.0及以上的门禁机,可以设置为20毫秒或更小。

3) 返回值:布尔值True成功,False失败

注意,采集的数据在文本文件中,一行存储一条记录,格式见2.2门禁机内采集回的发记录格式

 

17、 采集打卡数据命令: GatherData

最后修改时间:2008-08-26

1) 函数原型:

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

2) 参数: 8个,其中后两个可选

varAddr,为机器地址

VarFilePath,文件路?

VarFileName,文件名

VarDescription,描述,用此??可以查看??信息

BackRecordSum,???

SleepDate,延??置,单位是秒。(在局域?中采集可能要改?其??)

PhStrCardFlg,布尔型,输出的物理卡号格式,取值为True,则用10位十进制表示,为False则用8位十六进制表示,此参数可选,默认 True

IsFullYear,布尔型,输出的年份格式,False 两位年份,True 四位年份,此参数可选,默认False

IntGatherRecordCount,实际采集出的条数。此参数是2008-08-26加的,用来记录实际采集出的数据条数,当它小于BackRecordSum时,则表示数据未采集全,需要再次采集。

interval ,采集两个包之间的间隔时间,单位为毫秒,一般设为20即可,如果想要在采集的时候能响应刷卡,则可设为100150. 此参数是2008-08-26加的

注意,interval参数,对于版本号为V4.0.0的门禁机,应设置为120毫秒,否则将采集不成功。对于V4.1.0及以上的门禁机,可以设置为20毫秒或更小。

3) 返回值:布尔值True成功,False失败

注意,采集的数据在文本文件中,一行存储一条记录,格式见2.1门禁机内采集回的打卡记录格式

18、 查找某条发卡名单  FindCard

1) 函数原型:

Public Function FindCard(ByVal varAddr As Integer, ByVal strPhyNum As String, ByRef strSendCard As String, Optional ByVal intSleep As Integer = 2) As Boolean

2) 参数: 4个,其中可选参数一个

varAddr,为机器地址(取值为0—254

       strPhyNum,待查找的物理卡号

       strSendCard,输出参数,字符串型,可以带出来发卡数据,为空,表示没找到;

                   否则,是77个字符,分别是:

                   物理卡号(10字节) / 卡号(8字节) / 开锁模式(8字节) /周控制(7字节) / 终止日期(6字节) / 1时间段(16字节) / 2时间段(16字节)

'       intSleep,整型,命令等待时间,一般设为发卡总条数的1/1000秒,这是一个可选参数,默认值为2

3) 返回值:布尔型,True表示通讯正常,False表示通讯异常

 

19、 设置门锁继电器延时时间  SetLockDelayTime

1) 函数原型:

Public Function SetLockDelayTime(ByVal varAddr As Integer, ByVal Secon1 As Integer, ByVal Secon2 As Integer, ByVal Secon3 As Integer) As Boolean

2) 参数: 4

varAddr,为机器地址(取值为0—254

        Secon1,整型,锁1延时(取值范围:0---60),1个单位约是0.2

        Secon2,整型,锁2延时(取值范围:0---60

      Secon3,整型,外接继电器延时(取值范围:0---60

3) 返回值:布尔型,True表示设置成功,False表示设置失败

 

20、 读取门禁当前时间及锁延时  getDateTimeDelay

1) 函数原型:

Public Function getDateTimeDelay(ByVal varAddr As Integer, ByRef strResult As String) As Boolean

2) 参数: 2

varAddr,为机器地址(取值为0—254

      strResult----返回参数,21位,前12位是年月日时分秒,第13位开始每三位是一个继电器延时秒数

3) 返回值:布尔型,True表示通讯正常,False表示通讯异常

 

21、 读取版本信息(产品类别,最后修改日期,版本号)  GetMachVer

1) 函数原型:

Public Function GetMachVer(ByVal varAddr As Integer, ByRef strMachVer As String) As Boolean

2) 参数: 2

varAddr,为机器地址(取值为0—254

strMachVer,返回参数,以字符串表示的版本信息,共16个字符,分别表示产品类型,最后修改日期,版本号。

例如:返回 “2610070530040000”,表示类别为:2610,最后修改日期为:07530,版本号为4.0.0版。其中:解析版本号时,每两位用.来分隔即可。

3) 返回值:布尔型,True表示通讯正常,False表示通讯异常

 

    快速获得支持

   点击“在线服务 ”简单填写
   资料,您可以就您关注的硬
   件或软件获得相应在线支持。
   电话: 
0755-83740970