《UHFReader18CSharp.DLL动态连接库使用手册V2.5培训讲学.doc》由会员分享,可在线阅读,更多相关《UHFReader18CSharp.DLL动态连接库使用手册V2.5培训讲学.doc(58页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Good is good, but better carries it.精益求精,善益求善。UHFReader18CSharp.DLL动态连接库使用手册V2.5-UHFReader18CSharp.DLL动态连接库使用手册V2.51.操作系统:12.函数详单:12.1)通用函数:12.2)EPCC1-G2协议函数:22.3)18000-6B协议函数:43.函数的描述:53.1)通用函数:53.1.1)AutoOpenComPort():自动连接串口53.1.2)OpenComPort():连接到指定串口63.1.3)CloseComPort():关闭串口连接73.1.4)CloseSpecCo
2、mPort():关闭指定串口73.1.5)GetReaderInformation():获得读写器的信息73.1.6)WriteComAdr():写入读写器地址83.1.7)WriteScanTime():设置询查命令最大响应时间93.1.8)SetPowerDbm():设置读写器功率93.1.9)Writedfre():设置读写器工作频率93.1.10)Writebaud():设置串口波特率103.1.11)SetWGParameter():设置韦根参数113.1.12)SetWorkMode():设置工作模式113.1.13)GetWorkModeParameter():读取工作模式参数1
3、23.1.14)ReadActiveModeData():读取主动模式数据-133.1.15)SetAccuracy():EAS检测精度测试-133.1.16)SetOffsetTime():设置Syris命令响应偏置时间-133.1.17)SetFhssMode():设置读写器跳频模式143.1.18)GetFhssMode():获取读写器跳频模式-143.1.19)SetTriggerTime():获取读写器跳频模式-153.1.20)BuzzerAndLEDControl():声光控制命令-153.1.21)SetRelay():设置继电器动作-163.1.22)OpenNetPort(
4、):连接网口163.1.23)CloseNetPort():关闭网口173.2)EPCC1-G2协议函数:173.2.1)Inventory_G2():G2询查命令173.2.2)ReadCard_G2():G2读取数据命令183.2.3)WriteCard_G2():G2写命令193.2.4)EraseCard_G2():G2块擦除命令203.2.5)SetCardProtect_G2():G2设定存储区读写保护状态命令213.2.6)DestroyCard_G2():G2销毁卡片命令223.2.7)WriteEPC_G2():G2写EPC号命令233.2.8)SetReadProtect_
5、G2():G2单张读保护设置命令233.2.9)SetMultiReadProtect_G2():G2单张读保护设置命令(不需卡号)243.2.10)RemoveReadProtect_G2():G2解锁读保护命令253.2.11)CheckReadProtected_G2():G2测试卡片是否被读保护命令253.2.12)SetEASAlarm_G2():G2EAS报警设置命令263.2.13)CheckEASAlarm_G2():G2EAS报警探测命令273.2.14)LockUserBlock_G2():G2user区块锁命令(永久锁定)273.2.15)WriteBlock_G2():
6、G2块写命令283.3)18000-6B协议函数:293.3.1)Inventory_6B():6B寻查命令(单张)293.3.2)Inventory2_6B():6B按条件寻查电子标签命令303.3.3)ReadCard_6B():6B读数据命令303.3.4)WriteCard_6B():6B写数据命令313.3.5)CheckLock_6B():6B锁定检测命令323.3.6)LockByte_6B():6B锁定命令324.其他返回值定义335.错误代码定义34-上位机应用程序通过UHFReader18CSharp.DLL操作EPCC1-G2、18000-6B格式电子标签读写器。1. 操
7、作系统:WINDOWS2000/XP2. 函数详单:UHFReader18CSharp.DLL包括了如下的操作函数:2.1)通用函数:1)FunctionintStaticClassReaderB.AutoOpenComPort(int*Port,unsignedchar*ComAdr,unsignedchar*Baud,int*FrmHandle);2)FunctionintStaticClassReaderB.OpenComPort(intPort,unsignedchar*ComAdr,unsignedchar*Baud,int*FrmHandle);3)FunctionintStati
8、cClassReaderB.CloseComPort(void);4)FunctionintStaticClassReaderB.WINAPICloseSpecComPort(intFrmHandle);5)FunctionintStaticClassReaderB.GetReaderInformation(unsignedchar*ComAdr,unsignedchar*VersionInfo,unsignedchar*ReaderType,unsignedchar*TrType,unsignedchar*dmaxfre,unsignedchar*dminfre,unsignedchar*p
9、owerdBm,unsignedchar*ScanTime,intFrmHandle);6)FunctionintStaticClassReaderB.WriteComAdr(unsignedchar*ComAdr,unsignedchar*ComAdrData,intFrmHandle);7)FunctionintStaticClassReaderB.WriteScanTime(unsignedchar*ComAdr,unsignedchar*ScanTime,intFrmHandle);8)FunctionintStaticClassReaderB.SetPowerDbm(unsigned
10、char*ComAdr,unsignedchar*powerDbm,intFrmHandle);9)FunctionintStaticClassReaderB.Writedfre(unsignedchar*ComAdr,unsignedchar*dmaxfre,unsignedchar*dminfre,intFrmHandle);10)FunctionintStaticClassReaderB.Writebaud(unsignedchar*ComAdr,unsignedchar*baud,intFrmHandle);11)FunctionintStaticClassReaderB.SetWGP
11、arameter(unsignedchar*ComAdr,unsignedcharWg_mode,unsignedcharWg_Data_Inteval,unsignedcharWg_Pulse_Width,unsignedcharWg_Pulse_Inteval,intFrmHandle);12)FunctionintStaticClassReaderB.SetWorkMode(unsignedchar*ComAdr,unsignedchar*Parameter,intFrmHandle);13)FunctionintStaticClassReaderB.GetWorkModeParamet
12、er(unsignedchar*ComAdr,unsignedchar*Parameter,intFrmHandle);14)FunctionintStaticClassReaderB.ReadActiveModeData(unsignedchar*ActiveModeData,unsignedchar*Datalength,intFrmHandle);15)FunctionintStaticClassReaderB.SetAccuracy(unsignedchar*ComAdr,unsignedcharAccuracy,longFrmHandle);16)FunctionintStaticC
13、lassReaderB.SetOffsetTime(unsignedchar*ComAdr,unsignedcharOffsetTime,longFrmHandle);17)FunctionintStaticClassReaderB.SetFhssMode(unsignedchar*ComAdr,unsignedcharFhssMode,longFrmHandle);18)FunctionintStaticClassReaderB.GetFhssMode(unsignedchar*ComAdr,unsignedchar*FhssMode,longFrmHandle);19)Functionin
14、tStaticClassReaderB.SetTriggerTime(unsignedchar*ComAdr,unsignedchar*TriggerTime,longFrmHandle);20)FunctionintStaticClassReaderB.BuzzerAndLEDControl(unsignedchar*ComAdr,unsignedcharAvtiveTime,unsignedcharSilentTime,unsignedcharTimes,intFrmHandle);21)FunctionintStaticClassReaderB.SetRelay(unsignedchar
15、*ComAdr,unsignedcharRelayStatue,longFrmHandle);22)FunctionintStaticClassReaderB.OpenNetPort(intPort,LPSTRIPaddr,unsignedchar*ComAdr,intFrmHandle);23)FunctionintStaticClassReaderB.CloseNetPort(intFrmHandle);2.2)EPCC1-G2协议函数:1)FunctionintStaticClassReaderB.Inventory_G2(unsignedchar*ComAdr,unsignedchar
16、AdrTID,unsignedcharLenTID,unsignedcharTIDFlag,unsignedchar*EPClenandEPC,int*Totallen,int*CardNum,intFrmHandle);2)FunctionintStaticClassReaderB.ReadCard_G2(unsignedchar*ComAdr,unsignedchar*EPC,unsignedchar*Mem,unsignedchar*WordPtr,unsignedchar*Num,unsignedchar*Password,unsignedcharmaskadr,unsignedcha
17、rmaskLen,unsignedcharmaskFlag,unsignedchar*Data,unsignedchar*EPClength,unsignedchar*errorcode,intFrmHandle);3)FunctionintStaticClassReaderB.WriteCard_G2(unsignedchar*ComAdr,unsignedchar*EPC,unsignedchar*Mem,unsignedchar*WordPtr,unsignedchar*Writedatalen,unsignedchar*Writedata,unsignedchar*Password,u
18、nsignedcharmaskadr,unsignedcharmaskLen,unsignedcharmaskFlag,intWrittenDataNum,unsignedchar*EPClength,unsignedchar*errorcode,intFrmHandle);4)FunctionintStaticClassReaderB.EraseCard_G2(unsignedchar*ComAdr,unsignedchar*EPC,unsignedchar*Mem,unsignedchar*WordPtr,unsignedchar*Num,unsignedchar*Password,uns
19、ignedcharmaskadr,unsignedcharmaskLen,unsignedcharmaskFlag,unsignedchar*EPClength,unsignedchar*errorcode,intFrmHandle);5)FunctionintStaticClassReaderB.SetCardProtect_G2(unsignedchar*ComAdr,unsignedchar*EPC,unsignedchar*select,unsignedchar*setprotect,unsignedchar*Password,unsignedcharmaskadr,unsignedc
20、harmaskLen,unsignedcharmaskFlag,unsignedchar*EPClength,unsignedchar*errorcode,intFrmHandle);6)FunctionintStaticClassReaderB.DestroyCard_G2(unsignedchar*ComAdr,unsignedchar*EPC,unsignedchar*Password,unsignedcharmaskadr,unsignedcharmaskLen,unsignedcharmaskFlag,unsignedchar*EPClength,unsignedchar*error
21、code,intFrmHandle);7)FunctionintStaticClassReaderB.WriteEPC_G2(unsignedchar*ComAdr,unsignedchar*Password,unsignedchar*WriteEPC,unsignedchar*WriteEPClen,unsignedchar*errorcode,intFrmHandle);8)FunctionintStaticClassReaderB.SetReadProtect_G2(unsignedchar*ComAdr,unsignedchar*EPC,unsignedchar*Password,un
22、signedcharmaskadr,unsignedcharmaskLen,unsignedcharmaskFlag,unsignedchar*EPClength,unsignedchar*errorcode,intFrmHandle);9)FunctionintStaticClassReaderB.SetMultiReadProtect_G2(unsignedchar*ComAdr,unsignedchar*Password,unsignedchar*errorcode,intFrmHandle);10)FunctionintStaticClassReaderB.RemoveReadProt
23、ect_G2(unsignedchar*ComAdr,unsignedchar*Password,unsignedchar*errorcode,intFrmHandle);11)FunctionintStaticClassReaderB.CheckReadProtected_G2(unsignedchar*ComAdr,unsignedchar*readpro,unsignedchar*errorcode,intFrmHandle);12)FunctionintStaticClassReaderB.SetEASAlarm_G2(unsignedchar*ComAdr,unsignedchar*
24、EPC,unsignedchar*Password,unsignedcharmaskadr,unsignedcharmaskLen,unsignedcharmaskFlag,unsignedchar*EAS,unsignedchar*EPClength,unsignedchar*errorcode,intFrmHandle);13)FunctionintStaticClassReaderB.CheckEASAlarm_G2(unsignedchar*ComAdr,unsignedchar*errorcode,intFrmHandle);14)FunctionintStaticClassRead
25、erB.LockUserBlock_G2(unsignedchar*ComAdr,unsignedchar*EPC,unsignedchar*Password,unsignedcharmaskadr,unsignedcharmaskLen,unsignedcharmaskFlag,unsignedchar*BlockNum,unsignedchar*EPClength,unsignedchar*errorcode,intFrmHandle);15)FunctionintStaticClassReaderB.WriteBlock_G2(unsignedchar*ComAdr,unsignedch
26、ar*EPC,unsignedchar*Mem,unsignedchar*WordPtr,unsignedchar*Writedatalen,unsignedchar*Writedata,unsignedchar*Password,unsignedcharmaskadr,unsignedcharmaskLen,unsignedcharmaskFlag,intWrittenDataNum,unsignedchar*EPClength,unsignedchar*errorcode,intFrmHandle);2.3)18000-6B协议函数:3. 1)FunctionintStaticClassR
27、eaderB.Inventory_6B(unsignedchar*ComAdr,unsignedchar*ID_6B,intFrmHandle);2)FunctionintStaticClassReaderB.Inventory2_6B(unsignedchar*ComAdr,unsignedchar*Condition,unsignedchar*StartAddress,unsignedchar*mask,unsignedchar*ConditionContent,unsignedchar*ID_6B,int*Cardnum,intFrmHandle);3)FunctionintStatic
28、ClassReaderB.ReadCard_6B(unsignedchar*ComAdr,unsignedchar*ID_6B,unsignedchar*StartAddress,unsignedchar*Num,unsignedchar*Data,unsignedchar*errorcode,intFrmHandle);4)FunctionintStaticClassReaderB.WriteCard_6B(unsignedchar*ComAdr,unsignedchar*ID_6B,unsignedchar*StartAddress,unsignedchar*Writedata,unsig
29、nedchar*Writedatalen,unsignedchar*writtenbyte,unsignedchar*errorcode,intFrmHandle);5)FunctionintStaticClassReaderB.LockByte_6B(unsignedchar*ComAdr,unsignedchar*ID_6B,unsignedchar*Address,unsignedchar*errorcode,intFrmHandle);6)FunctionintStaticClassReaderB.CheckLock_6B(unsignedchar*ComAdr,unsignedcha
30、r*ID_6B,unsignedchar*Address,unsignedchar*ReLockState,unsignedchar*errorcode,intFrmHandle);函数的描述:3.1)通用函数:3.1.1)AutoOpenComPort():自动连接串口功能描述:该函数用于自动识别与读写器连接的串口并且执行初始化操作,然后通过连接串口和读写器以创建通信连接。数据传输协议是57600bps,8位数据,1停止位,没有奇偶校验位。在调用其它函数之前,您必须先连接串口和读写器。应用:FunctionintStaticClassReaderB.AutoOpenComPort(int*P
31、ort,unsignedchar*ComAdr,unsignedchar*Baud,int*FrmHandle);参数:Port:输出变量,COM1COM12与读写器连接的串口号。ComAdr:输入/输出变量,远距离读写器的地址。以广播地址(0xFF)调用此函数,函数将检测各个端口,并将检测到的连接有读写器的端口以及该端口上读写器的实际地址回写到指针Port和ComAdr所指变量中;以其它地址调用此函数,将在各个端口检测是否连接了具有指定ComAdr地址的读写器,并将检测到的端口号回写到指针Port所指变量中。Baud:输入变量,用该值设置或更改串口通讯控件的波特率。baudrate实际波特率
32、09600bps119200bps238400bps456000bps557600bps6115200bpsFrmHandle:输出变量,返回与读写器连接端口对应的句柄,应用程序通过该句柄可以操作连接在相应端口的读写器。如果打开不成功,返回的句柄值为-1.COM1-COM12的含义如下:#defineCOM11#defineCOM22#defineCOM33#defineCOM44#defineCOM55#defineCOM66#defineCOM77#defineCOM88#defineCOM99返回:如果该函数调用成功,返回一个零值。否则,返回非零值请查看其他返回值定义,返回的错误代码请查
33、看错误代码定义。3.1.2)OpenComPort():连接到指定串口功能描述:该函数用于指定串口初始化,并通过连接串口和读写器以创建通信连接。数据传输协议是57600bps,8位数据,1位停止位,没有奇偶校验位。在调用其它函数之前,您必须先连接串口和读写器。应用:FunctionintStaticClassReaderB.OpenComPort(intPort,unsignedchar*ComAdr,unsignedchar*Baud,intFrmHandle);参数:Port:输入变量,COM1COM12常数。ComAdr:输入/输出变量,远距离读写器的地址。以广播地址(0xFF)调用此函
34、数,函数将检测指定端口,并将检测到的连接在此端口上的读写器的实际地址回写到指针ComAdr所指变量中;以其它地址调用此函数,将检测指定端口上是否连接了具有指定ComAdr地址的读写器。Baud:输入变量,用该值设置或更改串口通讯控件的波特率。baudrate实际波特率09600bps119200bps238400bps456000bps557600bps6115200bpsFrmHandle:输出变量,返回与读写器连接端口对应的句柄,应用程序通过该句柄可以操作连接在相应端口的读写器。如果打开不成功,返回的句柄值为-1.COM1-COM12的定义如下:#defineCOM11#defineCOM
35、22#defineCOM33#defineCOM44#defineCOM55#defineCOM66#defineCOM77#defineCOM88#defineCOM99返回:如果该函数调用成功,返回一个零值。否则,返回非零值请查看其他返回值定义,返回的错误代码请查看错误代码定义。3.1.3)CloseComPort():关闭串口连接功能描述:该函数用于撤销串口和读写器的连接并释放相应资源。在一些开发环境里,串口资源必须在离开该程序前被释放,否则可能会造成系统不稳定。应用:FunctionintStaticClassReaderB.CloseComPort(void);参数:无返回:如果该函
36、数调用成功,返回一个零值。否则,返回非零值请查看其他返回值定义,返回的错误代码请查看错误代码定义。3.1.4)CloseSpecComPort():关闭指定串口功能描述:该函数用于关闭指定串口。应用:FunctionintStaticClassReaderB.CloseSpecComPort(intFrmHandle);参数:FrmHandle:输入变量,COM1COM12常数。COM1-COM12的定义如下:#defineCOM11#defineCOM22#defineCOM33#defineCOM44#defineCOM55#defineCOM66#defineCOM77#defineCO
37、M88#defineCOM99返回:如果该函数调用成功,返回一个零值。否则,返回非零值请查看其他返回值定义,返回的错误代码请查看错误代码定义。3.1.5)GetReaderInformation():获得读写器的信息功能描述:执行该命令后,将获得读写器的信息,这其中包括读写器地址(ComAdr)和读写器软件版本(VersionInfo)的信息等多项信息。应用:FunctionintStaticClassReaderB.GetReaderInformation(unsignedchar*ComAdr,unsignedchar*VersionInfo,unsignedchar*ReaderType
38、,unsignedchar*TrType,unsignedchar*dmaxfre,unsignedchar*dminfre,unsignedchar*powerdBm,unsignedchar*ScanTime,intFrmHandle);参数:ComAdr:输入/输出变量,远距离读写器的地址。以广播地址(0xFF)调用此函数,ComAdr将返回读写器的实际地址,以其它地址调用此函数,将由ComAdr地址指定的读写器执行此函数命令。VersionInfo:指向输出数组变量(输出的是每字节都转化为字符的数据),远距离读写器版本信息,长度2个字节。第1个字节为版本号,第2个字节为子版本号。Rea
39、derType:输出变量,读写器类型代码,0x61代表UHFReader18。TrType:指向输出数组变量(输出的是每字节都转化为字符的数据),读写器协议支持信息,长度2个字节,具体定义请参见用户手册。(bit1为1表示支持18000-6c协议,其它位保留。Bit0为1表示18000-6B协议。)Dmaxfre:输出变量,当前读写器使用的最高频率。Dminfre:输出变量,当前读写器使用的最低频率。实际频率计算公式为:Fs=902.6+Nx0.4(MHz)其中N0,62。N代表dmaxfre或dminfre。PowerdBm:输出变量,读写器的输出功率。范围是0到18,当PowerdBm为0
40、x00时,表示读写器的输出功率未知。ScanTime:输出变量,读写器询查命令最大响应时间。FrmHandle:输入变量,返回与读写器连接端口对应的句柄,应用程序通过该句柄可以操作连接在相应端口的读写器。如果打开不成功,返回的句柄值为-1.返回:如果该函数调用成功,返回一个零值。否则,返回非零值请查看其他返回值定义,返回的错误代码请查看错误代码定义。3.1.6)WriteComAdr():写入读写器地址功能描述:执行该命令后,读写器将会把读写器地址改为用户给定的值,并把这个值写入EEPROM保存。出厂时默认值是0x00。允许用户的修改范围是0x000xfe。当用户写入的值是0xff时,读写器将
41、会自动恢复成默认值0x00。应用:FunctionintStaticClassReaderB.WriteComAdr(unsignedchar*ComAdr,unsignedchar*ComAdrData,intFrmHandle);参数:ComAdr:输入变量,原先的读写器地址ComAdrData:输入变量,一个字节,待写入的读写器地址FrmHandle:输入变量,返回与读写器连接端口对应的句柄,应用程序通过该句柄可以操作连接在相应端口的读写器。如果打开不成功,返回的句柄值为-1.返回:如果该函数调用成功,返回一个零值。否则,返回非零值请查看其他返回值定义,返回的错误代码请查看错误代码定义。
42、3.1.7)WriteScanTime():设置询查命令最大响应时间功能描述:询查命令的最大响应时间范围是3255*100ms,默认值为30*100ms。应用:FunctionintStaticClassReaderB.WriteScanTime(unsignedchar*ComAdr,unsignedchar*ScanTime,intFrmHandle);参数:ComAdr:输入变量,读写器地址ScanTime:输入变量,一个字节,询查命令响应时间FrmHandle:输入变量,返回与读写器连接端口对应的句柄,应用程序通过该句柄可以操作连接在相应端口的读写器。如果打开不成功,返回的句柄值为-1
43、.返回:如果该函数调用成功,返回一个零值。否则,返回非零值请查看其他返回值定义,返回的错误代码请查看错误代码定义。3.1.8)SetPowerDbm():设置读写器功率功能描述:本命令用来设置读写器功率。应用:FunctionintStaticClassReaderB.SetPowerDbm(unsignedchar*ComAdr,unsignedchar*powerDbm,intFrmHandle);参数:ComAdr:输入变量,读写器地址Powerdbm:输入变量,一个字节。读写器的输出功率。取值范围是018。FrmHandle:输入变量,返回与读写器连接端口对应的句柄,应用程序通过该句柄
44、可以操作连接在相应端口的读写器。如果打开不成功,返回的句柄值为-1.返回:如果该函数调用成功,返回一个零值。否则,返回非零值请查看其他返回值定义,返回的错误代码请查看错误代码定义。3.1.9)Writedfre():设置读写器工作频率功能描述:此命令设置读写器工作地上限频率,下限频率。上限频率必须大于或等于下限频率。应用:FunctionintStaticClassReaderB.Writedfre(unsignedchar*ComAdr,unsignedchar*dmaxfre,unsignedchar*dminfre,intFrmHandle);参数:ComAdr:输入变量,读写器地址dm
45、axfre:输入变量,一个字节。读写器工作的最大频率。取值范围是062。dminfre:输入变量,一个字节。读写器工作的最小频率。取值范围是062MinFre必须小于等于MaxFre。FrmHandle:输入变量,返回与读写器连接端口对应的句柄,应用程序通过该句柄可以操作连接在相应端口的读写器。如果打开不成功,返回的句柄值为-1。返回:如果该函数调用成功,返回一个零值。否则,返回非零值请查看其他返回值定义,返回的错误代码请查看错误代码定义。3.1.10)Writebaud():设置串口波特率功能描述:此命令用来更改读写器的串口波特率。应用:FunctionintStaticClassReade
46、rB.Writebaud(unsignedchar*ComAdr,unsignedchar*baud,intFrmHandle);参数:ComAdr:输入变量,读写器地址baud:输入变量,一个字节。读写器上电后,波特率默认为57600。Baud的范围是06。其它值保留。其对应的波特率为:baudrate实际波特率09600bps119200bps238400bps456000bps557600bps6115200bps其中虽然读写器支持baudrate3实际波特率43000,但在DLL中的ApdComPort控件不支持波特率43000。FrmHandle:输入变量,返回与读写器连接端口对应的
47、句柄,应用程序通过该句柄可以操作连接在相应端口的读写器。如果打开不成功,返回的句柄值为-1。返回:如果该函数调用成功,返回一个零值。否则,返回非零值请查看其他返回值定义,返回的错误代码请查看错误代码定义。3.1.11)SetWGParameter():设置韦根参数功能描述:此命令用来设置韦根参数。应用:FunctionintStaticClassReaderB.SetWGParameter(unsignedchar*ComAdr,unsignedcharWg_mode,unsignedcharWg_Data_Inteval,unsignedcharWg_Pulse_Width,unsignedcharWg_Pulse_Inteval,intFrmHandle);参数:ComAdr:输入变量,读写器地址Wg_mode:输入变量,一个字节。Bit0:韦根26,34选择位。Bit0=0时,选择韦根26,Bit0=1时选择韦根34.Bit1