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

軟PLC系統(tǒng)運行環(huán)境的設計

2017-04-25 13:26:54王世勇
電子設計工程 2017年8期
關(guān)鍵詞:指令程序環(huán)境

張 翰,李 迪,王世勇

(華南理工大學 機械與汽車工程學院,廣東 廣州510640)

軟PLC系統(tǒng)運行環(huán)境的設計

張 翰,李 迪,王世勇

(華南理工大學 機械與汽車工程學院,廣東 廣州510640)

軟PLC技術(shù)的發(fā)展解決了傳統(tǒng)PLC開放性差、通用性差以及難以形成開放式的硬件體系結(jié)構(gòu)等缺點,其以PC機作為硬件平臺,可以充分利用PC機豐富的軟硬件資源,且可以為用戶提供友好的編程界面。軟PLC技術(shù)的實現(xiàn)包括編輯環(huán)境及運行環(huán)境。本文將介紹基于控制器平臺的運行環(huán)境的設計,論述了軟PLC系統(tǒng)的框架設計及運行環(huán)境的硬件及軟件的框架設計,并分析PLC運行環(huán)境的執(zhí)行原理。為后續(xù)實現(xiàn)軟PLC系統(tǒng)運行環(huán)境的功能奠定了基礎。

軟PLC;編輯環(huán)境;運行環(huán)境;控制器

傳統(tǒng)PLC由于開放性差,通用性差等缺點,難以形成開放式的硬件體系結(jié)構(gòu),已無法滿足數(shù)控系統(tǒng)的開放式發(fā)展趨勢。隨著計算機技術(shù)的發(fā)展及IEC61131標準的定制,軟PLC技術(shù)已成為發(fā)展主流[1-2]。軟PLC技術(shù)以PC機作為硬件平臺,可以充分利用PC機豐富的軟硬件資源,且可以為用戶提供友好的編程界面[3-6]。軟PLC技術(shù)的實現(xiàn)包括編輯環(huán)境及運行環(huán)境的設計和實現(xiàn),運行環(huán)境作為其重要組成部分,對系統(tǒng)的可行性及性能起到關(guān)鍵性作用,其用于解析開發(fā)環(huán)境轉(zhuǎn)換出來的PLC程序的目標代碼,使軟PLC系統(tǒng)可以按一定的邏輯順序控制設備的動作流程。本文將介紹運行環(huán)境執(zhí)行平臺的硬件及軟件的框架設計并分析PLC運行環(huán)境的執(zhí)行原理。

1 軟PLC系統(tǒng)的整體設計

1.1 架構(gòu)設計

軟PLC系統(tǒng)由開發(fā)環(huán)境及運行環(huán)境兩部分內(nèi)容組成,其中運行環(huán)境中集成了運動控制模塊,其系統(tǒng)架構(gòu)如圖1所示。開發(fā)環(huán)境實質(zhì)是一個用于編輯PLC程序的應用軟件,需要提供程序編輯功能、程序編譯轉(zhuǎn)換功能、在線調(diào)試仿真功能及離線模擬仿真功能。該軟件將基于Visual Studio 2008平臺進行開發(fā),運行于Windows硬件平臺,只提供LD語言,整個軟件系統(tǒng)包括編輯模塊、編譯模塊、在線仿真模塊及離線仿真模塊。運行環(huán)境則是整個軟PLC系統(tǒng)的核心部分,包括PLC運行內(nèi)核及運動控制模塊,其中PLC運行核用于完成PLC程序的解析執(zhí)行工作而運動控制模塊用于完成運動控制功能塊的解析執(zhí)行[7-10]。整個運行環(huán)境主要完成外部輸入的掃描、程序執(zhí)行、外部輸出的控制及電機脈沖的輸出等工作,通常由通信接口、I/O接口、脈沖輸出接口和運行內(nèi)核組成。該運行環(huán)境將基于Code Composer Studio平臺進行開發(fā),運行于控制器硬件平臺。

圖1 軟PLC系統(tǒng)架構(gòu)圖

1.2 工作原理

軟PLC系統(tǒng)的工作原理如圖2所示,用戶首先在開發(fā)環(huán)境中編輯PLC程序,然后對編輯完成的PLC程序進行編譯仿真,編譯無誤后通過RS485串口通信接口將目標代碼下載至軟PLC的運行環(huán)境,即下載到控制器硬件平臺的FLASH。啟動控制器后,控制器系統(tǒng)將從FLASH中加載目標代碼,并周期性調(diào)用PLC運行核任務,PLC運行核執(zhí)行內(nèi)容為掃描外部輸入信息、順序執(zhí)行解析目標代碼、刷新外部輸出及拋出運動控制數(shù)據(jù)包。

圖2 軟PLC系統(tǒng)工作原理圖

2 運行環(huán)境的硬件平臺設計

本課題采用控制器作為PLC運行環(huán)境的硬件平臺,該控制器采用DSP+FPGA作為主控單元的方案,其中DSP采用TI公司生產(chǎn)的6000系列的通用DSP(TMS320C6713)芯片而FPGA則使用ALTERA公司的EP2C20可編程邏輯器件。DSP處理器集成了32位乘32位的乘法器,工作主頻200 MHz,最高可達300 MHz,支持32位單精度及64位雙精度浮點數(shù)操作[11-14]。其具有流水線及哈佛結(jié)構(gòu)的特點,適合應用于需要高速度的浮點運算場合,但由于其控制方式為串行控制導致無法對多軸聯(lián)動的邏輯控制進行并行處理,因此主要負責運動控制算法的處理、PLC運行核的執(zhí)行以及任務調(diào)度控制。FPGA的作用在于對DSP的硬件外部設備進行擴展以完成輔助性功能,其具有并行化處理強及系統(tǒng)時鐘高的特點,但不擅長進行運算處理,因此主要負責外部I/O接口的掃描輸出及并行控制各軸脈沖的發(fā)送等任務。

這種方案將DSP適合做高速高精浮點運算的的特點和FPGA適合處理并行任務的特點充分結(jié)合起來,使控制器能夠高速可靠地執(zhí)行多任務并處理復雜的運動算法,滿足PLC運行環(huán)境對執(zhí)行速度及進行快速響應的要求,同時也滿足了運動控制模塊對控制算法高精高速及多軸并行輸出的處理要求。使用控制器進行PLC開發(fā),其硬件平臺搭建如圖3所示,控制器由外部電源供電,啟動后執(zhí)行PLC運行環(huán)境,對PLC程序目標代碼進行解析。端子板具備I/O輸入輸出端口及脈沖輸出端口,用于連接外部設備,控制電機運動及繼電器狀態(tài)。PC端運行軟PLC開發(fā)環(huán)境,使用Windows操作系統(tǒng),用于編輯PLC程序、下載目標代碼及在線仿真調(diào)試工作,通過RS485串口與控制器連接[15-16]。

3 運行環(huán)境的軟件設計

3.1 運行環(huán)境的軟件框架設計

整個運行環(huán)境的軟件框架如圖4所示,其運行過程如下:

1)PLC開發(fā)環(huán)境通過RS485串口將編譯完成的PLC程序目標代碼進行下載,由串口通訊線程進行接收,并將下載的內(nèi)容存入到FLASH中進行保存。

2)PLC線程啟動后,從FLASH中讀取出目標代碼的內(nèi)容并對目標代碼進行逐行解析,由目標代碼解析出指令I(lǐng)D、指令參數(shù)等內(nèi)容。

3)對于非運動指令,直接根據(jù)指令類型及相關(guān)參數(shù)進行處理,并根據(jù)結(jié)果對I/O或者內(nèi)部寄存器進行操作。

圖3 硬件平臺連接圖

圖4 PLC運行環(huán)境軟件框架圖

4)對于運動指令,先由運動指令打包線程將將解析出來的指令I(lǐng)D及運動參數(shù)按規(guī)定的格式進行打包后發(fā)送到運動指令隊列中。運動指令解析線程則負責從運動指令隊列中依次取出運動指令數(shù)據(jù)包進行解析并根據(jù)解析出來的指令I(lǐng)D及運動參數(shù)進行初始化,最后由運動算法線程調(diào)用對應的算法進行運算,并將運算結(jié)果發(fā)送至脈沖輸出環(huán)形隊列并由脈沖輸出線程周期性地調(diào)用FPGA的處理模塊將結(jié)果發(fā)送至伺服驅(qū)動器。

3.2 PLC程序的執(zhí)行過程

為實現(xiàn)模塊化編程方式,本系統(tǒng)的PLC程序的架構(gòu)為分級架構(gòu),分為第一級程序、第二級程序及子程序,一級程序內(nèi)容結(jié)束時添加END1標志位,二級程序內(nèi)容結(jié)束時添加END2標志位,每級程序的執(zhí)行周期不一致,各級對應的執(zhí)行周期如下所述。

1)第一級程序的執(zhí)行周期為4 ms,可以用于編寫一些需要快速響應的功能程序,如急停處理功能或報警功能。

2)第二級程序的執(zhí)行周期為4*N ms,其中N為程序內(nèi)容被劃分的數(shù)量。啟動第二級程序時程序內(nèi)容被劃分成N份,每份容量大小最多為2 000行基本指令。每4ms只執(zhí)行一份。因此每個周期內(nèi)將執(zhí)行完第一級程序的所有內(nèi)容及第二級程序的第N份內(nèi)容。

3)子程序的執(zhí)行周期根據(jù)其調(diào)用的位置而不同,若在第一級程序中調(diào)用,則執(zhí)行周期為4 ms;若在第二級程序中調(diào)用,則執(zhí)行周期為(4*N)ms。

3.3 運行環(huán)境的執(zhí)行原理

運行環(huán)境的執(zhí)行總流程示意圖如圖5所示。首先對系統(tǒng)進行初始化,然后周期性調(diào)用PLC運行核任務,運行核任務包括輸入采樣、解析并執(zhí)行程序內(nèi)容及輸出刷新幾個動作。

1)初始化系統(tǒng)變量:在啟動PLC運行核任務前需要對操作系統(tǒng)定義的變量進行初始化并設置初始值。

2)采集輸入信號:每個執(zhí)行周期都需要對外部輸入的最新狀態(tài)進行采集并存儲到緩沖區(qū)。

3)解析并執(zhí)行程序內(nèi)容:在程序內(nèi)容存放的內(nèi)存區(qū)中逐行解析目標代碼并執(zhí)行相關(guān)指令動作,同時將執(zhí)行結(jié)果存放于對應的寄存器中,其中一級程序每周期執(zhí)行一次,二級程序分段執(zhí)行,每周期執(zhí)行一段,直到全部內(nèi)容執(zhí)行完成則重新開始分段執(zhí)行。

4)輸出的刷新:執(zhí)行每個周期的PLC程序目標代碼的內(nèi)容后,將最新的外部輸出結(jié)果刷新到硬件設備。

圖5 PLC運行核執(zhí)行流程圖

根據(jù)PLC程序的分級架構(gòu),PLC程序目標代碼需要進行分級解析,圖6為目標代碼的解析執(zhí)行過程,具體解析過程如下所述。

圖6 PLC程序目標代碼解析流程圖

1)每個周期開始時,使用一個位置指針指向目標代碼存儲空間的首地址。

2)進入第一級程序的解析過程,對目標代碼進行逐行解析直到執(zhí)行到END1標志位的目標代碼,則結(jié)束對一級程序的解析,進入二級程序的解析。

3)進入第二級程序的解析過程,對目標代碼進行逐行解析,每執(zhí)行完一個指令進行時間累加,直到累計時間達到分段容量,則結(jié)束該周期的解析過程,并記錄下此時目標代碼的位置,作為下個周期二級程序的起始位置。若執(zhí)行到END2標志位的目標代碼,則結(jié)束該周期的解析過程,并將下周期二級程序的起始位置設為原始位置。

4)解析指令過程中每解析完一個指令,則位置指針根據(jù)該指令轉(zhuǎn)換成的目標代碼的行數(shù)進行移動,指向下個指令目標代碼的首行。

5)等待本周期的結(jié)束,進入下個執(zhí)行周期,重復第一和第二個步驟。

3.4 目標代碼的解析原理

目標代碼是由PLC程序指令表轉(zhuǎn)換而成的具有特定格式的數(shù)據(jù)流,存儲方式為unsigned int數(shù)據(jù)類型的數(shù)組,單參數(shù)指令轉(zhuǎn)為目標代碼后的存儲空間為一行,多參數(shù)指令的存儲空間根據(jù)參數(shù)數(shù)量存儲多行。

解析目標代碼的過程就是按照目標代碼的構(gòu)造原理進行逆向拆分,還原指令的相關(guān)信息后再去執(zhí)行動作。目標代碼的每一行都存儲了相關(guān)指令的數(shù)據(jù)信息,解析時需要由指令對應的目標代碼的首行先獲取到指令的類型標志,再根據(jù)指令類型將目標代碼的一行或者多行轉(zhuǎn)換為對應指令的數(shù)據(jù)結(jié)構(gòu)體,由結(jié)構(gòu)體的變量得到指令對應的參數(shù)內(nèi)容。

根據(jù)目標代碼的解析過程分析,需要為每個指令定義一個結(jié)構(gòu)體進行數(shù)據(jù)存儲,結(jié)合目標代碼的數(shù)據(jù)類型定義,每個指令的結(jié)構(gòu)體大小需要為4字節(jié)大小的整數(shù)倍。每個指令的結(jié)構(gòu)體由指令的類型標志及單個或者多個指令參數(shù)的寄存器地址號、寄存器位號或者常數(shù)值的變量進行組合,表1為具體的參數(shù)變量對應的數(shù)據(jù)類型。

表1 指令參數(shù)的數(shù)據(jù)類型表

目標代碼的具體解析過程如下所述:

1)定義一個單參數(shù)指令結(jié)構(gòu)體的指針指向目標代碼存儲空間的首地址:

PLC_BASE_INS*pc;//單參數(shù)結(jié)構(gòu)體指針

pc=(PLC_BASE_INS*)PLC_EXEC_CODE;//初始化為目標代碼首地址

2)pc指針指向每條指令轉(zhuǎn)換成的目標代碼的首行,通過pc->ins獲取到指令標志類型,若為單參數(shù)圖元,則取出PLC_BASE_INS結(jié)構(gòu)體的其它參數(shù);若為多參數(shù)指令,則將pc指針轉(zhuǎn)為相應指令的數(shù)據(jù)結(jié)構(gòu)體,通過該結(jié)構(gòu)體將指令的相關(guān)參數(shù)取出;

3)每完成一個指令的解析,根據(jù)指令目標代碼的行數(shù)疊加pc指針的位置,使pc指針指向下個指令的目標代碼的首行地址。

4 結(jié)束語

文中介紹了如何在控制器平臺下設計開發(fā)軟PLC系統(tǒng)的運行環(huán)境,詳細分析了控制器硬件平臺的設計,運行環(huán)境的軟件框架設計及具體的執(zhí)行原理。為后續(xù)實現(xiàn)軟PLC系統(tǒng)運行環(huán)境的功能奠定了基礎。

[1]姚家慶,陶耀東,鄭一麟.基于MiniGUI的梯形圖編程工具的設計與實現(xiàn)[J].組合機床與自動化加工技術(shù),2013(2):30-33+37.

[2]蘇淑芝,劉志維.軟PLC開發(fā)系統(tǒng)的設計與實現(xiàn)[J].現(xiàn)代電子技術(shù),2012(10):15-17,20.

[3]郭書杰.軟件PLC梯形圖編程系統(tǒng)的研究與實現(xiàn)[D].沈陽:中國科學院沈陽計算技術(shù)研究所.2010

[4]王飛.開放式數(shù)控系統(tǒng)中軟PLC的開發(fā)及應用[D].廣州:華南理工大學.2011

[5]李龍.軟PLC開發(fā)系統(tǒng)的研究與實現(xiàn)[D].西安:陜西科技大學,2013.

[6]陳浩,張躍文.軟PLC技術(shù)研究與開發(fā)[J].信息系統(tǒng)工程,2015(10):86.

[7]張丕鑫.基于PLCopen的運動控制功能塊研究與實現(xiàn)[D].大連:大連理工大學,2011.

[8]劉艷強,宋永立.基于PLCopen的數(shù)控機械控制器研究與開發(fā)[J].制造業(yè)自動化,2013,02:63-67

[9]金麗娟,嚴義,劉罡.基于IEC61131-3的運動控制模塊設計[J].機電工程,2013,06:759-763

[10]謝春杰.嵌入式軟PLC的研究與設計[D].南京:南京理工大學,2014.

[11]馬志剛,趙麗平,李中西,等.一種高性能浮點DSP芯片TMS320C6713及其最小系統(tǒng)的設計[J].微型機與應用,2010,29(10):24-27.

[12]Texas Instruments Inc.How to Get Started With the DSP BIOS Kernel[Z].Dallas,Texas:Texas Instruments Inc,2001:04-08.

[13]Texas Instruments Inc.Using the DSP/BIOS Kernel in Real-Time DSP Applications[Z].Dallas,Texas: Texas Instruments Inc,2001:02-16.

[14]張紅香.面向數(shù)控機床的嵌入式軟PLC開發(fā)系統(tǒng)的研究[D].蘭州:蘭州理工大學,2014.

[15]胥貴萍.基于軟PLC技術(shù)的工程機械智能控制器[D].武漢:武漢科技大學,2011.

[16]喻賽花.基于Windows的軟PLC系統(tǒng)開發(fā)[D].南京:南京航空航天大學,2012.

Design of PLC ladder diagram programming environment

ZHANG Han,LI Di,WANG Shi-yong
(School of Mechanical and Automotive Engineering,South China University of Technology,Guangzhou 510640,China)

The development of soft PLC technology solved the poor openness and universality of traditional PLC as well as difficulty in forming hardware architecture of open mode.Soft PLC is based on PC hardware and make full use of hardware and software resources to provide a friendly programming UI. The implementation of Soft PLC include programming editing and running environment.This paper introduced how to design the runtime environment based on controller platform,discuss the design methods including the framework of soft PLC system and the framework of running environment's software and hardware.Besides, this paper also analyzed the implementation ofthe runtime environment,which laid solid foundation for the implementation of soft PLC running environment.

soft PLC;editing environment;runtime environment;controller

TN805

:A

:1674-6236(2017)08-0010-05

2016-07-05稿件編號:201607026

國家科技支撐計劃項目資助 (2015BAF20B01);廣東省科技計劃項目資助(2012A090100012;2013B010134010;2014B090921003;2014A050503009);廣州市科技計劃項目資助(201508030007;201604010064)

張 翰(1991—),男,廣東汕頭人,碩士。研究方向:數(shù)控系統(tǒng)中軟件PLC技術(shù)。

猜你喜歡
指令程序環(huán)境
聽我指令:大催眠術(shù)
長期鍛煉創(chuàng)造體內(nèi)抑癌環(huán)境
一種用于自主學習的虛擬仿真環(huán)境
孕期遠離容易致畸的環(huán)境
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
環(huán)境
ARINC661顯控指令快速驗證方法
LED照明產(chǎn)品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
主站蜘蛛池模板: 青青青视频91在线 | 欧美a在线看| 亚洲欧美一区在线| 国产日韩av在线播放| 91av成人日本不卡三区| 婷婷亚洲天堂| 日本a∨在线观看| 久久久黄色片| 国产99久久亚洲综合精品西瓜tv| 国产美女一级毛片| 国产精品色婷婷在线观看| 欧美日韩国产精品va| 国产精品亚洲五月天高清| 欧美综合一区二区三区| 免费亚洲成人| 欧美亚洲国产精品久久蜜芽| 欧美日韩福利| 亚洲AV永久无码精品古装片| 欧美国产菊爆免费观看 | 97国产在线视频| 欧美综合区自拍亚洲综合天堂| 国产91视频观看| 伊人色婷婷| 欧美日韩91| 97国产在线观看| 国产微拍一区二区三区四区| 亚洲啪啪网| 国产精品自在自线免费观看| 久久a毛片| 亚洲成a∧人片在线观看无码| 福利国产微拍广场一区视频在线| 国产精品无码在线看| 国产91熟女高潮一区二区| lhav亚洲精品| 亚洲女人在线| 欧美激情综合| 538国产视频| 亚洲三级电影在线播放| 国产特级毛片aaaaaa| av午夜福利一片免费看| 国产精品99一区不卡| 久久精品丝袜| 热久久这里是精品6免费观看| 538精品在线观看| 国产精品美女免费视频大全 | 国产你懂得| 欧美在线黄| 免费无码在线观看| 国产一级妓女av网站| 无码丝袜人妻| 免费毛片网站在线观看| 91美女视频在线| 婷婷久久综合九色综合88| 国产h视频在线观看视频| 99热这里只有精品在线播放| 国产95在线 | 69av免费视频| 中文精品久久久久国产网址| 91免费国产在线观看尤物| 亚洲国产欧美目韩成人综合| 亚洲a级在线观看| 久久伊人操| 欧美日韩中文国产| 欧美精品亚洲日韩a| 精品视频福利| 久久天天躁夜夜躁狠狠| 久热中文字幕在线| 亚洲黄色片免费看| 久久久精品无码一区二区三区| 在线观看国产精品第一区免费 | 亚洲欧美成人在线视频| 欧美www在线观看| 国产成人高精品免费视频| 青青草国产精品久久久久| 精品一区二区三区水蜜桃| 最新痴汉在线无码AV| 久久夜色精品| 老司国产精品视频91| 国产主播福利在线观看| 成人伊人色一区二区三区| 亚洲国产高清精品线久久| 午夜久久影院|