1、温馨提示:如果大家是初次接触 IC 卡读写操作的,建议先了解 IC 卡的结构,然后了解 IC卡是怎么应用于 MODBUS 读写器,最后再根据 MODBUS 读写器寄存器说明进行对 IC 卡的相读、写操作(如果已经比较熟悉 IC 卡的使用,直接看寄存器的说明即可 ).此文档对这些都有比较详细的描述,使用过程中遇到任何问题欢迎咨询,互相讨论学习,手机/微信13660280281,,QQ:3165256411IC 卡结构一、IC 卡的技术特性 分为 16 个扇区,每个扇区为 4 块,每块 16 个字节,以块为存取单位 每个扇区有独立的一组密码及访问控制 每张卡有唯一序列号,为 32 位 具有防冲突机
2、制,支持多卡操作 无电源,自带天线,内含加密控制逻辑和通讯逻辑电路 数据保存期为 10 年,可改写 10 万次,读无限次 工作温度:-2050 工作频率:13.56MHZ 通信速率:106KBPS二、IC 卡的存储结构M1 卡分为 16 个扇区,每个扇区由 4 块(块 0、块 1、块 2、块 3)组成, (我们也将 16 个扇区的 64 个块按绝对地址编号为 063,存贮结构如下图所示:区号 名称 绝对块号 绝对块号 绝对块号 绝对块号(密码区)0 基本信息区 0 1 2 31 4 5 6 72 8 9 10 113 12 13 14 154 16 17 18 195 20 21 22 236
3、 24 25 26 277 28 29 30 318 32 33 34 359 36 37 38 39A 40 41 42 43B 44 45 46 47C 48 49 50 51D 52 53 54 55E 56 57 58 59F4-6360 61 62 63卡片实际应用划分结构举例(开发人员自定义的数据结构) ,比如定义 IC 卡第 3 扇区0、1、2 块的存储结构:说明:1. BCC 为所有字节累加和;2. 卡片余额为十六进制,字节倒叙,单位:分钱 比如 100 元钱表示为 10 27 003. 认证 KEY_B 之后可以对卡片进行读写操作。IC 卡存储块与 MODBUS 读写器寄存器
4、的对应关系三、读写器寄存器仅有 48 个字节来对应 IC 卡,所以只能选用 IC 卡 16 个扇区中的任意 1个扇区来对应。 寄存器与 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
5、 00032 00033块 2字节0 1 2 3 4 5 6 7 8 9 A B C D E FIC 卡应用于 MODBUS 读写器( 附四:PC 端软件 读写 卡测试流程)操作步骤:四、使用密码卡更新 MODBUS 读写器的操作扇区和校验密码,密码卡制作方法如下:在 PC 端运行 IC 卡发卡软件; 选取 1-14 扇区的任意一个区号(MODBUS 读写器只使用一个扇区),自己设定 IC 卡的A、B 密码,将设定的扇区跟密码信息保存起来,方便调试; 连接 USB 发卡器,发卡器需装驱动,用供应商提供的驱动完成安装; 将 IC 卡放在 USB 发卡器感应区,点击制作密码卡按键,制作成功按照提示
6、,将密码卡拿到 MODBUS 读写器感应区刷卡更新扇区和校验密码;其他 IC 卡必须要初始化(密码卡除外),方法如下: 选填好之前制作密码卡时设定的区号跟卡的 A/B 密码; 连接 USB 发卡器,发卡器需装驱动,用供应商提供的驱动完成安装; 将 IC 卡放在 USB 发卡器感应区,点击初始化 IC 卡按键,初始化成功的 IC 卡即可拿到刷过对应密码卡的 MODBUS 读写器上进行读写操作;Modbus 读写器操作初始化成功的 IC 卡五、读、写卡说明 写卡操作:第一步,用 06 或 10(十六进制)指令更新 00010 至 00033 寄存器内容(顺序对应卡内 48 字节内容) ,如果只用到
7、 00010 到 00033 中的几个寄存器,其他寄存器可以不理会(不需要更新)。第二步,用功能码 06(不能用 10)写值 00004 到 00007 寄存器,作用是将 00010 至 00033 寄存器的数据写到卡中。写值 00020(十六进制为 00014)到 00007 寄存器,作用是将 00010 至 00033 寄存器的数据写到指定的卡中,卡号用 00008,00009 寄存器指定。第三步,读 00007 寄存器看是否第 0 位为 1 表示写卡成功。读 00007 寄存器尽量在写 00007寄存器后马上操作。 读卡操作:第一步:用功能码 06(不能用 10)写值 00008 到 0
8、0007 寄存器,作用是将卡上的内容更新到 00010 至 00033 寄存器中。写值 00024(十六进制为 00018)到 00007 寄存器,是将指定卡上的内容更新到00010 至 00033 寄存器中。卡号放到 00008,00009 寄存器。第二步,读 00007 寄存器看是否第 1 位为 1 表示读卡成功,此时 00008、00009、00010 至00033 中的数据才有效。读 00007 寄存器尽量在写 00007 寄存器后马上操作。第三步,用 03 指令读 00010 至 00033 寄存器中的内容。IC-10MRT 型 MODBUS 读写器功能及寄存器说明六、IC-10MR
9、T 型 MODBUS 读写器适用 S50、S70 射频卡。七、IC-10MRT 型 MODBUS 读写器能通过 MODBUS-RTU 方式与 PLC 通信,MODBUS 读写器为从站(出厂一般默认站号为 2)、PLC 为主站,通讯参数:波特率,N,8,1(出厂默认19200,波特率有 4800,9600,19200,38400 四档可设,设定方法请看第九点)。需要实现即时刷卡功能,可用 PLC 设备每隔 0.2 秒读卡一次。八、寄存器说明注:西门子 PLC 中的 40001 寄存器对应于本读写器的 00000 寄存器,以此类推(下面有关于寄存器的说明都是以本读写器的说明为准)。00000:存放
10、读卡器的站号(机号),可读可写,写可以更改站号,只能用 06 功能码,可用 03 寄存器来读或连读。00001:在读写型的 MODBUS 读写器中为无效寄存器。00002:驱动读卡器响声,只能用 06 功能码,可用 03 寄存器来读或连读。如写为 0 表示短滴一声,如下表 表 11 短滴一声2 短滴两声3 短滴三声4 长鸣一声5 长鸣两声6 长鸣三声7 一长一短8 一长两短9 一长三短10 两长一短11 两长两短12 两长三短其他 短滴一声00003 至 00006 寄存器保留,暂不使用00007 寄存器为读写卡控制寄存器:只能用 06 功能码写,可用 03 寄存器来读或连读。表 200008
11、 至 00009 共 2 个寄存器存放 IC 卡卡号(4 个字节) 。00010 至 00033 共 24 个寄存器对应于 IC 卡的扇区内 48 字节内容。九、波特率更改说明波特率出厂时默认为 19200,波特率有 4800,9600,19200,38400 四档可设,在00060 寄存器中写入波特率值,再在 00061 寄存器中写入 21930(十六进制为 055AA)。如需将波特率改为 9600,在 00060 寄存器写入 9600,接着在一秒中内在 00061 寄存器中写入21930。十、通讯校验位更改说明校验位出厂是为 N(None),也就是无校验,共有 None 无、Odd 奇、E
12、ven 偶、Mask 常1、Space 常 0 五种方式可设,在 00062 寄存器中写入 04 中的一个值(分别对应None、Odd、Even、Mask、Space),再在 00063 寄存器中写入 21930(十六进制为 055AA)。也可以采用连写 00062、00063 两个寄存器,也就是用功能码 10(十六进制)。如需将校验为改为为 None,在 00062 寄存器写入 0,接着在一秒中内在 00062 寄存器中写入21930。十一、 数据报文格式在数据报文层面,寄存器起始地址都是从 0 开始。数据报文格式:设备地址+功能码+起始地址+寄存器个数+校验码。其中起始地址是从 0 开始的
13、。如:从站号 2 读卡器读取 00008 开始的两个寄存器数据的报文发送:设备地址 功能码 起始地址 寄存器个数 校验码(CRC16)02 03 00 08 00 02 45 FA成功返回:158 位 76 位 5 位 4 位 3 位 2 位 1 位 0 位自定义 自定义 为 1 表示IC 卡密码错,对应IC 卡的密码要通过密码管理卡在MODUBS 读卡器上设定为 1 表示卡在感应区且返回卡号在00008、00009 寄存器,且读或写仅对指定卡号的卡有效写 1 驱动读卡操作,读寄存器这个位只能读出 0写 1 驱动写卡操作,读寄存器这个位只能读出 0读卡成功 写卡成功设备地址 功能码 数据长度
14、数据信息 校验码(CRC16)02 03 04 28 5B 90 BB 9D 33其中:285B 90BB 为卡的内码数据(每张卡的卡号是唯一的) ,寄存器内高字节在前。所以卡号为:正码为:5B28BB90,转换成十进制为:1529396112;反码为:90BB285B, 转换成十进制为:2428184667;USB 发卡器读写 IC 卡的 DEMO因为大家很多都是初次接触 IC 卡方面的操作,不熟悉 IC 卡信息的读写,所以提供我们usb 读写器 PC 端 DEMO(如需要对发卡器进行二次开发,可以联系厂商提供发卡器的 SDK) ,方便大家在调试时进行 IC 卡数据信息的对比。比如设定制作密码卡时选取的扇区区号是1,A、B 密码都是 111111111111。进行 MODBUS 读写器 IC 卡读写操作后,可以使用该 demo读取或者写 IC 卡数据进行对比调试。附一:MODBUS 读卡器与不同厂家 PLC 的连接西门子 S7-200信捷的 PLC(一体机) ,型号 XP3-18R欧姆龙 CP1E N60 关键的数据格式书写附二:MODBUS 读卡器尺寸与接线示意图(外壳尺寸 ,(长宽高)11.6cm7.5cm 1.5cm)接线网络拓补图接线示意图
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。