Locksdk.doc_第1页
Locksdk.doc_第2页
Locksdk.doc_第3页
Locksdk.doc_第4页
Locksdk.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

ADEL门锁接口规范 爱迪尔门锁系统接口函数(SDK)说明(MAINDLL.DLL函数说明)适用门锁系统:V6.51及以上版本。一、门锁函数(必须已经安装并设置好门锁系统)1、Init初始化。函数原形:int Init(int software,char *server,char *username, int port, int Encoder, int TMEncoder);参数:software in:指定门锁系统,参见注2。server in:字符指针,指定门锁系统数据库安装的服务器(SQL Server)名。username in:字符指针,用户名,用于门锁系统记录操作人员。Port in:串口号,1-COM1,2-COM2,3-COM3,4-COM4依次类推。Encoder in:发行机类型,0-手动发行机,1-自动发行机,2-MSR206(磁卡)。TMEncoder in:TM发行机类型,1-DS9097E,5-DS9097U返回值:见注1。2、 EndSession结束工作期。函数原形:int EndSession(void);参数:无返回值:见注1。3、 ChangeUser更改操作员。函数原形:void ChangeUser(char *username);参数:username in:字符指针,用户名,用于门锁系统记录操作人员。返回值:无。4、 NewKey发行新客人卡,此功能注销当前在用的客人卡,新发行的客人卡开门后原来的客人卡将不能使用。函数原形:int NewKey(char *room,char *gate,char *stime,char *guestname,char *guestid, int overflag, long *cardno,char * track1,char * track2);参数:room in:房号,6字节字符串,必须是门锁系统设置的房号。gate in:公共通道,字符串参数,“00”表示按默认授权通道,“99”表示授权所有公共通道,其他为指定通道代码。例如:“010203”表示授权01、02、03三个通道。Stime in:起止时间,24字节字符串,格式yyyymmddhhnnyyyymmddhhnn,例如:“200012311230200101011230”表示2000年12月31日12时30分到2001年1月1日12时30分。Lock9200:起止时间不能在同一天内,且不能超过1个月。Guestname in:客人姓名,最大30字节,可以为NULL。Guestid in:客人ID,最大30字节,可以为NULL。Overfla in:整形,是否覆盖当前卡上的内容。1-覆盖,当前卡不是新卡则自动注销(必须是客人卡)。0-不覆盖,不是新卡则返回。磁卡(手动发行机)忽略此参数,直接覆盖,不自动注销。Cardno out:长整形指针,接收卡号(发卡后分配的唯一卡代码)。可以为NULL。track1 in:字符串指针,磁卡第1轨数据,如不写此轨可为NULL。track2 in:字符串指针,磁卡第2轨数据,如不写此轨可为NULL。返回值:见注1。5、 DupKey“复制”客人卡,新发行的客人卡与原来的客人卡可同时使用,且起始时间相同。函数原形:int DupKey(char *room,char *gate,char *stime,char *guestname,char *guestid, int overflag, long *cardno,char * track1,char * track2);参数:room in:房号,6字节字符串,必须是门锁系统设置的房号。gate in:公共通道,字符串参数,“00”表示按默认授权通道,“99”表示授权所有公共通道,其他为指定通道代码。例如:“010203”表示授权01、02、03三个通道。Stime in:起止时间,24字节字符串,格式yyyymmddhhnnyyyymmddhhnn,例如:“200012311230200101011230”表示2000年12月31日12时30分到2001年1月1日12时30分。起始时间与在用客人卡相同。Guestname in:客人姓名,最大30字节,可以为NULL。Guestid in:客人ID,最大30字节,可以为NULL。Overfla in:整形,是否覆盖当前卡上的内容。1-覆盖,当前卡不是新卡则自动注销(必须是客人卡)。0-不覆盖,不是新卡则返回。磁卡(手动发行机)忽略此参数,直接覆盖,不自动注销。Cardno out:长整形指针,接收卡号(发卡后分配的唯一卡代码)。可以为NULL。track1 in:字符串指针,磁卡第1轨数据,如不写此轨可为NULL。track2 in:字符串指针,磁卡第2轨数据,如不写此轨可为NULL。返回值:见注1。6、ReadCard读卡。函数原形:int ReadCard(char *room, char *gate,char *stime, char *guestname, char *guestid, char *track1, char *track2, long *cardno, int *st);参数:room out:字符串指针,接收返回的房号,建议10字节。gate out:字符串指针,接收返回的授权公共通道,可以为NULL。Guestname out:字符串指针,接收返回的客人姓名,可以为NULL。Guestid out:字符串指针,接收返回的客人ID,可以为NULL。track1 out:接收磁卡第1轨数据,可以为NULL。track2 out:接收磁卡第2轨数据,可以为NULL。Cardno out:长整形指针,接收返回的卡号,可以为NULL。St out:整形指针,接收返回的卡状态,1-正常使用,3-正常注销,4-遗失注销,5-损毁注销,6-自动注销。可以为NULL。返回值:见注1。7、 EraseCard注销卡,同时更新数据库数据。函数原形:int EraseCard (long cardno,char * track1,char * track2);参数:cardno in:卡号,可以为0。当此参数为0时:IC卡、RF卡、TM卡、磁卡(自动发行机)自动读取卡号并注销,同时更新数据库;磁卡(手动发行机)注销当前卡,不更新数据库,建议再调用CheckOut函数更新数据库,或先读卡获取卡号后再调用EraseCard。track1 in:字符串指针,磁卡第1轨数据,如不写此轨可为NULL。track2 in:字符串指针,磁卡第2轨数据,如不写此轨可为NULL。返回值:见注1。8、 CheckOut退房,仅更新数据库数据,不注销卡。函数原形:int CheckOut (char *room, long cardno);参数:room in:房号。Cardno in:卡号,可以为0。当此参数为0时,将客房所有客人卡标记为正常注销。返回值:见注1。9、 LostCard遗失注销,仅更新数据库数据,不注销卡。函数原形:int Lostcard (char *room, long cardno);参数:room in:房号。Cardno in:卡号,标记为遗失注销客人卡的卡号。返回值:见注1。二、公用函数(门锁接口和独立使用均可)10、 PopCard弹出卡。函数原形:int PopCard(void);参数:无返回值:见注1,独立使用时返回20表示没有调用SetPort。11、SetPort设置串口,调用Init函数后不必调用此函数。函数原形:int SetPort(int software,int port, int encoder, int tmencoder);参数:software in:指定门锁系统,参见注2。Port in:串口号,整形,1-COM1,2-COM2,3-COM3,4-COM4依次类推。Encoder in:发行机类型:0-手动发行机,1-自动发行机。TMEncoder in:TM发行机类型:1-DS9097E,5-DS9097U。返回值:见注1。12、ReadCardId读Mifare卡ID,函数原形:int ReadCardId(unsigned long *pid);参数:pid out:4字节无符指针,接收卡ID。返回值:见注1。13、CheckSC(Lock3200K,A30支持)核对4442卡密码。函数原形:int CheckSC(unsigned char *sc);参数:sc in:IC卡密码,3字节无符字符指针。返回值:见注1。14、ReadIC(Lock3200K,Lock4200D,Lock7200D,A30,A90支持)读卡数据。函数原形:int ReadIC(unsigned int start, unsigned int len, unsigned char *str);参数:start in:起始地址,指定数据写的位置。对于Mifare卡(Adel9200),起始地址由两字节组成:高字节为块号,低字节为区号。如0x0102表示读取2区1块。Len in:要读取数据的长度。对于Mifare卡(Adel9200)长度为16的整数倍。str in,out:无符字符指针,接收所读取的数据。对于Mifare卡(A90)同时作为输入参数传入所读区的授权密码,由7个字节组成:第一个字节为授权码:若为0需核对A密码,若为1需核对B密码,后6个字节为密码。返回值:见注1。15、WriteIC(Lock3200K,Lock4200D,Lock7200D,Lock9200T、A30,A90支持)写数据到IC卡。(Lock3200K:建议用户数据存储在0x80及以后的字节;Lock9200T:建议用户数据存储在0x18及以后的8个字节)。函数原形:int WriteIC(unsigned int start, unsigned int len, unsigned char *str);参数:start in:起始地址,指定数据写的位置;对于Mifare卡(Adel9200),起始地址由两字节组成:高字节为块号,低字节为区号。如0x0102表示读取2区1块。Len in:写入数据的长度。对于Mifare卡(Adel9200)长度为16的整数倍。Str in:无符字符指针,要写入IC卡的数据。对于Mifare卡(A90)前7个字节传入所读区的授权密码:第一个字节为授权码:若为0需核对A密码,若为1需核对B密码,后6个字节为密码。从第8个字节开始为写入的数据。返回值:见注1。16、WriteMagCard写磁卡,建议用户数据存储在1、2轨,门锁系统使用第3轨。函数原形:int WriteMagCard(char *track1, char * track2, char * track3);参数:track1 in:字符串指针,磁卡第1轨数据,如不写此轨可为NULL。track2 in:字符串指针,磁卡第2轨数据,如不写此轨可为NULL。track3 in:字符串指针,磁卡第3轨数据,如不写此轨可为NULL。返回值:见注1。17、 ReadMagCard读磁卡。函数原形:int ReadMagCard(char * track1, char * track2, char * track3);参数:track1 out:字符串指针,接收磁卡第1轨数据,如不读此轨为NULL。track2 out:字符串指针,接收磁卡第2轨数据,如不读此轨为NULL。track3 out:字符串指针,接收磁卡第3轨数据,如不读此轨为NULL。返回值:见注1。18、 Reader_Beep蜂鸣器。函数原形:int Reader_Beep (int Sound);参数:Sound in:指定声音和LED状态。11-绿灯1秒,长叫一声;12-红灯1秒,长叫一声;15-红灯1秒,短叫两声;16-短叫一声。返回值:见注1。三、网络节电开关函数19、GetBuffInfo函数原形:int GetBuffInfo (unsigned char *buff,int len,int *cardtype,int *cardst,int *cardno,char *roomno,char *username,char *stime);参数:buff in:无符字符指针,卡上数据。len in:数据长度(字节)。cardtypeout:整型指针,接收卡型:1-总裁卡,2-别墅卡,3-管理卡,4-总控卡,5-时钟卡,6-领班卡,7-楼层卡,8-清洁卡,9-客人卡,10-终止卡,11-会议卡,12-应急卡,13-退房卡,14-备用卡;可以为NULL。cardstout:整型指针,接收卡状态:1-正常,3-注销,4-遗失,5-损毁,6-过期;可以为NULL。cardnoout:整型指针,接收卡号,可以为NULL。roomnoout:字符指针,接收客人卡/备用卡房号,领班卡/楼层卡/清洁卡区域。不小于20字节,可以为NULL。usernameout:字符指针,接收客人姓名,不小于20字节,可以为NULL。返回值:见注1。stimeout:字符指针,接收客人卡/清洁卡有效期,不小于28字节,可以为NULL。格式yyyymmddhhnnyyyymmddhhnn,例如:“200012311230200101011230”表示2000年12月31日12时30分到2001年1月1日12时30分。返回值:见注1。20、GetMagBuffInfo函数原形:int GetMagBuffInfo (char *buff, int *cardtype,int *cardst,int *cardno,char *roomno,char *username,char *stime);参数:buff in:字符串指针,磁卡数据。cardtypeout:整型指针,接收卡型:1-总裁卡,2-别墅卡,3-管理卡,4-总控卡,5-时钟卡,6-领班卡,7-楼层卡,8-清洁卡,9-客人卡,10-终止卡,11-会议卡,12-应急卡,13-退房卡,14-备用卡;可以为NULL。cardstout:整型指针,接收卡状态:1-正常,3-注销,4-遗失,5-损毁,6-过期;可以为NULL。cardnoout:整型指针,接收卡号,可以为NULL。roomnoout:字符指针,接收客人卡/备用卡房号,领班卡/楼层卡/清洁卡区域。不小于20字节,可以为NULL。usernameout:字符指针,接收客人姓名,不小于20字节,可以为NULL。返回值:见注1。stimeout:字符指针,接收客人卡/清洁卡有效期,不小于28字节,可以为NULL。格式yyyymmddhhnnyyyymmddhhnn,例如:“200012311230200101011230”表示2000年12月31日12时30分到2001年1月1日12时30分。返回值:见注1。21、GetCardInfo函数原形:int GetCardInfo(int cardno,int cardtype,int *cardst, char *roomno,char *username,char *stime);参数:cardno in:卡号。cardtypein:卡型。cardstout:整型指针,接收卡状态:1-正常,3-注销,4-遗失,5-损毁,6-过期;可以为NULL。roomnoout:字符指针,接收客人卡/备用卡房号,领班卡/楼层卡/清洁卡区域。不小于20字节,可以为NULL。usernameout:字符指针,接收客人姓名,不小于20字节,可以为NULL。stimeout:字符指针,接收客人卡/清洁卡有效期,不小于28字节,可以为NULL。

温馨提示

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

评论

0/150

提交评论