那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于梯形圖的VHDL設計方法進行CPLD的開發設計

電子設計 ? 來源:郭婷 ? 作者:電子設計 ? 2019-05-23 08:06 ? 次閱讀

順序控制邏輯電路廣泛應用于機器人、全自動家用電器、工業自動化設備及其它自動化裝置中,它常采用CPLD器件進行設計與實現。

如果直接采用原理圖輸入工具或VHDL語言描述的方法來設計順序控制邏輯電路,則設計效率不高。這是因為順序控制邏輯電路中包含大量的I/O信號,控制邏輯就是這些I/O信號的邏輯組合,這些I/O信號在整個控制邏輯中會被大量引用,而原理圖輸入工具中的元件如邏輯門和觸發器等的輸入引腳數是固定的,邏輯引用不夠靈活,同時,I/O信號的大量引用又會使連線過于復雜。VHDL是一種文本設計工具,不是順序控制邏輯電路設計的專用工具,直接用它編寫的順序控制邏輯程序結構零亂,不夠直觀,編程及調試效率都不高。

梯形圖的原理與特性

梯形圖是可編程邏輯控制器PLC)實現順序控制邏輯的專用設計工具,用梯形圖描述的控制邏輯非常直觀易懂。梯形圖工具使用簡便,開發效率高,對電路設計者的要求很低,因此,電路設計者可以將更多精力用在順序控制邏輯功能的實現與優化上。

基于梯形圖的VHDL設計方法進行CPLD的開發設計

梯形圖以兩根平行的豎線分別表示電源線和地線,在這兩根豎線之間,用橫線表示電氣連接線,將各種代表邏輯量(“ON”或“OFF”)的元件觸點及輸出執行元件的線圈用橫線串接成一條電氣回路。多條這樣的回路并列在一起,形狀如同階梯,就構成了實現所需順序控制邏輯的梯形圖。

一個典型的順序控制電路的梯形圖如圖1所示。在梯形圖的每個回路中,當所有串聯的觸點全部都處于“ON”狀態時,回路就處于導通狀態,回路末端的輸出執行元件線圈被接通。例如,當X0為“ON”,X1為“OFF”時,執行元件Y0就被接通,產生輸出動作。執行元件不能多個串聯,其觸點所代表的邏輯量可以在梯形圖中被多次反復引用。電路的各I/O信號也可以在梯形圖中被多次反復引用。

梯形圖-VHDL設計方法

如果將梯形圖法應用于CPLD開發中,采用基于梯形圖的VHDL設計方法,就可將兩種設計工具的長處相結合,從而提高順序邏輯電路設計開發的效率,簡化設計難度。

梯形圖-VHDL設計方法的總體思路是,將開發過程分為兩個階段:第一階段先采用梯形圖對順序邏輯電路的邏輯進行描述和設計,第二階段通過VHDL語言來實現梯形圖的邏輯功能,并通過CPLD專用的開發軟件對所設計的邏輯進行仿真調試。

在這里,梯形圖的作用是作為順序邏輯電路的邏輯原型,是VHDL語言編程的依據。用梯形圖完成的是電路的邏輯功能設計,而VHDL語言程序用于實現其邏輯功能。二者分工協作,相得益彰。其中梯形圖-VHDL設計方法的關鍵在于梯形圖的VHDL語言描述。

梯形圖的VHDL描述方法

梯形圖由三種要素構成,即輸入信號、輸出執行元件和連接線。在VHDL程序中必須采用特殊方法對這三要素進行有效的描述。

(1)輸入信號Xi(i=0,1,…,M)

M個輸入信號必須在實體的端口說明語句(PORT語句)中予以說明。在PORT語句中,各輸入信號可以單獨說明,也可將一組或一類輸入信號用一個標準位向量(STD_LOGIC_VECTOR)說明。

可以規定輸入信號為邏輯“1”時,其狀態為“ON”;而為邏輯“0”時,其狀態為“OFF”。梯形圖中對輸入信號Xi的引用對應于VHDL程序中對Xi的直接引用,而梯形圖中對的引用則對應于VHDL程序中對(NOT Xi)的引用。

(2)輸出執行元件Yj(j=0,1,…,N)

N個輸出執行元件(即輸出信號)也必須在實體的端口說明語句(PORT語句)中予以說明。如果某輸出信號在梯形圖中的其它位置需要被引用,則在PORT語句中必須將其端口模式設置為“BUFFER(輸出并向內部反饋)”。在PORT語句中,各輸出信號可以單獨說明,也可將一組或一類輸出信號用一個標準位向量(STD_LOGIC_VECTOR)說明。

可以規定輸出信號為邏輯“1”時,其狀態為“ON”;而為邏輯“0”時,其狀態為“OFF”。梯形圖中對輸出信號Yj的引用對應于VHDL程序中對Yj的直接引用,而梯形圖中對的引用則對應于VHDL程序中對(NOT Yj)的引用。

(3)連接線

梯形圖中的連接線有四種:回路最左側的橫線為回路起始線(母線);回路中部的橫線為“與”邏輯連接線;回路中部的豎線為“或”邏輯連接線;回路右側與輸出執行元件相連的線為輸出線。

在VHDL程序中,可用“與”邏輯運算符“AND”代替梯形圖中的“與”邏輯連接線,用“或”邏輯運算符“OR” 替梯形圖中的“或”邏輯連接線,用信號賦值運算符“《=” 代替梯形圖中的輸出線。

這樣,梯形圖中的每一個電氣回路都可很方便地用一條對輸出信號的賦值語句來描述。賦值語句的左邊是輸出信號,右邊是一個由各輸入/輸出信號及與/或運算符構成的邏輯表達式。

雖然在VHDL程序中也可以用IF分支語句來描述梯形圖各回路中信號的邏輯關系,但這樣會使程序結構很雜亂,調試很困難,可讀性也較差,因此不推薦用IF語句來描述梯形圖回路中的邏輯,而建議采用邏輯表達式給輸出信號賦值的描述方法。

對于梯形圖中那些不向外輸出信號的內部元件來說,如定時器、狀態寄存器、移位寄存器等,可采用元件例化語句調用有關的庫元件功能進行描述,并在結構體中為其輸出聲明一個中間信號。當這類元件有輸出信號時,將其輸出信號賦值給聲明好的中間信號,電路中其它位置就可對該中間信號或者它的取反信號進行引用。 通過以上各描述方法,就可將用梯形圖設計的電路邏輯原型方便地逐行轉換為VHDL程序。在進行電路邏輯功能設計時,就不必為VHDL程序的語法和程序結構花費過多的時間,能更加專注于電路邏輯功能設計與優化,同時也使所編寫的VHDL程序邏輯更加清晰,可讀性更好。

應用實例

以下通過圖1所示的典型的順序控制電路的實例來說明梯形圖的VHDL描述方法。

在圖1中,X0、X2和X4分別是三個輸出回路的啟動信號,X1、X3和X5分別是三個輸出回路的停止信號,Y0、Y1和Y2分別是三個輸出回路的輸出執行元件。只有當Y0啟動輸出后,才允許Y1啟動;只有當Y1啟動輸出后,才允許Y2啟動。reset為CPLD芯片的上電復位信號,低電平有效。

實現該電路控制的VHDL程序邏輯如下:

LIBRARY ieee;

USE ieee.std_logic_1164.all;

ENTITY sequence IS

PORT(X0, X1, X2, X3, X4, X5: IN STD_LOGIC;

RESET: IN STD_LOGIC;

Y0, Y1, Y2 : BUFFER STD_LOGIC);

END sequence;

ARCHITECTURE ladder OF sequence IS

BEGIN

PROCESS(RESET, X0,X1,X2,X3,X4,X5)

BEGIN

IF (RESET=‘0’) THEN

Y0《=‘0’; Y1《=‘0’; Y2《=‘0’;

ELSE

Y0《=(X0 OR Y0)AND (NOT X1);

Y1《=(X2 OR Y1)AND (NOT X3)AND Y0;

Y2《=(X4 OR Y2)AND (NOT X5)AND Y1;

END IF;

END PROCESS;

END ladder;

利用MAX+PLUS II的定時仿真工具對上面的程序進行仿真,結果如圖2所示。從時序仿真的結果可以看到,電路的輸出邏輯與梯形圖原型的邏輯完全一致。

結語

本文通過對一個典型順序控制電路梯形圖的VHDL程序設計與時序仿真,表明梯形圖-VHDL設計方法是正確可行的。梯形圖法的引入使VHDL程序的設計得到簡化,所設計出的程序結構簡練,輸出邏輯表達清楚。梯形圖與VHDL程序分工明確,電路邏輯功能設計的工作由梯形圖來承擔,而VHDL程序只需負責對梯形圖的邏輯功能進行描述并生成CPLD的下載文件。這樣,對兩種設計工具各取所長,就使得用CPLD開發順序邏輯控制電路和系統的效率得到提高。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • cpld
    +關注

    關注

    32

    文章

    1257

    瀏覽量

    169637
  • plc
    plc
    +關注

    關注

    5016

    文章

    13388

    瀏覽量

    465440
  • vhdl
    +關注

    關注

    30

    文章

    817

    瀏覽量

    128346
收藏 人收藏

    評論

    相關推薦

    plc梯形圖如何看對錯

    梯形圖的對錯分好多種,一種是程序編譯出現的錯誤,二就是控制功能異?;蛘哌壿嬪e誤。編譯引起的如雙線圈、指令使用錯誤、軟元件使用有誤等等,有些是能通過梯形圖檢查到的,輸入線圈Y明顯發現使用了多次,在程序
    發表于 11-09 07:37

    請問一下梯形圖VHDL設計方法怎么進行CPLD開發設計?

    本文通過對一個典型順序控制電路梯形圖VHDL程序設計與時序仿真,表明梯形圖-VHDL設計方法是正確可行的。
    發表于 04-30 06:36

    關于梯形圖-VHDL設計方法的研究

    梯形圖的原理與特性梯形圖-VHDL設計方法梯形圖VHDL描述
    發表于 04-30 07:28

    如何去實現一個基于梯形圖的軟PLC設計

    梯形圖的原理是什么?梯形圖是如何運行的?如何去實現一個基于梯形圖的軟PLC設計?
    發表于 09-23 09:04

    PLC梯形圖是如何編程的呢?

      PLC被稱為可編程邏輯控制器。1993年,IEC頒布了IEC61131-3標準,標準中規范了5種PLC的編程語言。梯形圖、指令表、結構化文本、功能塊和順序功能圖表。分別用字母LD、IL、ST
    發表于 03-02 18:08

    PLC梯形圖編程有哪些規范_plc梯形圖編程實例

    本文開始介紹了關于PLC梯形圖編程的四個基本概念,其次詳細介紹了PLC梯形圖編程基本規則,最后介紹了PLC計數器程序梯形圖編程實例。
    發表于 04-26 14:58 ?7090次閱讀
    PLC<b class='flag-5'>梯形圖</b>編程有哪些規范_plc<b class='flag-5'>梯形圖</b>編程實例

    繼電器控制電路與PLC梯形圖詳解及怎么轉換為PLC梯形圖

    今天給大家分享繼電器控制電路與PLC梯形圖詳解及怎么轉換為PLC梯形圖
    的頭像 發表于 07-26 08:58 ?1.3w次閱讀
    繼電器控制電路與PLC<b class='flag-5'>梯形圖</b>詳解及怎么轉換為PLC<b class='flag-5'>梯形圖</b>

    PLC梯形圖如何繪制

    梯形圖邏輯控制順序的設計,可以從手工繪制梯形圖開始。在繪制過程中,設計員可以在仔細分析機床工作原理或動作順序的基礎上,用流程,時序等描述,信號與機床運行間的邏輯順序關系,然后再據此
    發表于 06-04 09:52 ?4199次閱讀

    PLC梯形圖的經驗設計方法

    經驗設計法用設計繼電器電路方法來設計比較簡單的開關量控制系統的梯形圖,即在一些典型電路的基礎上,根據被控對象對控制系統的具體要求,不斷地修改和完善梯形圖
    發表于 06-04 12:00 ?1285次閱讀

    PLC梯形圖編程的方法

    PLC梯形圖編程,應要遵循一定的規則,并養成良好的習慣。下面以三菱FX系列PLC為例,介紹一下PLC梯形圖編程的方法,希望對大家有所幫助。
    的頭像 發表于 09-24 10:57 ?6471次閱讀
    PLC<b class='flag-5'>梯形圖</b>編程的<b class='flag-5'>方法</b>

    plc編程中的梯形圖是什么?

    ,梯形圖的設計稱為編程。 ? ?梯形圖編程中,用到以下四個基本概念: ? ? 1.母線 ? ?梯形圖兩側的垂直公共線稱為母線(Bus bar),。在分析梯形圖的邏輯關系時,為了借用繼電
    發表于 12-08 17:56 ?6324次閱讀

    PLC梯形圖的特點 如何懂PLC梯形圖

      PLC梯形圖(Programmable Logic Control Ladder Diagram)是一種編程語言,通常用于控制工業自動化系統中的可編程邏輯控制器(PLC)。梯形圖由電氣工程師和編程人員使用,用于編寫PLC程序,該程序在設備和機器上執行不同的邏輯流程控制
    發表于 03-16 14:32 ?6109次閱讀

    PLC梯形圖的設計方法

      PLC(可編程邏輯控制器)是一種常用于工業自動化領域的控制器設備,它能夠對生產過程進行精細的控制和管理。在PLC的程序設計過程中,梯形圖是一種常用的設計方法,以下是PLC梯形圖的設
    發表于 03-16 16:46 ?2855次閱讀

    PLC梯形圖編程的方法和5大原則

      梯形圖編程是基于邏輯組件(與門、或門、非門)以及控制元件(計數器、定時器、比較器等)來構建過程控制程序的方法。在PLC中,梯形圖通常是在集成開發環境(IDE)中編寫的,其中PLC程
    發表于 03-16 18:20 ?5399次閱讀

    PLC梯形圖編程的順序和方法

      PLC梯形圖編程是一種用于計算機控制系統中的圖解語言,它采用梯形圖的形式描述程序的邏輯關系,以實現實時控制和自動化控制。PLC梯形圖編程的核心概念是梯形圖
    發表于 03-17 15:07 ?4945次閱讀
    临高县| 大发888游戏 平台| 百家乐官网最全打法| 欢乐谷百家乐的玩法技巧和规则| 澳门百家乐官网代理| 百家乐博彩通博彩网皇冠网澳门赌场真人赌博| 香港六合彩票| 百家乐太阳城球讯网| 百家乐官网资金注码| 德州扑克桌| 百家乐玩法窍门| 三河市| 天堂鸟百家乐的玩法技巧和规则| 名仕百家乐官网的玩法技巧和规则| 亿酷棋牌世界下载手机版| 赢家百家乐的玩法技巧和规则| 百家乐视频软件| 百家乐官网凯时赌场娱乐网规则 | 威尼斯人娱乐cheng| 真人百家乐官网免费送钱| 博联百家乐官网游戏| 陵水| 958棋牌游戏| 玩百家乐输了| 百家乐官网网上赌场| 宝格丽百家乐官网娱乐城| 乳源| 观塘区| 欢乐谷娱乐城开户| 嘉禾百家乐的玩法技巧和规则| 百家乐博彩开户博彩通| 真人百家乐官网游戏网址| 百家乐官网庄闲| 网上棋牌赌博| 什么叫百家乐的玩法技巧和规则| 百家乐网站平台| 百家乐百姓话题| 百家乐1元投注| 百家乐必胜密| 百家乐赌场在线娱乐| 新加坡百家乐的玩法技巧和规则 |