KQCONNECT DLL 用户使用手册.doc_第1页
KQCONNECT DLL 用户使用手册.doc_第2页
KQCONNECT DLL 用户使用手册.doc_第3页
KQCONNECT DLL 用户使用手册.doc_第4页
KQCONNECT DLL 用户使用手册.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

KQCONNECT DLL 用户使用手册Version 1.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 Bool SetPort (PortNum As Integer) 功能: 用来打开一个串行端口, 在做所有的操作之前, 请调用此函数来设置并打开一个有效的串行端口,否则将使用动态库初始打开的串行端口。(此函数也可用来设置动态库初始端口。)参数说明:PortNum 是一个正整数, 表示用户想打开的串行端口号, 一般为1 或2, 如果用户扩展了PC 机的串行端口,也可以使用其它, 但是一般小于10。Return: 如果函数打开端口成功, 将返回true, 否则返回false。Note:在调用此函数时,请选择一个有效的端口号, ( 没被其它设备占用且存在的端口), 如果端口无效,则返回false。 打开端口成功, 则返回true, Example: Dim BoolFlag as BooleanBoolflag=Object.SetPort(2):特别提示:Object表示你在引用该动态库时建立的对象。以下各例中的object皆同于此。2 Bool DestoryPort( ).功能: 用来释放一个被应用程序打开的端口。如果在一个应用程序中有多个模块在调用时要打开一个已被打开的端口时,应先释放端口,然后再打开,否则该模块将无法使用此端口。参数说明:无参数。RETURN: 如果释放端口成功, 将返回TRUE, 否则返回FALSE。EXAMPLE:Dim BoolFlag as booleanBoolFlag=Object.DestroyPort()If boolflag then Object.SetPort(1)String ReadCardNum(Addr as integer)功能:用来读取考勤机中最后一次打卡的物理卡号。参数说明:Addr是一个正整数,表示考勤机的地址(使用者可以在打开考勤机电源时得知,它是个“”之间的数字。)如果地址不正确,将无法进行通讯。特别提示:在以下函数的说明中,如果没有特别说明,Addr表示意义均相同。RETUEN:如果成功,将返回串16位的数据串,否则返回空串。NOTE:在返回的16位数据串中:1-2位是用十六进制表示的考勤机地址,它转换后应该等于ADDR(可以参考GatherData函数中的举例),3-4位是“07”,5-6位是“04”或“09”(它代表清除读卡标志位,“04”表示正常的卡号的标志,“09”表示已被清除的标志。使用者可以根据它来处理该数据串)7-16位是读到的卡号。Example: Dim Tempstr as string Dim Addr as integerAddr=18Tempstr=Object.ReadCardNum(Addr)4 Bool ChangeDate(Addr as integer,Iyear as integer,IMonth as integer,Iday as integer)功能:用来下传日期给考勤机参数说明:Iyear表示下传的年份,Imonth表示下传的月份,Iday表示下传的日期RETURN:如果下传日期成功,将返回TRUE, 否则返回FALSE。Example:Dim Addr as integerDim Iyear as integer,Imonth as integer,iday as integerDim BooleanFlag as BooleanBooleanFlag=Object.ChangeDate(Addr,Iyear,Imonth,Iday)5Bool ChangeTime(Addr as integer,IHour as integer,IMinute as integer,ISecend as integer)功能:用来下传时间给考勤机参数说明:Ihour 表示下传的小时,Iminute 表示下传的分钟,Isecend 表示下传的秒。RETURN:如果下传时间成功,则返回TURE,否则返回 FLASE。Example:Dim Addr as integerDim Ihour as integer,Iminute as integer Isecend as integerDim BooleanFlage as BooleanBooleanFlag=Object ChangeTime(Addr,Ihour,Iminute,Isecend)6ClearFlag(Addr as Integer) 功能:用来清除读卡标志位,在使用它来清除标志位,再用READCARDNUM去读物理卡号时,其返回值的5-6位将是“09”。(在某些要求实时采集物理卡号的系统中,将突显它的作用。)参数说明:Addr 意义同第三个函数中Addr。RETURN:如果成功返回TURE,否则返回FALSEExample:Dim Addr as integerDim BooleanFlag as BooleanBooleanFlag=Object.ClearFlag(addr)7Bool ClearName(Addr as Integer,TagNum as String) 功能:用来从考勤机的发卡名单中清除某张卡的逻辑卡号。参数说明:Addr 意义同第三个函数;TagNum 是一个“6位”的用户自定义的逻辑卡号,它传给函数时是以串的形式传递的。RETURN :如果成功将返回TURE,否则将返回FALSEExample:Dim Addr as integerDim Num as String ,BooleanFlag as BooleanBooleanFlag=Object.ClearName(addr,Num)8Bool ClearNameList(Addr) 功能:此函数用来清除考勤机中的发卡名单表。但值得特别注意的是调用它时将同时全部清除掉考勤记录表中的全部数据。所以此函数要小心使用。(它一般来用来初始化考勤机。)参数说明:ADDR:意义同第三个函数。RETURN:成功返回TURE,否则返回FALSEExample:Dim addr as integerDim BooleanFlag as BooleanBooleanFlag=Object.clearNameList(Addr)9Bool ClearRecord(Addr as integer) 功能:此函数用来清除考勤机中的考勤记录表,一旦使用它后,则该台考勤机中的全部考勤数据将无法恢复地被清除。所以要特别慎重使它。参数说明:Addr 意义同第三个函数。Exzmple:Dim Addr as integerDim BooleanFleag as BooleanBooleanFlag=Object.ClearRecord(addr)10Bool CardSendToMachine(Addr as integer,CardNum as String TagNum as String)功能:此函数将一张卡发送给一台考勤机:只有使用了该函数将卡发到了考勤机,该卡在这台考勤机才能正常打卡考勤。否则考勤机将认为是无效卡,并不接受打卡记录。参数说明:CardNum 它表示ID卡的物理卡号,它一般要从卡内读取,有些ID卡在出厂时,打印在卡片的上。它应该是一个“10位”的十进制串。TagNum 是一个“6位”的用户自定义的逻辑卡号,它传给函数时是以串的形式传递的。RETURN:当发送成功则返回TURE,否则返回FALSE。Example:Dim Addr as integerDim CardNum as string,TagNum as stringDim BooleanFlag as BooleanBooleanFlag=Object.CardSendtoMachine(addr,CardNum,TagNum)11Bool RepairAddress(OldAddress as integer,NewAddress)功能:此函数用来修改考勤机的地址。注意它只适用于CL21-05型考勤机,而对Cl21-03型考勤机不起作用。参数说明:OldAddress 是指考勤机原来的地址,它是一个十进制的数。NewAddress 是指将修改后的才考勤机新地址,它也是一个十进制的数。RETURN 当修改成功时返回TRUE,否则返回FALSEExample:Dim OldAddress as integer,NewAddress as integerDim BooleanFlag as BooleanBooleanFlag=Object.RepairAddress(OldAddress,NewAddress)12Bool SetClock(Addr as integer,Itime() as Date) 功能:考勤机具有外接打铃的功能。使用该函数可以用来设置一天之内的1-13次打铃时间表。但应该注意第一个时间点为零时,将不启用打铃功能。参数说明:Addr 与第三个函数相同。Itime() 是一个日期型的一维数组,它的每个元素代表一个打铃时间点。最多只能设置13个打铃的时间点。NOTE:使用者务必注意Itime() 数组的每个元素是以“HH:MM:SS”形式的日期数据。不要把“YY/MM/DD”格式的数据传给数组。RETURN:设置成功返回TRUE,否则返回FALSE。Example:Dim Addr as integerDim BooleanFlag as BooleanDim Itime() as dateItime(1)=cdate(#08:30#):itime(2)=cdate(#12:30#):Iteme(3)=cdate(#13:30#)BooleanFlag=Object.setclock(addr,itime)13Bool GatherData(Address as integer,RecordCount1 as string,RecordCount2 as string)功能:该函数用于采集数据,当考勤机中记录比较多时,则需要等待的时间相对较长。如果采集成功。在所调用的动态链接库的目录中,会产生一个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位是用十六进制表示的考勤机地址。(例:“128888880109061344AA”中,地址“&H12”即为十进制的18。)3-8位是考勤记录的逻辑卡号。(如上面的“888888”)9-14位表示打卡记录的日期,按年月日排列。(如上面的01/09/06)15-18位是打卡记录的时间。按小时分钟排列。(如上面的13:44)最两位应固定为AA,它表示一个记录的结束标志。提示:每次调用采集函数,都将会从文件中清除掉前一次采集的数据。Example:Dim Address as integerDim RecordCount1 as

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论