前言:中文期刊網精心挑選了modbus協議范文供你參考和學習,希望我們的參考范文能激發你的文章創作靈感,歡迎閱讀。
modbus協議范文1
中圖分類號TN91 文獻標識碼A 文章編號 1674-6708(2013)82-0188-02
DCS系統以及PLC系統以其獨特優勢而被各行各業廣泛應用,為實現生產的經濟高效、節能環保提供了可靠的基礎保障。但DCS系統與PLC系統之間的通訊始終是工程生產的重點問題,本文對MODBUS協議基礎上,實現DCS系統與PLC系統之間的通訊進行分析與探討,以其對工程生產提供幫助。
1 系統組成
1.1 通訊系統
Modbus通訊協議是一種通用的電子控制器應用語言,可利用網絡或其它設備實現控制器之間的通訊,Modbus協議可以在忽略控制器通信方式的前提下,對其所能認識與使用的消息結構做出定義,是一個通用的工業標準,它還對控制器與其他設備之間的訪問請求與過程進行描述,可以偵測錯誤信息并進行記錄。并且,Modbus協議還制定了公共內容格式及消息域格局,控制器可設置為RTU或ASCII中任一種傳輸模式,用戶可在標準的Modbus網絡通信中選擇所需模式及串口參數,Modbus網絡上所有設備在控制器配置時,都應將傳輸模式以及串口通信參數選擇一致。本文基于RS485協議來實現DCS與PLC之間的數據共享,可通過DCS控制PLC,也可將PLC的數據上傳到DCS。實際操作時,可將一塊MODBUS轉DP通訊模塊增加于DCS控制器下方,以使維護與控制簡單方便,而基于MODBUS協議,此通訊模塊可作為通訊主站,實現與現場PLC間的通訊,也可基于Pmfibus-DP協議并作為從站,實現與DCS系統的掛接。
1.2 DCS系統
集散控制系統DCS是以通信網絡為連接紐帶并包括過程監控級與控制級的多級計算機系統,它將計算機技術、控制技術、通訊技術以及顯示技術等有機結合起來。本文DCS系統采用的是和利時MACS V控制系統,不僅可以實現集中操作而分散控制,還可以分級進行管理,組態及其方便且配置較為靈活。
1.3 PLC系統
因工業化發展需求而產生的PLC數字運算操作系統,它利用可編程存儲將定時計數、順序控制及邏輯運算等操作指令存儲起來,再經由數字模擬輸入與輸出對機械設備或生產過程進行控制。可編程控制器與相關設備的選擇應從其功能原則設計擴充簡便為切入點,選擇易與工業控制系統形成整體的設備,而且維護與控制也較為簡便。本文PLC系統是由三套和利LK207、一套GE的IC200以及一套西門子S7-200組成。
2 系統組態
2.1 硬件組態
將通訊線自各PLC串口引出,并將其與MODBUS轉PROFIBUS-DP協議轉換模塊的MODBUS接口連接。
2.2 軟件組態
1)DCS系統組態。將MODBUS轉PROFIBUS-DP協議轉換模塊中的GSD文件拷貝至MACS V系統的相應安裝目錄,再打開MACS V系統的控制器組態文件與工程,將此模塊添加于硬件組態中,然后打開模塊屬性對通訊參數波特率等進行設置,再基于PLC讀寫數據對MODBUS讀寫數據塊進行合理添加,數據塊屬性設置取決于數據起始地址及PLC地址。以各自地址以及PLC讀寫變量進行添加于程序中的子程序編寫以及變量添加,然后對編譯進行保存。將PLC變量至工藝畫面添加至打開的MACS V畫面的組態程序并保存,然后下裝于操作員站,而將PLC傳過來的量程或信號類型等變量屬性添加至打開的MACS V數據庫的組態程序,再聯編并將其下裝于服務器;
2)PLC系統組態。本文以GE公司的IC200型PLC來說明該系統組態。將GE PLC編程軟件打開并對PLC Port(2) 進行設置,然后利用網絡將小酒改后的設置內容下至PLC。
3 系統常見故障的判斷與排除
若DCS系統與PLC系統之間的數據通訊正常,則對故障隱患的判斷可通過模塊狀態指示燈來實現,可從模塊上的數據傳送與接收指示及錯誤狀態表示對,作通訊狀態進行判斷并對故障進行診斷。而若DCS與PLC之間的數據通訊為不正常狀態,則DCS系統畫面所顯示的數據不正常,模塊狀態指示燈有錯誤狀態顯示。對此,應對硬件錯誤及軟件錯誤進行依次檢查并排除故障。硬件方面,應使用DP電纜,接線時切忌將正負極性接反,模塊選型時也要注意選擇有較高的使用信譽度且實用效果較好的產品,由于兼容性差異的問題,兩次以上的接口轉換情況應盡量避免。而軟件方面,首先要保持一致的DCS與PLC間的通訊速率,最好使用無校驗而減少奇偶校驗,其次要確保DCS與OLC系統的通訊數據地址合理有效,若有地址錯位狀況,可通過DCS系統設置來解決。
4 結論
綜上所述,在實現DCS系統與PLC系統之間的通訊中應用MODBUS協議,可以取得良好成效,即是說,基于MODBUS協議的DCS與PLC通訊的實現,具有穩定的通訊性能,可以為工藝監控提供可靠技術支持,為工程生產創造良好的條件,有效實現生產的節能減排、經濟高效。
參考文獻
[1]趙釗.基于Modbus協議的DCS系統與PLC系統的通訊[J].節能技術,2011(4).
[2]王剛,王玉琪,王冰.用Modbus協議實現DCS與PLC之間的串行通訊[J].自動化技術與應用,2010(4).
modbus協議范文2
關鍵詞:智能調壓器;串口服務器; MODBUS協議
中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2015)27-0197-03
Abstract: In this paper, it mainly implements a gas pressure controlling system, containing of five intelligent regulators and one host computer, in which each intelligent regulator connects with the host computer via a port. This system provides our customers with an efficient integrative solutions that realizes unified controlling management of five regulators by one host computer. Specifically, this system uses MODBUS communication protocol to realize the communication between each regulator and host computer. Additionally, users can remote access control, and query or control the state of regulators on time.
Key words: Intelligent regulators; Serial port server; MODBUS communication protocol
本課題來源于某燃氣設備公司的一個項目,首先先對該項目進行簡要的介紹。該燃氣公司目前擁有五臺智能調壓器,如圖1所示。該調壓器擁有五種功能,分別是流量測量、本地或遠程出口壓力設定、流量限制、遠程監控和終端用戶管理。它的優點是功能多,且只需要一個電源。
每臺智能調壓器通過串口與上位機通訊,現在需要實現了一個高效整合解決方案,通過一臺上位機對五臺調壓器的統一控制管理,并且用戶可以遠程對其進行訪問控制,即時地查詢和控制調壓器的狀態。
1 方案綜述
1.1 硬件實現方案
由于每臺智能調壓器都是通過串口和上位機一對一連接,而上位機只有一個串口,所以想要用一臺上位機實現對五臺設備的集體控制,首先要解決硬件連接上的問題。
我們的解決方案是使用一個串口服務器[1]。串口聯網服務器讓傳統的RS-232/422/485設備立即聯網,利用基于TCP/IP的串口數據流傳輸的實現來控制管理[2]。串口服務器擁有多個串口,并且通過以太網與上位機連接,在上位機上虛擬多個串口,實現了一帶多的功能。
本課題所使用的串口服務器可以同時和八臺設備連接通信,很好地解決了硬件上的問題。
1.2 軟件實現方案
硬件的問題通過串口服務器比較容易地解決了,下面重點在于軟件上的實現。
首先,需要在調壓器和上位機間建立通信,由于通過串口服務器,上位機具備了多個虛擬串口,所以可以直接使用傳統的一對一通訊協議。在本系統中,我們使用MODBUS通訊協議中的命令3,命令6和命令16,來實現上位機對調壓器的讀多個寄存器,寫單個寄存器和寫多個寄存器的功能。
其次,為了實現多個用戶遠程的訪問控制調壓器,我們使用SQL SERVER 2008數據庫作為中間媒介,現場的上位機通過串口服務器實時采集各個調壓閥的狀態,并存入數據庫中, 而用戶可以使用我們提供的應用程序在任何地方訪問數據庫,讀取數據,從而遠程監測燃氣壓力控制系統的狀態。同理,遠程用戶可以將控制命令寫入數據庫,而現場上位機將這些命令從數據庫讀出,并轉發給各個調壓器。
最后,根據權限的高低依次設計Admin、Controller、Observer三種用戶角色,所有遠程用戶必須使用賬戶密碼進行登錄,根據不同的權限進行不同的操作,這樣可以保證系統的安全性。
2 MODBUS協議簡介
MODBUS是OSI模型第7層上的應用層報文傳輸協議,它在連接至不同類型總線或網絡的設備之間提供客戶機/服務器通信[3]。MODBUS協議定義了一個與基礎通信層無關的簡單協議數據單元(PDU)。特定總線或網絡上的MODBUS協議映射能夠在應用數據單元(ADU)上引入一些附加域,如圖2所示。
在本系統中,功能碼代表了上位機向調壓器指示的操作類型。根據需求,我們使用到了功能碼3,6和16,下文將簡單介紹這三種功能碼。
2.1功能碼3
功能碼3用于讀取寄存器連續快的內容,上位機通過這條命令,結合地址表,采集調壓器當前狀態。功能碼3的請求報文,如圖3所示。
2.2 功能碼6
功能碼6將某個值寫入遠程設備的單個寄存器中,上位機通過這條命令,結合地址表,設定調壓器的狀態。在本系統中,我們并未直接實現功能碼6,而是將功能碼6作為功能碼16的一種特殊情況。
2.3 功能碼16
功能碼16用于將多個值寫入遠程設備的連續寄存器塊中,上位機通過這條命令,結合地址表,連續設定調壓器的多個狀態。特別地,將寄存器數量設為1,即可作為功能碼6的實現,用于設定單個狀態值。功能碼16的請求報文,如圖4所示。
3 上位機控制程序
上位機控制程序是在現場的上位機的一個進程,由它對整個系統進行實時的控制。主要有以下兩個功能:
1)運行時不斷更新調壓器監測數據到數據庫中,供遠程用戶從數據庫中讀取。
2)從數據庫的命令表項里讀取遠程用戶命令并執行。
上位機控制程序使用定時器的方式,每5秒調用已實現并封裝的MODBUS協議的接口,采集各個調壓器的狀態,并且使用[4]將當前狀態更新到數據庫的CURRENT_STATUS表,如表1所示。這張表里永遠只有一條數據,這樣遠程用戶通過不斷的讀取這張表里的第一行數據,就可以實時監控系統狀態。
其次,上位機控制程序使用從數據庫中的COMMAND_TABLE表中讀取遠程用戶的命令,如表2所示。上位機控制程序通過表中DONE字段判斷這條命令是否已執行,對于未執行命令,上位機程序調用MODBUS庫接口,根據命令類型,調壓器編號去設定調壓器狀態。
4 數據庫表項和用戶角色
4.1 數據庫表項
在本系統中,數據庫用來實現遠程用戶對調壓器的監測和間接控制以及存放歷史數據。在數據庫中設置了四張表,分別是:
1) 歷史信息表:用于記錄實時采集的系統數據,采用月表的形式,在每月固定時間新建一張。
2) 當前信息表:實時記錄當前調壓器的狀態。
3) 命令表:用于特定權限用戶寫入命令,上位機控制程序從中讀取命令并執行。
4) 用戶表:admin用戶使用,記錄用戶信息,每注冊一個新用戶增加一個表項。
歷史信息表和當前信息表都只提供給遠程用戶讀取功能,而由上位機控制程序更新(寫入)。由于有五臺智能調壓器,每臺調壓器都擁有各自獨立的歷史信息表和當前信息表。
4.2 用戶角色
根據安全性的需要,用戶分為以下三種:
1) Admin用戶:擁有最高權限,主要用于管理其他用戶。可以訪問數據庫中所有表,只有admin能訪問用戶表。
2)Controller用戶:既可以查看歷史信息和當前狀態,即讀取數據庫中五臺設備的歷史信息表和當前信息表,也可以寫控制命令到命令表,提供給上位機控制程序執行,對調壓器進行遠程控制。
3)Observer用戶:權限最低,作為觀察用戶,只能訪問歷史信息表和當前信息表,不能訪問命令表,即不能對調壓器進行控制[5]。
5 結論
本文實現了一個高效整合的燃氣壓力控制系統,硬件上使用串口服務器擴展硬件上位機的串口,實現一帶多的功能。通訊上,使用MODBUS通訊協議,實現了協議中的功能碼3,功能碼6和功能碼16。使用SQL SERVER 2008數據庫作為中間媒介,實現了遠程監測和控制的功能。安全性上,根據權限的高低依次設計Admin、Controller、Observer三種用戶角色,保證了控制系統的安全性。
參考文獻:
[1] 董小吉. 利用NPORT串口服務器組網解決方案[J]. 治淮, 2006(1):41-42.
[2] 王雙慶, 邢建春, 王平,等. 基于NPort串口服務器的人防工程智能設備集成[J]. 工業控制計算機, 2008(8):8-10.
[3] 潘洪躍. 基于MODBUS協議通信的設計與實現[J]. 計量技術, 2002(4):35-36.
modbus協議范文3
【關鍵詞】 Modbus協議 保護裝置 報文丟失
南京地鐵二號線變電所內高壓供電設備的保護裝置(P139保護裝置和P521保護裝置)與所內SCADA系統的網絡通信服務器(WTS-65C)通過RS485接口運用Modbus協議進行通信。在正常運行狀態和調試狀態下,保護裝置的信號能夠準確、及時地傳輸給SCADA后臺。地鐵實際投運后,發生了多次重要保護動作沒有被后臺采集到的故障。這些故障的共同特點是保護裝置本身可以觀察到保護動作的完整信號記錄,SCADA系統后臺卻只顯示了開關跳閘的動作而無法查閱與之相關的保護告警報文。
1 Modbus協議介紹
1.1 背景介紹
Modbus協議是由美國MODICON公司在1978年開發的一種通信協議,最初是用在MODICON公司開發的PLC可編程控制器上,它支持傳統RS232、RS422以及RS485通信標準。1996年MODICON公司又推出了基于TCP/IP的Modbus協議使得其在工業領域的應用更加廣泛[1]。
1.2 Modbus通訊協議關鍵技術
各種不同公司和廠家的PLC、RTU、SCADA系統、DCS或與兼容Modbus協議的第三方設備之間可以通過Modbus協議連成工業網絡,構建各種復雜的監控系統。參考ISO/OSI模型,可以發現在物理層,Modbus協議可以采用RS232、RS422、RS485接口以及以太網的物理層結構;在數據鏈路層,Modbus主要采用串行主從協議;由于Modbus現場總線的實時性特點,所以在網絡層、傳輸層、會話層和表示層,Modbus協議模型中均沒有定義;在應用層中Modbus規定了協議的模型,主要包括消息幀格式、功能碼、校驗、通訊時序控制等內容[2]。
電力系統中Modbus協議的數據分為四類:開入量;開出量;只讀模擬量(輸入寄存器),例如遙測值等;可讀寫模擬量(保持寄存器),例如保護定值、設備參數等[4]。Modbus需要處理的所有數據都需要存放在裝置的存儲器中,為了不把存儲器物理地址和寄存器編號混淆,就需要把寄存器編號與存儲器地址建立鏈接,通過統一管理存儲器地址來管理寄存器。
Modbus的數據存儲模型也分為兩類,分別是帶有四個獨立數據塊的數據存儲模型和僅有一個數據塊的數據模型。四個獨立的數據塊模型使用四個獨立的存儲器分區分別存儲四種數據,這樣有助于針對不同類型的數據進行相應的硬件處理,但是不同的工業應用場合使用的數據類型不會完全相同,因而可能產生存儲器資源的耗費;共用一個獨立數據塊模型進行數據存儲的方式可以節省存儲器的硬件資源,但需要軟件針對不同的數據類型對存儲器空間進行劃分。南京地鐵二號線高壓保護裝置使用了僅有一個數據塊的數據存儲器結構。
2 保護信號丟失的原因分析及解決方案
2.1 南京地鐵二號線Modbus規約數據傳輸方式
南京地鐵二號線站內SCADA系統在RS485通信標準下采用Modbus一對多通信協議。作為Master的網絡通信服務器采用RTU方式輪流向每一臺35kV保護裝置發送數據請求廣播。請求報文為8字節報文,其數據格式如(表1)。
2.2 保護信號丟失的原因分析及解決方案
通過調查所有歷史告警記錄,我們發現故障中被丟失的保護信號也曾經被系統采樣到并形成報文傳至SCADA系統后臺。這說明保護信號丟失的現象并不是必然發生,也就排除了系統結構倒致故障的原因。
通過查看保護裝置的保護信號點表配置,我們發現保護信號的采樣和維持皆取自于保護信號的條件信號。保護條件是否滿足是判斷保護動作是否發生的關鍵,所以保護動作信號從保護條件信號上采樣并判斷并沒有問題。但是保護信號的維持也依靠保護條件信號的維持就產生了矛盾。對比試驗條件和現場環境,可以發現實驗條件下保護條件信號是人工手動加載于裝置的接線端子之上的。信號的發生與消失的速度完全依靠人手工操作的速度,而這個速度明顯慢于網絡通信服務器的一個循環檢測周期,因而保護信號因得到了手工延時可以被網絡通信服務器采集到。現實條件下保護信號卻是一個瞬態量。當有保護動作時,相應機構的動作延時一般不超過50ms,機構動作完畢后,作為保護動作的條件就消失,保護條件信號和保護信號隨之消失。所以保護信號在保護裝置中的維持時長一般短于50ms。當保護信號發生時網絡通信服務器在保護信號維持的時間段內恰巧能夠采集到相應的保護裝置,則保護信號能夠被采集并上傳;如果此時網絡通信服務沒有采集到這一臺保護裝置,那么在保護信號消失之后網絡通信服務器就不會采集到相應的告警。
3 結語
循環檢測是Modbus協議的主要特點。作為串行通信條件下的一種通信協議,Modbus無法通過自身的構架改良來解決瞬態信號的采樣問題。設法延長信號時長和提高采樣器件的采樣頻率是兩種可行的方法。后一種方法需要硬件升級,耗用較高的成本;前一種方法成本較低,但是需要合適的使用環境以及可實現的信號延時方法。
參考文獻:
[1]李偉.基于Modbus協議的工控節點設計與實現[J].計算機工程,2007-36(16):226-228.
[2]史運濤,孫德輝,李志軍等.基于Modbus協議的通訊集成技術研究[J].化工自動化及儀表,2010-34(4):67-72.
[3]盧文俊,冷杉,楊建軍.基于Modbus協議的控制器遠程監控系統[J].電力自動化設備,2003-23 (6):54-56.
modbus協議范文4
關鍵詞:RTU;無線儀表;Modbus;XML
DOIDOI:10.11907/rjdk.171492
中圖分類號:TP319
文獻標識碼:A 文章編號:1672-7800(2017)006-0050-03
0 引言
隨著計算機網絡技術、通信技術的快速發展,石油行業對油田的數字化、信息化、智能化要求越來越高,目前各大油田都在致力于數字化油田的建設。在傳統的油田現場,儀表和RTU之間采用RS485串行接口或通過模擬量輸入進行數據通信,該方式以其高可靠性、高適應性、易擴展性[1],在油氣田監控中得到了廣泛的應用。但是這種方式也存在以下不足:①調試人員需要去油田現場通過串口調試軟件或者直接修改儀表程序對儀表進行配置,浪費時間且容易出錯,對調試人員的專業技能要求比較高,而且由于部分油田距離較遠,環境惡劣,增加了現場維護成本;②由于油田現場環境復雜多變,抽油機機械運動導致傳輸線路容易損壞,加之其它因素使得傳輸信號受到的干擾加劇,導致信號不穩定。
Zigbee以其低復雜度、低功耗、低成本、高可靠等優點,在智能家居等領域得到廣泛應用。近年來,在油田現場,無線儀表開始興起,實踐證明,Zigbee作為儀表和RTU之間的通信方式完全可行,油田現場儀表-RTU-上位機通信結構如圖1所示。
本文在考察數字化油田信息傳輸流程的基礎上,設計與實現了基于Modbus通信協議的油田RTU調試軟件。
1 軟件總體設計
1.1 設計目標
首先,本系統可以根據油田現場實際情況選擇RTU與上位機之間的通信方式是串口Modbus還是網口Modbus,從而實現數據的讀寫交互;其次,可以讀取RTU型號代碼、序列號、固件版本、軟件版本等常規數據以及RPC信息、儀表信息,采集示功D數據并且繪制示功圖;最后,可以配置儀表、井口、RTU的相關參數,開啟或者關閉RTU等功能。系統功能模塊如圖2所示。
1.2 系統開發流程
本系統首先編程實現串口Modbus和網口Modbus通信,然后用ModScan32軟件驗證數據包的正確性,最后進行數據讀取,即獲取信息和配置參數。系統軟件開發流程如圖3所示。
2 通信模塊實現
2.1 Modbus通信協議
Modbus是由Modicon在1979年發明的,是全球第一個真正用于工業現場的總線協議,也是目前工業現場總線中較為流行的總線協議,標準的Modbus協議物理層接口有RS232、RS433、RS485和以太網口[2]。本系統RTU和上位機物理層使用的接口為RS232和以太網口。Modbus協議是一項應用層報文傳輸協議,包括Modbus ASCII、Modbus RTU、Modbus TCP/IP 3種報文類型[3]。其中Modbus ASCII、Modbus RTU在串行鏈路上傳輸,Modbus TCP/IP在以太網上傳輸。
由于標準Modbus RTU協議的物理層為串口通信,因此應用層數據單元ADU的最大長度為256字節。如圖4所示為Modbus RTU通用數據幀格式,因此,協議數據單元PDU的長度為:256-Server address(1 byte從地址)-CRC(2 byte CRC校驗)=253 bytes。
Modbus TCP/IP是運行在傳輸控制協議上的Modbus 報文傳輸協議[4]。互聯網編號分配管理機構IANA給Modbus協議賦予TCP端口號為502[5]。Modbus TCP/IP通用數據幀如圖5所示。
功能碼占一個字節,編號為0的功能碼未定義。因此,共有127功能碼,它們一共分為3類:公共功能碼、用戶自定義功能碼、保留功能碼[6]。
2.2 通信模塊實現
使用VS2010開發環境集成的SerialPort控件實現串口數據的讀寫,自定義一個控件ipBox用以接收用戶輸入的RTU的IP地址。使用ComboBox下拉菜單顯示調試軟件和RTU的通信方式,即計算機串口的COM口或者網口。在實際應用中,儀表和RTU的數據及相關參數都存儲在RTU的寄存器中,由于油田現場的儀表較多,因此參數也較多,每個參數所占用寄存器的單元個數也較多。為了方便管理,將這些參數有規律地存放在RTU的寄存器單元中,并繪制成如圖6所示的點表,然后根據點表將這些信息編成XML文件,當需要對某個寄存器讀寫時,只需要加載rtu.xml文件并讀取相應的信息即可。
本文在Modbus協議的基礎上,將Modbus數據幀的Data部分劃分為兩部分,第一部分占用2個字節,表示參數存放的寄存器的起始地址,第二部分占用2個字節,表示占用的寄存器個數。
因此,定義一個函數public int MakeData(byte cmd,short addr,short len,ref byte[]data)形成Modbus數據幀。函數參數含義:
cmd:功能碼,該參數的含義為讀/寫單個或者多個RTU單元的數據。
addr:RTU存儲單元起始地址。
len:一次讀/寫RTU存儲單元的個數。
data:前3個參數形成的數據幀存放在data數組中。
當數據幀形成以后,判斷RTU與上位機之間的通信方式,如果是串口通信,則使用SerialPort控件的成員函數Read(byte[]buffer,int offset,int count)、Write(byte[]buffer,int offset,int count)和RTU交互,完成稻蕕畝列床僮鰨蝗綣是以太網口通信,用Socket套接字實現與RTU的通信,WSAStartup()、socket()、bind()、send()、recv()函數可以完成一次通信,使用的TCP端口號為502。
3 顯示界面設計和通信測試
顯示界面設計主要是調試軟件的界面布局,使用的控件主要有:Button控件、ComboBox控件、自定義的IpBox、Label控件、TextBox控件、DataGridView控件以及Chart控件等。
測試通信和數據幀是否正確的方法為:利用ModScan32軟件向RTU發送和調試軟件相同的命令,對比數據幀每一個字段,看是否相同。經過測試,RTU和上位機之間能進行正常通信,數據幀的格式正確。
4 結語
該軟件實現了與RTU之間的串口和網口通信。經測試,能夠實現正常通信,且可準確獲取RPC、儀表、RTU信息的各項參數,同時可正確采集功圖數據并繪制示功圖。在儀表、RTU和上位機能正常通信的前提下,該軟件能完成儀表、RTU、井口的配置。經過現場測試,該軟件運行穩定良好,并成功應用于某油田現場。
參考文獻:
[1]李濤,王雙友.智能化配電系統中Modbus協議轉換的實現[J].自動化與儀表,2016(1):30-33.
[2]楊艷華,周永錄,蘇.通用串口到Modbus RTU的協議轉換器設計與實現[J].計算機測量與控制,2014(2):604-606.
[3]王興貴,張明智,杜瑩.Modbus RTU通信協議在智能儀表與工控機通信中的應用[J].低壓電器,2008(2):8-11.
[4]張隆希.嵌入式Modbus協議交換機的設計[J].機電工程技術,2016(Z2):232-236.
[5]王力.Modbus RTU從站通信協議在嵌入式系統中的實現[J].石油化工自動化,2011(5):46-48.
[6]呂國芳,唐海龍,李進.基于Modbus RTU的串口調試軟件的實現[J].計算機技術與發展,2009(9):236-238,241.
modbus協議范文5
關鍵詞:通信;Modbus協議;S7-226;直流電源
中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2012)10-2395-04
Modbus Protocol Applied in the Communication of S7-226 and HSPY DC Power
LIU Shi-chao
(Taiyuan University of Technology, Taiyuan 030024, China)
Abstract: IN DC power control system of Dense Medium Separation ,based on the Modbus protocol,realized the communication between S7-200PLC and HSPY DC power. IN Modbus communication protocol,Siemens S7-226 PLC is master,HSPY DC power is slave, use communication to control the start of the DC power supply, stop, and the change in current. Instruced Modbus library in the Step 7 MicroWin Software of Siemens, and used the serial port debugging software to facilitate the writing and debugging of the program. Modbus simplify external wiring ,solve the interference and distortion in the transmission process of conventional switching of analog signals , the communication control method can easily read the information of the operation of the DC power ,monitoring the DCpower operation status .
Key words: communication; Modbus agreement; S7-226 ; DC power
某選煤廠為了在線調節控制三產品旋流器二段分選密度,外加螺線圈來用磁場影響磁鐵礦粉的分布。螺線圈是采用直流電源來供電,系統要求通過調節電流來控制螺線圈磁場,因此要控制直流電源的運行狀態。控制信號需要從集控室開始需要傳輸五百米才能到達直流電源,從而控制直流電源動作。在一般工業應用中,對于電源的控制大部分采用的是0-24mA或0-5V模擬量控制,很少總線控制方式。但經過比較和實際使用發現,現場總線與模擬量控制相比有很多優勢,最顯著的是具有很高的可靠性高,避免失真,并且交換的信息非常多樣化,因此越來越多的設備開始支持串口通信協議,可以預見總線控制方式通信在工程上的應用將越來越廣泛。
MODBUS通信協議是MODICON公司提出的一種報文傳輸協議,是全球第一個真正用于工業現場的總線協議[1]。它廣泛應用于工業控制領域,并已經成為一種通用的行業標準。MODBUS通信協議可以支持多種電氣接口,如RS-232、RS-485等,還可以在各種介質上傳送,如雙絞線、光纖、無線等。不同廠商提供的控制設備可通過MODBUS協議連成通信網絡,從而實現集中控制。已經有很多通過MODBUS通信協議進行PLC和變頻器的成功案例[2]。該文中采用MODBUS協議進行S7-226和HSPY程控直流穩壓電源的通訊,可以更好地控制電源,監控電源運行狀態,來解決信號遠距離傳輸失真的問題。
1PLC與HSPY程控直流穩壓電源通信控制系統
在此系統方案中PLC采用西門子公司的SIMATIC S7-226CN,直流電源采用HSPY程控直流穩壓電源。S7-226系列PLC的CPU內部集成了2個通信端口,該通信口為標準的RS485串口,可以在三種方式下工作,即PPI方式、MPI方式和自由通信口方式。系統可以將一個通信端口設為PPI方式用于連接工控機也可將其設置為MPI方式以連接觸摸屏,做為人機信息交換[2]。而另一個通信端口設為自由通信口方式,自由通信口方式是S7-200的一個特色功能,是一種通信協議完全開放的功能工作方式。在自由通信口方式下的通信口的協議由外設決定,PLC通過程序來適應外設,從而使得S7-200系列的PLC可以與任何具備通信能力并且協議公開的設備通信[3] [4]。系統中的HSPY程控直流穩壓電源均內置了Modbus現場總線,相關系統構成如圖1所示,PLC的Port0通訊端口和HSPY程控直流穩壓電源構成Modbus總線。通過S7-226CN控制多臺HSPY程控直流穩壓電源,完成系統控制要求,實現對直流穩壓電源的輸出電流、電壓設定,運行狀態監控及數據交換等。
圖1直流電源控制系統
本系統中PLC作為主站,直流穩壓電源作為從站,主站向直流穩壓電源發送運行指令,同時接受直流穩壓電源反饋的運行狀態及故障報警狀態的信號等。
2MODBUS通信協議在電源通信控制系統中的使用
西門子在Micro/Win V4.0 SP5中正式推出Modbus RTU主站命令庫,西門子標準庫指令通過調用該指令庫可以使S7-200CPU上的通信口設置在自由口模式下成為Modbus RTU的主站。在S7-200控制系統應用中,要實現Modbus RTU通訊,需要STEP7-Micro/Win32 V4.0 SP5以上版本,并且安裝Modbus指令庫,如圖2,STEP7-Micro/Win32指令庫包含有專門為Modbus通訊設計的預先定義的子程序和中斷服務程序,使得PLC與Modbus從站的通訊簡單易行[5]。
圖2 Modbus命令庫
2.1 MODBUS RTU主站命令庫使用步驟
使用Modbus RTU主站命令庫,可以讀寫MODBUS RTU從站的數字量、模擬量I/O、以及保持寄存器[2]。按照一下步驟使用MODBUS RTU主站命令庫:
1)安裝西門子標準MODBUS RTU指令庫。
2)調用MODBUS RTU主站初始化和控制子程序,使用SM0.0調用MBUS_CTRL完成主站的初始化,并啟動其功能控制。
3)在CPU的V數據區中為MODBUS分配存儲區。
4)調用MODBUS RTU主站讀寫子程序MBUS_MSG,發送MODBUS請求。
表1 MODBUS部分功能碼表
2.2 HSPY電源的Modbus通訊規約
HSPY系列電源支持MODBUS通信協議,主機(PLC、RTU、PC機、DCS等)利用通訊命令,可以任意讀寫其數據寄存器。HSPY系列電源支持的MODBUS功能碼為03,10。
HSPY系列電源通訊方式為:
波特率:9600;起始位:1;數據位:8;校驗位:無;停止位:1。
2.3 HSPY系列電源的參數通訊地址的轉換
通常MODBUS地址由5位數字組成,包括起始的數據類型代號,以及后面的偏移地址。MODBUS Master協議庫把標準的MODBUS地址映射為所謂MODBUS功能號,讀寫從站的數據。MODBUS Master協議庫支持如下地址:
00001 - 09999:數字量輸出(線圈)
10001 - 19999:數字量輸入(觸點)
30001 - 39999:輸入數據寄存器(通常為模擬量輸入)
40001 - 49999:數據保持寄存器
HSPY系列電源的參數通訊地址是16進制數,首先轉為10進制,由于S7-200 PLC中最小地址為400001,而HSPY系列電源中最小地址為0,所以在寫HSPY系列電源地址時必須要加1。例如,電源的電壓設定值參數通訊地址是1000H,轉為10進制是4096,加1后是4097,寄存器地址欄要寫44097.
3串口調試軟件進行MODBUS通信調試
由于程序編寫比較繁瑣,一旦出現錯誤可能會損害HSPY電源,為了避免損害的發生,可以利用串口調試軟件進行MODBUS通信調試,其優點是不必連接HSPY電源,而是在工控機或PC機上用串口調試軟件查看S7-226CN輸出和讀取的數據,來判斷程序是否正確。
一般的工控機或PC機沒有RS485串口,可以將通過RS232轉RS485轉換模塊和PLC連接。RS485線選擇3號線和8號線,(其余均斷開)3號線接T+,8號線接T-,將另一端9針插頭接到PLC的PORT0通信端口上。也可以通過USB轉RS485轉換器連接。將編寫的通訊程序下載到PLC中。運行程序,打開串口調試軟件進行監控,從接收到的數據來看,和設置的HSPY電源動作的數據一致,說明MODBUS主站程序編寫正確[2] [6]。不一致,則要修改MODBUS通信程序,使其一致。
圖3 PLC串口調試軟件監控界面
4 PLC控制HSPY程控直流穩壓電源的部分程序
使用SM0.0調用MBUS_CTRL完成主站的初始化,并啟動其功能控制,如圖4。
圖4 Modbus RTU主站初始化
圖5(a)上電初始化,將控制電源的數據存入S7-226CN的V存儲器。在分配存儲區時要注意,數據區不能和其他數據區重疊,否則不能正常通訊。圖5(b)向電源發送Modbus請求,把1寫入電源寄存器1004,電源開啟;圖5(c)把1寫入電源寄存器1006,鎖定電源面板按鍵;圖5(d)把10寫入電源寄存器1004,電源輸出電流10A;圖5(e)讀取從電源寄存器數據:圖5(f)把0寫入電源寄存器1004,電源關閉。
(a)
(b)
(c)
(d)
(e)
(f)
圖5部分控制程序
5結論
該文以S7-200控制系統為例,敘述了利用Modbus RTU協議指令庫PLC與HSPY程控直流穩壓電源通訊的實現。采用自由口通訊方式的Modbus RTU協議很好的解決了PLC與直流電源等智能設備的通訊問題,不僅能有效解決信號傳輸過程中失真的問題,而且在通信模式下PLC可以方便控制直流穩壓電源的運行和讀取直流穩壓電源的運行信息,對直流穩壓電源進行有效監控。
參考文獻:
[1]西門子(中國)有限公司自動化與驅動集團.深入淺出西門子S7-200PLC [M].北京:北京航空航天大學出版社,2003.
[2]廖常初. PLC編程及應用[M].北京:機械工業出版社,2005.
[3]龔俊,黃銳,戴濤.ACS 550與S7-226PLC自由口通訊[J/OL].[2010-04-17].中國科技論文在線(paper.省略).
[4]張士聰,王波,王然風.成莊礦選煤廠重介密度監控系統的改造實踐[J].工礦自動化,2011(5):12-14.
modbus協議范文6
關鍵詞:工業現場總線;modbus
中圖分類號:TP23 文獻標識碼:A 文章編號:1674-7712 (2013) 10-0186-01
一、工業現場總線技術概述
現場總線是在上個世紀80年代末、90年代初國際上發展形成的,發展初期的主要功能是將當時的可編程邏輯控制器(ProgrammableLogicController,簡稱PLC)以一種較簡潔的方式連接起來。但是,隨著計算機技術引入PLC,計算機通信技術被引入現場總線;PLC功能的增強對現場總線提出了更高的要求,計算機通信技術的引入大大增強了現場總線的功能,成為現場總線技術發展的主要趨勢。
二、Modbus總線協議概述
Modbus是由Modicon(現為施耐德電氣公司的一個品牌)在1979年發明的,是世界范圍內第一個真正應用在工業現場的總線協議,于1979年推出,現由IDA(分布式自動化接口)組織進行管理。Modbus不僅可應用在串行鏈路(RS-232/RS-485)上,還可應用于令牌環網(Modbusplus)、以太網(Modbus/TCP)上。在不斷的發展和進步的過程中,Modbus已經逐漸被人們認可,并成為了真正意義上的工業自動化標準。據不完全統計,到2007年為止,已經有多于1000萬個Modbus的節點被安裝使用。伴隨著工業自動化技術的發展以及Modbus協議的不斷擴充完善,如今Modbus現場總線已經成為世界范圍內應用最為廣泛的現場總線之一。2008年,Modbus已經正式被批準成為我國工業自動化領域國家標準GB/T19582-2008《基于Modbus協議的工業自動化網絡規范》。
Modbus是應用在生產現場、在微機化測量控制設備之間實現雙向串行多字節數字通信的系統,也被稱為開放式、數字式、多點通信的底層控制網。現場總線屬于控制網絡的范疇,是構成網絡控制系統的關鍵環節。
三、Modbus總線在水泥行業中的應用
袋裝水泥是常見的一種水泥包裝形式,其出廠包括裝包,噴碼,裝車計數,運輸等幾個環節。在水泥廠中,存在有大量以PLC或者ARM為處理器的設備自動完成噴碼和計數工作,但不具有通訊接口或者只具有RS-232/RS-485等傳輸距離較近的通信接口,需要人工現場操作,無法實現集中控制和遠程控制。因此,Modbus總線在水泥行業具有極大的發展空間。
(一)Modbus總線的拓撲結構
Modbus總線具有Modbus/RTU傳輸模式和Modbus/TCP傳輸模式,分別適用于早期的RS-485設備和具有以太網TCP/IP接口的設備,其系統(二)Modbus協議的兩種數據幀結構
因為Modbus總線具有Modbus/RTU傳輸模式和Modbus/TCP傳輸模式,當在Modbus串行鏈路上使用RTU模式通信時,報文中的1個字節(8bit)是由含有2個十六進制字符(4bit)構成。圖2給出了Modbus/RTU模式下的報文幀格式,主要由地址域、功能碼域、數據域和CRC校驗組成。
MODBUS總線的另一種傳輸模式是modbus/tcp模式,這是一種固有的協議數據單元(PDU),底層通信無關,對于特定網絡上的的Modbus應用數據單元(ADU),可以引入一些附加域(如附加地址域等)。Modbus/TCP實現時,在ModbusPDU之前附加MBAP報文頭(Modbus應用協議報文頭),圖3所示為Modbus/TCP數據幀結構。Modbus/TCP幀結構中不包含CRC校驗域,這是由于在TCP/IP協議中已經使用了CRC-32差錯校驗碼,無需進行重復校驗。
(三)Modbus總線的差錯控制
Modbus協議的差錯控制采用LRC校驗和CRC校驗,在發送方通過一定算法在原始數據上添加必要的校驗信息,接收方接受到數據后通過同樣的算法進行數據校驗,以防止以數據在傳輸過程中產生的錯誤而引起誤操作。
四、結論
通過Modbus總線,可以實現水泥行業中現場設備的遠程控制和集中控制,使操作人員遠離惡劣的現場環境,提高了企業運行效率,保障了員工的人身安全,提升了企業形象。
參考文獻:
[1]許杰.淺談Modbus現場工業總線技術在煤礦的應用[J].中國科技博覽,2011(35).