專利名稱:程序制作支援裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及程序制作支援裝置,特別涉及由產(chǎn)業(yè)用控制器、微型機(jī)執(zhí)行的測(cè)量監(jiān)視控制程序的制作支援裝置。
背景技術(shù):
以往,以各種設(shè)備的測(cè)量監(jiān)視控制的目的,使用了可編程控制器(ProgrammableController ;PC)、運(yùn)動(dòng)控制器(Motion Controller ;MC)、數(shù)值控制裝置控制器(NumericalController :NC)、檢查裝置控制器、顯不器(Graphic Operation Terminal (圖形操作終端);G0T)等產(chǎn)業(yè)用控制器。作為由產(chǎn)業(yè)用控制器執(zhí)行的測(cè)量監(jiān)視控制程序中使用的語言,可以舉出以梯形(ladder)為代表例的依照IEC61131 — 3規(guī)格的語言、控制器專用的語言。另外,作為代替產(chǎn)業(yè)用控制器而使用微型機(jī)的情況的測(cè)量監(jiān)視控制程序的語言,可以舉出C 語目、匯編語目。以下,代表性地以可編程控制器(以下“PC”)為例子而進(jìn)行說明。PC執(zhí)行測(cè)量監(jiān)視控制程序(以下“程序”)來掌握測(cè)量監(jiān)視控制對(duì)象的狀態(tài)或者指示動(dòng)作。使用規(guī)定的程序制作支援裝置(例如,梯形制作支援裝置)來制作程序,主要使用變量、設(shè)備、數(shù)值來記述。此處所稱的設(shè)備是指,對(duì)PC的存儲(chǔ)器地址分配了 PC與其連接的測(cè)量監(jiān)視控制對(duì)象之間的輸入輸出的設(shè)備、以及PC內(nèi)部性地使用的存儲(chǔ)器地址。例如,在與下述非專利文獻(xiàn)I的程序制作支援裝置(梯形制作支援裝置)對(duì)應(yīng)的PC中,如將分配了輸入的部分設(shè)為X設(shè)備、將分配了輸出的部分設(shè)為Y設(shè)備、將內(nèi)部性地使用的比特?cái)?shù)據(jù)(內(nèi)部中繼)設(shè)為M設(shè)備、將內(nèi)部性地使用的字?jǐn)?shù)據(jù)(寄存器)設(shè)為D設(shè)備、R設(shè)備那樣,按照數(shù)據(jù)類別,預(yù)先決定了設(shè)備文字。各設(shè)備的地址關(guān)于X設(shè)備、Y設(shè)備成為16進(jìn)制表現(xiàn),關(guān)于M設(shè)備、D設(shè)備、R設(shè)備成為10進(jìn)制表現(xiàn)。變量用于指示設(shè)備。在與非專利文獻(xiàn)I的程序制作支援裝置對(duì)應(yīng)的PC中,將該變量稱為“標(biāo)簽”,在編譯時(shí)分配給特定的設(shè)備。對(duì)于向設(shè)備分配標(biāo)簽,既有程序制作者直接指定的情況,也有在編譯時(shí)自動(dòng)地分配的情況。能夠用作標(biāo)簽的文字是設(shè)備文字等預(yù)定的文字以外的文字。在使用標(biāo)簽來記述了程序的情況下,不改變程序自身的記述,而能夠變更對(duì)程序內(nèi)的標(biāo)簽分配的設(shè)備。在梯形程序中記述數(shù)值的情況下,在各數(shù)值的開頭附加10進(jìn)制表現(xiàn)的記號(hào)K或者16進(jìn)制表現(xiàn)的記號(hào)H。例如,“K25”表示10進(jìn)制表現(xiàn)的數(shù)值“25”。一般,作為在個(gè)人計(jì)算機(jī)(以下“個(gè)人電腦”)上動(dòng)作的軟件工具而提供程序制作支援裝置,除了支援用于PC進(jìn)行設(shè)備的測(cè)量/監(jiān)視/控制的程序編輯以外,還具有將PC與個(gè)人電腦連接而將用個(gè)人電腦編輯了的程序(或者對(duì)其進(jìn)行編譯而得到的執(zhí)行代碼)傳送到PC、或者監(jiān)視設(shè)備的狀態(tài)、通過執(zhí)行程序而變化的變量的值以及設(shè)備的值的功能。另外,還有搭載程序制作支援裝置提供的程序編輯功能、監(jiān)視功能的顯示器(GOT)0由此,能夠在與PC常時(shí)處于連接狀態(tài)的GOT上,進(jìn)行程序的編輯、狀態(tài)的監(jiān)視。對(duì)于作為測(cè)量監(jiān)視控制對(duì)象的設(shè)備的標(biāo)準(zhǔn)以及程序,雖然通過使用在個(gè)人電腦上動(dòng)作的軟件工具記述而電子地進(jìn)行數(shù)據(jù)化,但由于在標(biāo)準(zhǔn)與程序之間沒有電子數(shù)據(jù)上的相互關(guān)系,所以根據(jù)標(biāo)準(zhǔn),使用程序制作支援裝置,人工地制作測(cè)量監(jiān)視控制程序。因此,為了制作使標(biāo)準(zhǔn)中記述的功能不會(huì)超過當(dāng)不足且不會(huì)不合理地動(dòng)作的程序,需要大量的工作量。近年來,還有如下的程序制作支援裝置能夠?qū)V泛利用的程序部件化為程序模塊(Program Organization Unit (程序組織單元);P0U),再利用與設(shè)備的標(biāo)準(zhǔn)匹配的POU,同時(shí)根據(jù)多個(gè)POU構(gòu)成程序。如果程序語言是梯形,則POU相當(dāng)于子例程、功能塊(FunctionBlock ;FB),如果是結(jié)構(gòu)化文本(Structured Text ;ST)、C語言,貝UPOU相當(dāng)于子例程、函數(shù)。進(jìn)而,還有如下的程序制作支援裝置具有預(yù)先對(duì)由多個(gè)程序部件構(gòu)成的任意的程序圖案附加名稱(宏名)而登記,并在制作程序時(shí)能夠?qū)⑵湔{(diào)出而再利用(宏流用)的宏功能。通過這樣使用能夠再利用程序部件的程序制作支援裝置,程序的制作的工作量被減輕。非專利文獻(xiàn)I :“GX Developer Version 8 才 > 一亍 <、y " 二工 7 >,,三菱電機(jī)株式會(huì)社、η,>編號(hào)SH - 08035
發(fā)明內(nèi)容
如上所述,在制作者即人理解了測(cè)量監(jiān)視控制對(duì)象的標(biāo)準(zhǔn)記述的基礎(chǔ)上,通過人工作業(yè)制作程序。在近年來的程序制作支援裝置中,通過再利用程序部件,程序的制作工作量被減輕了某種程度,但難以實(shí)現(xiàn)為了以匹配于標(biāo)準(zhǔn)的方式制作程序,選定哪個(gè)程序部件并將它們?nèi)绾谓M合這樣的判斷,期望進(jìn)一步減輕其工作量。本發(fā)明的目的在于,在測(cè)量監(jiān)視控制程序的制作中,減輕選定以及組合用于制作匹配于測(cè)量監(jiān)視控制對(duì)象的使用的程序的程序部件的工作量,提高程序制作效率。本發(fā)明提供一種程序制作支援裝置,其特征在于,具備程序部件,包括至少I個(gè)程序要素,通過用戶設(shè)定與各程序要素對(duì)應(yīng)的再利用參數(shù)的內(nèi)容,生成與該設(shè)定內(nèi)容對(duì)應(yīng)的程序;程序部件保持部,保持所述程序部件;以及程序編輯部,再利用所述程序部件而編輯程序,所述程序部件包括程序要素,該程序要素通過在再利用參數(shù)中通過列舉而設(shè)定多個(gè)參數(shù),生成結(jié)合了與各參數(shù)對(duì)應(yīng)的多個(gè)要素的程序。根據(jù)本發(fā)明,能夠以更直接地匹配于與設(shè)備的測(cè)量監(jiān)視控制相關(guān)的標(biāo)準(zhǔn)的方式,定義程序部件,能夠減輕用于以匹配于標(biāo)準(zhǔn)的方式制作程序的與程序部件的選定和這些程序部件的組合相關(guān)的設(shè)計(jì)工作量,大幅減輕使標(biāo)準(zhǔn)中記述的功能不會(huì)超過當(dāng)不足且不會(huì)不合理地動(dòng)作的程序的制作工作量。本發(fā)明的目的、特征、局面、以及優(yōu)點(diǎn)根據(jù)以下的詳細(xì)說明和附圖將更加明確。
圖I是示出實(shí)施方式I的程序制作支援裝置的硬件結(jié)構(gòu)的圖。圖2是示出實(shí)施方式I的程序制作支援裝置的軟件結(jié)構(gòu)的圖。圖3是示出實(shí)施方式I的程序制作支援裝置的程序部件定義畫面的一個(gè)例子的圖。圖4是用于說明實(shí)施方式I的程序部件中包含的賦予了記號(hào)的要素的圖。圖5是用于說明實(shí)施方式I的程序部件中包含的賦予了記號(hào)“ + ”的要素的圖。、
圖6是示出實(shí)施方式I的程序部件的定義步驟的流程圖。
圖7是示出再利用實(shí)施方式I的自己保持處理程序部件而生成的主軸正轉(zhuǎn)處理程序(梯形圖形式)的圖。圖8是示出再利用實(shí)施方式I的自己保持處理程序部件而生成的主軸正轉(zhuǎn)處理程序(指令表形式)的圖。圖9是示出實(shí)施方式I的程序部件的定義步驟的變更例的流程圖。圖10是示出實(shí)施方式I的程序部件再利用畫面的一個(gè)例子的圖。圖11是示出再利用實(shí)施方式I的程序部件的程序的生成方法的流程圖。圖12是示出實(shí)施方式I的程序部件再利用畫面的一個(gè)例子的圖。圖13是示出再利用實(shí)施方式I的自己保持處理程序部件而生成的主軸定向處理程序的圖。圖14是示出實(shí)施方式I的程序制作支援裝置生成的程序的附屬信息文件的一個(gè)例子的圖。圖15是示出實(shí)施方式I的附屬信息文件的生成方法的流程圖。圖16是示出實(shí)施方式2的程序制作支援裝置的軟件結(jié)構(gòu)的圖。圖17是示出實(shí)施方式2的程序要素部件定義畫面的一個(gè)例子的圖。圖18是示出實(shí)施方式2的程序部件定義畫面的一個(gè)例子的圖。圖19是示出實(shí)施方式2的程序部件再利用畫面的一個(gè)例子的圖。圖20是示出實(shí)施方式2的程序部件再利用畫面上附隨的程序要素部件再利用畫面的一個(gè)例子的圖。圖21是示出實(shí)施方式2的程序部件再利用畫面上附隨的程序要素部件再利用畫面的一個(gè)例子的圖。圖22是示出再利用實(shí)施方式2的M代碼完成處理程序部件而生成的程序的圖。圖23是示出實(shí)施方式3的程序制作支援裝置的軟件結(jié)構(gòu)的圖。圖24是示出實(shí)施方式3的程序?qū)蛹?jí)部件的定義步驟的流程圖。圖25是示出實(shí)施方式3的程序?qū)蛹?jí)部件定義畫面的一個(gè)例子的圖。圖26是示出實(shí)施方式3的程序?qū)蛹?jí)部件定義畫面的一個(gè)例子的圖。圖27是示出實(shí)施方式3的程序部件定義畫面的一個(gè)例子的圖。圖28是示出實(shí)施方式3的層級(jí)部件再利用畫面的一個(gè)例子的圖。圖29是示出再利用實(shí)施方式3的排他的選擇數(shù)值設(shè)定程序?qū)蛹?jí)部件而生成的切削倍率(override)設(shè)定開關(guān)程序的圖。圖30是不出切削倍率設(shè)定開關(guān)的一個(gè)例子的圖。圖31是示出再利用實(shí)施方式3的程序?qū)蛹?jí)部件的程序的生成方法的流程圖。圖32是示出實(shí)施方式I的程序部件再利用畫面的一個(gè)例子的圖。圖33是示出實(shí)施方式4的工作機(jī)械的結(jié)構(gòu)的框圖。圖34是示出實(shí)施方式4的程序制作支援裝置的軟件結(jié)構(gòu)的圖。圖35是示出設(shè)備的標(biāo)準(zhǔn)中的設(shè)定的圖。圖36是示出操作盤的標(biāo)準(zhǔn)中的設(shè)定的圖。圖37是示出操作盤的標(biāo)準(zhǔn)中的設(shè)定的圖。
圖38是示出操作盤的標(biāo)準(zhǔn)中的設(shè)定的圖。圖39是示出M代碼的標(biāo)準(zhǔn)中的設(shè)定的圖。圖40是示出實(shí)施方式4的模式反轉(zhuǎn)處理程序部件的圖。圖41是示出實(shí)施方式4的M代碼解碼處理程序部件的圖。圖42是示出實(shí)施方式4的AND條件處理程序部件的圖。圖43是示出由模式反轉(zhuǎn)功能生成部制作的操作盤處理程序的圖。圖44是示出模式反轉(zhuǎn)功能生成部的屬性的圖。圖45是示出模式反轉(zhuǎn)功能生成部的動(dòng)作的流程圖。圖46是示出模式反轉(zhuǎn)功能生成部取得的設(shè)備注釋的圖。圖47是示出由運(yùn)轉(zhuǎn)模式選擇功能生成部制作的操作盤處理程序的圖。圖48是示出運(yùn)轉(zhuǎn)模式選擇功能生成部的屬性的圖。圖49是示出運(yùn)轉(zhuǎn)模式選擇功能生成部的動(dòng)作的流程圖。圖50是示出切削倍率功能生成部的屬性的圖。圖51是示出切削倍率功能生成部的動(dòng)作的流程圖。圖52是示出由M代碼功能生成部制作的M代碼處理程序的圖。圖53是示出M代碼功能生成部的屬性的圖。圖54是示出M代碼功能生成部的動(dòng)作的流程圖。圖55是示出M代碼功能生成部生成M代碼解碼處理程序的動(dòng)作的流程圖。圖56是示出M代碼功能生成部生成功能處理程序的動(dòng)作的流程圖。圖57是示出M代碼功能生成部生成功能處理程序的動(dòng)作的流程圖。圖58是示出M代碼功能生成部生成功能處理程序的動(dòng)作的流程圖。圖59是示出M代碼功能生成部生成完成處理程序的動(dòng)作的流程圖。圖60是示出程序編輯部生成的梯形程序的一個(gè)例子的圖。圖61是示出程序編輯部生成的梯形程序的一個(gè)例子的圖。(符號(hào)說明)I :程序制作支援裝置;2 :微處理器;3 :顯示部;4 :輸入部;5 :保存部;6 :程序編輯部;8 :編輯后的程序;9 :附屬信息文件;10 :程序部件;11 :程序部件保持部;12 :程序部件定義部;14 :再利用參數(shù);15 :程序要素部件定義部;17 :程序要素部件;18 :再利用參數(shù);19 :程序?qū)蛹?jí)部件定義部;21 :程序?qū)蛹?jí)部件;22 :再利用參數(shù);30 :標(biāo)準(zhǔn)記述文件;31 :標(biāo)準(zhǔn)設(shè)定部;31A :操作盤標(biāo)準(zhǔn)設(shè)定部;31B :M代碼標(biāo)準(zhǔn)設(shè)定部;32 :設(shè)備標(biāo)準(zhǔn)保持部;34 :程序生成部;341 :操作盤處理程序生成部;342 :M代碼處理程序生成部
具體實(shí)施例方式〈實(shí)施方式1>在實(shí)施方式I中,作為定義程序部件而再利用的測(cè)量監(jiān)視控制程序的制作方法的一個(gè)例子,說明梯形程序的制作方法。圖I是示出實(shí)施方式I的程序制作支援裝置的硬件結(jié)構(gòu)的圖。程序制作支援裝置I包括微處理器2、顯示部3、輸入部4、保存部5。將作為測(cè)量監(jiān)視控制對(duì)象的設(shè)備的標(biāo)準(zhǔn)記述以及測(cè)量監(jiān)視控制程序(以下“程序”)作為文件而保持于保存部5。顯示部3能夠顯示程序制作支援裝置I的各種信息。例如,在用戶使用輸入部4將設(shè)備的標(biāo)準(zhǔn)輸入到程序制作支援裝置I時(shí),其輸入項(xiàng)目顯示于顯示部3。另外,后述的各種操作畫面顯示于該顯示部3。微處理器2根據(jù)用戶輸入而保存于保存部5中的設(shè)備的標(biāo)準(zhǔn),執(zhí)行程序的生成處理。
圖2是示出程序制作支援裝置I的功能塊結(jié)構(gòu)(軟件塊結(jié)構(gòu))的圖。通過利用微處理器2執(zhí)行的軟件,控制圖I所示的各硬件控制,而實(shí)現(xiàn)圖2所示的各功能塊。程序制作支援裝置I具備程序編輯部6,根據(jù)用戶的操作(程序編輯)進(jìn)行程序的編輯;程序部件定義部12,根據(jù)用戶的操作(程序部件定義輸入)定義可再利用的程序部件10 ;以及程序部件保持部11,儲(chǔ)存由程序部件定義部12定義的程序部件10。在本發(fā)明中,程序部件10包括在再利用時(shí)設(shè)定的再利用參數(shù)14,程序部件10能夠根據(jù)其設(shè)定內(nèi)容采取各種形式(詳細(xì)將后述)。本實(shí)施方式的程序編輯部6除了輸出編輯后的程序8以外,還能夠根據(jù)需要輸出與其關(guān)聯(lián)的附屬信息文件9 (例如,說明設(shè)備的內(nèi)容的注釋等)。另外,在圖2中,示出了程序部件定義部12內(nèi)置于程序制作支援裝置I的結(jié)構(gòu),但程序部件定義部12也可以被規(guī)定為與程序制作支援裝置I獨(dú)立的裝置。以下,說明本實(shí)施方式的程序制作支援裝置I的動(dòng)作、以及使用了程序制作支援裝置I的程序制作方法。此處,示出程序制作支援裝置I生成梯形程序的例子。圖3是用戶使用程序部件定義部12來定義程序部件10時(shí)的操作畫面顯示(程序部件定義畫面)的例子。此處,示出定義在梯形程序中經(jīng)常使用的自己保持處理的程序部件時(shí)的例子。圖3所示的程序部件定義畫面(梯形部件定義畫面)成為從上依次配設(shè)了顯示了用于制作梯形圖的圖標(biāo)的圖標(biāo)顯示區(qū)域、用于操作這些圖標(biāo)來編輯程序部件的梯形圖的程序編輯區(qū)域、用于定義程序部件的再利用參數(shù)的參數(shù)定義區(qū)域、以及用于輸入所制作的程序部件的名稱的程序部件名輸入?yún)^(qū)域的結(jié)構(gòu)。在圖標(biāo)顯示區(qū)域中,除了接點(diǎn)(a接點(diǎn)“一I I — ”以及b接點(diǎn)“一|/|-”)、命令(“一[]_”)、線圈(coil) (“一()_”)這樣的一般的程序要素的圖標(biāo)以外,還設(shè)置了對(duì)它們附加了”的記號(hào)的圖標(biāo)。附加了”的記號(hào)的圖標(biāo)對(duì)應(yīng)于由I個(gè)以上的程序要素構(gòu)成的集合體(集合),附加了“ * ”的圖標(biāo)對(duì)應(yīng)于如圖4那樣對(duì)程序要素進(jìn)行了 AND結(jié)合的中繼列,附加了 “ + ”的圖標(biāo)對(duì)應(yīng)于如圖5那樣對(duì)程序要素進(jìn)行了 OR結(jié)合的中繼列。另外,在梯形圖中,線圈未進(jìn)行AND結(jié)合,所以沒有賦予了 “ ”的線圈的圖標(biāo)。程序編輯區(qū)域是能夠操作上述各種圖標(biāo)來編輯梯形圖的區(qū)域,是與以往的梯形程序制作支援裝置具備的程序編輯畫面(梯形編輯畫面)同樣的結(jié)構(gòu)即可。參數(shù)定義區(qū)域是用于定義在再利用程序部件時(shí)應(yīng)設(shè)定的再利用參數(shù)的區(qū)域,在制作(定義)程序部件時(shí),由用戶輸入規(guī)定的事項(xiàng)。圖6是示出本實(shí)施方式的程序部件的制作步驟的流程圖。根據(jù)該圖,說明程序部件的制作步驟。此處,例示如圖3那樣,制作自己保持處理的程序部件的情況。首先,將對(duì)程序部件的各要素賦予的再利用參數(shù)定義為用于記述該程序部件的部件變量(S11)。其通過用戶在程序部件定義畫面的參數(shù)定義區(qū)域中設(shè)定再利用參數(shù)來進(jìn)行。在圖3的例子中,作為No. I的再利用參數(shù),定義了部件變量No. 2的再利用參數(shù),定義了部件變量VB2,作為No. 3的再利用參數(shù),定義了部件變量VB3。
另外,作為程序部件的再利用參數(shù),也可以準(zhǔn)備程序注釋和跳躍用標(biāo)簽(程序指針)。它們也可以被規(guī)定為各程序部件必須具有的再利用參數(shù)。在作為再利用參數(shù)的程序注釋中,在再利用程序部件來生成程序時(shí),設(shè)定與所生成的程序相關(guān)的注釋的字符串。作為其用途,例如,可以舉出在所生成的程序的首部,記述在開頭附加了“開始”的字符串的程序注釋,在該程序的末尾,記述在開頭附加了“結(jié)束”的字符串的程序注釋等,而表示其之間的程序的內(nèi)容等。在梯形程序中,將程序注釋處理為語句,在作為程序注釋設(shè)定了“主軸正轉(zhuǎn)”的情況下,在所生成的程序中,如圖7、圖8那樣記載注釋。圖7是梯形圖形式的程序,圖8是指令表形式的程序。另外,即使在程序部件中,定義了程序注釋的再利用參數(shù),如果沒有需要,則也可以不設(shè)定字符串。在該情況下,生成不具有程序注釋的程序。在作為再利用參數(shù)的跳躍用標(biāo)簽(程序指針)中,在針對(duì)通過再利用該程序部件而生成的程序進(jìn)行來自其他程序的跳躍(調(diào)用)處理時(shí),設(shè)定表示該程序的位置的標(biāo)簽。在梯形程序的情況下,程序指針被處理為設(shè)備的一種。在作為程序指針設(shè)置了 “P3”的情況下,在所生成的程序中,如圖7 (梯形圖形式)、圖8 (指令表形式)那樣記述程序指針。另外,也可以在具有程序指針的程序的最后,附加用于返回跳躍源的返回(RET)命令。另外,即使在程序部件中設(shè)定了跳躍用標(biāo)簽的再利用參數(shù),如果沒有需要,也可以什么也不設(shè)定。在該情況下,生成不具有跳躍用標(biāo)簽的程序(在梯形程序中,生成無程序指針和RET命令的程序)。接下來,在程序編輯區(qū)域中記述程序部件的結(jié)構(gòu)(S12)。此處,記述梯形圖。其通過用戶操作程序部件定義畫面的圖標(biāo)來進(jìn)行。在通常的程序制作中,作為接點(diǎn)等各要素的參數(shù)賦予設(shè)備或者變量(標(biāo)簽),但針對(duì)程序部件的各要素,作為參數(shù),賦予設(shè)備或者變量(標(biāo)簽)、或者定義為再利用參數(shù)的部件變量。在賦予了部件變量的要素中,在再利用程序部件時(shí),用戶需要指定適用于其的設(shè)備或者變量(標(biāo)簽)。對(duì)于賦予了設(shè)備或者變量(標(biāo)簽)的要素,在再利用程序部件時(shí),原樣地應(yīng)用該設(shè)備或者變量(標(biāo)簽)。賦予了 “ * ”或者“ + ”的要素(集合)能夠通過在再利用程序部件時(shí)設(shè)定的參數(shù)的數(shù)量,來指定其中包含的接點(diǎn)的數(shù)量。在程序部件的制作階段中,針對(duì)集合不賦予設(shè)備或者變量(標(biāo)簽)而賦予I個(gè)部件變量。自己保持處理的梯形程序具有的自己保持用中繼是I個(gè),所以在自己保持用中繼中使用通常的a接點(diǎn)和線圈。另一方面,對(duì)于保持指令條件(0N條件)中繼、保持取消條件(OFF條件)中繼,考慮各種構(gòu)造。在圖3的例子中,假設(shè)定義排他的選擇處理、M代碼功能處理的程序的制作中能夠再利用的自己保持處理的程序部件,作為ON條件中繼以及OFF條件中繼,使用對(duì)I個(gè)以上的接點(diǎn)進(jìn)行了 AND結(jié)合的中繼列(附加了“ * ”的要素)。即,作為ON條件中繼列,使用附加了 “ ”的a接點(diǎn),作為OFF條件中繼列,使用附加了 “ ”的b接點(diǎn)。另外,在ON條件中繼列中賦予了定義為No. I的再利用參數(shù)的部件變量VB1,在OFF條件中繼列中賦予了定義為No. 2的再利用參數(shù)的部件變量VB2,在自己保持用中繼中賦予了定義為No. 3的再利用參數(shù)的部件變量VB3。由此,能夠根據(jù)程序部件定義畫面的程序編輯區(qū)域的顯示與參數(shù)定義區(qū)域的顯示的對(duì)應(yīng)判斷,用戶能夠以一眼得知其對(duì)應(yīng)關(guān)系的方式,在參數(shù)定義區(qū)域的“說明文”的欄中,如圖3那樣,輸入說明分配了再利用參數(shù)的要素、的注釋(字符串)。如圖3那樣,在參數(shù)定義區(qū)域中,在對(duì)附加了的中繼列賦予的No. I以及No. 2的再利用參數(shù)的“列舉”的欄中顯示的記號(hào)。另外,雖然在圖3中沒有示出,但在對(duì)附加了 “ + ”的中繼列賦予 的再利用參數(shù)的“列舉”的欄中顯示“ + ”的記號(hào)。由此,明示了對(duì)集合賦予了該再利用參數(shù)。另外,自己保持用中繼是I個(gè),所以No. 3的再利用參數(shù)的“列舉”的欄成為空白。在記述了程序部件的梯形圖之后,對(duì)該程序部件提供名稱(S13)。其通過用戶在程序部件定義畫面的程序部件名輸入?yún)^(qū)域中輸入字符串來進(jìn)行。在圖3的例子中,對(duì)所制作出的程序部件提供“自己保持處理”這樣的名稱。以上,程序部件的制作完成。另外,在上面的說明中,是首先定義再利用參數(shù)(S11),之后使用其來記述程序部件的程序(梯形圖)(S12)這樣的步驟,但其順序也可以相反。S卩,也可以是如圖9的流程圖那樣,首先使用未定義的變量來記述程序部件的程序(梯形圖)(S21),之后從所記述的程序抽出未定義的變量(S22),將所抽出的未定義的變量定義為再利用參數(shù)(部件變量)(S23),賦予程序部件的名稱(S24)這樣的步驟。對(duì)于未定義的變量的抽出以及作為再利用參數(shù)(部件變量)的定義,既可以通過用戶在參數(shù)定義區(qū)域中輸入規(guī)定的事項(xiàng)來進(jìn)行,也可以通過程序部件定義部12檢索未定義的變量來進(jìn)行。如果再利用參數(shù)與所記述的程序中使用的部件變量的對(duì)應(yīng)不矛盾,則對(duì)其方法沒有限定。接下來,說明使程序制作支援裝置I自動(dòng)生成程序的步驟。圖10示出使程序制作支援裝置I再利用程序部件來自動(dòng)生成程序時(shí)的操作畫面顯示(程序部件再利用畫面)的一個(gè)例子。在該圖中,示出了再利用如圖3那樣定義的自己保持處理程序部件的情形。該程序部件再利用畫面具備程序部件名顯示區(qū)域,顯示再利用的程序部件的名稱;以及參數(shù)應(yīng)用區(qū)域,用于在再利用參數(shù)中輸入所應(yīng)用的設(shè)備、變量(標(biāo)簽)等參數(shù)。另外,也可以在程序部件再利用畫面中,如圖32那樣,設(shè)置顯示所選擇出的程序部件的構(gòu)造以及對(duì)其各要素賦予的再利用參數(shù)的編號(hào)(No.)的程序顯示區(qū)域。在該情況下,用戶能夠容易地掌握希望再利用的程序部件的構(gòu)造、以及各要素與再利用參數(shù)的對(duì)應(yīng)關(guān)系。程序部件名顯示區(qū)域不僅顯示再利用的程序部件的名稱,而且還具有作為從已經(jīng)定義的多個(gè)程序部件選擇再利用的部件的選擇菜單的功能。在程序部件再利用畫面中,在參數(shù)應(yīng)用區(qū)域中顯示的再利用參數(shù)的“No. ”、“列舉”、“說明文”的欄中,顯示在圖3的程序部件定義畫面的參數(shù)定義區(qū)域中定義的內(nèi)容。用戶在參數(shù)應(yīng)用區(qū)域中,在再利用參數(shù)中輸入所應(yīng)用的參數(shù)。此時(shí),能夠在“列舉”的欄中顯示了 “ * ”或者“ + ”的再利用參數(shù)中,列舉輸入2個(gè)以上的參數(shù)。另外,能夠在作為再利用參數(shù)的程序注釋中,輸入關(guān)于所生成的程序的注釋(字符串)。在圖10的例子中,示出了在程序注釋中應(yīng)用“主軸正轉(zhuǎn)”、在跳躍用標(biāo)簽中應(yīng)用“P3”、在No. I的再利用參數(shù)(VBl)中應(yīng)用“M3”、在No. 2的再利用參數(shù)(VB2)中應(yīng)用“M4、M19”、在No. 3的再利用參數(shù)(VB3)中應(yīng)用“Y1898”的例子。在該情況下,程序制作支援裝置I生成在圖3所示的梯形圖中將ON條件中繼列VBl置換為I個(gè)a接點(diǎn)M3,將OFF條件中繼列VB2置換為進(jìn)行了 AND結(jié)合的2個(gè)b接點(diǎn)M4、M19,將自己保持用中繼VB3置換為中繼VB3,對(duì)其附加程序指針P3、返回命令(RET)、程序注釋“開始主軸正轉(zhuǎn)”以及“結(jié)束主軸正轉(zhuǎn)”而得到的梯形程序、即圖7所示的梯形圖?;蛘?,也可以生成將其按照指令表形式記述了的圖8所示的程序(圖7的梯形圖和圖8的指令表是等價(jià)的)。說明程序制作支援裝置I進(jìn)行的、再利用了程序部件的程序的生成方法。圖11是該生成方法的流程圖。此處,以生成圖7所示的梯形程序的情況為例子。如果如圖10那樣,由用戶在程序部件再利用畫面中輸入必要的信息而命令了生成程序,則程序制作支援裝置I首先調(diào)查是否在再利用參數(shù)的程序注釋中設(shè)定了字符串(S31)。如果在程序注釋中設(shè)定了字 符串,則輸出在其開頭賦予了“開始”的程序注釋(S32)。在圖10的情況下,在程序注釋中設(shè)定了“主軸正轉(zhuǎn)”的字符串,所以輸出對(duì)其賦予了“開始”的“開始主軸正轉(zhuǎn)”而作為程序注釋。接下來,調(diào)查是否作為跳躍用標(biāo)簽(程序指針)的再利用參數(shù)設(shè)定了某個(gè)標(biāo)簽(S33),如果設(shè)定了,則輸出與其對(duì)應(yīng)的跳躍用標(biāo)簽。在圖10的情況下,設(shè)定了標(biāo)簽P3,所以輸出“P3”而作為跳躍用標(biāo)簽。接下來,按照程序部件的程序構(gòu)造的順序,抽出構(gòu)成程序的要素(S35),對(duì)所抽出的要素,分別進(jìn)行以下的處理。首先,確認(rèn)是否在所抽出的要素中定義了再利用參數(shù)(S36)。如果設(shè)定了再利用參數(shù),則調(diào)查該要素是否為被附加了 “ * ”的要素(AND列)(S37),如果是AND列,則對(duì)應(yīng)用了圖10的參數(shù)應(yīng)用區(qū)域中列舉出的參數(shù)的要素進(jìn)行AND結(jié)合而輸出。另一方面,如果設(shè)定了再利用參數(shù)的該要素是被附加了“ + ”的要素(0R列)(S39),則對(duì)應(yīng)用了再利用參數(shù)中列舉出的參數(shù)的要素進(jìn)行OR結(jié)合而輸出(S40)。如果對(duì)設(shè)定了再利用參數(shù)的該要素沒有附加“ * ”也沒有附加“ + ”,則輸出應(yīng)用了在再利用參數(shù)中設(shè)定的參數(shù)的要素(S41)。另外,在該要素是沒有設(shè)定再利用參數(shù)的要素、即并非賦予部件變量而賦予了設(shè)備、變量(標(biāo)簽)的情況下,原樣地輸出該設(shè)備、變量(標(biāo)簽)(S42)。針對(duì)再利用的程序部件的所有要素進(jìn)行以上的工序(S43)。例如,在圖3中定義的程序部件中的第I個(gè)要素是a接點(diǎn)的AND列“一 Μ — 在其中定義了 No. I的再利用參數(shù)VB1。在圖10的例子中,在No. I的再利用參數(shù)中僅設(shè)定了 M3,在該情況下,輸出I個(gè)a接點(diǎn) M3 (S38)。第2個(gè)要素是對(duì)第I個(gè)要素(VBl)進(jìn)行OR結(jié)合而定義了 No. 3的再利用參數(shù)VB3的、沒有附加也沒有附加“ + ”的a接點(diǎn)。由于在No. 3的再利用參數(shù)中設(shè)定了 Y1898,所以在對(duì)之前輸出的a接點(diǎn)M3進(jìn)行OR結(jié)合的位置輸出a接點(diǎn)Y1898 (S41)。第3個(gè)要素是對(duì)第I個(gè)要素(VBl)以及第2個(gè)要素(VB3)進(jìn)行AND結(jié)合而定義了No. 2的再利用參數(shù)VB2的b接點(diǎn)的AND列(一|/| — *)。在No. 2的再利用參數(shù)中列舉了M4、M19,所以在與之前輸出的a接點(diǎn)M3、Y1898進(jìn)行AND結(jié)合的位置,輸出使b接點(diǎn)M4、M19進(jìn)行了 AND結(jié)合的要素(S38)。最后(第4個(gè))要素是對(duì)第3個(gè)要素(VB3)進(jìn)行AND結(jié)而定義了 No. 3的再利用參數(shù)VB3的線圈(一()一)。在No. 3的再利用參數(shù)中設(shè)定了 Y1898,所以在對(duì)之前輸出的b接點(diǎn)M4、M19進(jìn)行AND結(jié)合的位置輸出線圈Y1898 (S41)。如果針對(duì)程序部件的所有要素,以上的工序完成(S43),則再次確認(rèn)是否在作為再利用參數(shù)的跳躍用標(biāo)簽(程序指針)中設(shè)定了特定的標(biāo)簽(S44),如果設(shè)定了,則輸出返回跳躍的調(diào)出源的返回命令(S45)。在圖10的例子中,在對(duì)以上的第f第4個(gè)要素進(jìn)行OR結(jié)合的位置,輸出返回命令(一 [RET]―)。然后,再次確認(rèn)是否在再利用參數(shù)的程序注釋中設(shè)定了字符串(S46),如果設(shè)定了字符串,則輸出在其開頭賦予了“結(jié)束”的程序注釋(S47)。在圖10的情況下,輸出對(duì)“主軸正轉(zhuǎn)”賦予了 “結(jié)束”的“結(jié)束主軸正轉(zhuǎn)”而作為程序注釋。通過以上的工序,自動(dòng)地制作針對(duì)在程序部件定義畫面(圖3)中定義的程序部件的再利用參數(shù),應(yīng)用在程序部件再利用畫面(圖10)中設(shè)定的參數(shù)而得到的程序(圖7的梯形圖或者圖8的指令表)。此處,說明圖7的梯形程序的動(dòng)作。在初始狀態(tài)下,設(shè)備M3、M4、M19、Y1898都是 OFF狀態(tài)。如果作為自己保持的保持指令條件(0N條件)中繼的a接點(diǎn)M3成為0N,則a接點(diǎn)Y1898成為0N。之后,即使a接點(diǎn)M3成為OFF,a接點(diǎn)Y1898的ON也被保持。a接點(diǎn)Y1898的ON狀態(tài)繼續(xù),直至作為保持取消條件(OFF條件)中繼的b接點(diǎn)M4、M19中的某一個(gè)成為ON為止。如果b接點(diǎn)M4、M19中的某一個(gè)成為0N,則a接點(diǎn)Y1898返回OFF(即自己保持被取消)。本實(shí)施方式的程序制作支援裝置I通過變更在程序部件再利用畫面中設(shè)定的再利用參數(shù)的內(nèi)容,能夠根據(jù)I個(gè)程序部件生成各種形式的程序。例如,如果與上述同樣地,在再利用如圖3那樣定義的自己保持處理的程序部件時(shí),在程序部件再利用畫面中如圖12那樣設(shè)定再利用參數(shù)的內(nèi)容,則能夠生成圖13所示的梯形程序。說明圖13的梯形程序的動(dòng)作。在初始狀態(tài)下,設(shè)備M19、XC18、M3、M4、Y189E都是OFF狀態(tài)。如果作為ON條件中繼的a接點(diǎn)M19、XC18這兩方成為0N,則a接點(diǎn)Y189E成為0N。之后,即使a接點(diǎn)M19、XC18成為OFF, a接點(diǎn)Y189E的ON仍被保持。a接點(diǎn)Y189E的ON狀態(tài)繼續(xù),直至作為OFF條件中繼的b接點(diǎn)M3、M4中的某一個(gè)成為ON為止。如果b接點(diǎn)M3、M4中的某一個(gè)成為0N,則a接點(diǎn)Y189E返回OFF (即自己保持被取消)。如上所述,程序制作支援裝置I能夠與所制作出的程序8 一起輸出與其關(guān)聯(lián)的附屬信息文件9。在附屬信息文件9中,例如,針對(duì)在所生成的程序中再利用的設(shè)備或者變量(標(biāo)簽)(在程序部件中定義了再利用參數(shù)的設(shè)備或者變量(標(biāo)簽)),記述說明這些內(nèi)容的注釋。對(duì)于附屬信息文件,既可以由用戶操作程序制作支援裝置I來制作,也可以自動(dòng)生成。圖14是示出記述了說明在所生成的程序中再利用的設(shè)備或者變量(標(biāo)簽)的內(nèi)容的注釋的附屬信息文件的自動(dòng)制作方法的流程圖。根據(jù)圖14,說明附屬信息文件的自動(dòng)制作方法。程序制作支援裝置I如果再利用程序部件而生成了程序,則從其中依次抽出在再利用參數(shù)中應(yīng)用的參數(shù)(在圖10的例子中為“主軸正轉(zhuǎn)”、P3、M3、M4、M19、Y1898) (S51),確認(rèn)該參數(shù)是否為設(shè)備或者變量(標(biāo)簽)(S52)。如果該參數(shù)是設(shè)備^314119,¥1898)或者變量(標(biāo)簽),則使該程序部件名和與該參數(shù)對(duì)應(yīng)的“說明文”的字符串結(jié)合,將其作為該設(shè)備、變量(標(biāo)簽)的注釋而輸出(S53)。這些工序反復(fù),直至抽出應(yīng)用于再利用參數(shù)的所有參數(shù)為止(S54)。通過以上的工序自動(dòng)生成附屬信息文件。例如,在如圖10那樣設(shè)定了再利用參數(shù)的情況下,程序制作支援裝置I能夠與圖7或者圖8的程序一起,生成圖15那樣的附屬信息文件。
本實(shí)施方式的程序部件的特征在于,包括的程序要素(中繼列),其中,在再利用時(shí),通過列舉多個(gè)參數(shù)(設(shè)備、變量(標(biāo)簽)、數(shù)值等)而應(yīng)用到再利用參數(shù)中,由此以規(guī)定的形式(AND結(jié)合、OR結(jié)合)生成多個(gè)要素。該程序部件能夠根據(jù)應(yīng)用于再利用參數(shù)的參數(shù)的列舉數(shù),取各種形式。即,能夠根據(jù)I個(gè)程序要素生成多個(gè)形式的程序。另外,本實(shí)施方式的程序制作支援裝置I的特征在于,具備能夠定義這樣的程序部件的程序部件定義部12。在以往的程序制作支援裝置中,無法使用同一程序部件來生成不同的形式的程序、例如圖7的程序和圖13的程序,但在本發(fā)明中能夠生成。由此,能夠應(yīng)用程序部件的范圍變寬,能夠以更直接地匹配于作為測(cè)量監(jiān)視控制對(duì)象的設(shè)備的標(biāo)準(zhǔn)記述的方式,定義程序部件因此,能夠減輕用于制作匹配于標(biāo)準(zhǔn)記述的程序的、與程序部件的選定以及它們的組合相關(guān)的設(shè)計(jì)工作量,大幅削減不會(huì)超過當(dāng)不足地具備標(biāo)準(zhǔn)中記述的功能的程序的制作工作量。另外,再利用程序部件而生成的程序的附屬信息文件也能夠自動(dòng)生成,由于存在該附屬信息,所生成的程序的理解變得容易,與所生成的程序的理解相關(guān)的工作量被減輕?!磳?shí)施方式2>在實(shí)施方式I中,說明了單獨(dú)作為程序(程序部件P0U)而成立的構(gòu)造的程序部件。此處,示出使用雖然無法單獨(dú)作為程序(程序部件P0U)成立,但能夠成為程序部件的要素的程序部件(以下“程序要素部件”)的實(shí)施方式。例如,接點(diǎn)、命令、線圈能夠成為無法分解為其以上的最基本的程序要素部件。接點(diǎn)、命令、線圈能夠成為程序以及程序部件的構(gòu)成要素,并且還是程序要素部件的構(gòu)成要素。同樣地,程序要素部件既能夠成為程序以及程序部件的構(gòu)成要素,也能夠成為其他程序要素部件的構(gòu)成要素。以下,說明程序要素部件的定義方法和再利用方法。圖16是示出實(shí)施方式2的程序制作支援裝置I的功能塊結(jié)構(gòu)(軟件塊結(jié)構(gòu))的圖。該程序制作支援裝置I相對(duì)實(shí)施方式I (圖2)的結(jié)構(gòu),還具備用于定義程序要素部件17的程序要素部件定義部15。將所定義的程序要素部件17保存到程序部件保持部11。程序要素部件17具有在對(duì)其進(jìn)行再利用時(shí)設(shè)定的再利用參數(shù)18。另外,在圖16中,示出了程序部件定義部12以及程序要素部件定義部15內(nèi)置于程序制作支援裝置I的結(jié)構(gòu),但它們也可以是外部裝置。圖17是示出用戶使用程序要素部件定義部15來定義程序要素部件17時(shí)的、操作畫面顯示(程序要素部件定義畫面)的一個(gè)例子的圖。此處,示出了定義按照梯形圖形式記述的程序要素部件(AND條件處理程序要素部件)的情況的例子。程序要素部件定義畫面(梯形要素部件定義畫面)具有類似于圖3所示的程序部件定義畫面(梯形部件定義畫面)的結(jié)構(gòu)。即,如圖17那樣,程序要素部件定義畫面成為從上依次配設(shè)了顯示了用于制作梯形圖的圖標(biāo)的圖標(biāo)顯示區(qū)域、用于操作這些圖標(biāo)而編輯程序要素部件的梯形圖的程序編輯區(qū)域、用于定義程序要素部件的再利用參數(shù)的參數(shù)定義區(qū)域、以及用于輸入所制作出的程序要素部件的名稱的程序要素部件名輸入?yún)^(qū)域的結(jié)構(gòu)。在圖標(biāo)顯示區(qū)域中,除了圖3所示的程序部件定義畫面具備的圖標(biāo)以外,還配置了程序要素部件(一□一)以及對(duì)其附加了或者“ + ”的圖標(biāo)。的記號(hào)表示進(jìn)行了AND結(jié)合的程序要素部件的列,“ + ”的記號(hào)表示進(jìn)行了 OR結(jié)合的程序要素部件的列。
程序編輯區(qū)域是能夠操作上述各種圖標(biāo)來編輯梯形圖的區(qū)域,且是與以往的梯形程序制作支援裝置具備的程序編輯畫面(梯形編輯畫面)同樣的結(jié)構(gòu)即可。但是,程序要素部件僅據(jù)此無法成立為程序,所以與圖3所示的程序編輯區(qū)域不同,成為沒有左母線和右母線,且對(duì)構(gòu)成梯形圖的I個(gè)要素的內(nèi)部構(gòu)造進(jìn)行編輯那樣的形式。參數(shù)定義區(qū)域是用于定義在再利用程序要素部件時(shí)應(yīng)設(shè)定的再利用參數(shù)的區(qū)域,由用戶輸入規(guī)定的事項(xiàng)。程序要素部件的定義的步驟與圖6或者圖9所示的程序部件的定義步驟相同,所以此處的說明省略。圖17示出了程序要素部件由賦予了“ * ”的I個(gè)a接點(diǎn)(對(duì)a接點(diǎn)進(jìn)行 了 AND結(jié)合的中繼列)構(gòu)成的結(jié)構(gòu)的例子。另外,對(duì)該a接點(diǎn)的中繼列附加了定義為No. I的再利用參數(shù)的部件變量VB1,對(duì)該部件變量VBl附加了“AND條件中繼列”這樣的說明文。另外,對(duì)該程序要素部件,賦予了 “AND條件處理”這樣的名稱。另外,如果在程序要素部件定義畫面中,使用程序要素部件的圖標(biāo)(“一□-”、“一□ 一+”以及“一□一 *”)來構(gòu)成包括其他程序要素部件的梯形圖,則還能夠定義再利用其他程序要素部件的程序要素部件。圖18是本實(shí)施方式的程序制作支援裝置I的程序部件定義畫面的例子。與圖3所示的結(jié)構(gòu)同樣地,成為從上依次配設(shè)了圖標(biāo)顯示區(qū)域、程序編輯區(qū)域、參數(shù)定義區(qū)域、程序部件名輸入?yún)^(qū)域的結(jié)構(gòu)。在圖標(biāo)顯示區(qū)域中,除了圖3所示的程序部件定義畫面具備的圖標(biāo)以外,還配置了程序要素部件(一□一)以及對(duì)其附加了或者“ + ”的圖標(biāo)。用戶能夠通過操作該圖標(biāo),來制作再利用了程序要素部件的程序部件。參數(shù)定義區(qū)域是在制作程序部件時(shí)用戶輸入規(guī)定的事項(xiàng)的區(qū)域。除了圖3所示的欄以外,還設(shè)置了在定義包括程序要素部件的程序部件的情況下,用于確定該程序要素部件的種類的“要素部件類別”的欄。用戶在使用程序要素部件來定義程序部件時(shí),操作“要素部件類別”的欄,從已經(jīng)定義的程序要素部件中選擇并指定要使用的部件。在圖18中,在程序編輯區(qū)域中,定義了對(duì)OR結(jié)合了的程序要素部件的列(一 □一+ )、和線圈(一()一)進(jìn)行AND結(jié)合而成的程序部件。然后,對(duì)上述程序要素部件的列,賦予定義為No. I的再利用參數(shù)的部件變量VEl,并且,在參數(shù)定義區(qū)域中,作為部件變量VEl的程序要素部件的類別,指定了 “AND條件處理”(即在圖17中定義的程序要素部件)。另外,此處,由用戶對(duì)其設(shè)定了 “0R條件(AND條件處理程序要素部件列)”這樣的說明文。在上述線圈中,并非賦予定義為再利用參數(shù)的部件變量,而賦予了作為表示M代碼完成的輸出設(shè)備的YC1E。在該情況下,在再利用該程序部件時(shí),始終記述設(shè)備YC1E。另夕卜,對(duì)程序部件中使用的程序要素部件,不允許賦予設(shè)備、變量(標(biāo)簽),而需要必須賦予再利用參數(shù)的部件變量。在圖18中,使用程序部件名輸入?yún)^(qū)域,對(duì)該程序部件賦予了 “M代碼完成處理”這樣的名稱。還能夠針對(duì)用于定義程序部件的程序要素部件,列舉并指定程序要素部件的類另O。在該情況下,在所列舉的類別中,定義能夠再利用任意的程序要素部件的程序部件。另外,還能夠針對(duì)用于定義程序部件的程序要素部件(對(duì)其賦予的部件變量),不指定程序要素部件的類別。在該情況下,在程序要素部件的類別中沒有制約,定義能夠再利用任意的程序要素部件的程序部件。對(duì)于沒有指定程序要素部件的類別的部件變量、且對(duì)程序要素部件賦予的部件變量,在再利用程序部件時(shí),需要應(yīng)用程序要素部件。另外,針對(duì)沒有指定程序要素部件的類別的部件變量、且對(duì)接點(diǎn)、命令、線圈的圖標(biāo)賦予的部件變量,在再利用程序部件時(shí),需要如實(shí)施方式I那樣應(yīng)用設(shè)備、變量(標(biāo)簽)。接下來,說明使程序制作支援裝置I使用包括程序要素部件的程序部件而自動(dòng)生成程序的步驟。圖19示出使程序制作支援裝置I再利用程序部件而自動(dòng)生成程序時(shí)的操作畫面顯示(程序部件再利用畫面)的一個(gè)例子。在該圖中,示出了再利用如圖18那樣定義的M代碼完成處理程序部件的情形。實(shí)施方式2的程序部件再利用畫面(圖19)相對(duì)實(shí)施方式I的程序部件再利用畫面(圖10),追加了顯示程序部件中包含的程序要素部件的類別的“要素部件類別”的欄、和“行追加”以及“行刪除”的按鈕。在圖18所示的M代碼完成處理程序部件中,包括類別是“AND條件處理”的程序 要素部件,所以在圖19的例子中,在No. I的再利用參數(shù)的“類別”的欄中顯示“AND條件處理”,與其對(duì)應(yīng)的說明文“0R條件(AND條件處理程序要素部件列)”顯示于“說明文”的欄。另外,在程序部件包括類別未指定的程序要素部件的情況、包括指定了多個(gè)類別的程序要素部件的情況下,由用戶在程序部件再利用畫面(圖19)中對(duì)該類別進(jìn)行指定/選擇。有時(shí)在程序要素部件中包括多個(gè)再利用的要素,所以難以僅通過圖19那樣的畫面來設(shè)定再利用參數(shù)。因此,在再利用的程序部件包括程序要素部件的情況下,在程序部件再利用畫面中,在程序要素部件的“再利用參數(shù)”的欄中,顯示用于展開用于設(shè)定該程序要素部件的再利用參數(shù)的其他畫面的按鈕(以下“展開按鈕”)。用戶能夠通過按壓該展開按鈕,打開進(jìn)行關(guān)于程序要素部件的再利用參數(shù)設(shè)定的畫面(程序要素部件再利用畫面)。另外,在程序部件包括程序要素部件的集合,并希望在該再利用參數(shù)中應(yīng)用多個(gè)參數(shù)的情況下,難以在I個(gè)程序要素部件再利用畫面中進(jìn)行其設(shè)定。因此,在包括程序要素部件的集合的情況下,如圖19那樣,在程序部件再利用畫面中顯示“行追加”、“行刪除”的按鈕。行追加按鈕用于增加構(gòu)成集合的程序要素部件的數(shù)量,通過將其按壓,在參數(shù)應(yīng)用區(qū)域中,用于設(shè)定程序要素部件的再利用參數(shù)的欄增加I行(展開按鈕增加I個(gè))。如果按壓行刪除按鈕,則能夠?qū)⑵鋭h除I行。如果參照?qǐng)D19的程序部件再利用畫面,則M代碼完成處理程序部件(圖18)包括AND條件處理程序要素部件進(jìn)行OR結(jié)合的集合(在“列舉”的欄中顯示“ + ”),該集合與No. I的再利用參數(shù)對(duì)應(yīng)起來。用戶在所制作的程序中希望對(duì)多個(gè)AND條件處理程序要素部件進(jìn)行OR結(jié)合的情況下,按壓行追加按鈕而對(duì)參數(shù)應(yīng)用區(qū)域追加行。在圖19中,示出了對(duì)2個(gè)AND條件處理程序要素部件進(jìn)行OR結(jié)合的情況的例子。用戶之后設(shè)定各要素的再利用參數(shù),如下那樣對(duì)程序要素部件設(shè)定再利用參數(shù)。例如,如果按壓OR結(jié)合的2個(gè)AND條件處理程序要素部件中的第I個(gè)(在“列舉”的欄中顯示“I”)展開按鈕,則圖20那樣的程序要素部件再利用畫面打開。程序要素部件再利用畫面的結(jié)構(gòu)與程序部件再利用畫面(圖19)相同。用戶輸入在該畫面的參數(shù)應(yīng)用區(qū)域中設(shè)定的參數(shù)。在圖20是在第I個(gè)AND條件處理程序要素部件的再利用參數(shù)中應(yīng)用了設(shè)備M3的例子。
另外,在再利用的程序要素部件具有其他程序要素部件的情況下,在“要素部件類另IJ”的欄中顯示該類別(在沒有設(shè)定類別、或者設(shè)定了多個(gè)類別的情況下,使用該欄來選擇期望的類別)。進(jìn)而,在“再利用參數(shù)”的欄中也顯示展開按鈕,由此能夠設(shè)定其他程序要素部件的再利用參數(shù)。在圖20中,AND條件處理程序要素部件不包括程序要素部件,所以“要素部件類別”的欄是空欄,展開按鈕也不顯示。 另外,在程序部件再利用畫面中,如果按壓第2個(gè)AND條件處理程序要素部件(在“列舉”的欄中顯示“2”)的展開按鈕,則與圖20同樣的圖21那樣的程序要素部件再利用畫面打開。在圖21是在第I個(gè)AND條件處理程序要素部件的再利用參數(shù)中應(yīng)用了設(shè)備M3的例子。在圖21中,示出了在第2個(gè)AND條件處理程序要素部件的再利用參數(shù)中列舉設(shè)備M19、X188E而應(yīng)用的例子。圖22示出如圖19、圖20以及圖21那樣設(shè)定各個(gè)再利用參數(shù),使程序制作支援裝置I生成了程序的結(jié)果。在該情況下,在M代碼完成處理程序部件(圖18)中,由程序制作支援裝置1,生成程序要素部件VEl的部分被置換為在圖20中設(shè)定的AND條件處理程序要素部件M3、與在圖21中設(shè)定的AND條件處理程序要素部件M19、X188E的OR結(jié)合的程序。本實(shí)施方式的程序部件的特征在于,包括在再利用時(shí)通過在再利用參數(shù)中通過列舉而應(yīng)用多個(gè)參數(shù)(設(shè)備、變量(標(biāo)簽)、數(shù)值等),按照規(guī)定的形式(AND結(jié)合、OR結(jié)合)生成多個(gè)程序要素部件的程序要素部件的列。在該程序部件中,根據(jù)應(yīng)用于程序要素部件的再利用參數(shù)的數(shù)量,再利用的程序要素部件的個(gè)數(shù)變化,并且程序要素部件自身根據(jù)其中應(yīng)用的參數(shù)而也能夠取各種形式。因此,在實(shí)施方式2中,能夠根據(jù)I個(gè)程序要素,生成比實(shí)施方式I更多的形式的程序。另外,本實(shí)施方式的程序制作支援裝置I的特征在于,具備能夠定義這樣的程序部件的程序部件定義部12。因此,能夠減輕用于制作匹配于標(biāo)準(zhǔn)記述的程序的、與程序部件的選定以及它們的組合相關(guān)的設(shè)計(jì)工作量,大幅削減不會(huì)超過當(dāng)不足地具備標(biāo)準(zhǔn)中記述的功能的程序的制作工作量。另外,再利用程序部件而生成的程序的附屬信息文件也能夠自動(dòng)生成,由于存在該附屬信息,所生成的程序的理解變得容易,與所生成的程序的理解相關(guān)的工作量被減輕?!磳?shí)施方式3>在實(shí)施方式3中,示出使用多個(gè)特定的程序部件結(jié)合而成的更大的程序部件(以下“程序?qū)蛹?jí)部件”)的實(shí)施方式。圖23是示出實(shí)施方式3的程序制作支援裝置I的功能塊結(jié)構(gòu)(軟件塊結(jié)構(gòu))的圖。該程序制作支援裝置I相對(duì)實(shí)施方式2 (圖16)的結(jié)構(gòu),還具備用于定義程序?qū)蛹?jí)部件21的程序?qū)蛹?jí)部件定義部19。將所定義的程序?qū)蛹?jí)部件21保存到程序部件保持部11。程序?qū)蛹?jí)部件21具備在對(duì)其進(jìn)行再利用時(shí)設(shè)定的再利用參數(shù)22。另外,在圖23中,示出了程序部件定義部12、程序要素部件定義部15以及程序?qū)蛹?jí)部件定義部19內(nèi)置于程序制作支援裝置I的結(jié)構(gòu),但它們也可以是外部裝置。圖24是示出程序?qū)蛹?jí)部件19的定義的步驟的流程圖。另外,圖25以及圖26是使用程序?qū)蛹?jí)部件定義部19來定義程序?qū)蛹?jí)部件時(shí)的操作畫面顯示(程序?qū)蛹?jí)部件定義畫面)的例子。此處,示出了按照梯形圖形式,定義進(jìn)行排他的選擇數(shù)值設(shè)定的處理的程序?qū)蛹?jí)部件的畫面的例子。該程序?qū)蛹?jí)部件定義畫面(梯形層級(jí)部件定義畫面)成為從上依次配設(shè)了用于設(shè)定所制作的程序?qū)蛹?jí)部件中包含的程序部件的程序部件設(shè)定區(qū)域、用于定義程序?qū)蛹?jí)部件的再利用參數(shù)的參數(shù)定義區(qū)域、以及輸入程序?qū)蛹?jí)部件的名稱的程序?qū)蛹?jí)部件名輸入?yún)^(qū)域的結(jié)構(gòu)。程序部件設(shè)定區(qū)域進(jìn)而還包括用于設(shè)定程序?qū)蛹?jí)部件中的程序部件的排列的程序部件次序設(shè)定區(qū)域、和用于在構(gòu)成程序?qū)蛹?jí)部件的各程序部件的再利用參數(shù)中應(yīng)用規(guī)定的參數(shù)的參數(shù)應(yīng)用區(qū)域。
以下,以包括圖3所示的自己保持處理程序部件、和如圖27那樣定義的數(shù)值設(shè)定處理程序部件的排他的選擇數(shù)值設(shè)定程序?qū)蛹?jí)部件為例子,而說明程序?qū)蛹?jí)部件的定義的步驟。首先,將在再利用程序?qū)蛹?jí)部件時(shí)設(shè)定的再利用參數(shù)定義為用于記述程序?qū)蛹?jí)部件的部件變量(S61)。在圖25以及圖26的例子中,作為No. I的再利用參數(shù),定義了對(duì)排他的選擇數(shù)值設(shè)定程序的指令中繼(在圖27中賦予了作為再利用參數(shù)的部件變量VBl的a接點(diǎn))賦予的部件變量VB。另外,作為No. 2的再利用參數(shù),定義對(duì)在數(shù)值設(shè)定處理命令(MOV)中設(shè)定的數(shù)值(圖27的變量VK2)賦予的部件變量VK,作為No. 3的再利用參數(shù),作為內(nèi)部局部變量(內(nèi)部中繼)設(shè)定部件變量VM,作為No. 4的再利用參數(shù),定義對(duì)數(shù)值的設(shè)定目的地寄存器(圖27的變量VD3)賦予的部件變量VD。此處,參數(shù)定義區(qū)域的“列舉”的復(fù)選框用于設(shè)定是否能夠針對(duì)該再利用參數(shù)通過列舉而設(shè)定參數(shù)。在圖25以及圖26的例子中,選擇了(“ > ”)的No. Γ3的再利用參數(shù)被定義為能夠通過列舉而設(shè)定參數(shù)。程序?qū)蛹?jí)部件再利用所列舉的參數(shù)的數(shù)量的規(guī)定的程序部件來進(jìn)行程序生成。另外,也可以如圖25以及圖26的參數(shù)定義區(qū)域所示,作為程序?qū)蛹?jí)部件的再利用參數(shù),準(zhǔn)備程序注釋和程序指針。接下來,使用程序部件次序設(shè)定區(qū)域,來選擇在程序?qū)蛹?jí)部件中再利用的程序部件及其順序(S62)。在使用程序?qū)蛹?jí)部件來生成程序時(shí),按照所選擇出的順序再利用在該工序中選擇出的程序部件。在圖25以及圖26的例子中,在程序部件次序設(shè)定區(qū)域的右側(cè)的框中顯示了已定義的程序部件的一覽,如果從該一覽選擇I個(gè)并按下選擇按鈕(“〈〈”),則其被追加到左側(cè)的框內(nèi)的梯形圖。另外,如果選擇左側(cè)的框(梯形圖)中顯示的I個(gè)程序部件并按下刪除按鈕,則能夠從梯形圖刪除該程序部件。進(jìn)而,如果選擇左側(cè)的框中顯示的I個(gè)程序部件并按下上下移動(dòng)按鈕(箭頭按鈕“丨”以及“丨”),則能夠變更該程序部件的順序。在圖25以及圖26中,示出了從程序部件的一覽中,首先選擇自己保持處理程序部件并追加到梯形圖,進(jìn)而選擇數(shù)值設(shè)定處理程序部件并追加到梯形圖的上述自己保持處理程序部件的下一個(gè)的例子。其結(jié)果,定義能夠生成將自己保持處理程序部件以及數(shù)值設(shè)定處理程序部件按照該順序再利用了的程序的程序?qū)蛹?jí)部件。另外,該程序?qū)蛹?jí)部件如果在再利用參數(shù)通過列舉而設(shè)定了參數(shù),則能夠生成將自己保持處理程序部件以及數(shù)值設(shè)定處理程序部件反復(fù)再利用了該列舉出的參數(shù)的數(shù)量的程序。接下來,將在程序?qū)蛹?jí)部件中定義為再利用參數(shù)的部件變量應(yīng)用于該程序?qū)蛹?jí)部件中包含的程序部件的再利用參數(shù)(S63)。在圖25以及圖26的例子中,如果選擇程序部件次序設(shè)定區(qū)域的左側(cè)框(梯形圖)內(nèi)的程序部件,則在其下面的參數(shù)應(yīng)用區(qū)域,顯示所選擇出的程序部件的再利用參數(shù)的一覽。
在圖25中,在程序部件次序設(shè)定區(qū)域的左側(cè)框內(nèi)選擇自己保持處理程序部件,在參數(shù)應(yīng)用區(qū)域中顯示了該再利用參數(shù)的一覽。此處,針對(duì)自己保持處理程序部件的No. I的再利用參數(shù)(圖3的VBl)應(yīng)用了對(duì)該程序?qū)蛹?jí)部件的No. I的再利用參數(shù)VB附加了記號(hào)“O”的結(jié)果(VB@),針對(duì)自己保持處理程序部件的No. 2的再利用參數(shù)(圖3的VB2)應(yīng)用了對(duì)該程序?qū)蛹?jí)部件的No. I的再利用參數(shù)VB附加了記號(hào)“O!”的結(jié)果(VB@!),針對(duì)自己保持處理程序部件的No. 3的再利用參數(shù)(圖3的VB3)應(yīng)用了對(duì)該程序?qū)蛹?jí)部件的No. 3的再利用參數(shù)VM附加了記號(hào)的結(jié)果(VM@)。在圖26中,在程序部件次序設(shè)定區(qū)域的左側(cè)框內(nèi)選擇數(shù)值設(shè)定處理程序部件,在參數(shù)應(yīng)用區(qū)域中顯示了該再利用參數(shù)的一覽。此處,針對(duì)數(shù)值設(shè)定處理程序部件的No. I的再利用參數(shù)(圖27的VBl)應(yīng)用對(duì)該程序?qū)蛹?jí)部件的No. 3的再利用參數(shù)VM附加了記號(hào)“O”的結(jié)果(VM@),針對(duì)數(shù)值設(shè)定處理程序部件的No. 2的再利用參數(shù)(圖27的VK2)應(yīng)用對(duì)該程序?qū)蛹?jí)部件的No. 2的再利用參數(shù)VK附加了記號(hào)“O”的結(jié)果(VK@),針對(duì)數(shù)值設(shè)定處理程序部件的No. 3的再利用參數(shù)(圖27的VD3)應(yīng)用了該程序?qū)蛹?jí)部件的No. 4的再利用參數(shù)VD。另外,記號(hào)表示在將程序?qū)蛹?jí)部件內(nèi)的程序部件被反復(fù)再利用了所列舉出的參數(shù)的數(shù)量了時(shí),將所列舉出的參數(shù)逐個(gè)依次應(yīng)用。另外,記號(hào)“@! ”表示在將程序?qū)蛹?jí)部件內(nèi)的程序部件被反復(fù)再利所列舉出的參數(shù)的數(shù)量時(shí),通過列舉而應(yīng)用根據(jù)記號(hào)“O”應(yīng)用的參數(shù)以外的所有參數(shù)。在再利用程序?qū)蛹?jí)部件時(shí),將該程序?qū)蛹?jí)部件中包含的程序部件被反復(fù)再利用在再利用參數(shù)中通過列舉而應(yīng)用的參數(shù)的數(shù)量。例如,如果在再利用參數(shù)VB中,通過列舉而應(yīng)用了 3個(gè)參數(shù)XI、X2、X3,則再利用進(jìn)行3次。在該情況下,在第I次的再利用中在VBO中應(yīng)用第I個(gè)參數(shù)XI,在VBO!中應(yīng)用其以外的參數(shù)X2、X3。另外,在第2次的再利用中,在VBO中應(yīng)用第2個(gè)參數(shù)X2,在VBO!中應(yīng)用其以外的參數(shù)XI、X3。另外,在第3次的再利用中,在VBO中應(yīng)用第3個(gè)參數(shù)X3,在VBO!中應(yīng)用其以外的參數(shù)XI、X2。最后,在程序?qū)蛹?jí)部件名輸入?yún)^(qū)域中對(duì)所制作出的程序?qū)蛹?jí)部件輸入名稱(S64)并保存,從而程序?qū)蛹?jí)部件的定義完成。另外,程序?qū)蛹?jí)部件還能夠成為其他程序?qū)蛹?jí)部件的構(gòu)成要素。在存在已經(jīng)定義并保存的程序?qū)蛹?jí)部件的情況下,在程序?qū)蛹?jí)部件定義畫面的程序部件次序設(shè)定區(qū)域的右側(cè)框中對(duì)其進(jìn)行顯示,而能夠與通常的程序部件同樣地選擇。由此,能夠定義再利用其他程序?qū)蛹?jí)部件的程序?qū)蛹?jí)部件。圖28示出了使程序制作支援裝置I再利用程序?qū)蛹?jí)部件而自動(dòng)生成程序時(shí)的操作畫面顯示(程序?qū)蛹?jí)部件再利用畫面)的一個(gè)例子。該程序?qū)蛹?jí)部件再利用畫面與圖10的結(jié)構(gòu)大致相同,具備顯示再利用的程序?qū)蛹?jí)部件的名稱的程序?qū)蛹?jí)部件名顯示區(qū)域、和用于輸入應(yīng)用于再利用參數(shù)的設(shè)備、變量(標(biāo)簽)等參數(shù)的參數(shù)應(yīng)用區(qū)域。在圖28中,示出了再利用如圖24以及圖25那樣定義的程序?qū)蛹?jí)部件的情形。在參數(shù)應(yīng)用區(qū)域中顯示的再利用參數(shù)的“No. ”、“列舉”、“說明文”的欄中,顯示在圖24以及圖25的程序?qū)蛹?jí)部件定義畫面的參數(shù)定義區(qū)域中定義的內(nèi)容。
用戶在參數(shù)應(yīng)用區(qū)域中,輸入應(yīng)用于再利用參數(shù)的參數(shù)。此時(shí),能夠在“列舉”的欄中顯示了選擇(“ >”)的再利用參數(shù)中,通過列舉而輸入2個(gè)以上的參數(shù)。但是,在各再利用參數(shù)(僅限于能夠通過列舉而應(yīng)用參數(shù)的情形)中通過列舉而應(yīng)用的參數(shù)的數(shù)量需要完全相同。
在圖28的例子中,示出了在程序注釋中應(yīng)用“切削倍率設(shè)定開關(guān)”、在No. I的再利用參數(shù)(VB)中應(yīng)用“X285、X286、X287、X288”、在No. 2的再利用參數(shù)(VK)中應(yīng)用“25、50、75、100”、在 No. 3 的再利用參數(shù)(VM)中應(yīng)用 “M4002、M4003、M4004、M4005”、在 No. 3 的再利用參數(shù)(VD)中應(yīng)用“R2500”的例子。在該情況下,由程序制作支援裝置I制作圖29那樣的梯形程序。圖29的程序是處理圖30那樣的切削倍率開關(guān)的設(shè)定結(jié)果的程序。設(shè)備的操作者通過設(shè)備的操作盤等中具備的切削倍率開關(guān),從25%、50%、75%、100%選擇該設(shè)備工作時(shí)的切削倍率值。切削倍率開關(guān)的輸出與為了進(jìn)行設(shè)備的測(cè)量監(jiān)視控制而嵌入的控制器的各X設(shè)備(X285、X286、X287、X288)連接??刂破鲗⑼ㄟ^各X設(shè)備的ON (接通)/OFF (斷開)選擇出的切削倍率值儲(chǔ)存到控制器內(nèi)部的R寄存器(R2500)。以下,說明程序制作支援裝置I進(jìn)行的、再利用了程序部件的程序的生成方法。圖31是該生成方法的流程圖。此處,以生成圖7所示的梯形程序的情況為例子。如果如圖29那樣,由用戶在程序?qū)蛹?jí)部件再利用畫面中輸入必要的信息,而命令生成程序,則首先程序制作支援裝置I確認(rèn)能夠通過列舉而應(yīng)用參數(shù)的再利用參數(shù)(在程序?qū)蛹?jí)部件定義畫面的參數(shù)定義區(qū)域中,在“列舉”的欄中輸入了選擇(“ > ”)的參數(shù))是否有多個(gè),在有多個(gè)的情況下,確認(rèn)在它們中應(yīng)用的參數(shù)的數(shù)量是否完全相同(S71)。如果存數(shù)量不同的參數(shù),則顯示再利用參數(shù)的設(shè)定錯(cuò)誤等,不生成程序而結(jié)束(S72)。接下來,進(jìn)行與作為再利用參數(shù)的程序注釋以及跳躍用標(biāo)簽(程序指針)的設(shè)定內(nèi)容對(duì)應(yīng)的處理(S73)。該處理是與圖11的步驟S3fS34相同的處理。以后,將程序部件的再利用進(jìn)行在再利用參數(shù)中通過列舉而應(yīng)用的參數(shù)的數(shù)量而生成程序。首先,將用于對(duì)再利用的次數(shù)進(jìn)行計(jì)數(shù)的索引i設(shè)定為1(S74)。每當(dāng)程序部件的再利用完成,索引i遞增1,反復(fù)程序部件的再利用,直至i的值超過參數(shù)的列舉數(shù)。按照程序?qū)蛹?jí)部件的程序構(gòu)造的順序、即在程序?qū)蛹?jí)部件定義畫面的程序部件次序設(shè)定區(qū)域中設(shè)定的順序,進(jìn)行程序部件的再利用。程序制作支援裝置I按照程序?qū)蛹?jí)部件的程序構(gòu)造的順序抽出程序部件(S75 )。接下來,依次抽出所抽出的程序部件的再利用參數(shù)(S76),確認(rèn)是否對(duì)其應(yīng)用了該程序?qū)蛹?jí)部件的再利用參數(shù)(S77)。如果應(yīng)用了該程序?qū)蛹?jí)部件的再利用參數(shù),則判斷對(duì)其附加了記號(hào)“O”(S78)、還是附加了記號(hào)“@!”(S80)、或者都不是。如果對(duì)程序部件的再利用參數(shù)附加了記號(hào)則針對(duì)其應(yīng)用程序?qū)蛹?jí)部件的第i個(gè)再利用參數(shù)(S79)。如果對(duì)程序部件的再利用參數(shù)附加了記號(hào)“O! ”,則針對(duì)其通過列舉而應(yīng)用程序?qū)蛹?jí)部件的第i個(gè)以外的所有再利用參數(shù)(S81)。如果哪個(gè)記號(hào)也沒有附加,則在程序部件的再利用參數(shù)中,應(yīng)用程序?qū)蛹?jí)部件的再利用參數(shù)(S82)。另外,在所抽出的程序部件的再利用參數(shù)中,沒有應(yīng)用該程序?qū)蛹?jí)部件的再利用參數(shù)的情況下(在S77中“否”),原樣地應(yīng)用應(yīng)用于該程序?qū)蛹?jí)部件的再利用參數(shù)的設(shè)備、變量(標(biāo)簽)、數(shù)值(S83)。針對(duì)該程序部件的所有再利用參數(shù)執(zhí)行與程序部件的再利用參數(shù)相關(guān)的處理(S76^S83) (S84)。如果針對(duì)所有再利用參數(shù)的處理完成(在S84中“否”),則根據(jù)其處理結(jié)果生成再利用了該程序部件的程序(S85)。在該程序生成工序中,進(jìn)行與圖11所示的程序的生成方法同樣的處理。針對(duì)程序?qū)蛹?jí)部件內(nèi)的所有程序部件,按照指定的順序,執(zhí)行程序部件的抽出(S75)至再利用程序部件的程序生成(S85)的處理(S86)。如果針對(duì)所有程序部件,這些處理完成(在S86中“否”),則索引i遞增(S87),反復(fù)這些處理,直至遞增后的索引i超過程序?qū)蛹?jí)部件的再利用參數(shù)中列舉出的參數(shù)的數(shù)量(S88)。最后,進(jìn)行與作為再利用參數(shù)的程序注釋以及跳躍用標(biāo)簽(程序指針)的設(shè)定內(nèi)容對(duì)應(yīng)的處理(S89)。該處理是與圖11的步驟S44 S47相同的處理。針對(duì)如圖25以及圖26那樣定義的程序?qū)蛹?jí)部件,以如圖28那樣設(shè)定了再利用參數(shù)的情況為例子,具體說明以上說明的程序生成方法。如果如圖28那樣,由用戶在程序?qū)蛹?jí)部件再利用畫面中輸入必要的信息,并命令生成程序,則程序制作支援裝置I確認(rèn)在“列舉”的欄中輸入了選擇(“ > ”)的No. Γ4的再利用參數(shù)中列舉出的參數(shù)的數(shù)量(S71)。此處,由于都是4個(gè),所以不成為設(shè)定錯(cuò)誤,而執(zhí)行程序的制作。首先,在再利用參數(shù)的程序注釋中設(shè)定了“切削倍率設(shè)定開關(guān)”,所以程序制作支援裝置I將對(duì)其賦予了“開始”的“開始切削倍率設(shè)定開關(guān)”作為程序注釋而輸出(S73)。跳躍用標(biāo)簽沒有被設(shè)定。在將索引i設(shè)定為I之后,按照程序?qū)蛹?jí)部件的構(gòu)造順序抽出程序部件(S75)。如圖25以及圖26的定義,該程序?qū)蛹?jí)部件的第I個(gè)程序部件是自己保持處理程序部件,所以其被抽出。然后,針對(duì)所抽出的自己保持處理程序部件,依次抽出再利用參數(shù)(S76)。首先,在自己保持處理程序部件的No. I的再利用參數(shù)VBl中,應(yīng)用對(duì)程序?qū)蛹?jí)部件的No. I的再利用參數(shù)VB附加了記號(hào)“O”的結(jié)果。因此,在其中通過列舉而設(shè)定的設(shè)備X285、X286、X287、X288的第I個(gè)(第i個(gè))X285被應(yīng)用于自己保持處理程序部件的No. I的再利用參數(shù)VBl (S79)。在自己保持處理程序部件的No. 2的再利用參數(shù)VB2中,應(yīng)用對(duì)程序?qū)蛹?jí)部件的No. I的再利用參數(shù)VB附加了記號(hào)“@!”的結(jié)果。因此,在其中通過列舉而設(shè)定的設(shè)備X285、X286、X287、X288的第I個(gè)(第i個(gè))以外的X286、X287、X288被應(yīng)用于自己保持處理程序部件的No. 2的再利用參數(shù)VB2 (S81)。在自己保持處理程序部件的No. 3的再利用參數(shù)VB3中,應(yīng)用了對(duì)程序?qū)蛹?jí)部件的No. 3的再利用參數(shù)VM附加了記號(hào)的結(jié)果。因此,在其中通過列舉而設(shè)定的設(shè)備M4002、M4003、M4004、M4005的第I個(gè)(第i個(gè))M4002被應(yīng)用于自己保持處理程序部件的No. 3的再利用參數(shù)VB3 (S79)。根據(jù)以上的再利用參數(shù)的應(yīng)用結(jié)果,輸出再利用自己保持處理程序部件而生成的程序(S85)。如果再利用自己保持處理程序部件的程序生成結(jié)束,則這次抽出作為程序?qū)蛹?jí)部件的第2個(gè)程序部件的數(shù)值設(shè)定處理程序部件(S75)。然后,針對(duì)所抽出的數(shù)值設(shè)定處理程序部件,依次抽出再利用參數(shù)(S76),進(jìn)行與上述同樣的處理。在數(shù)值設(shè)定處理程序部件的No. I的再利用參數(shù)VBl中,應(yīng)用對(duì)程序?qū)蛹?jí)部件的No. 3的再利用參數(shù)VM附加了記號(hào)的結(jié)果。因此,在其中通過列舉而設(shè)定的設(shè)備M4002、M4003、M4004、M4005的第I個(gè)(第i個(gè))M4002被應(yīng)用于數(shù)值設(shè)定處理程序部件的No. I的、再利用參數(shù)VBl (S79)。在數(shù)值設(shè)定處理程序部件的No. 2的再利用參數(shù)VK2中,應(yīng)用對(duì)程序?qū)蛹?jí)部件的No. 3的再利用參數(shù)VK附加了記號(hào)的結(jié)果。因此,在其中通過列舉而設(shè)定的數(shù)值25、50、75,100的第I個(gè)(第i個(gè))即25 (在圖29中為10進(jìn)制表現(xiàn)“K25”)被應(yīng)用于數(shù)值設(shè)定處理程序部件的No. 2的再利用參數(shù)VK2 (S79)。在數(shù)值設(shè)定處理程序部件的No. 3的再利用參數(shù)VD3中,應(yīng)用程序?qū)蛹?jí)部件的No. 4的再利用參數(shù)VD。在其中沒有附加記號(hào)“O”也沒有附加記號(hào)“O! ”,所以在其中設(shè)定的設(shè)備R2500被原樣地應(yīng)用于數(shù)值設(shè)定處理程序部件的No. 3的再利用參數(shù)VD3 (S82)。根據(jù)以上的再利用參數(shù)的應(yīng)用結(jié)果,輸出再利用數(shù)值設(shè)定處理程序部件而生成的程序(S85)。 如果這樣完成再利用自己保持處理程序部件以及數(shù)值設(shè)定處理程序部件的程序生成,則索引i被遞增(S87)。在圖28的例子中,參數(shù)的列舉數(shù)是4個(gè),所以針對(duì)索引i=2、3、4,通過與上述同樣的步驟,反復(fù)進(jìn)行再利用自己保持處理程序部件以及數(shù)值設(shè)定處理程序部件的程序生成。最后,進(jìn)行與作為再利用參數(shù)的程序注釋以及跳躍用標(biāo)簽(程序指針)的設(shè)定內(nèi)容對(duì)應(yīng)的處理(S89)。在圖28的例子中,輸出對(duì)所設(shè)定的程序注釋“切削倍率設(shè)定開關(guān)”賦予了“結(jié)束”的“結(jié)束切削倍率設(shè)定開關(guān)”而作為程序注釋。另外,沒有設(shè)定跳躍用標(biāo)簽,所以不輸出返回命令。通過以上那樣的步驟,生成圖29所示的程序。本實(shí)施方式的程序?qū)蛹?jí)部件通過再利用,能夠生成組合多個(gè)程序部件而構(gòu)成的程序。另外,此時(shí),通過在程序?qū)蛹?jí)部件的再利用參數(shù)中通過列舉而應(yīng)用多個(gè)參數(shù)(設(shè)備、變量(標(biāo)簽)、數(shù)值等),能夠生成將這些程序部件再利用了多次的結(jié)構(gòu)的程序。該程序?qū)蛹?jí)部件能夠根據(jù)應(yīng)用于再利用參數(shù)的參數(shù)的列舉數(shù)而取各種形式。另外,本實(shí)施方式的程序制作支援裝置I的特征在于,具備能夠定義這樣的程序部件的程序部件定義部12。通過與實(shí)施方式1、2的組合,能夠生成比實(shí)施方式1、2更多的形式的程序。另外,本實(shí)施方式的程序制作支援裝置I的特征在于,具備能夠定義這樣的程序部件的程序部件定義部12。因此,能夠減輕用于制作匹配于標(biāo)準(zhǔn)記述的程序的、與程序部件的選定以及它們的組合相關(guān)的設(shè)計(jì)工作量,大幅削減制作不會(huì)超過當(dāng)不足地具備標(biāo)準(zhǔn)中記述的功能的程序的制作工作量。另外,再利用程序部件而生成的程序的附屬信息文件也能夠自動(dòng)生成,由于存在該附屬信息,所生成的程序的理解變得容易,與所生成的程序的理解相關(guān)的工作量被減輕?!磳?shí)施方式4>本實(shí)施方式4的程序制作支援裝置I生成用于控制工作機(jī)械的程序。以下,作為其一個(gè)例子,說明程序制作支援裝置I生成梯形程序的情況。首先,在說明程序制作支援裝置I之前,說明使用程序制作支援裝置I生成的梯形程序的工作機(jī)械。圖33是示出工作機(jī)械的結(jié)構(gòu)的框圖。工作機(jī)械46具備計(jì)算機(jī)數(shù)值控制裝置控制器(Computerized Numerical Controller :以下記載為 “CNC”)47、使工作機(jī)械 46 的工具以及加工物旋轉(zhuǎn)以及移動(dòng)的主軸馬達(dá)54以及伺服馬達(dá)55、用于操作工作機(jī)械46的操作盤56、和附帶設(shè)備57。另外,以下,還有時(shí)將圖33所示的具備CNC47的工作機(jī)械46稱為“CNC工作機(jī)械46”。CNC47由例如嵌入到CNC工作機(jī)械46的計(jì)算機(jī)構(gòu)成,具備具有運(yùn)動(dòng)控制功能的運(yùn)動(dòng)控制部51、和具有時(shí)序控制功能的時(shí)序控制部52。在該CNC47中,預(yù)先存儲(chǔ)有記述了 CNC工作機(jī)械46中的加工步驟的加工程序48,CNC47解釋該加工程序48來控制主軸馬達(dá)54以及伺服馬達(dá)55、或者控制附帶設(shè)備57。具體而言,在加工程序48中,預(yù)先記述了指令工具以及加工物的移動(dòng)量以及移動(dòng)速度的G代碼49,CNC47的運(yùn)動(dòng)控制部51根據(jù)該G代碼49的指令(數(shù)值),控制主軸馬達(dá)54以及伺服馬達(dá)55的旋轉(zhuǎn)以及移動(dòng)。由此,具備CNC47的工作機(jī)械46能夠使工具以及加工物以期望的移動(dòng)量以及移動(dòng)速度旋轉(zhuǎn)或者移動(dòng)。另外,在加工程序48中,預(yù)先記述了指令附帶設(shè)備57的控制的M代碼50,CNC47的時(shí)序控制部52根據(jù)該M代碼50的指令,控制附帶設(shè)備57。該時(shí)序控制部52具有與PC 等同的功能,所以既可以通過與PC等同并且獨(dú)立于PC的硬件來實(shí)現(xiàn),也可以通過PC的硬件來實(shí)現(xiàn)。以上那樣的與CNC工作機(jī)械46的梯形程序制作關(guān)聯(lián)的標(biāo)準(zhǔn)例如公開于非專利文獻(xiàn) 2 (非專利文獻(xiàn) 2 =PLC 7° 口夕'' 7 務(wù) > 夕''説明書 IB — 1500035,網(wǎng)絡(luò)〈URL http://wwwf2.mitsubishielectric, co. jp/melfansweb/index_j. htm>)。另外,為了使以上那樣的CNC工作機(jī)械46正確地動(dòng)作,CNC工作機(jī)械46需要具有用于按照M代碼50的指令控制附帶設(shè)備57的梯形程序53 (以下,“M代碼處理程序”),并且需要具有用于使用操作盤56來控制工作機(jī)械46的梯形程序53 (以下,“操作盤處理程序,,)。<程序制作支援裝置I的結(jié)構(gòu)>本實(shí)施方式的程序制作支援裝置I根據(jù)操作盤56的標(biāo)準(zhǔn)、以及M代碼50的標(biāo)準(zhǔn),生成在CNC工作機(jī)械46中使用的操作盤處理程序、以及M代碼處理程序。以下,說明本實(shí)施方式的程序制作支援裝置I。另外,制作操作盤處理程序以及M代碼處理程序的程序制作支援裝置既可以是與用于制作PC的梯形程序的程序制作支援裝置等同并且與其獨(dú)立的裝置,也可以應(yīng)用用于制作PC的梯形程序的程序制作支援裝置。另外,一般,CNC工作機(jī)械46在操作盤56中具備多個(gè)開關(guān),并且具備幾十 幾百個(gè)M代碼50,但以下,以運(yùn)轉(zhuǎn)模式選擇、倍率等典型的開關(guān)、M3、M4、M5、M30等代表性的M代碼為例子而進(jìn)行說明。本實(shí)施方式的程序制作支援裝置I的硬件結(jié)構(gòu)與圖2所示的框圖相同。如果使用圖2來說明其硬件結(jié)構(gòu),則將與CNC工作機(jī)械46相關(guān)的標(biāo)準(zhǔn)的數(shù)據(jù)以及與測(cè)量監(jiān)視控制程序相關(guān)的文件保持于保存部5。另外,程序制作支援裝置I使應(yīng)輸入的標(biāo)準(zhǔn)顯示于顯示部3,依照在輸入部4中由用戶設(shè)定的標(biāo)準(zhǔn),微處理器2執(zhí)行程序生成處理。圖34是示出本實(shí)施方式的程序制作支援裝置I的功能塊結(jié)構(gòu)(軟件塊結(jié)構(gòu))的圖。該程序制作支援裝置I相對(duì)此前的實(shí)施方式中說明的程序編輯部6以及程序部件保持部11,還具備標(biāo)準(zhǔn)設(shè)定部31、和設(shè)備標(biāo)準(zhǔn)保持部32。另外,為了簡(jiǎn)化附圖,在圖34中,程序部件定義部12等的圖示被省略。從外部(標(biāo)準(zhǔn)輸入29),對(duì)程序制作支援裝置1,輸入操作盤56以及M代碼50等的標(biāo)準(zhǔn)而作為標(biāo)準(zhǔn)輸入29。另外,程序制作支援裝置I與操作盤56以及記述了 M代碼等標(biāo)準(zhǔn)的標(biāo)準(zhǔn)記述文件30連接,能夠關(guān)于操作盤56以及M代碼等的標(biāo)準(zhǔn),讀寫標(biāo)準(zhǔn)記述文件30。標(biāo)準(zhǔn)設(shè)定部31從標(biāo)準(zhǔn)輸入29以及標(biāo)準(zhǔn)記述文件30,接收操作盤56以及M代碼50的標(biāo)準(zhǔn),而設(shè)定操作盤56的標(biāo)準(zhǔn)以及M代碼50的標(biāo)準(zhǔn)。在本實(shí)施方式中,標(biāo)準(zhǔn)設(shè)定部31具有接收操作盤56的標(biāo)準(zhǔn)來設(shè)定(存儲(chǔ))操作盤56的標(biāo)準(zhǔn)的操作盤標(biāo)準(zhǔn)設(shè)定部31A、和接收M代碼50的標(biāo)準(zhǔn)來設(shè)定(存儲(chǔ))M代碼50的標(biāo)準(zhǔn)的M代碼標(biāo)準(zhǔn)設(shè)定部31B。標(biāo)準(zhǔn)設(shè)定部31將所設(shè)定的標(biāo)準(zhǔn)(標(biāo)準(zhǔn)數(shù)據(jù))輸出到程序編輯部6或者以寫入到標(biāo)準(zhǔn)記述文件30的方式輸出。
程序部件保持部11預(yù)先保持有在程序編輯部6生成程序時(shí)使用的梯形部件等程序部件10。該程序部件10既可以是在實(shí)施方式廣3中的任一個(gè)中定義的部件,也可以是在這些以外的以往的方式中定義的部件。本實(shí)施方式的程序部件保持部11保持有模式反轉(zhuǎn)處理程序部件10A、自己保持處理程序部件10B、數(shù)值設(shè)定處理程序部件10C、M代碼解碼處理程序部件10D、AND條件處理程序部件10E、M代碼完成處理程序部件10F,而作為程序部件10。圖35是示出設(shè)備標(biāo)準(zhǔn)保持部32保持的與運(yùn)動(dòng)控制輸入輸出相關(guān)的設(shè)備地址的標(biāo)準(zhǔn)的圖。設(shè)備標(biāo)準(zhǔn)保持部32保持圖35所示那樣的設(shè)備的標(biāo)準(zhǔn),而作為與在CNC工作機(jī)械46中使用的梯形程序關(guān)聯(lián)的標(biāo)準(zhǔn)。具體而言,設(shè)備標(biāo)準(zhǔn)保持部32保持有將確定是什么樣的運(yùn)動(dòng)控制輸入輸出的名稱、與分配了該輸入輸出的設(shè)備地址關(guān)聯(lián)起來的表格。以上那樣的與CNC工作機(jī)械46的梯形程序的制作相關(guān)的設(shè)備地址的標(biāo)準(zhǔn)例如公開于非專利文獻(xiàn)3 (非專利文獻(xiàn) 3:PLC 4 > 夕一7 二一 7説明書 IB — 1500000、網(wǎng)絡(luò)〈URL :http://wwwf2.mitsubishielectric, co. jp/melfansweb/index_j. htm>)。程序編輯部6通過接收來自標(biāo)準(zhǔn)設(shè)定部31的標(biāo)準(zhǔn)、或者讀取標(biāo)準(zhǔn)記述文件30中保存的標(biāo)準(zhǔn),來取得操作盤56以及M代碼50的標(biāo)準(zhǔn)。在本實(shí)施方式中,該程序編輯部6具備程序生成部34。該程序生成部34將標(biāo)準(zhǔn)記述文件30中記述的操作盤56以及M代碼50的各個(gè)標(biāo)準(zhǔn)、以及由標(biāo)準(zhǔn)設(shè)定部31設(shè)定的操作盤56以及M代碼50的各個(gè)標(biāo)準(zhǔn)應(yīng)用于程序部件保持部11中保持的程序部件10的再利用參數(shù)22,并且根據(jù)該程序部件10制作程序。另外,本實(shí)施方式的程序生成部34在根據(jù)程序部件10制作程序時(shí),參照設(shè)備標(biāo)準(zhǔn)保持部32中保持的設(shè)備的標(biāo)準(zhǔn)。在本實(shí)施方式中,該程序生成部34具有操作盤處理程序生成部341、和M代碼處理程序生成部342,具有針對(duì)每個(gè)功能標(biāo)準(zhǔn)生成程序的單元。接下來,說明操作盤處理程序生成部341以及M代碼處理程序生成部342。操作盤處理程序生成部341將標(biāo)準(zhǔn)記述文件30中記述的操作盤56的標(biāo)準(zhǔn)、以及由標(biāo)準(zhǔn)設(shè)定部31設(shè)定的操作盤56的標(biāo)準(zhǔn)應(yīng)用于程序部件保持部11中保持的程序部件10的再利用參數(shù)22,并且根據(jù)該程序部件10生成上述操作盤處理程序。在本實(shí)施方式中,操作盤處理程序生成部341具備模式反轉(zhuǎn)功能生成部341A、運(yùn)轉(zhuǎn)模式選擇功能生成部341B、以及切削倍率功能生成部341C (以下,還有時(shí)將它們總稱為“功能生成部341A 341C”),功能生成部341A 341C的各個(gè)生成用于在操作盤56中進(jìn)行相互不同的控制的操作盤處理程序。具體而言,模式反轉(zhuǎn)功能生成部341A生成用于在操作盤56中進(jìn)行模式反轉(zhuǎn)控制的操作盤處理程序,運(yùn)轉(zhuǎn)模式選擇功能生成部341B生成用于在操作盤56中進(jìn)行運(yùn)轉(zhuǎn)模式選擇控制的操作盤處理程序,切削倍率功能生成部341C生成用于在操作盤56中進(jìn)行切削倍率控制的操作盤處理程序。 M代碼處理程序生成部342將標(biāo)準(zhǔn)記述文件30中記述的M代碼50的標(biāo)準(zhǔn)、以及由標(biāo)準(zhǔn)設(shè)定部31設(shè)定的M代碼50的標(biāo)準(zhǔn)應(yīng)用于程序部件保持部11中保持的程序部件10的再利用參數(shù)22,并且根據(jù)該程序部件10生成上述M代碼處理程序。在本實(shí)施方式中,M代碼處理程序生成部342具備M代碼功能生成部342A,M代碼功能生成部342A生成M代碼處
理程序。程序編輯部6將所生成的操作盤處理程序以及M代碼處理程序作為編輯后的程序8輸出,并且根據(jù)需要輸出與其關(guān)聯(lián)的附屬信息文件9。例如,在編輯后的程序8是梯形程序的情況下,如實(shí)施方式I中的說明,將說明在該梯形程序中使用的各設(shè)備的內(nèi)容的注釋作為附屬信息文件9而輸出。
<操作盤標(biāo)準(zhǔn)設(shè)定部31A中的標(biāo)準(zhǔn)的設(shè)定>接下來,說明通過標(biāo)準(zhǔn)設(shè)定部31的操作盤標(biāo)準(zhǔn)設(shè)定部31A設(shè)定操作盤56的標(biāo)準(zhǔn)的例子。圖36是示出用于在具有并非撥動(dòng)型的開關(guān)、例如按壓按鈕開關(guān)排列的操作盤56的CNC工作機(jī)械46中設(shè)定該操作盤56中的各開關(guān)的標(biāo)準(zhǔn)的畫面(以下“操作盤標(biāo)準(zhǔn)設(shè)定畫面”)的一個(gè)例子的圖。在該圖36所示的操作盤標(biāo)準(zhǔn)設(shè)定畫面上,矩陣狀地排列多個(gè)開關(guān)而顯示,如果由使用者使用鼠標(biāo)雙擊(選擇)了某一個(gè)開關(guān),則顯示與該開關(guān)對(duì)應(yīng)的開關(guān)標(biāo)準(zhǔn)設(shè)定畫面。圖37是示出在圖36中選擇了記載為“運(yùn)轉(zhuǎn)存儲(chǔ)器”的開關(guān)的情況下顯示的開關(guān)標(biāo)準(zhǔn)設(shè)定畫面的圖。在該開關(guān)標(biāo)準(zhǔn)設(shè)定畫面中,針對(duì)在圖36中選擇的I個(gè)開關(guān),設(shè)定開關(guān)類別、開關(guān)動(dòng)作、開關(guān)輸入。此處,標(biāo)定圖36所示的開關(guān)的框內(nèi)顯示的字符串是圖37所示的、在開關(guān)類別中設(shè)定的字符串的開頭部分、和在開關(guān)動(dòng)作中設(shè)定的字符串的組合。例如,如圖37所示,在開關(guān)類別中設(shè)定了“運(yùn)轉(zhuǎn)模式選擇”,在開關(guān)動(dòng)作中設(shè)定了“存儲(chǔ)器”的情況下,組合“運(yùn)轉(zhuǎn)模式選擇”這樣的字符串的開頭部分“運(yùn)轉(zhuǎn)”和“存儲(chǔ)器”而得到的“運(yùn)轉(zhuǎn)存儲(chǔ)器”如圖36所示顯示于開關(guān)的框內(nèi)。另外,在圖36中沒有賦予字符串的開關(guān)(在圖36中右上的開關(guān))表示在圖37中沒有設(shè)定開關(guān)類別以及開關(guān)動(dòng)作。對(duì)于圖37所示的開關(guān)標(biāo)準(zhǔn)設(shè)定畫面中的設(shè)定,首先,進(jìn)行開關(guān)類別的設(shè)定,之后進(jìn)行開關(guān)動(dòng)作的設(shè)定。在開關(guān)類別這樣的字符串的旁邊,設(shè)置了下拉列表或者組合框(以下,記載為“下拉列表等”),通過由用戶從在其中顯示的一覽選擇I個(gè)期望的開關(guān)類別,設(shè)定開關(guān)類別。在下拉列表等中顯示的一覽中,顯示CNC工作機(jī)械46的操作盤56所需的開關(guān)的類別。在本實(shí)施方式中,操作盤標(biāo)準(zhǔn)設(shè)定部31A在上述一覽中顯示操作盤處理程序生成部341能夠生成的操作盤處理程序的類別、即操作盤處理程序生成部341具備的功能生成部341A141C的功能的名稱(“模式反轉(zhuǎn)”、“運(yùn)轉(zhuǎn)模式選擇”、“切削倍率”)。另外,由用戶將它們中的一個(gè)設(shè)定為開關(guān)類別。在開關(guān)動(dòng)作這樣的字符串的旁邊,設(shè)置下拉列表等,從在其中顯示的一覽選擇期望的開關(guān)動(dòng)作,設(shè)定開關(guān)動(dòng)作。具體而言,與之前選擇出的開關(guān)類別對(duì)應(yīng)的開關(guān)動(dòng)作被一覽顯示,設(shè)定其中的一個(gè)。由此,針對(duì)操作盤處理程序生成部341能夠生成的操作盤處理程序,設(shè)定與開關(guān)類別對(duì)應(yīng)的開關(guān)動(dòng)作。
在本實(shí)施方式 中,如果在開關(guān)類別中設(shè)定了 “模式反轉(zhuǎn)”,則在開關(guān)動(dòng)作的下拉列表等中,作為模式反轉(zhuǎn)的開關(guān)動(dòng)作,顯示“單塊”、“試行”,設(shè)定它們中的一個(gè)。如果在開關(guān)類別中設(shè)定了 “運(yùn)轉(zhuǎn)模式選擇”,在開關(guān)動(dòng)作的下拉列表等中,作為運(yùn)轉(zhuǎn)模式選擇的開關(guān)動(dòng)作,顯示“輕推(jog)”、“把手(handle)”、“存儲(chǔ)器”,設(shè)定它們中的一個(gè)。如果在開關(guān)類別中設(shè)定了 “切削倍率”,則在用%值來表示切削倍率的情況下,在開關(guān)動(dòng)作的下拉列表等中,作為切削倍率的開關(guān)動(dòng)作顯示“ 25 ”、“ 50 ”、“ 75 ”、“ 100 ”,設(shè)定它們中的一個(gè)。在開關(guān)輸入這樣的字符串的芳邊的框中,設(shè)定對(duì)該開關(guān)分配的PC的輸入設(shè)備。如果預(yù)先決定了對(duì)特定的輸入設(shè)備分配各開關(guān),則也可以顯示該設(shè)備的地址,而省略地址設(shè)定。圖38是以與圖36以及圖37所示的顯示形式不同的顯示形式顯示了用于設(shè)定各開關(guān)的標(biāo)準(zhǔn)的畫面的圖。與上述說明同樣地,針對(duì)“模式反轉(zhuǎn)”在開關(guān)動(dòng)作的欄中設(shè)定“單塊”、“試行”,針對(duì)“運(yùn)轉(zhuǎn)模式選擇”在開關(guān)動(dòng)作的欄中設(shè)定“輕推”、“把手”、“存儲(chǔ)器”,針對(duì)“切削倍率”在開關(guān)動(dòng)作的欄中顯示“ 25 ”、“ 50 ”、“ 75 ”、“ 100 ”?!碝代碼標(biāo)準(zhǔn)設(shè)定部31B中的標(biāo)準(zhǔn)的設(shè)定>接下來,說明通過標(biāo)準(zhǔn)設(shè)定部31的M代碼標(biāo)準(zhǔn)設(shè)定部31B設(shè)定M代碼50的標(biāo)準(zhǔn)的例子。圖39是示出用于設(shè)定CNC工作機(jī)械46具備的M代碼50的功能標(biāo)準(zhǔn)的畫面的一個(gè)例子的圖。在M代碼的欄中設(shè)定M代碼編號(hào),在功能名的欄中設(shè)定該M代碼50的簡(jiǎn)單的說明。在功能開始的欄中,通過下拉列表等選擇性地顯示“與塊開始同時(shí)”、“塊軸移動(dòng)完成后”,設(shè)定其中的I個(gè)。此處,“與塊開始同時(shí)”意味著,在與軸移動(dòng)相同的塊中指令了該M代碼50的情況下,與在該塊中指令的軸移動(dòng)的開始同時(shí),開始執(zhí)行該M代碼50的功能。“塊軸移動(dòng)完成后”意味著,在與軸移動(dòng)相同的塊中指令了該M代碼50的情況下,在該塊中指令的軸移動(dòng)完成之后,開始執(zhí)行該M代碼50的功能。在功能取消的欄中,僅在分配了該M代碼50的功能的塊內(nèi)有效的情況下,什么也不設(shè)定。但是,即使超過了分配了該M代碼50的功能的塊,在希望使該M代碼50的功能直至被其他M代碼50取消或者變更為止有效的情況下,在功能取消的欄中通過列舉而設(shè)定該其他M代碼50。在該功能取消的欄中,設(shè)定與在M代碼的欄中設(shè)定的M代碼編號(hào)不同的M代碼編號(hào)。例如,在M代碼的欄中設(shè)定了 “M3”的情況下,在功能取消的欄中,設(shè)定M3以外的M代碼編號(hào),在M代碼的欄中設(shè)定了 “M4”的情況下,在功能取消的欄中,設(shè)定M4以外的M代碼編號(hào)。在功能輸出的欄中,設(shè)定作為該M代碼50的功能輸出目的地的、作為輸出設(shè)備的Y設(shè)備、作為內(nèi)部設(shè)備的M設(shè)備等設(shè)備的地址。在該M代碼50中無需功能輸出的情況下,在該欄中什么也不設(shè)定。在功能完成的欄中,設(shè)定成為該M代碼50的功能完成的條件的、作為輸入設(shè)備的X設(shè)備、作為內(nèi)部設(shè)備的M設(shè)備等設(shè)備的地址。在與該M代碼50的功能輸出同時(shí)完成功能的情況下,在該欄中什么也不設(shè)定。接下來,分別具體說明針對(duì)圖39所示的表的每個(gè)行設(shè)定的各M代碼50。M03 (M3)這樣的M代碼50是進(jìn)行主軸正轉(zhuǎn)的M代碼功能,在與軸移動(dòng)相同的塊中指令了的情況下,與在該塊中指令了的軸移動(dòng)的開始同時(shí)開始M代碼50的功能(主軸正轉(zhuǎn))。主軸正轉(zhuǎn)的功能直至指令逆轉(zhuǎn)、停止為止繼續(xù),所以將進(jìn)行主軸逆轉(zhuǎn)的功能的M4的M代碼50、以及進(jìn)行主軸停止的功能的M5的M代碼50,作為取消M3的M代碼功能的其他M代碼50,設(shè)定到功能取消的欄。另外,在圖39所示的標(biāo)準(zhǔn)中,將作為用于使主軸正轉(zhuǎn)的輸出設(shè)備的Y1898,作為功能輸出目的地設(shè)備,設(shè)定到功能輸出的欄。另外,在如果主軸達(dá)到規(guī)定的旋轉(zhuǎn)速度則M3的功能完成這樣的標(biāo)準(zhǔn)中,在主軸達(dá)到了該規(guī)定的旋轉(zhuǎn)速度的情況下,將作為表示該達(dá)到的輸入設(shè)備的X188D,作為功能完成條件設(shè)備,設(shè)定到功能完成的欄。M04 (M4)這樣的M代碼50是進(jìn)行主軸逆轉(zhuǎn)的M代碼功能,在與軸移動(dòng)相同的塊中指令了的情況下,與在該塊中指令了的軸移動(dòng)的開始同時(shí)開始M代碼50的功能(主軸逆轉(zhuǎn))。主軸逆轉(zhuǎn)的功能直至指令正轉(zhuǎn)、停止為止繼續(xù),所以將進(jìn)行主軸正轉(zhuǎn)的功能的M3的M代碼50、以及進(jìn)行主軸停止的功能的M5的M代碼50,作為取消M4的M代碼功能的其他M代碼50,設(shè)定到功能取消的欄。另外,在圖39所示的標(biāo)準(zhǔn)中,將作為用于使主軸逆轉(zhuǎn)的輸出設(shè)備的Y1899,作為功能輸出目的地設(shè)備,設(shè)定到功能輸出的欄。另外,在如果主軸達(dá)到規(guī)定的旋轉(zhuǎn)速度則M4的功能完成這樣的標(biāo)準(zhǔn)中,在主軸到達(dá)了該規(guī)定的旋轉(zhuǎn)速度的情況下,將作為表示該達(dá)到的輸入設(shè)備的X188D,作為功能完成條件設(shè)備,設(shè)定到功能完成的欄。M05 (M5)這樣的M代碼50是進(jìn)行主軸停止的M代碼功能,在與軸移動(dòng)相同的塊中指令了的情況下,與在該塊中指令了的軸移動(dòng)的開始同時(shí)開始M代碼50的功能(主軸停止)。主軸停止的功能雖然取消其他M代碼功能,但不會(huì)被其他M代碼50取消,所以在功能取消的欄中什么也不設(shè)定。另外,主軸停止的功能使動(dòng)作停止,所以在功能輸出的欄中什么也不設(shè)定。另外,在該圖中,在主軸的旋轉(zhuǎn)速度成為零的情況下,將作為表示其的輸入設(shè)備的X188C,作為功能完成條件設(shè)備,設(shè)定到功能完成的欄。M30是進(jìn)行數(shù)據(jù)的末端(end of data)的處理的M代碼功能,在與軸移動(dòng)相同的塊中指令了的情況下,與在該塊中指令了的軸移動(dòng)的開始同時(shí)開始M代碼50的功能(數(shù)據(jù)的末端的處理)。數(shù)據(jù)的末端的處理的功能對(duì)CNC工作機(jī)械46進(jìn)行復(fù)位。因此,數(shù)據(jù)的末端的處理的功能不會(huì)被其他M代碼50取消,所以不設(shè)定功能取消。另外,在該圖中,將作為對(duì)CNC工作機(jī)械46進(jìn)行復(fù)位的設(shè)備的YC1A,作為功能輸出目的地設(shè)備,設(shè)定到功能輸出的欄。M30與功能輸出同時(shí)完成功能。<程序部件>接下來,說明在操作盤處理程序生成部341生成操作盤處理程序等程序時(shí)再利用的程序部件10、在M代碼處理程序生成部342生成M代碼處理程序等程序時(shí)再利用的程序部件10。如圖34所示,作為該程序部件10,在程序部件保持部11中,保持了模式反轉(zhuǎn)處理程序部件10A、…、M代碼完成處理程序部件10F。其中,對(duì)于自己保持處理程序部件IOB以及M代碼完成處理程序部件10F,在實(shí)施方式I以及實(shí)施方式2中已經(jīng)說明,所以省略它們的說明。以下,主要說明模式反轉(zhuǎn)處理程序部件10A、數(shù)值設(shè)定處理程序部件10C、M代碼解碼處理程序部件10D、AND條件處理程序部件10E。另外,對(duì)于數(shù)值設(shè)定處理程序部件10C,在實(shí)施方式3中已經(jīng)詳細(xì)說明,所以此處,簡(jiǎn)單說明。圖40是示出對(duì)處理模式反轉(zhuǎn)的功能的程序進(jìn)行了部件化的模式反轉(zhuǎn)處理程序部件IOA的圖。僅通過在圖40所示的模式反轉(zhuǎn)處理程序部件IOA的再利用參數(shù)中指定設(shè)備、或者變量(標(biāo)簽),根據(jù)該參數(shù),自動(dòng)地生成處理模式反轉(zhuǎn)的功能的程序(程序部件POU)。
接下來,假設(shè)為在圖40所示的模式反轉(zhuǎn)處理程序部件IOA的再利用參數(shù)中指定了設(shè)備等,而說明模式反轉(zhuǎn)處理梯形程序的動(dòng)作。在初始狀態(tài)下,VB1、VB2、VB3都成為OFF狀態(tài)。如果作為指令模式反轉(zhuǎn)的設(shè)備的VBl成為0N,則通過PLS命令,在PC的I掃描量中,VB2成為0N,接收到VB2的ON而VB3反轉(zhuǎn)即成為0N。在PC的接下來的掃描中,通過PLS命令,VB2成為0FF,但VB3的ON被保持。即使空開時(shí)間而使VBl成為OFF,VB3的ON仍被保持。進(jìn)而,如果空開時(shí)間而使VBl再次成為0N,則通過PLS命令,在PC的I掃描量中,VB2成為0N,接收到VB2的ON而VB3反轉(zhuǎn)即成為OFF。在PC的接下來的掃描中,通過PLS命令,VB2成為0FF,但VB3的OFF被保持。即使空開時(shí)間而使VBl成為OFF,VB3的OFF仍被保持。接下來,假設(shè)為在圖27所示的數(shù)值設(shè)定處理程序部件10C的再利用參數(shù)中指定了設(shè)備等,而說明處理數(shù)值設(shè)定的功能的數(shù)值設(shè)定處理梯形程序的動(dòng)作。在初始狀態(tài)下,VBl成為OFF狀態(tài),不進(jìn)行在VD3中設(shè)定數(shù)值的處理,所以VD3的數(shù)值成為初始值(即零)。如果使作為指令數(shù)值設(shè)定的設(shè)備的VBl成為0N,則通過MOV命令,將應(yīng)用于VK2的數(shù)值設(shè)定到VD3。即使空開時(shí)間而使VBl成為0FF,VD3的數(shù)值仍被保持,但在梯形程序的其他部位進(jìn)行向VD3的數(shù)值設(shè)定的情況下不限于此。即使在其他部位進(jìn)行了向VD3的數(shù)值設(shè)定,在期望將VD3保持為VK2的數(shù)值的情況下,預(yù)先使VBl始終保持為ON狀態(tài)即可。圖41是示出對(duì)處理M代碼50的解碼的功能的程序進(jìn)行了部件化的M代碼解碼處理程序部件10D的圖。僅通過在圖41所示的M代碼中在代碼處理程序部件10D的再利用參數(shù)中指定設(shè)備或者變量(標(biāo)簽),根據(jù)該參數(shù),自動(dòng)地生成處理M代碼50的解碼的功能的程序(程序部件P0U)。接下來,假設(shè)為在圖41所示的M代碼解碼處理程序部件10D的再利用參數(shù)中指定了設(shè)備等,而說明M代碼解碼處理梯形程序的動(dòng)作。在初始狀態(tài)下,VB1、VB4都成OFF狀態(tài)。如果VBl成為0N、并且VD2的值和VK3的值相同,則VB4成為0N。如果VBl成為OFF、或者VD2的值和VK3的值不同,則VB4成為OFF。圖42是示出對(duì)處理AND條件的程序進(jìn)行了部件化的AND條件處理程序部件10E的圖。僅通過在圖42所示的AND條件處理程序部件10E的再利用參數(shù)中指定設(shè)備或者變量(標(biāo)簽),根據(jù)該參數(shù),自動(dòng)定期地生成處理AND條件的程序(程序部件P0U)。該AND條件處理在梯形中非常一般、且經(jīng)常使用,所以省略詳細(xì)的說明。<操作盤處理程序的生成>接下來,說明圖34所示的操作盤處理程序生成部341 (模式反轉(zhuǎn)功能生成部341A等)將圖35所示的設(shè)備的標(biāo)準(zhǔn)、以及圖38所示的操作盤56的標(biāo)準(zhǔn)應(yīng)用于程序部件10的再利用參數(shù),并且根據(jù)該程序部件10生成操作盤處理程序的動(dòng)作。圖43是示出模式反轉(zhuǎn)功能生成部341A生成的操作盤處理程序的一個(gè)例子的圖。以下,說明模式反轉(zhuǎn)功能生成部341A將設(shè)備的標(biāo)準(zhǔn)(圖35)、以及與“模式反轉(zhuǎn)”相關(guān)的操作盤56的標(biāo)準(zhǔn)(圖38)應(yīng)用于圖40所示的模式反轉(zhuǎn)處理程序部件10A的再利用參數(shù),根據(jù)該模式反轉(zhuǎn)處理程序部件10A生成用于進(jìn)行圖43所示的模式反轉(zhuǎn)控制的操作盤處理程序的動(dòng)作。另外,以下,還有時(shí)將模式反轉(zhuǎn)功能生成部341A生成的、用于進(jìn)行模式反轉(zhuǎn)控制的操作盤處理程序稱為“模式反轉(zhuǎn)開關(guān)處理程序”。圖44是示出模式反轉(zhuǎn)功能生成部341A的屬性的圖。在圖44的開關(guān)類別以及開關(guān)動(dòng)作中,顯示了操作盤56的標(biāo)準(zhǔn)(圖38)中的與模式反轉(zhuǎn)相關(guān)的內(nèi)容。此處,在“模式反轉(zhuǎn)”這樣的開關(guān)類別中,顯示了在操作盤56的標(biāo)準(zhǔn)中設(shè)定了 “單塊”以及“試行”這樣的開關(guān)動(dòng)作。另外,在圖44的使用部件中,顯示了由模式反轉(zhuǎn)功能生成部341A使用的程序部件10是模式反轉(zhuǎn)處理程序部件10A。圖45是示出模式反轉(zhuǎn)功能生成部341A生成模式反轉(zhuǎn)開關(guān)處理程序時(shí)的動(dòng)作的流程圖。以下,根據(jù)圖45說明該動(dòng)作。在步驟S91中,模式反轉(zhuǎn)功能生成部341A將在操作盤56的標(biāo)準(zhǔn)(圖38)中的開關(guān)輸入中設(shè)定的設(shè)備地址應(yīng)用于圖40所示的模式反轉(zhuǎn)處理程序部件IOA的再利用參數(shù)No. I(此處,VB1)。例如,模式反轉(zhuǎn)功能生成部341A從操作盤56的標(biāo)準(zhǔn)(圖38)從上依次讀取被設(shè)定為“模式反轉(zhuǎn)”的行(此處,讀取第I行的“單塊”)。然后,模式反轉(zhuǎn)功能生成部341A將在“單塊”的開關(guān)輸入中設(shè)定的設(shè)備地址(此處,X280)應(yīng)用于圖40所示的模式反轉(zhuǎn)處理程序部件IOA的再利用參數(shù)No. 1(VB1)。由此,生成圖43所示的模式反轉(zhuǎn)開關(guān)處理程序的第I段的左部分。在步驟S92中,模式反轉(zhuǎn)功能生成部341A將在操作盤56的標(biāo)準(zhǔn)、M代碼50的標(biāo)準(zhǔn)中沒有設(shè)定的內(nèi)部的局部的I個(gè)設(shè)備地址(即,未重復(fù)使用的任意的設(shè)備地址)應(yīng)用于圖40所示的模式反轉(zhuǎn)處理程序部件IOA的再利用參數(shù)No. 2(此處,VB2)。例如,模式反轉(zhuǎn)功能生成部341A將M4000作為在操作盤56的標(biāo)準(zhǔn)、M代碼50的標(biāo)準(zhǔn)中沒有設(shè)定的設(shè)備地址,應(yīng)用于圖40所示的模式反轉(zhuǎn)處理程序部件IOA的再利用參數(shù)No. 2 (VB2)。另外,設(shè)為M4000號(hào)段的設(shè)備地址是在操作盤56的標(biāo)準(zhǔn)、M代碼50的標(biāo)準(zhǔn)中沒有設(shè)定的設(shè)備地址。也可以將這樣的程序生成部34自動(dòng)地分配的設(shè)備地址預(yù)先保持于設(shè)備標(biāo)準(zhǔn)保持部32,來參照設(shè)備標(biāo)準(zhǔn)保持部32。由此,生成圖43所示的模式反轉(zhuǎn)開關(guān)處理程序的第I段的右部分、以及第21段的左部分。在步驟S93中,模式反轉(zhuǎn)功能生成部341A從設(shè)備的標(biāo)準(zhǔn)(圖35),抽出操作盤56的標(biāo)準(zhǔn)(圖38)中的與開關(guān)動(dòng)作的欄的內(nèi)容對(duì)應(yīng)的設(shè)備地址,將該設(shè)備地址應(yīng)用于圖40所示的模式反轉(zhuǎn)處理程序部件IOA的再利用參數(shù)No. 3 (此處,VB3)。例如,在圖38所示的操作盤56的標(biāo)準(zhǔn)中,在開關(guān)動(dòng)作的欄中設(shè)定了“單塊”,所以模式反轉(zhuǎn)功能生成部341A從圖35所示的設(shè)備的標(biāo)準(zhǔn),抽出與“單塊”對(duì)應(yīng)的設(shè)備地址(此處,YC12),將YC12應(yīng)用于圖40所示的模式反轉(zhuǎn)處理程序部件IOA的再利用參數(shù)No. 3 (VB3)這樣的再利用參數(shù)。由此,生成圖43所示的模式反轉(zhuǎn)開關(guān)處理程序的第2段的中央部分、右部分、以及第3段的右部分。另外,在以上的步驟S9fS93的說明中,說明了模式反轉(zhuǎn)功能生成部341A將設(shè)備的標(biāo)準(zhǔn)(圖35)以及操作盤56的標(biāo)準(zhǔn)(圖38)應(yīng)用于模式反轉(zhuǎn)處理程序部件IOA的再利用參數(shù)VBfVB3的動(dòng)作。本實(shí)施方式的模式反轉(zhuǎn)功能生成部341A與該動(dòng)作并行地,在該步驟S9rS93中也進(jìn)行設(shè)備注釋的輸出。具體而言,在步驟S91中,模式反轉(zhuǎn)功能生成部341A將組合了操作盤56的標(biāo)準(zhǔn)(圖38)的開關(guān)類別的字符串與開關(guān)動(dòng)作的字符串的字符串,作為步驟S91的設(shè)備地址的設(shè)備注釋,而輸出到附屬信息文件9。同樣地,在步驟S92中,模式反轉(zhuǎn)功能生成部341A將組合了操作盤56的標(biāo)準(zhǔn)的開關(guān)類別的字符串與開關(guān)動(dòng)作的字符串的字符串,作為與步驟S92 相關(guān)的設(shè)備地址的設(shè)備注釋而輸出到附屬信息文件9。在步驟S93中,模式反轉(zhuǎn)功能生成部341A在設(shè)備的標(biāo)準(zhǔn)(圖35)中將與步驟S93的設(shè)備地址對(duì)應(yīng)的名稱的字符串,作為該設(shè)備地址的設(shè)備注釋而輸出到附屬信息文件9。圖46示出由此得到的設(shè)備注釋的一覽。在以上的步驟S91 S93之后,在步驟S94中,模式反轉(zhuǎn)功能生成部341A在需要圖40所示的程序注釋的情況下,將組合開關(guān)類別的字符串和開關(guān)動(dòng)作的字符串而得到的字符串用作該程序注釋。例如,模式反轉(zhuǎn)功能生成部341A在開關(guān)類別是“模式反轉(zhuǎn)”這樣的字符串、開關(guān)動(dòng)作是“單塊”這樣的字符串的情況下,將“模式反轉(zhuǎn)單塊”這樣的字符串制作為程序注釋,賦予到在步驟S9fS93制作出的程序的前后。其結(jié)果,在圖43中,在該程序之前賦予了“開始模式反轉(zhuǎn)單塊”這樣的字符串,在該程序之后賦予了“結(jié)束模式反轉(zhuǎn)單塊”這樣的字符串。在步驟S95中,模式反轉(zhuǎn)功能生成部341A在需要圖40所示的跳躍用標(biāo)簽的情況 下,選定在其他程序中未使用的程序指針,將選定的程序指針用作該跳躍用標(biāo)簽。模式反轉(zhuǎn)功能生成部341A對(duì)操作盤56的標(biāo)準(zhǔn)(圖38)中的與“模式反轉(zhuǎn)”相關(guān)的所有開關(guān)動(dòng)作,進(jìn)行以上的步驟S9f S95的動(dòng)作。例如,在圖38所示的操作盤56的標(biāo)準(zhǔn)中,除了第I行的“單塊”以外,將第2行的“試行”設(shè)定為模式反轉(zhuǎn)的開關(guān)動(dòng)作,所以對(duì)于“試行”也進(jìn)行步驟S9fS95的動(dòng)作。由此,生成圖43所示的模式反轉(zhuǎn)開關(guān)處理程序的“開始模式反轉(zhuǎn)試行”至“結(jié)束模式反轉(zhuǎn)試行”的部分。另外,在圖43所示的例子中,在“試行”中應(yīng)用了不與M4000重復(fù)的M4001這樣的設(shè)備地址。在步驟S96中,模式反轉(zhuǎn)功能生成部341A將應(yīng)用了以上的參數(shù)的模式反轉(zhuǎn)處理程序部件IOA作為模式反轉(zhuǎn)開關(guān)處理程序。由此,根據(jù)圖38所示的操作盤56的標(biāo)準(zhǔn),生成圖43所示的模式反轉(zhuǎn)開關(guān)處理程序。圖47是示出運(yùn)轉(zhuǎn)模式選擇功能生成部341B生成的操作盤處理程序的一個(gè)例子的圖。接下來,說明運(yùn)轉(zhuǎn)模式選擇功能生成部341B將設(shè)備的標(biāo)準(zhǔn)(圖35)、以及與“運(yùn)轉(zhuǎn)模式選擇”相關(guān)的操作盤56的標(biāo)準(zhǔn)(圖38)應(yīng)用于圖3所示的自己保持處理程序部件IOB的再利用參數(shù),根據(jù)該自己保持處理程序部件10B,生成用于進(jìn)行圖47所示的運(yùn)轉(zhuǎn)模式選擇控制的操作盤處理程序的動(dòng)作。另外,以下,還有時(shí)將運(yùn)轉(zhuǎn)模式選擇功能生成部341B生成的、用于進(jìn)行運(yùn)轉(zhuǎn)模式選擇控制的操作盤處理程序稱為“運(yùn)轉(zhuǎn)模式選擇開關(guān)處理程序”。另外,運(yùn)轉(zhuǎn)模式選擇功能生成部341B在生成運(yùn)轉(zhuǎn)模式選擇開關(guān)處理程序時(shí),與模式反轉(zhuǎn)功能生成部341A同樣地,設(shè)定設(shè)備注釋、程序注釋以及跳躍用標(biāo)簽,但省略對(duì)其的說明及其結(jié)果。圖48是示出運(yùn)轉(zhuǎn)模式選擇功能生成部341B的屬性的圖。在圖48的開關(guān)類別以及開關(guān)動(dòng)作中,顯示了操作盤56的標(biāo)準(zhǔn)(圖38)中的與運(yùn)轉(zhuǎn)模式選擇相關(guān)的內(nèi)容。此處,在“運(yùn)轉(zhuǎn)模式選擇”這樣的開關(guān)類別中,顯示了在操作盤56的標(biāo)準(zhǔn)中設(shè)定了“輕推”、“把手”以及“存儲(chǔ)器”這樣的開關(guān)動(dòng)作。另外,在圖48的使用部件中,顯示了由運(yùn)轉(zhuǎn)模式選擇功能生成部341B使用的程序部件10是自己保持處理程序部件10B。圖49是示出運(yùn)轉(zhuǎn)模式選擇功能生成部341B生成運(yùn)轉(zhuǎn)模式選擇開關(guān)處理程序時(shí)的動(dòng)作的流程圖。以下,根據(jù)圖49說明該動(dòng)作。在步驟SlOl中,運(yùn)轉(zhuǎn)模式選擇功能生成部341B將在操作盤56的標(biāo)準(zhǔn)(圖38)中的開關(guān)輸入中設(shè)定的設(shè)備地址應(yīng)用于圖3所示的自己保持處理程序部件IOB的再利用參數(shù)No. I (此處,VBl )。例如,運(yùn)轉(zhuǎn)模式選擇功能生成部341B從操作盤56的標(biāo)準(zhǔn)(圖38),從上依次讀取被設(shè)定為“運(yùn)轉(zhuǎn)模式選擇”的行(此處,讀取第3行的“輕推”)。然后,運(yùn)轉(zhuǎn)模式選擇功能生成部341B將在“輕推”的開關(guān)輸入中設(shè)定的設(shè)備地址(此處,X282)應(yīng)用于圖3所示的自己保持處理程序部件IOB的再利用參數(shù)No. 1(VB1)。由此,生成圖47所示的運(yùn)轉(zhuǎn)模式選擇開關(guān)處理程序的第I段的左部分。另外,如果在“運(yùn)轉(zhuǎn)模式選擇”這樣的開關(guān)中,從操作盤56指令了 I個(gè)開關(guān)動(dòng)作,則取消此前指令的運(yùn)轉(zhuǎn)模式,而進(jìn)行所指令的I個(gè)開關(guān)動(dòng)作的運(yùn)轉(zhuǎn)模式。例如,如果從操作盤56指令了開關(guān)動(dòng)作“輕推”,則取消此前指令的“把手”以及“存儲(chǔ)器”的運(yùn)轉(zhuǎn)模式,而進(jìn)行“輕推”的運(yùn)轉(zhuǎn)模式。如果從操作盤56指令了開關(guān)動(dòng)作“把手”,則取消此前指令的“輕推”以及“存儲(chǔ)器”的運(yùn)轉(zhuǎn)模式,而進(jìn)行“把手”的運(yùn)轉(zhuǎn)模式。對(duì)于開關(guān)動(dòng)作“存儲(chǔ)器”,也與它們同樣地進(jìn)行“存儲(chǔ)器”的運(yùn)轉(zhuǎn)模式。因此,在步驟S102中,運(yùn)轉(zhuǎn)模式選擇功能生成部341B關(guān)于運(yùn)轉(zhuǎn)選擇模式的開關(guān)動(dòng) 作中的、與步驟SlOl相關(guān)的開關(guān)動(dòng)作以外的開關(guān)動(dòng)作,在圖3所示的自己保持處理程序部件IOB的再利用參數(shù)No. 2 (此處,VB2)中通過列舉而應(yīng)用在開關(guān)輸入中設(shè)定的設(shè)備地址。例如,在與步驟SlOl相關(guān)的開關(guān)動(dòng)作是“輕推”的情況下,運(yùn)轉(zhuǎn)模式選擇功能生成部341B在圖38中關(guān)于“把手”以及“存儲(chǔ)器”,在圖3所示的自己保持處理程序部件IOB的再利用參數(shù)No. 2 (VB2)中通過列舉而應(yīng)用在開關(guān)輸入中設(shè)定的設(shè)備地址(此處,X283以及X284)。由此,生成圖47所示的運(yùn)轉(zhuǎn)模式選擇開關(guān)處理程序的第I段的中央部分。在步驟S103中,運(yùn)轉(zhuǎn)模式選擇功能生成部341B從設(shè)備的標(biāo)準(zhǔn)(圖35),抽出操作盤56的標(biāo)準(zhǔn)(圖38)中的與開關(guān)動(dòng)作的欄的內(nèi)容對(duì)應(yīng)的設(shè)備地址,將該設(shè)備地址應(yīng)用于圖3所示的自己保持處理程序部件IOB的再利用參數(shù)No. 3 (此處,VB3)。例如,在圖38所示的操作盤56的標(biāo)準(zhǔn)中,在開關(guān)動(dòng)作的欄中設(shè)定了“輕推”,所以運(yùn)轉(zhuǎn)模式選擇功能生成部341B從圖35所示的設(shè)備的標(biāo)準(zhǔn),抽出與“輕推”對(duì)應(yīng)的設(shè)備地址(此處,YC00),將YCOO應(yīng)用于圖3所示的自己保持處理程序部件IOB的再利用參數(shù)No. 3 (VB3)。由此,生成圖47所示的運(yùn)轉(zhuǎn)模式選擇開關(guān)處理程序的第I段的右部分、以及第2段。運(yùn)轉(zhuǎn)模式選擇功能生成部341B對(duì)操作盤56的標(biāo)準(zhǔn)(圖38)中的與“運(yùn)轉(zhuǎn)模式選擇”相關(guān)的所有開關(guān)動(dòng)作,進(jìn)行以上的步驟SlOf S103的動(dòng)作。例如,在圖38所示的操作盤56的標(biāo)準(zhǔn)中,除了第3行的“輕推”以外,將第4行的“把手”以及第5行的“存儲(chǔ)器”設(shè)定為運(yùn)轉(zhuǎn)模式選擇的開關(guān)動(dòng)作,所以針對(duì)“把手”以及“存儲(chǔ)器”也分別進(jìn)行步驟SlOf S103的動(dòng)作。由此,生成圖47所示的運(yùn)轉(zhuǎn)模式選擇開關(guān)處理程序的第3段 第6段。在步驟S104中,運(yùn)轉(zhuǎn)模式選擇功能生成部341B將應(yīng)用了以上的參數(shù)的自己保持處理程序部件IOB作為運(yùn)轉(zhuǎn)模式選擇開關(guān)處理程序。由此,根據(jù)圖38所示的操作盤56的標(biāo)準(zhǔn),生成圖47所示的運(yùn)轉(zhuǎn)模式選擇開關(guān)處理程序。之前說明的圖29是示出切削倍率功能生成部341C生成的操作盤處理程序的一個(gè)例子的圖。接下來,說明切削倍率功能生成部341C將設(shè)備的標(biāo)準(zhǔn)(圖35)、以及與“切削倍率”相關(guān)的操作盤56的標(biāo)準(zhǔn)(圖38)應(yīng)用于自己保持處理程序部件IOB (圖3)以及數(shù)值設(shè)定處理程序部件IOC (圖27)的再利用參數(shù),根據(jù)該自己保持處理程序部件IOB以及數(shù)值設(shè)定處理程序部件10C,生成用于進(jìn)行圖29所示的切削倍率控制的操作盤處理程序的動(dòng)作。另外,以下,還有時(shí)將切削倍率功能生成部341C生成的、用于進(jìn)行切削倍率控制的操作盤處理程序稱為“倍率開關(guān)處理程序”。另外,切削倍率功能生成部341C在生成倍率開關(guān)處理程序時(shí),與模式反轉(zhuǎn)功能生成部341A同樣地,設(shè)定設(shè)備注釋、程序注釋以及跳躍用標(biāo)簽,但省略關(guān)于其的說明及其結(jié)果。
圖50是示出切削倍率功能生成部341C的屬性的圖。在圖50的開關(guān)類別以及開關(guān)動(dòng)作中,顯示了操作盤56的標(biāo)準(zhǔn)(圖38)中的與切削倍率相關(guān)的內(nèi)容。此處,在“切削倍率”這樣的開關(guān)類別中,顯示了在操作盤56的標(biāo)準(zhǔn)中設(shè)定了 “25”、“50”、“75”以及“100”這樣的開關(guān)動(dòng)作。另外,在圖50的使用部件中,顯示了由切削倍率功能生成部341C使用的程序部件10是自己保持處理程序部件IOB以及數(shù)值設(shè)定處理程序部件10C。圖51是示出切削倍率功能生成部341C生成切削倍率開關(guān)處理程序時(shí)的動(dòng)作的流 程圖。以下,根據(jù)圖51說明該動(dòng)作。切削倍率功能生成部341C在步驟Sllf SI 13中,根據(jù)圖3所示的自己保持處理程序部件10B,生成切削倍率開關(guān)處理程序。在步驟Slll中,切削倍率功能生成部341C將在操作盤56的標(biāo)準(zhǔn)(圖38)中的開關(guān)輸入中設(shè)定的設(shè)備地址應(yīng)用于圖3所示的自己保持處理程序部件IOB的再利用參數(shù)No. I(此處,VB1)。例如,切削倍率功能生成部341C從操作盤56的標(biāo)準(zhǔn)(圖38),從上依次讀取被設(shè)定為“切削倍率”的行(此處,讀取第6行的“25”)。然后,切削倍率功能生成部341C將在“25”的開關(guān)輸入中設(shè)定的設(shè)備地址(此處,X285)應(yīng)用于圖3所示的自己保持處理程序部件IOB的再利用參數(shù)No. I (VB1)。由此,生成圖29所示的切削倍率開關(guān)處理程序的第I段的左部分。另外,如果在“切削倍率”這樣的開關(guān)中,從操作盤56指令了 I個(gè)開關(guān)動(dòng)作,則取消此前指令了的運(yùn)轉(zhuǎn)模式,而進(jìn)行所指令的I個(gè)開關(guān)動(dòng)作的運(yùn)轉(zhuǎn)模式。例如,如果從操作盤56指令了開關(guān)動(dòng)作“25”,則取消此前指令的“50”、“75”以及“100”的運(yùn)轉(zhuǎn)模式,而進(jìn)行“25”的運(yùn)轉(zhuǎn)模式。如果從操作盤56指令了開關(guān)動(dòng)作“50”,則取消此前指令的“25”、“75”以及“100”的運(yùn)轉(zhuǎn)模式,進(jìn)行“50”的運(yùn)轉(zhuǎn)模式。對(duì)于開關(guān)動(dòng)作“75”以及“100”,也與它們同樣地,分別進(jìn)行“75”以及“100”的運(yùn)轉(zhuǎn)模式。因此,在步驟S112中,切削倍率功能生成部341C關(guān)于切削倍率的開關(guān)動(dòng)作中的、與步驟Slll相關(guān)的開關(guān)動(dòng)作以外的開關(guān)動(dòng)作,在圖3所示的自己保持處理程序部件IOB的再利用參數(shù)No. 2 (此處,VB2)中通過列舉而應(yīng)用在開關(guān)輸入中設(shè)定的設(shè)備地址。例如,在與步驟Slll相關(guān)的開關(guān)輸入是“25”的情況下,切削倍率功能生成部341C在圖38中關(guān)于“50”、“75”以及“100”,在圖3所示的自己保持處理程序部件IOB的再利用參數(shù)(VB2)中通過列舉而應(yīng)用在開關(guān)輸入中設(shè)定的設(shè)備地址(此處,X2861288)。由此,生成圖29所示的切削倍率開關(guān)處理程序的第I段的中央部分。在步驟SI 13中,切削倍率功能生成部341C將在操作盤56的標(biāo)準(zhǔn)、M代碼50的標(biāo)準(zhǔn)中沒有設(shè)定的內(nèi)部的局部的I個(gè)設(shè)備地址應(yīng)用于圖3所示的自己保持處理程序部件IOB的再利用參數(shù)No. 3 (此處,VB3)。例如,切削倍率功能生成部341C將M4002作為在操作盤56的標(biāo)準(zhǔn)、M代碼50的標(biāo)準(zhǔn)中沒有設(shè)定的設(shè)備地址,應(yīng)用于圖3所示的自己保持處理程序部件IOB的再利用參數(shù)No. 3 (VB3)。由此,生成圖29所示的切削倍率開關(guān)處理程序的第I段的右部分、以及第2段。接下來,切削倍率功能生成部341C在步驟SI 14^116中,根據(jù)圖27所示的數(shù)值設(shè)定處理程序部件10C,生成切削倍率開關(guān)處理程序。在步驟SI 14中,切削倍率功能生成部341C將在步驟SI 13中應(yīng)用于自己保持處理程序部件IOB的再利用參數(shù)No. 3 (VB3)的設(shè)備地址,應(yīng)用于圖27所示的數(shù)值設(shè)定處理程序部件IOC的再利用參數(shù)No. 1(VB1)。例如,切削倍率功能生成部341C將應(yīng)用于自己保持處理程序部件IOB的再利用參數(shù)No. 3 (VB3)的M4002,應(yīng)用于圖27所示的數(shù)值設(shè)定處理程序部件IOC的再利用參數(shù)No. I (VB1)。由此,生成在數(shù)值設(shè)定處理程序中接收到自己保持處理程序的處理結(jié)果的、圖29所示的切削倍率開關(guān)處理程序的第3段的左部分。在步驟S115中,切削倍率功能生成部341C將在操作盤56的標(biāo)準(zhǔn)(圖38)中的開關(guān)動(dòng)作中設(shè)定的數(shù)值之前附加了“K”的設(shè)備地址,應(yīng)用于圖27所示的數(shù)值設(shè)定處理程序部件IOC的再利用參數(shù)No. 2 (此處,VK2)。
例如,切削倍率功能生成部341C關(guān)于操作盤56的標(biāo)準(zhǔn)(圖38)中的“25”這樣的開關(guān)動(dòng)作,將K25這樣的設(shè)備地址應(yīng)用于圖27所示的數(shù)值設(shè)定處理程序部件IOC的再利用參數(shù)No. 2(VK2)。由此,生成圖29所示的切削倍率開關(guān)處理程序的第3段的右部分。在步驟S116中,切削倍率功能生成部341C從設(shè)備的標(biāo)準(zhǔn)(圖35),抽出操作盤56的標(biāo)準(zhǔn)(圖38)中的與開關(guān)類別的欄的內(nèi)容對(duì)應(yīng)的設(shè)備地址,將該設(shè)備地址應(yīng)用于圖27所示的數(shù)值設(shè)定處理程序部件IOC的再利用參數(shù)No. 3 (此處,VD3)。例如,在圖38所示的操作盤56的標(biāo)準(zhǔn)中,在開關(guān)類別的欄中設(shè)定了“切削倍率”,所以切削倍率功能生成部341C從圖35所示的設(shè)備的標(biāo)準(zhǔn),抽出與“切削倍率”對(duì)應(yīng)的設(shè)備地址(此處,R2500),將R2500應(yīng)用于圖27所示的數(shù)值設(shè)定處理程序部件IOC的再利用參數(shù)No. 3 (VD3)。由此,生成圖29所示的切削倍率開關(guān)處理程序的第3段的右部分。切削倍率功能生成部341C對(duì)操作盤56的標(biāo)準(zhǔn)(圖38)中的與“切削倍率”相關(guān)的所有開關(guān)動(dòng)作,進(jìn)行以上的步驟Sllf S117的動(dòng)作。例如,在圖38所示的操作盤56的標(biāo)準(zhǔn)中,除了第6行的“25”以外,將第7行的“50”、第8行的“75”以及第9行的“100”設(shè)定為開關(guān)動(dòng)作,所以針對(duì)“50”、“75”以及“100”也分別進(jìn)行步驟SIIf SI 16的動(dòng)作。由此,生成圖29所示的切削倍率開關(guān)處理程序的第4段 第12段。在步驟SI 17中,切削倍率功能生成部341C將應(yīng)用了以上的參數(shù)的自己保持處理程序部件IOB以及數(shù)值設(shè)定處理程序部件IOC合起來作為切削倍率開關(guān)處理程序。由此,根據(jù)圖38所示的操作盤56的標(biāo)準(zhǔn),生成圖29所示的切削倍率開關(guān)處理程序。以上,說明了切削倍率功能生成部341C生成切削倍率開關(guān)處理程序的動(dòng)作,但不限于此,也可以作為切削倍率功能生成部341C,使用在實(shí)施方式3中使用圖25來說明的進(jìn)行排他的選擇數(shù)值設(shè)定的處理的程序?qū)蛹?jí)部件。在該情況下,切削倍率功能生成部341C根據(jù)設(shè)備的標(biāo)準(zhǔn)(圖35)、以及被設(shè)定為“切削倍率”的操作盤56的標(biāo)準(zhǔn)(圖38),生成圖28所示的再利用參數(shù)的應(yīng)用關(guān)系。具體而言,切削倍率功能生成部341C從操作盤56的標(biāo)準(zhǔn)(圖38),在設(shè)定了“切削倍率”這樣的開關(guān)類別的第6行中,將在開關(guān)輸入中設(shè)定的設(shè)備地址(X285)如圖28所示,應(yīng)用于程序?qū)蛹?jí)部件的參數(shù)No. 1,將在開關(guān)動(dòng)作中設(shè)定的數(shù)值“25”應(yīng)用于程序?qū)蛹?jí)部件的參數(shù)No. 2。然后,切削倍率功能生成部341C將M4000號(hào)段的設(shè)備地址(M4002)應(yīng)用于程序?qū)蛹?jí)部件的參數(shù)No. 3,從設(shè)備的標(biāo)準(zhǔn)(圖35)抽出與開關(guān)類別“切削倍率”對(duì)應(yīng)的設(shè)備地址(R2500),將R2500應(yīng)用于程序?qū)蛹?jí)部件的參數(shù)No. 4。同樣地,切削倍率功能生成部341C從操作盤56的標(biāo)準(zhǔn)(圖38),在設(shè)定了“切削倍率”這樣的開關(guān)類別的第7行中,將在開關(guān)輸入中設(shè)定的設(shè)備地址(X286)應(yīng)用于程序?qū)蛹?jí)部件的參數(shù)No. 1,將在開關(guān)動(dòng)作中設(shè)定的數(shù)值“50”應(yīng)用于程序?qū)蛹?jí)部件的參數(shù)No. 2。然后,切削倍率功能生成部341C將M4000號(hào)段的設(shè)備地址(M4003)應(yīng)用于程序?qū)蛹?jí)部件的參數(shù)No. 3。切削倍率功能生成部341C通過針對(duì)操作盤56的標(biāo)準(zhǔn)(圖38)的第8行以及第9行也進(jìn)行同樣的處理,生成圖28所示的再利用參數(shù)的應(yīng)用關(guān)系。由此,切削倍率功能生成部341C也可以通過進(jìn)行與實(shí)施方式3中說明的動(dòng)作相同的動(dòng)作,來生成圖29所示的切削倍率開關(guān)處理程序?!碝代碼處理程序的生成〉以上,說明了圖34所示的操作盤處理程序生成部341生成操作盤處理程序的動(dòng)作。接下來,說明圖34所示的M代碼處理程序生成部342、即M代碼功能生成部342A將設(shè)備的標(biāo)準(zhǔn)(圖35)、以及圖39所示的M代碼50的標(biāo)準(zhǔn)應(yīng)用于程序部件10的再利用參數(shù),并且根據(jù)該程序部件生成M代碼處理程序的動(dòng)作。 以下,圖52是示出M代碼功能生成部342A生成的M代碼處理程序的一個(gè)例子的圖。圖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生成解碼處理程序的動(dòng)作的流程圖。以下,根據(jù)圖54說明該動(dòng)作。在本實(shí)施方式中,在步驟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將在步驟S12f S123中生成的程序合起來,生成圖52所示的M代碼處理程序。以下,詳細(xì)說明M代碼功能生成部342A生成M代碼50的解碼處理程序LPA、功能處理程序LPB、LPC、LPD、以及完成處理程序LPE的動(dòng)作。首先,說明M代碼功能生成部342A生成M代碼50的解碼處理程序LPA的動(dòng)作。圖55是示出M代碼功能生成部342A使用圖41所示的M代碼解碼處理程序部件10D,來生成M代碼50的解碼處理程序LPA的動(dòng)作的流程圖。在本實(shí)施方式中,M代碼功能生成部342A對(duì)M代碼50的標(biāo)準(zhǔn)(圖39)的各行的設(shè)定,從上依次進(jìn)行圖55所示的各處理。此處,首先,說明通過M代碼功能生成部342A對(duì)M代碼50的標(biāo)準(zhǔn)(圖39)的M3的設(shè)定進(jìn)行處理,生成圖52所示的解碼處理程序LPA的第I段的動(dòng)作。在步驟S131中,M代碼功能生成部342A從設(shè)備的標(biāo)準(zhǔn)(圖35),抽出與M代碼選通對(duì)應(yīng)的設(shè)備地址(此處,XC60),將該設(shè)備地址應(yīng)用于圖41所示的M代碼解碼處理程序部件IOD的再利用參數(shù)No. I (此處,VBl )。在步驟S132中,M代碼功能生成部342A從設(shè)備的標(biāo)準(zhǔn)(圖35),抽出與M代碼數(shù)據(jù)對(duì)應(yīng)的設(shè)備地址(此處,R504),將該設(shè)備地址應(yīng)用于圖41所示的M代碼解碼處理程序部件IOD的再利用參數(shù)No. 2 (此處,VD2)。
在步驟S133中,M代碼功能生成部342A從M代碼50的標(biāo)準(zhǔn)(圖39),在M代碼的欄中設(shè)定的M代碼編號(hào)(此處,M3)的數(shù)值(此處,3)之前附加K而生成字符串(K3),將該字符串應(yīng)用于圖41所示的M代碼解碼處理程序部件IOD的再利用參數(shù)No. 3 (此處,VK3)。在步驟S134中,M代碼功能生成部342A從M代碼50的標(biāo)準(zhǔn)(圖39),將在M代碼的欄中設(shè)定的M代碼編號(hào)(此處,M3)原樣地作為設(shè)備地址,應(yīng)用于圖41所示的M代碼解碼處理程序部件IOD的再利用參數(shù)No. 4 (此處,VB4)。 通過以上的動(dòng)作,針對(duì)M代碼50的標(biāo)準(zhǔn)(圖39)的M3的設(shè)定,生成圖52所示的解碼處理程序LPA的第I段。M代碼功能生成部342A如M代碼50的標(biāo)準(zhǔn)(圖39)的M4的設(shè)定、M5的設(shè)定、…那樣,依次進(jìn)行以上的步驟S13fS134的動(dòng)作,直至沒有設(shè)定。由此,生成圖52所示的解碼處理程序LPA的第2 4段。在步驟S135中,M代碼功能生成部342A將應(yīng)用了以上的參數(shù)的M代碼解碼處理程序部件IOD作為解碼處理程序。由此,根據(jù)圖39所示的M代碼50的標(biāo)準(zhǔn),生成圖52所示的解碼處理程序LPA。接下來,說明M代碼功能生成部342A生成M代碼50的功能處理程序LPB、LPC、LPD的動(dòng)作。圖56是示出M代碼功能生成部342A生成各M代碼50的功能處理程序時(shí)的動(dòng)作的流程圖。在本實(shí)施方式中,M代碼功能生成部342A針對(duì)M代碼50的標(biāo)準(zhǔn)(圖39)的各行的設(shè)定,從上依次進(jìn)行圖56所示的處理。在步驟S141中,M代碼功能生成部342A判定在M代碼50的標(biāo)準(zhǔn)(圖39)中的作為處理的對(duì)象的行中,是否設(shè)定了功能輸出。M代碼功能生成部342A在判定為設(shè)定了功能輸出的情況下,進(jìn)入到步驟S142,否則,進(jìn)入到步驟S145。例如,在圖39所示的設(shè)定中,在M3、M4、M30的設(shè)定中設(shè)定了功能輸出,所以進(jìn)入到步驟S142,在M5的設(shè)定中沒有設(shè)定功能輸出,所以進(jìn)入到步驟S145。在步驟S142中,M代碼功能生成部342A判定在M代碼50的標(biāo)準(zhǔn)(圖39)中的作為處理的對(duì)象的行中,是否設(shè)定了功能取消。M代碼功能生成部342A在判定為設(shè)定了功能取消的情況下,進(jìn)入到步驟S143,否則,進(jìn)入到步驟S144。例如,在圖39那樣的設(shè)定中,在M3、M4的設(shè)定中設(shè)定了功能取消,所以進(jìn)入到步驟S143,在M30的設(shè)定中沒有設(shè)定功能取消,所以進(jìn)入到步驟S144。在步驟S143中,M代碼功能生成部342A根據(jù)在M代碼50的標(biāo)準(zhǔn)(圖39)中成為處理的對(duì)象的行的設(shè)定、和自己保持處理程序部件10B,生成M代碼50的功能處理程序。例如,M代碼功能生成部342A根據(jù)圖39所示的M代碼50的標(biāo)準(zhǔn)的M3、M4的設(shè)定、和圖3所示的自己保持處理程序部件10B,分別生成圖52所示的功能處理程序LPB、LPC0在后面詳細(xì)說明該步驟S143中的動(dòng)作。之后,在M代碼50的標(biāo)準(zhǔn)(圖39)中,將成為當(dāng)前處理的對(duì)象的行之下的設(shè)定作為處理對(duì)象,返回步驟S141。在步驟S144中,M代碼功能生成部342A根據(jù)在M代碼50的標(biāo)準(zhǔn)(圖39)中成為處理的對(duì)象的行的設(shè)定、和AND條件處理程序部件10E,生成M代碼50的功能處理程序。例如,M代碼功能生成部342A根據(jù)圖39所示的M代碼50的標(biāo)準(zhǔn)的M30的設(shè)定、和圖42所示的AND條件處理程序部件10E,生成圖52所示的功能處理程序LPD。在后面詳細(xì)說明該步驟S144中的動(dòng)作。之后,在M代碼50的標(biāo)準(zhǔn)(圖39)中,將成為當(dāng)前處理的對(duì)象的行之下的設(shè)定作為處理對(duì)象,返回步驟S141。在步驟S145中,M代碼功能生成部342A針對(duì)在M代碼50的標(biāo)準(zhǔn)(圖39)中成為處理的對(duì)象的行的設(shè)定,不生成M代碼50的功能處理程序。例如,針對(duì)圖39所示的M代碼50的標(biāo)準(zhǔn)的M5的設(shè)定,不生成M代碼50的功能處理程序。因此,如圖52所示,在與M代碼50的標(biāo)準(zhǔn)的M3、M4的設(shè)定對(duì)應(yīng)的功能處理程序LPB、LPC之下,生成與M代碼50的標(biāo)準(zhǔn)的M30的設(shè)定對(duì)應(yīng)的功能處理程序LPD。在步驟S145之后,在M代碼50的標(biāo)準(zhǔn)(圖39)中,將成為當(dāng)前處理的對(duì)象的行之下的設(shè)定作為處理對(duì)象,返回步驟S141。
接下來,說明上述步驟S143的動(dòng)作。圖57是示出在上述步驟S143中、即在作為處理的對(duì)象的行中設(shè)定了功能取消的情況下,M代碼功能生成部342A生成功能處理程序時(shí)的動(dòng)作的流程圖。以下,以M代碼功能生成部342A根據(jù)M代碼50的標(biāo)準(zhǔn)(圖39)的M3的設(shè)定,生成圖52所示的功能處理程序LPB的動(dòng)作為例子而進(jìn)行說明。首先,在步驟S151中,M代碼功能生成部342A從M代碼50的標(biāo)準(zhǔn)(圖39),將在M代碼的欄中設(shè)定的M代碼編號(hào)(此處,M3)原樣地作為設(shè)備地址,應(yīng)用于圖3所示的自己保持處理程序部件IOB的再利用參數(shù)No. I (此處,VB1)。在步驟S152中,M代碼功能生成部342A判定在M代碼50的標(biāo)準(zhǔn)(圖39)的功能開始的欄中,是否設(shè)定了 “塊軸移動(dòng)完成后”。M代碼功能生成部342A在判定為設(shè)定了 “塊軸移動(dòng)完成后”的情況下進(jìn)入到步驟S153,否則不進(jìn)行步驟S153而進(jìn)入到步驟S154。另外,在圖39所不的M3的設(shè)定中,在功能開始的欄中沒有設(shè)定塊軸移動(dòng)完成后,所以在步驟S152之后,不進(jìn)行步驟S153,而進(jìn)行步驟S154。在步驟S153中,M代碼功能生成部342A從設(shè)備的標(biāo)準(zhǔn)(圖35),抽出與移動(dòng)指令完成對(duì)應(yīng)的設(shè)備地址,在圖3所示的自己保持處理程序部件IOB的再利用參數(shù)No. I (此處,VBl)中通過列舉而應(yīng)用該設(shè)備地址。如果在圖39所示的M3的設(shè)定中進(jìn)行了步驟S153,則M代碼功能生成部342A從設(shè)備的標(biāo)準(zhǔn)(圖35),抽出與移動(dòng)指令完成對(duì)應(yīng)的XC18,將該設(shè)備地址串行地追加到應(yīng)用于自己保持處理程序部件IOB的再利用參數(shù)No. I (VBl)的M3。在步驟S154中,M代碼功能生成部342A從M代碼50的標(biāo)準(zhǔn)(圖39),將在功能取消的欄中設(shè)定的M代碼編號(hào)(此處,M4、M5)原樣地作為設(shè)備地址,應(yīng)用于圖3所示的自己保持處理程序部件IOB的再利用參數(shù)No. 2 (此處,VB2)。在步驟S155中,M代碼功能生成部342A從M代碼50的標(biāo)準(zhǔn)(圖39),將在功能輸出中設(shè)定的設(shè)備地址(此處,Y1898)應(yīng)用于圖3所示的自己保持處理程序部件IOB的再利用參數(shù)No. 3 (此處,VB3)。在步驟S156中,M代碼功能生成部342A將應(yīng)用了以上的參數(shù)的自己保持處理程序部件IOB作為有功能取消的功能處理程序。由此,根據(jù)圖39所示的M代碼50的標(biāo)準(zhǔn)的M3的設(shè)定,生成圖52所示的功能處理程序LPB。M代碼功能生成部342A通過對(duì)M代碼50的標(biāo)準(zhǔn)(圖39)的M4的設(shè)定也進(jìn)行同樣的動(dòng)作,生成圖52所示的功能處理程序LPC。接下來,說明上述步驟S144的動(dòng)作。圖58是示出在上述步驟S144中、即在作為處理的對(duì)象的行中沒有設(shè)定功能取消的情況下,M代碼功能生成部342A生成功能處理程序時(shí)的動(dòng)作的流程圖。以下,說明M代碼功能生成部342A根據(jù)M代碼50的標(biāo)準(zhǔn)(圖39)的M30的設(shè)定,生成圖52所示的功能處理程序LPD的動(dòng)作。首先,在步驟S161中,M代碼功能生成部342A從M代碼50的標(biāo)準(zhǔn)(圖39),將在M代碼的欄中設(shè)定的M代碼編號(hào)(此處,M30)原樣地作為設(shè)備地址,應(yīng)用于圖42所示的AND條件處理程序部件IOE的再利用參數(shù)No. I (此處,VB1)。在步驟S162中,M代碼功能生成部342A判定在M代碼50的標(biāo)準(zhǔn)(圖39)的功能開始的欄中,是否設(shè)定了 “塊軸移動(dòng)完成后”。M代碼功能生成部342A在判定為設(shè)定了 “塊軸移動(dòng)完成后”的情況下進(jìn)入到步驟S163,否則不進(jìn)行步驟S163而進(jìn)入到步驟S164。另外,在圖39所不的M30的設(shè)定中,在功能開始的欄中設(shè)定了塊軸移動(dòng)完成后,所以在步驟S162之后進(jìn)行步驟S163,之后進(jìn)行步驟S164。在步驟S163中,M代碼功能生成部342A從設(shè)備的標(biāo)準(zhǔn)(圖35),抽出與移動(dòng)指令完成對(duì)應(yīng)的設(shè)備地址,在圖42所示的AND條件處理程序部件IOE的再利用參數(shù)No. I (此處,VBl中通過列舉而應(yīng)用該設(shè)備地址。如果在圖39所示的M30的設(shè)定中進(jìn)行了步驟S163,則M代碼功能生成部342A從設(shè)備的標(biāo)準(zhǔn)(圖35),抽出與移動(dòng)指令完成對(duì)應(yīng)的XC18,將該設(shè)備 地址串行地追加到應(yīng)用于AND條件處理程序部件IOE的再利用參數(shù)No. I (此處,VBl)的M30。在步驟S164中,M代碼功能生成部342A從M代碼50的標(biāo)準(zhǔn)(圖39),將在功能輸出中設(shè)定的設(shè)備地址(此處,YC1A)應(yīng)用于圖42所示的AND條件處理程序部件IOE的再利用參數(shù)No. 2 (此處,VB2)。在步驟S165中,M代碼功能生成部342A將應(yīng)用了以上的參數(shù)的AND條件處理程序部件IOE作為無功能取消的功能處理程序。由此,根據(jù)圖39所示的M代碼50的標(biāo)準(zhǔn)的M30的設(shè)定,生成圖52所示的功能處理程序LPD。接下來,說明M代碼功能生成部342A生成M代碼50的完成處理程序LPE的動(dòng)作。圖59是示出M代碼功能生成部342A使用圖18所示的M代碼完成處理程序部件IOF來生成M代碼50的完成處理程序時(shí)的動(dòng)作的流程圖。在步驟S171中,M代碼功能生成部342A從M代碼50的標(biāo)準(zhǔn)(圖39),將在M代碼的欄中設(shè)定的所有M代碼編號(hào)(此處,M3、M4、M5、M30)分別原樣地作為設(shè)備地址,應(yīng)用于與圖18所示的M代碼完成處理程序部件IOF的參數(shù)No. I相當(dāng)?shù)摹D17所示的AND條件處理要素部件的參數(shù)No. I。以下,將該步驟S171分成步驟S171A和步驟S171B而詳細(xì)說明。在步驟S17IA中,M代碼功能生成部342A從M代碼50的標(biāo)準(zhǔn)(圖39),將在第I行的M代碼的欄中設(shè)定的M代碼編號(hào)原樣地作為設(shè)備地址,應(yīng)用于圖17所示的AND條件處理要素部件的再利用參數(shù)No. I (此處,VB1)。然后,在步驟S171B中,M代碼功能生成部342A在第I行的功能完成中設(shè)定了設(shè)備地址的情況下,在圖17所示的AND條件處理要素部件的再利用參數(shù)No. I (此處,VBl)通過中列舉(串行地追加)而應(yīng)用該設(shè)備地址,返回步驟S171A而針對(duì)第2行以后的設(shè)定也進(jìn)行與第I行同樣的動(dòng)作。另一方面,在步驟S171B中,M代碼功能生成部342A在第I行的功能完成中沒有設(shè)定設(shè)備地址的情況下,原樣地返回步驟S171A而針對(duì)第2行以后的設(shè)定也進(jìn)行與第I行同樣的動(dòng)作。例如,在圖39所示的第I行的設(shè)定中,在M代碼的欄中設(shè)定的M代碼編號(hào)是M3,所以將該M3應(yīng)用于AND條件處理要素部件的VB1。另外,在該第I行的設(shè)定中,在功能完成的欄中設(shè)定了 X188D這樣的設(shè)備地址,所以在應(yīng)用于AND條件處理要素部件的M3中通過列舉(串行地追加)而應(yīng)用該X188D。由此,生成圖52所示的完成處理程序LPE的第I段的左部分(M3 和 X188D)。接下來,在圖39所示的第2行的設(shè)定中,在M代碼的欄中設(shè)定的M代碼編號(hào)是M4,所以將該M4應(yīng)用于AND條件處理要素部件的VBl。另外,在該第2行的設(shè)定中,在功能完成的欄中設(shè)定了 X188D這樣的設(shè)備地址,所以在應(yīng)用于AND條件處理要素部件的M4中通過列舉(串行地追加)而應(yīng)用該X188D。然后,M代碼功能生成部342A將這樣生成的程序并行地追加到根據(jù)第I行的設(shè)定得到的程序(M3和X188D)之下。由此,生成圖52所示的完成處理程序LPE的第2段(M4和X188D)。同樣地,在圖39所示的第3行的設(shè)定中,在M代碼的欄中設(shè)定的M代碼編號(hào)是M5,所以將該M5應(yīng)用于AND條件處理要素部件的VBl。另外,在該第3行的設(shè)定中,在功能完成的欄中設(shè)定了 X188C這樣的設(shè)備地址,所以在應(yīng)用于AND條件處理要素部件的M5中通過列舉(串行地追加)應(yīng)用該X188C。然后,M代碼功能生成部342A將這樣生成的程序并行地追加到根據(jù)第2行的設(shè)定得到的程序(M4和X188D)之下。由此,生成圖52所示的完成處理程序LPE的第3段(M5和X188C)。同樣地,在圖39所示的第4行的設(shè)定中,在M代碼的欄中設(shè)定的M代碼編號(hào)是M30,所以將該M30應(yīng)用于AND條件處理要素部件的VB1。另外,在該第4行的設(shè)定中,在功能完成的欄中沒有設(shè)定設(shè)備地址,所以M代碼功能生成部342A將把該M30應(yīng)用于AND條件處理要素部件而得到的程序追加到根據(jù)第3行的設(shè)定得到的程序(M5和X188C)之下。由此,生成圖52所示的完成處理程序LPE的第4段(M30)。在步驟S172中,M代碼功能生成部342A從設(shè)備的標(biāo)準(zhǔn)(圖35),抽出與M代碼完成對(duì)應(yīng)的設(shè)備地址(此處,YC1E),將該設(shè)備地址應(yīng)用于圖18所示的M代碼完成處理程序部件IOF的再利用參數(shù)No. 2 (此處,YC1E)。由此,生成圖52所示的完成處理程序LPE的第I段的右側(cè)。在步驟S173中,M代碼功能生成部342A將應(yīng)用了以上的參數(shù)的M代碼完成處理程序部件IOF作為M代碼50的完成處理程序。由此,根據(jù)圖39所示的M代碼50的標(biāo)準(zhǔn),生成圖52所示的完成處理程序LPE?!纯偨Y(jié)〉以上,對(duì)于操作盤處理程序生成部341生成操作盤處理程序的動(dòng)作、和M代碼處理程序生成部342生成M代碼處理程序的動(dòng)作,以這些程序是梯形程序的情況為例子進(jìn)行了說明。程序編輯部6將操作盤處理程序生成部341生成的操作盤處理程序、和M代碼處理程序生成部342生成的M代碼處理程序合起來作為CNC工作機(jī)械46的程序。此時(shí),既可以生成為I個(gè)程序,也可以按照部件單位分割而生成程序。在按照部件單位分割而生成的情況下,既可以如模式反轉(zhuǎn)開關(guān)處理、運(yùn)轉(zhuǎn)模式選擇開關(guān)處理、切削倍率開關(guān)處理、M代碼解碼處理、M代碼功能處理、M代碼完成處理那樣,按照構(gòu)成程序生成的程序部件單位分割(在該情況下生成6個(gè)分割程序),也可以如操作盤處理、M代碼處理那樣集中(在該情況下生成2個(gè)分割程序)。另外,既可以用相同的文件生成分割程序,也可以針對(duì)每個(gè)分割程序分成不同文件而生成。在由程序編輯部6生成的程序是梯形程序的情況下,在將操作盤處理程序和M代碼處理程序合起來而成的梯形程序的最后追加END處理命令,而作為CNC工作機(jī)械46的梯、形程序。此時(shí),既可以如圖60所示,生成為I個(gè)梯形程序,也可以如圖61所示,按照部件單位分割而生成梯形程序。在按照部件單位分割而生成的情況下,既可以如模式反轉(zhuǎn)開關(guān)處理、運(yùn)轉(zhuǎn)模式選擇開關(guān)處理、切削倍率開關(guān)處理、M代碼解碼處理、M代碼功能處理、M代碼完成處理那樣,按照構(gòu)成程序生成的程序部件單位來分割(在該情況下生成6個(gè)分割梯形程序),也可以如操作盤處理、M代碼處理那樣集中(在該情況下生成2個(gè)分割梯形程序)。另外,在按照部件單位分割的情況下,需要在梯形程序的開頭生成由調(diào)用分割程序的CALL (調(diào)用)命令構(gòu)成的梯形程序,并且,需要在分割程序的開頭生成作為跳躍用標(biāo)簽的程序指針、在終端生成RET命令,對(duì)于生成它們的情況,也能夠使用在本實(shí)施方式中說明的技術(shù)。另外,既可以用相同的文件生成分割梯形程序,也可以針對(duì)每個(gè)分割梯形程序分成不同的文件而生成。如果對(duì)在梯形程序生成中使用的設(shè)備地址,預(yù)先賦予設(shè)備注釋,則在確認(rèn)梯形程序時(shí)便利。例如,在操作盤56的情況下,以針對(duì)在開關(guān)輸入中設(shè)定的設(shè)備地址,將通過開關(guān)類別選擇的字符串和通過開關(guān)動(dòng)作選擇/設(shè)定的字符串結(jié)合而生成為設(shè)備注釋的方式,構(gòu)成操作盤處理程序生成部341即可。另外,在M代碼50的情況下,以針對(duì)與M代碼50相同的設(shè)備地址,賦予在功能名中設(shè)定的字符串而作為設(shè)備注釋,在功能輸出中設(shè)定的設(shè)備中,將在功能名中設(shè)定的字符串和在功能輸出中設(shè)定的字符串結(jié)合而生成為設(shè)備注釋的方式,構(gòu)成M代碼處理程序生成部342即可。在具體的例子中,類似于使用圖45來說明的、模式反轉(zhuǎn)功能生成部341A在程序生成的過程中將設(shè)備注釋合起來而生成的步驟,通過該步驟,生成圖43所示的設(shè)備注釋。根據(jù)以上那樣的本實(shí)施方式的程序制作支援裝置1,將在標(biāo)準(zhǔn)記述文件30中記述的標(biāo)準(zhǔn)、以及由標(biāo)準(zhǔn)設(shè)定部31設(shè)定的標(biāo)準(zhǔn)應(yīng)用于在再利用程序部件10時(shí)應(yīng)應(yīng)用的參數(shù)或者通過應(yīng)列舉而應(yīng)用的參數(shù),并且根據(jù)該程序部件10,生成由控制器、微型機(jī)執(zhí)行的測(cè)量監(jiān) 視控制程序。因此,大致自動(dòng)地生成程序,所以能夠通過該標(biāo)準(zhǔn)中記述的功能制作不會(huì)超過當(dāng)不足以及不會(huì)不合理地動(dòng)作的程序,并且能夠減輕程序制作中的工作量。雖然詳細(xì)說明了本發(fā)明,但上述說明僅為整體中的部分的例示而本發(fā)明不限于此。沒有例示的無數(shù)的變形例也包含于本發(fā)明的范圍內(nèi)。
權(quán)利要求
1.一種程序制作支援裝置,其特征在于,具備 程序部件(10),包括至少I個(gè)程序要素,通過用戶設(shè)定與各程序要素對(duì)應(yīng)的再利用參數(shù)的內(nèi)容,生成與該設(shè)定內(nèi)容對(duì)應(yīng)的程序; 程序部件保持部(11),保持所述程序部件(10);以及 程序編輯部(6),再利用所述程序部件(10)而編輯程序, 所述程序部件(10)包括程序要素,該程序要素通過在再利用參數(shù)中通過列舉而設(shè)定多個(gè)參數(shù),生成結(jié)合了與各參數(shù)對(duì)應(yīng)的多個(gè)要素的程序。
2.根據(jù)權(quán)利要求I所述的程序制作支援裝置,其特征在于, 還具備使用者能夠定義新的程序部件的程序部件定義部(12)。
3.根據(jù)權(quán)利要求I所述的程序制作支援裝置,其特征在于, 所述程序部件保持部(11)還保持程序要素部件(17),該程序要素部件(17)能夠用作程序部件(10)的構(gòu)成要素,并且包括至少I個(gè)程序要素,通過用戶設(shè)定與各程序要素對(duì)應(yīng)的再利用參數(shù)的內(nèi)容,生成與該設(shè)定內(nèi)容對(duì)應(yīng)的程序, 所述程序要素部件(17)包括通過在再利用參數(shù)中通過列舉而設(shè)定多個(gè)參數(shù),生成結(jié)合了與各參數(shù)對(duì)應(yīng)的多個(gè)要素的程序的程序要素。
4.根據(jù)權(quán)利要求3所述的程序制作支援裝置,其特征在于, 所述程序要素部件(17)還能夠用作其他程序要素部件的構(gòu)成要素。
5.根據(jù)權(quán)利要求3或者4所述的程序制作支援裝置,其特征在于,還具備 程序要素部件定義部(15),其中,使用者能夠定義新的程序要素部件;以及 程序部件定義部(12),其中,使用者能夠使用程序要素部件(17)來定義新的程序部件(10)。
6.根據(jù)權(quán)利要求廣4中的任意一項(xiàng)所述的程序制作支援裝置,其特征在于, 所述程序部件保持部(11)還保持程序?qū)蛹?jí)部件(21 ),該程序?qū)蛹?jí)部件(21)包括至少I個(gè)程序部件(10),通過用戶設(shè)定與各程序部件的各程序要素關(guān)聯(lián)起來的再利用參數(shù)的內(nèi)容,生成與該設(shè)定內(nèi)容對(duì)應(yīng)的程序, 所述程序編輯部(6)能夠再利用所述程序?qū)蛹?jí)部件(21)來編輯程序, 所述程序?qū)蛹?jí)部件(21)通過在再利用參數(shù)中通過列舉而設(shè)定多個(gè)參數(shù),生成結(jié)合了與各參數(shù)對(duì)應(yīng)的多個(gè)程序部件的程序。
7.根據(jù)權(quán)利要求6所述的程序制作支援裝置,其特征在于, 所述程序?qū)蛹?jí)部件(21)還能夠用作其他程序?qū)蛹?jí)部件(21)的構(gòu)成要素。
8.根據(jù)權(quán)利要求6所述的程序制作支援裝置,其特征在于, 還具備使用者能夠使用程序部件(10)來定義新的程序?qū)蛹?jí)部件(21)的程序?qū)蛹?jí)部件定義部(19)。
9.根據(jù)權(quán)利要求廣4中的任意一項(xiàng)所述的程序制作支援裝置,其特征在于, 所述程序編輯部(6)還具備根據(jù)在所述再利用參數(shù)的各個(gè)中設(shè)定的參數(shù),生成與編輯后的程序相關(guān)的附屬信息的單元。
10.根據(jù)權(quán)利要求廣4中的任意一項(xiàng)所述的程序制作支援裝置,其特征在于, 所述程序編輯部(6 )還具備程序生成部(34 ),該程序生成部(34 )將標(biāo)準(zhǔn)記述文件(30 )中記述的規(guī)定的標(biāo)準(zhǔn)應(yīng)用于所述程序部件保持部(11)中保持的程序部件(10)的所述再利用參數(shù),并且根據(jù)該程序部件(10)生成程序。
11.根據(jù)權(quán)利要求10所述的程序制作支援裝置,其特征在于, 還具備設(shè)定規(guī)定的標(biāo)準(zhǔn)的標(biāo)準(zhǔn)設(shè)定部(31),所述程序生成部(34)將由所述標(biāo)準(zhǔn)設(shè)定部(31)設(shè)定的規(guī)定的標(biāo)準(zhǔn)應(yīng)用于所述程序部件保持部(11)中保持的程序部件(10)的所述再利用參數(shù),并且根據(jù)該程序部件(10)生成程序。
12.根據(jù)權(quán)利要求11所述的程序制作支援裝置,其特征在于, 所述標(biāo)準(zhǔn)設(shè)定部(31)包括設(shè)定操作盤的標(biāo)準(zhǔn)的操作盤標(biāo)準(zhǔn)設(shè)定部(31A), 所述程序生成部(34)包括操作盤處理程序生成部(341),該操作盤處理程序生成部(341)將所述操作盤的標(biāo)準(zhǔn)應(yīng)用于所述程序部件保持部(11)中保持的程序部件(10)的所述再利用參數(shù),并且根據(jù)該程序部件(10)生成操作盤處理程序。
13.根據(jù)權(quán)利要求11所述的程序制作支援裝置,其特征在于, 所述標(biāo)準(zhǔn)設(shè)定部(31)包括設(shè)定M代碼的標(biāo)準(zhǔn)的M代碼標(biāo)準(zhǔn)設(shè)定部(3IB ),所述程序生成部(34)包括M代碼處理程序生成部(342),該M代碼處理程序生成部(342)將所述M代碼的標(biāo)準(zhǔn)應(yīng)用于所述程序部件保持部(11)中保持的程序部件(10)的所述再利用參數(shù),并且根據(jù)該程序部件(10)生成M代碼處理程序。
14.根據(jù)權(quán)利要求10所述的程序制作支援裝置,其特征在于, 還具備保持設(shè)備的標(biāo)準(zhǔn)的設(shè)備標(biāo)準(zhǔn)保持部(32), 所述程序生成部(34)在根據(jù)所述程序部件(10)制作所述程序時(shí),參照所述設(shè)備的標(biāo)準(zhǔn)。
全文摘要
本發(fā)明的目的在于減輕選定以及組合用于制作匹配于規(guī)定的標(biāo)準(zhǔn)的程序的程序部件的工作量,提高程序制作效率。另外,本發(fā)明的程序制作支援裝置(1)具備程序部件(10),通過用戶設(shè)定與各程序要素對(duì)應(yīng)的再利用參數(shù)的內(nèi)容,生成與該設(shè)定內(nèi)容對(duì)應(yīng)的程序;以及程序部件保持部(11),將其再利用而編輯程序。程序部件(10)包括通過在再利用參數(shù)中列舉而設(shè)定多個(gè)參數(shù),生成與各參數(shù)對(duì)應(yīng)的多個(gè)要素結(jié)合了的程序的程序要素。
文檔編號(hào)G05B19/05GK102640112SQ20108005386
公開日2012年8月15日 申請(qǐng)日期2010年8月24日 優(yōu)先權(quán)日2009年12月28日
發(fā)明者中村直樹, 仲井勘, 佐藤智典, 大西宏明, 安井照昌, 甲斐啟文 申請(qǐng)人:三菱電機(jī)株式會(huì)社