<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 西門(mén)子S7-1200 MODBUS通信的一個(gè)應用案例分享

西門(mén)子S7-1200 MODBUS通信的一個(gè)應用案例分享

作者: 時(shí)間:2016-12-19 來(lái)源:網(wǎng)絡(luò ) 收藏
S7-1200設計緊湊、組態(tài)靈活,TIA在庫函數中嵌套了Modbus-RTU和Modbus-TCP功能庫,在做數據采集的項目中是非常好用的。
做過(guò)一個(gè)換熱站設備運行監測的項目,需采集管網(wǎng)一次側和二次側的供水壓力、溫度以及ABB變頻器的工作狀態(tài)?,F場(chǎng)各類(lèi)變送器已經(jīng)接到了原有的智能儀表上,因此采用1200PLC通過(guò)MODBUS-RTU與現場(chǎng)智能儀表和變頻器通信是比較經(jīng)濟的方案,并且可通過(guò)MODBUS-TCP與遠程上位機通信。
智能儀表及變頻器作為從站,只需在設定中選擇Modbus-RTU通信協(xié)議并且為設備分配不重復的站地址即可。1200 PLC作為主站必須配備RS485通信模塊,其通信的基本原理是:首先程序開(kāi)始運行時(shí),調用一次Modbus庫中的功能塊MB_COMM_LOAD來(lái)組態(tài)RS485模塊上的端口;其次調用庫中的功能塊MB_MASTER作為Modbus主站與設備進(jìn)行通信。
1200PLC作為主站通信是由DATA_ADDR(從站中的起始Modbus地址)和MODE(讀、寫(xiě)、診斷模式)參數一起確定實(shí)際Modbus消息中使用的功能代碼。DATA_PTR(數據指針)指向要寫(xiě)入或讀取的數據的CPU DB地址,該DB必須為“非僅符號訪(fǎng)問(wèn)”DB類(lèi)型。在TIA V12以上平臺中,將該DB屬性中的“優(yōu)化的塊訪(fǎng)問(wèn)”選項取消。
PLC主站發(fā)送帶有站地址標識的數據來(lái)尋址不同的從站,同時(shí)不同的從站通過(guò)響應帶有站地址標識的數據給主站,以完成整個(gè)通信過(guò)程。這種輪詢(xún)通信,可以根據發(fā)送和接收完成的標志來(lái)完成,也可以以固定的時(shí)間間隔進(jìn)行輪詢(xún),實(shí)際應用時(shí)需要考慮CPU的性能以及輪循Modbus子站時(shí)間。程序編好后先用MODBUS調試工具測試一下,正常后再開(kāi)始接線(xiàn)。
在接線(xiàn)時(shí)遇到一個(gè)小插曲:PLC及變頻器的485接線(xiàn)端子B為正,A為負,很多廠(chǎng)家儀表的485接線(xiàn)端子是A為正,B為負,一開(kāi)始通信始終不正常,當查看儀表說(shuō)明書(shū)時(shí)才發(fā)現。
項目中我使用的是Modbus-TCP通過(guò)PLC上PN接口與上位機進(jìn)行通信,Modbus-TCP使用開(kāi)放式用戶(hù)通信連接作為Modbus通信路徑。在S7-1200 PLC的庫函數中嵌套了Modbus-TCP功能塊庫, 它包含了Server和Client的庫函數,編程時(shí)可以直接調用該庫函數可實(shí)現與上位機的Modbus-TCP通信。
在該系統應用中S7-1200 PLC作為Modbus Tcp Server(服務(wù)器),調用 “MB_SERVER”指令處理Modbus-TCP客戶(hù)機的連接請求、接收Modbus功能的請求并發(fā)送響應,設置連接ID、IP端口等參數,使用起來(lái)比較簡(jiǎn)單。
S7-1200 PLC作為網(wǎng)絡(luò )的服務(wù)器端,上位機可以按需建立連接訪(fǎng)問(wèn)PLC的數據區,這樣在上位機對多個(gè)換熱站的PLC連接中不會(huì )占用太多的資源。前提是PLC必需要有固定的IP才行,如果是動(dòng)態(tài)撥號連接上位機,PLC端就需要作為客戶(hù)端,通過(guò)修改MODE管腳的值改變發(fā)送或接收狀態(tài),按照主機的請求來(lái)按需向主機發(fā)送數據或主動(dòng)接收主機的改寫(xiě)數據就比較麻煩了。
這是我在MODBUS通信協(xié)議項目應用中的一點(diǎn)小體會(huì ),一些觀(guān)點(diǎn)或許過(guò)于幼稚,望各位同行多我指正,僅以此文起到拋磚引玉的作用。


關(guān)鍵詞: S7-1200MODBUS通信應用案

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>