999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

控制軟件中設備無關性的設計與實現*

2010-10-23 02:43:08張營建臧珠萍曾培峰
東華大學學報(自然科學版) 2010年3期
關鍵詞:設備系統

張營建,臧珠萍,曾培峰

(東華大學計算機科學與技術學院,上海 201620)

控制軟件中設備無關性的設計與實現*

張營建,臧珠萍,曾培峰

(東華大學計算機科學與技術學院,上海 201620)

提出一種設備無關的控制軟件設計理念.用文本文件格式保存各種外設的通信協議格式以及端口地址定義,通過工作空間和命令轉換器,為計算機控制程序提供統一的通信接口.使用標準XML映射的方法實現物理地址與邏輯地址的匹配.外設的通信協議格式變化或者端口改變,無需修改控制軟件,只要修改相應的外設文本文件,進行命令轉換和地址映射即可完成數據通信,實現設備無關性.

設備無關性;物理地址;邏輯地址;M ap映射

工控領域的監控系統中,對外設的監控主要通過上位機發送命令、下位機響應命令的方法實現.上位機和外設的監控方式主要有兩種:一種是用戶以Window s的編程語言編寫上位機程序,然后通過串行口發送命令,與外設交換數據實現監控.文獻[1-2]給出了松下 PLC與計算機的通信實現;文獻[3]研究了富士 PLC在高速數字控制系統中的應用.這兩種應用都基于了解設備的通信協議和通信格式.有些設備廠家的通信驅動并不公開,為用戶預留一個自由口通信方式,由用戶自定義通信協議格式,西門子PLC的一般用戶只能采用這種通信方式[4-5].另外一種方式是利用組態軟件對系統進行工業組態.目前很多專業的組態軟件可以進行系統組態[6-9].文獻[10]列舉了多種工控組態軟件的應用,并進行了對比.常用的組態軟件有西門子公司的 WinCC、美國 WonderWare公司的 In Touch;國內的產品主要有北京亞控自動化軟件有限公司的組態王、北京昆侖通態自動化軟件科技有限公司的MCGS等.文獻[11]比較了高級語言和組態軟件兩種方式的不同.W indows編程方式優點是:投入成本低,并能根據需要隨時對程序進行升級,便于程序的二次開發.但是對于初級人員,入門有一定難度,不僅需要了解完整的通信過程,熟悉編程軟件,而且需要一定的時間來完成程序的編制與調試.應用組態軟件方式的優點是:開發周期短,不需要了解通信過程,只要調用相應的驅動程序即可實現通信.缺點是軟件的二次開發受到一定限制,購買專用的組態軟件成本比較高.實際生產中,如果對外設的控制速度要求不太高,或者在成本有限的情況下,通常采用W indows的編程方式.但是這種方式,程序的開發和外設的通信格式、協議以及端口密切相關,外設的改變或者外設端口的改變,都會導致程序的再次開發.

本文提出一種設備無關[12-13]的控制軟件設計理念.將各種外設的通信協議格式以及端口地址以XML格式保存在映射文件中.上位機對外設進行監控時,讀入相應的映射文件,用標準 xml[14-15]來解析映射關系,實現物理地址與邏輯地址的匹配及控制命令格式的轉換,完成上位機與外設的數據通信.當外設變更時,只需修改映射文件,無需對上位機程序進行任何修改,從而為計算機控制程序提供了統一的通信接口,實現設備無關性.

1 系統結構

計算機監控系統通過RS 485串口總線接口與不同的設備或控制單元進行數據交換.為了解決各個外設、生產廠商制定的通信協議不同帶來的問題,本文提出并構建的與外設驅動無關的監控系統,能夠識別具有RS 485接口的多種設備,進行數據交換以及實現控制.本文中系統的結構框圖如圖1所示.

圖1 系統結構框圖Fig.1 System construction

圖形界面:為用戶提供人機交互接口,對系統進行信息的顯示和鍵盤的設定.顯示信息包括:系統的設備列表、設備的工作狀態、設備的內部參數等.鍵盤設定可以對系統進行人工干預,修改設備的某些信息,向外設寫數據.

系統信息與設備列表監控:用于計算機監控系統進行在線設備管理和在線設備配置,用不同的通信協議按地址順序進行通信查詢.通過查詢比較,將建立起通信的設備信息與設備列表信息相比較,顯示建立起通信的設備;若有新的設備連接到系統,則系統自動添加新設備到設備列表.

工作空間:開辟了系統的局部內存空間,存儲需要對外設內存空間修改的信息,實現與各種外設內存進行數據交換的功能.系統存儲下位機的信息,通過工作空間使得外設信息與系統內部信息達到統一,保證數據的完整性.

Map映射:系統要求工控領域的現場設備不能因為設備輸出端口的臨時更改或者交換,對系統的軟件造成影響.因此定義了系統的物理地址與邏輯地址.物理地址定義為外設的實際端口地址;邏輯地址定義為系統內部的內存地址.M ap映射通過改變地址的映射關系實現物理地址與邏輯地址的對應.

設備命令轉換:將系統內部的數據格式與外設需要的協議格式進行格式的轉換,然后,通過 RS 485發送到外設[16].

系統的各個主要模塊在下面進行詳細的討論.

2 工作空間

系統的主要功能是實現人機界面的交互及對外設的控制.從局部性原理來看,CPU訪問存儲器時,無論是取指令還是存取數據,所訪問的存儲單元都趨于聚集在一個較小的連續區域中.這個連續的區域就是工作空間.工作空間與外設的內存空間相比,體積雖小,但是足以用來保存在某一時間段所需要的數據.

工作空間的維護主要包含兩方面內容:(1)監視外部的變化,當外設的輸入數據發生變化時,對應內部的相應空間也要發生同步變化;(2)用戶通過操作界面更改數據或者修改參數,內部區域的相應參數變化時,需要外設區域的參數同步變化.

上位機與外設交換數據主要有兩種數據格式:整型數據和布爾型數據.整型數據主要是系統發送和接收的命令、對外設設定的參數、現場傳感器檢測的數據等;布爾型數據主要是一些開關量的變化.不管是整型數據還是布爾型數據,都需要通過串行口進行數據交互.由于對不同的外設傳遞數據是分時處理的,且數據傳遞的目的地地址不同,因此需要先將要傳遞的數據保存在系統的內存中,即存放在工作空間中.本文根據數據格式的不同以及存放地址的不同,在工作空間構建 Integer表和Bool表.Integer表存放整型數據的邏輯地址和當前需要更新的內容;Bool表存放布爾型數據的邏輯地址和當前外設端口開關量相應的狀態.

不同生產廠商的外設物理地址(如外設的通用數據存儲地址或端口地址)方式不一樣.西門子PLC的通用數據存儲地址為 V寄存器,例如V 100,輸入端口定義為 I寄存器,例如 I 0.0,輸出端口定義為Q寄存器,例如Q 0.0;松下 PLC的通用數據存儲地址為R寄存器,例如R 100,輸入端口定義為X寄存器,例如X 00,輸出端口定義為 Y寄存器,例如 Y10;三菱PLC和OM RON PLC都有自己的規范.為了使上位機對不同的物理地址的訪問統一起來,與外設無關,本文通過一種中間語言將這些信息統一到工作空間中.XML具有嚴密的條理性、邏輯性和良好的結構性等特點,是一種良好的中間描述語言.因此系統的工作表 Integer表和Bool表用 XML語言構建.Integer表格式如下所示:,“LogAddress”字段代表邏輯地址(如:邏輯地址1 000),表示系統數據存放的內存地址,“Value”是當前的數據(如:100).Bool表定義采用地址與位地址相結合的方式表示.定義如下:,其中:“LogAddress”字段代表邏輯地址的位信息(如:邏輯地址1 000的第1位),表示當前需要修改的位地址,“Value”是當前的邏輯值(如:1).

如果傳遞的數據是按照邏輯地址連續存放,外設接收數據也是按照物理地址連續存放,數據傳遞過程只需要一一對應即可.當工作空間的數據分布與外設數據的分布情況不完全一致時,需要采用地址映射的方法.

3 Map映射

按照一般的程序設計方法,外部現場設備的輸出端口出現相互交換,或者端口損壞等情況,上位機程序需要重新編寫.為了解決這個問題,提出M ap映射的方案.通過地址映射的方式實現物理地址與邏輯地址的對應,從而保證外設地址改變,而不修改應用程序,使得系統正常運行.

系統初始化時,對系統擁有的不同的外設構造一個M ap映射文件,該文件包含了整型和布爾型數據,給出了邏輯地址與物理地址的對應關系.

M ap表定義格式如下:

Map表中包含了西門子PLC和其他PLC的映射信息,在西門子上面分別定義了兩種不同形式(整型和布爾型)的邏輯地址和物理地址的映射關系.整型數據定義的有:邏輯地址1 000,對應西門子的物理地址V 100;布爾型數據定義的有:邏輯地址2 000.0,對應西門子的物理地址I 0.0;邏輯地址3 000.0,對應西門子的物理地址Q 0.0.其他PLC定義方式和西門子的類似.通過該文件使外設的物理地址與邏輯地址對應.

映射的對應關系有兩種情況:(1)地址的改變需要進行映射.若整型數據中物理地址與邏輯地址不一致,則需要記錄Map映射表中相對應的項;若布爾型數據中物理地址的位地址被修改,也要記錄Map映射表中相對應的項.(2)地址不需要映射.若物理地址與邏輯地址相一致,為了節約文件空間,則不需要記錄在Map表中.

具體映射過程是:當工作空間的數據反映到外設時,要先根據邏輯地址去Map表中進行物理地址查找.若查找到對應的項,此項即是映射后的物理地址;若找不到對應的項,邏輯地址就是物理地址.當外設中的數據反映到工作空間時,同樣根據邏輯地址在Map表中進行物理地址查找,找到對應的項即是映射后的邏輯地址;若未找到,物理地址就是對應的邏輯地址.

從Map表格式來看,每一個設備都有對應的映射塊,不同的設備映射塊不同,因此M ap映射表容量會很大.另外,每一個工作空間都要進行內部數據輸出或者外部數據輸入操作,都要確認數據是否要進行地址的轉換,如果對整個映射表查詢一次,會造成映射查找時速度很慢.為了提高查找速度,在系統中構建一個臨時表,其行數與工作空間相同.無論物理地址與邏輯地址是否一致,都在該臨時表中進行登記,得到一一對應關系.查找過程中,僅查找該臨時表進行對應.為保持數據的一致性,臨時表需要隨工作空間、Map映射表的更新而更新.

4 設備命令轉換

當外設的物理地址確定之后,可以將操作的數據傳遞到外設,或者將外設的數據讀入到內存空間.根據數據流的方向不同,可以有以下兩個程序流程.

4.1 發送程序流程

完成發送命令串的組合,并發送給外設.

(1)讀入兩個文件到內存空間:一個是邏輯地址表文件Logical.xml,另一個是物理地址與邏輯地址映射文件M ap.xml.Logical.xml的格式為:.M ap.xml的格式為:

.定位接收數據的外設物理地址.

(2)生成命令串:Logical.xml文件中的信息表示將上位機的信息發送到下位機,或者讀入下位機的數據到內存空間.如果Value為空,則讀下位機的信息到上位機的內存空間;如果 Value="Data",則Data數據發送出去.

首先從Logical.xml表中進行查找.在當前行中,以 Log Address為查找的關鍵字,首先保留Value的值,然后在Map.xml中查找邏輯地址所映射的物理地址存為當前地址信息.若有映射對應,則保留物理地址,若沒有找到對應,其物理地址和邏輯地址一致,將邏輯地址存為物理地址.下面分為3種情況:

①若Logical.xml中連續兩條命令的Value都是非空(或者都是空),查找Map表,若兩條命令對應的物理地址連續,可將兩條寫命令(或者讀命令)組成一條寫命令(或者讀命令).

②若Logical.xml中連續兩條命令的Value都是非空(或者都是空),而Map表中兩條命令的物理地址不連續,則分別單獨組成兩條寫命令(或者讀命令).

③若Logical.xml中連續兩條命令的Value不同,即一個是空,另一個是非空,則分別單獨組成兩條讀命令或者寫命令.即:空的組成讀命令,非空的組成寫命令.

對Logical.xml反復執行①②③操作,直到文件結束.

如果是地址連續的讀數據,則組成一條命令串,格式如下:Address1 Address2…;若為地址不連續的讀命令,則單獨組成一條命令進行處理;如果是地址連續的寫數據,則組成命令串,格式如下:StartAddressEndA ddressStartData1 …EndData;同理,不連續的寫命令則單獨處理.

(3)生成協議命令:系統檢測外設,根據外設的傳輸協議,生成符合協議規定的命令.其主要任務是將上述生成的命令串添加頭信息、校驗碼、命令結束信息等.例如:用松下PLC的通信協議,生成的 PLC寫命令格式如下:“%01#WDD+起始地址+結束地址+起始地址的數據+…+結束地址的數據+**CR”.

(4)串口發送數據:將生成的命令通過串口發送出去.

4.2 接收程序流程

(1)命令響應:在外設收到上位機發送的命令后,接收到該命令的設備響應上位機發送的命令請求.

(2)串口返回:外設接收到命令后,響應相應的命令并執行相應的操作,然后將返回的命令發回到上位機.

(3)返回數據處理:根據返回的不同命令,生成不同的.xml文件.

①若上位機發送的是讀命令,且讀取成功,則生成ReadOk.xml;

②若上位機發送的是寫命令,且寫入成功,則生成W riteOk.xml;

③若在通信過程中出現錯誤,則返回ReturnErro r.xml.

5 設備列表監控

設備監控列表用于監控連接到系統的設備信息,其中包括系統初始化,更新設備信息和添加設備信息.系統監控流程圖如圖2所示.

(1)初始化操作:監控方式是在系統啟動時檢查設備的連接情況,通過使用系統存儲的所有命令對上次外設的端口進行循環掃描.用來檢測是否有新的設備連接到系統或者更新了設備.

(2)更新設備信息:通過測試命令監控外設的端口連接情況.如果端口有響應,表示有已知設備連接到系統的該端口上,記錄該外設的通信協議信息.

(3)添加新設備:若有新的設備連接到系統,系統通過設備信息監控模塊,保留新設備的信息,并且自動添加新設備到設備列表中.

圖2 監控流程圖Fig.2 Monitoring flowchart

6 結論

在開發傳統的工業控制軟件時,工業被控對象一旦有變動,就必須修改其控制系統的源程序,導致其開發周期長,而且軟件的可維護性較差.本文為解決上述實際工程問題提供了一種解決方法.通過修改相應的XML的轉換文件,采用邏輯地址和物理地址映射的通信方法,實現了對不同小型PLC(松下,西門子,富士)的控制.對于其他公司的具有RS 485接口的PLC,可以采用類似的方法進行通信設計.實驗證明系統程序具有模塊化、結構化的特點,滿足設備無關性的要求.當然,系統的響應速度是以后研究的重點,可以通過優化程序等措施加以解決.總體上說,本文的設計方案能夠完成較復雜的控制任務,具有良好的網絡通信能力,可以滿足和實現當前工業自動化領域控制系統開放性和互換性的要求.這種方法對于實現多種類型的外設通信具有一定的參考作用.

[1] 劉正國,劉唯.計算機與松下 FP系列 PLC串行通訊的實現[J].微計算機信息,2006,22(8):166-168.

[2] 孫東,韓紹坤,邢懷飛.PC對 PLC遠程控制的軟硬件設計[J].自動化與儀表,2005,20(2):51-53.

[3] 大內茂人,章秀珍.MICREX-F系列可編程序控制器在高速數字控制系統中的應用[J].富士時報,1991,12(3):57-61.

[4] 周敏,李鳳婷,吳為民.基于VB的 PC機與多臺 PLC的通信研究[J].計算機工程,2009,35(4):103-104,107.

[5] 湯光華,吳青.自由口模式下 S7-200PLC與上位機的通信[J].微計算機信息,2008,24(5):62-64.

[6] 易異勛.工控系統組態軟件體系結構的研究[J].基礎自動化,2000,7(2):62-64.

[7] 王亞民,郝建領.DCS組態軟件體系結構及其數據交換標準研究[J].計算機工程,2006,32(1):110-112.

[8] 易江義,周彩霞.工控組態軟件的發展與開發設計[J].洛陽工業高等專科學校學報,2003,13(1):33-35.

[9] 劉耀,李超良.組態軟件架構的研究與設計[J].微計算機信息,2005,21(8):86-88.

[10] 葛玻,沈文杰,趙旎.工控組態軟件的對比及應用[J].計算機測量與控制,2002,10(8):550-552.

[11] 岳建鋒.高級語言和組態軟件對PC機與PLC通訊程序的比較[J].微計算機信息,2005,21(7):51-53.

[12] 陳姝.組態軟件中數據采集模塊設備無關性的設計與實現[J].工業控制計算機,2003,16(12):33-35.

[13] 陳建偉.面向對象的設備無關性報表打印技術[J].微型機與應用,1997,16(9):17-19.

[14] 楊建武,陳曉鷗.xml相關標準綜述[J].計算機科學,2002,29(2):25-27.

[15] 李麗萍,馬文閣,梁勇.XML深入剖析[J].遼寧工程技術大學學報,2002,21(2):207-209.

[16] 張冰,蘇燕辰.基于RS485總線技術的微機與智能儀表的雙向通信設計[J].中國測試技術,2005,31(1):84-86.

Design and Implementation of Device-Independent Programming for Control Unit

ZHANG Ying-jian,ZANG Zhu-ping,ZENG Pei-feng
(College of Computer Science and Technology,Donghua University,Shanghai201620,China)

A device independent programming method is proposed.Communication protocol definitions and device port addresses are stored in control units as text files.A standard communication interface is established by means of the working space and the command interpreter.The physical and logical addresses for devices in communication are associated by means of XML mapping.Therefore,the changes of peripheral communication protocol and port address have no effect on application software.Moreover,the communication command conversion and data communication are implemented device independence.

device independence;physical address;logical address;mapping

TP 314

A

2009-10-19

張營建(1983—),男,河南洛陽人,碩士,研究方向為嵌入式控制系統.E-mail:zhyingjian@gmail.com

臧珠萍(聯系人),女,講師,E-mail:zpzang@dhu.edu.cn

1671-0444(2010)03-0263-04

猜你喜歡
設備系統
諧響應分析在設備減振中的應用
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
基于VB6.0+Access2010開發的設備管理信息系統
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
主站蜘蛛池模板: 黄色不卡视频| 亚洲国模精品一区| 国产麻豆永久视频| 久草国产在线观看| 日本一区中文字幕最新在线| 久久青草热| 色欲不卡无码一区二区| 亚洲天堂网在线观看视频| 中文字幕久久亚洲一区| 一区二区三区精品视频在线观看| 国产69精品久久久久孕妇大杂乱 | 中文字幕色站| 国产欧美日韩综合一区在线播放| 日本精品中文字幕在线不卡| 伊在人亚洲香蕉精品播放| 日本人妻一区二区三区不卡影院| 亚洲一区无码在线| 成人伊人色一区二区三区| 粉嫩国产白浆在线观看| 成人一区在线| 免费视频在线2021入口| 免费在线一区| 亚洲无码精彩视频在线观看| 少妇精品在线| 色视频国产| 白浆免费视频国产精品视频| 亚洲欧美自拍中文| 免费观看三级毛片| 毛片网站在线播放| 欧美成在线视频| 国产99精品视频| 91视频区| 91九色视频网| 亚洲日韩每日更新| AV网站中文| 日本在线欧美在线| 国产日韩欧美中文| 日本欧美在线观看| 国产成人久久综合777777麻豆| 国产综合网站| 波多野结衣亚洲一区| 欧美色99| 超碰精品无码一区二区| 精品久久人人爽人人玩人人妻| 啊嗯不日本网站| 国产精品区视频中文字幕| 国产人免费人成免费视频| 在线看片免费人成视久网下载| 日韩视频精品在线| 成年女人18毛片毛片免费| 欧美性猛交一区二区三区| 粗大猛烈进出高潮视频无码| 亚洲侵犯无码网址在线观看| 免费 国产 无码久久久| 蜜桃臀无码内射一区二区三区| 国产麻豆91网在线看| 91精品福利自产拍在线观看| 国产成人午夜福利免费无码r| 久久激情影院| 亚洲AⅤ永久无码精品毛片| 亚洲色图在线观看| 人妻少妇乱子伦精品无码专区毛片| 1769国产精品视频免费观看| 女人18一级毛片免费观看| 色婷婷国产精品视频| 国产视频资源在线观看| 一级黄色网站在线免费看| 亚洲美女久久| 一级毛片在线播放免费| jizz在线观看| 国产成人1024精品下载| 亚洲精品国产综合99久久夜夜嗨| 久久99精品久久久久纯品| 1级黄色毛片| 精品一區二區久久久久久久網站 | 福利国产在线| 亚洲无码高清免费视频亚洲 | 国产一区亚洲一区| 欧美在线导航| 动漫精品中文字幕无码| 六月婷婷激情综合| a毛片免费观看|