PLC MODBUS RTU读写IC卡操作

QQ:954486673
微信:13822155058
淘宝:https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-17663462238.17.1e61e728eBiooZ&id=41901622939

一、MODBUS读写器功能及寄存器说明

  • MODBUS读写器适用S50、S70射频卡。
  • MODBUS读写器能通过MODBUS-RTU方式与PLC通信,MODBUS读写器为从站、PLC为主站,波特率为19200,N,8,1。需要实现即时刷卡功能,可用PLC设备每隔0.2秒读卡一次。
  • 寄存器说明:

    40001:存放读卡器的站号(机号),可读可写,写可以更改站号,只能用06功能码,可用03寄存器来读或连读。

    40002:在读写型的MODBUS读写器为无效寄存器。

    40003:驱动读卡器响声,只能用06功能码,可用03寄存器来读或连读。

                如写为0表示短滴一声,见下表

0

短滴一声

1

短滴两声

2

短滴三声

3

长鸣一声

4

长鸣两声

5

长鸣三声

6

一长一短

7

一长两短

8

一长三短

9

两长一短

10

两长两短

11

两长三短

其他

短滴一声

 

40004至40007寄存器保留,暂不使用

40008寄存器为读写卡控制寄存器:只能用06功能码写,可用03寄存器来读或连读。

15~8位

7~6位

5位

4位

3位

2位

1位

0位

自定义

自定义

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

为1表示仅读或写指定卡号的卡,指定卡号放在寄存器,40009,

40010

写1驱动读卡操作,读寄存器这个位只能读出0

写1驱动写卡操作,读寄存器这个位只能读出0

 

读卡成功

写卡成功

 

   

 

 

 

 

 

 

40009至40010共2个寄存器存放IC卡卡号(4个字节)。

40011至40034共24个寄存器对应于IC卡的扇区内48字节内容。

 

二、数据报文格式

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

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

发送:

设备地址  功能码  起始地址  寄存器个数 校验码(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;

三、读、写卡说明

  • 写卡操作:

第一步,用06或10(十六进制)指令更新40011至40034寄存器内容(顺序对应卡内48字节内容),如果只用到40011到40034中的几个寄存器,其他寄存器可以不理会(不需要更新)。

第二步,用功能码06(不能用10)

写值00004到40008寄存器,作用是40011至40034寄存器的数据写到卡中。

写值00020(十六进制为00014)到40008寄存器,作用是40011至40034寄存器的数据写到指定的卡中。卡号用40009,40010寄存器指定。

 

第三步,读40008寄存器看是否第0位为1表示写卡成功。读40008寄存器尽量在写40008寄存器后马上操作。

 

  • 读卡操作:

第一步:用功能码06(不能用10)

写值00008到40008寄存器,作用是将卡上的内容更新到40011至40034寄存器中。

写值00024(十六进制为00018)到40008寄存器,是将指定卡上的内容更新到40011至40034寄存器中。卡号放到40009,40010寄存器。

第二步,读40008寄存器看是否第1位为1表示读卡成功,此时40009、40010、40011至40034中的数据才有效。读40008寄存器尽量在写40008寄存器后马上操作。

第三步,用03指令读40011至40034寄存器中的内容。

 

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

  • 读写器寄存器与IC卡某扇区(可用管理卡设置读写扇区及卡认证密码)0、1、2块字节的对应关系

寄存器

40011

40012

40013

40014

40015

40016

40017

40018

块0字节

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

寄存器

40019

40020

40021

40022

40023

40024

40025

40026

块1字节

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

寄存器

40027

40028

40029

40030

40031

40032

40033

40034

块2字节

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

 

 

 

 

 

 

 

 

 

猜你喜欢

转载自blog.csdn.net/zhangjin7422/article/details/109525291