最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

S7-1200 MODBUS TCP通信多請求處理

2022-08-29 08:26 作者:工控小周  | 我要投稿

S7-1200 MODBUS TCP通信多請求處理

單獨的客戶機(jī)連接需要遵循的規(guī)則:

1.每個“MB_CLIENT”連接需要使用一個不同的背景數(shù)據(jù)塊;

2.每個“MB_CLIENT”連接必須指定一個服務(wù)器IP地址;

3.每個“MB_CLIENT”連接必須指定一個唯一的連接ID;

4.是否需要唯一的IP端口號取決于服務(wù)器組態(tài);


連接ID和背景數(shù)據(jù)塊組合成對,對每個連接來說,組合對都是唯一的。


對于多請求處理,有兩種方法:


方法一:如果TCP連接充裕,可以建立多個不同的連接發(fā)送請求,即每個請求使用一個獨立的連接,調(diào)用獨立的“MB_CLIENT”功能塊,具體操作參考“Modbus TCP”部分。


通過不同的連接發(fā)送多個請求,“MB_CLIENT”功能塊多次調(diào)用,但是需要使用不同的背景數(shù)據(jù)塊,不同的ID號和不同的端口號。


方法二:通過公共的連接發(fā)送多個請求。

通過公共的連接發(fā)送多個請求,“MB_CLIENT”功能塊多次調(diào)用,但是需要使用相同的背景數(shù)據(jù)塊,連接ID號,IP地址和端口號。

在任意時間,只能有一個MB_CLIENT請求處于激活狀態(tài),在一個請求完成執(zhí)行后,下一個請求再開始執(zhí)行,輪循處理。

方法二特例:MODBUS TCP客戶端訪問網(wǎng)關(guān)后的多個MODBUS RTU從站


方法二輪循處理的操作

一.軟硬件要求

MB_Client/Server指令的使用要求:軟件 V11 SP1及以上版本,CPU固件版本V1.02及以上版本。


二.測試條件

硬件:CPU 1214C(DC/DC/DC) V4.4 ,電腦(ModSim32 調(diào)試軟件);

軟件:TIA PORTAL STEP 7 V16

實驗:S7-1200作Modbus TCP客戶機(jī),用FC03功能對調(diào)試軟件先后進(jìn)行讀取40001開始的2個字以及40003開始的2個字。


三.組態(tài)配置

1.S7-1200的IP地址192.168.1.218,將系統(tǒng)存儲器字節(jié)設(shè)置為MB1,如圖1所示,圖2所示。

圖片

圖1 IP地址設(shè)置

圖片

圖2 系統(tǒng)存儲器字節(jié)設(shè)置

2.ModSim32 調(diào)試軟件設(shè)置


服務(wù)器采用ModSim32 軟件測試,首先將測試電腦的IP地址設(shè)置成192.168.1.216,如圖3所示,打開ModSim32 軟件,在設(shè)置功能碼FC03、起始地址、長度、設(shè)備ID等,如圖4所示。

圖片

圖3 電腦的IP地址

圖片

圖4 ModSim32 調(diào)試軟件的從站設(shè)置

在“Connection”中選擇“Modbus/TCP Svr”,設(shè)置本地服務(wù)器端口號為502,如圖5所示。?

圖片

圖5 連接設(shè)置?

四.編程

1.新建數(shù)據(jù)塊


如圖6所示,新建DB,添加變量類型為TCON_IP_V4,設(shè)置InterfaceId,ID,ActiveEstablished,RemoteAddress,RemotePort等參數(shù),具體含義參見鏈接。

圖片

圖6 設(shè)置連接變量

如圖7所示,在DB中建立結(jié)構(gòu)數(shù)組,用于輪詢控制位以及數(shù)據(jù),其中元素0用于第一次讀取,元素1用于第二次讀取。Init用于初始標(biāo)志位。

圖片

圖7 輪詢數(shù)據(jù)

2.編寫輪循功能

1)如圖8所示,用“FirstScan”在第一次掃描中將初始標(biāo)志位置位。

圖片

圖8 初始化標(biāo)志位

2)如圖9所示,程序段2中,第二步的完成位或者錯誤位去置位第一步的使能位復(fù)位第二步的使能位,同時復(fù)位第二步的完成位、錯誤位、觸發(fā)的沿變量。


程序段3中,一般情況下是EN通過第一步的使能位使能,REQ通過使能位的上升沿觸發(fā),設(shè)置模式、讀取數(shù)據(jù)地址、長度、存儲地址、連接數(shù)據(jù)、完成、錯誤位等。此外需要考慮第一次觸發(fā)輪詢,可以使用手動觸發(fā),在這里使用初始化標(biāo)志位實現(xiàn)指令的第一次使能,去進(jìn)行CPU和調(diào)試軟件的TCP連接,使用Connected標(biāo)志位觸發(fā)第一次的REQ觸發(fā)。

圖片
圖片

圖9 請求1觸發(fā)

如圖10所示,程序段4中,第一步的完成位或者錯誤位去置位第二步的使能位復(fù)位第一步的使能位,同時復(fù)位第一步的完成位、錯誤位、觸發(fā)的沿變量,最后復(fù)位初始化標(biāo)志位,確保第一個MB_CLIENT不會一直接通。

程序段5中,EN通過第二步的使能位使能,REQ通過使能位的上升沿觸發(fā),設(shè)置模式、讀取數(shù)據(jù)地址、長度、存儲地址、連接數(shù)據(jù)、完成、錯誤位等。

圖片
圖片

圖10 請求2觸發(fā)

五.通訊測試

通訊結(jié)果如圖11 所示。

圖片

圖11 測試結(jié)果

注意:
1.如果需要更多的讀寫任務(wù)可以按照例子自行添加。2.ModSim32 是做 Modbus RTU從站以及Modbus TCP服務(wù)器的測試軟件,是第三方軟件,可以從網(wǎng)絡(luò)上下載。


S7-1200 MODBUS TCP通信多請求處理的評論 (共 條)

分享到微博請遵守國家法律
宁武县| 嘉义市| 许昌市| 波密县| 民丰县| 博罗县| 格尔木市| 琼中| 普兰店市| 宁化县| 宝应县| 保德县| 新河县| 大安市| 齐齐哈尔市| 南宫市| 青田县| 循化| 长白| 和平区| 涞源县| 汽车| 崇信县| 固原市| 榆林市| 平邑县| 修水县| 惠来县| 漠河县| 民权县| 佛坪县| 尚志市| 衡东县| 烟台市| 登封市| 花莲市| 贵州省| 哈尔滨市| 永泰县| 洞口县| 黎平县|