此實(shí)例將在PLC中自動(dòng)讀取IC卡的卡號(hào),PLC通過(guò)RS485連接modbus讀寫器YW-630或者YW-631。
以下例程在西門子S7-200 smart中調(diào)試和運(yùn)行。S7-200 smart系列PLC訪問(wèn)外部寄存器設(shè)置的寄存器地址比實(shí)際寄存器地址多1,例如:卡號(hào)起始寄存器地址:0004。在PLC中設(shè)置為40005。
1、PLC上電初始化。

| 符號(hào) | 地址 | 注釋 |
|---|---|---|
| Cycle_1st_En | M2.0 | 循環(huán)第1次使能 |
| First_Scan_On | SM0.1 | 僅在第一個(gè)掃描周期時(shí)接通 |
| MBUS_CTRL_Done | M0.0 | Modbus主站初始化完成 |
| Start_MBUS_MSG_1 | M0.1 | Modbus主站初始化完成,啟動(dòng)第一套讀寫信息 |
2、初始化Modbus主站通訊。
EN-- 使能: 必須保證每一個(gè)掃描周期都被使能(SM0.0)
Mode--模式:1-----使能modbus協(xié)議功能;0-----恢復(fù)為系統(tǒng)PPI協(xié)議功能

| 符號(hào) | 地址 | 注釋 |
|---|---|---|
| Always_On | SM0.0 | 始終接通 |
| MBUS_CTRL_Done | M0.0 | Modbus主站初始化完成 |
| MBUS_CTRL_Error | MB1 | Modbus主站初始化錯(cuò)誤代碼 |
1、PLC上電初始化。

| 符號(hào) | 地址 | 注釋 |
|---|---|---|
| Cycle_1st_En | M2.0 | 循環(huán)第1次使能 |
| First_Scan_On | SM0.1 | 僅在第一個(gè)掃描周期時(shí)接通 |
| MBUS_CTRL_Done | M0.0 | Modbus主站初始化完成 |
| Start_MBUS_MSG_1 | M0.1 | Modbus主站初始化完成,啟動(dòng)第一套讀寫信息 |
3、讀取卡片序列號(hào)(卡號(hào))。

| 符號(hào) | 地址 | 注釋 |
|---|---|---|
| Cycle_1st_Done | M3.0 | 循環(huán)第1次完成 |
| Cycle_1st_En | M2.0 | 循環(huán)第1次使能 |
| MBUS_CTRL_Error | MB1 | Modbus主站初始化錯(cuò)誤代碼 |
| Start_MBUS_MSG_1 | M0.1 | Modbus主站初始化完成,啟動(dòng)第一套讀寫信息 |
4、如果讀正常。

| 符號(hào) | 地址 | 注釋 |
|---|---|---|
| Cycle_1st_Done | M3.0 | 循環(huán)第1次完成 |
| Cycle_1st_En | M2.0 | 循環(huán)第1次使能 |
| Start_MBUS_MSG_1 | M0.1 | Modbus主站初始化完成,啟動(dòng)第一套讀寫信息 |
5、判斷是否讀到卡號(hào)。

| 符號(hào) | 地址 | 注釋 |
|---|---|---|
| Cycle_1st_Done | M3.0 | 循環(huán)第1次完成 |
| SNR_Valid_Flag | M0.3 | 卡號(hào)有效 |
6、判斷如果卡號(hào)都等于0,說(shuō)明沒(méi)有讀到卡。

| 符號(hào) | 地址 | 注釋 |
|---|---|---|
| Cycle_1st_Done | M3.0 | 循環(huán)第1次完成 |
| SNR_Valid_Flag | M0.3 | 卡號(hào)有效 |
7、沒(méi)有讀到卡號(hào),啟動(dòng)定時(shí)500ms再去讀卡。

| 符號(hào) | 地址 | 注釋 |
|---|---|---|
| Cycle_1st_Done | M3.0 | 循環(huán)第1次完成 |
| SNR_Valid_Flag | M0.3 | 卡號(hào)有效 |
8、定式時(shí)間到,啟動(dòng)讀卡號(hào)。

| 符號(hào) | 地址 | 注釋 |
|---|---|---|
| Cycle_1st_Done | M3.0 | 循環(huán)第1次完成 |
| Cycle_1st_En | M2.0 | 循環(huán)第1次使能 |
9、如果卡號(hào)有效。

| 符號(hào) | 地址 | 注釋 |
|---|---|---|
| Cycle_1st_Done | M3.0 | 循環(huán)第1次完成 |
| Cycle_1st_En | M2.0 | 循環(huán)第1次使能 |
| Cycle_2st_Done | M3.1 | 循環(huán)第2次完成 |
| Cycle_2st_En | M2.1 | 循環(huán)第2次使能 |
| SNR_Valid_Flag | M0.3 | 卡號(hào)有效 |
10、如果需要,寫蜂鳴器和LED寄存器: LED和蜂鳴器分別閃一次。

| 符號(hào) | 地址 | 注釋 |
|---|---|---|
| Cycle_2st_Done | M3.1 | 循環(huán)第2次完成 |
| Cycle_2st_En | M2.1 | 循環(huán)第2次使能 |
| MBUS_CTRL_Error | MB1 | Modbus主站初始化錯(cuò)誤代碼 |
11、判斷是否都作完。

| 符號(hào) | 地址 | 注釋 |
|---|---|---|
| Cycle_2st_Done | M3.1 | 循環(huán)第2次完成 |
| Cycle_2st_En | M2.1 | 循環(huán)第2次使能 |
| Cycle_3st_Done | M3.2 | 循環(huán)第3次完成 |
| Cycle_3st_En | M2.2 | 循環(huán)第3次使能 |
12、處理完卡號(hào)后,可以對(duì)卡進(jìn)行休眠。

| 符號(hào) | 地址 | 注釋 |
|---|---|---|
| Cycle_3st_Done | M3.2 | 循環(huán)第3次完成 |
| Cycle_3st_En | M2.2 | 循環(huán)第3次使能 |
| MBUS_CTRL_Error | MB1 | Modbus主站初始化錯(cuò)誤代碼 |
13、判斷是否完成。

| 符號(hào) | 地址 | 注釋 |
|---|---|---|
| Cycle_2st_Done | M3.1 | 循環(huán)第2次完成 |
| Cycle_3st_Done | M3.2 | 循環(huán)第3次完成 |
| Cycle_3st_En | M2.2 | 循環(huán)第3次使能 |
| Cycle_4st_Done | M3.3 | 循環(huán)第4次完成 |
| Cycle_4st_En | M2.3 | 循環(huán)第4次使能 |
14、清空卡號(hào)寄存器。

| 符號(hào) | 地址 | 注釋 |
|---|---|---|
| Cycle_4st_Done | M3.3 | 循環(huán)第4次完成 |
| Cycle_4st_En | M2.3 | 循環(huán)第4次使能 |
| MBUS_CTRL_Error | MB1 | Modbus主站初始化錯(cuò)誤代碼 |
15、啟動(dòng)重新讀卡號(hào)。

| 符號(hào) | 地址 | 注釋 |
|---|---|---|
| Cycle_1st_Done | M3.0 | 循環(huán)第1次完成 |
| Cycle_1st_En | M2.0 | 循環(huán)第1次使能 |
| Cycle_3st_Done | M3.2 | 循環(huán)第3次完成 |
| Cycle_4st_Done | M3.3 | 循環(huán)第4次完成 |
| Cycle_4st_En | M2.3 | 循環(huán)第4次使能 |
| SNR_Valid_Flag | M0.3 | 卡號(hào)有效 |
|
Modbus讀卡器,PLC讀卡器,Modbus RTU, Modbus TCP,modbus接口IC卡讀卡器,Modbus接口RFID讀卡器 微信掃一掃聯(lián)系我們 |