一種連續(xù)功能圖文件的比較方法
【技術領域】
[0001] 本發(fā)明涉及一種工業(yè)控制編程方法,特別地涉及連續(xù)功能圖文件的比較方法。
【背景技術】
[0002] 連續(xù)功能圖(CFC-ContinuousFunctionChart)是一種圖形化編程語言。連續(xù) 功能圖編程具有以下特點:(1)通過繪制功能圖表來自動生成程序;(2)擁有強大的預制程 序庫;(3)通過簡單的連線來降低開發(fā)成本并減少錯誤。連續(xù)功能圖不僅僅具有可編程邏 輯控制器PLC(ProgrammableLogicController)典型的元素,例如:輸入/輸出、定時器、 計數(shù)器、符號表等,而且具有圖形化編程語言語言的特性,其非常適合于過程控制和系統(tǒng)工 程。CFC源于IEC61131-3標準規(guī)定,是五種編程語言之一的功能塊圖(FunctionBlock Diagram)。連續(xù)功能圖與功能塊圖的主要特點在于其展示出了其隸屬的資源與任務。雖然 連續(xù)功能圖并沒有相關國際標準,但在工業(yè)控制領域被廣泛使用。
[0003] 然而,連續(xù)功能圖CFC編程不夠靈活,無法滿足用戶在工業(yè)控制方面的實際需要, 因此,非常有必要提供一種更為靈活的連續(xù)功能圖CFC編程方法。
【發(fā)明內容】
[0004] 針對以上技術問題,本申請?zhí)岢隽艘环N連續(xù)功能圖文件的比較方法,包括:提取第 一連續(xù)功能圖文件中所有的程序頁、功能塊、信號、注釋塊、連接信息,組織成易于快速搜索 的、已排序的內部數(shù)據(jù)表;提取第二連續(xù)功能圖文件中所有的程序頁、功能塊、信號、注釋 塊、連接信息,組織成易于快速搜索的、已排序的內部數(shù)據(jù)表;遍歷第一和第二連續(xù)功能圖 文件的所述內部數(shù)據(jù)表,搜索第一和第二連續(xù)功能圖文件的所述內部數(shù)據(jù)表的差異;以及 輸出差異信息表。
[0005] 如上所述的方法,其中第一或第二連續(xù)功能圖文件的所述內部數(shù)據(jù)表中包括多個 對象,每個對象都帶有特征字符串,其中功能塊與注釋塊的特征字符串為塊名,信號的特征 字符串為信號名,連接的特征字符串為連接起點對象名加終點對象名。
[0006] 如上所述的方法,其中所述搜索包括在第一或第二連續(xù)功能圖文件的所述內部數(shù) 據(jù)表中搜索特征字符串相同的對象,并進一步比較其對象信息。
[0007] 如上所述的方法,其中如果特征字符串僅在第一或第二連續(xù)功能圖文件的所述內 部數(shù)據(jù)表中存在的對象,直接判定所述對象為差異對象。
[0008] 如上所述的方法,所述第一或第二連續(xù)功能圖文件滿足以下條件:連續(xù)功能圖文 件中的功能塊名具有唯一性,即無重名的功能塊;連續(xù)功能圖中的信號名具有唯一性,即無 重名的信號;以及連續(xù)功能圖中每個任務里的功能塊執(zhí)行順序號具有唯一性,即在同一個 任務中無序號相同的兩個功能塊。
[0009] 如上所述的方法,其中對于第一或第二連續(xù)功能圖文件的所述內部數(shù)據(jù)表中每個 對象,記錄該對象所在頁碼與坐標信息。
[0010] 如上所述的方法,其中所述差異信息表包括差異索引,其用于定位差異的頁碼和 坐標。
[0011] 如上所述的方法,其中所述差異索引是所述差異的編號。
[0012] 如上所述的方法,其中如果所述差異為不存在對應的對象,則差異索引定義為-1。
[0013] 如上所述的方法,進一步包括:根據(jù)所述差異索引確定需要向用戶顯示的內容,并 突出顯示該差異對應的對象。
【附圖說明】
[0014] 下面,將結合附圖對本發(fā)明的優(yōu)選實施方式進行進一步詳細的說明,其中:
[0015] 圖1是根據(jù)本發(fā)明的一個實施例的連續(xù)功能圖CFC編程的方法示意圖;
[0016] 圖2是根據(jù)本發(fā)明的一個實施例的CFC編程中周期任務的示意圖;
[0017] 圖3是根據(jù)本發(fā)明的一個實施例的CFC編程中創(chuàng)建周期任務的示意圖;
[0018] 圖4a是根據(jù)本發(fā)明的一個實施例的用于連續(xù)功能圖編程的修改功能塊輸出連接 器初始值方法;
[0019] 圖4b是根據(jù)本發(fā)明的一個實施例的多輸出變量的實現(xiàn)方法的示意圖;
[0020] 圖5a是根據(jù)本發(fā)明的一個實施例在CFC編程中設置物理量M的流程圖;
[0021] 圖5b是根據(jù)本發(fā)明的一個實施例在CFC編程中對物理量M進行觀測時的流程圖;
[0022] 圖6是根據(jù)本發(fā)明的一個實施例的連續(xù)功能圖文件比較的差異處理流程圖;以及
[0023] 圖7是根據(jù)本發(fā)明的一個實施例的連續(xù)功能圖文件差異的圖形化展示示意圖。
【具體實施方式】
[0024] 為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例 中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是 本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員 在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0025] 連續(xù)功能圖CFC包括多個功能塊。每個功能塊能夠實現(xiàn)一個簡單的邏輯功能。通 過將不同的功能塊的輸入連接器和輸出連接器進行連接,連續(xù)功能圖CFC編程可以實現(xiàn)復 雜的邏輯功能控制。
[0026] 具體而言,連續(xù)功能圖CFC的編程界面為圖形界面。在該圖形界面中包含了若干 個圖表(Chart)。用戶在圖表Chart中以圖形的方式插入已經(jīng)編制好的塊,指定這些塊之間 的連接關系,或者為這些塊分配輸入/輸出地址。在這種通過鼠標點擊托拽的方式完成項 目編寫后,用戶即可進行編譯。接下來,CFC程序將被整體編譯,編譯的結果以SCL代碼的 形式出現(xiàn),最終將生成STL代碼。用戶將這些代碼下載到PLC中即可執(zhí)行。
[0027] 在連續(xù)功能圖CFC編程中,對于不同調度時間的功能塊,將其分配在不同的周期 調度任務中,每個周期調度任務設置為固定的調度周期,實現(xiàn)功能塊的多周期調度任務控 制。在同一張功能圖中,相同調度周期的功能塊被分配固定的執(zhí)行順序。在多張連續(xù)功能 圖中,相同調度周期的功能塊按照連續(xù)功能圖的順序進行執(zhí)行。
[0028] 在現(xiàn)有的連續(xù)功能圖CFC編程中,功能塊都是按照周期任務進行調度的。這顯然 不夠靈活,因為某些應用中部分功能塊只需要在周期任務調度之前被執(zhí)行一次,并不要進 行周期調度。
[0029] 為了實現(xiàn)單次調度,并保證不同連續(xù)功能圖之間的相互配合,根據(jù)本發(fā)明的一個 實施例,提出了一種帶多級預置類任務的連續(xù)功能圖。舉例而言,對于兩級預置任務的功能 圖,在開始執(zhí)行周期任務之前,先執(zhí)行兩級預置類任務,從而使得連續(xù)功能圖CFC編程更具 有靈活性。
[0030] 圖1是根據(jù)本發(fā)明的一個實施例的連續(xù)功能圖CFC編程的方法示意圖。如圖1所 述,方法100包括:在