西門子S7200與變頻器MODBUS通訊實例詳解_第1頁
西門子S7200與變頻器MODBUS通訊實例詳解_第2頁
西門子S7200與變頻器MODBUS通訊實例詳解_第3頁
西門子S7200與變頻器MODBUS通訊實例詳解_第4頁
西門子S7200與變頻器MODBUS通訊實例詳解_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、西門子s7200與變頻器modbus通訊實例詳解西門子s7200plc簡介西門子s7-200plc在實時模式下具有速度快,具有通訊功能和較高的生產(chǎn)力的特點。一致的模塊化設(shè)計促進了低性能定制產(chǎn)品的創(chuàng)造和可擴展性的解決方案。來自西門子的s7 - 200微型plc可以被當(dāng)作獨立的微型plc解決方案或與其他控制器相結(jié)合使用。modbus通訊協(xié)議簡介modbus是由modicon(現(xiàn)為施耐德電氣公司的一個品牌)在1979年發(fā)明的,是全球第一個真正用于工業(yè)現(xiàn)場的總線協(xié)議。modbus網(wǎng)絡(luò)是一個工業(yè)通信系統(tǒng),由帶智能終端的可編程序控制器和計算機通過公用線路或局部專用線路連接而成。其系統(tǒng)結(jié)構(gòu)既包括硬件、亦包括

2、軟件。它可應(yīng)用于各種數(shù)據(jù)采集和過程監(jiān)控。modbus網(wǎng)絡(luò)只有一個主機,所有通信都由他發(fā)出。網(wǎng)絡(luò)可支持247個之多的遠程從屬控制器,但實際所支持的從機數(shù)要由所用通信設(shè)備決定。采用這個系統(tǒng),各pc可以和中心主機交換信息而不影響各pc執(zhí)行本身的控制任務(wù)。1 modbus rtu協(xié)議在s7-200中的應(yīng)用原理1.1 modbus rtu協(xié)議與s7-200相互關(guān)系簡介 s7-200 cpu上的通訊口port0可以支持modbus rtu協(xié)議,成為modbus rtu從站。此功能是通過s7-200的自由口通訊模式實現(xiàn),因此可以通過無線數(shù)據(jù)電臺等慢速通訊設(shè)備傳輸。想在s7-200 cpu與其他支持modbu

3、s rtu的設(shè)備使用modbus rtu協(xié)議通訊,需要由有s7-200 cpu做modbus主站。s7-200 cpu做主站必須由用戶自己用自由口模式,按相關(guān)協(xié)議編程。2 從站指令的用法: s7-200控制系統(tǒng)應(yīng)用中,modbus rtu從站指令庫只支持cpu上的通訊0口(port0)。要實現(xiàn)modbus rtu通訊,需要step7-micro/win32 v3.2以上版本的編程軟件,而且須安裝step7-micro/win32 v3.2 instruction library(指令庫)。modbus rtu功能是通過指令庫中預(yù)先編好的程序功能塊實現(xiàn)的。modbus rtu協(xié)議在s7-200中

4、應(yīng)用的基本過程(1) 首先檢查s7-200控制系統(tǒng)中所用micro/win軟件版本,應(yīng)當(dāng)是step7-micro/win v3.2以上版本。 (2) 檢查micro/win的指令樹中是否存在modbus rtu從站指令庫(圖1),庫中應(yīng)當(dāng)包括mbus_init和mbus_slave兩個子程序。如果沒有,須安裝micro/win32 v3.2 instruction library(指令庫)軟件包編程時使用sm0.1調(diào)用子程序mbus_init進行初始化,使用sm0.0調(diào)用研究mbus_slave,并指定相應(yīng)參數(shù)。關(guān)于參數(shù)的詳細說明,可在子程序的局部變量表中找到。調(diào)用modbus通訊指令庫參數(shù)意

5、義如下: 模式選擇:啟動/停止modbus,1=啟動;0=停止; 從站地址:modbus從站址,取值1247; 波特率:可選1200,2400,4800,9600,19200,38400,57600; 奇偶校驗:0=無校驗;1=奇校驗;2=偶校驗; 延時:附加字符間延時,缺省值為0; 最大i/q位:參與通訊的最大i/o點數(shù),s7-200i/o映像區(qū)為128/128,缺省值為128; 最大ai字數(shù):參與通訊的最大ai通道數(shù),可為16或32; 最大保持寄存器區(qū):參與通訊的v存儲區(qū)字(vw); 保持寄存器區(qū)起始址:以&vbx指定(間接尋址方式); 初始化完成標志:成功初始化后置1; 錯誤代碼:0=無

6、錯誤。1.3 注意的問題 調(diào)用step7-mciro/win32 v3.2 instruction library(指令庫)需要分配庫指令數(shù)據(jù)區(qū)(library memory)。庫指令數(shù)據(jù)區(qū)是相應(yīng)庫子程序和中斷程序所要用到變量存儲空間。編程時不分配庫指令數(shù)據(jù)區(qū),編譯時會產(chǎn)生許多相同的錯誤。由子程序參數(shù)holdstart和maxhold指定保持寄存器區(qū),是s7-200 cpuv數(shù)據(jù)存儲區(qū)中分配,此數(shù)據(jù)區(qū)不能和庫指令數(shù)據(jù)區(qū)有任何重疊,否則運行時會產(chǎn)生錯誤,不能正常通訊。注意modbus 中保持寄存器區(qū)按“字”尋址,即maxhold規(guī)定是vw而vb個數(shù)。3 主站指令的用法:1. modbus rtu

7、 主站指令庫的功能是通過在用戶程序中調(diào)用預(yù)先編好的程序功能塊實現(xiàn)的,該庫對 port 0 和 port 1 有效。該指令庫將設(shè)置通信口工作在自由口模式下。2. modbus rtu 主站指令庫使用了一些用戶中斷功能,編其他程序時不能在用戶程序中禁止中斷。3. modbus rtu 主站庫對cpu的版本有要求。cpu 的版本必須為 2.00 或者 2.01(即訂貨號為 6es721*23-0ba*),1.22版本之前(包括1.22版本)的 s7-200 cpu 不支持。 使用 modbus rtu 主站指令庫,可以讀寫 modbus rtu 從站的數(shù)字量、模擬量 i/o 以及保持寄存器。要使用

8、modbus rtu 主站指令庫,須遵循下列步驟:安裝西門子標準指令庫 按照要求編寫用戶程序調(diào)用 modbus rtu 主站指令庫 modbus rtu 主站功能編程1. 調(diào)用 modbus rtu 主站初始化和控制子程序使用 sm0.0 調(diào)用 mbus_ctrl 完成主站的初始化,并啟動其功能控制:用 sm0.0 調(diào)用 modbus rtu 主站初始化與控制子程序各參數(shù)意義如下:a. en 使能: 必須保證每一掃描周期都被使能(使用 sm0.0) b. mode 模式: 為 1 時,使能 modbus 協(xié)議功能;為 0 時恢復(fù)為系統(tǒng) ppi 協(xié)議 c. baud 波特率: 支持的通訊波特率為

9、1200,2400,4800,9600,19200,38400,57600,115200。 d. parity 校驗: 校驗方式選擇 0無校驗 1奇較驗 2偶較驗 e. timeout 超時: 主站等待從站響應(yīng)的時間,以毫秒為單位,典型的設(shè)置值為 1000 毫秒(1 秒),允許設(shè)置的范圍為 1 - 32767。 注意: 這個值必須設(shè)置足夠大以保證從站有時間響應(yīng)。 f. done 完成位: 初始化完成,此位會自動置1??梢杂迷撐粏?mbus_msg 讀寫操作(見例程) g. error 初始化錯誤代碼(只有在 done 位為1時有效): 0 無錯誤 1 校驗選擇非法 2 波特率選擇非法 3 模

10、式選擇非法 2. 調(diào)用 modbus rtu 主站讀寫子程序mbus_msg,發(fā)送一個modbus 請求;調(diào)用modbus rtu 主站讀寫子程序各參數(shù)意義如下:a. en 使能: 同一時刻只能有一個讀寫功能(即 mbus_msg)使能 注意:建議每一個讀寫功能(即 mbus_msg)都用上一個 mbus_msg 指令的 done 完成位來激活,以保證所有讀寫指令循環(huán)進行(見例程)。 b. first 讀寫請求位: 每一個新的讀寫請求必須使用脈沖觸發(fā) c. slave 從站地址: 可選擇的范圍 1 - 247 d. rw 從站地址: 0 讀, 1 寫 注意: 1. 開關(guān)量輸出和保持寄存器支持讀

11、和寫功能 2. 開關(guān)量輸入和模擬量輸入只支持讀功能 e. addr 讀寫從站的 選擇讀寫的數(shù)據(jù)類型 數(shù)據(jù)地址: 00001 至 0xxxx - 開關(guān)量輸出 10001 至 1xxxx - 開關(guān)量輸入 30001 至 3xxxx - 模擬量輸入 40001 至 4xxxx - 保持寄存器 f. count 數(shù)據(jù)個數(shù) 通訊的數(shù)據(jù)個數(shù)(位或字的個數(shù)) 注意: modbus主站可讀/寫的最大數(shù)據(jù)量為120個字(是指每一個 mbus_msg 指令) g. dataptr 數(shù)據(jù)指針:1. 如果是讀指令,讀回的數(shù)據(jù)放到這個數(shù)據(jù)區(qū)中 2. 如果是寫指令,要寫出的數(shù)據(jù)放到這個數(shù)據(jù)區(qū)中 h. done 完成位 讀

12、寫功能完成位 i. error 錯誤代碼: 只有在 done 位為1時,錯誤代碼才有效 0 無錯誤 1 響應(yīng)校驗錯誤 2 未用 3 接收超時(從站無響應(yīng)) 4 請求參數(shù)錯誤(slave address, modbus address, count, rw) 5 modbus/自由口未使能 6 modbus正在忙于其它請求 7 響應(yīng)錯誤(響應(yīng)不是請求的操作) 8 響應(yīng)crc校驗和錯誤 - 101 從站不支持請求的功能 102 從站不支持數(shù)據(jù)地址 103 從站不支持此種數(shù)據(jù)類型 104 從站設(shè)備故障 105 從站接受了信息,但是響應(yīng)被延遲 106 從站忙,拒絕了該信息 107 從站拒絕了信息 10

13、8 從站存儲器奇偶錯誤 常見的錯誤:如果多個 mbus_msg 指令同時使能會造成 6 號錯誤 從站 delay 參數(shù)設(shè)的時間過長會造成主站 3 號錯誤 從站掉電或不運行,網(wǎng)絡(luò)故障都會造成主站 3 號錯誤 3. 在 cpu 的 v 數(shù)據(jù)區(qū)中為庫指令分配存儲區(qū)(library memory)modbus master 指令庫需要一個284個字節(jié)的全局 v 存儲區(qū)。西門子 s7200 plc modbus支持的功能碼 功能碼描述1讀取單個/多個線圈的實際輸出狀態(tài)。功能1返回任意數(shù)量輸出點的接通/斷開狀態(tài)(q)。2讀取單個/多個線圈的實際輸入狀態(tài)。功能2返回任意數(shù)量的輸入點的接通/斷開狀態(tài)(i)3多

14、個保持寄存器。功能3返回v存儲器的內(nèi)容。保持寄存器在modbus下是字類型,在一個請求中最多可讀120個字。4讀單個/多個輸入寄存器,返回模擬輸入值。5寫單個線圈(實際輸出)。功能5將實際輸出點設(shè)置為指定值。該輸出點不是被強制,用戶程序可以重寫由modbus的請求而寫入的值。6寫單個保持寄存器。功能6寫一個單個保持寄存器的值到s7-200的v存儲區(qū)。15寫多個線圈(實際輸出)。功能15寫多個實際輸出值到s7-200的q映像區(qū)。起始輸出點必須是一個字節(jié)的開始(如q0.0或q2.0),并且要寫得輸出的數(shù)量是8的倍數(shù)。這是modbus從站協(xié)議指令的限定。這些點不是被強制,用戶程序可以重寫由modbu

15、s的請求而寫入的值。16寫多個保持寄存器。功能16寫多個保持寄存器到s7-200的v區(qū)。在一個請求中最多可寫120字。例 國產(chǎn)精驅(qū)變頻器與s7200 cpu224xp plc通訊 (1)設(shè)置變頻器的通訊參數(shù)參數(shù) 設(shè)置值說明p0.01 4啟動命令改為串行通訊p0.032頻率給定改為串行通訊p3.09 1339600波特率 無奇偶校驗p3.10 3從站地址 3硬件接線s7200通訊口1 第3腳-rs485+ 第8腳-rs485- (3) 初始化程序變頻器的控制地址,因為變頻器控制地址為2000h,所以換位10進制為8192,mudbus地址40001開頭,需要加1,控制地址為8193,功能碼4為讀

16、寫寄存器,因為啟動變頻器的控制命令為17,所以傳送17到vw200則啟動變頻器 (5 ) 設(shè)置變頻器的給定頻率變頻器的通信控制字節(jié) 西門子通訊mudbus協(xié)議在工控上使用最廣泛的一種協(xié)議,具備以下幾個特點1 )使用簡單,利用mudbus庫文件簡單的幾條指令就能實現(xiàn)與智能儀表,變頻器,打印機等設(shè)備進行通訊,且無需加其他硬件上的成本modbus總線廣泛應(yīng)用于儀器儀表、智能高低壓電器、變送器、可編程控制器、人機界面、變頻器、現(xiàn)場智能設(shè)備等諸多領(lǐng)域。modbus與其他的現(xiàn)場總線和工業(yè)網(wǎng)絡(luò)相比有以下幾個顯著特點: 2)標準、開放:用戶可以免費放心的使用modbus協(xié)議,不用繳納許可費用,不會涉及侵犯知識產(chǎn)權(quán)。目前支持modbus的廠一家超過400家,支持modbus的產(chǎn)品超過600種。在中國,modbus已經(jīng)成為國家標準gb/t19582-2008。據(jù)不完全統(tǒng) 計:截止到2007年modbus的節(jié)點安裝數(shù)量已經(jīng)超過了1000萬個。3)應(yīng)用廣泛:凡modbus協(xié)議設(shè)備具有rs232/485接口的都可以使用本產(chǎn)品實現(xiàn)與現(xiàn)場總線profibus的互連。如:具有modbus協(xié)議接口的變頻器、智能高低壓電器、電機啟動保護裝置、電量測量裝置、智能現(xiàn)場測量設(shè)備、各種變送器及儀表等。4)modbus可以支持較多類型的電氣接口:modbus 總線協(xié)議

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論