三菱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。
其他存儲區的讀寫也是同樣的原理。
附錄
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!