C#工控上位機系列--- 如何和三菱PLC FX3U通信


工作中用的比較多的是三菱的PLC的 Fx5U和Fx3U,它們有多種通信協議,我們學習時先從1種入手,再擴展到其他的。三菱的說明書幾百頁,我們要把說明書讀薄,只選其中通信協議部分看就好了。而上位機一開始只需要了解讀寫一個字元/位元就可以了。

三菱FX-3U 計算機專用協議通信方式,其通訊命令字和通訊格式介紹如下:

命令字 注釋

BR 以1點為單位,讀出位元件的狀態

WR 以16點為單位,讀出位元件的狀態,或以1字為單位,讀出字元件的值

BW 以1點為單位,寫入位元件的狀態

WW 以16點為單位,寫入位元件的狀態,或以1字為單位,寫入值到字元件

 

PC發送給PLC的通信命令格式

約定說明:ENQ為請求標志,ASCII值5

     ACK為正確標志,ASCII值6

     STX為請求標志,ASCII值2

     EXT為請求標志,ASCII值3

     表格中粗體字為需要求和效驗的部分;
     和效驗為每一項的ASCII值的總和轉換成十六進制后,取其低兩位;

     站號、PLC號、元件數量、和效驗都是以十六進制表示;
                  等待延時為0-150毫秒,以十六進制0H-FH表示,如100ms為AH


1) 批量讀出位元件—BR指令格式

例如:要讀出站號為5的PLC的X40到X44共5點的狀態值,延時100毫秒,

假設PLC中X40與X43為OFF,其余為ON,則指令數據如下:

 

只要將以上代碼以字符串形式串口發送到PLC,就會有正確的回應信息,如下:

 

 

2) 批量讀出字元件—WR指令格式

例如 讀站號0的PLC的D10的字元值

 

 

 

3) 批量寫入位元件—BW指令格式

...

4) 批量寫入字元件—WW指令格式

例如 寫入站號0的PLC的D10的字元值=11

 

 

5U則是用MELSEC通訊協議(簡稱MC協議)通信,

但MC協議的通訊格式有很多種:3E、3C、4E,4C幀格式, 個人感覺3C比4C好用,3C是ASCII文本格式,3E是二進制格式

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM