再也不用擔心面試官問三菱PLC通信了

前言

三菱MC協議是開發三菱系列PLC必須掌握的一種通信協議,其目的是讓外部設備,可以通過串行通信模塊C24或以太網接口模塊E71,實現對可編程控制器CPU的數據訪問。

MC協議是Melsec協議的簡稱。

通信幀類型

外部設備通過C24/E71訪問可編程控制器CPU時,可以選擇不同的通信幀及數據格式來實現,具體如下所示:

 

 

通信幀命名規格

通信幀命名格式如下:

xxx 兼容 n m 幀(示例: QnA 兼容 3C 幀、QnA 兼容 3E 幀)

1、xxx 用於表示與以前產品模塊的指令兼容性的對象可編程控制器 CPU

A  : A 系列可編程控制器 CPU

QnA  : QnA 系列可編程控制器 CPU

2、n對應的以前產品模塊的幀

1 : 兼容 A 系列的計算機鏈接模塊、以太網接口模塊支持的指令的通信幀

2 : 兼容 QnA 系列串行通信模塊支持的 QnA 簡易幀

3 : QnA 系列串行通信模塊支持的 QnA 幀及兼容 QnA 系列以太網接口模塊支持的通信幀

4 : 兼容 QnA 系列串行通信模塊支持的 QnA 擴展幀

3、m是指相應幀進行數據通信的對象模塊

C : C24

E : E71

通信方式

從前面的描述,我們可以知道,MC協議是兼容串口通信和以太網通信的。

一般我們使用比較多的是以太網通信,對於FX5U系列/Q系列/Qna系列/L系列的PLC,通常會使用QnA兼容3E幀,對於FX3U系列,我們需要加以太網模塊,採用A兼容1E幀。

對於串口設備,一般會使用QnA兼容2C幀和QnA兼容4C幀。

通信編碼格式有ASCII和二進制兩種方式,通過二進制編碼數據進行的通信與通過ASCII編碼數據進行的通信相比,前者的通信數據量約爲後者的二分之一,因此二進制編碼的方式可縮短通信時間。

通過MC協議進行的數據通信,一般情況下都是以半雙工通信進行。

對可編程控制器CPU進行訪問時,應在接收到來自於可編程控制器CPU側的對應於之前發送的指令報文的響應報文後,再發送下一個指令報文。

在響應報文的接收完畢之前,不能發送下一個指令報文

 

 

PLC設置

三菱PLC如果要走MC協議,是不需要額外編程的,但是需要做一些簡單的配置。

1.在右側工程欄中雙擊PLC參數;

 

 

 

2、在彈框中選擇內置以太網端口設置,設置IP,設置通信數據代碼設置,勾選允許RUN中寫入;

 

 

 

3.點擊打開設置,在彈框第一欄中選擇TCP協議,MC協議,端口號根據自己需求設置比如4999,然後設置結束,設置結束,重新下載PLC程序;

 

 

 

4、斷電重啓PLC。

協議幀

通過以上了解之後,下面我們對協議幀進行更深入地瞭解,爲了方便起見,我們以以太網的Qna兼容3E幀爲例進行說明,其他的幀都是大同小異。

協議幀一般分爲三種,分別是請求幀、響應幀及異常幀。

請求幀:表示發送請求的報文。

響應幀:如果請求正確,控制器CPU會以響應幀進行返回。

異常幀:如果請求錯誤,CPU會以異常幀返回。

讀取請求幀報文格式:

 

 

讀取響應幀報文格式:

 

 

讀取異常幀報文格式:

 

 

寫入請求幀報文格式:

 

 

寫入響應幀報文格式:

 

 

寫入異常幀報文格式:

 

 

實際案例

讀取案例:讀取從D0開始的5個寄存器,我們結合協議文檔,按照報文格式進行報文拼接。

發送報文如下:

副頭部:0x50 0x00

網絡編號:0x00

PLC編號:0xFF

請求目標模塊I/O編號:0xFF 0x03

請求目標模塊站號:0x00

請求數據長度:0x0C 0x00

CPU監視定時器:0x0A 0x00

指令:0x01 0x04

子指令:0x00 0x00

起始軟元件:0x00 0x00 0x00

軟元件代碼:0xA8

軟元件點數:0x05 0x00

響應報文如下:

副頭部:0xD0 0x00

網絡編號:0x00

PLC編號:0xFF

請求目標模塊I/O編號:0xFF 0x03

請求目標模塊站號:0x00

響應數據長度:0x0C 0x00

結束代碼:0x00 0x00

軟元件數據:0x0B 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00

網絡調試助手測試結果:

 

 

這樣就知道了D0-D4分別爲0x0B 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,將其轉換成數據,就是11,0,0,0,0。

其他存儲區的讀寫也是同樣的原理。

附錄

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章