工作中用的比較多的是三菱的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是二進制格式
