信息處理裝置、模擬方法及程序的制作方法
【專利摘要】作為信息處理裝置的PC對(duì)控制程序(10)進(jìn)行模擬,并將進(jìn)行模擬的結(jié)果顯示到監(jiān)控器上。PC獲取在進(jìn)行模擬的過(guò)程中的任意時(shí)刻的至少一個(gè)變量的值和變量名。PC按照用戶的指示,變更控制程序(10)。PC將根據(jù)所獲取的變量名來(lái)確定的變量的值作為所獲取的變量的值,對(duì)變更后的控制程序(10)進(jìn)行模擬。PC在監(jiān)視器上顯示模擬變更后的控制程序(10)的結(jié)果。
【專利說(shuō)明】信息處理裝置、模擬方法及程序
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及信息處理裝置、模擬方法及程序,特別地,涉及能夠模擬執(zhí)行控制程序的信息處理裝置、信息處理裝置的模擬方法以及用于控制信息處理裝置的程序。
【背景技術(shù)】
[0002]以往,已知有能夠模擬執(zhí)行如下的控制程序的控制器支援裝置,該控制程序是指,包括時(shí)序控制部分及運(yùn)動(dòng)控制部分,在對(duì)機(jī)器的動(dòng)作進(jìn)行控制的控制器中每個(gè)控制周期都被執(zhí)行的控制程序。
[0003]例如,在日本特開(kāi)2011-192016號(hào)公報(bào)(專利文獻(xiàn)I)中公開(kāi)了如下的控制器支援裝置,即,在模擬執(zhí)行包括運(yùn)動(dòng)控制的控制程序的情況下,能夠在從開(kāi)始執(zhí)行到結(jié)束為止的控制周期的中途開(kāi)始再次執(zhí)行控制程序的裝置。具體來(lái)說(shuō),該控制器支援裝置將控制程序的時(shí)序控制部分模擬執(zhí)行一個(gè)周期,并生成與時(shí)序控制部分有關(guān)的執(zhí)行結(jié)果??刂破髦гb置將運(yùn)動(dòng)控制部分模擬執(zhí)行一個(gè)周期,并生成與運(yùn)動(dòng)控制部分有關(guān)的執(zhí)行結(jié)果。接著,控制器支援裝置以增量的方式更新控制周期編號(hào)。控制器支援裝置判斷是否是能夠再次開(kāi)始的控制周期,在判斷為是能夠再次開(kāi)始的控制周期的情況下,將在前一個(gè)控制周期內(nèi)更新的再次開(kāi)始用數(shù)據(jù)緩沖器的內(nèi)容保存至再次開(kāi)始用數(shù)據(jù)存儲(chǔ)部?jī)?nèi)。
[0004]現(xiàn)有技術(shù)文獻(xiàn)
[0005]專利文獻(xiàn)
[0006]專利文獻(xiàn)1:日本特開(kāi)2011-192016號(hào)公報(bào)
【發(fā)明內(nèi)容】
[0007]發(fā)明要解決的問(wèn)題
[0008]然而,在專利文獻(xiàn)I中,不能利用在模擬執(zhí)行控制程序的過(guò)程中輸入的變量、輸出的變量、或這兩者,來(lái)再次模擬控制程序。因此,用戶在對(duì)控制程序進(jìn)行了修正等的情況下再次執(zhí)行模擬時(shí),需要重新輸入變量。
[0009]本申請(qǐng)的發(fā)明是鑒于上述問(wèn)題點(diǎn)而做出的,其目的在于,提供一種用于支援控制器的信息處理裝置、模擬方法及程序,該信息處理裝置、模擬方法及程序,能夠容易地設(shè)定用于進(jìn)行模擬的輸入變量。
[0010]用于解決問(wèn)題的手段
[0011]根據(jù)本發(fā)明的一個(gè)方案,信息處理裝置用于對(duì)在控制機(jī)器的動(dòng)作的控制器中每個(gè)控制周期都被執(zhí)行的控制程序進(jìn)行模擬。信息處理裝置具有:存儲(chǔ)部,其存儲(chǔ)所述控制程序,模擬執(zhí)行部,其對(duì)存儲(chǔ)在所述存儲(chǔ)部?jī)?nèi)的控制程序進(jìn)行模擬,顯示控制部,其在顯示裝置上顯示所述模擬的結(jié)果,獲取部,其獲取在進(jìn)行所述模擬的過(guò)程中的任意時(shí)刻的至少一個(gè)變量的值和用于識(shí)別該變量的識(shí)別信息,變更部,其對(duì)存儲(chǔ)在所述存儲(chǔ)部?jī)?nèi)的控制程序進(jìn)行變更。所述模擬執(zhí)行部,將根據(jù)所獲取的所述識(shí)別信息來(lái)確定的變量的值作為所獲取的所述變量的值,對(duì)變更后的所述控制程序進(jìn)行模擬。所述顯示控制部,在所述顯示裝置上顯示對(duì)變更后的所述控制程序進(jìn)行模擬的結(jié)果。
[0012]優(yōu)選地,所述獲取部,對(duì)應(yīng)關(guān)聯(lián)地獲取在所述任意時(shí)刻的多個(gè)變量的值和用于識(shí)別各所述變量的多個(gè)識(shí)別信息。所述模擬執(zhí)行部,基于從所述多個(gè)變量中至少指定了一個(gè)變量的情況,將所指定的該變量的值作為與該變量的識(shí)別信息對(duì)應(yīng)關(guān)聯(lián)的所獲取的所述變量的值,對(duì)變更后的所述控制程序進(jìn)行模擬。
[0013]優(yōu)選地,所述多個(gè)變量包括用作所述模擬的輸入的能夠變更的變量和執(zhí)行所述模擬時(shí)輸出的不能變更的變量。所述模擬執(zhí)行部,僅利用所述能夠變更的變量及所述不能變更的變量中的能夠變更的該變量,對(duì)變更后的所述控制程序進(jìn)行模擬。
[0014]優(yōu)選地,所述任意時(shí)刻是所述控制程序的模擬開(kāi)始時(shí)刻或所述控制程序的模擬剛開(kāi)始之后的時(shí)刻。
[0015]優(yōu)選地,所述變量的識(shí)別信息是所述變量的名稱。所述顯示控制部在所述顯示裝置上顯示所獲取的所述變量的名稱的清單。所述信息處理裝置還具有:接受部,其接受在所顯示所述清單上的多個(gè)所述變量中對(duì)一個(gè)以上的變量的指定,提取部,其針對(duì)在多個(gè)所述變量的值中所指定的每個(gè)所述變量,分別提取該變量的值。所述模擬執(zhí)行部,利用所提取的所述變量的值,對(duì)變更后的所述控制程序進(jìn)行模擬。
[0016]根據(jù)本發(fā)明的另一方案,模擬方法在信息處理裝置中執(zhí)行,該信息處理裝置用于對(duì)在控制機(jī)器的動(dòng)作的控制器中每個(gè)控制周期都被執(zhí)行的控制程序進(jìn)行模擬。模擬方法包括:對(duì)所述控制程序進(jìn)行模擬的步驟;顯示所述模擬的結(jié)果的步驟;獲取在進(jìn)行所述模擬的過(guò)程中的任意時(shí)刻的至少一個(gè)變量的值和用于識(shí)別該變量的識(shí)別信息的步驟;對(duì)所述控制程序進(jìn)行變更的步驟;將根據(jù)所獲取的所述識(shí)別信息來(lái)確定的變量的值作為所獲取的所述變量的值,對(duì)變更后的所述控制程序進(jìn)行模擬的步驟;顯示對(duì)變更后的所述控制程序進(jìn)行模擬的結(jié)果的步驟。
[0017]根據(jù)本發(fā)明的又一方案,程序用于控制信息處理裝置,該信息處理裝置用于對(duì)在控制機(jī)器的動(dòng)作的控制器中每個(gè)控制周期都被執(zhí)行的控制程序進(jìn)行模擬。該程序使信息處理裝置的處理器執(zhí)行以下步驟:對(duì)所述控制程序進(jìn)行模擬的步驟;顯示所述模擬的結(jié)果的步驟;獲取在進(jìn)行所述模擬的過(guò)程中的任意時(shí)刻的至少一個(gè)變量的值和用于識(shí)別該變量的識(shí)別信息的步驟;對(duì)所述控制程序進(jìn)行變更的步驟;將根據(jù)所獲取的所述識(shí)別信息來(lái)確定的變量的值作為所獲取的所述變量的值,對(duì)變更后的所述控制程序進(jìn)行模擬的步驟;顯示對(duì)變更后的所述控制程序進(jìn)行模擬的結(jié)果的步驟。
[0018]發(fā)明效果
[0019]根據(jù)上述發(fā)明,能夠容易地設(shè)定用于執(zhí)行模擬的輸入變量。
【專利附圖】
【附圖說(shuō)明】
[0020]圖1是說(shuō)明控制系統(tǒng)的結(jié)構(gòu)的圖。
[0021]圖2是用于說(shuō)明在PC(個(gè)人計(jì)算機(jī))中執(zhí)行的模擬處理的圖。
[0022]圖3是說(shuō)明PC的硬件結(jié)構(gòu)的圖。
[0023]圖4是說(shuō)明通過(guò)由CPU執(zhí)行控制器支援程序來(lái)實(shí)現(xiàn)的功能框的圖。
[0024]圖5是用于說(shuō)明在PC執(zhí)行快速存儲(chǔ)(snapshot)時(shí)的處理流程的流程圖。
[0025]圖6是用于說(shuō)明在PC執(zhí)行還原(restore)時(shí)的處理流程的流程圖。
[0026]圖7是示出在PC執(zhí)行快速存儲(chǔ)時(shí)的時(shí)序圖。
[0027]圖8是示出在PC執(zhí)行還原時(shí)的時(shí)序圖。
[0028]圖9是表示通過(guò)執(zhí)行快速存儲(chǔ)得到的變量信息的圖。
[0029]圖10是為了生成在執(zhí)行還原時(shí)利用的數(shù)據(jù)而使用的用戶界面的一個(gè)例子的圖。
【具體實(shí)施方式】
[0030]以下,參照附圖,對(duì)本發(fā)明的實(shí)施方式的控制系統(tǒng)進(jìn)行說(shuō)明。在以下的說(shuō)明中,對(duì)同一構(gòu)件標(biāo)注同一附圖標(biāo)記。這些構(gòu)件的名稱及功能也相同。因此,對(duì)這些構(gòu)件不重復(fù)進(jìn)行詳細(xì)說(shuō)明。
[0031]< A.系統(tǒng)結(jié)構(gòu)>
[0032]圖1是說(shuō)明控制系統(tǒng)的結(jié)構(gòu)的圖。參照?qǐng)D1,本發(fā)明的實(shí)施方式的控制系統(tǒng)I由服務(wù)器2、網(wǎng)絡(luò)4、PC (個(gè)人計(jì)算機(jī))6、控制器14、控制對(duì)象裝置16構(gòu)成。
[0033]服務(wù)器2經(jīng)由網(wǎng)絡(luò)4與PC6連接。PC6以能夠通信的方式與用于對(duì)控制對(duì)象裝置16進(jìn)行控制的控制器14連接。
[0034]作為信息處理裝置的PC6發(fā)揮控制器支援裝置的功能。在PC6內(nèi),安裝有控制器支援程序8,另外還存儲(chǔ)有用戶作成的控制程序10。CD-ROM (Compact Disc-Read OnlyMemory:只讀光盤)12中保存有控制器支援程序8。在PC6中的控制器支援程序8是從上述⑶-R0M12下載后安裝的。
[0035]控制器14對(duì)控制對(duì)象裝置16的動(dòng)作進(jìn)行控制。在本發(fā)明的實(shí)施方式中,作為一個(gè)例子,使用PLC(ProgrammabIe Logic Controller:可編程邏輯控制器)來(lái)作為控制器14。SP,該P(yáng)LC具備所謂的運(yùn)動(dòng)控制功能。控制器14中存儲(chǔ)有用于規(guī)定對(duì)控制對(duì)象裝置16的控制內(nèi)容的控制程序15??刂破?4在每個(gè)控制周期都執(zhí)行一次控制程序15。在此,存儲(chǔ)在控制器14中的控制程序15是通過(guò)對(duì)存儲(chǔ)在PC6中的控制程序10進(jìn)行復(fù)制得到的復(fù)制數(shù)據(jù),是從PC6發(fā)送來(lái)的。
[0036]控制對(duì)象裝置16包括伺服電機(jī)、步進(jìn)電機(jī)等的電機(jī)18以及用于驅(qū)動(dòng)電機(jī)的電機(jī)驅(qū)動(dòng)設(shè)備17。
[0037]電機(jī)驅(qū)動(dòng)設(shè)備17向電機(jī)18供給驅(qū)動(dòng)電流。電機(jī)驅(qū)動(dòng)設(shè)備17在每個(gè)控制周期內(nèi),都從執(zhí)行控制程序15的控制器14接收位置的指令值,將與該位置的指令值相對(duì)應(yīng)的驅(qū)動(dòng)電流供給至電機(jī)18。在電機(jī)18為伺服電機(jī)的情況下,電機(jī)18具有編碼器(encoder),利用該編碼器來(lái)檢測(cè)出電機(jī)18的旋轉(zhuǎn)位置的實(shí)測(cè)值。電機(jī)驅(qū)動(dòng)設(shè)備17將電機(jī)的旋轉(zhuǎn)位置的實(shí)測(cè)值用于反饋控制。
[0038]此外,在上述內(nèi)容中,說(shuō)明了經(jīng)由⑶-R0M12將控制器支援程序安裝到PC6上的情況,但沒(méi)有特別的限定,可以從服務(wù)器2經(jīng)由網(wǎng)絡(luò)4將控制器支援程序下載至PC6??刂瞥绦蛞餐瑯?。
[0039]<Β.處理概要〉
[0040]圖2是用于說(shuō)明在PC6中執(zhí)行的模擬處理的圖。參照?qǐng)D2,PC6基于用戶的指示,利用事先準(zhǔn)備的控制程序10來(lái)執(zhí)行第一次模擬。此時(shí),由用戶例如在開(kāi)始對(duì)程序進(jìn)行模擬的時(shí)刻(t = to)向PC6輸入執(zhí)行快速存儲(chǔ)(snapshot)的指示的情況下,PC6執(zhí)行快速存儲(chǔ)。
[0041]“快速存儲(chǔ)”是指,獲取某個(gè)時(shí)間點(diǎn)的存儲(chǔ)器內(nèi)的狀態(tài)并另存為數(shù)據(jù)的處理。具體來(lái)說(shuō),“快速存儲(chǔ)”是指,獲取某個(gè)時(shí)間點(diǎn)的存儲(chǔ)器的變量的狀態(tài)并將所獲取的該變量的狀態(tài)保存為文件的處理。在本實(shí)施方式中,PC6通過(guò)執(zhí)行快速存儲(chǔ),來(lái)獲取模擬過(guò)程中的任意時(shí)刻的變量的值、用于識(shí)別該變量的識(shí)別信息以及該變量的類型。此外,在所獲取的變量為多個(gè)的情況下,PC6對(duì)應(yīng)關(guān)聯(lián)地獲取多個(gè)變量的值、用于識(shí)別各變量的多個(gè)識(shí)別信息以及各變量的類型。此外,文件形式例如能夠采用CSV形式。
[0042]上述變量包括用作模擬的輸入的能夠變更(寫(xiě)入)的變量、通過(guò)執(zhí)行模擬來(lái)輸出的不能變更(寫(xiě)入)的變量。另外,作為識(shí)別信息,可例舉變量的名稱(以下,稱為變量名)。作為變量的類型,可例舉bool、int、string。
[0043]以下,將輸入變量作為能夠變更的變量的一個(gè)例子,并將輸出變量作為不能變更的變量的一個(gè)例子,來(lái)進(jìn)行說(shuō)明。另外,為了方便說(shuō)明,還將包括變量名、變量的值以及變量的類型的三個(gè)信息的信息稱為“變量信息”。即,“變量信息”是包括了變量名、變量的值以及變量的類型的信息。通過(guò)執(zhí)行快速存儲(chǔ)獲取一個(gè)以上的變量信息。
[0044](bl.第一個(gè)例子)
[0045]PC6在執(zhí)行快速存儲(chǔ)時(shí),將所獲取的變量信息(變量名、變量的值,變量的類型)保存為文件。在此,為了方便說(shuō)明,假設(shè)通過(guò)在時(shí)間t = to執(zhí)行快速存儲(chǔ),來(lái)例如獲取了六個(gè)變量信息,并將所獲取的這些變量信息保存為文件201。具體來(lái)說(shuō),假設(shè)通過(guò)執(zhí)行快速存儲(chǔ)來(lái)將“變量名、變量的值、變量的類型”為“Var_A、True、Bool”、“Var_B、False、Bool”、“Var_C、1000、int,,、“Var_D、True、Bool”、“Var_E、2000、int”、“Var_F、3000、int” 的變量信息保存為文件201。
[0046]在此,用戶確認(rèn)文件201的各變量。用戶在判斷為各變量的值存在問(wèn)題的情況下,對(duì)控制程序10進(jìn)行變更(修正),并進(jìn)行第二次模擬。
[0047]在該情況下,用戶執(zhí)行還原(restore)的處理?!斑€原”是指,將通過(guò)執(zhí)行快速存儲(chǔ)得到的變量的值作為用于執(zhí)行模擬的變量的值(返回變量的值)來(lái)利用的處理。具體來(lái)說(shuō),“還原”是指,用戶從文件201的變量中,選擇執(zhí)行模擬所需的輸入變量,將存儲(chǔ)器中的該輸入變量的值改寫(xiě)為所選擇的這些輸入變量的值的處理。PC6利用這些改寫(xiě)的變量的值,再次執(zhí)行模擬。例如,PC6從上述六個(gè)變量的值中,利用變量Var_A的值(True)、變量Var_B的值(False)和變量Var_E的值(2000),再次執(zhí)行模擬。
[0048]例如,用戶通過(guò)對(duì)文件201進(jìn)行編輯來(lái)生成包含所選擇的這些輸入變量的值的文件201A,并使CPU901 (參照?qǐng)D3)讀取文件201A,能夠由此執(zhí)行上述還原處理。
[0049]在執(zhí)行第二次模擬也沒(méi)有得到優(yōu)選的結(jié)果的情況下,用戶再次對(duì)控制程序10進(jìn)行變更。然后,PC6利用在第二次模擬中利用的文件201A,執(zhí)行第三次模擬。此外,進(jìn)行模擬的次數(shù)不限于三次。
[0050]如上所述,用戶將通過(guò)執(zhí)行快速存儲(chǔ)獲得的變量作為輸入變量(輸入條件),來(lái)在每當(dāng)對(duì)控制程序10進(jìn)行變更時(shí)利用該輸入變量在PC6中執(zhí)行模擬。由此,用戶不需要在每當(dāng)變更控制程序10時(shí),都輸入輸入變量。
[0051](b2.第二個(gè)例子)
[0052]基于用戶的指示,PC6在時(shí)間t = t0之后的時(shí)間tl進(jìn)行了快速存儲(chǔ)處理。在該情況下,將存儲(chǔ)有所獲得的變量信息的文件設(shè)為文件202。
[0053]在該情況下,也與第一個(gè)例子同樣地,用戶從文件202的變量中選擇執(zhí)行模擬所需的輸入變量,并將所選擇的輸入變量(變量名、變量的值、變量的類型)存儲(chǔ)至文件202之外的另一個(gè)文件202A中。
[0054]接著,用戶在對(duì)控制程序進(jìn)行變更之后,利用文件202A執(zhí)行第二次模擬。在執(zhí)行該第二次模擬也沒(méi)有獲得優(yōu)選的結(jié)果的情況下,在再次對(duì)控制程序進(jìn)行變更的基礎(chǔ)上,執(zhí)行第三次模擬。
[0055](b3.另一個(gè)例子)
[0056]用戶可以暫時(shí)停止(中斷)模擬之后,利用文件201A或文件202A再次開(kāi)始執(zhí)行暫時(shí)停止的模擬。例如,在執(zhí)行對(duì)控制程序進(jìn)行變更之后的第二次模擬時(shí),用戶可以在時(shí)間t2暫時(shí)停止模擬,然后利用文件201A或文件202A再次開(kāi)始執(zhí)行在時(shí)間t2暫時(shí)停止的模擬。另外,在執(zhí)行進(jìn)一步對(duì)控制程序進(jìn)行變更之后的第三次模擬時(shí),用戶還可以在時(shí)間t3暫時(shí)停止模擬,并利用文件201A或文件202A再次開(kāi)始執(zhí)行在時(shí)間t3暫時(shí)停止的模擬。
[0057](b4.總結(jié))
[0058]如上所述,執(zhí)行快速存儲(chǔ)的時(shí)刻及執(zhí)行還原的時(shí)刻都沒(méi)有特別限定。作為一個(gè)優(yōu)選的使用方法的例子,特別地,可舉出上述的“第一個(gè)例子”。另外,作為另一個(gè)優(yōu)選的使用方法的例子,可舉出如下的例子,即,在模擬過(guò)程中停止了控制對(duì)象的動(dòng)作的情況下,對(duì)在停止的該時(shí)間點(diǎn)的變量進(jìn)行快速存儲(chǔ)處理,并在開(kāi)始執(zhí)行模擬時(shí)(時(shí)間to)或者在剛開(kāi)始模擬之后的時(shí)刻,還原通過(guò)執(zhí)行該快速存儲(chǔ)獲得的變量的一部分。
[0059]無(wú)論在哪種情況下,用戶通過(guò)進(jìn)行快速存儲(chǔ),都可使對(duì)控制程序進(jìn)行變更之后的輸入變量的設(shè)定變得容易。也就是說(shuō),用戶通過(guò)使用PC6,能夠利用通過(guò)執(zhí)行快速存儲(chǔ)獲得的變量的一部分(還有可能是全部)來(lái)執(zhí)行還原處理,因此,在多次變更了控制程序的情況下,也能夠容易地執(zhí)行多次模擬。
[0060]此外,在第一次模擬中執(zhí)行快速存儲(chǔ)的次數(shù)不限于一次,還可以執(zhí)行多次快速存儲(chǔ)。在該情況下,能夠?qū)⑼ㄟ^(guò)多次快速存儲(chǔ)中的某一次快速存儲(chǔ)獲得的變量(一部分,還有可能為全部)用于還原。
[0061]< C.PC6 >
[0062]圖3是說(shuō)明PC6的硬件結(jié)構(gòu)的圖。參照?qǐng)D3,本發(fā)明的實(shí)施方式的PC6包括CPU (中央處理器)901、R0M (只讀存儲(chǔ)器)902、RAM (隨機(jī)存取存儲(chǔ)器)903、HDD (硬盤驅(qū)動(dòng)器)904、⑶-ROM驅(qū)動(dòng)裝置908、通信IF (接口)909、監(jiān)控器907、鍵盤905及鼠標(biāo)906。此外,這些構(gòu)件經(jīng)由內(nèi)部總線910彼此連接。
[0063]典型地,HDD904是非易失性的磁性存儲(chǔ)器,保存有由⑶-ROM驅(qū)動(dòng)裝置908從CD-R0M12讀取到的控制器支援程序。另外,還保存有控制程序15。
[0064]CPU901在RAM903等中展開(kāi)并執(zhí)行保存在HDD904內(nèi)的本實(shí)施方式的控制器支援程序8。
[0065]RAM903為易失性存儲(chǔ)器,用作工作存儲(chǔ)器。在一般情況下,R0M902保存有操作系統(tǒng)(OS Operating System)等的程序。
[0066]典型地,通信IF909支援以太網(wǎng)(注冊(cè)商標(biāo))以及USB (Universal Serial Bus:通用串行總線)之類的通用的通信協(xié)議,提供經(jīng)由網(wǎng)絡(luò)4的PC6與服務(wù)器2之間的數(shù)據(jù)通信,并且提供PC6與控制器14之間的數(shù)據(jù)通信。
[0067]監(jiān)控器907由液晶顯示裝置、CRT (Cathode Ray Tube:電子射線管)、等離子顯示裝置等構(gòu)成,用于顯示PC6的處理結(jié)果等。鍵盤905接受用戶的按鍵輸入,鼠標(biāo)906接受用戶的指定(pointing)操作。
[0068]圖4是說(shuō)明通過(guò)由CPU901執(zhí)行控制器支援程序8來(lái)實(shí)現(xiàn)的功能框的圖。參照?qǐng)D4,在此,示出了用戶界面部802、顯示數(shù)據(jù)作成部804、模擬部806、控制程序存儲(chǔ)部808、控制程序編輯部810、控制器界面部812。
[0069]用戶界面部802用于作成用于在PC6的監(jiān)控器907上顯示的窗口畫(huà)面的內(nèi)容,還用于接受用戶對(duì)鍵盤905、鼠標(biāo)906的操作。
[0070]控制程序編輯部810用于使用戶輸入控制程序并對(duì)控制程序進(jìn)行編輯。在為了執(zhí)行控制程序而需要編譯的情況下,控制程序編輯部810還進(jìn)行編譯。經(jīng)由控制器界面部812將所作成的控制程序發(fā)送至控制器14。另外,將所作成的控制程序保存至作為HDD904的規(guī)定區(qū)域的控制程序存儲(chǔ)部808內(nèi)。另外,控制程序編輯部810還能夠經(jīng)由控制器界面部812讀取存儲(chǔ)在控制器14中的控制程序15并對(duì)其進(jìn)行編輯??刂瞥绦蚓庉嫴?10例如接受來(lái)自用戶的對(duì)控制程序的變更(例如,修正)指示,基于該指示來(lái)變更控制程序。
[0071]模擬部806是控制器14的模擬器。模擬部806按照存儲(chǔ)在控制程序存儲(chǔ)部808中的控制程序10,來(lái)對(duì)控制器14執(zhí)行控制程序15的動(dòng)作進(jìn)行模擬,控制器14對(duì)在每個(gè)控制周期內(nèi)應(yīng)該輸出的位置的指令值進(jìn)行計(jì)算。
[0072]另外,模擬部806能夠模擬如下的狀態(tài),即,來(lái)自外部的信號(hào)對(duì)控制程序的動(dòng)作帶來(lái)影響的狀態(tài),或者,通過(guò)執(zhí)行控制程序15自身,控制器14的存儲(chǔ)器的存儲(chǔ)內(nèi)容等的控制器14的內(nèi)部狀態(tài)發(fā)生變化,這種變化對(duì)控制程序15的動(dòng)作帶來(lái)影響的狀態(tài)。
[0073]另外,模擬部806經(jīng)由用戶界面部802,來(lái)接受與執(zhí)行模擬相關(guān)的用戶的指示。即,用戶界面部802還作為接受用戶對(duì)模擬部806的指示的單元發(fā)揮作用。
[0074]顯示數(shù)據(jù)作成部804作成顯示數(shù)據(jù),該顯示數(shù)據(jù)用于顯示由模擬部806作成的執(zhí)行結(jié)果數(shù)據(jù)隨時(shí)間的變化。顯示數(shù)據(jù)作成部804將所作成的顯示數(shù)據(jù)發(fā)送至用戶界面部802,由此,在PC6的監(jiān)控器907上以圖表或文字的方式顯示顯示數(shù)據(jù)。
[0075]< D.控制結(jié)構(gòu)>
[0076]接著,對(duì)PC6的控制結(jié)構(gòu)進(jìn)行說(shuō)明。
[0077](dl.快速存儲(chǔ)的流程)
[0078]圖5是用于說(shuō)明PC6執(zhí)行快速存儲(chǔ)時(shí)的處理流程的流程圖。參照?qǐng)D5,在步驟S502中,PC6的CPU901基于用戶的模擬開(kāi)始指示,開(kāi)始模擬控制程序10。CPU901判斷是否接受了執(zhí)行快速存儲(chǔ)的指示。
[0079]CPU901在步驟S504中得到肯定的判斷結(jié)果的情況下(在判斷為“是”的情況下),在步驟S506中,暫時(shí)停止模擬。CPU901在步驟S504中得到否定的判斷結(jié)果的情況下(在判斷為“否”的情況下),進(jìn)入步驟S516的處理。
[0080]在步驟S508中,CPU901獲取變量名、變量的類型及變量的值。即,CPU901獲取在輸入了執(zhí)行快速存儲(chǔ)的指示的時(shí)間點(diǎn)的變量信息。在步驟S510中,CPU901再次開(kāi)始執(zhí)行暫時(shí)停止的模擬。此外,CPU901可以將接收到來(lái)自用戶的使模擬再次開(kāi)始執(zhí)行的指示作為觸發(fā)條件,再次開(kāi)始執(zhí)行暫時(shí)停止的模擬。
[0081]在步驟S512中,CPU901接受用于保存通過(guò)執(zhí)行快速存儲(chǔ)獲取的變量信息的文件名的指定。在步驟S514中,CPU901利用所指定的文件名保存所獲取的變量信息(變量名、變量的類型以及變量的值)。
[0082]在步驟S516中,CPU901判斷模擬是否已經(jīng)結(jié)束。CPU901在步驟S516中得到肯定的判斷結(jié)果的情況下(在判斷為“是”的情況下),結(jié)束一連串的處理。CPU901在步驟S516中判斷為否定的判斷結(jié)果的情況下(在判斷為“否”的情況下),進(jìn)入步驟S504的處理。
[0083](d2.還原的流程)
[0084]圖6是用于說(shuō)明PC6執(zhí)行還原時(shí)的處理流程的流程圖。參照?qǐng)D6,在步驟S602中,PC6的CPU901基于用戶的模擬開(kāi)始指示,開(kāi)始對(duì)控制程序10進(jìn)行模擬。在步驟S604中,CPU901判斷是否指定了用于還原的文件。
[0085]CPU901在步驟S604中得到肯定的判斷結(jié)果的情況下(在判斷為“是”的情況下),在步驟S606中,判斷是否從用戶接受了執(zhí)行還原的指示。CPU901在步驟S604中得到否定的判斷結(jié)果的情況下(在判斷為“否”的情況下),進(jìn)入步驟S616的處理。
[0086]CPU901在步驟S606中得到肯定的判斷結(jié)果的情況下(在判斷為“是”的情況下),在步驟S608中,暫時(shí)停止模擬。CPU901在步驟S606中得到否定的判斷結(jié)果的情況下(在判斷為“否”的情況下),進(jìn)入步驟S616的處理。
[0087]在步驟S610中,CPU901判斷還原對(duì)象的變量是否存在于存儲(chǔ)器(RAM903)中。即,CPU901判斷與文件所記載的變量名相同的變量名的變量是否在暫時(shí)停止模擬時(shí)作為變量來(lái)出現(xiàn)。CPU901在步驟S610中得到肯定的判斷結(jié)果的情況下(在判斷為“是”的情況下),在步驟S612中,改寫(xiě)變量的值。CPU901在步驟S610中得到否定的判斷結(jié)果的情況下(在判斷為“否”的情況下),進(jìn)入步驟S614的處理。
[0088]例如,假設(shè)在執(zhí)行快速存儲(chǔ)之后,將“Var_A,True,Bool”、“Var_B,F(xiàn)alse, Bool”、“Var_E,2000,int”存儲(chǔ)為文件201A。在該情況下,若在步驟S608中,在暫時(shí)停止模擬時(shí)僅出現(xiàn)了 “Var_E”的變量,則在步驟S612中,僅改寫(xiě)變量Var_E的數(shù)值。
[0089]在步驟S614中,CPU901再次開(kāi)始執(zhí)行暫時(shí)停止的模擬。在步驟S616中,CPU901判斷模擬是否已經(jīng)結(jié)束。CPU901在步驟S616中得到肯定的判斷結(jié)果的情況下(在判斷為“是”的情況下),結(jié)束一連串的處理。CPU901在步驟S616中得到否定的判斷結(jié)果的情況下(在判斷為“否”的情況下),進(jìn)入步驟S604的處理。
[0090](d3.快速存儲(chǔ)的時(shí)序)
[0091]圖7是示出了在PC6執(zhí)行快速存儲(chǔ)時(shí)的時(shí)序圖。參照?qǐng)D7,在時(shí)序SQ702中,用戶界面部802向模擬部806的通信處理部861發(fā)送執(zhí)行快速存儲(chǔ)的指示。
[0092]通信處理部861在時(shí)序SQ704中,向模擬執(zhí)行部863發(fā)送讀取變量信息的指示(readMemO)。在時(shí)序SQ706中,模擬執(zhí)行部863將變量信息通知給通信處理部861。
[0093]在時(shí)序SQ708中,通信處理部861利用所指定的文件名,將所獲取的變量信息保存為文件。在時(shí)序SQ710中,通信處理部861向用戶界面部802通知表示保存了變量信息的通知。用戶界面部802若接收該通知,則使監(jiān)控器907顯示表示保存了變量信息的內(nèi)容。
[0094](d4.還原的時(shí)序)
[0095]圖8是示出了在PC6執(zhí)行還原時(shí)的時(shí)序圖。參照?qǐng)D8,在時(shí)序SQ802中,用戶界面部802向模擬部806的通信處理部861發(fā)送執(zhí)行還原的指示。在時(shí)序SQ804中,通信處理部861讀取文件。也就是說(shuō),通信處理部861讀取在存儲(chǔ)器中保存為文件的變量信息。
[0096]通信處理部861在時(shí)序SQ806中,向模擬執(zhí)行部863發(fā)送寫(xiě)入變量信息的指示(WriteMemO)0在時(shí)序SQ808中,模擬執(zhí)行部863向通信處理部861通知執(zhí)行了寫(xiě)入動(dòng)作的內(nèi)容或不存在寫(xiě)入變量(出錯(cuò))的內(nèi)容。
[0097]在時(shí)序SQ810中,通信處理部861向用戶界面部802通知所接收到的內(nèi)容。用戶界面部802若接收該通知,則使監(jiān)控器907顯示還原結(jié)束的內(nèi)容或還原失敗等的內(nèi)容。
[0098]< E.數(shù)據(jù)結(jié)構(gòu)>
[0099]圖9是表示通過(guò)執(zhí)行快速存儲(chǔ)獲得的變量信息的圖。具體來(lái)說(shuō),圖9是表示文件201 (或者文件202)的內(nèi)容(變量信息)的圖。
[0100]參照?qǐng)D9。文件201包括共通信息及變量信息。共通信息是指,在“[Common]”欄中顯示的信息。變量信息包括全局變量([global])及程序變量([programO])。
[0101]在該情況下,用戶利用全局變量、程序變量的一部(還有可能為全部)、或這兩者,在PC6中生成用于還原的文件201A。此外,在圖9不出的例子中,未以區(qū)分輸入變量和輸出變量的狀態(tài)進(jìn)行表示。
[0102]< F.用戶界面>
[0103]圖10是表示用于生成用于還原的數(shù)據(jù)的用戶界面的一個(gè)例子的圖。也就是說(shuō),圖10例如是表示文件201A、202A等的數(shù)據(jù)的圖。
[0104]參照?qǐng)D10,用戶界面部802在監(jiān)控器907上顯示通過(guò)執(zhí)行快速存儲(chǔ)獲取的多個(gè)變量信息(變量名、變量的類型以及變量的值)的清單。更詳細(xì)來(lái)說(shuō),用戶界面部802在監(jiān)控器907上顯示用戶界面9071,該用戶界面9071用于使用戶能夠從通過(guò)執(zhí)行快速存儲(chǔ)獲取的多個(gè)變量信息中,選擇一個(gè)以上的變量信息。
[0105]若用戶利用選擇框從所顯示的多個(gè)變量信息的清單中指定一個(gè)以上的變量信息,則CPU901接受該指定。CPU901從存儲(chǔ)有多個(gè)變量信息的文件中,提取所指定的變量信息。
[0106]CPU901 (模擬執(zhí)行部863)在從用戶接受到利用變更后的控制程序再次進(jìn)行模擬的指示的情況下,利用所提取的變量信息,模擬該控制程序。
[0107]因此,用戶通過(guò)利用用戶界面9071,能夠更容易地設(shè)定用于再次進(jìn)行模擬的輸入變量。
[0108]本次公開(kāi)的實(shí)施方式為用于例示的,不限于上述內(nèi)容。本發(fā)明的范圍通過(guò)權(quán)利要求的范圍示出,意味著包括與權(quán)利要求的范圍均等的意思以及在范圍內(nèi)的所有的變更。
[0109]附圖標(biāo)記說(shuō)明
[0110]I控制系統(tǒng),
[0111]2服務(wù)器,
[0112]4 網(wǎng)絡(luò),
[0113]8控制器支援程序,
[0114]10、15控制程序,
[0115]12 CD-R0M,
[0116]14控制器,
[0117]16控制對(duì)象裝置,
[0118]17電機(jī)驅(qū)動(dòng)設(shè)備,
[0119]18 電機(jī),
[0120]201、201A、202、202A 文件,
[0121]802用戶界面部,
[0122]804顯示數(shù)據(jù)作成部,
[0123]806 模擬部,
[0124]808控制程序存儲(chǔ)部,
[0125]810控制程序編輯部,
[0126]812控制器界面部,
[0127]861通信處理部,
[0128]863模擬執(zhí)行部,
[0129]902 ROM,
[0130]903 RAM,
[0131]907 監(jiān)控器,
[0132]907用戶界面,
[0133]909 通信 IF。
【權(quán)利要求】
1.一種信息處理裝置,用于對(duì)在控制機(jī)器的動(dòng)作的控制器中每個(gè)控制周期都被執(zhí)行的控制程序進(jìn)行模擬,其特征在于, 該信息處理裝置具有: 存儲(chǔ)部,其存儲(chǔ)所述控制程序, 模擬執(zhí)行部,其對(duì)存儲(chǔ)在所述存儲(chǔ)部?jī)?nèi)的控制程序進(jìn)行模擬, 顯示控制部,其在顯示裝置上顯示所述模擬的結(jié)果, 獲取部,其獲取在進(jìn)行所述模擬的過(guò)程中的任意時(shí)刻的至少一個(gè)變量的值和用于識(shí)別該變量的識(shí)別信息, 變更部,其對(duì)存儲(chǔ)在所述存儲(chǔ)部?jī)?nèi)的控制程序進(jìn)行變更; 所述模擬執(zhí)行部,將根據(jù)所獲取的所述識(shí)別信息來(lái)確定的變量的值作為所獲取的所述變量的值,對(duì)變更后的所述控制程序進(jìn)行模擬; 所述顯示控制部,在所述顯示裝置上顯示對(duì)變更后的所述控制程序進(jìn)行模擬的結(jié)果。
2.如權(quán)利要求1所述的信息處理裝置,其特征在于, 所述獲取部,對(duì)應(yīng)關(guān)聯(lián)地獲取在所述任意時(shí)刻的多個(gè)變量的值和用于識(shí)別各所述變量的多個(gè)識(shí)別信息; 所述模擬執(zhí)行部,基于從所述多個(gè)變量中至少指定了一個(gè)變量的情況,將所指定的該變量的值作為與該變量的識(shí)別信息對(duì)應(yīng)關(guān)聯(lián)的所獲取的所述變量的值,對(duì)變更后的所述控制程序進(jìn)行模擬。
3.如權(quán)利要求2所述的信息處理裝置,其特征在于, 所述多個(gè)變量包括用作所述模擬的輸入的能夠變更的變量和執(zhí)行所述模擬時(shí)輸出的不能變更的變量; 所述模擬執(zhí)行部,僅利用所述能夠變更的變量及所述不能變更的變量中的能夠變更的該變量,對(duì)變更后的所述控制程序進(jìn)行模擬。
4.如權(quán)利要求1至3中任一項(xiàng)所述的信息處理裝置,其特征在于, 所述任意時(shí)刻是所述控制程序的模擬開(kāi)始時(shí)刻或所述控制程序的模擬剛開(kāi)始之后的時(shí)刻。
5.如權(quán)利要求2或3所述的信息處理裝置,其特征在于, 所述變量的識(shí)別信息是所述變量的名稱; 所述顯示控制部在所述顯示裝置上顯示所獲取的所述變量的名稱的清單; 所述信息處理裝置還具有: 接受部,其接受在所顯示所述清單上的多個(gè)所述變量中對(duì)一個(gè)以上的變量的指定, 提取部,其針對(duì)在多個(gè)所述變量的值中所指定的每個(gè)所述變量,分別提取該變量的值; 所述模擬執(zhí)行部,利用所提取的所述變量的值,對(duì)變更后的所述控制程序進(jìn)行模擬。
6.一種模擬方法,在信息處理裝置中執(zhí)行的方法,該信息處理裝置用于對(duì)在控制機(jī)器的動(dòng)作的控制器中每個(gè)控制周期都被執(zhí)行的控制程序進(jìn)行模擬,該模擬方法的特征在于,包括: 對(duì)所述控制程序進(jìn)行模擬的步驟; 顯示所述模擬的結(jié)果的步驟; 獲取在進(jìn)行所述模擬的過(guò)程中的任意時(shí)刻的至少一個(gè)變量的值和用于識(shí)別該變量的識(shí)別信息的步驟; 對(duì)所述控制程序進(jìn)行變更的步驟; 將根據(jù)所獲取的所述識(shí)別信息來(lái)確定的變量的值作為所獲取的所述變量的值,對(duì)變更后的所述控制程序進(jìn)行模擬的步驟; 顯示對(duì)變更后的所述控制程序進(jìn)行模擬的結(jié)果的步驟。
7.一種程序,用于控制信息處理裝置,該信息處理裝置用于對(duì)在控制機(jī)器的動(dòng)作的控制器中每個(gè)控制周期都被執(zhí)行的控制程序進(jìn)行模擬,該程序的特征在于,使所述信息處理裝置的處理器執(zhí)行以下步驟: 對(duì)所述控制程序進(jìn)行模擬的步驟; 顯示所述模擬的結(jié)果的步驟; 獲取在進(jìn)行所述模擬的過(guò)程中的任意時(shí)刻的至少一個(gè)變量的值和用于識(shí)別該變量的識(shí)別信息的步驟; 對(duì)所述控制程序進(jìn)行變更的步驟; 將根據(jù)所獲取的所述識(shí)別信息來(lái)確定的變量的值作為所獲取的所述變量的值,對(duì)變更后的所述控制程序進(jìn)行模擬的步驟; 顯示對(duì)變更后的所述控制程序進(jìn)行模擬的結(jié)果的步驟。
【文檔編號(hào)】G05B19/05GK104204976SQ201380013393
【公開(kāi)日】2014年12月10日 申請(qǐng)日期:2013年2月19日 優(yōu)先權(quán)日:2012年3月15日
【發(fā)明者】阪口泰規(guī), 成谷文明, 大谷拓 申請(qǐng)人:歐姆龍株式會(huì)社