日本欧美一区-日本欧美一区二区三区片-日本强好片久久久久久AAA-日本-区一区二区三区A片-日本人伦一区二区三区-日本人妻A片成人免费看

電子開發網

電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 電子開發網 >> 電子開發 >> 其他PLC >> 三菱PLC >> 正文

三菱PLC的modbus通訊_三菱FX3U PLC利用RS指令實現Modbus RTU通信

作者:佚名    文章來源:網絡整理    點擊數:    更新時間:2024/5/21

 

在了解了Modbus通信的基本格式后,本期將通過仿真的方式實現Modbus RTU通信協議在三菱FX3U PLC上的應用。

指令介紹

一、軟件準備

  • 虛擬串口工具
  • Modbus Slave
  • 凌一PLC仿真器
  • GX works2編程軟件

二、RS指令

RS指令是在執行串口通信時用來接收和發送數據的指令,使用該指令時需要在PLC上插入FX3U-485-BD通信模塊。

1)基本格式

 

其中m(發生數據的個數)和n(接收數據的個數)需要根據外部設備的報文格式指令,不能隨便設置。

2)示例

 

X0: RS指令觸發條件,當X0位ON時RS指令進入發送或接收數據的等待狀態。

D10: 發送數據的起始寄存器。

K8: 發送數據的個數,表示每次發送D10~D17范圍內八個寄存器的數據。

D20: 接收數據的起始寄存器。

K7: 接收數據的個數,表示將外部設備返回的數據存入D20~D26范圍內的七個寄存器里。

三、特殊輔助繼電器

1)M8161 數據處理位數標志繼電器

當M8161=OFF時處理16位數據。

 

當M8161=ON時處理低8位數據。

 

2)M8122 數據發送標志繼電器

當RS指令處于發送或接收數據的等待狀態時置位M8122,此時RS指令中發送數據寄存器里的數據將會被發送給外部設備。數據發送完成后系統會自動復位M8122,不能使用程序對其進行復位操作。

 

3)M8123 數據接收標志繼電器

RS指令將數據發送完成后,進入接收數據狀態。此時M8123被置位為ON,并對接收到的數據進行處理,數據處理完成后需要將M8123復位為OFF,否則無法接收下一輪的數據。

 

四、通信參數設置

通信參數既可以在PLC系統設置中直接設置,也可以通過改變D8120的值進行設置,兩種設置方式任選一種即可(本文主要介紹通過D8120進行設置)。

1)直接設置

依次單擊參數列表中的“PLC參數”→“PLC系統設置2” →勾選“進行通信設置”,然后根據實際需求設置通信參數,設置完成并檢查無誤后單擊“設置結束”按鈕保存設置。

 

2)通過D8120設置

根據下表給定的參數并結合實際需求設置b0~b15的值,并轉換成十六進制數傳送給D8120,實現通信參數設置。

 

3)示例

將通信參數設置按如下要求進行設置:數據長度為8位、偶校驗、停止位為1位、波特率為9600、無報頭報尾,控制線為無協議的RS-485接口。

 

編輯程序將參數傳入D8120。

 

五、CRC指令

CRC指令的作用是計算Modbus RTU通信報文的校驗碼。

 

在低8位模式下(M8161=ON),當X0為ON時CRC指令計算出D10~D15六個寄存器產生的效驗碼,并將計算結果的高八位存入D16,低八位存入D17。

指令運用

一、項目要求

按下X0按鈕讀取1號從站保持寄存器40000的值,按下X1將100寫入1號從站保持寄存器40002中,通信參數與上文示例中保持一致。

二、編輯程序

1)初始化

在初始化程序中需要將M8161設置為處理低8位數據模式(M8161=ON),將通信參數傳入特殊寄存器D8120以及復位程序中用到的寄存器。

 

2)添加RS指令

如果每次處理的數據長度一致,那么只需添加一次RS指,并且讓RS指令一直處于等待發送或接收數據狀。

發送或接收的數據長度需要根據外部設備的要求進行設置,此處外部設備為Modbus Slave,其報文格式與標準報文格式一致,所以此處發送和接收的數據長度分別為K8和K7。

 

3)編輯讀取程序

a)計算讀取程序報文

可以借助串口調試助手自動生成報文,其中84 0A為CRC校驗碼。

 

b)編輯報文傳送程序

當檢測到X0的上升沿時將生成的報文傳入用來發送數據的寄存器D10~D15中。

報文需要用十六進制表示。

 

c)添加CRC指令

CRC指令將根據前六個報文計算出校驗碼,并將結果的高八位存入D16,低八位存入D17。

 

由于仿真中CRC指令時好時壞,所以本項目不使用CRC指令,而是將校驗碼直接傳入D16和D17。

 

d)發送數據

當檢測到X0的下降沿時置位M8122完成數據的發送。

 

e)接收并處理讀取回來的數據

從站返回的數據如同所示,通過分析報文可得從站返回的數據高八位和低八位分別儲存在D23和D24中。

 

 

通過計算把D23和D24的數據合并,然后存放到D31中。

 

4)編輯寫入程序

a)編輯報文傳送程序

參照讀取程序的編輯方式。

 

 

 

b)發送數據

 

c)接收數據

由于不需要接收從站返回的數據所以直接復位M8123。

 

仿真環境配置

一、添加虛擬串口

需要添加兩對虛擬串口,一對用來實現GX works2和凌一PLC仿真器的連接,另一對用實現凌一PLC仿真器和Modbus Slave的連接

 

二、配置凌一仿真器

配置完成后需要打開下載口和開啟擴展通信,并讓PLC處于運行狀態。

 

三、配置GX works2

其配置方式與連接實體PLC時的方式一致,主要選擇端口號。設置完成后單擊“通信測試”,測試成功后單擊“確定”保存設置,并將程序下載到仿真器中。

 

四、配置Modbus Slave

1) 配置Modbus Slave連接

連接參數需要與D8120中的通信參數保持一致。
 

2)配置Modbus Slave從站功能

如圖所示設置從站功能,并修改寄存器40000的值。

 

五、仿真演示

配置好仿真環境后,將程序下載到仿真器中,并進入監視狀態。

1)讀取演示

單擊仿真器中的X0按鈕,觀察D31的值是否與Modbus Slave中保持寄存器40000設置的值一致。

 

2)寫入演示

單擊仿真器中的X1按鈕,觀察100是否被寫入到從站的保持寄存器40002中。

 

六、程序整體瀏覽

 

Tags:FX3U,MODBUS通訊,三菱PLC  
責任編輯:admin
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網友評論
關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢