您好, 歡迎來到化工儀器網(wǎng),! 登錄| 免費(fèi)注冊| 產(chǎn)品展廳| 收藏商鋪|
提供商
潯之漫智控技術(shù)(上海)有限公司資料大小
2.4MB資料圖片
查看下載次數(shù)
7次資料類型
PNG 圖片瀏覽次數(shù)
167次德國進(jìn)口西門子長治PLC模塊代理商
運(yùn)用VC#編程通過OPC方式實(shí)現(xiàn)PC機(jī)與西門子PLC通訊-異步篇
在上一次發(fā)表的<運(yùn)用VC#編程通過OPC方式實(shí)現(xiàn)PC機(jī)與西門子PLC通訊>主要講的是同步通訊,,本文將主要講解如何編程實(shí)現(xiàn)異步通訊,通過講解你也將會知道同步通訊與異步通訊的區(qū)別,,以及在什么情況下使用異步通訊,。
1,、 配置OPC服務(wù)器
對于服務(wù)器的配置與同步通訊的配置一樣,這里不需再講解,,若有不清楚的,,可以參閱之前發(fā)布的<運(yùn)用VC#編程通過OPC方式實(shí)現(xiàn)PC機(jī)與西門子PLC通訊>
2、 OPC編程
變量組,、項(xiàng)的命名規(guī)則與同步通訊的一樣,,這里不再描敘,,下面主要就開發(fā)一個異步通訊類 AsynServer來講解如何編程,。
該庫持,但這些類庫仍然難于編程,,里面包含了大量的在托管和非托管區(qū)傳輸數(shù)據(jù),,因此我們需要在它的基礎(chǔ)上再開發(fā)一個類庫,以簡化以后的編程,,
1 引言
工業(yè)控制已從單機(jī)控制走向集中監(jiān)控,、集散控制,如今已進(jìn)入網(wǎng)絡(luò)集約制造時代,。工業(yè)控制器連網(wǎng)也為網(wǎng)絡(luò)管理提供了方便,。Modbus就是工業(yè)控制器的網(wǎng)絡(luò)協(xié)議中的一種。Modbus協(xié)議是應(yīng)用于電子控制器上的一種通訊約規(guī),。通過此協(xié)議,,控制器相互之間、控制器經(jīng)由網(wǎng)絡(luò)(例如以太網(wǎng))和其它設(shè)備之間可以通信,。它已經(jīng)成為主流的工業(yè)標(biāo)準(zhǔn)之一,。他為符合Modbus協(xié)議的不同廠商生產(chǎn)的控制設(shè)備可以連成工業(yè)網(wǎng)絡(luò),進(jìn)行集中監(jiān)控,。
2 Modbus RTU協(xié)議在S7-200中的應(yīng)用原理
2.1 Modbus RTU協(xié)議與S7-200相互關(guān)系簡介
S7-200 CPU上的通訊口Port0可以支持Modbus RTU協(xié)議,,成為Modbus RTU從站。此功能是通過S7-200的自由口通訊模式實(shí)現(xiàn),,因此可以通過無線數(shù)據(jù)電臺等慢速通訊設(shè)備傳輸,。
如果想在S7-200 CPU與其他支持Modbus RTU的設(shè)備使用Modbus RTU協(xié)議通訊,需要由有S7-200 CPU做Modbus主站,。S7-200 CPU做主站必須由用戶自己用自由口模式,,按相關(guān)協(xié)議編程。
在S7-200控制系統(tǒng)應(yīng)用中,,Modbus RTU從站指令庫只支持CPU上的通訊0口(Port0),。要實(shí)現(xiàn)Modbus RTU通訊,需要Step7-Micro/WIN32 V3.2以上版本的編程軟件,,而且須安裝Step7-Micro/WIN32 V3.2 Instruction Library(指令庫),。Modbus RTU功能是通過指令庫中預(yù)先編好的程序功能塊實(shí)現(xiàn)的,。
2.2 Modbus RTU協(xié)議在S7-200中應(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兩個子程
指令樹中的庫指令
(3) 編程時使用SM0.1—調(diào)用子程序MBUS_INIT進(jìn)行初始化,使用SM0.0—調(diào)用研究MBUS_SLAVE,,并相應(yīng)參數(shù),。關(guān)于參數(shù)的詳細(xì)說明,可在子程序的局部變量表中找到,。
示例參見圖2:
圖2 調(diào)用MODBUS通訊指令庫
圖2中參數(shù)意義如下:
●模式選擇:啟動/停止MODBUS,,1=啟動;0=停止;
● 從站地址:MODBUS從站地址,取值1~247;
● 波特率:可選1200,,2400,,4800,9600,,19200,,38400,57600;
● 奇偶校驗(yàn):0=無校驗(yàn);1=奇校驗(yàn);2=偶校驗(yàn);
● 延時:附加字符間延時,,缺省值為0;
●最大I/Q位:參與通訊的最大I/O點(diǎn)數(shù),,S7-200的I/O映像區(qū)為128/128,缺省值為128;
●最大AI字?jǐn)?shù):參與通訊的最大AI通道數(shù),,可為16或32;
●最大保持寄存器區(qū):參與通訊的V存儲區(qū)字(VW);
● 保持寄存器區(qū)起始地址:以&VBx(間接尋址方式);
● 初始化完成標(biāo)志:成功初始化后置1;
● 錯誤代碼:0=無錯誤,。
(4) 注意的問題
調(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 CPU的V數(shù)據(jù)存儲區(qū)中分配,,此數(shù)據(jù)區(qū)不能和庫指令數(shù)據(jù)區(qū)有任何重疊,否則在運(yùn)行時會產(chǎn)生錯誤,,不能正常通訊,。注意Modbus 中的保持寄存器區(qū)按“字"尋址,即MaxHold規(guī)定的是VW而不是VB的個數(shù),。
3 Modbus RTU協(xié)議測試
包含Modbus RTU從站指令庫的項(xiàng)目編譯,、下載到CPU中后,在編程計算機(jī)(PG/PC)上運(yùn)行一些Modbus測試軟件可以檢驗(yàn)S7-200的Modbus RTU通訊是否正常,,這對查找故障點(diǎn)很有用,。測試軟件通過計算機(jī)串口(RS-232)和PC/PPI電纜連接CPU。
(以ModScan32測試軟件為例作以檢測說明)
請輸入賬號
請輸入密碼
請輸驗(yàn)證碼
以上信息由企業(yè)自行提供,,信息內(nèi)容的真實(shí)性,、準(zhǔn)確性和合法性由相關(guān)企業(yè)負(fù)責(zé),,化工儀器網(wǎng)對此不承擔(dān)任何保證責(zé)任,。
溫馨提示:為規(guī)避購買風(fēng)險,建議您在購買產(chǎn)品前務(wù)必確認(rèn)供應(yīng)商資質(zhì)及產(chǎn)品質(zhì)量,。