1.一種執(zhí)行時(shí)間推定程序,其使計(jì)算機(jī)執(zhí)行對(duì)控制器所使用的梯形圖程序的執(zhí)行時(shí)間進(jìn)行推定的處理,
所述執(zhí)行時(shí)間推定程序的特征在于,
使所述計(jì)算機(jī)執(zhí)行下述步驟:
組合提取步驟,將由固件執(zhí)行的軟件命令和該軟件命令的執(zhí)行條件的組從所述梯形圖程序中提取多個(gè),作為組信息;
共通組生成步驟,通過針對(duì)所提取的多個(gè)組信息,以在所述執(zhí)行條件中使用共通的設(shè)備的組信息的集合即第1組集合為單位進(jìn)行分組,從而以所述第1組集合為單位而生成放入有所述第1組集合的設(shè)備共通組;
同時(shí)執(zhí)行組生成步驟,通過以所述設(shè)備共通組之中具有存在同時(shí)執(zhí)行的可能性的軟件命令的組信息的集合即第2組集合為單位進(jìn)行分組,從而以所述第2組集合為單位而生成放入有所述第2組集合的同時(shí)執(zhí)行組;
組提取步驟,針對(duì)各所述設(shè)備共通組,從所述設(shè)備共通組內(nèi)的同時(shí)執(zhí)行組之中,提取所述軟件命令的執(zhí)行時(shí)間最長(zhǎng)的同時(shí)執(zhí)行組;以及
掃描時(shí)間計(jì)算步驟,基于執(zhí)行了所提取的同時(shí)執(zhí)行組的情況下的所述軟件命令的執(zhí)行時(shí)間,對(duì)將所述梯形圖程序執(zhí)行了一遍的情況下的掃描時(shí)間中的、執(zhí)行時(shí)間最長(zhǎng)的情況下的掃描時(shí)間進(jìn)行計(jì)算。
2.根據(jù)權(quán)利要求1所述的執(zhí)行時(shí)間推定程序,其特征在于,
在所述同時(shí)執(zhí)行組生成步驟中,
使所述計(jì)算機(jī)執(zhí)行下述處理:
基于所述執(zhí)行條件中的第1執(zhí)行條件與所述執(zhí)行條件中的第2執(zhí)行條件之積是否具有解,判斷與所述第1執(zhí)行條件相對(duì)應(yīng)的軟件命令、和與所述第2執(zhí)行條件相對(duì)應(yīng)的軟件命令是否存在同時(shí)執(zhí)行的可能性。
3.根據(jù)權(quán)利要求1或2所述的執(zhí)行時(shí)間推定程序,其特征在于,
在所述共通組生成步驟中,
使所述計(jì)算機(jī)執(zhí)行下述處理:
從所述多個(gè)組信息之中選擇任意1個(gè)組信息;
將所選擇的組信息放入至所述設(shè)備共通組;
基于在所述所選擇的組信息的執(zhí)行條件中包含的設(shè)備,將未進(jìn)行分組的組信息的任意者放入至所述設(shè)備共通組。
4.根據(jù)權(quán)利要求3所述的執(zhí)行時(shí)間推定程序,其特征在于,
在所述共通組生成步驟中,
使所述計(jì)算機(jī)執(zhí)行下述處理:
如果沒有能夠放入至所述設(shè)備共通組之中的組信息,則從所述多個(gè)組信息之中新選擇未進(jìn)行分組的任意1個(gè)組信息;
將新選擇的組信息放入至新的設(shè)備共通組;以及
基于在所述新選擇的組信息的執(zhí)行條件中包含的設(shè)備,將未進(jìn)行分組的組信息的任意者放入至所述新的設(shè)備共通組。
5.根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的執(zhí)行時(shí)間推定程序,其特征在于,
在所述組提取步驟中,
使所述計(jì)算機(jī)執(zhí)行下述處理:
以所述設(shè)備共通組為單位提取所述執(zhí)行時(shí)間最長(zhǎng)的同時(shí)執(zhí)行組,
在所述掃描時(shí)間計(jì)算步驟中,
使所述計(jì)算機(jī)執(zhí)行下述處理:
以所述設(shè)備共通組為單位,計(jì)算所述軟件命令的執(zhí)行時(shí)間;以及
通過將計(jì)算出的各執(zhí)行時(shí)間的合計(jì)時(shí)間與所述梯形圖程序中的由硬件執(zhí)行的硬件命令的執(zhí)行時(shí)間的合計(jì)時(shí)間相加,從而計(jì)算所述執(zhí)行時(shí)間最長(zhǎng)的情況下的掃描時(shí)間。
6.一種執(zhí)行時(shí)間推定裝置,其特征在于,具有:
組合提取部,其將由固件執(zhí)行的軟件命令和該軟件命令的執(zhí)行條件的組從控制器所使用的梯形圖程序中提取多個(gè),作為組信息;
共通組生成部,其通過針對(duì)所提取的多個(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í)間最長(zhǎng)的同時(shí)執(zhí)行組;以及
掃描時(shí)間計(jì)算部,其基于執(zhí)行了所提取的同時(shí)執(zhí)行組的情況下的所述軟件命令的執(zhí)行時(shí)間,對(duì)將所述梯形圖程序執(zhí)行了一遍的情況下的掃描時(shí)間中的、執(zhí)行時(shí)間最長(zhǎng)的情況下的掃描時(shí)間進(jìn)行計(jì)算。