程序編輯裝置、程序編輯方法以及程序編輯程序的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明例如涉及用于對控制程序進(jìn)行編輯的程序編輯裝置、程序編輯方法以及程序編輯程序。
【背景技術(shù)】
[0002]在現(xiàn)有的FA (Factory Automat1n)系統(tǒng)中,對 CPU (Central Processing Unit)單元及輸入輸出單元等進(jìn)行組合而構(gòu)建控制系統(tǒng),對電動機(jī)或傳感器等的制造裝置進(jìn)行控制。
[0003]CPU單元基于從制造裝置向輸入輸出單元輸入的輸入信號,實(shí)施記述在控制程序(例如梯形圖程序)中的運(yùn)算處理。CPU單元將基于運(yùn)算結(jié)果的輸出信號向制造裝置發(fā)送,從而對制造裝置進(jìn)行控制。
[0004]近年來,以減輕CPU單元的負(fù)載和針對制造裝置的輸入輸出的高速化為目的,具有運(yùn)算處理功能的輸入輸出單元逐漸普及。
[0005]由此,能夠由輸入輸出單元執(zhí)行以往由CPU單元執(zhí)行的控制程序的一部分。即,輸入輸出單元能夠?qū)︶槍χ圃煅b置的輸入輸出進(jìn)行控制,而不經(jīng)由CPU單元。
[0006]但是,用戶需要手動地對使輸入輸出單元執(zhí)行的控制程序的一部分進(jìn)行提取,將提取出的控制程序的一部分作為輸入輸出單元用的控制程序而重新生成。因此,用戶的作業(yè)負(fù)擔(dān)增加。
[0007]另外,作為現(xiàn)有技術(shù),存在下述方法,S卩,為了在可編程控制器或機(jī)器人控制器等各控制器中使用而對控制程序進(jìn)行分割,針對分割得到的每個控制程序,生成各控制器用的程序模塊(參照專利文獻(xiàn)I)。
[0008]但是,在該方法中,不能對控制程序的一部分自動地進(jìn)行提取而生成輸入輸出單元用的控制程序。
[0009]另外,在該方法中,需要意識到各控制器而生成控制程序,且需要用于生成控制程序的編程技術(shù)。
[0010]專利文獻(xiàn)1:日本特開平09 - 171405號公報(bào)
【發(fā)明內(nèi)容】
[0011]本發(fā)明的目的在于,例如能夠?qū)ο蟪绦?例如控制程序)所包含的命令代碼中的能夠由第二執(zhí)行部(例如輸入輸出單元)執(zhí)行的命令代碼進(jìn)行提取,生成第二執(zhí)行部所執(zhí)行的第二程序。
[0012]本發(fā)明的程序編輯裝置具有:
[0013]提取對象代碼存儲部,其將由第一執(zhí)行部和第二執(zhí)行部執(zhí)行的對象程序所包含的多個命令代碼中的、由第二執(zhí)行部執(zhí)行的命令代碼,作為提取對象代碼而進(jìn)行存儲;
[0014]命令代碼提取部,其將所述對象程序所包含的所述多個命令代碼中的、與存儲在所述提取對象代碼存儲部中的所述提取對象代碼相同的命令代碼,作為提取代碼而進(jìn)行提??;
[0015]第二程序生成部,其生成包含由所述命令代碼提取部提取出的所述提取代碼在內(nèi)的程序,作為由所述第二執(zhí)行部執(zhí)行的第二程序;以及
[0016]第一程序生成部,其生成從所述對象程序中對由所述命令代碼提取部提取出的所述提取代碼進(jìn)行去除而得到的程序,作為由所述第一執(zhí)行部執(zhí)行的第一程序。
[0017]發(fā)明的效果
[0018]根據(jù)本發(fā)明,例如能夠?qū)ο蟪绦?例如控制程序)所包含的命令代碼中的能夠由第二執(zhí)行部(例如輸入輸出單元)執(zhí)行的命令代碼進(jìn)行提取,生成由第二執(zhí)行部執(zhí)行的第二程序。
【附圖說明】
[0019]圖1是實(shí)施方式I中的程序編輯裝置100和儀器控制裝置200的關(guān)系圖。
[0020]圖2是實(shí)施方式I中的程序編輯裝置100的功能結(jié)構(gòu)圖。
[0021]圖3是表示實(shí)施方式I中的程序編輯裝置100的程序編輯處理的流程圖。
[0022]圖4是表示實(shí)施方式I中的儀器控制程序210的一個例子的圖。
[0023]圖5是表不實(shí)施方式I中的提取對象代碼列表191的一個例子的圖。
[0024]圖6是表不實(shí)施方式I中的提取代碼列表192的一個例子的圖。
[0025]圖7是表示實(shí)施方式I中的副控制程序212的一個例子的圖。
[0026]圖8是表示實(shí)施方式I中的主控制程序211的一個例子的圖。
[0027]圖9是表示實(shí)施方式I中的主控制程序211的一個例子的圖。
[0028]圖10是表示實(shí)施方式I中的程序編輯裝置100的硬件資源的一個例子的圖。
[0029]圖11是實(shí)施方式2中的程序編輯裝置100的功能結(jié)構(gòu)圖。
[0030]圖12是表示實(shí)施方式2中的程序編輯裝置100的程序編輯處理的流程圖。
[0031]圖13是表示實(shí)施方式2中的副控制參數(shù)列表193的一個例子的圖。
[0032]圖14是表示實(shí)施方式I中的副控制參數(shù)編輯畫面310的一個例子的圖。
[0033]圖15是實(shí)施方式3中的程序編輯裝置100的功能結(jié)構(gòu)圖。
[0034]圖16是表示實(shí)施方式3中的程序編輯裝置100的程序編輯處理的流程圖。
[0035]圖17是表示實(shí)施方式3中的副控制參數(shù)編輯畫面310的一個例子的圖。
[0036]圖18是實(shí)施方式4中的程序編輯裝置100的功能結(jié)構(gòu)圖。
[0037]圖19是表示實(shí)施方式4中的程序編輯裝置100的程序編輯處理的流程圖。
[0038]圖20是表示實(shí)施方式4中的分割代碼提取處理(S130)的一個例子的流程圖。
[0039]圖21是表示實(shí)施方式4中的命令代碼分割處理(S133)的具體例的圖。
[0040]圖22是實(shí)施方式5中的程序編輯裝置100的功能結(jié)構(gòu)圖。
[0041]圖23是表示實(shí)施方式5中的提取條件畫面320的一個例子的圖。
[0042]圖24是表示實(shí)施方式5中的標(biāo)簽名對應(yīng)表329的一個例子的圖。
[0043]圖25是表示實(shí)施方式5中的儀器控制程序210的一個例子的圖。
[0044]圖26是實(shí)施方式6中的程序編輯裝置100的功能結(jié)構(gòu)圖。
[0045]圖27是表示實(shí)施方式6中的程序編輯裝置100的程序編輯處理的流程圖。
[0046]圖28是表示實(shí)施方式6中的副控制程序編輯處理(SI 17)的流程圖。
[0047]圖29是表示實(shí)施方式6中的檢測結(jié)果顯示處理(SI 17 — 3)的具體例的圖。
【具體實(shí)施方式】
[0048]實(shí)施方式I
[0049]對下述方式進(jìn)行說明,S卩,將對象程序(例如控制程序)所包含的命令代碼中的、能夠由第二執(zhí)行部(例如輸入輸出單元)執(zhí)行的命令代碼進(jìn)行提取,生成由第二執(zhí)行部執(zhí)行的第二程序。
[0050]圖1是實(shí)施方式I中的程序編輯裝置100和儀器控制裝置200的關(guān)系圖。
[0051]基于圖1,對實(shí)施方式I中的程序編輯裝置100和儀器控制裝置200之間的關(guān)系進(jìn)行說明。
[0052]儀器控制裝置200對傳感器或電動機(jī)等周邊儀器209進(jìn)行控制。
[0053]例如,儀器控制裝置200用在FA(Factory Automat1n)系統(tǒng)中。
[0054]儀器控制裝置200具有CPU單元201 (CPU:Central Processing Unit)和輸入輸出單元202。
[0055]CPU單元201 (第一執(zhí)行部的一個例子)經(jīng)由網(wǎng)絡(luò)204與輸入輸出單元202連接,對輸入輸出單元202以及與輸入輸出單元202連接的周邊儀器209進(jìn)行控制。
[0056]另外,CPU單元201具有用于執(zhí)行程序的運(yùn)算功能(例如運(yùn)算電路),執(zhí)行用于對周邊儀器209進(jìn)行控制的儀器控制程序210 (但由輸入輸出單元202執(zhí)行的部分除外)。
[0057]例如,CPU單元201的一個例子是可編程控制器。
[0058]輸入輸出單元202 (第二執(zhí)行部的一個例子)與周邊儀器209連接,對周邊儀器209進(jìn)行信號的輸入輸出。例如,輸入輸出單元202輸入從周邊儀器209輸出的輸出信號,向周邊儀器209輸出用于對周邊儀器209進(jìn)行控制的控制信號。
[0059]另外,輸入輸出單元202與CPU單元201同樣地具有運(yùn)算功能,執(zhí)行儀器控制程序210的一部分。
[0060]儀器控制程序210是用于對周邊儀器209進(jìn)行控制的程序。
[0061]例如,儀器控制程序210包含大于或等于I個命令語句(以下稱為命令代碼),該大于或等于I個命令語句用于對周邊儀器209的輸出信號(例如表示由傳感器測量到的測量值的信號)進(jìn)行處理,基于處理結(jié)果而生成控制信號(例如用于使電動機(jī)起動或停止的信號)。
[0062]此外,儀器控制程序210也可以是使用梯形圖語言或C語言等編程語言進(jìn)行記述而得到的源程序、和使用機(jī)械語言進(jìn)行記述而得到的目標(biāo)程序中的某一個。
[0063]程序編輯裝置100是下述計(jì)算機(jī),即,對儀器控制程序210進(jìn)行編輯,從而生成主控制程序211 (第一程序的一個例子)和副控制程序212 (第二程序的一個例子)。
[0064]主控制程序211是儀器控制程序210中的、由CPU單元201執(zhí)行的程序部分。
[0065]副控制程序212是儀器控制程序210中的、由輸入輸出單元202執(zhí)行的程序部分。
[0066]下面,對程序編輯裝置100進(jìn)行詳細(xì)說明。
[0067]圖2是實(shí)施方式I中的程序編輯裝置100的功能結(jié)構(gòu)圖。
[0068]基于圖2,對實(shí)施方式I中的程序編輯裝置100的功能結(jié)構(gòu)進(jìn)行說明。
[0069]程序編輯裝置100具有:命令代碼提取部111 ;副控制程序生成部112 (第二程序生成部的一個例子);以及主控制程序生成部121 (第一程序生成部的一個例子)。
[0070]命令代碼提取部111對儀器控制程序210 (對象程序的一個例子)所包含的命令代碼中的、與提取對象代碼列表191所示的提取對象代碼相同的命令代碼進(jìn)行提取,生成提取代碼列表192。
[0071]提取對象代碼列表191示出能夠由輸入輸出單元202執(zhí)行的命令代碼(提取對象代碼)的一覽。
[0072]提取代碼列表192示出從儀器控制程序210提取出的命令代碼(以下稱為提取代碼)的一覽。
[0073]副控制程序生成部112生成包含提取代碼列表192所示的提取代碼在內(nèi)的副控制程序212 (第二程序的一個例子)。
[0074]主控制程序生成部121通過從儀器控制程序210中對提取代碼列表192所示的提取代碼進(jìn)行去除,從而生成主控制程序211 (第一程序的一個例子)。
[0075]裝置存儲部190存儲程序編輯裝置100所使用的數(shù)據(jù)。
[0076]例如,裝置存儲部190存儲儀器控制程序210、提取對象代碼列表191、提取代碼列表192、副控制程序212、以及主控制程序211。
[0077]圖3是表示實(shí)施方式I中的程序編輯裝置100的程序編輯處理的流程圖。
[0078]基于圖3,對實(shí)施方式I中的程序編輯裝置100的程序編輯處理進(jìn)行說明。
[0079]在Slll中,命令代碼提取部111對儀器控制程序210所包含的命令代碼中的、與提取對象代碼列表191所示的提取對象代碼相同的命令代碼進(jìn)行提取。
[0080]在這里,所謂相同的命令代碼,也可以是包含變量值在內(nèi)全部相同的命令代碼、變量值不同但代碼形式相同的命令代碼、以及命令或運(yùn)算的種類相同的命令代碼中的某一種。
[0081]在Slll之后,處理進(jìn)入S112。
[0082]在S112中,命令代碼提取部111生成將從儀器控制程序210中提取出的命令代碼(提取代碼)設(shè)置為一覽而得到的提取代碼列表192。
[0083]提取代碼列表192示出提取代碼的一覽,并且針對每個提取代碼示出對提取代碼的提取部位進(jìn)行識別的提取部位識別符。
[0084]在SI 12之后,