• IC-10MRW型MODBUS读写器适用S50、S70射频卡。
  • IC-10MRW型MODBUS读写器能通过MODBUS-RTU方式与PLC通信,MODBUS读器为从站(出厂一般默认站号为2)、PLC为主站,通讯参数:波特率,N,8,1(出厂默认19200,波特率有4800,9600,19200,38400四档可设,设定方法请看第四点)。需要实现即时刷卡功能,可用PLC设备每隔0.2秒用06功能码写8到第7寄存器 驱动读卡一次。
  • 寄存器说明
  • MODBUS RTU读写器寄存器说明_数据

寄 存 器 表

00007寄存器说明





7位



6位



5位



4位



3位



2位



1位



0位


当写寄存器时


写1驱动存入第一操作空间和第二操作空间的密码,等同于刷密码卡设定,


写值时本寄存器其他位必须为0,否则此指令无效。


为1表示0064~0069寄存器中的密码作为临时密码,及0058和0059寄存器指定的区号进行读写卡,

0064~0069中0064~0066为第1空间,0067~0069为第2空间,

为0表示用密码卡设定的密码、模式及区号读写卡

无定义


为1表示仅读或写指定卡号的卡,指定卡号放在寄存器00008,00009,7字节卡号再用上00004~00006寄存器


当6位为1时,为1驱动读00058寄存器指定的区


当6位为0时,为1驱动读密码卡设定的区


当6位为1时,为1驱动写00058寄存器指定的区


当6位为0时,为1驱动写密码卡设定的区


可以写0清零


无定义




可以写0清零


当读寄存器时


如果设定成功:返回1,否则为0


0


为1表示IC卡密码错,对应IC卡的密码要通过密码管理卡在MODUBS读卡器上设定


为1表示有卡在感应区


0


0


为1表示读00058寄存器指定区或密码卡设定的区成功(在主动读书模式下,刷卡成功也为1)

为1表示写00058寄存器指定区或密码卡设定的区成功






15位



14位



13位



12位



11位



10位



9位



8位


当写寄存器时


保留


保留


写1设定主/被动刷卡模式,

主动或被动以12位的值为准。

不会自动清零


同时本寄存器除13位、12位外的其他位必须为0,否则此指令无效。

1为刷卡时读出卡号和扇区内容,


0为被动等待指令读扇区内容。

同时本寄存器除13位、12位外的其他位必须为0,否则此指令无效


当6位为1时,为1驱动读00059寄存器指定的区


当13位为0时,为1驱动读密码卡设定的区


当6位为1时,为1驱动写00059寄存器指定的区


当13位为0时,为1驱动写密码卡设定的区


可以写0清零


无定义

可以写0清零


当读寄存器时


0


0


0


1:刷卡读出卡序列号扇区内容及,


0:刷卡只读卡序列号。


0


0


为1表示读00059寄存器指定区或密码卡设定的区成功(在主动读书模式下,刷卡成功也为1)

为1表示写00059寄存器指定区或密码卡设定的区成功


00007寄存器操作实例

功能


操作方向


数值

说明


十六进制数

十进制数


开机时设定主动读扇区模式(主动模式)



写入



3000



12288



写一个寄存器,用06或10功能码写入



读出



1000



4096



用03功能码读,12位为1表示设置成功,可以把左表格的单元值,除以4096(十进制)再取模(MOD)2,最后结果为1表示成功,为0表示不成功。

如左表格单元的值,都表示成功。



开机时设定需写值驱动读扇区模式

叫做被动模式(出厂默认模式)



写入



2000



8192



写一个寄存器,用06或10功能码写入



读出



0000




0



用03功能码读,12位为0表示设置成功,

如左表格单元的值,都表示成功。




主动读扇区模式下直接读取0007寄存器



读出



1000



4096



用03功能码读出,表示无卡在感应区。



1212



4626



用03功能码读出,表示读两个操作空间的扇区成功,卡号返回存在0008-0009寄存器,数据返回存在0010-0057的寄存器。



1012



4114



用03功能码读出,表示读第一操作空间扇区数据成功,且第二操作空间未启用,卡号返回存在0008-0009寄存器。



1210



4624



用03功能码读出,表示读第二操作空间扇区数据成功,且第一操作空间未启用,卡号返回存在0008-0009寄存器。



1030



4144



用03功能码读出,表示IC卡密码错误,请修改可片密码或修改读写器密码,卡号返回存在0008-0009寄存器中。



被动读扇区模式下直接读取0007寄存器



读出



0000



0



用03功能码读出,表示无卡在感应区。



0010



16



用03功能码读出,表示感应到卡在感应区,返回卡号存在0008-0009寄存器。



写值驱动读卡扇区数据

(读写器在主动或被动模式下都可以驱动)



写入



0008



8



用06或10功能码写入一个寄存器,按照读写器默认的扇区和密码驱动读取第一操作空间扇区数据。



0800



2048



用06或10功能码写入一个寄存器,按照读写器默认的扇区和密码驱动读取第二操作空间扇区数据。



0808



2056



用06或10功能码写入一个寄存器,按照读写器默认的扇区和密码驱动读取两个操作空间的扇区数据。



0048



72



用06或10功能码写入一个寄存器,按照读写器临时的扇区和密码驱动读取第一操作空间扇区数据,临时扇区和密码赋值请查看地址表说明。



0840



2112



用06或10功能码写入一个寄存器,按照读写器临时的扇区和密码驱动读取第二操作空间扇区数据,临时扇区和密码赋值请查看地址表说明。



0848



2120



用06或10功能码写入一个寄存器,按照读写器临时的扇区和密码驱动读取两个操作空间的扇区数据,临时扇区和密码赋值请查看地址表说明。



读出



0000



0



用03功能码读取,表示无卡在(被动模式下驱动)



1000



4096



用03功能码读取,表示无卡在(主动模式下驱动)



0012



18



用03功能码读取,表示读取第一操作空间的扇区成功,数据返回存在0010-0033寄存器中(被动模式下驱动)。



1012



4114



用03功能码读取,表示读取第一操作空间的扇区成功,数据返回存在0010-0033寄存器中(主动动模式下驱动)。



0210



530



用03功能码读取,表示读取第二操作空间的扇区成功,数据返回存在0034-0057寄存器中(被动模式下驱动)。



1200



4608



用03功能码读取,表示读取第二操作空间的扇区成功,数据返回存在0034-0057寄存器(主动动模式下驱动)。



0212



530



用03功能码读取,表示读两个操作空间的扇区成功,数据返回存在0010-0057寄存器(被动模式下驱动)。



1212



4626



用03功能码读取,表示读两个操作空间的扇区成功,数据返回存在0010-0057寄存器(主动模式下驱动)。



0030



48



用03功能码读取,表示卡密码错误,(被动模式下驱动)



1030



4144



用03功能码读取,表示卡密码错误,(主动模式下驱动)



写值驱动写卡扇区数据

(读写器在主动或被动模式下都可以驱动)



写入



0004



4



用06或10功能码写入一个寄存器,按照读写器默认的扇区和密码驱动将第一操作空间扇区数据写到卡上。



0400



1024



用06或10功能码写入一个寄存器,按照读写器默认的扇区和密码驱动将第二操作空间扇区数据写到卡上。



0404



1028



用06或10功能码写入一个寄存器,按照读写器默认的扇区和密码驱动将两个操作空间的扇区数据写到卡上。,



0044



68



用06或10功能码写入一个寄存器,按照读写器临时的扇区和密码驱动将第一操作空间扇区数据写到卡上,临时扇区和密码赋值请查看地址表说明。



0440



1088



用06或10功能码写入一个寄存器,按照读写器临时的扇区和密码驱动将第二操作空间扇区数据写到卡上,临时扇区和密码赋值请查看地址表说明。



0444



1092



用06或10功能码写入一个寄存器,按照读写器临时的扇区和密码驱动将两个操作空间的扇区数据写到卡上,临时扇区和密码赋值请查看地址表说明。



读出



0000



0



用03功能码读取,表示无卡在(被动模式下驱动)。



1000



4096



用03功能码读取,表示无卡在(主动模式下驱动)。



0011



17



用03功能码读取,表示已成功将第一操作空间的扇区数据写入卡上,(被动模式下驱动)。



1011



4113



用03功能码读取,表示已成功将第一操作空间的扇区数据写入卡上,(主动动模式下驱动)。



0110



272



用03功能码读取,表示已成功将第二操作空间的扇区数据写入卡上,(被动模式下驱动)。



1100



4352



用03功能码读取,表示已成功将第二操作空间的扇区数据写入卡上,(主动动模式下驱动)。



0111



273



用03功能码读取,表示已成功将两个操作空间的扇区数据写入卡上,(被动模式下驱动)。









1111



4369



用03功能码读取,表示已成功将两个空间的扇区数据写入卡上,(主动模式下驱动)。



0030



48



用03功能码读取,表示卡密码错误,(被动模式下驱动)。



1030



4144



用03功能码读取,表示卡密码错误,(主动模式下驱动)。



注:西门子PLC 中的40001寄存器对应于本读写器的0000寄存器,以此类推(下面有关于寄存器的说明都是以本读写器的说明为准)。

0000:存放读卡器的站号(机号),可读可写,写可以更改站号,只能用06功能码或10(十六进制)功能码写1个寄存器的方式。可用03寄存器来读或连读。

0001:设置读卡器参数:刷卡时是否发声,通讯延时应答。仅支持功能码06或10(十六进制)写1个寄存器的方式来写,如:用功能码06写值1表示刷卡发出响声,或者0表示刷卡不发出响声,其他设定请查看软件。

0002:驱动读卡器响声,只能用06功能码或10(十六进制)功能码写1个寄存器的方式来写值驱动响声。可用03寄存器来读或连读。

如写为1表示短滴一声,如下表

表2


1



短滴一声



8



一长两短



2



短滴两声



9



一长三短



3



短滴三声



10



两长一短



4



长鸣一声



11



两长两短



5



长鸣两声



12



两长三短



6



长鸣三声



其他



短滴一声



7



一长一短








0003 存放卡号长度(4、7、10),用03功能码读一个或多个寄存器、写寄存器没有定义。

0004-0006,存放卡号后6个字节。

0007寄存器为读写卡控制寄存器:只能用06功能码或10(十六进制)功能码写1个寄存器的方式来写。可用

03功能码来读或连读。

0008-0009,共2个寄存器存放IC卡前四个字节卡号(4个字节)。

0010-0033,第一操作区,共24个寄存器,对应IC卡的扇区内的48字节内容(0-14扇区,选定一个)。

0034-0057,第二操作区,共24个寄存器,对应IC卡的扇区内的48字节内容(0-14扇区,选定一个)。

0058 第一操作区的区号和A/B密码设定。

0059 第二操作区的区号和A/B密码设定。

0064-0066,第一操作区的临时密码。

0067-0069,第二操作区的临时密码。

0070,支持06和10功能码写寄存器驱动电器1。

0071,支持06和10功能码写寄存器驱动电器2。

0072-0077,暂无定义。

0078-0079,设定刷卡时继电器主动闭合,不需要写值控制,继电器刷卡主动输出开关信号。

0080,控制红绿双色灯,亮或灭或闪。


  • 波特率更改说明

波特率出厂时默认为19200,波特率有4800,9600,19200,38400 ,57600四档可设,在0060寄存器中写入波特率值,再在0061寄存器中写入21930(十六进制为055AA)。如需将波特率改为9600,在0060寄存器写入9600,接着在一秒中内在00061寄存器中写入21930。



  • 通讯校验位更改说明

校验位出厂是为N(None),也就是无校验,共有None无、Odd奇、Even偶、Mask常1、Space常0五种方式可设,在00062寄存器中写入0~4中的一个值(分别对应None、Odd、Even、Mask、Space),再在00063寄存器中写入21930(十六进制为055AA)。也可以采用连写00062、00063两个寄存器,也就是用功能码10(十六进制)。如需将校验为改为为None,在00062寄存器写入0,接着在一秒中内在00062寄存器中写入21930。


  • 数据报文格式

在数据报文层面,寄存器起始地址都是从0开始。数据报文格式:设备地址+功能码+起始地址+寄存器个数+校验码。其中起始地址是从0开始的。

如:从站号2读卡器读取00008开始的两个寄存器数据的报文

发送:

设备地址 功能码 起始地址 寄存器个数 校验码(CRC16)

02 03 00 08 00 02 45 FA

成功返回:

设备地址 功能码 数据长度 数据信息 校验码(CRC16)

02 03 04 28 5B 90 BB 9D 33

其中:285B 90BB 为卡的内码数据(每张卡的卡号是唯一的),寄存器内高字节在前

所以卡号为:

正码为:5B28BB90,转换成十进制为:1529396112;

反码为:90BB285B, 转换成十进制为:2428184667;

IC卡结构


  • IC卡的技术特性

  • 分为16个扇区,每个扇区为4块,每块16个字节,以块为存取单位
  • 每个扇区有独立的一组密码及访问控制
  • 每张卡有唯一序列号,为32位
  • 具有防冲突机制,支持多卡操作
  • 无电源,自带天线,内含加密控制逻辑和通讯逻辑电路
  • 数据保存期为10年,可改写10万次,读无限次
  • 工作温度:-20℃~50℃
  • 工作频率:13.56MHZ
  • 通信速率:106KBPS

  • IC卡的存储结构

卡片实际应用划分结构举例(开发人员自定义的数据结构),比如定义IC卡第3扇区(可选1-14任意一个扇区)0、1、2块的存储结构:


第三扇区



字节



0



1



2



3



4



5



6



7



8



9



A



B



C



D



E



F





0



卡余额(分)






上次消费时间(yyMMddHHmm)









BCC



1



卡余额(备份)






上次消费时间(备份)









BCC



2



























卡类1



可流水号

(Ox000001)






BCC



3



KEY_A






KEY_B


说明:


  1. BCC为所有字节累加和;
  2. 卡片余额为十六进制,字节倒叙,单位:分钱 比如100元钱表示为 10 27 00
  3. 使用KEY_B或KEY_A对卡片进行读写操作。


IC卡存储块与MODBUS读写器寄存器的对应关系


  • 读写器每个操作空间有48个字节,所以可以用两个操作空间来对应IC卡扇区0-14扇区的任意2个扇区

寄存器与IC卡某扇区0、1、2块字节的对应关系。以第一操作空间对应关系为例:


寄存器



00010



00011



00012



00013



00014



00015



00016



00017



块0字节



0



1



2



3



4



5



6



7



8



9



A



B



C



D



E



F



寄存器



00018



00019



00020



00021



00022



00023



00024



00025



块1字节



0



1



2



3



4



5



6



7



8



9



A



B



C



D



E



F



寄存器



00026



00027



00028



00029



00030



00031



00032



00033



块2字节



0



1



2



3



4



5



6



7



8



9



A



B



C



D



E



F