智汇工业-智慧工业、智能制造及工业智能、工业互联门户网站,专业的工业“互联网+”传媒

數(shù)控系統(tǒng)內(nèi)置式PLC的FPGA實(shí)現(xiàn)方案

來源:互聯(lián)網(wǎng)

點(diǎn)擊:1399

A+ A-

所屬頻道:新聞中心

關(guān)鍵詞:數(shù)控系統(tǒng) PLC FPGA

      為了擴(kuò)展數(shù)控系統(tǒng)邏輯功能的可編程能力,通常在數(shù)控系統(tǒng)中配置PLC功能。并采用獨(dú)立PLC或內(nèi)置式PLC兩種方式。但目前內(nèi)置式PLC一般使用軟件實(shí)現(xiàn)。有一套特有的編程與配置方法,這對(duì)使用者熟悉新功能提出了額外的要求。現(xiàn)場(chǎng)可編程邏輯器件FPGA具有很強(qiáng)的在線邏輯編程能力。常被應(yīng)用于實(shí)現(xiàn)某些邏輯控制中。比如交通信號(hào)燈控制:近來也有用FPGA實(shí)現(xiàn)PLC的嘗試。即將與需要實(shí)現(xiàn)的控制功能對(duì)應(yīng)的梯形圖直接做成FPGA硬連線邏輯。但這些應(yīng)用都沒有脫離FPGA本身的現(xiàn)場(chǎng)可編程特性。用戶如需修改控制邏輯。就需要掌握VHDL語言及FPGA的EDA設(shè)計(jì)方法。否則不能提供更加友好、通用的PLC編程界面。  本文介紹了一種新的數(shù)控系統(tǒng)中內(nèi)置式PLC的FPGA實(shí)現(xiàn)方法。它能較好地解決上述技術(shù)難題,也便于實(shí)際應(yīng)用。

    1 基于ARM和FPGA的數(shù)控系統(tǒng)

      機(jī)床數(shù)控系統(tǒng)由控制系統(tǒng)、伺服驅(qū)動(dòng)系統(tǒng)和伺服電機(jī)組成。控制系統(tǒng)生成的坐標(biāo)軸運(yùn)動(dòng)指令,被發(fā)送到伺服驅(qū)動(dòng)系統(tǒng)。然后由伺服驅(qū)動(dòng)系統(tǒng)形成伺服電機(jī)的運(yùn)轉(zhuǎn)控制令。從而使伺服電機(jī)完成相應(yīng)的動(dòng)作。  圖1是基于ARM+FPGA的數(shù)控系統(tǒng)的FPGA部分結(jié)構(gòu)框圖,下載接口、配置器件及FPGA 3個(gè)部分組成了FPGA自身的開發(fā)調(diào)試環(huán)境。可以方便地與PC組成開發(fā)調(diào)試平臺(tái)。機(jī)床控制單元MCU使用32位的ARM嵌入式處理器。運(yùn)行uC/0S實(shí)時(shí)操作系統(tǒng),實(shí)現(xiàn)控制系統(tǒng)的大量分析和計(jì)算工作。比如G代碼解析,根據(jù)加工要求形成坐標(biāo)軸的運(yùn)動(dòng)指令以及數(shù)控系統(tǒng)的人機(jī)界面等。FPGA除了完成對(duì)運(yùn)動(dòng)指令進(jìn)行細(xì)插補(bǔ)之外。同時(shí)還實(shí)現(xiàn)了數(shù)控系統(tǒng)鍵盤電路的掃描模塊、編碼計(jì)數(shù)器模塊和驅(qū)動(dòng)器控制模塊的功能。本文要介紹的數(shù)控系統(tǒng)內(nèi)置式PLC也是在FPGA內(nèi)部實(shí)現(xiàn)的。

    2 用FPGA實(shí)現(xiàn)PLC的軟硬件架構(gòu)

      為了有更好的人機(jī)界面。更符合工程習(xí)慣。采用與主流商業(yè)PLC兼容的編程語言進(jìn)行編程。內(nèi)置式PLC可以接受最終用戶輸入的PLC指令表(一個(gè)特定的子集)。并最終實(shí)現(xiàn)相應(yīng)的邏輯控制功能。FPGA內(nèi)部是硬件邏輯。顯然無法識(shí)別PLC指令,因此,為了實(shí)現(xiàn)這種構(gòu)想。必須設(shè)計(jì)一套指令集。該指令集定義了FPGA可以執(zhí)行的最小操作的集合。然后根據(jù)指令集來設(shè)計(jì)編譯器和FPGA內(nèi)部的PLC邏輯。其軟硬件架構(gòu)如圖2所示。PLC指令被編譯后,生成FPGA可執(zhí)行的指令代碼。然后將指令代碼下載到FPGA內(nèi)部,由執(zhí)行邏輯對(duì)代碼進(jìn)行逐條執(zhí)行。最終實(shí)現(xiàn)PLC的邏輯控制功能。

      PLC核心邏輯是一個(gè)狀態(tài)機(jī)。可以根據(jù)不同的輸入指令執(zhí)行不同的操作。在設(shè)計(jì)中。首先應(yīng)確定需要執(zhí)行的指令集合,即狀態(tài)機(jī)的指令集設(shè)計(jì)。然后根據(jù)指令集來設(shè)計(jì)編譯器和PLC邏輯功能。PLC指令編譯器源程序使用C語言編寫。這樣。此編譯器可以方便地移植到PC、ARM或別的任何支持C編程的平臺(tái)上。基于圖2中的軟硬件架構(gòu)的PLC不能獨(dú)立運(yùn)行。需要MCU對(duì)其進(jìn)行相應(yīng)的設(shè)置和輔助。如圖3所示。在MCU端。需要一個(gè)專門處理與PLC接口的任務(wù)(對(duì)于多任務(wù)操作系統(tǒng))或程序。

    圖3 PLC邏輯的工作過程

        在MCU端,可以提供相應(yīng)的PLC人機(jī)界面,提供PLC梯形圖或指令表的編輯、編譯甚至排錯(cuò)界面,當(dāng)編譯完成后。生成可供FPGA內(nèi)部的PLC邏輯執(zhí)行的“PLC中間操作碼”。當(dāng)要執(zhí)行PLC功能時(shí),首先MCU配置FPGA處于“代碼下載狀態(tài)”。并由MCU將編譯后的代碼下載到FPGA的RAM中:下載完成后。MCU將FPGA設(shè)置為“PLC運(yùn)行狀態(tài)”。開始依次讀入輸入和輸出端口的狀態(tài)。并根據(jù)所要執(zhí)行的指令更新狀態(tài)。最后輸出刷新狀態(tài)。FPGA還有一個(gè)“監(jiān)控狀態(tài)”。此時(shí)。ARM處理器可以直接設(shè)置PLC的輸入輸出10寄存器的值。并可以單步運(yùn)行PLC中間操作碼。ARM結(jié)合返回信息。并配合相應(yīng)的界面,即實(shí)現(xiàn)了對(duì)PLC的調(diào)試。3 PLC邏輯的EDA設(shè)計(jì)方法

      新型FPGA器件及新的EDA設(shè)計(jì)軟件和工具是這種數(shù)控系統(tǒng)內(nèi)置式PLC實(shí)現(xiàn)方式的前提。沒有EDA設(shè)計(jì)流程和方法的支撐。是很難完成相應(yīng)設(shè)計(jì)工作的。

      圖4是典型的EDA設(shè)計(jì)流程。主要包括設(shè)計(jì)輸入、功能仿真、綜合與優(yōu)化、映射和布局布線以及最后的下載驗(yàn)證等環(huán)節(jié)。EDA設(shè)計(jì)流程中。最重要的環(huán)節(jié)便是仿真。因?yàn)樗O(shè)計(jì)的對(duì)象在FPGA內(nèi)部很難在硬件上進(jìn)行測(cè)試。必須利用諸如Active—HDL。ModelSim等仿真工具進(jìn)行功能仿真、綜合后仿真以及布局布線后仿真。設(shè)計(jì)過程和仿真過程是交叉同步進(jìn)行的。而且最好設(shè)計(jì)一個(gè)模塊。即對(duì)一個(gè)模塊的功能進(jìn)行仿真,確保其正確后,才可以集成到更高層面的設(shè)計(jì)中去。仿真的主要任務(wù)就是檢驗(yàn)HDL是否能滿足設(shè)計(jì)所提的要求。檢驗(yàn)的方式是編寫測(cè)試平臺(tái)。在測(cè)試平臺(tái)上給模塊輸入條件。觀察或檢驗(yàn)其輸出。從而驗(yàn)證是否滿足設(shè)計(jì)要求。Active—HDL的Generate TestBench功能還可以生成測(cè)試向量的模板。大大加速了設(shè)計(jì)過程。

    圖4 EDA設(shè)計(jì)流程

    圖5 PLC原型機(jī)邏輯仿真結(jié)果

      總之,掌握并正確使用EDA設(shè)計(jì)方法。是使用FPGA進(jìn)行邏輯設(shè)計(jì)成功的關(guān)鍵。

    4 在數(shù)控系統(tǒng)中的實(shí)現(xiàn)與分析

      基于FPGA的PLC實(shí)現(xiàn)方法在我們自主研發(fā)的基于ARM+FPGA的數(shù)控系統(tǒng)中得到了應(yīng)用。形成了PLC原型機(jī),實(shí)現(xiàn)了基本的PLC邏輯控制功能。能夠與數(shù)控系統(tǒng)集成在一起。結(jié)合相應(yīng)的控制界面。可以對(duì)機(jī)床的各邏輯開關(guān)量進(jìn)行PLC編程控制。更重要的是。這種框架下的PLC具有開放式結(jié)構(gòu)。可根據(jù)需要不斷完善。實(shí)現(xiàn)更復(fù)雜的功能。如圖5所示,PLC有2個(gè)主要狀態(tài)。即輸入輸出刷新(pc status=0)和運(yùn)行狀態(tài)(pc status=1)。在pc status=0時(shí),輸入被采樣,輸出映像被置位:當(dāng)pc status=1時(shí),PLC開始運(yùn)行,pc pointer為PLC內(nèi)部指令的指針,在每個(gè)時(shí)鐘周期,PLC執(zhí)行一條指令,并將指令指針后移,當(dāng)執(zhí)行完所有指令后,outputfresh置高,允許輸出映像寄存器的結(jié)果輸出到端口plc io out中去。以上過程反復(fù)進(jìn)行,便實(shí)現(xiàn)了PLC的最基本邏輯功能。

      針對(duì)數(shù)控系統(tǒng)中各種內(nèi)置式PLC的實(shí)現(xiàn)方式。基于FPGA的解決方案在以下一些方面做了特別的處理:

      (1)復(fù)位問題。當(dāng)FPGA一上電時(shí),其內(nèi)部的PLC邏輯即令其自身進(jìn)入了一個(gè)自復(fù)位狀態(tài)。此時(shí)如果沒有外部MCU給予正確的操作指令。FPGA將不會(huì)進(jìn)入其他任何狀態(tài)。從而確保PLC不會(huì)產(chǎn)生任何的誤動(dòng)作。

      (2)響應(yīng)時(shí)間。PLC程序會(huì)得到周而復(fù)始的執(zhí)行,當(dāng)輸入狀態(tài)(in image)改變時(shí),輸出狀態(tài)會(huì)在下一個(gè)允許輸出信號(hào)有效時(shí)(outputfresh=1)得到更新。PLC的最大響應(yīng)周期取決于所執(zhí)行的指令條數(shù)。對(duì)于絕大多數(shù)指令而言。PLC可在每個(gè)時(shí)鐘周期執(zhí)行一條語句。在最后一條語句執(zhí)行完成后的下一個(gè)時(shí)鐘上升沿輸出得到刷新,同時(shí)在此刷新時(shí)鐘周期內(nèi)。PLC進(jìn)行循環(huán)復(fù)位的初始化工作。最差的情況時(shí)。輸入信號(hào)在上次采集剛剛結(jié)束后發(fā)生變化。需要在下一次采樣并執(zhí)行完成后才能反映到輸出上。即響應(yīng)時(shí)間為Tresponse=(PLC指令條數(shù)+1)×2×時(shí)鐘周期,本文使用的時(shí)鐘周期為50ns,因此有:Tresponse=(PLC指令條數(shù)+1)×2×50ns:受FPGA內(nèi)部的EAB(Embedded Arrav B10ck。一種專門用來綜合成RAM的內(nèi)部資源)數(shù)量的限制。只能綜合出約2k bvte RAM(除非設(shè)置必要的控制寄存器)。當(dāng)執(zhí)行約有2 000條PLC指令時(shí)。最大響應(yīng)時(shí)間為0。2ms量級(jí)。

      對(duì)于一般以軟件方式實(shí)現(xiàn)的PLC。多使用一個(gè)特定的任務(wù)來實(shí)現(xiàn)PLC邏輯控制功能。在嵌入式操作系統(tǒng)中。任務(wù)的上下文切換時(shí)間一般在斗s量級(jí);而且隨著系統(tǒng)中其他任務(wù)的就緒。PLC任務(wù)將面臨被暫時(shí)掛起。在這種情形下。其響應(yīng)時(shí)間將進(jìn)一步變長(zhǎng)。當(dāng)然。如果使用高頻率運(yùn)行下的嵌入式處理器(60MHz以上),在指令條數(shù)較多時(shí),其響應(yīng)時(shí)間也可接受。但數(shù)控系統(tǒng)中的PLC功能一般都只實(shí)現(xiàn)對(duì)機(jī)床的簡(jiǎn)單邏輯控制。控制環(huán)境比較簡(jiǎn)單。指令條數(shù)有限。因此使用FPGA方式實(shí)現(xiàn)還是有其特有的優(yōu)勢(shì)的。

      (3)PLC運(yùn)行階段的可靠性。PLC是將編譯后的可執(zhí)行指令放到FPGA內(nèi)部的RAM中運(yùn)行。只要完成必要的配置。PLC便完全獨(dú)立運(yùn)行,不再需要外部MCU的干預(yù)。換言之,此時(shí)。即使MCU死機(jī)或程序跑飛,也不會(huì)影響正在執(zhí)行中的PLC功能。因此。使用FPGA來實(shí)現(xiàn)PLC功能。對(duì)于提高數(shù)控系統(tǒng)的整體可靠性是有優(yōu)勢(shì)的。

      (4)PLC指令長(zhǎng)度的支持。由于FPGA內(nèi)部的EAB資源有限,因此能夠容納的PLC指令長(zhǎng)度有限。同時(shí)。每次PLC運(yùn)行前都必須由MCU將代碼下載到FPGA中。然后才可控制PLC開始運(yùn)行。即FPGA不能獨(dú)自實(shí)現(xiàn)PLC功能。為了解決這一問題,可考慮為FPGA專門配置非易失性的存儲(chǔ)器。比如Flash。這樣不但可以擴(kuò)大PLC指令長(zhǎng)度。而且還可實(shí)現(xiàn)上電自動(dòng)運(yùn)行PLC程序。甚至不需要MCU的輔助和干預(yù),但這將需=要諸如編程器之類的部件的支持。

    5 結(jié)論

      本文敘述了一種新的方法——用FPGA實(shí)現(xiàn)數(shù)控系統(tǒng)內(nèi)置式的PLC。并提供對(duì)標(biāo)準(zhǔn)PLC編程語言的支持,這是一個(gè)在體系結(jié)構(gòu)上的大膽嘗試。用FPGA實(shí)現(xiàn)的PLC模塊相當(dāng)于一個(gè)專用處理器。只不過根據(jù)PLC的特定應(yīng)用場(chǎng)合,結(jié)合編譯器的設(shè)計(jì)。可對(duì)其指令系統(tǒng)進(jìn)行靈活的配置和架構(gòu)的調(diào)整。這種實(shí)現(xiàn)方法還需要經(jīng)過長(zhǎng)期的應(yīng)用。才能對(duì)其特性進(jìn)行更廣泛的檢驗(yàn):除了應(yīng)用于數(shù)控系統(tǒng)中之外。這種設(shè)計(jì)方法稍加移植。便可應(yīng)用于所有需要PLC功能的嵌入式控制環(huán)境中。

      在現(xiàn)代EDA設(shè)計(jì)方法下。使用FPGA實(shí)現(xiàn)PLC功能是在特定場(chǎng)合下行之有效的方法。隨著EDA技術(shù)和EDA工具的發(fā)展。可能會(huì)出現(xiàn)許多新的思路和方法。比如。如果出現(xiàn)可以直接將PLC程序翻譯成可綜合的VHDL代碼的工具。那就可以既便于一般用戶使用。又能極大地發(fā)揮出FPGA的優(yōu)勢(shì)。

    (審核編輯: 智匯胡妮)

    聲明:除特別說明之外,新聞內(nèi)容及圖片均來自網(wǎng)絡(luò)及各大主流媒體。版權(quán)歸原作者所有。如認(rèn)為內(nèi)容侵權(quán),請(qǐng)聯(lián)系我們刪除。

    主站蜘蛛池模板: 苏州不锈钢_江苏不锈钢_江苏不锈钢板_苏州模具钢_苏州合金钢_苏州特种合金_苏州不锈钢板_304不锈钢棒_苏州塞硒五金制品有限公司 苏州ERP定制|苏州CRM|苏州OA|苏州BPM|进销存管理系统-苏州中尚信息科技有限公司 | 室内去除甲醛检测治理十大品牌_去除甲醛公司加盟-优吸环保科技有限公司集团总部官网 | 天津实验室纯水机-GMP认证制药纯化水设备-天津开发区瑞尔环保科技有限公司 | 明基太阳能玻璃钢污水处理公司-设计研发全自动加药装置设备 | 展会设计搭建-展厅设计施工公司-展位展台设计搭建-深圳鼎泰展览 展柜设计定制-品牌展柜订做-展柜制作厂家「广州嘉艺展柜」 | 喵走共享单车网 - 共享电动车_共享电单车骑行门户网站 倡导绿色出行 | 苏州探测器清洗_烟感探头清洗_感烟探测器维修清洗_火灾探测器清洗报价/价格_进口国产消防设备清洗_江苏智淼探测器清洗厂家- | 网站建设|外贸网站建设|做网站公司-济南超越互联-推荐 | 箱包定制_广州箱包厂_双肩电脑背包_双肩旅行包_拉杆箱包_商务公文包_包包批发,深圳爱自由,礼品箱包定制,电话:400-0061-690 | 小程序定制,小程序开发,北京小程序公司,网站建设,网站制作,北京网站建设,北京网站制作 | 清河县隆鑫密封件有限公司,汽车用密封条,配电箱柜、集装箱密封胶条,建筑门窗、家具用密封条,无毒环保医用密封条,船舶、农机用密封条,异型产品 | 小型加油机价格- 柴油加油机多少钱一台 | 小型静音无油空压机价格-医用无油制氧空气压缩机-浙江盛源水润滑空压机制造有限公司 | 南京展览公司|南京会展制作|南京展台搭建|南京展厅设计|企业展览馆 | 宁波雷豹机电科技有限公司|雷豹冷风机|雷豹工业大风扇|MFC18000|MFC16000|MFC6000|EF3622|EF4222|EF4822|移动工业蒸发式冷风机空气冷却器|大型工业空调扇|雷豹移动式工业大风扇|雷豹大风扇|生产厂家|公司官网 | 郑州离婚律师|婚姻律师在线咨询-河南锦盾律师事务所 | 济南晨阳科技有限公司-锅巴生产设备-夹心米果设备-膨化食品机械 集装箱零配件_不锈钢丝绳厂家_镀锌铁链条_合页非标件定制_上海英鑫多实业有限公司 | 青岛家政网【家政港】青岛家政保姆网络服务平台! | 上海vi设计公司_logo设计_包装设计_品牌定位策划公司-焕识品牌设计 - | 合金锤头_破碎机锤头_耐磨锤头_巩义市东辰铸造 高耐磨合金锤头厂家 | 幼儿园设计公司/南昌酒店装修/办公室/餐厅/民宿/店面/展厅/装修设计公司-益昌装饰集团 | 南京三维动画制作公司,企业视频制作,视频拍摄,FLASH动画设计,宣传片拍摄,广告片制作 | 河北撒旺肥业有限公司 | 热门网页游戏平台_页游排行榜_新开网页游戏开服表_599游戏 | 潍坊沃林机械设备有限公司-牵引式风送果园打药机,悬挂式风送果园喷雾机,自走式果树喷药机,车载式风送远程喷雾机-潍坊沃林机械设备有限公司-牵引式风送果园打药机,悬挂式风送果园喷雾机,自走式果树喷药机,车载式风送远程喷雾机 潍坊网络推广,临沂360推广,东营360推广,枣庄360推广,潍坊网站建设,潍坊网络公司,潍坊360搜索,潍坊APP开发,潍坊360推广,潍坊360代理,潍坊点睛网络科技有限公司 | 四川方法数码科技有限公司 | 武汉防雷检测_防雷工程设计施工_防雷设备材料_湖北普天科技有限公司 | 邮政纸箱_淘宝纸箱_抗压纸箱,盐城纸箱,盐城纸箱厂家,盐城承重纸箱-盐城君雅纸箱 | 模具水垢清洗机_模具管路清洗机_模具专用清洗机-苏州意德特机械有限公司 | 上海乾乙智能科技有限公司官网 | 耐磨钢板_复合耐磨板_KN60耐磨钢板-北京耐默公司 | 陕西筱润智能科技有限公司 干部人事智能档案柜 智能密集架 智能档案柜 部队选层文件智能柜 智能枪弹柜 财务智能档案柜 边防武警智能密集架 医院智能档案柜 部队选层文件智能柜智能枪弹柜 学校医院文件柜 企事业单位公检法智能文件柜 生产厂家-筱润智能科技有限公司 RFID射频智能密集架 全自动智能选层档案柜 智能密保柜 枪柜部队营房营具床桌椅办公家具 办公用品档案盒设备货架 全自动智能选层柜生产厂家-筱润智能科技有限公司 | 一氧化碳检测仪_氢气报警器_臭氧分析仪-深圳万安迪 | 模压化粪池_三格式化粪池_玻璃钢化粪池厂家 | 生物除臭_废气处理_玻璃钢风机_布袋除尘_脱硫脱硝_催化燃烧_生物滤池_广东正州环保科技股份有限公司 | 橡胶粉碎机_轮胎粉碎机_橡胶切条机_橡胶粉碎机价格_河南鑫世昌机械制造有限公司 | 湖北江南专用特种汽车有限公司官方网站 | 气体报警器,有毒气体报警器,可燃气体探测器,乙炔气体报警器,可燃气体检漏仪,便携式气体检测仪,气体报警控制器-山东如特安防设备有限公司 | 微库仑硫氯分析仪-化学发光定氮仪-X荧光硫测定仪-泰州江河仪器有限公司 | 精馏塔_甲醇回收塔_糠醛塔-无锡弘鼎华化工设备有限公司 | 威学一百-专注国际学校择校备考-DSE-A-level-雅思-托福-OSSD-港澳台联考-AP-IGCSE-IB-AMC-多邻国-PTE-SAT-SSAT-小语种(如日语,韩语,德语,法语,西班牙语,意大利语,俄语,泰语)等考试培训,为出国留学学生提供个性化定制性学习方案,线下实体面授+线上网络课程, 提供一对一,小班课等多种班型 |