一種連續(xù)功能圖編程方法
【專利摘要】本發(fā)明涉及一種連續(xù)功能圖編程方法,包括:在建立連續(xù)功能圖CFC工程時(shí),確定周期性任務(wù);確定所述周期性任務(wù)中的物理量;在所述周期性任務(wù)中定義物理量類型的變量以反映所述物理量;以及為所述周期性任務(wù)指定調(diào)度周期。
【專利說明】-種連續(xù)功能圖編程方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及一種工業(yè)控制編程方法,特別地設(shè)及連續(xù)功能圖編程方法。
【背景技術(shù)】
[0002] 連續(xù)功能圖(CFC-Continuous F^mction Qiart)是一種圖形化編程語(yǔ)言。連續(xù)功 能圖編程具有W下特點(diǎn);(1)通過繪制功能圖表來自動(dòng)生成程序;(2)擁有強(qiáng)大的預(yù)制程序 庫(kù);(3)通過簡(jiǎn)單的連線來降低開發(fā)成本并減少錯(cuò)誤。連續(xù)功能圖不僅僅具有可編程邏輯 控制器化C(Programm油le Logic Control ler)典型的元素,例如;輸入/輸出、定時(shí)器、 計(jì)數(shù)器、符號(hào)表等,而且具有圖形化編程語(yǔ)言語(yǔ)言的特性,其非常適合于過程控制和系統(tǒng)工 程。CFC源于IEC 61131-3標(biāo)準(zhǔn)規(guī)定,是五種編程語(yǔ)言之一的功能塊圖(punction Block Diagram)。連續(xù)功能圖與功能塊圖的主要特點(diǎn)在于其展示出了其隸屬的資源與任務(wù)。雖然 連續(xù)功能圖并沒有相關(guān)國(guó)際標(biāo)準(zhǔn),但在工業(yè)控制領(lǐng)域被廣泛使用。
[0003] 然而,連續(xù)功能圖CFC編程不夠靈活,無法滿足用戶在工業(yè)控制方面的實(shí)際需要, 因此,非常有必要提供一種更為靈活的連續(xù)功能圖CFC編程方法。
【發(fā)明內(nèi)容】
[0004] 針對(duì)W上技術(shù)問題,本申請(qǐng)?zhí)岢隽艘环N連續(xù)功能圖編程方法,包括;在建立連續(xù)功 能圖CFC工程時(shí),確定周期性任務(wù);確定所述周期性任務(wù)中的物理量;在所述周期性任務(wù)中 定義物理量類型的變量W反映所述物理量;W及為所述周期性任務(wù)指定調(diào)度周期。
[0005] 如上所述的方法,進(jìn)一步包括;確定所述物理量類型的變量的基值、單位和物理量 初始值。
[0006] 如上所述的方法,進(jìn)一步包括:確定所述物理量類型的變量的定標(biāo)值。
[0007] 如上所述的方法,進(jìn)一步包括;所述定標(biāo)值反映所述物理量類型的變量對(duì)應(yīng)的二 進(jìn)制數(shù)據(jù)的長(zhǎng)度。
[000引如上所述的方法,進(jìn)一步包括;采用如下公式將所述物理量類型的變量的物理量 值轉(zhuǎn)換為二進(jìn)制數(shù)據(jù):二進(jìn)制數(shù)據(jù)=物理量值/基值
[0009] 如上所述的方法,進(jìn)一步包括;計(jì)算所述物理量類型的變量的物理量值與二進(jìn)制 數(shù)據(jù)之間的轉(zhuǎn)換系數(shù)滬/基值。
[0010] 如上所述的方法,在上位機(jī)上輸入物理量類型的變量的基值和單位及計(jì)算所述轉(zhuǎn) 換系數(shù)。
[0011] 如上所述的方法,進(jìn)一步包括;在上位機(jī)上觀測(cè)所述物理量類型的變量的物理量 值。
[0012] 如上所述的方法,進(jìn)一步包括;將所述物理量類型的變量的二進(jìn)制數(shù)據(jù)從目標(biāo)機(jī) 上傳到所述上位機(jī)。
[0013] 如上所述的方法,進(jìn)一步包括;采用如下公式將所述二進(jìn)制數(shù)據(jù)轉(zhuǎn)換為所述物理 量類型的變量的物理量值:物理量值=二進(jìn)制數(shù)據(jù)X基值。
【專利附圖】
【附圖說明】
[0014] 下面,將結(jié)合附圖對(duì)本發(fā)明的優(yōu)選實(shí)施方式進(jìn)行進(jìn)一步詳細(xì)的說明,其中:
[0015] 圖1是根據(jù)本發(fā)明的一個(gè)實(shí)施例的連續(xù)功能圖CFC編程的方法示意圖;
[0016] 圖2是根據(jù)本發(fā)明的一個(gè)實(shí)施例的CFC編程中周期任務(wù)的示意圖;
[0017] 圖3是根據(jù)本發(fā)明的一個(gè)實(shí)施例的CFC編程中創(chuàng)建周期任務(wù)的示意圖;
[0018] 圖4a是根據(jù)本發(fā)明的一個(gè)實(shí)施例的用于連續(xù)功能圖編程的修改功能塊輸出連接 器初始值方法;
[0019] 圖4b是根據(jù)本發(fā)明的一個(gè)實(shí)施例的多輸出變量的實(shí)現(xiàn)方法的示意圖;
[0020] 圖5a是根據(jù)本發(fā)明的一個(gè)實(shí)施例在CFC編程中設(shè)置物理量M的流程圖;
[0021] 圖化是根據(jù)本發(fā)明的一個(gè)實(shí)施例在CFC編程中對(duì)物理量M進(jìn)行觀測(cè)時(shí)的流程圖;
[0022] 圖6是根據(jù)本發(fā)明的一個(gè)實(shí)施例的連續(xù)功能圖文件比較的差異處理流程圖擬及
[0023] 圖7是根據(jù)本發(fā)明的一個(gè)實(shí)施例的連續(xù)功能圖文件差異的圖形化展示示意圖。
【具體實(shí)施方式】
[0024] 為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例 中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是 本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員 在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0025] 連續(xù)功能圖CFC包括多個(gè)功能塊。每個(gè)功能塊能夠?qū)崿F(xiàn)一個(gè)簡(jiǎn)單的邏輯功能。通 過將不同的功能塊的輸入連接器和輸出連接器進(jìn)行連接,連續(xù)功能圖CFC編程可W實(shí)現(xiàn)復(fù) 雜的邏輯功能控制。
[0026] 具體而言,連續(xù)功能圖CFC的編程界面為圖形界面。在該圖形界面中包含了若干 個(gè)圖表(化art)。用戶在圖表化art中W圖形的方式插入已經(jīng)編制好的塊,指定該些塊之間 的連接關(guān)系,或者為該些塊分配輸入/輸出地址。在該種通過鼠標(biāo)點(diǎn)擊托拽的方式完成項(xiàng) 目編寫后,用戶即可進(jìn)行編譯。接下來,CFC程序?qū)⒈徽w編譯,編譯的結(jié)果WS化代碼的 形式出現(xiàn),最終將生成S化代碼。用戶將該些代碼下載到化C中即可執(zhí)行。
[0027] 在連續(xù)功能圖CFC編程中,對(duì)于不同調(diào)度時(shí)間的功能塊,將其分配在不同的周期 調(diào)度任務(wù)中,每個(gè)周期調(diào)度任務(wù)設(shè)置為固定的調(diào)度周期,實(shí)現(xiàn)功能塊的多周期調(diào)度任務(wù)控 審IJ。在同一張功能圖中,相同調(diào)度周期的功能塊被分配固定的執(zhí)行順序。在多張連續(xù)功能 圖中,相同調(diào)度周期的功能塊按照連續(xù)功能圖的順序進(jìn)行執(zhí)行。
[002引在現(xiàn)有的連續(xù)功能圖CFC編程中,功能塊都是按照周期任務(wù)進(jìn)行調(diào)度的。該顯然 不夠靈活,因?yàn)槟承?yīng)用中部分功能塊只需要在周期任務(wù)調(diào)度之前被執(zhí)行一次,并不要進(jìn) 行周期調(diào)度。
[0029] 為了實(shí)現(xiàn)單次調(diào)度,并保證不同連續(xù)功能圖之間的相互配合,根據(jù)本發(fā)明的一個(gè) 實(shí)施例,提出了一種帶多級(jí)預(yù)置類任務(wù)的連續(xù)功能圖。舉例而言,對(duì)于兩級(jí)預(yù)置任務(wù)的功能 圖,在開始執(zhí)行周期任務(wù)之前,先執(zhí)行兩級(jí)預(yù)置類任務(wù),從而使得連續(xù)功能圖CFC編程更具 有靈活性。
[0030] 圖1是根據(jù)本發(fā)明的一個(gè)實(shí)施例的連續(xù)功能圖CFC編程的方法示意圖。如圖1所 述,方法100包括;在程序開始101后,在步驟102,執(zhí)行連續(xù)功能圖1中的預(yù)置值類任務(wù)1 功能塊,然后在步驟103依次執(zhí)行連續(xù)功能圖2中的預(yù)置值類任務(wù)1的功能塊、……、^此 類推,直到步驟104,執(zhí)行連續(xù)功能圖化-1)中的預(yù)置值類任務(wù)1的功能塊W及在步驟105 執(zhí)行連續(xù)功能圖k中的預(yù)置值類任務(wù)1的功能塊,其中k是連續(xù)功能圖的數(shù)量。在預(yù)置值 類任務(wù)1全部執(zhí)行完之后,在步驟106,執(zhí)行連續(xù)功能圖1中的預(yù)置值類任務(wù)2功能塊、在步 驟107執(zhí)行連續(xù)功能圖2中的預(yù)置值類任務(wù)2功能塊、……、W此類推,直到步驟108執(zhí)行 連續(xù)功能圖化-1)中的預(yù)置值類任務(wù)2的功能塊W及步驟109連續(xù)功能圖k中的預(yù)置值類 任務(wù)2的功能塊,其中k為連續(xù)功能圖工程中連續(xù)功能圖的數(shù)量。預(yù)置值類任務(wù)2全部執(zhí) 行完之后,在步驟110開始執(zhí)行周期類任務(wù)。
[0031] 本發(fā)明W上的實(shí)例提出了一種帶兩級(jí)預(yù)置類任務(wù)的連續(xù)功能圖編程方法。在周期 任務(wù)開始執(zhí)行之前,執(zhí)行兩級(jí)預(yù)置類任務(wù),可W大大節(jié)省目標(biāo)控制器的硬件資源,并且極大 地提高連續(xù)功能圖編程的靈活性。
[0032] 根據(jù)本發(fā)明的另一個(gè)實(shí)施例,對(duì)于周期任務(wù)而言,本發(fā)明的連續(xù)功能圖編程可變 數(shù)量的周期任務(wù)?,F(xiàn)有的支持連續(xù)功能圖編程的產(chǎn)品都將周期任務(wù)數(shù)量都是固定的,一般 在5個(gè)W內(nèi)。然而,該種對(duì)于周期任務(wù)的限制極大地制約了軟件開發(fā)的靈活性,而太多的周 期任務(wù)數(shù)又會(huì)浪費(fèi)系統(tǒng)資源。
[0033] 在本發(fā)明的一個(gè)實(shí)例中,連續(xù)功能圖編程中的周期性任務(wù)的數(shù)量是可變的,而且 是有優(yōu)先級(jí)的。局優(yōu)先級(jí)任務(wù)可W占先執(zhí)行,即可W打斷低優(yōu)先級(jí)任務(wù)而先執(zhí)行。通常,調(diào) 度周期越短的任務(wù)優(yōu)先級(jí)越高。
[0034] 圖2是根據(jù)本發(fā)明的一個(gè)實(shí)施例的CFC編程中周期任務(wù)的示意圖。如圖2所示,對(duì) 于每一個(gè)功能模塊FB (化nction Block)而言,其包括W下幾個(gè)參數(shù);實(shí)例名、類型FBTYPE、 輸入IN和輸出OUT。多個(gè)FB的輸入IN和輸出OUT相互連接形成周期任務(wù)。例如,在圖2 中連續(xù)功能圖中共有8個(gè)獨(dú)立的FB串,每個(gè)FB串代表一個(gè)周期任務(wù),因此,圖2的實(shí)例中 周期任務(wù)數(shù)為8個(gè)。
[0035] 進(jìn)一步地,每個(gè)周期任務(wù)可W包括不同數(shù)量的FB。例如,在第一個(gè)周期任務(wù)中包 括n個(gè)FB,分別為FBl-FBn ;第二個(gè)周期任務(wù)中包括3個(gè)FB,分別為FBA-FBC。其中,每個(gè) FB具有一個(gè)執(zhí)行順序編號(hào),其為正整數(shù),代表在該FB在該周期任務(wù)中的執(zhí)行順序。其中,每 個(gè)FB還具有一個(gè)任務(wù)類型,其代表了其所在的周期任務(wù)的編號(hào)。在本發(fā)明的實(shí)例中,W上 的各個(gè)參數(shù)和編號(hào)可W靈活設(shè)置,W根據(jù)實(shí)際需求,獲得CFC編程的靈活性。在圖2的實(shí)例 中,在連續(xù)功能圖編輯器中可為每個(gè)功能塊指定任務(wù)類型(T1-T8)和執(zhí)行順序編號(hào)。例如 圖中1功能塊FBUFB2……FBn隸屬于T1任務(wù),它們的執(zhí)行順序編號(hào)依次為1、2……n。其 他T2-T8任務(wù)與T1任務(wù)類似。
[0036] 圖3是根據(jù)本發(fā)明的一個(gè)實(shí)施例的CFC編程中創(chuàng)建周期任務(wù)的示意圖。首先,在 步驟301中,在建立連續(xù)功能圖CFC工程時(shí),確定周期任務(wù)的數(shù)量,并且確定任務(wù)類型。W 圖2所示的實(shí)施例為例,即創(chuàng)建T1-T8的8個(gè)任務(wù)類型。
[0037] 接下來,在步驟302中,為T1-T8任務(wù)指定調(diào)度周期。在步驟303中,在使用連續(xù)功 能圖編程時(shí),為每個(gè)功能塊FB指定T1-T8中的一個(gè)任務(wù)類型和執(zhí)行順序編號(hào)。在步驟304 中,在編譯連續(xù)功能圖程序時(shí),按照任務(wù)類別生成T1-T8任務(wù)函數(shù),每個(gè)任務(wù)函數(shù)中按執(zhí)行 順序編號(hào)放置功能塊代碼。
[003引 W下是圖2的實(shí)施例的程序?qū)嵗瑑H用W說明本發(fā)明的技術(shù)方案。
[0039]
【權(quán)利要求】
1. 一種連續(xù)功能圖編程方法,包括: 在建立連續(xù)功能圖CFC工程時(shí),確定周期性任務(wù); 確定所述周期性任務(wù)中的物理量; 在所述周期性任務(wù)中定義物理量類型的變量以反映所述物理量;以及 為所述周期性任務(wù)指定調(diào)度周期。
2. 根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括:確定所述物理量類型的變量的基值、單位 和物理量初始值。
3. 根據(jù)權(quán)利要求2所述的方法,進(jìn)一步包括:確定所述物理量類型的變量的定標(biāo)值。
4. 根據(jù)權(quán)利要求3所述的方法,進(jìn)一步包括:所述定標(biāo)值反映所述物理量類型的變量 對(duì)應(yīng)的二進(jìn)制數(shù)據(jù)的長(zhǎng)度。
5. 根據(jù)權(quán)利要求4所述的方法,進(jìn)一步包括:采用如下公式將所述物理量類型的變量 的物理量值轉(zhuǎn)換為二進(jìn)制數(shù)據(jù): 二進(jìn)制數(shù)據(jù)=物理量值/基值X2SS?。
6. 根據(jù)權(quán)利要求5所述的方法,進(jìn)一步包括:計(jì)算所述物理量類型的變量的物理量值 與二進(jìn)制數(shù)據(jù)之間的轉(zhuǎn)換系數(shù)/基值。
7. 根據(jù)權(quán)利要求6所述的方法,在上位機(jī)上輸入物理量類型的變量的基值和單位及計(jì) 算所述轉(zhuǎn)換系數(shù)。
8. 根據(jù)權(quán)利要求4所述的方法,進(jìn)一步包括:在上位機(jī)上觀測(cè)所述物理量類型的變量 的物理量值。
9. 根據(jù)權(quán)利要求8所述的方法,進(jìn)一步包括:將所述物理量類型的變量的二進(jìn)制數(shù)據(jù) 從目標(biāo)機(jī)上傳到所述上位機(jī)。
10. 根據(jù)權(quán)利要求9所述的方法,進(jìn)一步包括:采用如下公式將所述二進(jìn)制數(shù)據(jù)轉(zhuǎn)換為 所述物理量類型的變量的物理量值: 物理量值=二進(jìn)制數(shù)據(jù)/2SS? X基值。
【文檔編號(hào)】G06F9/45GK104503818SQ201410852978
【公開日】2015年4月8日 申請(qǐng)日期:2014年12月31日 優(yōu)先權(quán)日:2014年12月31日
【發(fā)明者】鄭雪洋, 夏菲, 高吉磊, 謝冰若, 馬馳, 殷振環(huán), 馬志文, 李偉 申請(qǐng)人:北京縱橫機(jī)電技術(shù)開發(fā)公司, 中國(guó)鐵道科學(xué)研究院機(jī)車車輛研究所