TWI464558B - 程式作成支援裝置 - Google Patents
程式作成支援裝置 Download PDFInfo
- Publication number
- TWI464558B TWI464558B TW099137909A TW99137909A TWI464558B TW I464558 B TWI464558 B TW I464558B TW 099137909 A TW099137909 A TW 099137909A TW 99137909 A TW99137909 A TW 99137909A TW I464558 B TWI464558 B TW I464558B
- Authority
- TW
- Taiwan
- Prior art keywords
- program
- component
- parameter
- code
- reuse
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0426—Programming the control sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
- Stored Programmes (AREA)
Description
本發明係有關程式(program)作成支援裝置,尤其關於在產業用控制器(controller)和微電腦(microcomputer)上執行的計測監視控制程式之作成支援裝置。
以往,為了各種設備之計測監視控制之目的而使用:可程式控制器(Programmable Controller;PC)、運動控制器(Motion Controller;MC)、數值控制裝置控制器(Numerical Controller;NC)、檢查裝置控制器、顯示器(Graphic Operation Terminal;GOT)等產業用控制器。就在產業用控制器執行的計測監視控制程式中所使用的語言而言,可列舉:以階梯(ladder)為代表例的以IEC61131-3規格為準的語言或控制器專用的語言。另外,就使用微電腦取代產業用控制器時的計測監視控制程式之語言而言,可列舉:C語言或組合(assembly)語言。
以下,係例舉可程式控制器(以下簡稱「PC」)為代表而進行說明。PC係執行計測監視控制程式(以下簡稱「程式」)而掌握計測監視控制對象的狀態或指示動作。程式係使用預定之程式作成支援裝置(例如階梯作成支援裝置)而作成,其主要係使用變數、元件(device)、數值而記述。
在此所謂元件係指將PC及與其連接的計測監視控制對象間之輸出輸入分配於PC之記憶體位址(memory address)者以及PC內部使用的記憶體位址。例如,對應於下述非專利文獻1的程式作成支援裝置(階梯作成支援裝置)的PC係以分配輸入者為X元件,分配輸出者為Y元件,內部使用的位元資料(bit data)(內部繼電器接點(relay))為M元件,內部使用的字元資料(word data)(暫存器(register))為D元件或R元件等的方式預先視資料種類別而決定元件文字。各元件之位址係於X元件和Y元件以16進位表現,於M元件、D元件、R元件則以10進位表現。
變數係指示元件者。於對應於非專利文獻1之程式作成支援裝置的PC中,前述變數被稱為「標籤」(label),係於編譯(compile)時分配於特定元件。標籤對於元件的分配有程式作成者直接指定的情形,也有於編譯時自動分配的情形。可使用作為標籤的文字係元件文字等預先決定的文字以外的文字。當使用標籤記述程式時可以不變更程式本身的記述而變更程式內的分配於標籤的元件。
於階梯程式中記述數值時,係於各數值之前頭附加10進位表現之記號K或16進位表現之記號H。例如「K25」係表示10進位表現之數值「25」。
一般而言程式作成支援裝置係作為在個人電腦(Personal Computer,以下簡稱「個人電腦」)動作的軟體工具(software tool)而提供,其不僅具有支援PC進行設備之計測、監視、控制用的程式之編輯的功能,還具有將PC連接於個人電腦,將在個人電腦編輯的程式(或將其編譯而獲得的執行碼(code))轉送至PC,或監視(monitor)設備之狀態和因程式之執行而變化的變數值以及元件值的功能。
又,亦有搭載程式作成支援裝置所提供的程式編輯功能和監視功能的顯示器(GOT)。藉此,可從與PC為恆時處於連接狀態的GOT上進行程式之編輯和狀態之監視。
為計測監視控制對象的設備之規格及程式雖係藉由使用於電腦上動作的軟體工具予以記述而電子資料(data)化,但由於規格和程式之間並無電子資料之相互關係,故計測監視控制程式係根據規格而使用程式作成支援裝置而由人工作成。因此,為了作成恰好符合規格所記述之功能且正確動作的程式需要莫大的勞力,近年來,亦有可將常利用的程式零件化為程式模組(Program Organization Unit;POU),將符合於設備規格的POU再利用且由複數個POU構成程式的程式作成支援裝置。若程式語言為階梯則POU係相當於次常式(subroutine)或功能方塊(Fuction Block;FB),若為結構化文字(Structured Text;ST)或C語言則POU係相當於次常式或函數。
另外,亦有程式作成支援裝置具有可預先將由複數個程式零件所構成的任意程式範型(program pattern)附加名稱(巨集(macro)名)而登錄,於程式作成時將其叫出而再利用(巨集流用)的巨集功能。藉由使用可如上所述地再利用程式零件的程式作成支援裝置即可減輕程式作成之勞力。
(非專利文獻1):「GX Developer Version 8作業手冊(operating manual)」三菱電機股份有限公司,手冊編號SH-080356
如上所述,程式的作成係在作成者亦即人類在理解計測監視控制對象之規格記述的前提下藉由手工作業而進行。近年來的程式作成支援裝置雖可藉由再利用程式零件而某種程度上減輕程式之作成勞力,但為了作成與規格相符的程式需選定何程式零件且將其如何組合的判斷係困難,更且有希望能減輕該勞力的需求。
本發明之目的係於計測監視控制程式之作成中減輕為了作成符合於計測監視控制對象之使用的程式而進行的程式零件之選定及組合的勞力而謀求程式作成效率之提昇。
本發明之程式作成支援裝置係具有:程式零件,其至少含有一個程式要件,藉由讓使用者設定對應於各程式要件的再利用參數之內容而生成對應於該設定內容的程式;程式零件保持部,保持有前述程式零件;以及程式編輯部,將前述程式零件再利用而編輯程式;前述程式零件係含有:藉由於再利用參數列舉而設定複數個參數,而生成結合有對應於各參數的複數個要件之程式的程式要件。
依據本發明,可以更直接地符合設備之計測監視控制的規格的方式定義程式零件,而可減輕為了以符合規格的方式作成程式的關於程式零件之選定及該等程式零件之組合的設計勞力,而大幅減輕作成恰好符合於規格所記述之功能且無瑕疵地動作的程式所需之勞力。
於第1實施形態中,作為定義程式零件而再利用的計測監視控制程式之作成方法之一例而說明階梯程式之作成方法。
第1圖為示有第1實施形態之程式作成支援裝置的硬體構成的圖。程式作成支援裝置1係由:微處理器(microprocessor)2、顯示部3、輸入部4、保存部5所構成。為計測監視控制對象的設備之規格記述及計測監視控制程式(以下簡稱「程式」)係作為檔案而保持於保存部5。顯示部3可以顯示程式作成支援裝置1之各種資訊。例如當使用者使用輸入部4而將設備規格輸入程式作成支援裝置1時,其輸入項目係顯示於顯示部3。另外,後述的各種操作畫面係顯示於該顯示部3。微處理器2係根據使用者所輸入而保存於保存部5的設備規格而執行程式之生成處理。
第2圖為示有程式作成支援裝置1之功能方塊構成(軟體方塊(software block)構成的圖。於第2圖所示的各功能方塊係藉由以微處理器2執行的軟體控制於第1圖所示的各硬體而實現。
程式作成支援裝置1係具有:程式編輯部6,根據使用者之操作(程式編輯)而進行程式之編輯;程式零件定義部12,根據使用者之操作(程式零件定義輸入)而定義可再利用的程式零件10;以及程式零件保持部11,儲存由程式零件定義部12所定義的程式零件10。本發明中,程式零件10係包含有於再利用之際所設定的再利用參數14,程式零件10係可對應該設定內容而採取種種形態(詳細將於後述)。
本實施形態之程式編輯部6係除了輸出編輯後的程式8之外,亦可對應需要而輸出與其有關連的附屬資訊檔案9(例如說明元件內容的註解(comment)等)。
又,於第2圖中雖將程式零件定義部12表示為內建於程式作成支援裝置1的構成,但程式零件定義部12亦可規定為與程式作成支援裝置1不同的裝置。
以下,說明本實施形態之程式作成支援裝置1的動作以及使用程式作成支援裝置1的程式作成方法。在此示有程式作成支援裝置1生成階梯程式之例。
第3圖為使用者使用程式零件定義部12定義程式零件10之際的操作畫面顯示(程式零件定義畫面)之一例。在此係示有定義於階梯程式中常使用的自己保持處理之程式零件時之例。
於第3圖所示的程式零件定義畫面(階梯零件定義畫面)係從上依序構成為配設有:圖示(icon)顯示領域,顯示有使用於階梯程式之作成的圖示;程式編輯領域,操作前述圖示而編輯程式零件之階梯線圖(diagram)用;參數定義領域,用以定義程式零件之再利用參數;以及程式零件名輸入領域,用以輸入所作成的程式零件之名稱。
於圖示顯示領域係除了稱為接點(a接點「-| |-」及b接點「-|/|-」)、命令(「-[ ]-」)、線圈(「-( )-」)的一般程式要件之圖示外,尚設有於前述圖示附加「*」或「+」之記號的圖示。附加「*」或「+」記號的圖示係對應於由1個以上之程式要件構成的集合(collection),附加「*」的圖示係如第4圖所示地對應於程式要件為AND結合的繼電器接點(relay)列,附加「+」的圖示係如第5圖所示地係對應於程式要件為OR結合的繼電器接點列。又,於階梯線圖中,由於線圈(coil)不會AND結合,故沒有附加「*」的線圈之圖示。
程式編輯領域為可操作上述各種圖示而編輯階梯線圖的領域,其為與以往之階梯程式作成支援裝置所具有的程式編輯畫面(階梯編輯畫面)為相同的構成即可。
參數定義領域係為定義再利用程式零件之際所應設定的再利用參數用的領域,於進行程式零件之作成(定義)之際係由使用者輸入預定之事項。
第6圖為表示本實施形態之程式零件之作成程序的流程圖。根據該圖說明程式零件之作成程序。在此係如第3圖所示地以作成自己保持處理之程式零件的情形為例。
首先,賦予於程式零件之各要件的再利用參數係被定義為於該程式零件之記述中所使用的零件變數(S11)。此乃藉由使用者於程式零件定義畫面之參數定義領域設定再利用參數而進行。於第3圖之例中,係定義零件變數VB1作為No.1之再利用參數,定義零件變數VB2作為No.2之再利用參數,定義零件變數VB3作為No.3之再利用參數。
又,亦可準備程式註解和跳越用標籤(程式指標(program pointer))作為程式零件之再利用參數。亦可將該等規定為各程式零件必定具有的再利用參數。
於作為再利用參數的程式註解中係設定將程式零件再利用而生成程式之際關於所生成的程式之註解的文字列。就其用途而言,可列舉:例如於所生成的程式之前端記述於前端記有「開始」之文字列的程式註解,於同程式之結尾則記述於前端記有「終了」之文字列的程式註解等,表示其間之程式內容等。於階梯程式中程式註解亦被當作陳述(statement)來處理,當設定「主軸正轉」作為程式註解時時,於所生成的程式中將如第7圖和第8圖地記述註解。第7圖為階梯線圖形式的程式,第8圖為指令清單(instruction list)形式的程式。
又,於程式零件即使定義有程式註解的再利用參數,若不需要則不設定文字列亦可。此時則生成不具有程式註解的程式。
於作為再利用參數的跳越用標籤(程式指標)中係設定有當對於藉由該程式零件之再利用而生成的程式進行來自其他程式之跳越(call)處理時表示該程式之位置的標籤。在階梯程式之情形中,程式指標係被當作元件的一種而予以處理。當設置「P3」作為程式指標時,於所生成的程式中係如第7圖(階梯線圖形式)或第8圖(指令清單形式)地記述有程式指標。另外,亦可在具有程式指標的程式之最後附加回到跳越起始點用的回歸(RET)命令。
又,即使於程式零件設定有跳越用標籤的再利用參數,但若不需要則不做任何設定亦可。此時,則生成不具有跳越用標籤的程式(於階梯程式中係生成沒有程式指標和RET命令的程式)。
其次,於程式編輯領域記述程式零件之構成(S12)。在此係進行階梯線圖之記述。前述記述係藉由使用者操作程式零件定義畫面的圖示而進行。
於通常的程式作成中,雖作為接點等各要件的參數而附加元件或變數(標籤),但對於程式零件的各要件附加元件或變數(標籤)作為參數,或附加有定義為再利用參數的零件變數。於附加有零件變數的要件中,於再利用程式零件時,使用者必須指定適用於其的元件或變數(標籤)。賦予有元件或變數(標籤)的要件係於再利用程式零件之際,原封不動地適用其元件或變數(標籤)。
附加有「*」或「+」的要件(集合)係藉由於再利用程式零件之際所設定的參數之數量而可指定包含於其中的接點之數量。於程式零件之作成階段中,對於集合不賦予元件或變數(標籤)地賦予1個零件變數。
由於自己保持處理之階梯程式所具有的自己保持用繼電器接點為1個,故於自己保持用繼電器接點使用通常的a接點和線圈。另一方面,保持指令條件(ON條件)繼電器接點和保持取消條件(OFF條件)繼電器接點係可考量種種構造。於第3圖之例中,係假想定義為可再利用於排他選擇處理和M碼功能處理之程式作成的自己保持處理之程式零件,使用AND結合1個以上接點的繼電器接點列(附加「*」的要件)作為ON條件繼電器接點及OFF條件繼電器接點。亦即,使用附加「*」的a接點作為ON條件繼電器接點列,使用附加「*」的b接點作為OFF條件繼電器接點列。
另外,於ON條件繼電器接點列中係賦予有定義為No.1之再利用參數的零件變數VB1,於OFF條件繼電器接點列中係賦予有定義為No.2之再利用參數的零件變數VB2,於自己保持用繼電器接點係賦予有定義為No.3之再利用參數的零件變數VB3。此雖可從程式零件定義畫面之程式編輯領域之顯示與參數定義領域之顯示間的對應而判斷,但使用者仍可以使其對應關係可一目了然的方式於參數定義領域之「說明文」欄位如第3圖地輸入用以說明再利用參數所分配之要件的註解(文字列)。
如第3圖所示,於參數定義領域中,被賦予於附有「*」之繼電器接點列的No.1以及No.2的再利用參數之「列舉」欄係顯示有「*」之記號。另外,雖於第3圖未顯示,但被賦予於附有「+」之繼電器接點列的再利用參數之「列舉」欄係顯示「+」之記號。藉此而明示該再利用參數係
被賦予於集合。又,由於自己保持用繼電器接點為1個,故No.3之再利用參數之「列舉」欄為空白。
於記述程式零件階梯線圖後,給予該程式零件名稱(S13)。此乃由使用者藉由於程式零件定義畫面之程式零件名輸入領域輸入文字列而進行。於第3圖之例中,係對所作成的程式零件給予「自己保持處理」的名稱。藉由以上步驟而完了程式零件之作成。
又,於上述說明中係先進行再利用參數之定義(S11),之後用其記述程式零件之程式(階梯線圖)(S12)的程序,但其順序亦可相反。
亦即,亦可如第9圖之流程圖所示,依循先使用未定義之變數記述程式零件之程式(階梯線圖)(S21),之後,從所記述的程式抽出未定義之變數(S22),將所抽出的未定義變數定義為再利用參數(零件變數)(S23),再賦予程式零件名稱(S24)的程序。未定義變數之抽出以及作為再利用參數(零件變數)的附加定義亦可由使用者於參數定義領域輸入預定事項而進行,亦可由程式零件定義部12檢索未定義的變數而進行。只要與再利用參數和所記述之程式中所使用的程式變數間之對應沒有矛盾,則其方法可任意決定。
其次,說明於程式作成支援裝置1自動生成程式的程序。第10圖係表示於程式作成支援裝置1再利用程式零件而自動生成程式時之操作畫面顯示(程式零件再利用畫面)之一例。於第10圖中,係示有將如第3圖所定義的自己保持處理程式零件再利用的案例(case)。
該程式零件再利用畫面係具有:程式零件名顯示領
域,顯示有再利用程式零件名稱;以及參數適用領域,用以輸入適用於再利用參數的元件或變數(標籤)等參數。又,於程式零件再利用畫面,亦可如第32圖所示地設有顯示所選擇之程式零件構造及賦予於其各要件之再利用參數編號(No.)的程式顯示領域。此時使用者可易於掌握所欲再利用的程式零件以及各要件與再利用參數間之對應關係。
程式零件名顯示領域不僅顯示所再利用的程式零件之名稱,亦具有作為從已定義完畢之複數個程式零件中選擇欲再利用者的選擇選單(menu)之功能。
程式零件再利用畫面中,於顯示於參數適用領域的再利用參數之「No.」、「列舉」、「說明文」之欄中係顯示有於第3圖之程式零件定義畫面的參數定義領域所定義的內容。
使用者係於參數適用領域中輸入適用於再例用參數的參數。此時於「列舉」欄顯示有「*」或「+」的再利用參數係可列舉2個以上參數而輸入。另外,於作為再利用參數的程式註解可輸入對於所生成的程式之註解(文字列)。
於第10圖之例中,係示有於程式註解適用「主軸正轉」,於跳越用標籤適用「P3」,於No.1之再利用參數(VB1)適用「M3」,於No.2之再利用參數(VB2)適用「M4,M19」,於No.3之再利用參數(VB3)適用「Y1898」的例子。
此時,程式作成支援裝置1係生成將於第3圖所示之階梯線圖中的ON條件繼電器接點列VB1置換為1個a接點
M3,將OFF條件繼電器接點列VB2置換為AND結合的2個b接點M4,M19,將自己保持用繼電器接點VB3置換為繼電器接點VB3,且附加程式指標P3、回歸命令(RET)、程式註解「開始主軸正轉」以及「終了主軸正轉」而得的階梯線圖,亦即生成如第7圖所示的階梯線圖。或者,亦可將其生成為以指令清單形式記述的如第8圖所示之程式(第7圖之階梯線圖與第8圖之指令清單為等效)。
對於程式作成支援裝置1所進行的再利用程式零件的程式之生成方法進行說明。第11圖為該生成方法之流程圖。在此係舉生成如第7圖所示之階梯程式的情形為例。
如第10圖所示,若由使用者於程式零件再利用畫面輸入需要的資訊而命令程式生成,則程式作成支援裝置1係首先調查是否有於再利用參數之程式註解設定文字列(S31)。若有於程式註解設定文字列,則於其前端輸出附加有「開始」的程式註解(S32)。於第10圖之情形中,由於在程式註解設定有為「主軸正轉」之文字列,故輸出於其附加有「開始」的「開始主軸正轉」作為程式註解。
接著,調查是否有設定任何標籤作為跳越用標籤(程式指標)之再利用參數(S33),若有設定,則輸出與其相對應的跳越用標籤。於第10圖之情形中,由於有設定有標籤P3,故輸出「P3」作為跳越用標籤。
其次,依據程式零件之程式構造順序將構成程式的要件抽出(S35),且對於抽出要件之各者分別進行以下處理。
首先,確認於所抽出的要件是否定義有再利用參數(S36),若設定有再利用參數,則調查該要件是否為附加有「*」者(AND列)(S37),若為AND列,則將適用列舉於第10圖之參數適用領域的參數之要件予以AND結合而輸出。
另一方面,若為設定有再利用參數的該要件為附加有「+」者(OR列)(S39),則將適用列舉於再利用參數的參數之要件予以OR結合而輸出(S40)。
若於設定有再利用參數的該要件並未附加有「*」或「+」,則將適用了設定於再利用參數的參數之要件輸出(S41)。
另外,當於該要件為未設定再利用參數,亦即附加有不是零件變數而是元件或變數(標籤)時,則將該元件或變數(標籤)原封不動地輸出(S42)
以上的工程係對於再利用的程式零件之所有要件進行(S43)。例如,於第3圖所定義的程式零件中的第1個要件係a接點的AND列「-||-*」,於此定義有No. 1之再利用參數VB1。於第10圖之例中,於No. 1之再利用參數僅設定有M3,此時係輸出1個a接點M3(S38)。
第2個要件係OR結合於第1個要件(VB1),定義有No. 3之再利用參數VB3,且未附加有「*」或「+」的a接點。由於在No. 3之再利用參數設定有Y1898,故於OR結合於先輸出的a接點M3的位置係輸出a接點Y1898(S41)。
第3個要件係AND結合於第1個要件(VB1)以及第2個要件(VB3),且定義有No. 2之再利用參數VB2的b接點之AND列(-|/|-*)。由於在No. 2之再利用參數係列舉有M4,M19,故在與先輸出的a接點M3,Y1898 AND結合的位置係輸出將b接點M4,M19 AND結合的要件(S38)。
最後(第4個)要件係AND結合於第3個要件(VB3),且定義有No.3之再利用參數VB3的線圈(-()-)。由於在No.3之再利用參數設定有Y1898,故於AND結合在先輸出的b接點M4,M19的位置輸出線圈Y1898(S41)。
當對於程式零件之所有要件皆完成以上步驟時(S43),則再確認一次於作為再利用參數的跳越用標籤(程式指標)是否設定有特定的標籤(S44),若有設定則輸出回到跳越之呼叫起始處的回歸命令(S45)。於第10圖之例中,OR結合於以上第1至4個要件的位置輸出回歸命令(-[RET]-)。
之後,再次確認於再利用參數之程式註解是否設定有文字列(S46),若設定有文字列,則輸出於其前端附加「終了」的程式註解(S47)。在第10圖之情形中,係於「主軸正轉」附加「終了」而輸出「終了主軸正轉」作為程式註解。
藉由以上步驟,自動地作成對於在程式零件定義畫面(第3圖)所定義的程式零件之再利用參數,適用於程式零件再利用畫面(第10圖)設定的參數而得的程式(第7圖之階梯線圖或第8圖之指令清單)。
在此說明第7圖階梯程式之動作。於初始狀態,元件M3、M4、M19、Y1898皆為OFF狀態。若為自己保持之保持指令條件(ON條件)繼電器接點的a接點M3成為ON,則a接點Y1898將ON。之後,即使a接點M3成為OFF,a接點
Y1898的ON也將保持。a接點Y1898的ON狀態係持續至為保持取消條件(OFF條件)繼電器接點的b接點M4,M19之任一者ON為止。若b接點M4,M19之任一者ON則a接點Y1898將恢復為OFF(亦即自己保持被取消)。
本實施形態之程式作成支援裝置1係藉由變更在程式零件再利用畫面所設定的再利用參數之內容,而可從1個程式零件中生成種種形態的程式。例如,當再利用如上所述地如第3圖所定義的自己保持處理程式零件時,只要於程式零件再利用畫面如第12圖所示地設定再利用參數之內容,則可生成第13圖所示的階梯程式。
對於第13圖所示的動作進行說明。於初始狀態中元件M19、XC18、M3、M4、Y189E皆為OFF狀態。若為ON條件繼電器接點的a接點M19、XC18兩者皆成為ON,則a接點Y189E將ON。之後,即使a接點M19、XC18成為OFF,a接點Y189E的ON仍將保持。a接點Y189E的ON狀態係持續至為OFF條件繼電器接點的b接點M3,M4之任一者ON為止。若b接點M3、M4之任一者ON則a接點Y189E將回復為OFF(亦即自己保持被取消)。
如上所述,程式作成支援裝置1係與所作成的程式8一起輸出與其相關連的附屬資訊檔案9。於附屬資訊檔案9係例如記述有對於在所生成的程式中再利用的元件或變數(標籤)(在程式零件中定義有再利用參數的元件或變數(標籤))說明其等內容的註解。
附屬資訊檔案可由使用者操作程式作成支援裝置1而
作成、或亦可自動生成。第14圖為示有記述有用以說明在所生成的程式中被再利用的元件或變數(標籤)之內容的註解的附屬資訊檔案的自動作成方法的流程圖。
根據第14圖,說明附屬資訊檔案之自動作成方法。程式作成支援裝置1若再利用程式零件而生成程式,則從其中依序抽出適用於再利用參數的參數(於第10圖之例中為「主軸正轉」,P3,M3,M4,M19,Y1898)(S51),並確認該參數是否為元件或變數(標籤)(S52)。若該參數為元件(M3,M4,M19,Y1898)或變數(標籤),則將該程式零件名與對應於該參數的「說明文」之文字列結合,將其輸出為該元件或變數(標籤)的註解(S53)。該等工程係重複至適用於再利用參數的全部參數皆被抽出為止(S54)。藉由以上步驟而自動生成附屬資訊檔案。
例如,當如第10圖所示地設定再利用參數時,程式作成支援裝置1係可與第7圖或第8圖之程式一起生成如第15圖之附屬資訊檔案。
本實施形態之程式零件之特徵係於再利用之際於再利用參數列舉複數個參數(元件或變數(標籤)、數值等)而適用,藉此,複數個要件係包含以預定形態(AND結合或OR結合)所生成的程式要件(繼電器接點列)。該程式零件係對應適用於再利用參數的參數之列舉數量而可採取種種形態。亦即,可從1個程式要件生成複數個形態的程式。且本實施形態之程式作成支援裝置1之特徵係具有可定義上述程式零件的程式零件定義部12。
於以往之程式作成支援裝置中,無法使用同一程式零件生成不同形態的程式例如第7圖之程式和第13圖之程式,但本發明可予以生成。藉此,程式零件可應用的範圍變廣,而可以更直接符合於為計測監視控制對象設備的規格記述的方式定義程式零件。
因此,可以減輕為了作成符合於規格記述的程式的關於程式零件之選定及與該等組合相關的設計勞力,而大幅減輕作成具有恰好符合記述於規格之功能的程式的勞力。另外,由於可自動生成再利用程式零件而生成的程式之附屬資訊檔案,故藉由該附屬資訊之存在而易於理解所生成的程式,而可減輕理解所生成之程式的勞力。
於第1實施形態中,係對於單獨即成立為程式(程式零件POU)之構造的程式零件進行說明。在此,示有使用單獨雖不成立為程式(程式零件POU),但可成立為程式零件之要件的程式零件(以下簡稱「程式要件零件」)的實施形態。
例如接點或命令、線圈係可成為無法更加分解的最基本的程式要件零件。接點、命令和線圈係可成為程式及程式零件之構成要件,並且亦為程式要件零件之構成要件。同樣地,程式要件零件除了可成為程式及程式零件之構成要件以外,亦可成為其他程式要件零件的構成要件。
以下係對於程式要件零件之定義方法和再利用方法進行說明。第16圖為示有第2實施形態之程式作成支援裝置1之功能方塊構成(軟體方塊構成)的圖。該程式作成支援裝置1係對於第1實施形態(第2圖)之構成復具有用以定義程式要件零件17的程式要件零件定義部15。被定義的程式要件零件17係保存於程式零件保持部11。程式要件零件17係具有於將其再利用之際所設定的再利用參數18。
又,第16圖雖示有程式零件定義部12及程式要件零件定義部15內建於程式作成支援裝置1的構成,但上述定義部亦可為外部裝置。
第17圖係示有使用者使用程式要件零件定義部15定義程式要件零件17時之操作畫面顯示(程式要件零件定義畫面)之一例。在此,係示有定義以階梯線圖形式記述的程式要件零件(AND條件處理程式要件零件)之情形的例子。
程式要件零件定義畫面(階梯要件零件定義畫面)具有類似於第3圖所示的程式零件定義畫面(階梯零件定義畫面)的構成。亦即,如第17圖所示,程式要件零件定義畫面係從上依序配設為如下構成:圖示顯示領域,顯示有使用於階梯線圖之作成的圖示;程式編輯領域,操作上述圖示而用以編輯程式要件零件之階梯線圖;參數定義領域,用以定義程式要件零件之再利用參數;以及程式要件零件名輸入領域,用以輸入所作成的程式要件零件之名稱。
於圖示顯示領域除了配置有於第3圖所示之程式零件定義畫面所具有的圖示之外,尚配置有程式要件零件(-□-)以及於其附加有「*」或「+」的圖示。「*」之記號係表示AND結合的程式要件零件之列,「+」之記號係表示OR結合的程式要件零件之列。
程式編輯領域為可操作上述各種圖示而編輯階梯線圖的領域,其為與以往之階梯程式作成支援裝置所具有的程式編輯畫面(階梯編輯畫面)為相同的構成即可。但由於僅有程式要件零件無法成立為程式,故與於第3圖所示之程式編輯領域不同,其並無左母線和右母線,而成為編輯構成階梯線圖的1個要件之內部構造的形態。
參數定義領域係用以定義再利用程式要件零件之際所應設定的再利用參數的領域,係由使用者輸入預定之事項。
程式要件零件之定義程序係與於第6圖或第9圖所示的程式零件之定義程序相同,故在此省略其說明。於第17圖係示有以由附加有「*」的a接點(a接點所AND結合的繼電器接點列)1個構成程式要件零件之例。另外,該a接點之繼電器接點列係附加有被定義為No.1之再利用參數的零件變數VB1,於該零件變數VB1係附加有為「AND條件繼電器接點列」的說明文。且對於該程式要件零件係給予「AND條件處理」的名稱。
又,於程式要件零件定義畫面中,若使用程式要件零件之圖示(「-□-」、「-□-+」、以及「-□-*」)構成含有其他程式要件零件的階梯線圖,則亦可定義再利用其他程式要件零件的程式要件零件。
第18圖為本實施形態之程式作成支援裝置1的程式零件定義畫面之例。於與第3圖所示者相同,其係構成為由上依序配設有:圖示顯示領域;程式編輯領域;參數定義領域;以及程式零件名輸入領域。
於圖示顯示領域係除了於第3圖所示之程式零件定義畫面所具有的圖示之外,尚具有程式要件零件(-□-)以及於其附加「*」或「+」的圖示。使用者係藉由操作該圖示而可作成再利用程式要件零件的程式零件。
參數定義領域係使用者於進行程式零件之作成時輸入預定事項的領域。其除了於第3圖所示之欄位外,尚設有當定義含有程式要件零件的程式零件時,用以特定該程式要件零件之種類的「要件零件種別」欄位。使用者於使用程式要件零件而定義程式零件時,係操作「要件零件種別」之欄位而從已定義完之程式要件零件中選擇而指定使用。
於第18圖的程式編輯領域中係定義有OR結合的程式要件零件之列(-□-+)與線圈(-()-)AND結合而構成的程式零件。且,於上述程式要件零件列賦予被定義為No.1再利用參數的零件變數VE1,且於參數定義領域中將零件變數VE1之程式要件零件種別指定為「AND條件處理」(亦即於第17圖所定義的程式要件零件)。另外,在此係由使用者而對其設定有為「OR條件(AND條件處理程式要件零件列)」的說明文。
於上述線圈並未賦予有被定義為再利用參數的零件變數,而是賦予意謂著M碼完了的輸出元件之YC1E。此時,再利用該程式零件時即恆常記述有元件YC1E。又,於程式零件所使用的程式要件零件並不被允許賦予元件或變數(標籤),而必定要賦予再利用參數之零件變數。
於第18圖係使用程式零件名輸入領域而對於該程式零件賦予「M碼完了處理」的名稱。
亦可對於用於程式零件之定義的程式要件零件列舉程式要件零件之種別而指定。此時,可定義於列舉的種別中再利用任何程式要件零件皆可的程式零件。
另外,也可對於用於程式零件之定義的程式要件零件(對其賦予的零件變數)不指定其程式要件零件之種別。此時,可定義程式要件零件之種別沒有限制,再利用任何程式要件零件皆可的程式零件。對於未指定程式要件零件之種別且賦予於程式要件零件的零件變數而言,再利用程式零件時,必須適用程式要件零件。另外,對於未指定程式要件零件之種別且賦予於接點、命令、或線圈之圖示的零件變數而言,再利用程式零件時,必須如第1實施形態地適用元件或變數(標籤)。
其次,說明於程式作成支援裝置1使用含有程式要件零件的程式零件自動生成程式的程序。第19圖係於程式作成支援裝置1再利用程式零件而自動生成程式時之操作畫面顯示(程式零件再利用畫面)之一例。於第19圖中,係示有再利用如第18圖所定義的M碼完了處理程式零件的案例。
第2實施形態之程式零件再利用畫面(第19圖)係為相對於第1實施形態之程式零件再利用畫面(第10圖)追加顯示有包含於程式零件的程式要件零件之種別的「要件零件種別」欄位、「列追加」、以及「列削除」按鈕。
於第18圖所示之M碼完了處理程式零件由於係含有種別為「AND條件處理」之程式要件零件,故於第19圖之例中於No. 1再利用參數的「種別」欄係顯示「AND條件處理」,而與其對應的說明文「OR條件(AND條件處理程式要件零件列)」則顯示於「說明文」。
又,於程式零件含有種別未指定之程式要件零件的情形或含有指定複數個種別的程式要件零件的情形中,係於程式零件再利用畫面(第19圖)中由使用者進行其種別的指定、選擇。
由於有於程式要件零件含有複數個再利用的要件的情形,故難以僅用如第19圖之畫面設定再利用參數。因此,當再利用的程式零件含有程式要件零件時,於程式零件再利用畫面中程式要件零件的「再利用參數」欄位係顯示有用以展開設定該程式要件零件之再利用參數的另一畫面的按鈕(以下稱「展開按鈕」)。使用者係藉由按下該展開按鈕而可開啟進行關於程式要件零件之再利用參數設定的畫面(程式要件零件再利用畫面)。
另外,當於程式零件係包含程式要件零件之集合,且其再利用參數適用複數個參數時,僅以1個程式要件零件再利用畫面係不易進行其設定。因此,當包含有程式要件零件之集合時,係如第19圖地於程式零件再利用畫面顯示有「列追加」、「列削除」按鈕。列追加按鈕係增加構成集合的程式要件零件之數量,藉由將其按下可於參數適用領域增加用以設定程式要件零件之再利用參數的欄位1列(展開鈕將增加1個)。按下列削除按鈕則可將其削除1列。
若參照第19圖之程式零件再利用畫面,則M碼完了處理程式零件(第18圖)係包含AND條件處理程式要件零件所OR結合的集合(於「列舉」欄位係顯示有「+」),該集合係附加對應於No. 1之再利用參數。當使用者欲於所作成的程式中將AND條件處理程式要件零件複數個OR結合時,係按下列追加按鈕而於參數適用領域追加列。於第19圖中係示有使2個AND條件處理處理程式要件零件OR結合時之一例。
使用者係於之後進行各要件之再利用參數的設定,但對於程式要件零件的再利用參數之設定係如下所述地進行。
例如,若按下OR結合的2個AND條件處理程式要件零件之中的第1個(於「列舉」欄位顯示「1」)的展開按鈕,則將開啟如第20圖所示之程式要件零件再利用畫面。程式要件零件再利用畫面的構成係與程式零件再利用畫面(第19圖)相同。使用者係於該畫面之參數適用領域輸入設定的參數。第20圖為於第1個AND條件處理程式要件零件之再利用參數適用元件M3的例子。
又,當再利用的程式要件零件具有其他程式要件零件時,係於「要件零件種別」欄位顯示有其種別(當未設定種疊,或設定有複數個種別時,則使用該欄位選擇所期望的種別)。且於「再利用參數」之欄位亦顯示有展開按鈕,可藉其而設定其他程式要件零件之再利用參數。第20圖由於AND條件處理程式要件零件未含有程式要件零件,故「要件零件種別」之欄位為空欄,也未顯示有展開按鈕。
另外,於程式零件再利用畫面中,若按下第2個AND條件處理程式要件零件(於「列舉」欄位顯示為「2」)的展開按鈕,則將開啟與第20圖相同的如第21圖所示的程式要件零件再利用畫面。第20圖為於第1個AND條件處理程式要件零件之再利用參數適用元件M3的例子。第21圖係於第2個AND條件處理程式要件零件之再利用參數列舉元件M19,X188E而適用的例子。
於第22圖示有如第19圖、第20圖、及如第21圖所示地分別設定再利用參數,且於程式作成支援裝置1生成程式的結果。此時,係由程式作成支援裝置1生成於M碼完了處理程式零件(第18圖)中將程式要件零件VE1之部分置換為於在第20圖所設定的AND條件處理程式要件零件M3、與在第21圖所設定的AND條件處理程式要件零件M19,X188E之OR結合的程式。
本實施形態之程式零件之特徵係於再利用之際於在再利用參數列舉複數個參數(元件或變數(標籤)、數值等)而適用,藉此而含有複數個程式要件零件以預定形態(AND結合或OR結合)所生成的程式要件零件之行。該程式零件係對應適用於程式要件零件的再利用參數之數量而改變再利用的程式要件零件之個數,且程式要件零件本身也可對應適用於其的參數而採取種種形態。從而,第2實施形態可從1個程式要件生成比第1實施形態更多形態的程式。且本實施形態之程式作成支援裝置1其特徵為具有可定義上述程式零件的程式零件定義部12。
因此,可減輕為了作成符合規格記述的程式的關於程式零件選定及其組合的設計勞力,且可大幅減輕作成恰好具有規格所記述之功能的程式的勞力。另外,由於可自動生成再利用程式零件而生成的程式之附屬資訊檔案,故藉由該附屬資訊的存在而易於理解所生成的程式,而可減輕關於理解所生成的程式之勞力。
於第3實施形態中係示有使用結合複數個特定程式零件而構成的更大程式零件(以下簡稱「程式階層零件」)的實施形態。
第23圖為示有第3實施形態之程式作成支援裝置1之功能方塊構成(軟體方塊構成)的圖。該程式作成支援裝置1係相對於第2實施形態(第16圖)之構成更具有用以定義程式階層零件21的程式階層零件定義部19。被定義的程式階層零件21係保存於程式零件保持部11。程式階層零件21係具有於將其再利用之際所設定的再利用參數22。
又,第23圖雖示有程式零件定義部12、程式要件零件定義部15、以及程式階層零件定義部19係內建於程式作成支援裝置1的構成,但上述定義部亦可為外部裝置。
第24圖係示有程式階層零件19定義之程序的流程圖。另外第25圖及第26圖係使用程式階層零件定義部19定義程式階層零件時的操作畫面顯示(程式階層零件定義畫面)之一例。在此,係例示有以階梯線圖形式定義進行排他性選擇數值設定處理的程式階層零件的畫面。
該程式階層零件定義畫面(階梯階層零件定義畫面)係從上依序配設為如下構成:程式零件設定領域,用以設定於作成的程式階層零件含有的程式零件;參數定義領域,用以定義程式階層零件之再利用參數;以及程式階層零件名輸入領域,用以輸入程式階層零件之名稱。程式零件設定領域係更具有:程式零件順序設定領域,用以設定程式階層零件的程式零件排列;以及參數適用領域,用以於構成程式階層零件的各程式零件之再利用參數適用預定參數。
以下,以於第3圖所示之自己保持處理程式零件、與如第27圖所定義的數值設定處理程式零件所構成的排他性選擇數值設定程式階層零件為例而說明程式階層零件之定義程序。
首先,將於再利用程式階層零件時設定的再利用參數定義為使用於程式階層零件之記述的零件變數(S61)。於第25圖及第26圖之例中,係定義賦予於排他性選擇數值設定程式之指令繼電器接點(於第27圖中被賦予有作為再利用參數的零件變數VB1的a接點)的零件變數VB為No.1之再利用參數。另外分別定義賦予於在數值設定處理命令(MOV)中所設定的數值(第27圖之變數VK2)的零件變數VK
為No.2之再利用參數,設定零件變數VM作為內部區域變數(內部繼電器接點)而作為為No.3之再利用參數,賦予於數值設定標的暫存器(第27圖之變數VD3)的零件變數VD作為No.4之再利用參數。
在此,參數定義領域之「列舉」核取方塊(checkbox)係設定是否可對於該再利用參數列舉參數而設定。於第25圖及第26圖之例中,有被勾選核取(「ˇ」)的No.1至3之再利用參數係被定義為可列舉參數而設定。程式階層零件係可再利用預定程式零件進行程式生成達列舉的參數數量。
又,如第25圖及第26圖之參數定義領域所示,亦可準備程式註解和程式指標作為程式階層零件之再利用參數。
其次,使用程式零件順序設定領域,選擇在程式階層零件中再利用的程式零件及其順序(S62)。使用程式階層零件而生成程式之際,將以於此步驟中選擇的程式零件被選擇的順序進行再利用。
第25圖及第26圖之例中,於程式零件順序設定領域之右側的方塊(box)係顯示有已定義完之程式零件的一覽,若從該一覽中選擇1個而按下選擇按鈕(「<<」),則其將被追加至左側方塊內的階梯線圖。另外,若從顯示於左側方塊(階梯線圖)的程式零件之中選擇1個而按下刪除按鈕,則可從階梯線圖中將該程式零件刪除。另外,選擇顯示於左側方塊的程式零件之其中1個,按下上下移動按鈕(箭號按鈕「↑」及「↓」)則可變更該程式零件之順序。
第25圖及第26圖係例示從程式零件之一覽中首先選擇自己保持處理程式零件而追加至階梯線圖,接著選擇數值設定處理程式零件,追加於階梯線圖之前述自己保持處理程式零件之後。結果,將定義出程式階層零件其可生成依上述順序再利用自己保持處理程式零件及數值設定處理程式零件的程式。另外,若該程式階層零件係列舉參數於再利用參數而進行設定,則可生成重複再利用自己保持處理程式零件及數值設定處理程式零件達其列舉之參數的數量的程式。
其次,將於程式階層零件中被定義為再利用參數的零件變數適用於含在該程式階層零件的程式零件之再利用參數(S63)。於第25圖及第26圖之例中,若選擇程式零件順序設定領域之左側方塊(階梯線圖)內之程式零件則可於其下之參數適用領域顯示被選擇的程式零件之再利用參數的一覽。
於第25圖中,係於程式零件順序設定領域之左側方塊內選擇自己保持處理程式零件,而於參數適用領域顯示有其再利用參數之一覽。在此,對於自己保持處理程式零件之No. 1再利用參數(第3圖之VB1)適用於該程式階層零件之No. 1再利用參數VB附加記號「@」者(VB@),對於自己保持處理程式零件之No. 2再利用參數(第3圖之VB2)適用於該程式階層零件之No. 1再利用參數VB附加記號「@!」者(VB@!),對於自己保持處理程式零件之No. 3再利用參數(第3圖之VB3)適用於該程式階層零件之No.3再利用參數VM附加記號「@」者(VM@)。
於第26圖中,係於程式零件順序設定領域之左側方塊內選擇數值設定處理程式零件,而於參數適用領域顯示有其再利用參數之一覽。在此,對於數值設定處理程式零件之No.1再利用參數(第27圖之VB1)適用於該程式階層零件之No.3再利用參數VM附加記號「@」者(VM@),對於數值設定處理程式零件之No.2再利用參數(第27圖之VK2)適用於該程式階層零件之No.2再利用參數VK附加記號「@」者(VK@),對於數值設定處理程式零件之No.3再利用參數(第27圖之VD3)適用該程式階層零件之No.4再利用參數VD。
又,記號「@」係表示重複再利用達於程式階層零件內之程式零件所列舉的參數數量時將所列舉的參數一個一個依序適用。另外,記號「@!」係表示於將程式階層零件內之程式零件重複再利用達所列舉的參數之數量時,係列舉根據記號「@」而適用的參數以外的所有參數而適用。
於再利用程式階層零件時,係重複再利用包含於該程式階層零件的程式零件達列舉於再利用參數而適用的參數之數量的次數。例如,若於再利用參數VB列舉3個參數X1,X2,X3而適用,則再利用將進行3次。此時,於第1次再利用係於VB@適用第1個參數X1,於VB@!適用其他的參數X2,X3。另外,於第2次再利用係於VB@適用第2個參數X2,於VB@!適用其他的參數X1,X3。之後,第3次再利用係於VB@適用第3個參數X3,於VB@!適用其他的參數X1,X2。
最後,於程式階層零件名輸入領域對於所作成的程式階層零件輸入名稱(S64)而保存,藉此完了程式階層零件的定義。
又,程式階層零件亦可與其他程式階層零件之構成要件一起構成。當存有已定意保存的程式階層零件時,其將顯示於程式階層零件定義畫面的程式零件順序設定領域之右側方塊,而與一般程式零件相同地可供選擇。藉此,可定義再利用其他程式階層零件的程式階層零件。
第28圖係示有於程式作成支援裝置1再利用程式階層零件而自動生成程式時之操作畫面顯示(程式階層零件再利用畫面)的一例。該程式階層零件再利用畫面係為與第10圖幾乎相同的構成,其具有:程式階層零件名顯示領域,顯示再利用的程式階層零件之名稱;以及參數適用領域,用以輸入適用於再利用參數的元件或變數(標籤)等之參數。
於第28圖中示有再利用如第24圖及第25圖所定義的程式階層零件的案例。於顯示在參數適用領域的再利用參數之「No. 1」、「列舉」、「說明文」之欄位內係顯示有於第24圖及第25圖之程式階層零件定義畫面之參數定義領域中所定義的內容。
使用者係於參數適用領域輸入適用於再利用參數的參數。此時,於「列舉」欄位顯示有核取(「ˇ」)的再利用參數可列舉2個以上的參數而進行輸入。但列舉於各再利用參數(僅限於可列舉參數而適用者)而適用的參數之數量必須皆相同。
於第28圖之例中,係例示有於程式註解適用「切削超控(override)設定開關」,於No.1之再利用參數(VB)適用「X285,X286,X287,X288」,於No.2之再利用參數(VK)適用「25,50,75,100」,於No.3之再利用參數(VM)適用「M4002,M4003,M4004,M4005」,於No.4之再利用參數(VD)適用「R2500」之例。此時,可藉由程式作成支援裝置1作成如第29圖之階梯程式。
第29圖之程式為處理如第30圖之切削超控開關之設定結果的程式。設備的操作者係藉由具有設備操作盤等的切削超控開關而從25%、50%、75%、100%中選擇該設備運作時的切削超控值。切削超控開關之輸出係連接至用以進行設備之計測監視控制而組入的控制器之各X元件(X285,X286,X287,X288)。控制器係將由各X元件之ON/OFF所選擇的切削超控值儲存於控制器(controller)內部的R暫存器(R2500)。
以下,對於程式作成支援裝置1所進行的再利用程式零件的程式之生成方法進行說明。第31圖係該生成方法之流程圖。在此係舉生成如第7圖所示之階梯程式的情形為例。
如第29圖,若由使用者於程式階層零件再利用畫面輸入必要資訊而命令程式之生成,則首先程式作成支援裝置1係列舉參數而確認可適用的再利用參數(在程式階層零件定義畫面之參數定義領域的「列舉」欄位有勾選(「ˇ」)者)是否有複數個,當有複數個時則確認於其等所適用的參數之數量是否皆相同(S71)。若數量不同,則顯示再利用參數之設定錯誤(error)等而不生成程式地終了(S72)。
其次,進行對應為再利用參數的程式註解及跳越用標籤(程式指標)的設定內容的處理(S73)。此處理為與第11圖之步驟S31至S34相同的處理。
以下,進行程式零件之再利用而生成程式達列舉於再利用參數而適用的參數之數量為止。首先將用以計數再利用次數的索引(index)i設定為1(S74)。索引i係每當程式零件之再利用完了時則遞增1個,直到i之值超過參數之列舉數量為止,重複程式零件之再利用。
程式零件之再利用係依據程式階層零件之程式構造順序,亦即程式階層零件定義畫面的程式零件順序設定領域所設定的順序進行。程式作成支援裝置1係依程式階層零件之程式構造順序而抽出程式零件(S75)。
接著,將所抽出的程式零件之再利用參數依序抽出(S76),確認是否於其適用有該程式階層零件之再利用參數(S77)。若適用有該程式階層零件之再利用參數則判斷其為附加有記號「@」(S78)、附加有記號「@!」(S80)、或兩者皆非。
若於程式零件之再利用參數附加有記號「@」則對其適用程式階層零件之第i個再利用參數(S79)。若於程式零件之再利用參數附加有記號「@!」則對其列舉而適用程式階層零件之第i個以外的所有再利用參數(S81)。若都沒有附加兩記號則對於程式零件之再利用參數適用程式階層零件之再利用參數(S82)。
又,當於抽出的程式零件之再利用參數未適用該程式階層零件之再利用參數時(S77中的No),則原封不動地適用該程式階層零件之再利用參數所適用的元件、變數(標籤)、或數值(S83)。
關於程式零件之再利用參數的處理(S76至S83)係對於該程式零件之所有再利用參數執行(S84)。若對於所有的再利用參數的處理皆完了(S84的No),則根據其處理結果而生成再利用該程式零件的程式(S85)。於該程式生成步驟中,係進行與第11圖所示之程式的生成方法相同的處理。
從程式零件之抽出(S75)到再利用程式零件的程式生成(S85)為止的處理係對於程式階層零件內的所有程式零件以指定的順序執行(S86)。若上述處理對於所有的程式零件皆完了(S86的No),則索引i將遞增(S87),重複上述處理至遞增後的索引i超過列舉於程式階層零件之再利用參數的參數之數量為止(S88)。
最後,進行對應於作為再利用參數的程式註解及跳越用標籤(程式指標)之設定內容的處理(S89)。該處理係與第11圖之步驟S44至S47相同的處理。
將以上所說明的程式生成方法,以對於如第25圖及第26圖所定義的程式階層零件如第28圖所示地設定再利用參數的情形為例進行具體說明。
如第28圖所示,當由使用者於程式階層零件再利用畫面輸入必要的資訊而命令生成程式,則程式作成支援裝置1係確認於「列舉」欄位勾選核取(「ˇ」)的No.1至4之再利用參數所列舉的參數之數量(S71)。在此因皆為4個,故不會成為設定錯誤而將執行程式之作成。
首先,於再利用參數之程式註解由於設定有「切削超控設定開關」,故程式作成支援裝置1係輸出於其賦予有「開始」的「開始切削超控設定開關」作為程式註解(S73)。而不設定跳越用標籤。
在將索引i設定為1後,依程式階層零件之構造順序而抽出程式零件(S75)。如在第25圖及第26圖所定義的,該程式階層零件之第1個程式零件係自己保持處理程式零件,故將其抽出。且對於抽出的自己保持處理程式零件依序抽出再利用參數(S76)。
首先,於自己保持處理程式零件之No.1再利用參數VB1適用於程式階層零件之No.1再利用參數VB附加有記號「@」者。因此,於其列舉而設定的元件X285,X286,X287,X288中的第1個(第i個)的X285係被適用於自己保持處理程式零件之No.1再利用參數VB1(S79)。
自己保持處理程式零件之No.2再利用參數VB2係適用於程式階層零件之No.1再利用參數VB附加有記號「@!」者。因此,於其列舉而設定的元件X285,X286,X287,X288中的第1個(第i個)以外的X286,X287,X288係被適用於自己保持處理程式零件之No. 2再利用參數VB2(S81)。
於自己保持處理程式零件之No. 3再利用參數VB3適用於程式階層零件之No. 3再利用參數VM附加有記號「@」者。因此,於其列舉而設定的元件M4002,M4003,M4004,M4005中的第1個(第i個)的M4002係被適用於自己保持處理程式零件之No. 3再利用參數VB3(S79)。
根據以上之再利用參數適用結果而輸出再利用自己保持處理程式零件而生成的程式(S85)。
若再利用自己保持處理程式零件的程式生成結束,則接著抽出為程式階層零件之第2個程式零件的數值設定處理程式零件(S75)。且對於抽出的數值設定處理程式零件依序抽出再利用參數(S76)而進行與上述同樣的處理。
於數值設定處理程式零件之No. 1之再利用參數VB1係適用於程式階層零件的No. 3再利用參數VM附加有記號「@」者。因此,於其列舉而設定的元件M4002,M4003,M4004,M4005之中為第1個(第i個)的M4002係被適用於數值設定處理程式零件之No. 1再利用參數VB1(S79)。
於數值設定處理程式零件之No. 2之再利用參數VK2係適用於程式階層零件的No. 3再利用參數VK附加有記號「@」者。因此,於其列舉而設定的數值25,50,75,100中為第1個(第i個)的25(在第29圖中為10進位表示的「K25」)係被適用於數值設定處理程式零件之No. 2再利用參數VK2(S79)。
於數值設定處理程式零件之No. 3之再利用參數VD3係適用於程式階層零件的No.4再利用參數VD。由於其並未附加記號「@」或記號「@!」,故直接將於其中所設定的元件R2500原封不動地適用於數值設定處理程式零件之No.3再利用參數VD3(S82)。
根據以上之再利用參數適用結果而輸出再利用數值設定處理程式零件而生成的程式(S85)。
若如上所述地完了再利用自己保持處理程式零件以及數值設定處理程式零件的程式生成,則索引i將遞增(S87)。於第28圖之例中,參數之列舉數量為4個,故對於索引i=2、3、4也藉由與上述相同的程序重複再利用自己保持處理程式零件以及數值設定處理程式零件的程式生成。
最後,進行對應於作為再利用參數的程式註解以及跳越用標籤(程式指標)之設定內容的處理(S89)。於第28圖之例中,係輸出於所設定的程式註解「切削超控設定開關」賦予「終了」的「終了切削超控設定開關」作為程式註解。另外,由於未設定有跳越用標籤,故不輸出回歸命令。
藉由以上程序而生成如第29圖所示的程式。
本實施形態之程式階層零件係藉由再利用而可生成組合複數個程式零件而構成的程式。另外,此時藉由於程式階層零件之再利用參數列舉複數個參數(元件或變數(標籤)、數值等)而適用,即可生成將該等程式零件再利用複數次之構成的程式。該程式階層零件係可對應適用於再利用參數的參數之列舉數量而採取種種形態。且本實施形態之程式作成支援裝置1之特徵係具有可定義上述程式零件的程式零件定義部12。
藉由組合第1、2實施形態,可生成較第1、2實施形態更多形態的程式。且本實施形態之程式作成支援裝置1之特徵係具有可定義如上所述之程式零件的程式零件定義部12。
因此,可減輕為了作成符合規格記述的程式的關於程式零件選定及其等組合的設計勞力,且可大幅減輕作成恰好具有規格記述之功能的程式的勞力。另外,由於可自動生成再利用程式零件而生成的程式之附屬資訊檔案,故藉由該附屬資訊的存在而易於理解所生成的程式,而可減輕關於理解所生成的程式之勞力。
本實施形態之程式作成支援裝置1係生成用於控制工作機械的程式。於以下係以程式作成支援裝置1生成階梯程式的情形為其一例進行說明。首先,在說明程式作成支援裝置1之前,先對於使用程式作成支援裝置1所生成的階梯程式的工作機械進行說明。
第33圖為示有工作機械之構成的方塊圖。工作機械46係具有:電腦數值控制裝置控制器(Computerized Numerical Controller:以下略記為「CNC」)47;主軸馬達54及伺服馬達(servomotor)55,使工作機械46之工具及加工物旋轉及移動;操作盤56,用以操作工作機械46;以及附帶設備57。又,以下亦將於第33圖所示之具有CNC47的工作機械46稱為「CNC工作機械46」。
CNC 47係例如由組入CNC工作機械46的電腦所構成,其具有:運動(motion)控制部51,其具有運動控制功能;以及程序(sequence)控制部52,其具有程序控制功能。於此CNC 47係記憶有記述CNC工作機械46的加工順序的加工程式48,CNC47係解釋該加工程式48而控制主軸馬達54及伺服馬達55或控制附帶設備57。
具體而言,加工程式48係記述有指令工具及加工物之移動量及移動速度的G碼49,CNC 47之運動控制部51係根據該G碼49之指令(數值)而控制主軸馬達54及伺服馬達55之迴轉及移動。藉此,具有CNC 47的工作機械46係可使工具及加工物旋轉或移動所希望的移動量及移動速度。
另外,於加工程式48係記述有指令附帶設備57之控制的M碼50,CNC47之程序控制部52係根據該M碼50的指令來控制附帶設備57。由於該程序控制部52係具有與PC同等的功能,故可藉由與PC同等且與PC不同的硬體而實現,亦可藉由PC之硬體而實現。
關聯於如上所述的CNC工作機械46之階梯程式作成的規格係揭示於例如非專利文獻2(非專利文獻2:PLC程式設計(programming)說明書IB-1500035,網際網路<URL:http://wwwf2.mitsubishielectric.co.jp/melfans web/index_j.htm>)。
然而,為了使如上所述之CNC工作機械46正確動作,CNC工作機械46除了必須具有用以使附帶設備57如M碼50之指令所述地控制的階梯程式53(以下簡稱「M碼處理程式」),尚必須具有用以使用操作盤56控制工作機械46的階梯程式53(以下簡稱「操作盤處理程式」)。
本實施形態之程式作成支援裝置1係依據操作盤56之規格、以及M碼50之規格而生成於CNC工作機械46中使用的操作盤處理程式以及M碼處理程式。以下係對於本實施形態之程式作成支援裝置1進行說明。又,作成操作盤處理程式及M碼處理程式的程式作成支援裝置可與用以作成PC之階梯程式的程式作成支援裝置同等的另一裝置,亦可適用用以作成PC階梯程式的程式作成支援裝置。另外,通常於CNC工作機械46中係於操作盤56具有大量開關並且具有數十至數百個M碼50,但以下係以運作模式選擇和超控等典型的開關和M3、M4、M5、M30等代表性的M碼為例進行說明。
本實施形態之程式作成支援裝置1的硬體構成係與於第2圖所示的方塊圖相同。若使用第2圖說明其硬體構成,則關於CNC工作機械46規格的資料以及計測監視控制程式的檔案係保持於保存部5。再者,程式作成支援裝置1係將應輸入的規格顯示於顯示部3,微處理器2係依循在輸入部4由使用者所設定的規格而執行程式生成處理。
第34圖為示有本實施形態之程式作成支援裝置1之功能方塊構成(軟體方塊構成)的圖。該程式作成支援裝置1係相對於至目前為止的實施形態中所說明程式編輯部6以及程式零件保持部11更具有規格設定部31與元件規格保持部32。又,為了簡略化圖式,於第34圖中係省略程式零件定義部12等之圖示。
於程式作成支援裝置1係從外部(規格輸入29)輸入有操作盤56及M碼50等之規格作為規格輸入29。另外,程式作成支援裝置1係與記述有操作盤56及M碼等之規格的規格記述檔案30連接,而可讀寫關於操作盤56及M碼等之規格的規格記述檔案30。
規格設定部31係從規格輸入29及規格記述檔案30接收操作盤56及M碼50之規格而設定操作盤56及M碼50之規格。本實施形態中,規格設定部31係具有:操作盤規格設定部31A,接收操作盤56之規格而設定(記憶)操作盤56之規格;以及M碼規格設定部31B,接收M碼50之規格而設定(記憶)M碼50之規格。規格設定部31係將所設定的規格(規格資料)輸出至程式編輯部6,或以寫入規格記述檔案30的方式輸出、寫入。
程式零件保持部11係預先保持有程式編輯部6生成程式之際所使用的階梯零件等程式零件10。該程式零件10可為於第1至3實施形態中之任一者所定義者,亦可為藉由上述以外之以往方式所定義者。本實施形態之程式零件保持部11係保持下述各者作為程式零件10:模式反轉處理程式零件10A;自己保持處理程式零件10B;數值設定處理程式零件10C;M碼解碼處理程式零件10D;AND條件處理程式零件10E;M碼完了處理程式零件10F。
第35圖係示有元件規格保持部32所保持的關於運動控制輸出入的元件位址(address)之規格的圖。元件規格保持部32係保持如第35圖所示之元件規格作為關於於CNC工作機器46中所使用的階梯程式的規格。具體而言,元件規格保持部32係保持有將界定為何種運動控制輸出入的名稱與其輸出入所分配的元件位址附加關聯的表格(table)。關於以上所述的CNC工作機械46之階梯程式之作成的元件位址之規格係揭示於例如非專利文獻3(非專利文獻3:PLC介面(interface)說明書IB-1500000,網際網路<URL:http://wwwf2.mitsubishielectric.co.jp/melfansweb/index_j.htm>)。
程式編輯部6係藉由接收來自規格設定部31的規格或讀取保存於規格記述檔案30的規格而取得操作盤56及M碼50的規格。於本實施形態中,該程式編輯部6係具有程式生成部34。該程式生成部34係一邊將記述於規格記述檔案30的操作盤56及M碼50之規格的各者及在規格設定部31所設定的操作盤56及M碼50之規格的各者適用於保持在程式零件保持部11的程式零件10之再利用參數22,一邊從該程式零件10中作成程式。又,本實施形態之程式生成部34係於從程式零件10作成程式之際參照保持於元件規格保持部32的元件規格。
本實施形態中,該程式生成部34係具有:操作盤處理程式生成部341;以及M碼處理程式生成部342,而具有對於每個功能規格生成程式的手段。其次,對於操作盤處理程式生成部341以及M碼處理程式生成部342進行說明。
操作盤處理程式生成部341係一邊將記述於規格記述檔案30的操作盤56之規格以及在規格設定部31所設定的操作盤56之規格適用於程式零件保持部11所保持的程式零件10之再利用參數22,一邊從該程式零件10生成上述操作盤處理程式。
於本實施形態中,操作盤處理程式生成部341係具有:模式反轉功能生成部341A;運作模式選擇功能生成部341B;以及切削超控功能生成部341C(以下亦將該等統稱為「功能生成部341A至341C」),功能生成部341A至341C之各者係生成用以於操作盤56進行彼此不同之控制的操作盤處理程式。具體而言,模式反轉功能生成部341a係生成用以於操作盤56進行模式反轉控制的操作盤處理程式,運作模式選擇功能生成部341b係生成用以於操作盤56進行運作模式選擇控制的操作盤處理程式,切削超控功能生成部341c係生成用以於操作盤56進行切削超控控制的操作盤處理程式。
M碼處理程式生成部342係一邊將記述於規格記述檔案30的M碼50之規格以及在規格設定部31所設定的M碼50之規格適用於程式零件保持部11所保持的程式零件10之再利用參數22,一邊從該程式零件10生成上述M碼處理程式。於本實施形態中,M碼處理程式生成部342係具有M碼功能生成部342A,M碼功能生成部342A係生成M碼處理程式。
程式編輯部6係輸出所生成的操作盤處理程式以及M碼處理程式作為編輯後之程式8,並且對應需要而將與其相關連的附屬資訊檔案9輸出。例如,當編輯後的程式8為階梯程式時,係如第1實施形態所說明地將說明於該階梯程式所使用的各元件內容的註解輸出為附屬資訊檔案9。
接著,對於由規格設定部31之操作盤規格設定部31A設定操作盤56之規格的例子進行說明。
第36圖為示有於具有排列有非雙態觸變(toggle)型開關例如按壓按鈕開關(button switch)的操作盤56的CNC工作機械46中用以設定該操作盤56的各開關規格的畫面(以下簡稱「操作盤規格設定畫面」)之一例的圖。於該第36圖所示的操作盤規格設定畫面上係陣列狀地排列顯示有複數個開關,當使用者以滑鼠雙擊(double click)(選擇)任一個開關時,則顯示出對應於該開關的開關規格設定畫面。
第37圖為表示於第36圖中選擇被記為「運作記憶體」的開關時所顯示的開關規格設定畫面的圖。於該開關規格設定畫面中,可對於在第36圖中所選擇的1個開關設定開關種別、開關動作、開關動作、開關輸入。在此,於第36圖所示之劃定開關之框內所顯示的文字列係將於第37圖中所示的開關種別中所設定的文字列之前端部分與開關動作中所設定的文字列組合而成。例如,如第37圖所示,當於開關種別設定有「運作模式選擇」,於開關動作設定有「記憶體」時,如第36圖所示地將「運作模式選擇」之文字列的前端部分「運作」與「記憶體」組合而成的「運作記憶體」顯示於開關之框內。又,於第36圖中未賦予文字列的開關(如第36圖中右上的開關)係表示於第37圖未設定有開關種別及開關動作。
於第37圖所示之開關規格設定畫面中的設定係首先進行開關種別之設定,之後進行開關動作之設定。
於開關種別的文字列之旁邊係設有下拉式清單(drop-down list)或組合框(combo box)(以下記為「下拉式清單等」),由使用者藉由從於其顯示的一覽中選擇1個所期望之種別而設定開關種別。於顯示於下拉式清單等的一覽中係顯示有CNC工作機械46之操作盤56所需的開關種別。於本實施形態中,操作盤規格設定部31A係於上述一覽顯示操作盤處理程式生成部341可生成的操作盤處理程式之種別,亦即操作盤處理程式生成部341所具有的功能生成部341A至341C的功能名稱(「模式反轉」、「運作模式選擇」、「切削超控」)。且,可由使用者設定其中之一作為開關種別。
於開關動作的文字列旁係設有下拉式清單等,係從於其所顯示的一覽中設定所期望的開關動作為開關動作。具體而言,係先顯示對應於所選擇的開關種別的開關動作於一覽,再設定為其中的一個。藉此,可對於操作盤處理程式生成部341可生成的操作盤處理程式設定對應於開關種別的開關動作。
於本實施形態中,若於開關種別中設定「模式反轉」,則於開關動作之下拉式清單等將顯示「單區塊(single block)」、「空運行(dry run)」而可設定其中一個作為模式反轉之開關動作。若於開關種別中設定「運作模式選擇」,則於開關動作之下拉式清單等將顯示「微動(jog)」、「處理(handle)」、「記憶(memory)」而可設定其中一個作為運作模式選擇之開關動作。若於開關種別中設定「切削超控」,則於以%值表示切削超控時,於開關動作之下拉式清單等將顯示「25」、「50」、「75」、「100」而可設定其中一個作為切削超控之開關動作。
於開關輸入之文字列旁的方塊可設定分配於該開關的PC之輸入元件。若預先已決定各開關係被分配於特定之輸入元件,則亦可顯示該元件之位址而可省略其位址設定。
第38圖係以與第36圖及第37圖所示之顯示形態不同的另一顯示形態顯示用以設定各開關規格之畫面的圖。與於上述所說明者相同地,其可對於「模式反轉」設定「單區塊」、「空運行」於開關動作之欄位,對於「運作模式選擇」設定「微動」、「處理」、「記憶」於開關動作之欄位,對於「切削超控」設定「25」、「50」、「75」、「100」於開關動作之欄位。
其次,對於以規格設定部31之M碼規格設定部31B設定M碼50之規格的例子進行說明。
第39圖為示有用以設定CNC工作機械46所具有的M碼50之功能規格的畫面之一例的圖。於M碼之欄位係設定有M碼編號,於功能名之欄位則設定有該M碼50之簡單說明。
於功能開始欄位係可藉由下拉式清單等而選擇性地顯示「與區塊開始同時」、「區塊軸移動完了後」且設定為其中1個。在此,「與區塊開始同時」係意謂著當該M碼50與軸移動在同一區塊被指令時,係於在該區塊被指令的軸移動開始時同時開始執行該M碼50之功能。「區塊軸移動完了後」係意謂著當該M碼50與軸移動在同一區塊被指令時,係於在該區塊被指令的軸移動完了後開始執行該M碼50之功能。
功能取消之欄位係於當該M碼50之功能僅於被分配的區塊內有效時不作任何設定。然而,當欲使該M碼50之功能即使在經過所分配的區塊後,該M碼50之功能仍有效至被其他M碼50取消或變更為止時,則於功能取消之欄位可列舉該其他M碼50而設定。於該功能取消之欄位係設定有與在M碼之欄位所設定的M碼編號不同的M碼編號。例如,當於M碼之欄位設定「M3」時,則於功能取消之欄位設定M3以外之M碼編號,當於M碼之欄位設定「M4」時,則於功能取消之欄位設定M4以外之M碼編號。
於功能輸出欄位係設定有為該M碼50之功能輸出標的的為輸出元件之Y元件或為內部元件之M元件等元件之位址。當於與該M碼50不需要功能輸出時,則此欄位不做任何設定。
於功能完了欄位係設定有為該M碼50之功能完了條件的為輸入元件之X元件或為內部元件之M元件等元件之位址。當於與該M碼50之功能輸出同時功能完了時,則此欄位不做任何設定。
其次,分別具體說明於第39圖所示之表的每列設定的各M碼50。
稱為M03(M3)的M碼50係進行主軸正轉的M碼功能,當其與軸移動在同一區塊內被指令時,係與在該區塊被指定的軸移動開始同時開始M碼50之功能(主軸正轉)。由於主軸正轉功能係持續至被指令逆轉或停止為止,故進行主軸逆轉功能的M4之M碼50以及進行主軸停止功能的M5之M碼50係作為取消M3之M碼功能的其他M碼50而設定於功能取消欄位。又,於示於第39圖之規格中,用以使主軸正轉的輸出元件之Y1898係作為功能輸出標的元件而設定於功能輸出欄位。另外,在只要主軸到達預定旋轉速度則M3之功能完了的規格中,當主軸到達該預定旋轉速度時表示該到達的輸入元件之X188D係作為功能完了條件元件而設定於功能完了欄位。
稱為M04(M4)的M碼50係進行主軸逆轉的M碼功能,當其與軸移動在同一區塊內被指令時,係與在該區塊被指定的軸移動開始同時開始M碼50之功能(主軸逆轉)。由於主軸逆轉功能係持續至被指令正轉或停止為止,故進行主軸正轉功能的M3之M碼50以及進行主軸停止功能的M5之M碼50係作為取消M4之M碼功能的其他M碼50而設定於功能取消欄位。又,於示於第39圖之規格中,用以使主軸逆轉的輸出元件之Y1899係作為功能輸出標的元件而設定於功能輸出欄位。另外,在只要主軸到達預定旋轉速度則M4之功能完了的規格中,當主軸到達該預定旋轉速度時表示該到達的輸入元件之X188D係作為功能完了條件元件而設定於功能完了欄位。
稱為M05(M5)的M碼50係進行主軸停止的M碼功能,當其與軸移動在同一區塊內被指令時,係與在該區塊被指定的軸移動開始同時開始M碼50之功能(主軸停止)。由於主軸停止功能係取消其他M碼功能而非可被其他M碼50取消者,故其於功能取消欄位不做任何設定。另外,由於主軸停止功能為停止動作者,故於功能輸出之欄位不做任何設定。又,於此圖中,當主軸旋轉速度成為零時表示該情形的輸入元件之X188C係作為功能完了條件元件而設定於功能完了欄位。
M30為進行資料尾(end of data)處理的M碼功能,當其與軸移動在同一區塊內被指令時,係與在該區塊被指定的軸移動開始同時開始M碼50之功能(資料尾處理)。資料尾處理功能係將CNC工作機械46重置(reset)者。從而,資料尾處理功能係非可被其他M碼50取消者,故不設定功能取消。又。於此圖中為將CNC工作機械46重置之元件的YC1A係作為功能輸出標的元件而被設定於功能輸出欄位。M30係與功能輸出同時功能完了。
其次,對於操作盤處理程式生成部341於生成以操作盤處理程式為首的程式之際再利用且M碼處理程式生成部342於生成以M碼處理程式為首的程式之際再利用的程式零件10進行說明。
如第34圖所示,係於程式零件保持部11保持有模式反轉處理程式零件10A、…、M碼完了處理程式零件10F作為上述程式零件10。其中,由於自己保持處理程式零件10B及M碼完了處理程式零件10F已於第1實施形態及第2實施形態中說明過,故在此省略其說明。以下係以模式反轉處理程式零件10A、數值設定處理程式零件10C、M碼解碼處理程式零件10D、AND條件處理程式零件10E為主進行說明。又,由於對於數值設定處理程式零件10C已於第3實施形態中詳細說明,故在此僅簡單說明。
第40圖為示有將處理模式反轉功能的程式零件化後的模式反轉處理程式零件10A的圖。只要在第40圖所示的模式反轉處理程式零件10A之再利用參數指定元件或變數(標籤)即可根據該參數而自動生成處理模式反轉功能的程式(程式零件POU)。
以下,假設於第40圖所示之模式反轉處理程式零件10A之再利用參數指定有元件等而對於模式反轉處理階梯程式之動作進行說明。初始狀態中VB1、VB2、VB3之任一者皆為OFF狀態。若為指令模式反轉的元件之VB1被ON,則藉由PLS命令將VB2設定為ON達PC之1次掃描(scan),VB3則受到VB2的ON而反轉,亦即成為ON。雖於PC之下一掃描中因PLS命令而使VB2被OFF,但VB3之ON仍保持。即使間隔一段時間後將VB1設為OFF,VB3之ON仍會保持。再者若更間隔一段時間後將VB1再度設定為ON,則因PLS命令會將VB2設定為ON達PC之一次掃描,VB3則受到VB2的ON而反轉,亦即成為OFF。雖於PC之下一掃描中因PLS命令而使VB2被OFF,但VB3之OFF仍保持。即使間隔一段時間後將VB1設為OFF,VB3之OFF仍會保持。
其次,以下假設於第27圖所示之數值設定處理程式零件10C之再利用參數指定有元件等而對於處理數值設定的功能之數值設定處理階梯程式之動作進行說明。由於初始狀態中VB1為OFF狀態,於VD3並未進行設定數值之處理,故VD3之數值係成為初始值(亦即零)。若使指定數值設定之元件的VB1成為ON,則藉由MOV命令而適用於VK2的數值將設定於VD3。即使間隔一段時間後將VB1設為OFF狀態,VD3之數值仍會保持,但當階梯程式之其他處進行對於VD3之數值設定時則不在此限。即使在其他處進行了對於VD3之數值設定,但當希望VD3保持VK2之數值時,只要將VB1常時保持於ON狀態即可。
第41圖係示有將處理M碼50之解碼功能的程式零件化的M碼解碼處理程式零件10D的圖。只要在第41圖所示的M碼中於碼處理程式零件10D之再利用參數指定元件或變數(標籤)即可根據該參數而自動生成處理M碼50之解碼功能的程式(程式零件POU)。
以下,假設於第41圖所示之M碼解碼處理程式零件10D之再利用參數指定有元件等而對於M碼解碼處理階梯程式之動作進行說明。初始狀態中VB1、VB4皆為OFF狀態。若VB1成為ON且VD2之值與VK3之值相同,則VB4成為ON。若VB1成為OFF或VD2之值與VK3之值不同,則VB4成為OFF。
第42圖為示有將處理AND條件的程式零件化後的AND條件處理程式零件10E的圖。只要在第42圖所示的AND條件處理程式零件10E之再利用參數指定元件或變數(標籤)即可根據該參數而自動定期生成處理AND條件的程式(程式零件POU)。該AND條件處理為於階梯中非常普遍常用者故省略其詳細說明。
其次,對於第34圖所示之操作盤處理程式生成部341(模式反轉功能生成部341A等)一邊將第35圖所示之元件規格以及第38圖所示之操作盤56之規格適用於程式零件10之再利用參數,一邊從該程式零件10生成操作盤處理程式的動作進行說明。
第43圖係示有模式反轉功能生成部341A所生成的操作盤處理程式之一例的圖。以下,對於模式反轉功能生成部341A將元件規格(第35圖)以及關於「模式反轉」的操作盤56之規格(第38圖)適用於第40圖所示之模式反轉處理程式零件10A之再利用參數,而從該模式反轉處理程式零件10A生成用以進行第43圖所示之模式反轉控制的操作盤處理程式的動作進行說明。又,以下亦將模式反轉功能生成部341A所生成的用以進行模式反轉控制的操作盤處理程式稱為「模式反轉開關處理程式」。
第44圖表示模式反轉功能生成部341A之屬性。於第44圖之開關種別及開關動作係顯示有操作盤56之規格(第38圖)之中關於模式反轉的內容。在此,係顯示為於稱為「模式反轉」的開關種別中,係在操作盤56之規格中設定有稱為「單區塊」及「空運行」的開關動作。且,於第44圖之使用零件中,由模式反轉功能生成部341A所使用的程式零件10係被顯示為模式反轉處理程式零件10A。
第45圖為表示模式反轉功能生成部341A生成模式反轉開關處理程式時之動作的流程圖。以下係依據第45圖說明該動作。
於步驟S91中,模式反轉功能生成部341A係將在操作盤56之規格(第38圖)的開關輸入所設定的元件位址適用於第40圖所示之模式反轉處理程式零件10A之再利用參數No.1(在此為VB1)。例如,模式反轉功能生成部341A係從操作盤56之規格(第38圖)從上依序讀取設定為「模式反轉」的列(在此係讀取第1列的「單區塊」)。之後,模式反轉功能生成部341A係將設定於「單區塊」之開關輸入的元件位址(在此為X280)適用於第40圖所示之模式反轉處理程式零件10A的再利用參數No.1(VB1)。藉此,生成於第43圖所示之模式反轉開關處理程式之第1段的左部分。
於步驟S92,模式反轉功能生成部341A係將在操作盤56之規格或M碼50之規格中未設定的內部區域(local)性的1個元件位址(亦即未被重複使用的任意元件位址)適用於第40圖所示之模式反轉處理程式零件10A之再利用參數No.2(在此為VB2)。例如,模式反轉功能生成部341A係將M4000作為未在操作盤56之規格或M碼50之規格中被設定的元件位址而適用於第40圖所示之模式反轉處理程式零件10A之再利用參數No.2(VB2)。又,M4000號左右的元件位址係設為未在操作盤56之規格和M碼50之規格中被設定的元件位址。如上所述的由程式生成部34自動分配的元件位址亦可保持於元件規格保持部32而參照元件規格保持部32。藉此,生成於第43圖所示之模式反轉開關處理程式之第1段的右部分及第2至3段之左部分。
於步驟S93,模式反轉功能生成部341A係從元件規格(第35圖)中抽出對應於操作盤56之規格(第38圖)的開關動作欄位內容的元件位址,將該元件位址適用於第40圖所示之模式反轉處理程式零件10A之再利用參數No.3(在此為VB3)。例如,在於第38圖所示之操作盤56之規格中,由於在開關動作之欄位係設定有「單區塊」,故模式反轉功能生成部341A係從於第35圖所示之元件規格中抽出對應於「單區塊」的元件位址(在此為YC12),YC12係適用於第40圖所示之稱為模式反轉處理程式零件10A之再利用參數No.3(VB3)的再利用參數。藉此,可生成於第43圖所示之模式反轉開關處理程式之第2段的中央部分、右部分、以及第3段之右部分。
再者,於以上之步驟S91至S93之說明中,係對於模式反轉功能生成部341A將元件規格(第35圖)及操作盤56之規格(第38圖)適用於模式反轉處理程式零件10A之再利用參數VB1至VB3的動作進行說明。本實施形態中的模式反轉功能生成部341A係與該動作並行地於同步驟S91至S93中亦進行元件註解之輸出。
具體而言,於步驟S91中,模式反轉功能生成部341A係將操作盤56之規格(第38圖)之開關種別的文字列與開關動作之文字列組合而成的文字列作為步驟S91之元件位址的元件註解而輸出於附屬資訊檔案9。同樣地,於步驟S92中,模式反轉功能生成部341A係將操作盤56之規格之開關種別的文字列與開關動作之文字列組合而成的文字列作為步驟S92之元件位址的元件註解而輸出於附屬資訊檔案9。於步驟S93中,模式反轉功能生成部341A係將元件規格(第35圖)中對應於步驟S93之元件位址的名稱之文字列作為該元件位址的元件註解而輸出於附屬資訊檔案9。於第46圖示有藉由上述方式而得的元件註解之一覽。
於以上步驟S91至S93之後,於步驟S94,模式反轉功能生成部341A係於需要第40圖所示之程式註解時,將組合開關種別之文字列與開關動作之文字列而得的文字列作為該程式註解而適用。例如,當模式反轉功能生成部341A於開關種別為「模式反轉」之文字列,開關動作為「單區塊」之文字列時,作成「模式反轉單區塊」之文字列作為程式註解而賦予於在步驟S91至S93所作成的程式之前後。結果,於第43圖中,係於該程式之前賦予為「開始模式反轉單區塊」的文字列,於該程式之後賦予為「終了模式反轉單區塊」的文字列。
於步驟S95中,模式反轉功能生成部341A係於需要第40圖所示之跳越用標籤時,選定未被其他程式使用的程式指標,將所選定的程式指標適用為該跳越用標籤。
模式反轉功能生成部341A係對於操作盤56之規格(第38圖)中關於「模式反轉」的所有開關動作進行以上之步驟S91至S95的動作。例如,在第38圖所示之操作盤56之規格中,由於除了第1列的「單區塊」以外,第2列的「空運行」被設定為模式反轉之開關動作,故也對於「空運行」進行步驟S91至S95的動作。藉此,生成示於第43圖的模式反轉開關處理程式之從「開始模式反轉空運行」至「終了模式反轉空運行」為止的部分。又,在於第43圖所示之例中,與M4000不重複的M4001之元件位址係被適用於「空運行」中。
於步驟S96,模式反轉功能生成部341A係以適用有以上參數的模式反轉處理程式零件10A作為模式反轉開關處理程式。藉此,從第38圖所示之操作盤56之規格中生成第43圖所示之模式反轉開關處理程式。
第47圖係示有運作模式選擇功能生成部341B所生成的操作盤處理程式之一例的圖。其次,對於運作模式選擇功能生成部341B將元件之規格(第35圖)以及關於「運作模式選擇」的操作盤56之規格(第38圖)適用於第3圖所示之自己保持處理程式零件10B之再利用參數而從該自己保持處理程式零件10B生成用以進行第47圖所示之運作模式選擇控制的操作盤處理程式之動作進行說明。又,以下亦將運作模式選擇功能生成部341B所生成的用以進行運作模式選擇控制的操作盤處理程式稱為「運作模式選擇開關處理程式」。另外,運作模式選擇功能生成部341B係於生成運作模式選擇開關處理程式之際,與模式反轉功能生成部341A相同地設定元件註解、程式註解、以及跳越用標籤,但在此省略其相關說明及結果。
第48圖示有運作模式選擇功能生成部341B之屬性。於第48圖之開關種別及開關動作係顯示有操作盤56之規格(第38圖)之中關於運作模式選擇的內容。在此,係顯示為於稱為「運作模式選擇」的開關種別中,係在操作盤56之規格中設定有稱為「微動」、「處理」、及「記憶」的開關動作。且,於第48圖之使用零件中,由運作模式選擇功能生成部341B所使用的程式零件10係被顯示為自己保持處理程式零件10B。
第49圖為表示運作模式選擇功能生成部341B生成運作模式選擇開關處理程式時之動作的流程圖。以下係以第49圖說明該動作。
於步驟S101中,運作模式選擇功能生成部341B係將在操作盤56之規格(第38圖)的開關輸入所設定的元件位址適用於第3圖所示之自己保持處理程式零件10B之再利用參數No.1(在此為VB1)。例如,運作模式選擇功能生成部341B係從操作盤56之規格(第38圖)將設定為「運作模式選擇」的列從上依序讀取(在此係讀取第3列的「微動」)。之後,運作模式選擇功能生成部341B係將設定於「微動」之開關輸入的元件位址(在此為X282)適用於第3圖所示之自己保持處理程式零件10B的再利用參數No.1(VB1)。藉此,生成於第47圖所示之運作模式選擇開關處理程式之第1段的左部分。
接著,於稱為「運作模式選擇」的開關中,若從操作盤56指令了1個開關動作,則到此為止所被指令的運作模式將被取消,而將進行被指令的1個開關動作之運作模式。例如,當開關動作「微動」被操作盤56指令時,則之前被指令的「處理」及「記憶」之運作模式將被取消,而將進行「微動」之運作模式。當開關動作「處理」被操作盤56指令時,則之前被指令的「微動」及「記憶」之運作模式將被取消,而將進行「處理」之運作模式。當開關動作「記憶」被指令時亦與上述相同地進行「記憶」之運作模式。
因此,於步驟S102,運作模式選擇功能生成部341B係將運作選擇模式之開關動作中,關於步驟S101的開關動作以外之開關動作且設定於開關輸入的元件位址列舉於第3圖所示之自己保持處理程式零件10B之再利用參數No.2(在此為VB2)而適用。例如,當於步驟S101之開關動作為「微動」時,運作模式選擇功能生成部341B係將關於在第38圖中之「處理」及「記憶」設定於開關輸入的元件位址(在此為X283及X284)列舉於第3圖所示之自己保持處理程式零件10B的再利用參數No.2(VB2)而適用。藉此,生成於第47圖所示之運作模式選擇開關處理程式之第1段的中央部分。
於步驟S103中,運作模式選擇功能生成部341B係從元件規格(第35圖)抽出在操作盤56之規格(第38圖)中對應於開關動作欄位之內容的元件位址,將該元件位址適用於第3圖所示之自己保持處理程式零件10B之再利用參數No.3(在此為VB3)。例如,於第38圖所示之操作盤56之規格中,由於在開關動作之欄位係設定有「微動」,故運作模式選擇功能生成部341B係從示於第35圖之元件的規格中抽出對應於「微動」的元件位址(在此為YC00),將YC00適用於第3圖所示之自己保持處理程式零件10B之再利用參數No.3(VB3)。藉此,生成於第47圖所示之運作模式選擇開關處理程式之第1段的右部分以及第2段。
運作模式選擇功能生成部341B係將以上步驟S101至S103之動作對於操作盤56之規格(第38圖)之中有關於「運作模式選擇」的所有開關動作進行。例如,於第38圖所示之操作盤56的規格中,除了第3列的「微動」以外,尚設定有第4列的「處理」及第5列的「記憶」作為運作模式選擇的開關動作,故分別對於「處理」及「記憶」也進行步驟S101至S103之動作。藉此,生成於第47圖所示之運作模式選擇開關處理程式之第3段至第6段。
於步驟S104,運作模式選擇功能生成部341B係將適用有以上參數的自己保持處理程式零件10B作為運作模式選擇開關處理程式。藉此,從第38圖所示之操作盤56的規格中生成第47圖所示的運作模式選擇開關處理程式。
先前說明的第29圖係示有切削超控功能生成部341C所生成的操作盤處理程式之一例的圖。其次,對於切削超控功能生成部341C將元件規格(第35圖)以及關於「切削超控」的操作盤56之規格(第38圖)起用於自己保持處理程式零件10B(第3圖)及數值設定處理程式零件10C(第27圖)之再利用參數,從該自己保持處理程式零件10B及數值設定處理程式零件10C中生成用以進行於第29圖所示之切削超控控制的操作盤處理程式的動作進行說明。又,以下亦將切削超控功能生成部341C所生成的用以進行切削超控控制的操作盤處理程式稱為「超控開關處理程式」。另外,切削超控功能生成部341C係於生成超控開關處理程式之際與模式反轉功能生成部341A同樣地設定元件註解、程式註解、以及跳越用標籤,但在此省略與其相關之說明及其結果。
第50圖示有切削超控功能生成部341C之屬性。於第50圖之開關種別及開關動作係顯示有操作盤56之規格(第38圖)中相關於切削超控的內容。在此,係顯示為於稱為「切削超控」的開關種別中,在操作盤56之規格中設定有「25」、「50」、「75」、「100」之開關動作。且,於第50圖之使用零件則顯示由切削超控功能生成部341C所使用的程式零件10係自己保持處理程式零件10B以及數值設定處理程式零件10C。
第51圖為表示切削超控功能生成部341C生成切削超控開關處理程式時之動作的流程圖。以下係以第51圖說明該動作。
切削超控功能生成部341C係於步驟S111至S113中從第3圖所示之自己保持處理程式零件10B中生成切削超控開關處理程式。
於步驟S111中,切削超控功能生成部341C係將在操作盤56之規格(第38圖)的開關輸入所設定的元件位址適用於第3圖所示之自己保持處理程式零件10B之再利用參數No.1(在此為VB1)。例如,切削超控功能生成部341C係從操作盤56之規格(第38圖)將設定為「切削超控」的列從上依序讀取(在此係讀取第6列的「25」)。之後,切削超控功能生成部341C係將設定於「25」之開關輸入的元件位址(在此為X285)適用於第3圖所示之自己保持處理程式零件10B的再利用參數No.1(VB1)。藉此,生成於第29圖所示之切削超控開關處理程式之第1段的左部分。
接著,於稱為「切削超控」的開關中,若從操作盤56指令了1個開關動作,則到此為止所被指令的運作模式將被取消,而將進行被指令的1個開關動作之運作模式。例如,當開關動作「25」被操作盤56指令時,則之前被指令的「50」、「75」、及「100」之運作模式將被取消,而將進行「25」之運作模式。當開關動作「50」被操作盤56指令時,則之前被指令的「25」、「75」、及「100」之運作模式將被取消,而將進行「50」之運作模式。對於開關動作「75」及「100」亦與上述相同地分別進行「75」及「100」之運作模式。
因此,於步驟S112,切削超控功能生成部341C係將切削超控之開關動作中,關於步驟S111的開關動作以外之開關動作且設定於開關輸入的元件位址列舉於第3圖所示之自己保持處理程式零件10B之再利用參數No.2(在此為VB2)而適用。例如,當於步驟S111之開關輸入為「25」時,切削超控功能生成部341C係將關於在第38圖中之「50」、「75」、及「100」設定於開關輸入的元件位址(在此為X286至X288)列舉於第3圖所示之自己保持處理程式零件10B的再利用參數No.2(VB2)而適用。藉此,生成於第29圖所示之切削超控開關處理程式之第1段的中央部分。
於步驟S113中,切削超控功能生成部341C係將在操作盤56之規格和M碼50之規格中未被設定的內部區域性的1個元件位址適用於第3圖所示之自己保持處理程式零件10B之再利用參數No.3(在此為VB3)。例如,切削超控功能生成部341C係將M4002作為於操作盤56之規格和M碼50之規格中未被設定的元件位址而適用於第3圖所示之自己保持處理程式零件10B之再利用參數No.3(在此為VB3)。藉此,生成於第29圖所示之切削超控開關處理程式之第1段的右部分及第2段。
其次,切削超控功能生成部341C係在步驟S114至S116中,從第27圖所示之數值設定處理程式零件10C生成切削超控開關處理程式。
於步驟S114,切削超控功能生成部341C係將在步驟S113適用於自己保持處理程式零件10B之再利用參數No.3(VB3)的元件位址適用於第27圖所示之數值設定處理程式零件10C之再利用參數No.1(VB1)。例如,切削超控功能生成部341C係將於自己保持處理程式零件10B之再利用參數No.3(VB3)所適用的M4002適用於第27圖所示之數值設定處理程式零件10C之再利用參數No.1(VB1)。藉此,自己保持處理程式之處理結果被數值設定處理程式接收,而生成於第29圖所示之切削超控開關處理程式之第3段的左部分。
於步驟S115,切削超控功能生成部341C係將在操作盤56之規格(第38圖)之開關動作所設定的數值之前附加「K」的元件位址適用於第27圖所示之數值設定處理程式零件10C之再利用參數No.2(在此為VK2)。例如,切削超控功能生成部341C係將有關於在操作盤56之規格(第38圖)之開關動作「25」的為K25之元件位址適用於第27圖所示之數值設定處理程式零件10C之再利用參數No.2(VK2)。藉此,生成於第29圖所示之切削超控開關處理程式之第3段的右部分。
於步驟S116,切削超控功能生成部341C係從元件規格(第35圖)中抽出在操作盤56之規格(第38圖)中的與開關種別之欄位的內容對應的元件位址,而將該位址適用於第27圖所示之數值設定處理程式零件10C之再利用參數No.3(在此為VD3)。例如,在第38圖所示之操作盤56之規格中,由於在開關種別之欄位設定有「切削超控」,故切削超控功能生成部341C係從於第35圖所示之元件規格中抽出對應於「切削超控」的元件位址(在此為R2500),而將R2500適用於第27圖所示之數值設定處理程式零件10C之再利用參數No.3(VD3)。藉此,生成於第29圖所示之切削超控開關處理程式之第3段的右部分。
切削超控功能生成部341C係將以上步驟S111至S117之動作對於操作盤56之規格(第38圖)之中有關於「切削超控」的所有開關動作進行。例如,於第38圖所示之操作盤56的規格中,除了第6列的「25」以外,尚設定有第7列的「50」、第8列的「75」、以及第9列的「100」作為開關動作,故分別對於「50」、「75」、及「100」也進行步驟S111至S116之動作。藉此,生成於第29圖所示之切削超控開關處理程式之第4段至第12段。
於步驟S117,切削超控功能生成部341C係將適用有以上參數的自己保持處理程式零件10B及數值設定處理程式零件10C結合而作為切削超控開關處理程式。藉此,從第38圖所示之操作盤56的規格中生成第29圖所示的切削超控開關處理程式。
以上,雖對於切削超控功能生成部341C生成切削超控開關處理程式的動作進行說明,但不限於此,亦可使用於第3實施形態使用第25圖所說明的進行排他性選擇數值設定處理的程式階層零件作為切削超控功能生成部341C。此時,切削超控功能生成部341C係根據元件之規格(第35圖)、以及設定為「切削超控」的操作盤56之規格(第38圖)而生成第28圖所示之再利用參數的適用關係。
具體而言,切削超控功能生成部341C係從操作盤56之規格(第38圖)中,將在設定有為「切削超控」的開關種別之第6列中設定於開關輸入的元件位址(X285)適用於如第28圖所示之程式階層零件之參數No.1,且將設定於開關動作的數值「25」適用於程式階層零件之參數No.2。且,切削超控功能生成部341C係將M4000號左右之元件位址(M4002)適用於程式階層零件之參數No.3,且從元件規格(第35圖)抽出對應於開關種別「切削超控」的元件位址(R2500),而將R2500適用於程式階層零件之參數No.4。
同樣地,切削超控功能生成部341C係從操作盤56之規格(第38圖)中,將在設定有為「切削超控」的開關種別之第7列中設定於開關輸入的元件位址(X286)適用於程式階層零件之參數No.1,且將設定於開關動作的數值「50」適用於程式階層零件之參數No.2。且,切削超控功能生成部341C係將M4000號左右之元件位址(M4003)適用於程式階層零件之參數No.3。切削超控功能生成部341C係藉由對於操作盤56之規格(第38圖)之第8行及第9行也進行同樣的處理而生成第28圖所示之再利用參數之適用關係。之後,切削超控功能生成部341C亦可藉由進行與在第3實施形態中所說明的動作相同的動作而生成第29圖所示之切削超控開關處理程式。
以上係對於在第34圖所示之操作盤處理程式生成部341生成操作盤處理程式之動作進行說明。其次,對於第34圖所示之M碼處理程式生成部342,亦即M碼功能生成部342A一邊將元件規格(第35圖)以及第39圖所示之M碼50之規格適用於程式零件10之再利用參數,一邊從該程式零件10生成M碼處理程式的動作進行說明。
第52圖係示有於以下M碼功能生成部342A所生成的M碼處理程式之一例的圖。於第52圖所示之M碼處理程式係由以下所構成:M碼50之解碼處理程式LPA,M碼50之功能處理程式LPB,LPC,LPD,以及M碼50之完了處理程式LPE。
第53圖示有M碼功能生成部342A之屬性。第53圖之使用零件中,使用於M碼功能生成部342A的程式零件10係:M碼解碼處理程式零件10D,自己保持處理程式零件10B,AND條件處理程式零件10E,M碼完了處理程式零件10F。
第54圖為表示M碼功能生成部342A生成解碼處理程式之動作的流程圖。以下係以第54圖說明該動作。
於本實施形態中,於步驟S121,M碼功能生成部342A係使用於第41圖所示之M碼解碼處理程式零件10D而生成於第52圖所示之M碼50之解碼處理程式LPA。於步驟S122,M碼功能生成部342A係使用於第3圖所示之自己保持處理程式零件10B以及於第42圖所示之AND條件處理程式零件10E而生成於第52圖所示之各M碼50之功能處理程式LPB、LPC、LPD。於步驟S123,M碼功能生成部342A係使用第18圖所示之M碼完了處理程式零件10F而生成於第52圖所示之M碼50之完了處理程式LPE。於步驟S124,M碼功能生成部342A係使在步驟S121至S123所生成的程式結合而生成第52圖所示之M碼處理程式。
以下,對於M碼功能生成部342A生成:M碼50之解碼處理程式LPA,功能處理程式LPB、LPC、LPD、以及完了處理程式LPE的動作進行詳細說明。首先,係對於M碼功能生成部342A生成M碼50之解碼處理程式LPA的動作進行說明。
第55圖係M碼功能生成部342A使用於第41圖所示之M碼解碼處理程式零件10D,而生成M碼50之解碼處理程式LPA之動作的流程圖。於本實施形態中,M碼功能生成部342A係對於M碼50之規格(第39圖)之各列的設定從上依序進行於第55圖所示的各處理。在此,首先係對於M碼功能生成部342A藉由對於M碼50之規格(第39圖)之M3的設定進行處理,而生成第52圖所示之解碼處理程式LPA之第1段的動作進行說明。
於步驟S131,M碼功能生成部342A係從元件規格(第35圖)抽出對應於M碼選通(strobe)的元件位址(在此為XC60),將該元件位址適用於第41圖所示之M碼解碼處理程式零件10D之再利用參數No.1(在此為VB1)。
於步驟S132,M碼功能生成部342A係從元件規格(第35圖)抽出對應於M碼資料的元件位址(在此為R504),將該元件位址適用於第41圖所示之M碼解碼處理程式零件10D之再利用參數No.2(在此為VD2)。
於步驟S133,M碼功能生成部342A係從M碼50規格(第39圖)生成在設定於M碼欄位的M碼編號(在此為M3)之數值(在此為3)前加上K的文字列(K3),將該文字列適用於第41圖所示之M碼解碼處理程式零件10D之再利用參數No.3(在此為VK3)。
於步驟S134,M碼功能生成部342A係從M碼50規格(第39圖)中將設定於M碼欄位的M碼編號(在此為M3)原封不動地作為元件位址而適用於第41圖所示之M碼解碼處理程式零件10D之再利用參數No.4(在此為VB4)。
藉由以上動作,對於M碼50之規格(第39圖)之M3的設定生成第52圖所示之解碼處理程式LPA之第1段。M碼功能生成部342A係將以上步驟S131至S134之動作依序對於M碼50之規格(第39圖)之M4的設定、M5的設定進行至沒有設定為止。藉此,生成第52圖所示之解碼處理程式LPA之第2至4段。
於步驟S135,M碼功能生成部342A係將進行以上參數適用的M碼解碼處理程式零件10D作為解碼處理程式。藉此,可從於第39圖所示之M碼50之規格中生成第52圖所示之解碼處理程式LPA。
其次,對於M碼功能生成部342A生成M碼50之功能處理程式LPB、LPC、LPD的動作進行詳細說明。
第56圖係表示M碼功能生成部342A生成各M碼50之功能處理程式時之動作的流程圖。於本實施形態中,M碼功能生成部342A係對於M碼50之規格(第39圖)之各列的設定從上依序進行於第56圖所示的處理。
於步驟S141,M碼功能生成部342A係判定在M碼50之規格(第39圖)之作為處理對象的列中是否設定有功能輸出。當M碼功能生成部342A判定為設定有功能輸出時,進入步驟S142,判定為非時,則進入步驟S145。例如,在示於第39圖的設定中,在M3、M4、M30之設定中由於設定有功能輸出故進入步驟S142,在M5之設定中由於沒有設定功能輸出故進入步驟S145。
於步驟S142,M碼功能生成部342A係於以M碼50之規格(第39圖)作為處理對象的列中,判定其是否有設定功能取消。M碼功能生成部342A係於判定為有設定功能取消時,進入步驟S143,判定為非時,則進入步驟S144。例如,於如第39圖之設定中,由於在M3,M4之設定中設定有功能取消故進入步驟S143,由於在M30之設定中未設定有功能取消故進入步驟S144。
於步驟S143中,M碼功能生成部342A係根據M碼50之規格(第39圖)中作為處理對象的列之設定與自己保持處理程式零件10B而生成M碼50之功能處理程式。例如,M碼功能生成部342A係根據於第39圖所示之M碼50的規格M3,M4之設定與示於第3圖的自己保持處理程式零件10B而分別生成第52圖所示之功能處理程式LPB、LPC。對於在此步驟S143的動作將於後詳述。之後,以在M碼50之規格(第39圖)中為現在處理對象之列下的設定作為處理對象而回到步驟S141。
於步驟S144中,M碼功能生成部342A係根據M碼50之規格(第39圖)中作為處理對象的列之設定與AND條件處理程式零件10E而生成M碼50之功能處理程式。例如,M碼功能生成部342A係根據於第39圖所示之M碼50的規格M30之設定與示於第42圖的AND條件處理程式零件10E而生成第52圖所示之功能處理程式LPD。對於在此步驟S144的動作將於後詳述。之後,以在M碼50之規格(第39圖)中為現在處理對象之列下的設定作為處理對象而回到步驟S141。
於步驟S145中,M碼功能生成部342A並不對於M碼50之規格(第39圖)中作為處理對象的列之設定生成M碼50之功能處理程式。例如,不對於第39圖所示之M碼50之規格的M5之設定生成M碼50之功能處理程式。從而,如第52圖所示,在對應於M碼50之規格的M3,M4設定的功能處理程式LPB、LPC之下將生成對應於M碼50之規格的M30設定的功能處理程式LPD。於步驟S145之後,以在M碼50之規格(第39圖)中為現在處理對象之列下的設定作為處理對象而回到步驟S141。
接著,對於上述步驟S143之動作進行說明。
第57圖係表示於上述步驟S143,亦即於作為處理對象的列設定有功能取消時,M碼功能生成部342A生成功能處理程式時之動作的流程圖。以下,係以根據M碼50之規格(第39圖)之M3的設定,M碼功能生成部342A生成第52圖所示之功能處理程式LPB之動作為例進行說明。
首先,於步驟S151,M碼功能生成部342A係從M碼50之規格(第39圖)中將設定於M碼的欄位之M碼編號(在此為M3)原封不動地作為元件位址而適用於第3圖所示之自己保持處理程式零件10B之再利用參數No.1(在此為VB1)。
於步驟S152,M碼功能生成部342A係判定於M碼50之規格(第39圖)之功能開始欄位中是不是設定有「區塊軸移動完了後」。M碼功能生成部342A係於判定設定有「區塊軸移動完了後」時進入步驟S153,在此之外的情形係不進行步驟S153而進入步驟S154。又,於第39圖所示之M3的設定中,由於在功能開始欄位並未設定有區塊軸移動完了後,故於步驟S152後將不進行步驟S153而進行步驟S154。
於步驟S153,M碼功能生成部342A係從元件規格(第35圖)抽出對應於移動指令完了的元件位址,將該元件位址適用於第3圖所示之自己保持處理程式零件10B之再利用參數No.1(在此為VB1)。假設若於第39圖所示之M3的設定中進行步驟S153,則M碼功能生成部342A係從元件規格(第35圖)中抽出對應於移動指令完了的XC18,將該元件位址串聯地追加於適用在自己保持處理程式零件10B之再利用參數No.1(VB1)的M3。
於步驟S154,M碼功能生成部342A係從M碼50的規格(第39圖)將設定於功能取消欄位的M碼編號(在此為M4,M5)原封不動地作為元件位址適用於第3圖所示之自己保持處理程式零件10B之再利用參數No.2(在此為VB2)。
於步驟S155,M碼功能生成部342A係從M碼50規格(第39圖)將設定於功能輸出的元件位址(在此為Y1898)適用於第3圖所示之自己保持處理程式零件10B之再利用參數No.3(在此為VB3)。
於步驟S156,M碼功能生成部342A係將進行過以上參數適用的自己保持處理程式零件10B作為具有功能取消的功能處理程式。藉此,可根據第39圖所示之M碼50之規格的M3之設定而生成第52圖所示之功能處理程式LPB。M碼功能生成部342A係藉由於M碼50之規格(第39圖)的M4之設定也進行同樣的動作而生成第52圖所示之功能處理程式LPC。
其次,對於上述步驟S144之動作進行說明。
第58圖係表示於上述步驟S144,亦即於作為處理對象的列未設定有功能取消時,M碼功能生成部342A生成功能處理程式時之動作的流程圖。以下,係就根據M碼50之規格(第39圖)之M30的設定,M碼功能生成部342A生成第52圖所示之功能處理程式LPD之動作進行說明。
首先,於步驟S161,M碼功能生成部342A係從M碼50之規格(第39圖)中將設定於M碼的欄位之M碼編號(在此為M30)原封不動地作為元件位址而適用於第42圖所示之AND條件處理程式零件10E之再利用參數No.1(在此為VB1)。
於步驟S162,M碼功能生成部342A係判定於M碼50之規格(第39圖)之功能開始欄位中是否設定有「區塊軸移動完了後」。M碼功能生成部342A係於判定為設定有「區塊軸移動完了後」時進入步驟S163,在此之外的情形則不進行步驟S163而進入步驟S164。又,於第39圖所示之M30的設定中,由於在功能開始欄位設定有區塊軸移動完了後,故於步驟S162後先進行步驟S163再進行步驟S164。
於步驟S163,M碼功能生成部342A係從元件規格(第35圖)抽出對應於移動指令完了的元件位址,將該元件位址列舉而適用於第42圖所示之AND條件處理程式零件10E之再利用參數No.1(在此為VB1)。若於第39圖所示之M30的設定中進行步驟S163,則M碼功能生成部342A係從元件規格(第35圖)中抽出對應於移動指令完了的XC18,將該元件位址串聯地追加於適用在AND條件處理程式零件10E之再利用參數No.1(在此為VB1)的M30。
於步驟S164,M碼功能生成部342A係從M碼50之規格(第39圖)將設定於功能輸出的元件位址(在此為YC1A)適用於第42圖所示之AND條件處理程式零件10E之再利用參數No.2(在此為VB2)。
於步驟S165,M碼功能生成部342A係將進行過以上參數適用的AND條件處理程式零件10E作為不具有功能取消的功能處理程式。藉此,可根據第39圖所示之M碼50之規格的M30之設定而生成第52圖所示之功能處理程式LPD。
其次,對於M碼功能生成部342A生成M碼50之完了處理程式LPE之動作進行說明。
第59圖係表示M碼功能生成部342A使用第18圖所示之M碼完了處理程式零件10F生成M碼50之完了處理程式時之動作的流程圖。
於步驟S171,M碼功能生成部342A係從M碼50之規格(第39圖)中將設定於M碼的欄位之所有M碼編號(在此為M3,M4,M5,M30)分別原封不動地作為元件位址而適用於相當於第18圖所示之M碼完了處理程式零件10F之參數No.1的第17圖所示之AND條件處理要件零件之參數No.1。以下,係將該步驟S171分為步驟S171A與S171B詳細說明。
於步驟S171A,M碼功能生成部342A係從M碼50規格(第39圖)將設定於第1列M碼欄位的M碼編號原封不動地作為元件位址而適用於第17圖所示之AND條件處理要件零件之再利用參數No.1(在此為VB1)。且,於步驟S171B,當M碼功能生成部342A於第1列之功能完了設定有元件位址時,則將該元件位址列舉(串聯地追加)適用在第17圖所示之AND條件處理要件零件之再利用參數No.1(在此為VB1),回到步驟S171A後對於第2列以後的設定也進行與第1列相同的動作。另一方面,於步驟S171B,M碼功能生成部342A係於第1列之功能完了未設定有元件位址時,原封不動地回到步驟S171A且對於第2列以後之設定也進行與第1列相同的動作。
例如,於第39圖所示之第1列之設定中,由於設定於M碼欄位的M碼編號為M3,故該M3可適用於AND條件處理要件零件之VB1。且,於同第1列之設定中,由於在功能完了欄位設定有為X188D的元件位址,故該X188D係被列舉(串聯地追加)於適用在AND條件處理要件零件的M3而適用。藉此,生成第52圖所示之完了處理程式LPE之第1段的左部分(M3與X188D)。
其次,於第39圖所示之第2列的設定中,由於設定於M碼欄位的M碼編號為M4,故該M4適用於AND條件處理要件零件的VB1。且,於同第2列之設定中,由於在功能完了欄位設定有為X188D的元件位址,故該X188D係被列舉(串聯地追加)於適用在AND條件處理要件零件的M4而適用。且,M碼功能生成部342A係將如此而生成的程式並聯地追加於根據第1列之設定而得的程式(M3與X188D)之下。藉此,生成第52圖所示之完了處理程式LPE之第2段(M4與X188D)。
同樣地,於第39圖所示之第3列的設定中,由於設定於M碼欄位的M碼編號為M5,故可將該M5適用於AND條件處理要件零件之VB1。且,於同第3列之設定中,由於在功能完了欄位設定有為X188C的元件位址,故該X188DC被列舉(串聯地追加)於適用在AND條件處理要件零件的M5而適用。且,M碼功能生成部342A係將如此而生成的程式並聯地追加於根據第2列之設定而得的程式(M4與X188D)之下。藉此,生成第52圖所示之完了處理程式LPE之第3段(M5與X188C)。
同樣地,於第39圖所示之第4列的設定中,由於設定於M碼欄位的M碼編號為M30,故可將該M30適用於AND條件處理要件零件之VB1。且,於同第4列之設定中,由於在功能完了欄位並未設定有元件位址,故M碼功能生成部342A係將該M30適用在AND條件處理要件零件而得的程式追加於根據第3列之設定而得的程式(M5與X188C)之下。藉此,生成第52圖所示之完了處理程式LPE之第4段(M30)。
於步驟S172,M碼功能生成部342A係從元件規格(第35圖)抽出對應於M碼完了的元件位址(在此為YC1E)而將該元件位址適用於第18圖所示之M碼完了處理程式零件10F之再利用參數No.2(在此為YC1E)。藉此,生成第52圖所示之完了處理程式LPE之第1段的右側。
於步驟S173,M碼功能生成部342A係將實施以上的參數適用的M碼完了處理程式零件10F作為M碼50之完了處理程式。藉此,從第39圖所示之M碼50的規格中生成第52圖所示之完了處理程式LPE。
以上,對於操作盤處理程式生成部341生成操作盤處理程式的動作和M碼處理程式生成部342生成M碼處理程式的動作以該等程式為階梯程式的情形為例而進行說明。程式編輯部6係結合操作盤處理程式生成部341所生成的操作盤處理程式與M碼處理程式生成部342所生成的M碼處理程式而作為CNC工作機械46之程式。此時,可生成為1個程式,亦可將程式以零件為單位分割而生成。
當以零件為單位分割生成時,可將其依構成程式生成的程式零件單位而分割為:模式反轉開關處理、運作模式選擇開關處理、切削超控開關處理、M碼解碼處理、M碼功能處理、M碼完了處理(此時係生成6個分割程式),亦可將其彙整為:操作盤處理、M碼處理(此時係生成2個分割程式)。另外,可將分割程式生成於同一檔案,亦可將每個分割程式分別生成於不同檔案。
當於程式編輯部6所生成的程式為階梯程式時,係於結合操作盤處理程式與M碼處理程式而構成的階梯程式之最後追記END處理命令而作為CNC工作機器46之階梯程式。此時,可如第60圖所示地生成為1個階梯程式,亦可如第61圖所示地將階梯程式分割為零件單位而生成。當分割為零件單位而生成時,可將其依構成程式生成的程式零件單位而分割為:模式反轉開關處理、運作模式選擇開關處理、切削超控開關處理、M碼解碼處理、M碼功能處理、M碼完了處理(此時係生成6個分割程式),亦可將其彙整為:操作盤處理、M碼處理(此時係生成2個分割程式)。又,當以零件單位進行分割時,必須於階梯程式之前端生成由呼叫分割程式的CALL命令構成的階梯程式,另外,需於分割程式之前端生成為跳越用標籤的程式指標,於終端生成RET命令,但於生成上述的情形中仍可使用於本實施形態中所說明的技術。另外,可將分割階梯程式生成於同一檔案,亦可將每個分割階梯程式分別生成於不同檔案。
若於生成階梯程式所使用的元件位址賦予元件註解,則在確認階梯程式時較方便。例如,於操作盤56之情形中,將操作盤處理程式生成部341構成為對於設定在開關輸入的元件位址,結合在開關種別所選擇的文字列與在開關動作所選擇/設定的文字列而生成為其元件註解即可。另外,於M碼50之情形中,將M碼處理程式生成部342構成為對於與M碼50相同的元件位址,將設定於功能名的文字列作為元件位址而賦予,而於設定在功能輸出的元件則將設定於功能名的文字列與設定於功能輸出的文字列結合而生成為其元件註解即可。
就具體例而言,則如使用第45圖說明的模式反轉功能生成部341A在程式生成的過程中結合元件註解而生成之順序所示,依此順序而生成第43圖所示之元件註解。
依據如上所述之本實施形態的程式作成支援裝置1,則可一邊將記述於規格記述檔案30的規格以及在規格設定部31所設定的規格適用於在程式零件10之再利用時應適用的參數或列舉而應適用的參數,一邊從該程式零件10生成可於控制器或微電腦執行的計測監視控制程式。從而,由於程式幾乎自動地生成,故可以作成恰好符合於該規格所記述的功能且無瑕疵地動作的程式,並且減輕程式作成的勞力。
1...程式作成支援裝置
2...微處理器
3...顯示部
4...輸入部
5...保存部
6...程式編輯部
8...編輯後之程式
9...附屬資訊檔案
10...程式零件
10A...模式反轉處理程式零件
10B...自己保持處理程式零件
10C...數值設定處理程式零件
10D...M碼解碼處理程式零件
10E...AND條件處理程式零件
10F...M碼完了處理程式零件
11...程式零件保持部
12...程式零件定義部
14、18、22...再利用參數
15...程式要件零件定義部
17...程式要件零件
19...程式階層零件定義部
21...程式階層零件
30...規格記述檔案
31...規格設定部
31A...操作盤規格設定部
31B...M碼規格設定部
32...元件規格保持部
34...程式生成部
46...工作機械
47...數值控制裝置
48...加工程式
49...G碼
50...M碼
51...運動控制部
52...程序控制部
53...階梯程式
54...主軸馬達
55...伺服馬達
56...操作盤
57...附帶設備
29...規格輸入
341...操作盤處理程式生成部
341A...模式反轉功能生成部
341B...運作模式選擇功能生成部
341C...切削超控功能生成部
342...M碼處理程式生成部
342A...M碼功能生成部
第1圖為表示第1實施形態之程式作成支援裝置之硬體構成的圖。
第2圖為表示第1實施形態之程式作成支援裝置之軟體構成的圖。
第3圖為表示第1實施形態之程式作成支援裝置之程式零件定義畫面之一例的圖。
第4圖為用以說明第1實施形態之程式零件所包含的賦予有記號「*」的要件的圖。
第5圖為用以說明第1實施形態之程式零件所包含的賦予有記號「+」的要件的圖。
第6圖為示有第1實施形態之程式零件的定義程序的流程圖。
第7圖為示有再利用第1實施形態之自己保持處理程式零件而生成的主軸正轉處理程式(階梯線圖形式)的圖。
第8圖為示有再利用第1實施形態之自己保持處理程式零件而生成的主軸正轉處理程式(指令清單形式)的圖。
第9圖為示有第1實施形態之程式零件之定義程序變更例的流程圖。
第10圖為示有第1實施形態之程式零件再利用畫面之一例的圖。
第11圖為示有再利用第1實施形態之程式零件的程式之生成方法的流程圖。
第12圖為示有第1實施形態之程式零件再利用畫面之一例的圖。
第13圖為示有再利用第1實施形態之自己保持處理程式零件而生成的主軸定向處理程式的圖。
第14圖係表示第1實施形態之程式作成支援裝置所生成的程式之附屬資訊檔案之一例的圖。
第15圖係表示第1實施形態之附屬資訊檔案之生成方法的流程圖。
第16圖為表示第2實施形態之程式作成支援裝置之軟體構成的圖。
第17圖為表示第2實施形態之程式要件零件定義畫面之一例的圖。
第18圖為示有第2實施形態之程式零件定義畫面之一例的圖。
第19圖為示有第2實施形態之程式零件再利用畫面之一例的圖。
第20圖為示有附屬於第2實施形態之程式零件再利用畫面的程式要件零件再利用畫面之一例的圖。
第21圖為示有附屬於第2實施形態之程式零件再利用畫面的程式要件零件再利用畫面之一例的圖。
第22圖為示有再利用第2實施形態之M碼完了處理程式零件而生成之程式的圖。
第23圖為表示第3實施形態之程式作成支援裝置之軟體構成的圖。
第24圖為表示第3實施形態之程式階層零件之定義程序的流程圖。
第25圖為示有第3實施形態之程式階層零件定義畫面之一例的圖。
第26圖為示有第3實施形態之程式階層零件定義畫面之一例的圖。
第27圖為示有第3實施形態之程式零件定義畫面之一例的圖。
第28圖為示有第3實施形態之階層零件再利用畫面之一例的圖。
第29圖為示有再利用第3實施形態之排他性選擇數值設定程式階層零件而生成的切削超控設定開關程式的圖。
第30圖為示有切削超控設定開關之一例的圖。
第31圖為示有再利用第3實施形態之程式階層零件的程式生成方法的流程圖。
第32圖為示有第1實施形態之程式零件再利用畫面之一例的圖。
第33圖為表示第4實施形態之工作機械構成的方塊圖。
第34圖為表示第4實施形態之程式作成支援裝置之軟體構成的圖。
第35圖為示有元件規格之設定的圖。
第36圖為示有操作盤規格之設定的圖。
第37圖為示有操作盤規格之設定的圖。
第38圖為示有操作盤規格之設定的圖。
第39圖為示有M碼規格之設定的圖。
第40圖為示有第4實施形態之模式反轉處理程式零件的圖。
第41圖為示有第4實施形態之M碼解碼處理程式零件的圖。
第42圖為示有第4實施形態之AND條件處理程式零件的圖。
第43圖為示有由模式反轉功能生成部所作成的操作盤處理程式的圖。
第44圖為示有模式反轉功能生成部之屬性的圖。
第45圖為示有模式反轉功能生成部之動作的流程圖。
第46圖為示有模式反轉功能生成部所取得的元件註解的圖。
第47圖為示有由運作模式選擇功能生成部所作成的操作盤處理程式的圖。
第48圖為示有運作模式選擇功能生成部之屬性的圖。
第49圖為示有運作模式選擇功能生成部之動作的流程圖。
第50圖為示有切削超控功能生成部之屬性的圖。
第51圖為示有切削超控功能生成部之動作的流程圖。
第52圖為示有由M碼功能生成部所作成的M碼處理程式的圖。
第53圖為示有M碼功能生成部之屬性的圖。
第54圖為示有M碼功能生成部之動作的流程圖。
第55圖為示有M碼功能生成部生成M碼解碼處理程式之動作的流程圖。
第56圖為示有M碼功能生成部生成功能處理程式之動作的流程圖。
第57圖為示有M碼功能生成部生成功能處理程式之動作的流程圖。
第58圖為示有M碼功能生成部生成功能處理程式之動作的流程圖。
第59圖為示有M碼功能生成部生成完了處理程式之動作的流程圖。
第60圖為示有程式編輯部所生成的階梯程式之一例的圖。
第61圖為示有程式編輯部所生成的階梯程式之一例的圖。
1...程式作成支援裝置
6...程式編輯部
8...編輯後之程式
9...附屬資訊檔案
10...程式零件
11...程式零件保持部
12...程式零件定義部
14...再利用參數
Claims (9)
- 一種程式作成支援裝置,係具有:程式零件,其至少含有一個程式要件,藉由讓使用者設定對應於各程式要件的再利用參數之內容而生成對應於該設定內容的程式;程式零件保持部,保持有前述程式零件;以及程式編輯部,將前述程式零件再利用而編輯程式;前述程式零件係含有:表示同一程式要件的AND結合的AND邏輯結合程式要件、以及表示同一程式要件的OR結合的OR邏輯結合程式要件之中的至少任一者;藉由在前述AND邏輯結合程式或前述OR邏輯結合程式要件的再利用參數列舉而設定參數,而生成含有以對應於該參數的列舉數量之次數進行了前述AND結合或前述OR結合的同一程式要件的程式。
- 如申請專利範圍第1項所述之程式作成支援裝置,其復具有使用者可定義新的前述程式零件之程式零件定義部;當於前述程式零件定義部中定義了包含有前述AND邏輯結合程式要件及前述OR邏輯結合程式要件之中的至少任一者的前述新程式零件時,藉由在包含在前述新程式零件中的前述AND邏輯結合程式要件或前述OR邏輯結合程式要件的再利用參數列舉而設定參數,而生成含有以對應於該參數的列舉 數量之次數進行了前述AND結合或前述OR結合的同一程式要件的程式。
- 如申請專利範圍第1項所述之程式作成支援裝置,其中,前述程式零件保持部復保持有:程式要件零件,其可作為程式零件之構成要件使用,且至少含有1個程式要件,藉由讓使用者設定對應於各程式要件的再利用參數之內容而生成對應於該設定內容的程式;前述程式要件零件係亦可作為其他程式要件零件的構成要件使用;前述程式零件或前述程式要件零件係含有表示同一程式要件零件之AND結合的AND邏輯結合程式要件零件、以及表示同一程式要件零件之OR結合的OR邏輯結合程式要件零件之中的至少任一者;藉由在前述AND邏輯結合程式要件零件或前述OR邏輯結合程式要件零件的再利用參數列舉而設定參數,而生成含有以對應於該參數的列舉數量之次數進行了前述AND結合或前述OR結合的同一程式要件零件的程式。
- 如申請專利範圍第3項所述之程式作成支援裝置,其復具有:程式要件零件定義部,讓使用者可定義新的前述程式要件零件;以及 程式零件定義部,讓使用者可使用程式要件零件定義新的前述程式零件;當於前述程式要件零件定義部中定義了包含有前述AND邏輯結合程式要件零件以及前述OR邏輯結合程式要件零件之中的至少任一者的前述新程式要件零件時,藉由在包含在前述新程式要件零件中的前述AND邏輯結合程式要件零件或前述OR邏輯結合程式要件零件的再利用參數列舉而設定參數,而生成含有以對應於該參數的列舉數量之次數進行了前述AND結合或前述OR結合的同一程式要件零件的程式;當於前述程式零件定義部中定義了包含有前述AND邏輯結合程式要件及前述OR邏輯結合程式要件之中的至少任一者的前述新程式零件時,藉由在包含在前述新程式零件中的前述AND邏輯結合程式要件或前述OR邏輯結合程式要件的再利用參數列舉而設定參數,而生成含有以對應於該參數的列舉數量之次數進行了前述AND結合或前述OR結合的同一程式要件的程式。
- 如申請專利範圍第1項至第3項中任一項所述之程式作成支援裝置,其中,前述程式零件保持部係復保持有:程式階層零件,其至少含有1個程式零件,藉由讓使用者設定各程式零件之附加關聯於各程式要件的再利用參數之內容而生 成對應於該設定內容的程式;前述程式編輯部可再利用前述程式階層零件而編輯程式;前述程式階層零件亦可作為其他程式階層零件之構成要件使用;且前述程式階層零件係藉由於再利用參數列舉而設定複數個參數,而生成結合有對應於各參數的複數個程式零件之程式。
- 如申請專利範圍第5項所述之程式作成支援裝置,其復具有使用者可使用程式零件定義新的程式階層零件之程式階層零件定義部;在每次將作為某一個參數的參數予以變更時,均進行將被定義為前述新程式階層零件的再利用參數的複數個參數區分為該某一個參數與其他參數而適用於前述程式零件之再利用參數的處理,藉此生成程式。
- 如申請專利範圍第1項至第3項中任一項所述之程式作成支援裝置,其中,前述程式編輯部復具有根據設定於前述再利用參數之各者的參數而生成關於編輯後之程式的附屬資訊的手段。
- 如申請專利範圍第1項至第3項中任一項所述之程式作成支援裝置,其中,前述程式編輯部復具有:程式生成部,其係一邊將記述於規格記述檔案的預定規格適用於前述程式零件保持部所保持的程式零件之前述再利用參數,一邊從該程式零件生成程式。
- 如申請專利範圍第8項所述之程式作成支援裝置,其中,復具有:規格設定部,係設定預定規格;前述程式生成部係一邊將於前述規格設定部所設定的預定規格適用於前述程式零件保持部所保持的程式零件之前述再利用參數,一邊從該程式零件生成程式。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009296780 | 2009-12-28 | ||
PCT/JP2010/064244 WO2011080945A1 (ja) | 2009-12-28 | 2010-08-24 | プログラム作成支援装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201131333A TW201131333A (en) | 2011-09-16 |
TWI464558B true TWI464558B (zh) | 2014-12-11 |
Family
ID=44226366
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW099137909A TWI464558B (zh) | 2009-12-28 | 2010-11-04 | 程式作成支援裝置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8843885B2 (zh) |
JP (1) | JP5506822B2 (zh) |
CN (1) | CN102640112B (zh) |
DE (1) | DE112010005023B4 (zh) |
TW (1) | TWI464558B (zh) |
WO (1) | WO2011080945A1 (zh) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5785130B2 (ja) * | 2012-04-19 | 2015-09-24 | 三菱電機株式会社 | プログラム生成装置 |
DE112013006481B4 (de) * | 2013-02-22 | 2017-01-12 | Mitsubishi Electric Corporation | Systementwicklungsgerät, Systementwicklungsverfahren und Systementwicklungsprogramm |
DE112013006688T5 (de) * | 2013-03-07 | 2015-10-29 | Mitsubishi Electric Corporation | Kontaktplanprogramm-Anzeigeprogramm und Kontaktplanprogramm-Anzeigevorrichtung |
WO2014155717A1 (ja) * | 2013-03-29 | 2014-10-02 | 三菱電機株式会社 | シーケンスプログラム部品作成プログラムおよびシーケンスプログラム部品作成装置 |
US20160132305A1 (en) * | 2013-04-08 | 2016-05-12 | Mitsubishi Electric Corporation | Program graph display device, program graph display method, and program graph display program |
JP6111210B2 (ja) * | 2013-08-23 | 2017-04-05 | 日本電信電話株式会社 | 情報生成装置、情報生成方法及び情報生成プログラム |
TWI501059B (zh) * | 2013-09-12 | 2015-09-21 | Syntec Inc | 用於工具機之工件程式解譯方法 |
CN103605318B (zh) * | 2013-11-14 | 2017-02-15 | 北京铭隆世纪科技有限公司 | Cnc控制器的功能定制方法、装置以及cnc控制器 |
US10248107B2 (en) * | 2014-09-30 | 2019-04-02 | Makino Milling Machine Co., Ltd. | Control device for machine tool, and machine tool |
KR101846140B1 (ko) * | 2015-04-16 | 2018-04-05 | 미쓰비시덴키 가부시키가이샤 | 프로그램 진단 장치, 프로그램 진단 방법 및 프로그램 진단 프로그램 |
JP6079817B2 (ja) * | 2015-04-21 | 2017-02-15 | 株式会社安川電機 | ラダープログラム作成装置、コンピュータープログラム及びラダープログラム作成方法 |
CN104899042B (zh) * | 2015-06-15 | 2018-07-24 | 江南大学 | 一种嵌入式机器视觉检测程序开发方法及系统 |
JP6520545B2 (ja) * | 2015-08-10 | 2019-05-29 | オムロン株式会社 | サポート装置およびサポートプログラム |
JP6673359B2 (ja) * | 2015-08-27 | 2020-03-25 | 日本電気株式会社 | システム構築支援システム、方法およびプログラム |
JP6400558B2 (ja) * | 2015-11-17 | 2018-10-03 | ファナック株式会社 | シーケンス制御プログラミング装置、シーケンス制御プログラミング方法及び作業システム |
CN106527335B (zh) * | 2016-12-08 | 2019-03-19 | 湖南戈人自动化科技有限公司 | 一种支持协程功能的plc控制器 |
US20200183367A1 (en) * | 2016-12-22 | 2020-06-11 | Mitsubishi Electric Corporation | Program development support device and method for managing program component |
US11054809B2 (en) * | 2017-03-30 | 2021-07-06 | Citizen Watch Co., Ltd. | Control device for machine tool |
CN106990750B (zh) * | 2017-04-01 | 2019-12-24 | 贝加莱工业自动化(中国)有限公司 | 一种梯形图在线编辑方法 |
US11474496B2 (en) * | 2017-04-21 | 2022-10-18 | Rockwell Automation Technologies, Inc. | System and method for creating a human-machine interface |
JP2018190133A (ja) * | 2017-05-01 | 2018-11-29 | ファナック株式会社 | ラダープログラム編集装置 |
KR102496699B1 (ko) * | 2017-11-08 | 2023-02-06 | 현대자동차주식회사 | 다축헤드 가공설비의 공구파손 검지 장치 및 방법 |
WO2019244226A1 (ja) * | 2018-06-19 | 2019-12-26 | 三菱電機株式会社 | プログラム実行支援装置、プログラム実行支援方法、およびプログラム実行支援プログラム |
JP7302937B2 (ja) * | 2019-05-28 | 2023-07-04 | 岩井ファルマテック株式会社 | 制御プログラムの作成支援システム及び作成支援プログラム |
DE102020206303A1 (de) * | 2019-06-04 | 2020-12-10 | Fanuc Corporation | Werkzeugmaschinensteuerung und werkzeugmaschine |
TWI757926B (zh) * | 2020-10-22 | 2022-03-11 | 財團法人工業技術研究院 | 工具機數值控制器軟體動態產生裝置及方法 |
WO2024116261A1 (ja) * | 2022-11-29 | 2024-06-06 | ファナック株式会社 | プログラム生成装置、方法およびプログラム |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0749651A (ja) * | 1993-08-09 | 1995-02-21 | Toshiba Corp | 制御プログラムの作成支援装置 |
JPH09282015A (ja) * | 1996-04-09 | 1997-10-31 | Fuji Electric Co Ltd | 情報処理装置 |
US20060155889A1 (en) * | 2004-04-15 | 2006-07-13 | Hiroyuki Furushima | Programmable logic controller peripheral device and program creation method thereof |
JP2008204237A (ja) * | 2007-02-21 | 2008-09-04 | Mitsubishi Electric Corp | プログラム作成支援装置およびプログラム実行装置 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4870575A (en) * | 1987-10-01 | 1989-09-26 | Itt Corporation | System integrated fault-tree analysis methods (SIFTAN) |
JPH03109603A (ja) * | 1989-09-22 | 1991-05-09 | Mitsubishi Electric Corp | プログラマブルコントローラのプログラミング装置 |
US5237652A (en) * | 1990-11-30 | 1993-08-17 | Mcmanus Kirby L | Programming system for programmable logic controller |
JP3251423B2 (ja) * | 1994-05-16 | 2002-01-28 | 三菱電機株式会社 | プログラマブルコントローラのプログラミング機器およびプログラマブルコントローラ用機能ユニット |
JP3461400B2 (ja) | 1995-02-17 | 2003-10-27 | 和泉電気株式会社 | シーケンス制御プログラム作成装置 |
JPH1124905A (ja) * | 1997-07-02 | 1999-01-29 | Mitsubishi Electric Corp | プログラムの開発方法 |
JPH11338514A (ja) | 1998-05-22 | 1999-12-10 | Nissan Motor Co Ltd | プログラマブルコントローラ |
US7275236B1 (en) * | 2000-11-24 | 2007-09-25 | Mitsubishi Denki Kabushiki Kaisha | Method for programming a multiple device control system using object sharing |
JP4516224B2 (ja) | 2001-02-02 | 2010-08-04 | 株式会社キーエンス | ラダー図作成プログラム |
ATE376691T1 (de) * | 2002-02-22 | 2007-11-15 | Neosera Systems Ltd | Verfahren und prozessor zur parallelen verarbeitung einer logikereignis-simulation |
JP4266334B2 (ja) | 2003-09-19 | 2009-05-20 | 株式会社キーエンス | ラダープログラムマクロ作成装置、ラダープログラムマクロ作成方法、ラダープログラムマクロ作成プログラムおよびコンピュータで読み取り可能な記録媒体 |
JP3915808B2 (ja) * | 2003-09-26 | 2007-05-16 | オムロン株式会社 | プログラマブルコントローラおよびプログラマブルコントローラシステムならびにcpuユニット |
DE602005015052D1 (de) | 2004-03-31 | 2009-08-06 | Omron Tateisi Electronics Co | Vorrichtung zur Entwicklungsunterstützung |
JP3925557B2 (ja) * | 2005-02-28 | 2007-06-06 | オムロン株式会社 | パラメータ設定装置 |
US8079027B2 (en) * | 2006-09-08 | 2011-12-13 | Via Technologies, Inc. | Programming language translation systems and methods |
CN100517144C (zh) * | 2007-10-26 | 2009-07-22 | 华中科技大学 | 分布式开放体系结构的数控系统 |
JP2009301163A (ja) | 2008-06-11 | 2009-12-24 | Fuji Xerox Co Ltd | 生産管理装置、及びプログラム |
-
2010
- 2010-08-24 JP JP2011547356A patent/JP5506822B2/ja active Active
- 2010-08-24 WO PCT/JP2010/064244 patent/WO2011080945A1/ja active Application Filing
- 2010-08-24 CN CN201080053863.5A patent/CN102640112B/zh active Active
- 2010-08-24 DE DE112010005023.6T patent/DE112010005023B4/de active Active
- 2010-08-24 US US13/503,747 patent/US8843885B2/en active Active
- 2010-11-04 TW TW099137909A patent/TWI464558B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0749651A (ja) * | 1993-08-09 | 1995-02-21 | Toshiba Corp | 制御プログラムの作成支援装置 |
JPH09282015A (ja) * | 1996-04-09 | 1997-10-31 | Fuji Electric Co Ltd | 情報処理装置 |
US20060155889A1 (en) * | 2004-04-15 | 2006-07-13 | Hiroyuki Furushima | Programmable logic controller peripheral device and program creation method thereof |
JP2008204237A (ja) * | 2007-02-21 | 2008-09-04 | Mitsubishi Electric Corp | プログラム作成支援装置およびプログラム実行装置 |
Non-Patent Citations (1)
Title |
---|
GX Developer Version 8 作業手冊 ( operating manual ), 三菱電機公司,2003/03 * |
Also Published As
Publication number | Publication date |
---|---|
CN102640112A (zh) | 2012-08-15 |
US8843885B2 (en) | 2014-09-23 |
WO2011080945A1 (ja) | 2011-07-07 |
JP5506822B2 (ja) | 2014-05-28 |
DE112010005023T5 (de) | 2012-10-18 |
TW201131333A (en) | 2011-09-16 |
JPWO2011080945A1 (ja) | 2013-05-09 |
US20120222001A1 (en) | 2012-08-30 |
CN102640112B (zh) | 2015-05-13 |
DE112010005023B4 (de) | 2023-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI464558B (zh) | 程式作成支援裝置 | |
US5177420A (en) | Method of and apparatus for generating control program | |
US6154684A (en) | Template language for industrial controller programming | |
EP1290509A2 (en) | Programming automation by demonstration | |
KR101627488B1 (ko) | 엔지니어링 툴, 프로그램 편집 장치 및 프로그램 편집 시스템 | |
WO2010116265A1 (en) | Method for automatically partitioning a part program into fundamental operations | |
JP5777837B2 (ja) | プログラム開発支援装置およびその方法 | |
KR101447846B1 (ko) | 모션 sfc 프로그램 부품 작성 장치 | |
US6076020A (en) | Axis editor for industrial controller programming | |
US5940293A (en) | Bar chart editor for industrial controller | |
JP2009086898A (ja) | プログラム可能な論理制御装置用マシーンコード・プログラムのコンパイル法 | |
JP2022027456A (ja) | 情報処理装置、ラダープログラム生成装置、情報処理方法、ラダープログラム生成方法、物品の製造方法、プログラム、及び記録媒体 | |
JP4964036B2 (ja) | エディタ装置およびエディタプログラム | |
JP2021039568A (ja) | 情報処理システム、プログラマブル表示器および情報処理装置 | |
JP7204054B1 (ja) | プログラム、設定装置及び表示方法 | |
JP7562272B2 (ja) | 情報処理方法、および情報処理装置 | |
KR101303866B1 (ko) | 기판 처리 장치의 모니터링 방법 | |
KR100423742B1 (ko) | 순차기능챠트에 의한 전용 제어 시스템 | |
JP2024082592A (ja) | 情報処理装置、生産設備、物品の製造方法、情報処理方法、プログラム、及び記録媒体 | |
JP2004318286A (ja) | プログラム仕様書作成兼プログラム開発装置、同方法、および制御システム | |
JPH04343689A (ja) | ロボットの数値制御装置 | |
JP2007122524A (ja) | 制御プログラムモニタ装置、モニタプログラムおよびそのプログラムを記録した記録媒体 | |
JPH09128223A (ja) | マルチタスク制御プログラムの開発支援システムおよび方法 | |
JPH0720918A (ja) | ガイダンス機能付き数値制御装置 | |
JPH07244508A (ja) | プログラマブルコントローラ用ローダ |