Coolmay PLC的Modbus通信使用手冊
Modbus通信協議作為標準的工業通信協議已經被廣泛地應用在各個領域,Coolmay PLC的RS485通信接口已支持了這種通信協議,使PLC能方便地與具有Modbus通信協議的設備進行通信,例如變頻器、溫濕度模塊、組態網絡、各種傳感器等。
Modbus通信協議分為兩種串行通信模式,ASCII 和 RTU 通信模式。在配置每臺PLC時,用戶須選擇通信模式以及RS485串行口的通信參數。(波特率,奇偶校驗等),在Modbus 總線上的所有設備應具有相同的通信模式和串行通信參數。使用Modbus通信,必須在梯形圖中對每臺PLC的相關特殊元件進行設置。
D8120通信參數選擇寄存器:
| b15 | b14 | b13 | b12 | b11 | b10 | b9 | b8 | b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 |
| b0 | 數據長度 0:7位 1:8位 |
| b2b1 | 奇偶性 00:None無 01:Odd奇 11:Even偶 |
| b3 | 停止位 0:1位 1:2位 |
| b7b6b5b4 | 波特率 0100:600bps 0111:4800bps 0101:1200bps 1000:9600bps 0110:2400bps 1001:19200bps |
| b8 | 與Modbus無關 |
| b9 | 與Modbus無關 |
| b11b10 | 與Modbus無關 |
| b12 | 與Modbus無關 |
| b13 | Modbus通信模式 0:RTU 1:ASCII |
| b14 | 啟動通信協議 0:使用編程口協議或按RS指令通信 1:使用Modbus協議通信 |
| b15 | PLC主從機選擇 0:從機 1:主機 |
D8121從機站號寄存器:范圍1-247。
當PLC作為Modbus通信從機時,必須有一個站號,在梯形圖里對D8121進行設定。
D8126發送前的延時寄存器:范圍0-1000,單位ms。
讓接收設備有個準備時間,可以適當選擇5-20ms。
1、 當PLC為主機時
當PLC作為主機時,只支持MODBUS的以下功能:
03號功能:讀取保持寄存器 在一個或多個保持寄存器中取得當前的二進制值 范圍1-32個
04號功能:在一個或多個輸入寄存器中取得當前的二進制值 ,范圍1-32個
06號功能:把具體二進值裝入一個保持寄存器(寫寄存器),范圍1個
16號功能:預置多寄存器 把具體的二進制值裝入一串連續的保持寄存器(寫多個寄存器),范圍1-32個
讀取從機數據指令示例:RD3A K1 H0 D0
RD3A原來是模擬量模塊讀取指令,原指令功能不能使用。RD3A指令對應Modbus的03號功能,讀取(4X類型)寄存器。指令中K1是代表被讀從機設備的站號,范圍1-247;H0是代表被讀數據在從機設備中的地址編號0000(十六進制數表示);D0里的值是代表讀取的寄存器個數,范圍1-32,被讀取的數據依次保存在D1,D2,D3……里。
寫數據到從機指令示例:WR3A K1 H0 D0
WR3A原來是模擬量模塊寫入指令,原指令功能不能使用。WR3A指令對應Modbus的16號功能,寫數據到從機設備的各個(4×類型) 寄存器;如果只寫1個寄存器,WR3A指令對應Modbus的06號功能,寫1個數據到從機設備的1個(4×類型) 寄存器。指令中K1是代表被寫從機設備的站號,范圍1-247;H0是代表被寫寄存器在從機設備中的首地址編號0000(十六進制數表示);D0里的值是代表被寫的寄存器個數,范圍1-32,被寫出的源數據依次保存在D1,D2,D3……里。
D8129(M8129)超時時間寄存器:范圍0-32767,單位10ms。
當接收超時或接收錯誤時,M8129=ON,
M8123一次通信完成標志
當完成一次通信時,M8123=ON,不管是否成功完成。
當RD3A或WR3A不被執行時,不影響M8129和M8123;當指令被執行時,如果正在通信中,則M8129和M8123都被系統自動置OFF;如果通信完成則M8123和M8129輸出相應的狀態。
多次編程
RD3A或WR3A可以在梯形圖中多次編程,因通信是一個長時間的過程,所以通信中要保持執行,不能用脈沖形式。在有多個指令同時需要通信時,系統會依次輪流分時通信,使用M8123的上延可以方便地檢出本通信指令本次的執行狀況。
D8063(M8063)通信錯誤信息
M8063的上延可以方便地檢出本通信指令本次通信的錯誤信息。
D8063的值分別代表各自的錯誤信息
6315:Modbus從站號超范圍 〉255
6316:Modbus讀寫寄存器個數超范圍,正常是1-32。
6317:Modbus接收超時
6318:得到回應的站號不一致
6319:回應非法
6320:回應的LCR校驗錯
6321:保存數據的地址非法
6322:回應的CRC校驗錯
6323:回應的數據格式非法
6324:本機未設為Modbus主機
6325:地址超范圍
6326:Modbus發送超時
2、當PLC為從機時
一旦PLC被設定為Modbus從機,不管PLC是在STOP還是在RUN狀態,都可以進行Modbus通信。
從機支持的Modbus功能有:
01號功能:讀取線圈狀態 取得一組邏輯線圈的當前狀態(ON/OFF) 范圍1-512
02號功能:讀取輸入狀態 取得一組開關輸入的當前狀態(ON/OFF) 范圍1-512
03號功能:讀取保持寄存器 在一個或多個保持寄存器中取得當前的二進制值 范圍1-32個
04號功能:在一個或多個輸入寄存器中取得當前的二進制值 ,范圍1-32個
05號功能:強置單線圈 強置一個邏輯線圈的通斷狀態(寫位),范圍1個
06號功能:把具體二進值裝入一個保持寄存器(寫寄存器),范圍1個
15號功能:強置多線圈 強置一串連續邏輯線圈的通斷(寫多位),范圍1-512個
16號功能:預置多寄存器 把具體的二進制值裝入一串連續的保持寄存器(寫多個寄存器),范圍1-32個
PLC寄存器在Modbus通信時所對應的地址編號:
| 16進制地址編號 | 寄存器 |
| 0000-01FF | D0-D511 |
| 1F40-203F | D8000-D8255 |
| A140-A23F | T0-T255 |
| A340-A407 | C0-C199 |
| A408-A477 | C200-C255,32bit占2個地址 |
PLC位元件在Modbus通信時所對應的地址編號:
| 16進制地址編號 | 位元件 |
| 0000-05FF | M0-M1535 |
| 1E00-1EFF | M8000-M8255 |
| 2000-23E7 | S0-S999 |
| 3000-30FF | T0-T255 |
| 3200-32FF | C0-C255 |
| 3300-33B7 | Y0-Y267 |
| 3400-34B7 | X0-X267 |
提交
顧美科技端午節放假通知
顧美PLC一體機在汽車輪轂鑄造車間的應用
顧美PLC一體機在全自動無鉛波峰焊上應用
顧美觸摸屏PLC一體機在容器液體保壓測試機的應用
顧美匠心打造螺絲機/點膠機通用控制系統

投訴建議