時間:2015-08-04 16:41:00來源:王子娜 李方園
摘要:在現場總線應用中,最常用的就是Modbus總線。本文主要介紹一種基于Modbus的遠程溫度采樣控制,給出了PLC硬件接線原理,闡述了軟件設置與編程,在實際應用中獲得了很好的效果。
關鍵詞:Modbus;PLC;遠程溫度采樣
1、前言
Modbus是由Modicon公司(現為施耐德電氣的一個品牌)在1978年發明的,這是一個劃時代、里程碑式的網絡協議,是全球第一個真正用于工業現場的總線協議。
Modbus的巨大成功,可以歸結到以下3個方面:
a.標準、開放:用戶可以免費、放心地使用Modbus協議,不用交納許可證費,也不會侵犯知識產權。目前,支持Modbus的廠家超過400家,支持Modbus的產品超過600種,而且在國內也有很多的用戶支持和使用Modbus的產品。
b.Modbus是面向消息的協議。可以支持多種電氣接口,如:RS232、RS422、RS485等,還可以在多種介質上傳送,如:雙絞線、光纜、無線射頻等。要說明的是:和很多的現場總線不同,它不用專用的芯片與硬件,完全采用市售的標準部件。這就保證了采用Modbus的產品造價最為低廉。
c.Modbus協議的幀格式是最簡單、最緊湊的協議。可以說:簡單高效,通俗易懂。所以用戶使用容易,廠商開發簡單。用戶和廠商可以通過ww.Modbus-IDA.org網站和其他網站,下載各種語言的樣例程序、控件、以及各種Modbus工具軟件,更好地使用Modbus。
本文將主要闡述一種基于Modbus的遠程溫度采樣控制系統,使用2臺西門子S7-200PLC,將連接在從站PLC上的PT100溫度,顯示在具有Modbus總線接口的溫度表上。
2、Modbus在遠程溫度采樣控制系統中的總體設計
系統總框圖如圖2.1所示。S7-200PLC從站獲取溫度信號(即PT100),將信息通過Modbus反饋到S7-200PLC主站上,再通過Modbus總線反饋到溫度表上,將溫度的上限和下限可以設置,并在信號燈進行輸出,這樣就能夠更容易得觀察到溫度變化現象,時時記錄數據,更具人性化。
圖1系統總體框圖
(1)Modbus報文傳輸協議
Modbus地址通常是包含數據類型和偏移量的5個或6個字符值。第一個或前面兩個字符決定數據類型,最后的4個字符是符合數據類型的一個適當的值。Modbus主站指令可以將地址映射至相應的功能,以發送到從站。
Modbus地址與S7-200地址對應關系如表1所示。
表1映射Modbus地址到S7-200
000001 |
Q0.0 |
000002 |
Q0.1 |
000003 |
Q0.2 |
… |
… |
000127 |
Q15.6 |
000128 |
Q15.7 |
010001 |
I0.0 |
010002 |
I0.1 |
010003 |
I0.2 |
… |
… |
010127 |
I15.6 |
010128 |
I15.7 |
030001 |
AIW0 |
030002 |
AIW2 |
030003 |
AIW4 |
… |
… |
030032 |
AIW62 |
040001 |
HoldStart |
040002 |
HoldStart+2 |
040003 |
HoldStart+4 |
… |
… |
04xxxx |
HoldStart+2x(xxxx-1) |
Modbus通信協議有ASCII和RTU(遠程傳輸單元)兩種報文傳輸模式。Modbus網絡中所有的站必須采用相同的傳輸模式和串口參數。本系統采用RTU模式,其報文格式如表2所示。
表2RTU模式的報文格式
地址 |
功能碼 |
數據1 |
… |
數據n |
CRC高字節 |
CRC低字節 |
地址:Modbus地址,1個字節。
功能碼:Modbus功能代碼,1個字節;Modbus協議支持的功能碼共16條(1-16)。
(2)Modbus通信指令
西門子專門為ModbusRTU通信開發了指令庫,及大地簡化了ModbusRTU通信的開發,以便于快速實現相關應用。通過ModbusRTU從站指令庫,使得S7-200可作為ModbusRTU中的從站設備集成到Modbus網絡中,以實現與Modbus主站設備的通信。
西門子Modbus主站協議協議庫包括兩條主站協議指令:MBUS_CTRL指令和MBUS_MSG指令。MBUS_CTRL指令用于初始化主站通信,MBUS_MSG指令(或用于端口1的MBUS_MSG_P1)用于啟動對Modbus從站的請求并處理應答。
1)MBUS_CTRL指令如圖2所示。
圖2MBUS_CTRL指令 圖3MBUS_MSG指令
主要參數含義如下:
Mode:“模式”參數,輸入數值來選擇通信協議。1將CPU端口分配給Modbus協議并啟用該協議;0將CPU端口分配給PPI系統協議,并禁用Modbus協議。
Baud:“波特率”參數。MBUS_CTRL指令支持的波特率為19200、38400、57600或115200bit/s。
Parity:“奇偶校驗”參數。“奇偶校驗”參數被設為與Modbus從站奇偶校驗相匹配。所有設置使用一個起始位和一個停止位。可接受的數值為:0-無奇偶校驗,1-奇校驗,2-偶校驗。
2)MBUS_MSG指令如圖3所示。
主要參數含義如下:
First:“首次”參數。“首次”參數應該在有新情求要發送時才打開以進行一次掃描。“首次”輸入應當通過一個邊沿檢測元素(例如上升沿)打開,這將導致請求被傳送一次。
Slave:“從站”參數。“從站”參數是Modbus從站的地址,允許的范圍是0-247.地址0是廣播地址,只能用于寫請求,不存在對地址0的廣播請求的應答。并非所有的從站會支持廣播地址,S7-200Modbus從站協議庫不支持廣播地址。
RW:“讀寫”參數。“讀寫”參數指定是否要讀取或寫入該消息。“讀寫”參數允許使用下列兩個值:0-讀,1-寫。
Addr:“地址”參數。“地址”參數是起始的Modbus地址。
Count:“計數”參數。“計數”參數指定在該請求中讀取或寫入的數據元素的數目。“計數”數值是位數(對于位數據類型)和字數(對于字數據類型)。
西門子Modbus從站協議庫包括兩條從站指令:MBUS-INIT指令和MBUS-SLAVE指令(圖4和圖5)。
圖4MBUS_INIT指令 圖5MBUS_SLAVE指令
3、系統硬件電路的設計
PLC硬件接線圖如圖6所示。PLC部分略去不講,主要介紹外部元器件。
圖6PLC硬件接線圖
(1)溫度表
由于是總線控制的溫度表,一般都選用支持Modbus的RS485型數顯儀(如圖7所示)。
圖7溫度表
(2)PT100
西門子S7-200支持兩種類型的溫度傳感器,即熱電阻和熱電偶,其溫度模塊也有不同,必須合理配置。圖8為常用的PT100熱電阻。
圖8PT100外表
4、系統軟件程序的設計
利用指令庫編程前首先應為Modbus從站分配存儲區,否則Micro/Win軟件編譯時會報錯。通過Micro/Win軟件菜單命令“文件”→“庫存儲區”,打開“庫存儲區分配”對話框。在“庫存儲區分配”對話框中輸入庫存儲區的起始地址,注意避免該地址和程序中已經采用或準備采用的其他地址重合。單擊“建議地址”按鈕,系統將自動計算存儲區的截止地址。
而對于從站來說,S7-200作Modbus通信要用到自由口通信下的ModbusSlave庫,對于此庫的應用要注意的是:ModbusSlave庫僅支持ModbusPTU通信模式,不支持ASCII通信模式;目前的ModbusSlave庫僅支持通信口Port0。使用ModbusSlave庫時也要注意對庫分配內存區空間,否則編譯后會出現很多的錯誤。如圖9所示。
圖9調用的庫要分配系統內存地址區
編程時使用SM0.1調用子程序MBUS_INIT進行初始化,使用SM0.0調用MBUS_SLAVE,并指導相應參數。關于參數的詳細說明,可在子程序的局部變量表中找到。
初始化Modbus從站如圖10所示。
圖10調用ModbusPTU通信指令庫
圖中參數意義如下:
a.模式選擇:啟動/停止Modbus,1=啟動;0=停止
b.從站地址:Modbus從站地址,取值1-247
c.波特率:可選1200,2400,4800,9600,19200,38400,57600,115200
d.奇偶校驗:0=無校驗;1=奇校驗;2=偶校驗
e.延時:附加字符間延時,缺省值為0
f.最大I/O位:參與通信的最大I/O點數,S7-200的I/O映像區為128/128,缺省值為128
g.最大AI字數:參與通信的最大AI通道數,可為16或32
h.最大保持寄存器區:參與通信的最大V存儲區字(VW)
i.保持寄存器區起始地址:以&VBx指定(間接尋址方式)
j.初始化完成標志:成功初始化后置1
k.初始化錯誤代碼
l.Modbus執行:通信中時置1,無Modbus通信活動時為0
m.錯誤代碼:0=無錯誤
從程序截圖中可見,S7-200作為Modbus從站,從站地址為10,接收存儲區為VB0開始。
調用Modbus主站指令編程前也應分配庫存儲區,與從站編程類似。主站主程序如圖11所示。
圖11主站主程序
5、結束語
Modbus是公開通信協議,其具有兩種串行傳輸模式,ASCII和RTU。它們定義了數據如何打包、解碼的不同方式。通信雙方必須同時支持上述模式中的一種,通常支持Modbus通信的設備大都支持RTU格式。本文主要介紹了其中的一種RTU協議,應用在遠程溫度采樣控制中。該系統可以在需要實時了解和掌握惡劣現場工礦的溫度采樣控制中進行實施。
參考文獻
[l]劉華波.西門子S7-200PLC編程應用案例精選[M].機械工業出版社,2010
[2]李方園.零起點學西門子變頻器應用[M].機械工業出版社,2011
[3]李方園.零起點學習西門子S7-200PLC[M].機械工業出版社,2012
[4]李方園.西門子S7-200PLC從入門到實踐[M].電子工業出版社,2010
[5]廖常初.S7-200PLC編程及應用[M].電子工業出版社,2008
標簽:
上一篇:基于神經網絡的抽油機控制系...
下一篇:電力監控系統在浙江商學院的應用
中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.hysjfh.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。
本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。
產品新聞
更多>2025-06-16
2025-06-09
2025-06-06
2025-05-19
2025-04-30
2025-04-11