日韩欧美视频第二区,秋霞成人午夜鲁丝一区二区三区,美女日批视频在线观看,av在线不卡免费

電子開發網

電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 電子開發網 >> 電子開發 >> 梯形圖實例 >> 正文

學習s7-200之間的Modbus通訊_兩個PLC互相通信,主站從站通訊

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2022/12/15

S7-200兩個PLC互相通信,Step7軟件的使用,進行主站和從站直接的通訊。以下主要內容為從Step7 軟件里面的庫模塊是使用就行介紹。

一、使用Modbus協議庫

二、Modbus的地址

Modbus地址通常是包含數據類型和偏移量的5個字符值。第一個字符確定數據類型,后面四個字符選擇數據類型內的正確數值。

(1)主站尋址Modbus主站指令可將地址映射到正確功能,然后發送至從站設備。Modbus主站指令支持下列Modbus地址:00001到09999是離散輸出(線圈);10001到19999是離散輸入(觸點);30001到39999是輸入寄存器(通常是模擬量輸入);40001到49999是保持寄存器。所有Modbus地址都是基于1,即從地址1開始第一個數據值。有效地址范圍取決于從站設備。不同的從站設備將支持不同的數據類型和地址范圍。

(2)從站尋址Modbus主站設備將地址映射到正確功能。Modbus從站指令支持以下地址:00001至00128是實際輸出,對應于Q0.0-Q15.7;10001至10128是實際輸入,對應于I0.0-I15.7;30001至30032是模擬輸入寄存器,對應于AIW0至AIW62;40001至04XXXX是保持寄存器,對應于V區。所有Modbus地址都是從1開始編號的。

示例:

三、相關指令介紹

(一)做主站使用Modbus master庫

(1)初始化主設備指令MBUS_CTRL用于S7-200端口0(或用于端口1的MBUS_CTRL_P1指令)可初始化、監視或禁用Modbus通信。

 EN:使能端,有信號則該指令執行

Mode:輸入的值用于選擇通信協議。輸入值為 1 時,將 CPU 端口分配給 Modbus 協議并啟用該協議。輸入值為 0 時,將 CPU 端口分配給 PPI 系統協議并禁用 Modbus 協議。

Baud:波特率

Parity:設置為與 Modbus 從站設備的奇偶校驗相匹配。所有設置使用一個起始位和一個停止位。允許的值如下:0(無奇偶校驗)、1(奇校驗)和 2(偶校驗)。

Port:設置物理通信端口(0 = CPU 中集成的 RS-485,1 = 可選 CM01 信號板上的 RS-485 或 RS-232)。

Timerout:設為等待從站做出響應的毫秒數。“超時”(Timeout) 值可以設置為 1 ms 到 32767 ms 之間的任何值。典型值是 1000 ms (1 s)。“超時”(Timeout) 參數應設置得足夠大,以便從站設備有時間在所選的波特率下做出響應。

Done:初始化完成標志,成功初始化后置1.數據類型為布爾

error:初始化錯誤代碼。數據類型為字節

 MBUS_CTRL

 

 通過在每次掃描時調用 MBUS_CTRL 來初始化和監視 Modbus 主站。Modbus 主站設為 9.6 Kbps,無奇偶校驗。從站設備允許在 1000 毫秒(1 秒)內進行響應。

 

(2)MBUS_MSG指令(或用于端口1的MBUS_MSG_P1)用于啟動對Modbus從站的請求,并處理應答。當EN輸入和“首次”輸入打開時,MBUS_MSG指令啟動對Modbus從站的請求。發送請求、等待應答、并處理應答。EN輸入必須打開,以啟用請求的發送,并保持打開,直到“完成”位被置位。

En:使能端

First:在有新請求發送時打開。

Slave:從站地址

RW:0-讀,1-寫。

Addr:modbus起始地址。

Count:讀取或寫入的數據元素的數量

DataPtr:讀取或寫入請求相關數據的間接地址

 MBUS_MSG

該指令會對從站 2 的 4 個保持寄存器執行寫入 (RW = 1) 操作。從 CPU 中的 VB100-VB107(4 個字)獲取寫數據,然后寫入到 Modbus 從站中的地址 40001 - 40004。

 

(二)做從站使用 Modbus Slave庫

(1)MBUS_INIT指令用于啟用、初始化或禁止Modbus通信。在使用MBUS_SLAVE指令之前,必須正確執行MBUS_INIT指令

EN:使能端

Mode:模式  0-禁用Modbus  1-啟用Modbus

Addr:設備地址

Baud:波特率

Parity:校驗位  0-無校驗  1-奇校驗  2-偶校驗

Port:端口號

Delay:延時  通過使標準 Modbus 信息超時時間增加分配的毫秒數來延遲標準 Modbus 信息結束超時條件。在有線網絡上運行時,該參數的典型值應為 0。如果使用具有糾錯功能的調制解調器,則將延時設置為 50至 100 ms 之間的值。如果使用擴頻無線通信,則將延時設置為 10 至 100 ms 之間的值。“延時”(Delay) 值可以是 0 至 32767 ms。

MaxIQ:用于設置 Modbus 地址 0xxxx 和 1xxxx 可用的 I 和 Q 點數,取值范圍是 0 至 256。值為 0 時,將禁用所有對輸入和輸出的讀寫操作。建議將 MaxIQ 值設置為 256。

MAXAI:用于設置 Modbus 地址 3xxxx 可用的字輸入 (AI) 寄存器數,取值范圍是 0 至 56。值為 0 時,將禁止讀取模擬量輸入。

MAXHold:用于設置 Modbus 地址 4xxxx 或 4yyyyy 可訪問的 V 存儲器中的字保持寄存器數。

HoldStart:是 V 存儲器中保持寄存器的起始地址。該值通常設置為 VB0,因此參數 HoldStart 設置為 &VB0(地址 VB0)。

Done:初始化完成標志,成功初始化后置1.數據類型為布爾

Error:初始化錯誤代碼。數據類型為字節

MBUS_INT 

 

(2)MBUS_SLAVE指令用于為Modbus主設備發出的請求服務,并且必須在每次掃描時執行,以便允許該指令檢查和回答Modbus請求。

 MBUS_SLAVE

  提示:還要對 在調用了Modbus指令庫的指令后,還要對庫存儲區進行分配,這是非常重要的,否則即使編寫程序沒有語法錯誤,程序編譯后也會顯示至少幾十個錯誤。分配庫存儲區的方法如下:先選中“程序塊”,再單擊右鍵,彈出快捷菜單,并單擊“庫存儲區”,如圖4-4所示。再在“庫存儲區”中填寫Modbus指令所需要用到的存儲區的起始地址。

Tags:Modbus通訊,Modbus,S7-200,西門子plc  
責任編輯:admin
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網友評論
推薦文章
最新推薦
關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢
主站蜘蛛池模板: 布尔津县| 曲沃县| 天门市| 渭南市| 承德市| 搜索| 商洛市| 施甸县| 醴陵市| 新河县| 张掖市| 余干县| 南木林县| 莱阳市| 西宁市| 屏南县| 洞口县| 旬邑县| 广南县| 民丰县| 保德县| 康平县| 通河县| 浦城县| 永新县| 江西省| 沽源县| 迁安市| 哈密市| 昌吉市| 罗定市| 济南市| 科尔| 麻江县| 安庆市| 嘉义市| 石台县| 泾阳县| 滦平县| 武平县| 陆川县|