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