三菱GX Works3編程軟件、三菱FX5U系列PLC、網線、電腦、MODBUS TCP調試助手
1、三菱FX5U讀取數據并映射到自己的數字量輸出Y0~Y7上,使用Modbus之02功能碼實現;
2、三菱FX5U使用自己的數字量輸入X0~X7輸出數據,使用Modbus之15功能碼實現;
3、三菱FX5U讀取數據并保存到自己的保持寄存器D0~D3里,使用Modbus之03功能碼實現;
4、三菱FX5U使用保持寄存器D4~D7寫入數據,使用Modbus之16功能碼實現。
三菱FX5U本體自帶以太網口通過網線連接至電腦LAN接口;
1、Modbus TCP服務器:MODBUS TCP調試助手
2、Modbus TCP服務器IP地址:192.168.1.150
3、Modbus TPC服務器子網掩碼:255.255.255.0
4、Modbus TCP服務器默認網關:192.168.1.1
5、Modbus TCP服務器端口號:502
1、Modbus TCP客戶端:三菱FX5U
2、Modbus TCP客戶端IP地址:192.168.1.140
3、Modbus TPC客戶端子網掩碼:255.255.255.0
4、Modbus TCP客戶端默認網關:192.168.1.1
5、Modbus TCP客戶端端口號:502
1、以太網端口自接點設置,需要設置IP地址、子網掩碼、默認網關、通信數據代碼等諸多選型,如下所示:

2、對象設備連接配置設置,拖入一個Active連接設備,通信手段選擇“通信協議”、可編程控制的IP地址設置為192.168.1.140、可編程控制器端口號設置為502;傳感器設備IP地址(我們電腦的IP地址即調試助手的IP地址)設置為192.168.1.150、傳感器設備端口號設置為502,如下所示:


最后記得點擊“反應設置并關閉(R)”即可保存設置并關閉此界面
3、三菱FX5U以太網端口通信協議支持功能數據包建立:
協議號 |
功能碼 |
功能 |
1 |
02 |
讀取Modbus TCP服務器多路輸入 |
2 |
15 |
寫入Modbus TCP服務器多路線圈 |
3 |
03 |
讀取Modbus TCP服務器多路保持寄存器 |
4 |
16 |
寫入Modbus TCP服務器多路保持寄存器 |

點擊“工具(T)”下拉菜單并點擊“通信協議支持功能(R)…”進入下圖

“模塊類型(U)”選擇“CPU(以太網)”并點擊“確定”進入下圖



按上圖設置,類型(K)選擇“通信協議庫,“型號”選擇“MODBUS/TCP”,“協議名”與“協議號”對應,如協議號1對應功能碼為02,用來讀取Modbus TCP服務器多路輸入,最后點擊“確定”進入下圖

繼續點擊紅圈內的“添加”,依次將協議號2對應功能碼為15,用來寫入Modbus TCP服務器多路線圈、協議號3對應功能碼為03,用來讀取Modbus TCP服務器多路保持寄存器、協議號4對應功能碼為16,用來寫入Modbus TCP服務器多路保持寄存器,都添加到上圖中,如下圖所示

點擊紅圈內的“變量未設置”,對發送進行詳細設置,將占用寄存器D1000~D1003,如下所示:

將紅線處地址設置為上圖地址后點擊“關閉”
對正確返回進行詳細設置,將占用寄存器D1007~D1010,如下所示:

將紅線處地址設置為上圖地址后點擊“關閉”
對錯誤返回進行詳細設置,將占用寄存器D1004~D1006,如下所示:

將紅線處地址設置為上圖地址后點擊“關閉”
對發送進行詳細設置,將占用寄存器D1107~D1112,如下所示:

將紅線處地址設置為上圖地址后點擊“關閉”
對正確返回進行詳細設置,將占用寄存器D1100~D1103,如下所示:

將紅線處地址設置為上圖地址后點擊“關閉”
對錯誤返回進行詳細設置,將占用寄存器D1104~D1106,如下所示:

將紅線處地址設置為上圖地址后點擊“關閉”
對發送進行詳細設置,將占用寄存器D1200~D1203,如下所示:

將紅線處地址設置為上圖地址后點擊“關閉”
對正確返回進行詳細設置,將占用寄存器D1207~D1213,如下所示:

將紅線處地址設置為上圖地址后點擊“關閉”
對錯誤返回進行詳細設置,將占用寄存器D1204~D1206,如下所示:

將紅線處地址設置為上圖地址后點擊“關閉”
對發送進行詳細設置,將占用寄存器D1307~D1315,如下所示:

將紅線處地址設置為上圖地址后點擊“關閉”
對正確返回進行詳細設置,將占用寄存器D1300~D1303,如下所示:

將紅線處地址設置為上圖地址后點擊“關閉”
對錯誤返回進行詳細設置,將占用寄存器D1304~D1306,如下所示:

將紅線處地址設置為上圖地址后點擊“關閉”

點擊紅圈內的保存圖標,將配置文件保存到指定的位置,以備后續導入PLC
三菱FX5U實現Modbus TCP客戶端相關指令
1、SP.SOCOPEN指令:
指令格式如下所示

指令參數說明如下所示

其中操作數S2含義如下所示

2、SP.SOCCLOSE指令:
指令格式如下所示

指令參數說明如下所示

其中操作數S2的含義如下所示

3、SP.ECPRTCL指令:
指令格式如下所示

指令參數說明如下所示

其中操作數S3的含義如下所示

1、初始化部分程序,D0~D3初始化清零、D4~D7初始化分別賦值0~3、每1分鐘給D4~D7做加1操作、當D4~D7分別大于6000時清零,如下所示:

2、和Modbus TCP服務器建立連接部分程序,當Modbus TCP服務器準備就緒時,置位M100即可和Modbus TCP服務器建立連接,程序隨即置位M0,即可開始執行SP.ECPRTCL指令,如下所示: 
3、和Modbus TCP服務器斷開連接部分程序,當Modbus TCP服務器斷開連接或者置位M104時,即可執行斷開和Modbus TCP服務器連接的操作,程序隨即復位M0~M3,終止執行SP.ECPRTCL指令,如下所示:

4、讀取Modbus TPC服務器8路輸入部分程序,功能碼02,對應協議號1,M0置位后開始執行該段程序,讀取的Modbus TCP服務器8路輸入映射到三菱FX5U的8路數字量輸出Y0~Y7里,該段程序中的SP.ECPRTCL指令執行完成之后復位M0、置位M1,緊接著去執行下一個SP.ECPRTCL指令,如下所示:

5、寫入Modbus TCP服務器8路線圈部分程序,功能碼15,對應協議號2,M1置位后開始執行該段程序,使用三菱FX5U的X0~X7去控制Modbus TCP服務器8路線圈,該段程序中的SP.ECPRTCL指令執行完成之后復位M1、置位M2,緊接著去執行下一個SP.ECPRTCL指令,如下所示: 
6、讀取Modbus TCP服務器4路保持寄存器部分程序,功能碼03,對應協議號3,M2置位后開始執行該段程序,讀取Modbus TCP服務器4路保持寄存器后轉存到三菱FX5U的D0~D3寄存器中,該段程序中的SP.ECPRTCL指令執行完成之后復位M2、置位M3,緊接著去執行下一個SP.ECPRTCL指令,如下所示: 
7、寫入Modbus TCP服務器4路保持寄存器部分程序,功能碼16,對應協議號4,M3置位后開始執行該段程序,使用三菱FX5U的D4~D7去控制Modbus TCP服務器4路保持寄存器,該段程序中的SP.ECPRTCL指令執行完成之后復位M3、置位M0,緊接著又去執行第一個SP.ECPRTCL指令,如下所示:

1、以太網調試助手做以太網服務器的設置
打開以太網調試助手,如下所示:
協議類型選擇TCP Server、本地IP地址按電腦實際IP地址設置為192.168.1.150、本地端口號設置為502,點擊開始監聽,如下所示:

2、下載三菱FX5U以太網口通信協議支持功能數據包

點擊紅圈內“在線(O)”菜單中的“模塊寫入(W)” 下載我們之前創建并保存的以太網口通信協議支持功能數據包到三菱FX5U中
3、下載三菱FX5U程序

點擊紅圈內“在線(O)”菜單中的“寫入至可編程控制器(W)…”后跳轉至如下界面
點擊紅圈內“參數+程序”,再點擊“執行(E)”將程序下載到三菱FX5U中
至此,三菱FX5U(Modbus TCP客戶端)和調試助手(Modbus TCP服務器)就可以實現Modbus TCP以太網通信了。