亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

執(zhí)行時(shí)間推定程序以及執(zhí)行時(shí)間推定裝置的制作方法

文檔序號:11160701閱讀:285來源:國知局
執(zhí)行時(shí)間推定程序以及執(zhí)行時(shí)間推定裝置的制造方法

本發(fā)明涉及一種對定序程序的執(zhí)行時(shí)間進(jìn)行推定的執(zhí)行時(shí)間推定程序以及執(zhí)行時(shí)間推定裝置。



背景技術(shù):

伴隨著對生產(chǎn)裝置所要求的功能的高級化、復(fù)雜化,對生產(chǎn)裝置的動(dòng)作進(jìn)行控制的FA控制器的程序也復(fù)雜化、容量也不斷擴(kuò)大。在FA控制器中主要使用的編程語言是梯形圖程序。該梯形圖程序與在通用機(jī)中廣泛使用的C、C++這種高級語言相比,對大規(guī)模的程序開發(fā)進(jìn)行輔助的工具并不齊備。

梯形圖程序是將由繼電器和線圈這種電子部件來產(chǎn)生定序控制信號的控制盤抽象化(metaphor)的編程語言,是以沒有編程知識的電氣設(shè)計(jì)人員、現(xiàn)場的技術(shù)人員也能夠容易地理解為目的而制作的。在這種梯形圖程序中,能夠容易地記述如下處理,即,根據(jù)數(shù)量眾多的輸入設(shè)備的值以及內(nèi)部狀態(tài)的值,通過邏輯式而決定輸出設(shè)備的值。另外,梯形圖程序中的控制的流向基本上是反復(fù)執(zhí)行如下處理,即,從梯形圖程序的上至下按順序執(zhí)行,執(zhí)行到末尾后返回至開頭再次執(zhí)行。

如上所述,梯形圖程序存在大規(guī)?;膬A向。即使在這種情況下,如果考慮到生產(chǎn)裝置的控制,則由于與外圍裝置的協(xié)調(diào)動(dòng)作、錯(cuò)誤判定的需要,需要以使從上至下執(zhí)行一遍梯形圖程序的時(shí)間即掃描時(shí)間限定于一定時(shí)間內(nèi)的方式進(jìn)行梯形圖程序的設(shè)計(jì)。然而,在梯形圖程序變得大規(guī)模的情況下,難以準(zhǔn)確地估計(jì)掃描時(shí)間。

因此,專利文獻(xiàn)1所記載的PLC模擬器利用了梯形圖程序所使用的各命令在PLC中的執(zhí)行處理時(shí)間數(shù)據(jù)。并且,PLC模擬器在梯形圖程序的模擬執(zhí)行處理中,對構(gòu)成梯形圖程序的每個(gè)助記指令的處理時(shí)間以及通信的外圍處理時(shí)間進(jìn)行累加,由此生成執(zhí)行邏輯時(shí)間。

專利文獻(xiàn)1:日本特開2001-209411號公報(bào)



技術(shù)實(shí)現(xiàn)要素:

然而,在上述現(xiàn)有技術(shù)中,存在下述問題,即,僅能夠求出梯形圖程序的平均執(zhí)行時(shí)間,不能估計(jì)在最花費(fèi)時(shí)間的情形下的掃描時(shí)間。

本發(fā)明就是鑒于上述而提出的,其目的在于得到一種能夠針對梯形圖程序而估計(jì)在最花費(fèi)時(shí)間的情形下的掃描時(shí)間的執(zhí)行時(shí)間推定程序以及執(zhí)行時(shí)間推定裝置。

為了解決上述問題,實(shí)現(xiàn)目的,本發(fā)明是一種執(zhí)行時(shí)間推定程序,其使計(jì)算機(jī)執(zhí)行對控制器所使用的梯形圖程序的執(zhí)行時(shí)間進(jìn)行推定的處理,所述執(zhí)行時(shí)間推定程序的特征在于,使所述計(jì)算機(jī)執(zhí)行下述步驟:組合提取步驟,將由固件執(zhí)行的軟件命令和該軟件命令的執(zhí)行條件的組從所述梯形圖程序中提取多個(gè),作為組信息;共通組生成步驟,通過針對所提取的多個(gè)組信息,以在所述執(zhí)行條件中使用共通的設(shè)備的組信息的集合即第1組集合為單位進(jìn)行分組,從而以所述第1組集合為單位而生成放入有所述第1組集合的設(shè)備共通組;同時(shí)執(zhí)行組生成步驟,通過以所述設(shè)備共通組之中具有存在同時(shí)執(zhí)行的可能性的軟件命令的組信息的集合即第2組集合為單位進(jìn)行分組,從而以所述第2組集合為單位而生成放入有第2組集合的同時(shí)執(zhí)行組;組提取步驟,從所述設(shè)備共通組內(nèi)的同時(shí)執(zhí)行組之中,提取所述軟件命令的執(zhí)行時(shí)間最長的同時(shí)執(zhí)行組;以及掃描時(shí)間計(jì)算步驟,基于執(zhí)行了所提取的同時(shí)執(zhí)行組的情況下的所述軟件命令的執(zhí)行時(shí)間,對將所述梯形圖程序執(zhí)行了一遍的情況下的掃描時(shí)間中的、執(zhí)行時(shí)間最長的情況下的掃描時(shí)間進(jìn)行計(jì)算。

發(fā)明的效果

根據(jù)本發(fā)明,實(shí)現(xiàn)下述效果,即,能夠針對梯形圖程序而估計(jì)在最花費(fèi)時(shí)間的情形下的掃描時(shí)間。

附圖說明

圖1是表示本發(fā)明的實(shí)施方式涉及的執(zhí)行時(shí)間推定裝置的結(jié)構(gòu)的圖。

圖2是表示以梯形圖表達(dá)出的梯形圖程序的一個(gè)例子的圖。

圖3是表示以IL(Instruction List)表達(dá)出的梯形圖程序的一個(gè)例子的圖。

圖4是表示通過執(zhí)行時(shí)間推定裝置進(jìn)行的執(zhí)行時(shí)間的推定處理順序的流程圖。

圖5是用于說明梯形圖枝干的提取處理的圖。

圖6是表示設(shè)備共通組的生成處理順序的流程圖。

圖7是用于說明設(shè)備共通組的生成處理的圖。

圖8是表示同時(shí)執(zhí)行組的生成處理順序的流程圖。

圖9是用于說明同時(shí)執(zhí)行組的生成處理的圖。

圖10是用于說明最大掃描時(shí)間的計(jì)算處理例的圖。

圖11是表示執(zhí)行時(shí)間推定裝置的硬件結(jié)構(gòu)的圖。

具體實(shí)施方式

下面,基于附圖對本發(fā)明的實(shí)施方式涉及的執(zhí)行時(shí)間推定程序以及執(zhí)行時(shí)間推定裝置進(jìn)行詳細(xì)說明。此外,本發(fā)明并不受本實(shí)施方式限定。

實(shí)施方式

圖1是表示本發(fā)明的實(shí)施方式涉及的執(zhí)行時(shí)間推定裝置的結(jié)構(gòu)的圖。執(zhí)行時(shí)間推定裝置10是對定序程序的執(zhí)行時(shí)間進(jìn)行推定的計(jì)算機(jī)等。下面,說明定序程序?yàn)樵赑LC(Programmable Logic Controller)等控制器中使用的梯形圖程序的情況。

執(zhí)行時(shí)間推定裝置10將從上至下執(zhí)行一遍梯形圖程序的時(shí)間即掃描時(shí)間作為梯形圖程序的執(zhí)行時(shí)間而進(jìn)行計(jì)算。本實(shí)施方式的執(zhí)行時(shí)間推定裝置10對梯形圖程序的執(zhí)行時(shí)間最長的情況下的掃描時(shí)間(下面,稱作最大掃描時(shí)間30)進(jìn)行推定。

梯形圖程序包含有僅在執(zhí)行條件為真時(shí)執(zhí)行的SW(軟件)命令。因此,在執(zhí)行了梯形圖程序的情況下,執(zhí)行SW命令的情況下和不執(zhí)行SW命令的情況下的梯形圖程序的執(zhí)行時(shí)間不同。執(zhí)行時(shí)間推定裝置10對在從開頭至末尾為止執(zhí)行了梯形圖程序的情況下最花費(fèi)時(shí)間的情形下的最大掃描時(shí)間30進(jìn)行推定。

執(zhí)行時(shí)間推定裝置10具有接收部11、電路模塊提取部12、組合信息提取部13、SW命令群提取部(同時(shí)執(zhí)行組生成部)14、執(zhí)行時(shí)間推定部(組提取部、掃描時(shí)間計(jì)算部)15、輸出部16、存儲部17、共通組生成部18。

接收部11接收IL表達(dá)信息20,該IL表達(dá)信息20示出梯形圖程序的IL(Instruction List)表達(dá)。接收部11將從數(shù)據(jù)庫等外部裝置輸入的IL表達(dá)信息20發(fā)送至電路模塊提取部12。

梯形圖程序是由梯形圖表達(dá)、IL表達(dá)來表示的。圖2是表示以梯形圖表達(dá)出的梯形圖程序的一個(gè)例子的圖。圖3是表示以IL表達(dá)出的梯形圖程序的一個(gè)例子的圖。圖2和圖3所示的梯形圖程序相同。

梯形圖程序包含有由硬件執(zhí)行的HW(硬件)命令和由固件執(zhí)行的SW命令。在PLC的架構(gòu)中,HW命令無論前級中的邏輯式的值如何均會執(zhí)行,SW命令僅在前級的邏輯式為真時(shí)執(zhí)行。

HW命令是需要一定時(shí)間的命令。是否執(zhí)行SW命令是由連在SW命令的前級處的邏輯式(下面,稱作執(zhí)行條件部)的值決定的。具體而言,SW命令僅在執(zhí)行條件部的值成為真的情況下執(zhí)行。因此,SW命令僅在執(zhí)行條件部的值成為真的情況下需要執(zhí)行時(shí)間。本實(shí)施方式的執(zhí)行時(shí)間推定裝置10基于SW命令之中的不會同時(shí)執(zhí)行的SW命令群而推定最大掃描時(shí)間30。

HW命令是

LD X0

AND X1

OUT Y102等。

SW命令是SwOp0~SwOp5等。而且,SwOp0的執(zhí)行條件部是

LD X0

AND X1。

因此,僅在

LD X0

AND X1

為真時(shí),執(zhí)行SwOp0。

電路模塊提取部12從IL表達(dá)信息20內(nèi)對由IL表達(dá)而示出的電路模塊進(jìn)行提取。電路模塊提取部12將所提取的各電路模塊發(fā)送至組合信息提取部13。

組合信息提取部13從以IL表達(dá)出的電路模塊內(nèi)對組信息(下面,稱作梯形圖枝干)進(jìn)行提取,其中,該組信息具有SW命令和SW命令的執(zhí)行條件部的組。組合信息提取部13將所提取的梯形圖枝干發(fā)送至共通組生成部18。

共通組生成部18基于梯形圖枝干而以梯形圖枝干為單位對在執(zhí)行條件部使用共通的設(shè)備的梯形圖枝干的集合即第1組集合進(jìn)行分組。共通組生成部18通過生成在執(zhí)行條件部使用共通的設(shè)備的梯形圖枝干集合(下面,稱為設(shè)備共通組),從而對梯形圖枝干進(jìn)行分組。

換言之,共通組生成部18針對所提取的多個(gè)梯形圖枝干,以在執(zhí)行條件部使用共通的設(shè)備的梯形圖枝干(下面,稱作共通梯形圖枝干)的集合為單位進(jìn)行分組。由此,共通組生成部18以共通梯形圖枝干為單位而生成放入有共通梯形圖枝干的設(shè)備共通組。共通組生成部18將設(shè)備共通組發(fā)送至SW命令群提取部14。

SW命令群提取部14以梯形圖枝干集合(下面,稱作SW命令群)為單位,對設(shè)備共通組之中存在同時(shí)執(zhí)行的可能性的梯形圖枝干集合即第2組集合進(jìn)行分組。由此,SW命令群提取部14以SW命令群為單位而生成放入有SW命令群的組、即后述的同時(shí)執(zhí)行組。

在執(zhí)行條件部使用共通的設(shè)備的梯形圖枝干集合是共通梯形圖枝干,放入有該共通梯形圖枝干的組是設(shè)備共通組。因此,以共通梯形圖枝干為單位而生成設(shè)備共通組。而且,設(shè)備共通組內(nèi)存在同時(shí)執(zhí)行的可能性的梯形圖枝干集合是SW命令群,放入有該SW命令群的組是同時(shí)執(zhí)行組。

通過在設(shè)備共通組內(nèi)以同時(shí)執(zhí)行組為單位將梯形圖枝干分組,從而將設(shè)備共通組內(nèi)不會同時(shí)執(zhí)行的梯形圖枝干集合設(shè)定于不同的組。因此,放入至相同的同時(shí)執(zhí)行組的梯形圖枝干彼此是存在同時(shí)執(zhí)行的可能性的梯形圖枝干,放入至不同的同時(shí)執(zhí)行組的梯形圖枝干彼此是不會同時(shí)執(zhí)行的梯形圖枝干。SW命令群提取部14將分組結(jié)果發(fā)送至執(zhí)行時(shí)間推定部15。

存儲部17是對指令執(zhí)行時(shí)間數(shù)據(jù)21進(jìn)行存儲的例如存儲器。指令執(zhí)行時(shí)間數(shù)據(jù)21包含有各SW命令的執(zhí)行時(shí)間以及各HW命令的執(zhí)行時(shí)間的信息。具體而言,在指令執(zhí)行時(shí)間數(shù)據(jù)21中,SW命令與執(zhí)行時(shí)間相關(guān)聯(lián),HW命令與執(zhí)行時(shí)間相關(guān)聯(lián)。

執(zhí)行時(shí)間推定部15基于分組結(jié)果以及指令執(zhí)行時(shí)間數(shù)據(jù)21而對最大掃描時(shí)間30進(jìn)行推定。具體而言,執(zhí)行時(shí)間推定部15針對作為不會同時(shí)執(zhí)行的梯形圖枝干集合的SW命令群、即同時(shí)執(zhí)行組,對每個(gè)SW命令群的執(zhí)行時(shí)間進(jìn)行推定。執(zhí)行時(shí)間推定部15以設(shè)備共通組為單位對SW命令群進(jìn)行設(shè)定,以設(shè)備共通組為單位對每個(gè)SW命令群的執(zhí)行時(shí)間進(jìn)行推定。

而且,執(zhí)行時(shí)間推定部15將設(shè)備共通組之中的SW命令群中各命令的執(zhí)行時(shí)間的合計(jì)最長的SW命令群采用為對最大掃描時(shí)間30作出貢獻(xiàn)的SW命令群。執(zhí)行時(shí)間推定部15以設(shè)備共通組為單位而設(shè)定對最大掃描時(shí)間30作出貢獻(xiàn)的SW命令群。

執(zhí)行時(shí)間推定部15針對對最大掃描時(shí)間30作出貢獻(xiàn)的SW命令群,基于指令執(zhí)行時(shí)間數(shù)據(jù)21,計(jì)算對最大掃描時(shí)間30作出貢獻(xiàn)的SW命令群的執(zhí)行時(shí)間。另外,執(zhí)行時(shí)間推定部15針對HW命令,基于指令執(zhí)行時(shí)間數(shù)據(jù)21而對HW命令的執(zhí)行時(shí)間進(jìn)行計(jì)算。

執(zhí)行時(shí)間推定部15通過將每個(gè)設(shè)備共通組的SW命令群的執(zhí)行時(shí)間全部相加,從而推定SW命令的最大的執(zhí)行時(shí)間。執(zhí)行時(shí)間推定部15通過將SW命令的最大的執(zhí)行時(shí)間與HW命令的執(zhí)行時(shí)間相加而推定最大掃描時(shí)間30。

換言之,執(zhí)行時(shí)間推定部15通過執(zhí)行下述處理而對最大掃描時(shí)間30進(jìn)行計(jì)算,即:以設(shè)備共通組為單位而對SW命令的執(zhí)行時(shí)間進(jìn)行計(jì)算的處理;以及將計(jì)算出的各執(zhí)行時(shí)間的合計(jì)時(shí)間與HW命令的執(zhí)行時(shí)間的合計(jì)時(shí)間相加的處理。執(zhí)行時(shí)間推定部15將最大掃描時(shí)間30發(fā)送至輸出部16。輸出部16將最大掃描時(shí)間30輸出至外部裝置。

下面,對通過執(zhí)行時(shí)間推定裝置10進(jìn)行的執(zhí)行時(shí)間的推定處理順序進(jìn)行說明。圖4是表示通過執(zhí)行時(shí)間推定裝置進(jìn)行的執(zhí)行時(shí)間的推定處理順序的流程圖。執(zhí)行時(shí)間推定裝置10的接收部11如果接收到IL表達(dá)信息20,則將IL表達(dá)信息20發(fā)送至電路模塊提取部12。

電路模塊提取部12從IL表達(dá)信息20內(nèi)提取由IL表達(dá)而示出的電路模塊(步驟S10)。組合信息提取部13從電路模塊提取SW命令和SW命令的執(zhí)行條件部。具體而言,組合信息提取部13針對各電路模塊的IL表達(dá)而將AND節(jié)點(diǎn)和OR節(jié)點(diǎn)變換為使用了嵌套的樹表達(dá)(下面,稱作梯形圖樹)。然后,組合信息提取部13針對各梯形圖樹而從開頭起按順序?qū)μ菪螆D樹進(jìn)行輪巡,從梯形圖樹提取SW命令和SW命令的執(zhí)行條件部的組即梯形圖枝干(步驟S20)。

圖5是用于說明梯形圖枝干的提取處理的圖。各電路模塊的IL表達(dá)被變換為梯形圖樹。然后,從各梯形圖樹提取SW命令和SW命令的執(zhí)行條件部的組即梯形圖枝干。組合信息提取部13將所提取的梯形圖枝干發(fā)送至共通組生成部18。

共通組生成部18基于梯形圖枝干而以在執(zhí)行條件部使用共通的設(shè)備的梯形圖枝干為單位進(jìn)行分組(步驟S30)。共通組生成部18通過生成在執(zhí)行條件部使用共通的設(shè)備的共通梯形圖枝干的集合、即設(shè)備共通組,從而對梯形圖枝干進(jìn)行分組。共通組生成部18將放入有共通梯形圖枝干的設(shè)備共通組發(fā)送至SW命令群提取部14。

SW命令群提取部14對設(shè)備共通組之中存在同時(shí)執(zhí)行的可能性的梯形圖枝干集合進(jìn)行分組。由此,SW命令群提取部14對設(shè)備共通組之中不會同時(shí)執(zhí)行的梯形圖枝干集合進(jìn)行分組(步驟S40)。SW命令群提取部14以設(shè)備共通組為單位而對梯形圖枝干集合進(jìn)行分組。SW命令群提取部14將設(shè)備共通組之中不會同時(shí)執(zhí)行的梯形圖枝干集合作為不會同時(shí)執(zhí)行的SW命令群而發(fā)送至執(zhí)行時(shí)間推定部15。

執(zhí)行時(shí)間推定部15基于不會同時(shí)執(zhí)行的SW命令群而推定最大掃描時(shí)間30(步驟S50)。具體而言,執(zhí)行時(shí)間推定部15在各設(shè)備共通組內(nèi)對每個(gè)SW命令群的執(zhí)行時(shí)間進(jìn)行比較。在進(jìn)行該比較時(shí),執(zhí)行時(shí)間推定部15基于指令執(zhí)行時(shí)間數(shù)據(jù)21而對各SW命令群的執(zhí)行時(shí)間進(jìn)行計(jì)算,對SW命令群的執(zhí)行時(shí)間彼此進(jìn)行比較。

執(zhí)行時(shí)間推定部15以設(shè)備共通組為單位而提取SW命令群之中執(zhí)行時(shí)間最長的SW命令群的執(zhí)行時(shí)間,將所提取的各執(zhí)行時(shí)間全部進(jìn)行累加。執(zhí)行時(shí)間推定部15將累加結(jié)果作為SW命令的最大的執(zhí)行時(shí)間,與HW命令的執(zhí)行時(shí)間相加,由此推定最大掃描時(shí)間30。

下面,對設(shè)備共通組的生成處理進(jìn)行說明。圖6是表示設(shè)備共通組的生成處理順序的流程圖。圖7是用于說明設(shè)備共通組的生成處理的圖。

在圖7中,將在圖5的說明中所提取的全部的梯形圖枝干集合作為全體梯形圖枝干集合50而示出。在全體梯形圖枝干集合50內(nèi)包含有與SwOp0~SwOp5相對應(yīng)的梯形圖枝干41~45。共通組生成部18生成1個(gè)設(shè)備共通組(步驟S21)。在圖7中,示出生成了設(shè)備共通組51的情況。該設(shè)備共通組51在被生成的時(shí)刻為空(st100),尚未放入梯形圖枝干集合。

共通組生成部18在生成設(shè)備共通組51之后,從全體梯形圖枝干集合50之中選擇1個(gè)任意的梯形圖枝干,放入至所生成的設(shè)備共通組51內(nèi)(步驟S22)。放入至設(shè)備共通組51內(nèi)的梯形圖枝干被從全體梯形圖枝干集合50內(nèi)刪除。在圖7中,示出選擇SwOp0的梯形圖枝干41(st101)而放入至設(shè)備共通組51內(nèi)的情況(st102)。

共通組生成部18確認(rèn)在全體梯形圖枝干集合50內(nèi)是否存在其他能夠選擇的梯形圖枝干(步驟S23)。當(dāng)在全體梯形圖枝干集合50內(nèi)存在能夠選擇的梯形圖枝干的情況下(步驟S23、Yes),共通組生成部18確認(rèn)在全體梯形圖枝干集合50內(nèi)是否針對在梯形圖枝干41中使用的全部的設(shè)備X0、X1進(jìn)行了調(diào)查(步驟S24)。

在未針對全部的設(shè)備進(jìn)行調(diào)查的情況下(步驟S24、No),共通組生成部18在設(shè)備共通組51內(nèi)的梯形圖枝干41所具有的執(zhí)行條件部所使用的設(shè)備X0、X1中,選擇1個(gè)未調(diào)查的設(shè)備(步驟S25)。共通組生成部18例如選擇設(shè)備X0。

共通組生成部18從全體梯形圖枝干集合50之中,對在執(zhí)行條件部使用了所選擇的設(shè)備X0的全部梯形圖枝干進(jìn)行選擇(步驟S26)。共通組生成部18將所選擇的梯形圖枝干放入至具有共通設(shè)備X0的設(shè)備共通組,并且從全體梯形圖枝干集合中刪除(步驟S27)。在圖7中,示出選擇SwOp3的梯形圖枝干43而放入至設(shè)備共通組51內(nèi)的情況(st103)。

隨后,共通組生成部18確認(rèn)在全體梯形圖枝干集合50內(nèi)是否存在其他能夠選擇的梯形圖枝干(步驟S23)。當(dāng)在全體梯形圖枝干集合50內(nèi)存在能夠選擇的梯形圖枝干的情況下(步驟S23、Yes),共通組生成部18確認(rèn)在全體梯形圖枝干集合50內(nèi)是否針對在梯形圖枝干41中使用的全部的設(shè)備X0、X1進(jìn)行了調(diào)查(步驟S24)。

在未針對全部的設(shè)備X0、X1進(jìn)行調(diào)查的情況下(步驟S24、No),共通組生成部18在設(shè)備共通組51內(nèi)的梯形圖枝干41所具有的執(zhí)行條件部所使用的設(shè)備X0、X1中,選擇1個(gè)未調(diào)查的設(shè)備(步驟S25)。共通組生成部18例如選擇設(shè)備X1。

共通組生成部18從全體梯形圖枝干集合50之中,對在執(zhí)行條件部使用了所選擇的設(shè)備X1的梯形圖枝干進(jìn)行選擇(步驟S26)。共通組生成部18將所選擇的梯形圖枝干放入至具有共通設(shè)備的設(shè)備共通組,并且從全體梯形圖枝干集合中刪除(步驟S27)。在圖7中,示出選擇SwOp5的梯形圖枝干45而放入至設(shè)備共通組51內(nèi)的情況(st104)。

隨后,共通組生成部18確認(rèn)在全體梯形圖枝干集合50內(nèi)是否存在其他能夠選擇的梯形圖枝干(步驟S23)。當(dāng)在全體梯形圖枝干集合50內(nèi)存在能夠選擇的梯形圖枝干的情況下(步驟S23、Yes),共通組生成部18確認(rèn)是否針對在梯形圖枝干41中使用的全部的設(shè)備X0、X1進(jìn)行了調(diào)查(步驟S24)。

在針對全部的設(shè)備X0、X1進(jìn)行了調(diào)查的情況下(步驟S24、Yes),共通組生成部18針對全體梯形圖枝干集合50,反復(fù)進(jìn)行步驟S21~S27的處理直至梯形圖枝干窮盡為止。

即,共通組生成部18生成1個(gè)設(shè)備共通組(步驟S21)(st105)。在圖7中,示出生成了設(shè)備共通組52的情況。該設(shè)備共通組52在被生成的時(shí)刻為空,尚未放入梯形圖枝干集合。

共通組生成部18在設(shè)定了設(shè)備共通組52之后,從全體梯形圖枝干集合50之中選擇1個(gè)任意的梯形圖枝干,放入至所生成的設(shè)備共通組52內(nèi)(步驟S22)。放入至設(shè)備共通組52內(nèi)的梯形圖枝干被從全體梯形圖枝干集合50內(nèi)刪除。在圖7中,示出選擇SwOp4的梯形圖枝干44而放入至設(shè)備共通組52內(nèi)的情況(st106)。

共通組生成部18確認(rèn)在全體梯形圖枝干集合50內(nèi)是否存在其他能夠選擇的梯形圖枝干(步驟S23)。當(dāng)在全體梯形圖枝干集合50內(nèi)存在能夠選擇的梯形圖枝干的情況下(步驟S23、Yes),共通組生成部18確認(rèn)在全體梯形圖枝干集合50內(nèi)是否針對在梯形圖枝干44中使用的全部的設(shè)備X11進(jìn)行了調(diào)查(步驟S24)。

在未針對全部的設(shè)備進(jìn)行調(diào)查的情況下(步驟S24、No),共通組生成部18在設(shè)備共通組52內(nèi)的梯形圖枝干44所具有的執(zhí)行條件部所使用的設(shè)備中,選擇1個(gè)未調(diào)查的設(shè)備(步驟S25)。共通組生成部18例如選擇設(shè)備X11。

共通組生成部18從全體梯形圖枝干集合50之中,對在執(zhí)行條件部使用了所選擇的設(shè)備X11的梯形圖枝干進(jìn)行選擇(步驟S26)。共通組生成部18將所選擇的梯形圖枝干放入至具有共通設(shè)備的設(shè)備共通組,并且從全體梯形圖枝干集合中刪除(步驟S27)。在圖7中,示出選擇SwOp1的梯形圖枝干42而放入至設(shè)備共通組52內(nèi)的情況(st107)。

隨后,共通組生成部18確認(rèn)在全體梯形圖枝干集合50內(nèi)是否存在其他能夠選擇的梯形圖枝干(步驟S23)。當(dāng)在全體梯形圖枝干集合50內(nèi)不存在能夠選擇的梯形圖枝干的情況下(步驟S23、No),共通組生成部18結(jié)束設(shè)備共通組的生成處理。

這樣,共通組生成部18將具有與所選擇的任意的梯形圖枝干所具有的執(zhí)行條件部相同的執(zhí)行條件部的梯形圖枝干設(shè)定于相同的設(shè)備共通組內(nèi)。由此,共通組生成部18以使得具有相同的執(zhí)行條件部的梯形圖枝干收容于相同的設(shè)備共通組內(nèi)的方式對各梯形圖枝干進(jìn)行分組。在圖7中,示出分組為在執(zhí)行條件部具有設(shè)備X0、X1、X2的SwOp0、SwOp3、SwOp5和在執(zhí)行條件部具有設(shè)備X11、X10的SwOp4、SwOp1這兩組的情況。

下面,對生成各設(shè)備共通組之中存在同時(shí)執(zhí)行的可能性的梯形圖枝干集合(同時(shí)執(zhí)行組)的處理進(jìn)行說明。圖8是表示同時(shí)執(zhí)行組的生成處理順序的流程圖。圖9是用于說明同時(shí)執(zhí)行組的生成處理的圖。

圖8所示的處理是針對具有共通設(shè)備的梯形圖枝干集合各自進(jìn)行的。換言之,圖8所示的處理是以設(shè)備共通組為單位而進(jìn)行的處理。在圖8、圖9中,對將設(shè)備共通組51內(nèi)的各梯形圖枝干分配至任意的同時(shí)執(zhí)行組的處理進(jìn)行說明。

如圖9所示,設(shè)備共通組51包含有SwOp0的梯形圖枝干41、SwOp3的梯形圖枝干43、SwOp5的梯形圖枝干45。SW命令群提取部14生成1個(gè)同時(shí)執(zhí)行組而作為存在同時(shí)執(zhí)行的可能性的梯形圖枝干集合(步驟S31)。在圖9中,示出生成了同時(shí)執(zhí)行組61的情況。該同時(shí)執(zhí)行組61在被生成的時(shí)刻為空(st200),尚未放入梯形圖枝干集合。

SW命令群提取部14在生成同時(shí)執(zhí)行組61之后,從設(shè)備共通組51之中選擇1個(gè)任意的梯形圖枝干,放入至所生成的同時(shí)執(zhí)行組61內(nèi)(步驟S32)。放入至同時(shí)執(zhí)行組61內(nèi)的梯形圖枝干被從設(shè)備共通組51內(nèi)刪除。在圖9中,示出選擇SwOp0的梯形圖枝干41(st201)而放入至同時(shí)執(zhí)行組61內(nèi)的情況(st202)。

SW命令群提取部14對具有共通設(shè)備的梯形圖枝干集合的要素是否為空進(jìn)行確認(rèn)(步驟S33)。換言之,SW命令群提取部14對在任意的設(shè)備共通組是否殘留有梯形圖枝干進(jìn)行確認(rèn)。

當(dāng)在設(shè)備共通組51內(nèi)存在能夠選擇的梯形圖枝干的情況下(步驟S33、No),SW命令群提取部14從設(shè)備共通組51內(nèi)選擇1個(gè)未調(diào)查的梯形圖枝干(步驟S34)。SW命令群提取部14例如選擇SwOp3的梯形圖枝干43。

SW命令群提取部14對屬于同時(shí)執(zhí)行組61的梯形圖枝干41的執(zhí)行條件與所選擇的梯形圖枝干43的執(zhí)行條件之積是否具有解進(jìn)行判斷(步驟S35)。在存在梯形圖枝干41與梯形圖枝干43同時(shí)執(zhí)行的可能性的情況下,梯形圖枝干41、43的執(zhí)行條件之積具有解。另一方面,在梯形圖枝干41與梯形圖枝干43不會同時(shí)執(zhí)行的情況下,梯形圖枝干41、43的執(zhí)行條件之積不具有解。

這里的SW命令群提取部14判定(X0*X1)*((NOT X0)+(NOT X2))=TRUE是否成立。SW命令群提取部14在梯形圖枝干41、43的執(zhí)行條件之積具有解的情況下(步驟S36、Yes),將所選擇的梯形圖枝干43放入至同時(shí)執(zhí)行組61,并從設(shè)備共通組51中刪除(步驟S37)。在圖9中,示出了選擇SwOp3的梯形圖枝干43而放入至同時(shí)執(zhí)行組61內(nèi)的情況(st203)。

SW命令群提取部14例如基于SMT(SATISFIABLE MODULO THEORIES)而進(jìn)行執(zhí)行條件之積是否具有解的判定。SMT是表示特定領(lǐng)域的數(shù)學(xué)體系的算術(shù)理論、集合理論等。依靠數(shù)個(gè)SMT解算器,能夠解決一階謂詞邏輯的可滿足性判定問題。此外,SMT不僅包含約束滿足的可否,還包含在約束滿足的情況下的向變量的分配法的信息。

SW命令群提取部14確認(rèn)在設(shè)備共通組51內(nèi)是否存在未調(diào)查的梯形圖枝干(步驟S38)。在存在未調(diào)查的梯形圖枝干的情況下(步驟S38、Yes),SW命令群提取部14對具有共通設(shè)備的梯形圖枝干集合的要素是否為空進(jìn)行確認(rèn)(步驟S33)。

當(dāng)在設(shè)備共通組51內(nèi)存在能夠選擇的梯形圖枝干的情況下(步驟S33、No),SW命令群提取部14從設(shè)備共通組51內(nèi)選擇1個(gè)未調(diào)查的梯形圖枝干(步驟S34)。SW命令群提取部14例如選擇SwOp5的梯形圖枝干45。

SW命令群提取部14判定屬于同時(shí)執(zhí)行組61的梯形圖枝干41、43的執(zhí)行條件與所選擇的梯形圖枝干45的執(zhí)行條件之積是否具有解(步驟S35)。這里的SW命令群提取部14判定(X0*X1)*((NOT X0)+(NOT X2))*(NOT X1)=TRUE是否成立。

SW命令群提取部14在梯形圖枝干41、43、45的執(zhí)行條件之積不具有解的情況下(步驟S36、No),將所選擇的梯形圖枝干45放入至與同時(shí)執(zhí)行組61不同的其他同時(shí)執(zhí)行組,并從設(shè)備共通組51中刪除。

SW命令群提取部14在已經(jīng)生成了與同時(shí)執(zhí)行組61不同的其他同時(shí)執(zhí)行組的情況下,判定已生成的同時(shí)執(zhí)行組內(nèi)的梯形圖枝干的執(zhí)行條件與所選擇的梯形圖枝干45的執(zhí)行條件之積是否具有解。SW命令群提取部14在具有解的情況下,將梯形圖枝干45放入至已生成的同時(shí)執(zhí)行組內(nèi)。

另一方面,SW命令群提取部14在未生成與同時(shí)執(zhí)行組61不同的其他同時(shí)執(zhí)行組的情況下,生成新的同時(shí)執(zhí)行組,將所選擇的梯形圖枝干45放入其中。在圖9中,示出選擇SwOp5的梯形圖枝干45而放入至新的同時(shí)執(zhí)行組62內(nèi)的情況(st204、st205)。

隨后,SW命令群提取部14對具有共通設(shè)備的梯形圖枝干集合的要素是否為空進(jìn)行確認(rèn)(步驟S33)。如果不為空,則SW命令群提取部14進(jìn)行步驟S34~S38的處理。

而且,在步驟S38的處理中,在SW命令群提取部14判斷為設(shè)備共通組51中不存在未調(diào)查的梯形圖枝干的情況下(步驟S38、No),SW命令群提取部14針對與設(shè)備共通組51不同的其他設(shè)備共通組進(jìn)行步驟S31~S38的處理。例如,SW命令群提取部14針對設(shè)備共通組52進(jìn)行步驟S31~S38的處理。

而且,在步驟S33的處理中,如果SW命令群提取部14判斷為具有共通設(shè)備的梯形圖枝干集合的要素為空(步驟S33、Yes),則使通過SW命令群提取部14進(jìn)行的同時(shí)執(zhí)行組的生成處理結(jié)束。

這樣,SW命令群提取部14通過將設(shè)備共通組51之中存在同時(shí)執(zhí)行的可能性的梯形圖枝干集合作為同時(shí)執(zhí)行組而生成,從而對梯形圖枝干進(jìn)行分組。

通過SW命令群提取部14而分類后的同時(shí)執(zhí)行組之中的、根據(jù)相同的設(shè)備共通組生成的同時(shí)執(zhí)行組彼此是不會同時(shí)執(zhí)行的SW命令群。換言之,根據(jù)相同的設(shè)備共通組生成的不同的同時(shí)執(zhí)行組是不會同時(shí)執(zhí)行的SW命令群。例如,同時(shí)執(zhí)行組61、62均是根據(jù)設(shè)備共通組51而生成的,因此同時(shí)執(zhí)行組61、62是不會同時(shí)執(zhí)行的SW命令群。

SW命令群提取部14在根據(jù)圖7所示的設(shè)備共通組52生成了同時(shí)執(zhí)行組的情況下,生成包含SwOp4的梯形圖枝干44的同時(shí)執(zhí)行組和包含SwOp1的梯形圖枝干42的同時(shí)執(zhí)行組。

這樣,在生成了同時(shí)執(zhí)行組后可知,SwOp0、SwOp3有時(shí)被同時(shí)執(zhí)行,“SwOp0、SwOp3”與“SwOp5”不會被同時(shí)執(zhí)行。另外可知,SwOp1與SwOp4不會被同時(shí)執(zhí)行。

基于上述的向同時(shí)執(zhí)行組的分類結(jié)果,執(zhí)行時(shí)間推定部15對最大掃描時(shí)間30進(jìn)行推定。圖10是用于說明最大掃描時(shí)間的計(jì)算處理例的圖。

在圖10中,示出SW命令或者HW命令與執(zhí)行時(shí)間的對應(yīng)關(guān)系。另外,在圖10中,示出最大掃描時(shí)間30的推定值。在存在不會被同時(shí)執(zhí)行的SW命令群的情況下,認(rèn)為SW命令的執(zhí)行時(shí)間較長的SW命令群的執(zhí)行時(shí)間對最大掃描時(shí)間30作出貢獻(xiàn)。因此,執(zhí)行時(shí)間推定部15將執(zhí)行時(shí)間較長的SW命令群應(yīng)用于最大掃描時(shí)間30的計(jì)算處理。

例如,HW命令的“LD X0”的執(zhí)行時(shí)間為Tld,HW命令的“AND X1”的執(zhí)行時(shí)間為Tand。另外,如果將SW命令的“SwOpi”的執(zhí)行時(shí)間記述為Ti,則SwOp0~SwOp5的執(zhí)行時(shí)間分別為T0~T5。在該情況下,關(guān)于設(shè)備共通組51內(nèi)的SwOp0、SwOp3、SwOp5,“T0+T3”與T5的較大的一個(gè)被應(yīng)用于最大掃描時(shí)間30的計(jì)算處理。另外,關(guān)于設(shè)備共通組52內(nèi)的SwOp1、SwOp4,T1與T4的較大的一個(gè)被應(yīng)用于最大掃描時(shí)間30的計(jì)算處理。

在圖10中,示出(T0+T3)>T5且T1>T4的情況下的最大掃描時(shí)間30的計(jì)算結(jié)果。執(zhí)行時(shí)間推定部15將SW命令群之中的、未應(yīng)用于最大掃描時(shí)間30的計(jì)算處理的SW命令群的執(zhí)行時(shí)間設(shè)為0而對最大掃描時(shí)間30進(jìn)行計(jì)算。

執(zhí)行時(shí)間推定部15將(T0+T3)與T5之中的(T0+T3)應(yīng)用于最大掃描時(shí)間30的計(jì)算處理,將T1與T4之中的T1應(yīng)用于最大掃描時(shí)間30的計(jì)算處理。因此,執(zhí)行時(shí)間推定部15將T0+T3+T1計(jì)算為SW命令的執(zhí)行時(shí)間。

另外,執(zhí)行時(shí)間推定部15將全部的HW命令的執(zhí)行時(shí)間的合計(jì)時(shí)間計(jì)算為HW命令的執(zhí)行時(shí)間。具體而言,執(zhí)行時(shí)間推定部15將4Tld+2Tldi+Tand+Tani+Tori+Tout計(jì)算為HW命令的執(zhí)行時(shí)間。然后,執(zhí)行時(shí)間推定部15將SW命令的執(zhí)行時(shí)間與HW命令的執(zhí)行時(shí)間的合計(jì)時(shí)間作為最大掃描時(shí)間30的推定值。

圖11是表示執(zhí)行時(shí)間推定裝置的硬件結(jié)構(gòu)的圖。執(zhí)行時(shí)間推定裝置10具有CPU(Central Processing Unit)91、ROM(Read Only Memory)92、RAM(Random Access Memory)93、顯示部94、輸入部95。在執(zhí)行時(shí)間推定裝置10中,上述CPU 91、ROM 92、RAM 93、顯示部94以及輸入部95經(jīng)由總線B而連接。

CPU 91利用作為計(jì)算機(jī)程序的執(zhí)行時(shí)間推定程序90而進(jìn)行最大掃描時(shí)間30的推定。顯示部94是液晶監(jiān)視器等顯示裝置,基于來自CPU 91的指示,對梯形圖程序、SW命令、HW命令、執(zhí)行條件部、梯形圖枝干、設(shè)備共通組、同時(shí)執(zhí)行組、最大掃描時(shí)間30等進(jìn)行顯示。輸入部95具有鼠標(biāo)或者鍵盤而構(gòu)成,輸入由使用者從外部輸入的指示信息(最大掃描時(shí)間30的推定所需的參數(shù)等)。向輸入部95輸入的指示信息被發(fā)送至CPU 91。

執(zhí)行時(shí)間推定程序90儲存于作為計(jì)算機(jī)能夠進(jìn)行讀取且非暫時(shí)性的存儲介質(zhì)(nontransitory computer readable medium)的ROM 92等之中,經(jīng)由總線B而向RAM 93載入。

CPU 91執(zhí)行被載入至RAM 93內(nèi)的執(zhí)行時(shí)間推定程序90。具體而言,在執(zhí)行時(shí)間推定裝置10中,按照由使用者從輸入部95輸入的指示,CPU 91從ROM 92內(nèi)讀取出執(zhí)行時(shí)間推定程序90,在RAM 93內(nèi)的程序儲存區(qū)域展開而執(zhí)行各種處理。CPU 91使在該各種處理時(shí)所產(chǎn)生的各種數(shù)據(jù)暫時(shí)存儲于在RAM 93內(nèi)形成的數(shù)據(jù)儲存區(qū)域。

由執(zhí)行時(shí)間推定裝置10執(zhí)行的執(zhí)行時(shí)間推定程序90成為包含電路模塊提取部12、組合信息提取部13、SW命令群提取部14、執(zhí)行時(shí)間推定部15、共通組生成部18的模塊結(jié)構(gòu),它們被載入至主存儲裝置上,它們是在主存儲裝置上生成的。由此,執(zhí)行時(shí)間推定程序90能夠作為計(jì)算機(jī)即執(zhí)行時(shí)間推定裝置10上的軟件而實(shí)現(xiàn)。此外,電路模塊提取部12的功能也可以儲存在與執(zhí)行時(shí)間推定程序90不同的其他程序中。

此外,在本實(shí)施方式中,對接收部11接收梯形圖程序的情況進(jìn)行了說明,但接收部11也可以接收梯形圖樹。在接收部11接收梯形圖樹的情況下,組合信息提取部13從梯形圖樹中提取梯形圖枝干。另外,在接收部11接收梯形圖樹的情況下,執(zhí)行時(shí)間推定裝置10也可以不具有電路模塊提取部12。

根據(jù)本實(shí)施方式,從設(shè)備共通組內(nèi)的同時(shí)執(zhí)行組之中,基于軟件命令的執(zhí)行時(shí)間最長的同時(shí)執(zhí)行組,計(jì)算最大掃描時(shí)間30,因此能夠估計(jì)最花費(fèi)時(shí)間的情形下的掃描時(shí)間。

工業(yè)實(shí)用性

如以上所述,本發(fā)明涉及的執(zhí)行時(shí)間推定程序以及執(zhí)行時(shí)間推定裝置適用于定序程序的執(zhí)行時(shí)間的推定。

標(biāo)號的說明

10執(zhí)行時(shí)間推定裝置,12電路模塊提取部,13組合信息提取部,14SW命令群提取部,15執(zhí)行時(shí)間推定部,18共通組生成部,20IL表達(dá)信息,21指令執(zhí)行時(shí)間數(shù)據(jù),41~45梯形圖枝干,50全體梯形圖枝干集合,51、52設(shè)備共通組,61、62同時(shí)執(zhí)行組,90執(zhí)行時(shí)間推定程序。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1