您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > KQCONNECTDLL用户使用手册
Page1of7KQCONNECTDLL用户使用手册Version1.0Author:Sunshine.Introduction:此动态库是以超伦考勤机CL21-03或CL21-05、ID、IC(LEGIC)射频卡为对象,实现PC机与考勤机之间的通信,以及资料传送的驱动程序。它必须使用PC机上的一个串行通讯口,通讯的baudrate为9600bps。几个术语的约定:1,物理卡号:是指ID卡中固有的卡号,它是在ID卡出厂时产生。一般是不能变动的。2,逻辑卡号:是指用户映射到某张ID卡的一个数字符号,它约定为6位,当它对应于物理卡号发到考勤机中后即发生作用。(注:一个物理卡号允许对应几个逻辑卡号。但只有第一个是有效的)3,发卡名单表:它是存放在考勤机中的某一片特定存储区中的物理卡号与逻辑卡号的映射表。4,考勤记录表:它是存放在考勤机中某一特定存储区中的员工考勤打卡的记录表。◆SetPort函数◆DestoryPort函数◆ReadCardNum函数◆ChangeDate函数◆ChangeTime函数◆ClearFlag函数◆ClearName函数◆ClearNameList函数◆ClearRecord函数◆CardSendToMachine函数◆RepairAddress函数◆SetClock函数◆GatherData函数◆附录1-1动态库在VB中的引用DLL提供的接口函数及其说明:1.BoolSetPort(PortNumAsInteger)功能:用来打开一个串行端口,在做所有的操作之前,请调用此函数来设置并打开一个有效的串行端口,否则将使用动态库初始打开的串行端口。(此函数也可用来设置动态库初始端口。)参数说明:PortNum是一个正整数,表示用户想打开的串行端口号,一般为1或2,如果用户扩展了PC机的串行端口,也可以使用其它,但是一般小于10。Page2of7Return:如果函数打开端口成功,将返回true,否则返回false。Note:在调用此函数时,请选择一个有效的端口号,(没被其它设备占用且存在的端口),如果端口无效,则返回false。打开端口成功,则返回true,Example:DimBoolFlagasBooleanBoolflag=Object.SetPort(2):特别提示:Object表示你在引用该动态库时建立的对象。以下各例中的object皆同于此。2.BoolDestoryPort().功能:用来释放一个被应用程序打开的端口。如果在一个应用程序中有多个模块在调用时要打开一个已被打开的端口时,应先释放端口,然后再打开,否则该模块将无法使用此端口。参数说明:无参数。RETURN:如果释放端口成功,将返回TRUE,否则返回FALSE。EXAMPLE:DimBoolFlagasbooleanBoolFlag=Object.DestroyPort()IfboolflagthenObject.SetPort(1)……3.StringReadCardNum(Addrasinteger)功能:用来读取考勤机中最后一次打卡的物理卡号。参数说明:Addr是一个正整数,表示考勤机的地址(使用者可以在打开考勤机电源时得知,它是个“1—99”之间的数字。)如果地址不正确,将无法进行通讯。特别提示:在以下函数的说明中,如果没有特别说明,Addr表示意义均相同。RETUEN:如果成功,将返回串16位的数据串,否则返回空串。NOTE:在返回的16位数据串中:1-2位是用十六进制表示的考勤机地址,它转换后应该等于ADDR(可以参考GatherData函数中的举例),3-4位是“07”,5-6位是“04”或“09”(它代表清除读卡标志位,“04”表示正常的卡号的标志,“09”表示已被清除的标志。使用者可以根据它来处理该数据串)7-16位是读到的卡号。Example:DimTempstrasstringDimAddrasintegerAddr=18Page3of7Tempstr=Object.ReadCardNum(Addr)4.BoolChangeDate(Addrasinteger,Iyearasinteger,IMonthasinteger,Idayasinteger)功能:用来下传日期给考勤机参数说明:Iyear表示下传的年份,Imonth表示下传的月份,Iday表示下传的日期RETURN:如果下传日期成功,将返回TRUE,否则返回FALSE。Example:DimAddrasintegerDimIyearasinteger,Imonthasinteger,idayasintegerDimBooleanFlagasBooleanBooleanFlag=Object.ChangeDate(Addr,Iyear,Imonth,Iday)5.BoolChangeTime(Addrasinteger,IHourasinteger,IMinuteasinteger,ISecendasinteger)功能:用来下传时间给考勤机参数说明:Ihour表示下传的小时,Iminute表示下传的分钟,Isecend表示下传的秒。RETURN:如果下传时间成功,则返回TURE,否则返回FLASE。Example:DimAddrasintegerDimIhourasinteger,IminuteasintegerIsecendasintegerDimBooleanFlageasBooleanBooleanFlag=ObjectChangeTime(Addr,Ihour,Iminute,Isecend)6.ClearFlag(AddrasInteger)功能:用来清除读卡标志位,在使用它来清除标志位,再用READCARDNUM去读物理卡号时,其返回值的5-6位将是“09”。(在某些要求实时采集物理卡号的系统中,将突显它的作用。)参数说明:Addr意义同第三个函数中Addr。RETURN:如果成功返回TURE,否则返回FALSEExample:DimAddrasintegerDimBooleanFlagasBooleanBooleanFlag=Object.ClearFlag(addr)Page4of77.BoolClearName(AddrasInteger,TagNumasString)功能:用来从考勤机的发卡名单中清除某张卡的逻辑卡号。参数说明:Addr意义同第三个函数;TagNum是一个“6位”的用户自定义的逻辑卡号,它传给函数时是以串的形式传递的。RETURN:如果成功将返回TURE,否则将返回FALSEExample:DimAddrasintegerDimNumasString,BooleanFlagasBooleanBooleanFlag=Object.ClearName(addr,Num)8.BoolClearNameList(Addr)功能:此函数用来清除考勤机中的发卡名单表。但值得特别注意的是调用它时将同时全部清除掉考勤记录表中的全部数据。所以此函数要小心使用。(它一般来用来初始化考勤机。)参数说明:ADDR:意义同第三个函数。RETURN:成功返回TURE,否则返回FALSEExample:DimaddrasintegerDimBooleanFlagasBooleanBooleanFlag=Object.clearNameList(Addr)9.BoolClearRecord(Addrasinteger)功能:此函数用来清除考勤机中的考勤记录表,一旦使用它后,则该台考勤机中的全部考勤数据将无法恢复地被清除。所以要特别慎重使它。参数说明:Addr意义同第三个函数。Exzmple:DimAddrasintegerDimBooleanFleagasBooleanBooleanFlag=Object.ClearRecord(addr)10.BoolCardSendToMachine(Addrasinteger,CardNumasStringTagNumasString)功能:此函数将一张卡发送给一台考勤机:只有使用了该函数将卡发到了考勤机,该Page5of7卡在这台考勤机才能正常打卡考勤。否则考勤机将认为是无效卡,并不接受打卡记录。参数说明:CardNum它表示ID卡的物理卡号,它一般要从卡内读取,有些ID卡在出厂时,打印在卡片的上。它应该是一个“10位”的十进制串。TagNum是一个“6位”的用户自定义的逻辑卡号,它传给函数时是以串的形式传递的。RETURN:当发送成功则返回TURE,否则返回FALSE。Example:DimAddrasintegerDimCardNumasstring,TagNumasstringDimBooleanFlagasBooleanBooleanFlag=Object.CardSendtoMachine(addr,CardNum,TagNum)11.BoolRepairAddress(OldAddressasinteger,NewAddress)功能:此函数用来修改考勤机的地址。注意它只适用于CL21-05型考勤机,而对Cl21-03型考勤机不起作用。参数说明:OldAddress是指考勤机原来的地址,它是一个十进制的数。NewAddress是指将修改后的才考勤机新地址,它也是一个十进制的数。RETURN当修改成功时返回TRUE,否则返回FALSEExample:DimOldAddressasinteger,NewAddressasintegerDimBooleanFlagasBooleanBooleanFlag=Object.RepairAddress(OldAddress,NewAddress)12.BoolSetClock(Addrasinteger,Itime()asDate)功能:考勤机具有外接打铃的功能。使用该函数可以用来设置一天之内的1-13次打铃时间表。但应该注意第一个时间点为零时,将不启用打铃功能。参数说明:Addr与第三个函数相同。Itime()是一个日期型的一维数组,它的每个元素代表一个打铃时间点。最多只能设置13个打铃的时间点。NOTE:使用者务必注意Itime()数组的每个元素是以“HH:MM:SS”形式的日期数据。不要把“YY/MM/DD”格式的数据传给数组。RETURN:设置成功返回TRUE,否则返回FALSE。Page6of7Example:DimAddrasintegerDimBooleanFlagasBooleanDimItime()asdateItime(1)=cdate(#08:30#):itime(2)=cdate(#12:30#):Iteme(3)=cdate(#13:30#)BooleanFlag=Object.setclock(addr,itime)13.BoolGatherData(Addressasinteger,RecordCount1asstring,RecordCount2asstring)功能:该函数用于采集数据,当考勤机中记录比较多时,则需要等待的时间相对较长。如果采集成功。在所调用的动态链接库的目录中,会产生一个SourceRecordSet.txt的文本文件,该文件的每行存放一条采集到的考勤记录。参数说明:Address表示所要采集数据的考勤机地址,它是一个十进制的1-99之间的整数。ReCordCount1表示考勤机中的考勤记录笔数。(在Cl21-03中,最多能有7255条记录,在Cl21-05中,它最多能有14510条记录。)Return:如果采集成功,返回TRUE,否则返回FALSE。Note:1、有些非常特殊的情况,即RecordCount1不等于RecordCount2,此时函数将返回FALSE,但实际上已经采集到了数据,只是有可能丢失了一些记录。使用者可灼情处理它。2、在SourceRecordSet.txt中每一行即是采集到的记录。其结构如下:1-2位是用十六进制表示的考勤机地址。(例:“1288888801090613
本文标题:KQCONNECTDLL用户使用手册
链接地址:https://www.777doc.com/doc-2880064 .html