[發明專利]用于執行程序語句的方法和設備無效
| 申請號: | 200710096178.0 | 申請日: | 2007-04-18 |
| 公開(公告)號: | CN101290572A | 公開(公告)日: | 2008-10-22 |
| 發明(設計)人: | 馬凌 | 申請(專利權)人: | 施耐德電器工業公司 |
| 主分類號: | G06F9/44 | 分類號: | G06F9/44;G05B19/05 |
| 代理公司: | 北京市柳沈律師事務所 | 代理人: | 邸萬奎;黃小臨 |
| 地址: | 法國呂埃*** | 國省代碼: | 法國;FR |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 執行 程序 語句 方法 設備 | ||
技術領域
本發明涉及一種用于執行程序語句的方法和設備,更具體地,涉及一種用于執行梯形圖語言的方法和使用該方法的可編程邏輯控制器。
背景技術
梯形圖語言是使非專業人員方便地控制PLC(可編程邏輯控制器)的一種符號指令集,如圖1所示。
圖1是示出梯形圖語言的一個示例。
如圖1所示,當循環往復地執行梯形圖語言程序時,每次循環都要將程序從頭至尾掃描一遍,之后根據運算結果設置輸出,其優點是簡單方便。舉例來說,當圖1中所示的程序代碼下載到PLC的CPU(中央處理單元)中的時候,CPU會逐行執行該程序。也就是說,在該梯形圖語言中,所示出的環境輸入變量分別為:%Q0.1、%Q0.2、%I0.7、%Q0.4、%I0.3、%I0.4、%Q0.3、%M5和%Q0.5,這些變量將依次被執行。
在現有技術中,例如每次程序運行到第一行的時候,都要執行這段代碼%Q0.1、%Q0.2、%I0.7、%Q0.4。即使程序的條件都沒有變化,我們的程序也不得不全部掃描,這就造成了PLC的運算負擔過重。
而且,隨著用戶的應用越來越復雜,其程序數量不斷增大,而單片機的運算速度有限,處理速度逐漸成為PLC的瓶頸。
發明內容
鑒于以上問題,本發明的發明人考慮了如下的方案。
我們知道,梯形程序的運行結果取決于上述的輸入變量,如果例如第一個語句中的輸入變量%Q0.1、%Q0.2、%I0.7、%Q0.4都沒有變化,就沒有必要再次執行該語句。如果仍然按照以往的模式進行掃描,大多數的情況下都是在進行冗余的操作。
在實際應用中,只有少數的幾個變量會不斷的變化,或者說變化也不頻繁。實際上,只有不到20%的輸入變量發生變化。
這樣,在運行第一遍之后,我們只運行那些與變化的值有依賴關系的語句,這樣就可以大幅度的提高性能。例如,假設圖1中只有變量%IO.3(位于第二條語句中)變化,那么我們的程序只執行第二條語句。如果沒有任何變量變化,那么就不執行任何語句。這樣,就能大大提高PLC的處理速度。
因此,根據第一方面,本發明提供一種執行程序語句的方法,包括步驟:在每一條語句中設置判定條件;以及根據所述判定條件來決定是否執行含有所述判定條件的語句。
本發明還提供一種用于執行程序語句的設備,包括:設置裝置,用于在每一條語句中設置判定條件;以及控制裝置,用于根據所述判定條件來決定是否執行含有所述判定條件的語句。
根據第二方面,本發明提供一種用于執行程序的方法,所述程序包括多條語句,所述方法包括:在每一條語句中設置條件值;以及當執行程序時,僅執行條件值為預定值的語句。
本發明還提供一種用于執行程序的設備,包括:設置裝置,用于在每一條語句中設置條件值;以及執行裝置,用于當執行程序時,僅執行條件值為預定值的語句。
根據第三方面,本發明提供一種用于執行程序的方法,所述程序包括多條語句,該方法包括:在第一次執行所述程序時,執行其中的每一條語句;在第二次及以后執行所述程序時,首先檢查每一條語句中設置的條件值;如果所述條件值是預定值,則執行包含所述條件值的語句。
通過本發明的實現,可以減輕PLC的工作負載,并增加PLC的處理速度。
附圖說明
從下面結合附圖對本發明實施例的詳細描述中,本發明的這些和/或其它方面和優點將變得更加清楚并且更容易理解,其中:
圖1是示出梯形圖語言的一個示例。
圖2是示出本發明的梯形圖語言的示例。
圖3是示出本發明的梯形圖語言的條件值與變量對應關系的示例。
圖4是示出本發明的梯形圖語言的條件值與變量對應關系的另一示例。
圖5是示出本發明用于執行程序語句的設備的方框圖。
圖6是示出本發明執行程序語句的方法的流程圖。
具體實施方式
下面將結合附圖詳細描述本發明的具體實施例。如果考慮到對某些相關現有技術的詳細描述可能會混淆本發明的要點,則將不會在這里提供其詳細描述。在同一實施例中,相同的附圖標記用于表示執行相同功能的元件或元素。
圖2是示出本發明的梯形圖語言的示例。
如圖2所示,對圖1中的梯形語言的前兩句進行了修改,使得在每一行語句之前,分別增添一個判定條件C_1和C_2。
換句話說,將每一條語句都換成如下的形式:
if(YES==C_n)
{
????C_n=NO;//將C_n設置為NO
???/*執行該語句中的其余代碼*/
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于施耐德電器工業公司,未經施耐德電器工業公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200710096178.0/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:高精度電梯導軌用熱軋型鋼加工工藝
- 下一篇:一種可變導熱系數的測量裝置及方法





