<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 電氣測控系統的改進(jìn)——軟PLC

電氣測控系統的改進(jìn)——軟PLC

作者: 時(shí)間:2012-07-17 來(lái)源:網(wǎng)絡(luò ) 收藏

  圖2 運行系統的結構組成
  運行系統可在多種支持平臺上運行,它通過(guò)將數據區和代碼區分離,實(shí)現程序的動(dòng)態(tài)更新和代碼的高效率動(dòng)態(tài)下載。
  (1)在μClinux平臺上實(shí)現軟虛擬機實(shí)現步驟
  將梯形圖的指令翻譯成宏匯編并建立一個(gè)宏庫;
  把用戶(hù)編寫(xiě)的梯形圖程序編譯成中間代碼形式的PLM文件;
  將PLM文件轉變?yōu)閰R編程序;
  用匯編器匯編變成功的匯編程序,將解釋執行內部指令(PLM文件)轉換為程序,匯編成機器碼執行,實(shí)現指令機器碼執行方案,大大地提高了執行速度控制工程網(wǎng)版權所有,同時(shí)大大節約了內存空間;
  將指令對應的機器碼移植到嵌入式操作系統中執行。
  (2)運行系統的兩大模塊
  運行系統主要由兩大模塊組成:1)梯形圖到機器碼程序的轉換;2)執行機器碼文件。每個(gè)模塊的功能如下:
  1)梯形圖到機器碼程序的轉換。首先把用戶(hù)編寫(xiě)的梯形圖程序編譯成中間代碼形式的PLM文件,然后將PLM文件轉變?yōu)閰R編程序,最后用匯編器匯編轉變成功的匯編程序CONTROL ENGINEERING China版權所有,產(chǎn)生機器碼從而生成可執行的PLE文件。
  2)執行機器碼文件。將PLE文件嵌入配置好的執行環(huán)境中并執行,通過(guò)工控機的面版指示燈監測程序的正確性。
  (3)虛擬機總體設計
  根據虛擬機的原理和執行機制,對虛擬機的機器碼執行方案進(jìn)行了總體設計,如圖3所示。PLC文件是梯形圖程序的保存文件,通過(guò)對PLC文件進(jìn)行詞法分析、語(yǔ)法分析和語(yǔ)義分析編譯產(chǎn)生PLM文件,然后調用宏匯編庫,并進(jìn)行一系列的轉換生成機器碼,產(chǎn)生PLE文件;最后創(chuàng )建機器運行環(huán)境來(lái)執行機器碼,宏匯編庫中是每個(gè)梯形圖指令對應的宏匯編段。

  圖3 虛擬運行總體設計框圖
  (4)交叉開(kāi)發(fā)調試算法研究
  非嵌入式通常采用本機開(kāi)發(fā)、本機調試、本機運行的開(kāi)發(fā)方式;而嵌入式開(kāi)發(fā)需要交叉開(kāi)發(fā),絕大多數采用宿主機開(kāi)發(fā)、宿主機和目標機之間交叉調試、目標機運行的方式開(kāi)發(fā)。
  交叉開(kāi)發(fā)調試算法:
  在宿主機平臺上編寫(xiě)程序代碼;
  固化監控器至目標機上;
  連接宿主機和目標機;
  編譯鏈接應用程序,生成可執行代碼;
  將可執行代碼下載到目標機;
  使用交叉調試器進(jìn)行調試;
  如果程序調試沒(méi)有發(fā)現異常CONTROL ENGINEERING China版權所有,轉至11);
  調試程序時(shí)發(fā)生錯誤,利用交叉調試器定位錯誤;
  修改錯誤代碼;
  重復4)-10);
  將目標機程序固化在目標機上。
  4 嵌入式軟PLC改造后的控制系統
  以測試繼電器TV5實(shí)驗為例。其要求如下:每次測試5個(gè)繼電器,每個(gè)繼電器的動(dòng)作頻率是5s開(kāi),5s關(guān)。根據要求,試驗最好的結果是每個(gè)繼電器用6個(gè)TV負載,即每個(gè)TV負載是5s開(kāi),55s管。輸入點(diǎn)有:開(kāi)關(guān),檢出,復位M個(gè),停止次數設定量N次,動(dòng)作頻率設定L個(gè),常開(kāi)/觸點(diǎn)轉換。其中,M=測試產(chǎn)品個(gè)數,N、L個(gè)數由實(shí)際需要確定。其算法如下:
  設定一個(gè)循環(huán)周期,使累積誤差最小;
  在循環(huán)周期內設計動(dòng)作時(shí)間和動(dòng)作頻率,以及動(dòng)作次數;
  設計相關(guān)聯(lián)動(dòng)、互鎖、緊急停車(chē)和復位等功能;
  執行動(dòng)作與反饋根據產(chǎn)品相關(guān)標準進(jìn)行比較,判定結果和設定中斷程序。
  采用模塊化程序設計編程,各模塊均由主程序調用,且為了程序不出誤動(dòng)作,還要考慮電流諧波和沖擊對高電源的要求。用了算法優(yōu)化設計,5個(gè)繼電器每隔2s一個(gè)動(dòng)作,5個(gè)剛好10s。其中一個(gè)動(dòng)作頻率程序如下:

  與之對應的動(dòng)作如下:



關(guān)鍵詞: PLC 編程器 電氣測控 繼電接觸

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>