IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 上海宝階智能科技有限公司の特許一覧

特表2022-542488異種埋め込み型の表形式化動作プロセスの処理および実行方法および装置
<>
  • 特表-異種埋め込み型の表形式化動作プロセスの処理および実行方法および装置 図1
  • 特表-異種埋め込み型の表形式化動作プロセスの処理および実行方法および装置 図2
  • 特表-異種埋め込み型の表形式化動作プロセスの処理および実行方法および装置 図3
  • 特表-異種埋め込み型の表形式化動作プロセスの処理および実行方法および装置 図4
  • 特表-異種埋め込み型の表形式化動作プロセスの処理および実行方法および装置 図5
  • 特表-異種埋め込み型の表形式化動作プロセスの処理および実行方法および装置 図6
  • 特表-異種埋め込み型の表形式化動作プロセスの処理および実行方法および装置 図7
  • 特表-異種埋め込み型の表形式化動作プロセスの処理および実行方法および装置 図8
  • 特表-異種埋め込み型の表形式化動作プロセスの処理および実行方法および装置 図9
  • 特表-異種埋め込み型の表形式化動作プロセスの処理および実行方法および装置 図10
  • 特表-異種埋め込み型の表形式化動作プロセスの処理および実行方法および装置 図11
  • 特表-異種埋め込み型の表形式化動作プロセスの処理および実行方法および装置 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-10-03
(54)【発明の名称】異種埋め込み型の表形式化動作プロセスの処理および実行方法および装置
(51)【国際特許分類】
   G05B 19/042 20060101AFI20220926BHJP
   G06F 8/30 20180101ALI20220926BHJP
【FI】
G05B19/042
G06F8/30
【審査請求】有
【予備審査請求】有
(21)【出願番号】P 2022520532
(86)(22)【出願日】2020-09-30
(85)【翻訳文提出日】2022-03-31
(86)【国際出願番号】 CN2020119383
(87)【国際公開番号】W WO2021068840
(87)【国際公開日】2021-04-15
(31)【優先権主張番号】201910949220.1
(32)【優先日】2019-10-08
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】522131309
【氏名又は名称】上海宝階智能科技有限公司
(74)【代理人】
【識別番号】110002561
【氏名又は名称】特許業務法人勝沼国際特許事務所
(72)【発明者】
【氏名】蒋 知峰
【テーマコード(参考)】
5B376
5H220
【Fターム(参考)】
5B376BC12
5B376BC13
5B376BC14
5B376BC31
5B376BC43
5H220AA05
5H220BB12
5H220CC06
5H220CX01
5H220DD08
5H220JJ02
5H220JJ12
5H220JJ26
5H220JJ50
(57)【要約】
【課題】セキュアブートストラッピングを実行するための安全装置及び安全方法を提供する。
【解決手段】異種埋め込み型の表形式化動作プロセスの処理および実行方法および装置であって、表形式化動作プロセス処理方法及び装置によって動作プロセステーブルを作成するステップ(S1)と、動作プロセスステップを順次取得するステップ(S2)と、動作プロセス中の連続するプロセスステップを、所定のプロセスステップ序列組み合わせルールに従って、対応する動作プロセスタイプに対応する少なくとも1つのプロセスステップ序列に組み合わせるステップ(S3)と、動作プロセスタイプを有するプロセスステップ序列に対応する所定の行生成ルールに基づいて、動作プロセステーブルにプロセスステップ序列に対応する動作プロセステーブル行を順次生成するステップ(S4)と、を含み、すべてのプロセスステップの処理が完了し、最終的な動作プロセステーブルを出力するまで、動作プロセステーブルに対する動作プロセス実行方法や装置によって動作プロセステーブルを実行する。本発明の動作プロセスの処理および実行方法および装置により、複雑な動作プロセスの編集、処理、実行がより簡単かつ効率的にできる。
【選択図】図6
【特許請求の範囲】
【請求項1】
複数のプロセスステップを含む動作プロセスの表形式化動作プロセス処理方法であって、
動作プロセステーブルを作成するステップS1と、
前記動作プロセスの前記プロセスステップを順次取得し、前記プロセスステップごとの前記動作プロセスでの対応する動作プロセスタイプを順次判定するステップS2と、
前記動作プロセス中の連続する前記プロセスステップを、所定のプロセスステップ序列組み合わせルールに従って、対応する前記動作プロセスタイプに対応する少なくとも1つのプロセスステップ序列に組み合わせるステップS3と、
前記動作プロセスから前記プロセスステップ序列を順次取得し、前記プロセスステップ序列の前記動作プロセスタイプ、及び当該動作プロセスタイプを有するプロセスステップ序列に対応する所定の行生成ルールに基づいて、前記動作プロセステーブルに前記プロセスステップ序列に対応する動作プロセステーブル行を順次生成するステップS4と、
前記プロセスステップが取得済みか否かを判定し、取得済みでないと判定した場合には前記ステップS2に戻り、取得済みと判定した場合には最終的な前記動作プロセステーブルを所得して出力するステップS5と、
を含み、
前記動作プロセステーブルは、条件列と命令列と、を含み、
前記動作プロセステーブル行ごとに、前記条件列に位置する条件単位と、前記命令列に位置する命令単位とを含み、
前記条件単位は、少なくとも、前記動作プロセスで判定を実行するためのプロセスステップを追加し、且つ同一の前記動作プロセステーブル行の前記命令単位に対応する実行条件として前記プロセスステップを使用するために使用され、
前記命令単位は、前記動作プロセスで動作を実行するための前記プロセスステップを動作命令として追加するために使用されることを特徴とする表形式化動作プロセス処理方法。
【請求項2】
前記動作プロセスタイプは、少なくとも動作命令型動作プロセスを含み、
前記命令型動作プロセスは、少なくとも動作命令としての連続した1つのプロセスステップを含み、前記命令型動作プロセスに対応する前記プロセスステップの組み合わせルールとして、前記命令型動作プロセスにおいて連続する前記プロセスステップを動作命令型プロセスステップ序列として組み合わせ、
前記動作命令型プロセスステップ序列に対応する前記所定の行生成ルールは、
前記動作プロセステーブルに、1つの動作プロセステーブル行を現在の動作プロセステーブル行として順次生成するステップA1と、
前記現在の動作プロセステーブル行の条件単位に真値を実行条件として追加するステップA2と、
対応する前記動作命令型プロセスステップ序列中の前記プロセスステップを順次取得して、前記現在の動作プロセステーブル行の前記指示単位に追加するステップA3と、
を含む請求項1に記載の表形式化動作プロセス処理方法。
【請求項3】
前記動作プロセスタイプは、条件分岐動作プロセスを更に含み、前記条件分岐動作プロセスは、少なくとも1つの分岐動作プロセスと、それぞれの前記分岐動作プロセスに対応し且つ相互排他的な実行条件とを含み、
条件分岐動作プロセスに対するプロセスステップの組み合わせルールは、前記条件分岐動作プロセスにおける前記分岐動作プロセスと、当該分岐動作プロセスに対応する前記実行条件とを、条件分岐型プロセスステップ序列に組み合あわせ、
前記条件分岐型プロセスステップ序列に対応する前記所定の行生成ルールは、
前記条件分岐型プロセスステップ序列に基づいて、前記動作プロセステーブルに該当する動作プロセステーブル行を順次生成するステップB1と、
対応する前記動作プロセステーブル行の前記条件単位に、前記条件分岐型プロセスステップ序列に対応する前記実行条件を追加し、生成された各動作プロセステーブル行の互いの排他関係を設定するステップB2と、
前記条件分岐型プロセスステップの序列に対して、前記分岐動作プロセス中の前記プロセスステップを順次取得し、当該分岐動作プロセス中の前記プロセスステップ毎に対応する動作プロセスタイプを順次判定し、前記条件分岐型プロセスステップ序列中の連続する前記プロセスステップを、所定のプロセスステップ序列組み合わせルールに従って、対応する動作プロセスタイプの少なくとも1つのサブ動作序列にさらに組み合わせるステップB3と、
を含み、
最初のサブ動作ステップ序列が動作命令型プロセスステップ序列の場合、当該サブ動作ステップ序列中の各プロセスステップを動作命令順として該当する前記分岐動作プロセスの前記動作プロセステーブル行の前記命令単位に追加し、
前記サブ動作ステップ序列が条件分岐型プロセスステップ序列の場合、対応する前記分岐動作プロセスに対応するサブ動作プロセステーブルを生成し、前記条件分岐型プロセスステップ序列に対応する前記所定の行生成ルールに基づいて前記サブ動作プロセステーブルに前記サブ動作プロセステーブル行を順次生成し、
前記分岐動作プロセスに対応する前記動作プロセステーブル行の下に階層的に埋め込む請求項2に記載の表形式化動作プロセス処理方法。
【請求項4】
前記動作プロセスタイプは、複数の分岐動作プロセスと、前記分岐動作プロセスを切り替えるための分岐切替命令と、それぞれの前記分岐動作プロセスに対応して互いに排他的な分岐インデックス条件とを含む切替分岐動作プロセスを更に含み、
前記切替分岐動作プロセスに対するプロセスステップの組み合わせルールは、前記切替分岐動作プロセスに含む分岐動作プロセス毎、及びそれに対応する分岐インデックス条件をそれぞれ切替分岐型プロセスステップ序列に組み合わせ、
前記切替分岐型プロセスステップ序列に対応する前記所定の行生成ルールは、
前記分岐切替命令に対応する前記プロセスステップの前に連続する前記プロセスステップが前記動作命令型プロセスステップ序列に属する場合、当該動作命令型プロセスステップ序列に基づいて生成された前記動作プロセステーブル行を現在の動作プロセステーブル行とするステップC1と、
前記分岐切替命令に対応する前記プロセスステップを動作命令として前記現在の動作プロセステーブル行の前記命令単位に追加するステップC2と、
前記現在の動作プロセステーブル行の下に表層的に埋め込み、インデックス列を含み、前記切替分岐型プロセスステップ系列に対応する分岐動作プロセステーブルを作成するステップC3と、
前記分岐動作プロセス毎に、前記分岐動作プロセステーブルに、前記インデックス列にあるインデックス単位を含む分岐動作プロセステーブル行を順次作成し、前記分岐インデックス条件を前記インデックス単位に追加するとともに、前記分岐動作プロセステーブル行の下に階層的に埋め込まれたサブ動作プロセステーブルを作成するステップC4と、
前記サブ動作プロセステーブル毎に、該当する前記分岐動作プロセス中の前記プロセスステップを順次取得し、該当する分岐動作プロセス中の前記プロセスステップ毎に対応する動作プロセスタイプを順次判定し、所定のプロセスステップ順序組み合わせルールに従って、前記分岐動作プロセス中の連続する前記プロセスステップをそれぞれ、該当動作プロセスタイプに対応する少なくとも1つのサブプロセスステップ順序に組み合わせ、 さらに、当該ワークプロセスプロセスステップ序列の種類に対応する所定の行生成ルールに基づいて、前記サブ動作プロセステーブル内に、前記サブプロセスステップ序列に対応する動作プロセステーブル行を順次生成するステップC5と、
を含み、
前記分岐切替指示は、前記ターゲットインデックス変数に基づいて対応する前記分岐インデックス条件を決定し、対応する前記分岐インデックス値を持つインデックス単位を実行する動作プロセステーブル行を切り替える請求項2に記載の表形式化動作プロセス処理方法。
【請求項5】
前記分岐動作プロセステーブルは、切替先列をさらに含み、前記分岐動作プロセステーブル行は、前記切替先列に位置する切替先単位をさらに含み、
前記切替先単位には、前記切替指示として、前記目標インデックス変数の値を設定ための前記プロセスステップが追加されている請求項4に記載の表形式化動作プロセス処理方法。
【請求項6】
前記分岐動作プロセステーブルは、分岐ステータス列をさらに含み、前記動作プロセステーブル行は、前記分岐ステータス列に位置する分岐ステータス単位をさらに含み、
前記分岐ステータス単位には、前記分岐の動作プロセスに対応するステータス変数に値を割り当てるための動作命令が追加されている請求項4に記載の表形式化動作プロセス処理方法。
【請求項7】
前記動作プロセスタイプは循環動作プロセスをさらに含み、前記循環動作プロセスは、実行条件及び循環サブプロセスを含み、
前記動作プロセステーブルは、循環ステータス列をさらに含み、前記動作プロセステーブル行には、前記循環ステータス列に位置する循環ステータス単位が含まれ、
循環動作プロセスに対するプロセスステップの組み合わせルールは、前記循環動作プロセスの実行条件及び循環サブプロセスを循環動作プロセスステップ序列に組み合わせ、
前記循環動作プロセスステップ序列に対応する前記所定の行生成ルールは、
前記動作プロセステーブルに現在の動作プロセステーブル行として1つの動作プロセステーブル行を順次生成するステップD1と、
前記現在のプロセスステップを実行条件として前記現在の動作プロセステーブル行の前記条件単位に追加し、前記循環ステータス単位に循環実行ステータスを追加するステップD2と、
前記循環サブプロセス中の前記プロセスステップを順次取得し、前記循環サブプロセス中の前記プロセスステップ毎に対応する動作プロセスタイプを順次判定し、前記循環動作プロセスステップ序列中の連続する前記プロセスステップを、所定のプロセスステップ序列組み合わせルールに従って、対応する前記動作プロセスタイプに対応するサブプロセスステップ序列にさらに組み合わせるステップD3と、
を含み、
最初のサブプロセスステップの序列が動作命令型プロセスステップ序列であり、当該サブプロセスステップの序列中の各プロセスステップを、対応する前記分岐動作プロセスの前記動作プロセステーブル行の前記命令単位に動作命令順として追加し、
前記分割プロセスステップ序列が条件分岐型プロセスステップ序列であり、対応する前記分岐動作プロセスに対応するサブ動作プロセステーブルを生成し、前記条件分岐型プロセスステップ序列に対応する前記予定行生成ルールに基づいて前記サブ動作プロセステーブルに前記サブ動作プロセステーブル行を順次生成し、
前記サブ動作プロセスは、前記分岐動作プロセスに対応する前記動作プロセステーブル行の下に表層的に埋め込まれている請求項2に記載の表形式化動作プロセス処理方法。
【請求項8】
表形式化動作プロセス処理方法によって得られた動作プロセステーブルに基づいて動作プロセスを実行する動作プロセステーブル実行方法であって、
動作プロセステーブルを作成するステップS1と、
前記動作プロセスの前記プロセスステップを順次取得し、前記プロセスステップ毎に前記動作プロセスで対応する動作プロセスタイプを順次判定するステップS2と、
前記動作プロセス中の連続する前記プロセスステップを、所定のプロセスステップ順序組み合わせルールに従って、対応する前記動作プロセスタイプに対応する少なくとも1つのプロセスステップ順序に組み合わせるステップS3と、
前記動作プロセスから前記プロセスステップ序列を順次取得し、前記プロセスステップ序列の前記動作プロセスタイプに基づいて、当該動作プロセスタイプを有するプロセスステップ序列に対応する所定の行生成ルールに基づいて、前記動作プロセステーブルに前記プロセスステップ序列に対応する動作プロセステーブル行を順次生成するステップS4と、
前記プロセスステップが取得済みか否かを判定し、取得済みと判定した場合には前記ステップS2に戻り、取得済みでないと判定した場合には最終的な前記動作プロセステーブルを得て出力するステップS5と、
を含み、
前記動作プロセステーブルは、条件列及び命令列を含み、
各前記動作プロセステーブル行は、前記条件列に位置する条件単位と、前記命令列に位置する命令単位とを含み、
前記条件単位のうち、少なくとも前記動作プロセスで実行する判定の前記プロセスステップを追加し、当該プロセスステップを同一の前記動作プロセステーブル行における前記指示単位に対応する実行条件とし、
前記命令単位には、前記動作プロセスで実行する動作の前記プロセスステップが動作命令として追加されており、
前記動作プロセステーブルに対する動作プロセス実行方法は、
前記動作プロセステーブルから現在の動作プロセステーブル行として動作プロセステーブル行を順次取得するステップS11と、
前記現在の動作プロセステーブル行の条件単位の実行条件が真値であるか否かを判定し、そうでないと判定すればステップS11に戻るステップS12と、
前記現在の動作プロセステーブル行の命令単位における動作命令を取得する実行するステップS13と、
前記動作プロセステーブル中の全ての前記プロセスステップが実行済みか否かを判定し、そうでないと判定した場合には前記ステップS11に戻り、そうであると判定した場合には前記動作プロセスが実行済みとするステップS14と、
を含む動作プロセスを実行する動作プロセステーブル実行方法。
【請求項9】
前記動作プロセスタイプは、すくなくとも動作命令型動作プロセス及び条件分岐動作プロセスを含み、前記条件分岐動作プロセスは、少なくとも1つの分岐動作プロセスと、それぞれの前記分岐動作プロセスに対応し且つ相互排他的な実行条件とを含み、
条件分岐動作プロセスに対するプロセスステップの組み合わせルールは、前記条件分岐動作プロセスにおける前記分岐動作プロセス及び当該分岐動作プロセスに対応する前記実行条件を条件分岐型プロセスステップ序列に組み合わせ、
前記条件分岐型プロセスステップ序列に対応する前記所定の行生成ルールは、
前記条件分岐型プロセスステップ序列に基づいて、前記動作プロセステーブルに該当する動作プロセステーブル行を順次生成するステップB1と、
前記条件分岐型プロセスステップ序列に対応する前記実行条件を対応する前記動作プロセステーブル行の前記条件単位に追加し、生成された各動作プロセステーブル行の排他関係を設定するステップB2と、
前記条件分岐型プロセスステップの序列について、前記分岐動作プロセス中の前記プロセスステップを順次取得し、各プロセスステップ毎に対応する動作プロセスタイプを順次判定し、所定のプロセスステップ順序組み合わせルールに従って、前記条件分岐型プロセスステップ順序中の連続する前記プロセスステップを、対応する動作プロセスタイプを少なくとも1つ持つサブ動作にさらに組み合わせるステップB3と、
最初のサブ動作ステップ序列が動作命令型プロセスステップ序列の場合、当該サブ動作ステップ序列中の各プロセスステップを動作命令順として該当する前記分岐動作プロセスの前記動作プロセステーブル行の前記命令単位に追加し、
前記サブ動作ステップ序列が条件分岐型プロセスステップ序列の場合、対応する前記分岐動作プロセスに対応するサブ動作プロセステーブルを生成し、前記条件分岐型プロセスステップ序列に対応する前記所定の行生成ルールに基づいて前記サブ動作プロセステーブルに前記サブ動作プロセステーブル行を順次生成し、
前記分岐動作プロセスに対応する前記動作プロセステーブル行の下に階層的に埋め込み、
動作プロセステーブルに対する動作プロセスを実行する方法は、
前記動作プロセステーブルから現在の動作プロセステーブル行として動作プロセステーブル行を順次取得するステップB11と、
前記現在の動作プロセステーブル行の条件単位の実行条件が真値であるか否かを判定し、そうでないと判定した場合はステップB11に戻るステップB12と、
前記現在の動作プロセステーブル行の命令単位における動作命令を取得する実行するステップB13と、
前記現在の動作プロセステーブル行の下に埋め込む前記サブ動作プロセステーブルがあるか否かを判定し、あると判定した場合には、前記サブ動作プロセステーブルが実行されるまで前記サブ動作プロセステーブルを実行するステップB14と、
前記動作プロセステーブル中の全ての前記プロセスステップが実行するか否かを判定し、そうでないと判定すると、前記現在の動作プロセステーブル行の条件単位中の前記実行条件と非排他関係にある次の動作プロセステーブル行を現在の動作プロセステーブル行として取得する前記ステップB12に戻り、そうであると判定すると、前記動作プロセスが実行済みとするステップB15と、
を含む請求項8に記載の動作プロセスを実行する動作プロセステーブル実行方法。
【請求項10】
前記動作プロセスタイプは、複数の分岐動作プロセスと、をさらに含み、前記切替分岐動作プロセスは、前記分岐動作プロセスを切り替えるための分岐切替命令と、それぞれの前記分岐動作プロセスに対応する相互排他の分岐インデックス条件と、をさらに含み、
前記切替分岐動作プロセスに対するプロセスステップの組み合わせルールは、前記切替分岐動作プロセスに含む分岐動作プロセス毎及びそれに対応する分岐インデックス条件をそれぞれ切替分岐型プロセスステップ序列に組み合わせ、
前記切替分岐型プロセスステップ序列に対応する前記所定の行生成ルールは、
前記分岐切替命令に対応する前記プロセスステップの前に連続する前記プロセスステップが前記動作命令型プロセスステップ序列に属する場合、当該動作命令型プロセスステップ序列に基づいて生成された前記動作プロセステーブル行を現在の動作プロセステーブル行とするステップC1と、
前記分岐切替命令に対応する前記プロセスステップを動作命令として前記現在の動作プロセステーブル行の前記命令単位に追加するステップC2と、
前記現在の動作プロセステーブル行の下に表層的に埋め込む、インデックス列を含み、前記切替分岐型プロセスステップ系列に対応する分岐動作プロセステーブルを作成するステップC3と、
前記分岐動作プロセス毎に、前記分岐動作プロセステーブルに、前記インデックス列にあるインデックス単位を含む分岐動作プロセステーブル行を順次作成し、前記分岐インデックス条件を前記インデックス単位に追加するとともに、前記分岐動作プロセステーブル行の下に階層的に埋め込まれたサブ動作プロセステーブルを作成するステップC4と、
前記サブ動作プロセステーブル毎に、該当する前記分岐動作プロセス中の前記プロセスステップを順次取得し、該当する分岐動作プロセス中の前記プロセスステップ毎に対応する動作プロセスタイプを順次判定し、所定のプロセスステップ順序組み合わせルールに従って、前記分岐動作プロセス中の連続する前記プロセスステップをそれぞれ、該当動作プロセスタイプに対応する少なくとも1つのサブプロセスステップ順序に組み合わせ、さらに、当該ワークプロセスプロセスステップ序列の種類に対応する所定の行生成ルールに基づいて、前記サブ動作プロセステーブル内に、前記サブプロセスステップ序列に対応する動作プロセステーブル行を順次生成するステップC5と、
含み、
前記分岐切替指示は、前記ターゲットインデックス変数に基づいて対応する前記分岐インデックス条件を決定し、対応する前記分岐インデックス値を持つインデックス単位を実行する動作プロセステーブル行を切り替えるためのものであり、
前記動作プロセステーブルに対する動作プロセスを実行する方法は、
前記動作プロセステーブルから現在の動作プロセステーブル行として動作プロセステーブル行を順次取得するステップC11と、
前記現在の動作プロセステーブル行の条件単位の実行条件が真値であるか否かを判定し、そうでないと判定した場合はステップC11に戻るステップC12と、
前記現在動作プロセステーブル行の命令単位における動作命令が分岐切替命令であるか否かを取得する判定し、前記現在動作プロセステーブル行の下に埋め込まれた前記分岐切替命令に対応する前記分岐動作プロセステーブルを取得し、当該分岐動作プロセステーブル行から前記インデックス単位の分岐インデックス値と前記目的インデックス変数の値とが一致する分岐動作プロセステーブル行を取得し、さらに当該分岐動作プロセステーブル行の下に埋め込む前記サブ動作プロセステーブルの先頭を取得するステップC13と、
前記現在の動作プロセステーブル行の下に埋め込む前記分岐動作プロセステーブルがあるか否かを判定し、あると判定した場合、前記分岐動作プロセステーブルが実行されるまで前記分岐動作プロセステーブルを実行するステップC14と、
前記動作プロセステーブル中の全ての前記プロセスステップが実行するか否かを判定し、そうでないと判定すると、前記現在の動作プロセステーブル行の条件単位中の前記実行条件と非排他関係にある次の動作プロセステーブル行を現在の動作プロセステーブル行として取得する前記ステップC12に戻り、そうであると判定すると、前記動作プロセスが実行済みとするステップC15と、
を含む請求項8に記載の動作プロセスを実行する動作プロセステーブル実行方法。
【請求項11】
前記分岐動作プロセステーブルは、切替先列をさらに含み、前記分岐動作プロセステーブル行は、前記切替先列に位置する切替先単位をさらに含み、
切替先単位には、前記目標インデックス変数の値を設定ための前記プロセスステップを切替指示として追加されており、
動作プロセステーブルに対する動作プロセスを実行する方法は、前記ステップC13で、前記切替先単位の前記切替命令も取得して実行することを含む請求項10に記載の動作プロセスを実行する動作プロセステーブル実行方法。
【請求項12】
前記分岐動作プロセステーブルは、分岐ステータス列をさらに含み、前記動作プロセステーブル行は、前記分岐ステータス列に位置する分岐ステータス単位をさらに含み、
前記分岐ステータス単位には、前記分岐の動作プロセスに対応するステータス変数に値を割り当てるための動作命令が追加されており、
前記ステップC13では、前記インデックス単位の分岐インデックス値と前記目的インデックス変数の値とが一致する分岐動作プロセステーブル行を取得する際に、前記分岐ステータス単位における前記動作命令も取得し、前記ステータス変数に値を割り当てる請求項10に記載の動作プロセスを実行する動作プロセステーブル実行方法。
【請求項13】
前記動作プロセスタイプは更に循環動作プロセスを含み、前記循環動作プロセスは実行条件及び循環サブプロセスを含み、
前記動作プロセステーブルは、さらに循環ステータス列を含み、前記動作プロセステーブル行には、前記循環ステータス列に位置する循環ステータス単位が含まれ、
循環動作プロセスに対するプロセスステップの組み合わせルールは、前記循環動作プロセスの実行条件及び循環サブプロセスを循環動作プロセスステップ序列に組み合わせ、
前記循環動作プロセスステップ序列に対応する前記所定の行生成ルールは、
前記動作プロセステーブルに現在の動作プロセステーブル行として1つの動作プロセステーブル行を順次生成するステップD1と、
前記現在のプロセスステップを実行条件として前記現在の動作プロセステーブル行の前記条件単位に追加し、前記循環ステータス単位に循環実行ステータスを追加するステップD2と、
前記循環サブプロセス中の前記プロセスステップを順次取得し、前記循環サブプロセス中の前記プロセスステップ毎に対応する動作プロセスタイプを順次判定し、前記循環動作プロセスステップ序列中の連続する前記プロセスステップを、所定のプロセスステップ序列組み合わせルールに従って、対応する前記動作プロセスタイプに対応するサブプロセスステップ序列にさらに組み合わせるステップD3と、
をさらに含み
最初のサブプロセスステップの序列が動作命令型プロセスステップ序列であり、当該サブプロセスステップの序列中の各プロセスステップを、対応する前記分岐動作プロセスの前記動作プロセステーブル行の前記命令単位に動作命令順として追加し、
前記分割プロセスステップ序列が条件分岐型プロセスステップ序列であり、対応する前記分岐動作プロセスに対応するサブ動作プロセステーブルを生成し、前記条件分岐型プロセスステップ序列に対応する前記予定行生成ルールに基づいて前記サブ動作プロセステーブルに前記サブ動作プロセステーブル行を順次生成し、
前記サブ動作プロセスは、前記分岐動作プロセスに対応する前記動作プロセステーブル行の下に表層的に埋め込むており、
前記動作プロセステーブルに対する動作プロセス実行方法は、
前記動作プロセステーブルから現在の動作プロセステーブル行として動作プロセステーブル行を順次取得するステップD11と、
前記現在の動作プロセステーブル行の条件単位の実行条件が真値であるか否かを判定し、真値でないと判定されるとステップD11に戻るステップD12と、
前記現在の動作プロセステーブル行の命令単位における動作命令を取得する実行するステップD13と、
前記現在の動作プロセステーブル行の下に埋め込む前記サブ動作プロセステーブルがあるか否かを判定し、あると判定した場合には、前記サブ動作プロセステーブルが実行されるまで前記サブ動作プロセステーブルを実行するステップD14と、
前記現在の動作プロセステーブル行の前記循環ステータス単位に循環実行ステータスがあるか否かを判定し、あれば前記ステップD12に戻って前記現在の動作プロセステーブル行を繰り返す実行するステップD15と、
前記動作プロセステーブル中の全ての前記プロセスステップが実行済みか否かを判定し、そうでないと判定すると、前記現在の動作プロセステーブル行の条件単位中の前記実行条件と非排他関係にある次の動作プロセステーブル行を現在の動作プロセステーブル行として取得する前記ステップD12に戻り、そうであると判定すると、前記動作プロセスの実行を終了するステップD16と、
をさらに含む請求項8に記載の動作プロセスを実行する動作プロセステーブル実行方法。
【請求項14】
コンピュータプログラムを記憶するメモリと、
前記コンピュータプログラムを実行する際に、請求項1~7のいずれか一項に記載の表形式化動作プロセス処理方法を実現するプロセッサーと、
を備える表形式化動作プロセス処理装置。
【請求項15】
コンピュータプログラムを記憶するメモリと、
前記コンピュータプログラムを実行する際に、請求項8~11のいずれか一項に記載の動作プロセスを実行する動作プロセステーブル実行方法を実現するプロセッサーと、
を備える表形式化動作プロセス処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は自動制御の分野に属し、特に異種埋め込み型の表形式化動作プロセスの処理および実行方法および装置に関する。
【背景技術】
【0002】
従来、自動制御の分野では、通常、Basic、Pascal、Cなどのテキストベースのプログラムコードを用いて動作プロセスを作成・実行し、自動制御を実現する。
【0003】
しかし、複雑な動作プロセスに対して、プログラムコード量は非常に多く、プログラム構造は非常に複雑で、可読性が悪い。また、従来のテキストベースのプログラムは作成時の入力作業量が多いだけでなく、プログラムの解析や実行時にまず大量のテキストベースの文法命令を解析処理する必要がある。例えば、IF、THEN、ELSIF、else、END_IFなど; このプロセスはコンピュータのリソースを消費し、動作プロセスの解析や実行のパフォーマンスに影響を与えてしまう場合がある。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明の目的は、複雑な動作プロセスの作成および/または処理をより簡潔かつ効率的にする異種組込み型の表形式化動作プロセスの処理および実行方法および装置を提供することにある。
【課題を解決するための手段】
【0005】
本発明の表形式化動作プロセス処理方法は、複数のプロセスステップを含む動作プロセスの表形式化動作プロセス処理方法であって、動作プロセステーブルを作成するステップS1と、前記動作プロセスの前記プロセスステップを順次取得し、前記プロセスステップごとの前記動作プロセスでの対応する動作プロセスタイプを順次判定するステップS2と、前記動作プロセス中の連続する前記プロセスステップを、所定のプロセスステップ序列組み合わせルールに従って、対応する前記動作プロセスタイプに対応する少なくとも1つのプロセスステップ序列に組み合わせるステップS3と、前記動作プロセスから前記プロセスステップ序列を順次取得し、前記プロセスステップ序列の前記動作プロセスタイプ、及び当該動作プロセスタイプを有するプロセスステップ序列に対応する所定の行生成ルールに基づいて、前記動作プロセステーブルに前記プロセスステップ序列に対応する動作プロセステーブル行を順次生成するステップS4と、前記プロセスステップが取得済みか否かを判定し、取得済みでないと判定した場合には前記ステップS2に戻り、取得済みと判定した場合には最終的な前記動作プロセステーブルを所得して出力するステップS5と、を含み、前記動作プロセステーブルは、条件列と命令列と、を含み、前記動作プロセステーブル行ごとに、前記条件列に位置する条件単位と、前記命令列に位置する命令単位とを含み、前記条件単位は、少なくとも、前記動作プロセスで判定を実行するためのプロセスステップを追加し、且つ同一の前記動作プロセステーブル行の前記命令単位に対応する実行条件として前記プロセスステップを使用するために使用され、前記命令単位は、前記動作プロセスで動作を実行するための前記プロセスステップを動作命令として追加するために使用されることを特徴とする。
【0006】
また、本発明の表形式化動作プロセス処理方法において、前記動作プロセスタイプは、少なくとも動作命令型動作プロセスを含み、前記命令型動作プロセスは、少なくとも動作命令としての連続した1つのプロセスステップを含み、前記命令型動作プロセスに対応する前記プロセスステップの組み合わせルールとして、前記命令型動作プロセスにおいて連続する前記プロセスステップを動作命令型プロセスステップ序列として組み合わせ、前記動作命令型プロセスステップ序列に対応する前記所定の行生成ルールは、前記動作プロセステーブルに、1つの動作プロセステーブル行を現在の動作プロセステーブル行として順次生成するステップA1と、前記現在の動作プロセステーブル行の条件単位に真値を実行条件として追加するステップA2と、対応する前記動作命令型プロセスステップ序列中の前記プロセスステップを順次取得して、前記現在の動作プロセステーブル行の前記指示単位に追加するステップA3と、を含んでもよい。
【0007】
また、本発明の表形式化動作プロセス処理方法において、前記動作プロセスタイプは、条件分岐動作プロセスを更に含み、前記条件分岐動作プロセスは、少なくとも1つの分岐動作プロセスと、それぞれの前記分岐動作プロセスに対応し且つ相互排他的な実行条件とを含み、条件分岐動作プロセスに対するプロセスステップの組み合わせルールは、前記条件分岐動作プロセスにおける前記分岐動作プロセスと、当該分岐動作プロセスに対応する前記実行条件とを、条件分岐型プロセスステップ序列に組み合あわせ、前記条件分岐型プロセスステップ序列に対応する前記所定の行生成ルールは、前記条件分岐型プロセスステップ序列に基づいて、前記動作プロセステーブルに該当する動作プロセステーブル行を順次生成するステップB1と、対応する前記動作プロセステーブル行の前記条件単位に、前記条件分岐型プロセスステップ序列に対応する前記実行条件を追加し、生成された各動作プロセステーブル行の互いの排他関係を設定するステップB2と、前記条件分岐型プロセスステップの序列に対して、前記分岐動作プロセス中の前記プロセスステップを順次取得し、当該分岐動作プロセス中の前記プロセスステップ毎に対応する動作プロセスタイプを順次判定し、前記条件分岐型プロセスステップ序列中の連続する前記プロセスステップを、所定のプロセスステップ序列組み合わせルールに従って、対応する動作プロセスタイプの少なくとも1つのサブ動作序列にさらに組み合わせるステップB3と、を含み、最初のサブ動作ステップ序列が動作命令型プロセスステップ序列の場合、当該サブ動作ステップ序列中の各プロセスステップを動作命令順として該当する前記分岐動作プロセスの前記動作プロセステーブル行の前記命令単位に追加し、前記サブ動作ステップ序列が条件分岐型プロセスステップ序列の場合、対応する前記分岐動作プロセスに対応するサブ動作プロセステーブルを生成し、前記条件分岐型プロセスステップ序列に対応する前記所定の行生成ルールに基づいて前記サブ動作プロセステーブルに前記サブ動作プロセステーブル行を順次生成し、前記分岐動作プロセスに対応する前記動作プロセステーブル行の下に階層的に埋め込んでもよい。
【0008】
また、本発明の表形式化動作プロセス処理方法において、前記動作プロセスタイプは、複数の分岐動作プロセスと、前記分岐動作プロセスを切り替えるための分岐切替命令と、それぞれの前記分岐動作プロセスに対応して互いに排他的な分岐インデックス条件とを含む切替分岐動作プロセスを更に含み、前記切替分岐動作プロセスに対するプロセスステップの組み合わせルールは、前記切替分岐動作プロセスに含む分岐動作プロセス毎、及びそれに対応する分岐インデックス条件をそれぞれ切替分岐型プロセスステップ序列に組み合わせ、前記切替分岐型プロセスステップ序列に対応する前記所定の行生成ルールは、前記分岐切替命令に対応する前記プロセスステップの前に連続する前記プロセスステップが前記動作命令型プロセスステップ序列に属する場合、当該動作命令型プロセスステップ序列に基づいて生成された前記動作プロセステーブル行を現在の動作プロセステーブル行とするステップC1と、前記分岐切替命令に対応する前記プロセスステップを動作命令として前記現在の動作プロセステーブル行の前記命令単位に追加するステップC2と、前記現在の動作プロセステーブル行の下に表層的に埋め込み、インデックス列を含み、前記切替分岐型プロセスステップ系列に対応する分岐動作プロセステーブルを作成するステップC3と、前記分岐動作プロセス毎に、前記分岐動作プロセステーブルに、前記インデックス列にあるインデックス単位を含む分岐動作プロセステーブル行を順次作成し、前記分岐インデックス条件を前記インデックス単位に追加するとともに、前記分岐動作プロセステーブル行の下に階層的に埋め込まれたサブ動作プロセステーブルを作成するステップC4と、前記サブ動作プロセステーブル毎に、該当する前記分岐動作プロセス中の前記プロセスステップを順次取得し、該当する分岐動作プロセス中の前記プロセスステップ毎に対応する動作プロセスタイプを順次判定し、所定のプロセスステップ順序組み合わせルールに従って、前記分岐動作プロセス中の連続する前記プロセスステップをそれぞれ、該当動作プロセスタイプに対応する少なくとも1つのサブプロセスステップ順序に組み合わせ、 さらに、当該ワークプロセスステップ序列の種類に対応する所定の行生成ルールに基づいて、前記サブ動作プロセステーブル内に、前記サブプロセスステップ序列に対応する動作プロセステーブル行を順次生成するステップC5と、を含み、前記分岐切替指示は、前記ターゲットインデックス変数に基づいて対応する前記分岐インデックス条件を決定し、対応する前記分岐インデックス値を持つインデックス単位を実行する動作プロセステーブル行を切り替えてもよい。
【0009】
また、本発明の表形式化動作プロセス処理方法において、前記分岐動作プロセステーブルは、切替先列をさらに含み、前記分岐動作プロセステーブル行は、前記切替先列に位置する切替先単位をさらに含み、前記切替先単位には、前記切替指示として、前記目標インデックス変数の値を設定ための前記プロセスステップが追加されてもよい。
【0010】
また、本発明の表形式化動作プロセスの処理方法において、前記分岐動作プロセステーブルは、分岐ステータス列をさらに含み、前記動作プロセステーブル行は、前記分岐ステータス列に位置する分岐ステータス単位をさらに含み、前記分岐ステータス単位には、前記分岐の動作プロセスに対応するステータス変数に値を割り当てるための動作命令が追加されてもよい。
【0011】
また、本発明の表形式化動作プロセス処理方法において、前記動作プロセスタイプは循環動作プロセスをさらに含み、前記循環動作プロセスは、実行条件及び循環サブプロセスを含み、前記動作プロセステーブルは、循環ステータス列をさらに含み、前記動作プロセステーブル行には、前記循環ステータス列に位置する循環ステータス単位が含まれ、循環動作プロセスに対するプロセスステップの組み合わせルールは、前記循環動作プロセスの実行条件及び循環サブプロセスを循環動作プロセスステップ序列に組み合わせ、前記循環動作プロセスステップ序列に対応する前記所定の行生成ルールは、前記動作プロセステーブルに現在の動作プロセステーブル行として1つの動作プロセステーブル行を順次生成するステップD1と、前記現在のプロセスステップを実行条件として前記現在の動作プロセステーブル行の前記条件単位に追加し、前記循環ステータス単位に循環実行ステータスを追加するステップD2と、前記循環サブプロセス中の前記プロセスステップを順次取得し、前記循環サブプロセス中の前記プロセスステップ毎に対応する動作プロセスタイプを順次判定し、前記循環動作プロセスステップ序列中の連続する前記プロセスステップを、所定のプロセスステップ序列組み合わせルールに従って、対応する前記動作プロセスタイプに対応するサブプロセスステップ序列にさらに組み合わせるステップD3と、を含み、最初のサブプロセスステップの序列が動作命令型プロセスステップ序列であり、当該サブプロセスステップの序列中の各プロセスステップを、対応する前記分岐動作プロセスの前記動作プロセステーブル行の前記命令単位に動作命令順として追加し、前記分割プロセスステップ序列が条件分岐型プロセスステップ序列であり、対応する前記分岐動作プロセスに対応するサブ動作プロセステーブルを生成し、前記条件分岐型プロセスステップ序列に対応する前記予定行生成ルールに基づいて前記サブ動作プロセステーブルに前記サブ動作プロセステーブル行を順次生成し、前記サブ動作プロセスは、前記分岐動作プロセスに対応する前記動作プロセステーブル行の下に表層的に埋め込まれてもよい。
【0012】
また、本発明の動作プロセステーブル実行方法は、動作プロセステーブル実行方法の表形式化動作プロセス処理方法によって得られた動作プロセステーブルに基づいて動作プロセスを実行する動作プロセステーブル実行方法であって、動作プロセステーブルを作成するステップS1と、前記動作プロセスの前記プロセスステップを順次取得し、前記プロセスステップ毎に前記動作プロセスで対応する動作プロセスタイプを順次判定するステップS2と、前記動作プロセス中の連続する前記プロセスステップを、所定のプロセスステップ順序組み合わせルールに従って、対応する前記動作プロセスタイプに対応する少なくとも1つのプロセスステップ順序に組み合わせるステップS3と、前記動作プロセスから前記プロセスステップ序列を順次取得し、前記プロセスステップ序列の前記動作プロセスタイプに基づいて、当該動作プロセスタイプを有するプロセスステップ序列に対応する所定の行生成ルールに基づいて、前記動作プロセステーブルに前記プロセスステップ序列に対応する動作プロセステーブル行を順次生成するステップS4と、前記プロセスステップが取得済みか否かを判定し、取得済みと判定した場合には前記ステップS2に戻り、取得済みでないと判定した場合には最終的な前記動作プロセステーブルを得て出力するステップS5と、を含み、前記動作プロセステーブルは、条件列及び命令列を含み、各前記動作プロセステーブル行は、前記条件列に位置する条件単位と、前記命令列に位置する命令単位とを含み、前記条件単位のうち、少なくとも前記動作プロセスで実行する判定の前記プロセスステップを追加し、当該プロセスステップを同一の前記動作プロセステーブル行における前記指示単位に対応する実行条件とし、前記命令単位には、前記動作プロセスで実行する動作の前記プロセスステップが動作命令として追加されており、前記動作プロセステーブルに対する動作プロセス実行方法は、前記動作プロセステーブルから現在の動作プロセステーブル行として動作プロセステーブル行を順次取得するステップS11と、前記現在の動作プロセステーブル行の条件単位の実行条件が真値であるか否かを判定し、そうでないと判定すればステップS11に戻るステップS12と、前記現在の動作プロセステーブル行の命令単位における動作命令を取得する実行するステップS13と、前記動作プロセステーブル中の全ての前記プロセスステップが実行済みか否かを判定し、そうでないと判定した場合には前記ステップS11に戻り、そうであると判定した場合には前記動作プロセスが実行済みとするステップS14と、を含むことを特徴とする。
【0013】
また、本発明の動作プロセステーブル実行方法において、前記動作プロセスタイプは、すくなくとも動作命令型動作プロセス及び条件分岐動作プロセスを含み、前記条件分岐動作プロセスは、少なくとも1つの分岐動作プロセスと、それぞれの前記分岐動作プロセスに対応し且つ相互排他的な実行条件とを含み、条件分岐動作プロセスに対するプロセスステップの組み合わせルールは、前記条件分岐動作プロセスにおける前記分岐動作プロセス及び当該分岐動作プロセスに対応する前記実行条件を条件分岐型プロセスステップ序列に組み合わせ、前記条件分岐型プロセスステップ序列に対応する前記所定の行生成ルールは、前記条件分岐型プロセスステップ序列に基づいて、前記動作プロセステーブルに該当する動作プロセステーブル行を順次生成するステップB1と、前記条件分岐型プロセスステップ序列に対応する前記実行条件を対応する前記動作プロセステーブル行の前記条件単位に追加し、生成された各動作プロセステーブル行の排他関係を設定するステップB2と、前記条件分岐型プロセスステップの序列について、前記分岐動作プロセス中の前記プロセスステップを順次取得し、各プロセスステップ毎に対応する動作プロセスタイプを順次判定し、所定のプロセスステップ順序組み合わせルールに従って、前記条件分岐型プロセスステップ順序中の連続する前記プロセスステップを、対応する動作プロセスタイプを少なくとも1つ持つサブ動作にさらに組み合わせるステップB3と、最初のサブ動作ステップ序列が動作命令型プロセスステップ序列の場合、当該サブ動作ステップ序列中の各プロセスステップを動作命令順として該当する前記分岐動作プロセスの前記動作プロセステーブル行の前記命令単位に追加し、前記サブ動作ステップ序列が条件分岐型プロセスステップ序列の場合、対応する前記分岐動作プロセスに対応するサブ動作プロセステーブルを生成し、前記条件分岐型プロセスステップ序列に対応する前記所定の行生成ルールに基づいて前記サブ動作プロセステーブルに前記サブ動作プロセステーブル行を順次生成し、前記分岐動作プロセスに対応する前記動作プロセステーブル行の下に階層的に埋め込む、を含み、動作プロセステーブルに対する動作プロセスを実行する方法は、前記動作プロセステーブルから現在の動作プロセステーブル行として動作プロセステーブル行を順次取得するステップB11と、前記現在の動作プロセステーブル行の条件単位の実行条件が真値であるか否かを判定し、そうでないと判定した場合はステップB11に戻るステップB12と、前記現在の動作プロセステーブル行の命令単位における動作命令を取得する実行するステップB13と、前記現在の動作プロセステーブル行の下に埋め込む前記サブ動作プロセステーブルがあるか否かを判定し、あると判定した場合には、前記サブ動作プロセステーブルが実行されるまで前記サブ動作プロセステーブルを実行するステップB14と、前記動作プロセステーブル中の全ての前記プロセスステップが実行するか否かを判定し、そうでないと判定すると、前記現在の動作プロセステーブル行の条件単位中の前記実行条件と非排他関係にある次の動作プロセステーブル行を現在の動作プロセステーブル行として取得する前記ステップB12に戻り、そうであると判定すると、前記動作プロセスが実行済みとするステップB15と、を含んでもよい。
【0014】
また、本発明の動作プロセステーブル実行方法において、前記動作プロセスタイプは、複数の分岐動作プロセスと、をさらに含み、前記切替分岐動作プロセスは、前記分岐動作プロセスを切り替えるための分岐切替命令と、それぞれの前記分岐動作プロセスに対応する相互排他の分岐インデックス条件と、をさらに含み、前記切替分岐動作プロセスに対するプロセスステップの組み合わせルールは、前記切替分岐動作プロセスに含む分岐動作プロセス毎及びそれに対応する分岐インデックス条件をそれぞれ切替分岐型プロセスステップ序列に組み合わせ、前記切替分岐型プロセスステップ序列に対応する前記所定の行生成ルールは、前記分岐切替命令に対応する前記プロセスステップの前に連続する前記プロセスステップが前記動作命令型プロセスステップ序列に属する場合、当該動作命令型プロセスステップ序列に基づいて生成された前記動作プロセステーブル行を現在の動作プロセステーブル行とするステップC1と、前記分岐切替命令に対応する前記プロセスステップを動作命令として前記現在の動作プロセステーブル行の前記命令単位に追加するステップC2と、前記現在の動作プロセステーブル行の下に表層的に埋め込む、インデックス列を含み、前記切替分岐型プロセスステップ系列に対応する分岐動作プロセステーブルを作成するステップC3と、前記分岐動作プロセス毎に、前記分岐動作プロセステーブルに、前記インデックス列にあるインデックス単位を含む分岐動作プロセステーブル行を順次作成し、前記分岐インデックス条件を前記インデックス単位に追加するとともに、前記分岐動作プロセステーブル行の下に階層的に埋め込まれたサブ動作プロセステーブルを作成するステップC4と、前記サブ動作プロセステーブル毎に、該当する前記分岐動作プロセス中の前記プロセスステップを順次取得し、該当する分岐動作プロセス中の前記プロセスステップ毎に対応する動作プロセスタイプを順次判定し、所定のプロセスステップ順序組み合わせルールに従って、前記分岐動作プロセス中の連続する前記プロセスステップをそれぞれ、該当動作プロセスタイプに対応する少なくとも1つのサブプロセスステップ順序に組み合わせ、さらに、当該ワークプロセスステップ序列の種類に対応する所定の行生成ルールに基づいて、前記サブ動作プロセステーブル内に、前記サブプロセスステップ序列に対応する動作プロセステーブル行を順次生成するステップC5と、含み、前記分岐切替指示は、前記ターゲットインデックス変数に基づいて対応する前記分岐インデックス条件を決定し、対応する前記分岐インデックス値を持つインデックス単位を実行する動作プロセステーブル行を切り替えるためのものであり、前記動作プロセステーブルに対する動作プロセスを実行する方法は、前記動作プロセステーブルから現在の動作プロセステーブル行として動作プロセステーブル行を順次取得するステップC11と、前記現在の動作プロセステーブル行の条件単位の実行条件が真値であるか否かを判定し、そうでないと判定した場合はステップC11に戻るステップC12と、前記現在動作プロセステーブル行の命令単位における動作命令が分岐切替命令であるか否かを取得する判定し、前記現在動作プロセステーブル行の下に埋め込まれた前記分岐切替命令に対応する前記分岐動作プロセステーブルを取得し、当該分岐動作プロセステーブル行から前記インデックス単位の分岐インデックス値と前記目的インデックス変数の値とが一致する分岐動作プロセステーブル行を取得し、さらに当該分岐動作プロセステーブル行の下に埋め込む前記サブ動作プロセステーブルの先頭を取得するステップC13と、前記現在の動作プロセステーブル行の下に埋め込む前記分岐動作プロセステーブルがあるか否かを判定し、あると判定した場合、前記分岐動作プロセステーブルが実行されるまで前記分岐動作プロセステーブルを実行するステップC14と、前記動作プロセステーブル中の全ての前記プロセスステップが実行するか否かを判定し、そうでないと判定すると、前記現在の動作プロセステーブル行の条件単位中の前記実行条件と非排他関係にある次の動作プロセステーブル行を現在の動作プロセステーブル行として取得する前記ステップC12に戻り、そうであると判定すると、前記動作プロセスが実行済みとするステップC15と、を含んでもよい。
【0015】
また、本発明の動作プロセステーブル実行方法において、前記分岐動作プロセステーブルは、切替先列をさらに含み、前記分岐動作プロセステーブル行は、前記切替先列に位置する切替先単位をさらに含み、切替先単位には、前記目標インデックス変数の値を設定ための前記プロセスステップを切替指示として追加されており、動作プロセステーブルに対する動作プロセスを実行する方法は、前記ステップC13で、前記切替先単位の前記切替命令も取得して実行することを含んでもよい。
【0016】
また、本発明の動作プロセステーブル実行方法において、前記分岐動作プロセステーブルは、分岐ステータス列をさらに含み、前記動作プロセステーブル行は、前記分岐ステータス列に位置する分岐ステータス単位をさらに含み、前記分岐ステータス単位には、前記分岐の動作プロセスに対応するステータス変数に値を割り当てるための動作命令が追加されており、前記ステップC13では、前記インデックス単位の分岐インデックス値と前記目的インデックス変数の値とが一致する分岐動作プロセステーブル行を取得する際に、前記分岐ステータス単位における前記動作命令も取得し、前記ステータス変数に値を割り当ててもよい。
【0017】
また、本発明の動作プロセステーブル実行方法において、前記動作プロセスタイプは更に循環動作プロセスを含み、前記循環動作プロセスは実行条件及び循環サブプロセスを含み、前記動作プロセステーブルは、さらに循環ステータス列を含み、前記動作プロセステーブル行には、前記循環ステータス列に位置する循環ステータス単位が含まれ、循環動作プロセスに対するプロセスステップの組み合わせルールは、前記循環動作プロセスの実行条件及び循環サブプロセスを循環動作プロセスステップ序列に組み合わせ、前記循環動作プロセスステップ序列に対応する前記所定の行生成ルールは、前記動作プロセステーブルに現在の動作プロセステーブル行として1つの動作プロセステーブル行を順次生成するステップD1と、前記現在のプロセスステップを実行条件として前記現在の動作プロセステーブル行の前記条件単位に追加し、前記循環ステータス単位に循環実行ステータスを追加するステップD2と、前記循環サブプロセス中の前記プロセスステップを順次取得し、前記循環サブプロセス中の前記プロセスステップ毎に対応する動作プロセスタイプを順次判定し、前記循環動作プロセスステップ序列中の連続する前記プロセスステップを、所定のプロセスステップ序列組み合わせルールに従って、対応する前記動作プロセスタイプに対応するサブプロセスステップ序列にさらに組み合わせるステップD3と、をさらに含み最初のサブプロセスステップの序列が動作命令型プロセスステップ序列であり、当該サブプロセスステップの序列中の各プロセスステップを、対応する前記分岐動作プロセスの前記動作プロセステーブル行の前記命令単位に動作命令順として追加し、前記分割プロセスステップ序列が条件分岐型プロセスステップ序列であり、対応する前記分岐動作プロセスに対応するサブ動作プロセステーブルを生成し、前記条件分岐型プロセスステップ序列に対応する前記予定行生成ルールに基づいて前記サブ動作プロセステーブルに前記サブ動作プロセステーブル行を順次生成し、前記サブ動作プロセスは、前記分岐動作プロセスに対応する前記動作プロセステーブル行の下に表層的に埋め込むており、前記動作プロセステーブルに対する動作プロセス実行方法は、前記動作プロセステーブルから現在の動作プロセステーブル行として動作プロセステーブル行を順次取得するステップD11と、前記現在の動作プロセステーブル行の条件単位の実行条件が真値であるか否かを判定し、真値でないと判定されるとステップD11に戻るステップD12と、前記現在の動作プロセステーブル行の命令単位における動作命令を取得する実行するステップD13と、前記現在の動作プロセステーブル行の下に埋め込む前記サブ動作プロセステーブルがあるか否かを判定し、あると判定した場合には、前記サブ動作プロセステーブルが実行されるまで前記サブ動作プロセステーブルを実行するステップD14と、前記現在の動作プロセステーブル行の前記循環ステータス単位に循環実行ステータスがあるか否かを判定し、あれば前記ステップD12に戻って前記現在の動作プロセステーブル行を繰り返す実行するステップD15と、前記動作プロセステーブル中の全ての前記プロセスステップが実行済みか否かを判定し、そうでないと判定すると、前記現在の動作プロセステーブル行の条件単位中の前記実行条件と非排他関係にある次の動作プロセステーブル行を現在の動作プロセステーブル行として取得する前記ステップD12に戻り、そうであると判定すると、前記動作プロセスの実行を終了するステップD16と、をさらに含んでもよい。
【0018】
本発明の表形式化動作プロセス処理装置は、コンピュータプログラムを記憶するメモリと、前記コンピュータプログラムを実行する際に、請求項1~7のいずれか一項に記載の表形式化動作プロセス処理方法を実現するプロセッサーと、を備えることを特徴とする。
【0019】
また、本発明の表形式化動作プロセス処理装置は、コンピュータプログラムを記憶するメモリと、前記コンピュータプログラムを実行する際に、請求項8~11のいずれか一項に記載の表形式化動作プロセス処理方法を実現するプロセッサーと、を備えることを特徴とする。
【発明の効果】
【0020】
本発明の異種埋め込み型の表形式化動作プロセスの処理および実行方法および装置によれば、以下の効果がある。
【0021】
動作プロセスを動作プロセステーブルとして処理し、その動作プロセステーブルに基づいて実行するため、テキストベースの高級言語のようにIF、THEN、ELSIF、else、END_IFなどの冗長な構文命令を処理する必要がなくなり、プログラム入力の手間とプログラムファイルのサイズが減り、コンピュータにとってデータ表の検索と処理がテキストプログラムの解析よりも速くなるため、コンピュータ処理動作が向上できる。
【0022】
動作プロセスを表形式化し、動作プロセスを条件および命令ごとに複数の列に分けることで、プログラムの長さを大幅に短縮し、プログラムの内容をより簡潔にし、画面表示スペースの利用率を高め、複雑な動作プロセスの閲覧と編集を容易にする。また、複数リストのレイアウトにより、異なるタイプのプロセスステップの分離度が高くなり、動作プロセス間の詳細な違いを発見しやすくなり、プログラムエラーをタイムリーに発見できる。
【0023】
動作プロセステーブルと分岐動作プロセステーブルを階層的に埋め込むことで、複雑な動作プロセスを正確に定義するために使用でき、テキストベースの高級言語プログラムに代わることができ、動作プロセスの構造がより明確になり、複雑な動作プロセスの可読性が向上できる。
【0024】
複雑な動作プロセスの表形式化処理により、作成された動作プロセステーブルは元の動作プロセスの詳細を保持するため、動作プロセステーブルは編集後に実行することができ、実体機器の動作を動作するための複雑な動作プロセスの制御を実現することができる。また、プログラムがテキスト命令をコンパイルして処理する中間ステップを減らし、コンパイル実行の速度を向上させられる。
【0025】
動作プロセステーブルはスプレッドシート編集ツールでの処理が容易で、スプレッドシート編集ツールの便利な機能を発揮して利用して動作プロセスを作成し、処理することができる。また、既存の表計算データを直接入力として利用できるため、人手による入力や変換の手間が軽減される。
【0026】
動作プロセステーブルは表、行、列、セル単位で、テキスト命令よりも豊富な書式とコメント情報を設定して載せやすく、動作プロセスの編集と実行ステータスとプログラムの意図をより明確に反映するために、表示・提示と保存を行える。
【図面の簡単な説明】
【0027】
図1図1は本発明の実施例1にかかる自動生産システムのロボットの保持ステータスを示す断面模式図である。
図2図2は本発明の実施例1にかかる自動生産システムの交差工作機械の加工ステータスを示す断面模式図である。
図3図3は本発明の実施例1にかかるメインプロセスのプロセスチャートである。
図4図4は本発明の実施例1にかかるロボットのサブプロセスのプロセスチャートである。
図5図5は本発明の実施例1にかかる工作機械のサブプロセスのプロセスチャートである。
図6図6は本発明の実施例1にかかるメインプロセスの動作プロセステーブルである。
図7図7は本発明の実施例1にかかるロボットのサブプロセスの動作プロセステーブルである。
図8図8は本発明の実施例1にかかる工作機械のサブプロセスの動作プロセステーブルである。
図9図9は本発明の実施例2にかかるメインプロセスの動作プロセステーブルである。
図10図10は本発明の実施例2にかかるロボットのサブプロセスの動作プロセステーブルである。
図11図11は本発明の実施例2にかかる工作機械のサブプロセスの動作プロセステーブルである。
図12図12は本発明の実施例2にかかる工作機械のサブプロセスの動作プロセステーブルである。
【発明を実施するための形態】
【0028】
第1の実施形態として、本発明の動作プロセス実行方法は、複数のプロセスステップを含み、プロセスステップは、動作命令及び/又は条件分岐動作プロセスであってもよく、条件分岐動作プロセスは、実行条件と、第1分岐動作プロセス及び/又は第2分岐動作プロセスとを含み、実行条件がtrueであれば第1分岐動作プロセスを実行し、そうでない場合第2分岐動作プロセスを実行する。また、本発明の動作プロセス実行方法は、条件列と命令列を含み動作プロセステーブルを作成するステップ1と、動作プロセステーブルの条件列と命令列に対応する条件単位と命令単位を含む動作プロセステーブル行を追加するステップ2と、動作プロセスのプロセスステップを順次取得し、プロセスステップタイプを判断するステップ3と、を含み、
【0029】
A、プロセスステップが条件分岐動作プロセスである場合、条件分岐動作プロセスの実行条件を動作プロセステーブル行の条件単位に追加する。そして、条件分岐動作プロセスの最初の分岐動作プロセスにおけるプロセスステップを順次取得し判断する:
【0030】
a)、後続のプロセスステップが動作命令の場合、順番に後続の動作命令を動作プロセステーブル行の命令単位に追加する;
【0031】
b)、後続のプロセスステップが条件分岐動作プロセスである、ステップ1から条件分岐動作プロセスを処理し、ステップ1で条件分岐動作プロセスに対して作成する動作プロセステーブルを第2動作プロセステーブルとし、作成第2動作プロセスを表層レベルで動作プロセステーブル行の下に埋め込む。条件分岐動作プロセスの処理が完了した後、ステップ2から第一分岐動作プロセスの後続のプロセスステップの処理を継続する;
【0032】
条件分岐動作プロセスの第二分岐動作プロセス中のプロセスステップを取得し、第二分岐動作プロセスに対してステップ2を実行し、動作プロセステーブル行と第二分岐動作プロセスに対してステップ2で追加した動作プロセステーブル行との排他関係を設定する; その後、ステップ2に戻って後続のプロセスステップを続行する;
【0033】
さらに、動作プロセスを表形式化して処理する方法は、相互排他関係にある2つの動作プロセステーブル行に対して、両者または両者のいずれか一方を形式的に設定し、両者の相互排他関係を反映させるステップをさらに含む。本発明のいくつかの実施形態では、相互排他的な関係である2つの動作プロセステーブル行について、両者の間に連結線分を描画することで、両者の相互排他的な関係を反映する。本発明の他の実施形態では、連続する複数の相互排他的な分岐動作プロセスに対して、最初の分岐動作プロセスに対応する動作プロセステーブル行には、相互排他的な他の分岐動作プロセスに対応する動作プロセステーブル行とは異なるシンボルフラグが設けられ、これらの分岐動作プロセスの相互排他的な関係をフォーマットに反映させるために使用される。
【0034】
B、プロセスステップが動作命令の場合、動作プロセステーブルの行の条件単位を常にtrueであることを示す条件に設定し、常にtrueであることを後続の動作命令の実行条件とする; 動作プロセステーブル行の命令単位に順次後続の動作命令を追加する; 後続のプロセスステップが条件分岐動作プロセスである場合には、ステップ2に戻る後続のプロセスステップの処理を継続する;
【0035】
1つ目の実施形態では、本発明の動作プロセスを表形式化する方法のもう1つの側面として、動作プロセステーブルの行の条件単位は、空に設定するか、またはtrueを表す定数に設定することで、常にtrueである条件を表すために使用される。さらに、第二分岐動作プロセスに対して、第二分岐動作プロセスの最初のプロセスステップが条件分岐動作プロセスではなく動作命令である場合、第二分岐動作プロセスに対応する動作プロセステーブル行の条件セルを常にtrueである条件を表すelseにセットする。
【0036】
本発明のいくつかの実施形態では、動作プロセステーブルの行条件単位の内容と後続の動作命令の実行条件として、常にtrueを表す条件を採用することで、動作プロセステーブルの構造を整然とし、元の動作プロセス論理との整合性を保つことができる。
【0037】
さらに、第2の動作プロセステーブルと親レベルの動作プロセステーブルとを列ごとに整列する;
【0038】
さらに、方法は、第2の動作プロセステーブルと親動作プロセステーブルの行との階層関係を反映するように、第2の動作プロセステーブルに対して形式的に対応する設定することを含む。本発明のいくつかの実施形態では、第2の動作プロセステーブルの動作プロセステーブル行の条件単位について、第2の動作プロセステーブルの階層に応じてインデント幅が設定される。
【0039】
第1の態様において、本発明の動作プロセスを表形式化処理する方法の他の態様として、動作プロセスは、実行条件が満たされたときに設定されたパターンに従って循環的に実行される循環動作プロセスをさらに含み、動作プロセステーブル行は、循環実行属性をさらに含むことを特徴とする。また、方法は、動作プロセステーブル行に対応する動作プロセスがループ動作プロセスである場合、動作プロセスのループパターンに基づいて動作プロセステーブル行ループ実行属性値を設定するステップをさらに含む。
【0040】
さらに、サイクリック実行属性値には、サイクリック実行するか否か、サイクリック実行の周期、及び/又はサイクリック実行タスクスケジュール優先度パラメータが含む。
【0041】
さらに、循環動作プロセスに対応する動作プロセステーブル行に対して、動作プロセステーブル行の循環実行属性を反映するように書式設定を行うステップと、を含む。
【0042】
第1の実施形態では、動作プロセスは、さらに、目標インデックス変数を含む分岐切替命令と、目標インデックス変数の値を少なくとも1つ含む分岐切替命令とを含む分岐動作プロセスを含む、分岐切替命令は、目標インデックス変数の値を判断して目標インデックス変数の値と一致する分岐動作プロセスを切り替える実行するための動作命令である。方法の特徴は、ステップ3において、プロセスステップが分岐動作プロセスを切り替えるのであれば、分岐動作プロセスを切り替える分岐切替命令を動作プロセステーブル行の命令単位に追加し、分岐動作プロセスを切り替えるための分岐動作プロセステーブルを作成し、動作プロセステーブル行の下に分岐動作プロセスを表層レベルで埋め込むことを判断する; 分岐動作プロセステーブルは、分岐動作プロセスに含む分岐動作プロセスごとに分岐動作プロセステーブルに分岐動作プロセステーブル行を追加する分岐インデックス列を含み、分岐動作プロセステーブル行は、分岐動作プロセステーブルのインデックス列に対応するインデックス手段を含む。方法は、分岐動作プロセスを切り替える分岐インデックス値を、分岐動作プロセステーブル行の分岐インデックス値単位に追加することをさらに含む。そして、順次、分岐動作プロセスに含まれる分岐動作プロセスごとにステップ1から実行を開始し、ステップ1で作成した動作プロセスを、分岐動作プロセスに対応する分岐動作プロセステーブル行の下に表層的に埋め込む。
【0043】
本発明のいくつかの実施形態では、分岐切替命令は、分岐インデックス値と目的インデックス変数の値を比較する相互排他的な一連の条件分岐動作プロセスに対応しており、この相互排他的な条件分岐動作プロセスは、目的インデックス変数の値を判断して実行分岐インデックス値と目的インデックス変数の値が一致する分岐切替動作プロセスとして処理することができる。
【0044】
さらに、コメント列を含む分岐動作プロセステーブルと、コメント列に対応するコメント単位を含む分岐動作プロセステーブルの行と、切替分岐動作プロセスに含む各分岐動作プロセスの意味に基づいてコメント単位の内容を設定するステップと、を含む。
【0045】
さらに、分岐プロセステーブルの行の下に埋め込まれた動作プロセステーブルと、分岐プロセステーブルを含む上位レベルの動作プロセステーブルが列ごとに整列される。
【0046】
第1の実施形態では、動作プロセスの動作命令には、ターゲットインデックス変数の値を設定する命令も含まれており、ステップ3では、動作命令を命令単位に追加する前に、動作命令がターゲットインデックス変数の値を設定する命令である場合、ターゲットインデックス変数の値を設定する命令設定に従ってターゲット単位の内容を切り替え、ターゲットインデックス変数の値を設定する命令が動作プロセステーブル行の命令単位に追加されなくなると判断することを特徴とする。
【0047】
好ましいは、動作プロセスを設定するテーブルの切り替え先の列は、命令列の右側に位置する; 動作プロセステーブルの切替先列を設けることで、動作プロセステーブルの切替先分岐動作プロセスの命令を他の動作命令と独立させ、異なるタイプのプロセスステップの分離度を向上させる。また、異なる分岐動作プロセスに対する切り替え先の違いをより明確に比較することができ、プロセスエラーのタイムリーな発見と回避に役立つ。
【0048】
第1の実施の形態において、分岐動作プロセスは、分岐動作プロセスを切り替える分岐動作プロセスに基づいて値が決定されるステータス変数をさらに含む、方法は、分岐動作プロセステーブルが、分岐動作プロセスに対応する分岐動作プロセステーブル行を有する分岐ステータス列をさらに含み、方法は、分岐動作プロセス中のステータス変数を取得し、分岐動作プロセスを切り替える分岐動作プロセスによって決定されるステータス変数の値に基づいて分岐動作プロセスに対応する分岐動作プロセステーブル行の値を設定ことを特徴とする。分岐動作プロセステーブルに分岐ステータス列を設けることで、異なる分岐動作プロセスに対する差異をより明確に比較することができ、プログラムミスのタイムリーな発見と回避、分岐動作プロセスのプロセスステップの迅速かつ正確な配置に役立ちます; また、プロセスステップの分離度を高め、動作プロセステーブルの行数を減らし、画面の利用率を向上させるのに役立つ。
【0049】
第2の実施形態として、本発明は、動作プロセステーブルに基づいて動作プロセスを実行する方法である、ステップ11と、動作プロセステーブルの動作プロセステーブル行を順次取得するステップ12と、ステップ13で順次取得された動作プロセステーブル行に基づいて動作プロセスを実行するステップ14と、を備える。ステップ12では、動作プロセステーブル行の条件単位の実行条件がtrueかどうかを判断し、trueであれば以下のステップを実行し、そうでない場合次の動作プロセステーブル行の取得を継続してステップ12に戻って実行を開始する。ステップ13では、動作プロセステーブルの行命令単位内の動作命令を取得する実行する。ステップ14では、動作プロセステーブルの行の下に埋め込む第2の動作プロセステーブルがあるか否かを判断し、あれば第2の動作プロセステーブルについてステップ11から実行する第2の動作プロセステーブルが処理されるまで実行する。ステップ15では、動作プロセステーブル行為と非排他的な関係にある次の動作プロセステーブル行を取得し、ステップ12に戻って繰り返し実行する。
【0050】
第2の実施形態では、方法のステップ12において、動作プロセステーブル行にループ実行属性が設定されているかどうかを判断し、設定されていれば、動作プロセステーブル行条件単位における実行条件がtrueの場合にループ実行属性値に設定されたループパターンに従ってステップ12で動作プロセステーブル行を繰り返し実行するステップをさらに含む。
【0051】
第2の実施の形態では、方法のステップ13において、動作命令が分岐切替命令であると判断された場合、分岐切替命令を含む動作プロセステーブルの行の下に埋め込まれた分岐動作プロセステーブルを取得し、分岐動作プロセステーブルの中でインデックス単位の内容が分岐切替命令の目標のインデックス変数の値と一致する分岐動作プロセステーブルの行を探し、分岐動作プロセステーブルの行の下に埋め込まれた動作プロセステーブルを取得し、ステップ11から動作プロセステーブルを処理するステップをさらに含む。
【0052】
第2の実施形態では、方法のステップ13において、動作プロセステーブルの行切り替え先セルの内容を取得する、切り替え先セルにおける設定先インデックス変数の値を切り替える指示を実行するステップをさらに含む。
【0053】
切替先単位に設定された目的インデックス変数の値を処理する指示は、指示単位における動作指示処理の後に実行することが好ましい。
【0054】
第2の実施形態では、方法は、分岐動作プロセステーブル行の分岐ステータス単位がセットされているかどうかを判断し、そうであれば、分岐動作プロセステーブル行の分岐ステータス単位の内容を取得し、分岐ステータス単位の内容に基づいて分岐動作プロセスステータス変数値をセットするステップをさらに含む。
【0055】
第3の実施形態として、本発明はまた、動作プロセスを表形式化処理する装置である、動作プロセスのプロセスステップは、動作命令と条件分岐動作プロセスとを含み、条件分岐動作プロセスは実行条件と、第1分岐動作プロセス及び/又は第2分岐動作プロセスとを含む、実行条件がtrueであれば第1分岐動作プロセスを実行し、そうでない場合第2分岐動作プロセスを実行する装置を提供する。作成された動作プロセステーブルは、動作プロセステーブル行作成部が処理を継続するために使用される。動作プロセステーブルの条件列と命令列に対応する条件手段と命令手段とを含む動作プロセステーブルに動作プロセステーブル行を追加する、プロセスステップ処理部の処理を呼び出すための動作プロセステーブル行作成部と、作成された動作プロセステーブルの行は、プロセスステップ処理部が処理を継続するために使用される:
【0056】
A、プロセスステップが条件分岐動作プロセスである場合、条件分岐動作プロセスの実行条件を動作プロセステーブル行の条件単位に追加する; そして、条件分岐動作プロセスの最初の分岐動作プロセスにおけるプロセスステップを順次取得し判断する:
【0057】
a)後続のプロセスステップが動作命令の場合、順番に後続の動作命令を動作プロセステーブル行の命令単位に追加する;
【0058】
b)後続のプロセスステップが条件分岐動作プロセスである、条件分岐動作プロセスを動作プロセステーブル作成部で処理し、条件分岐動作プロセスに対して動作プロセステーブル作成部が作成する動作プロセステーブルを第2の動作プロセステーブルとし、作成第2の動作プロセステーブルを動作プロセステーブル行の下に表層的に埋め込む。条件分岐動作プロセスの処理が完了した後、動作プロセステーブル行作成部により第1分岐動作プロセス中の後続プロセスステップの処理を継続する;
【0059】
条件分岐動作プロセスの2聞期目の動作プロセスにおけるプロセスステップを取得する、2分岐目の動作プロセスに対して動作プロセステーブル行作成部で処理し、動作プロセステーブル行と2分岐目の動作プロセスに対して動作プロセステーブル行作成部で追加する動作プロセステーブル行との排他関係を設定する; その後、動作プロセステーブル行作成部により後続のプロセスステップの処理を継続する;
【0060】
B、プロセスステップが動作命令の場合、動作プロセステーブルの行の条件単位を常にtrueであることを示す条件に設定し、常にtrueであることを後続の動作命令の実行条件とする。後続の動作命令を動作プロセステーブル行の命令単位に追加する; 後続のプロセスステップが条件分岐動作プロセスである場合まで、動作プロセステーブル行作成部により後続のプロセスステップの処理を継続する;
【0061】
第三の実施形態では、動作プロセスは、実行条件が満たときに設定されたパターンに従って循環的に実行する循環動作プロセスをさらに含む、装置は、動作プロセステーブル行に循環実行属性をさらに含むことを特徴とする。動作プロセステーブル行に対応する動作プロセスがループ動作プロセスである場合、動作プロセスのループモードに応じる動作プロセステーブル行のループ実行属性値を設定するループ実行属性設定部をさらに備える;
【0062】
第3の実施の形態では、動作プロセスは、目標インデックス変数を含む分岐切替命令と、目標インデックス変数の値を少なくとも一つ含む分岐切替命令とを含む分岐動作プロセスをさらに含む、分岐切替命令は、目標インデックス変数の値を判断して目標インデックス変数の値と一致する分岐動作プロセスを切り替える実行するための動作命令である。装置は、さらに、分岐動作プロセスを切り替えるための分岐動作プロセステーブルを作成する分岐動作プロセステーブル作成部と、分岐インデックス列を含む分岐動作プロセステーブルを作成する分岐動作プロセステーブル作成部とを備えることを特徴とする。作成された分岐動作プロセステーブルは、分岐動作プロセステーブル行作成部が処理を継続するために使用される。分岐動作プロセステーブル行作成部は、分岐動作プロセスに含む分岐動作プロセスごとに、分岐動作プロセステーブルのインデックス列に対応するインデックス手段を含む分岐動作プロセステーブル行を追加する。分岐動作プロセステーブル行作成部は、分岐動作プロセスを切り替える分岐インデックス値を、分岐動作プロセステーブル行の分岐インデックス値単位に追加する; そして、動作プロセステーブル作成部によって、切り替え分岐動作プロセスに含む分岐動作プロセスごとに順次処理され、動作プロセステーブル作成部で作成する動作プロセスが、分岐動作プロセスに対応する分岐動作プロセステーブル行の下に表層的に埋め込まれる。プロセス処理部はまた、プロセスステップが分岐動作プロセスの切り替えである場合、分岐動作プロセスを切り替える分岐切り替え命令を動作プロセステーブル行の命令単位に追加し、分岐動作プロセステーブル作成部の処理によって分岐動作プロセスを切り替え、分岐動作プロセステーブル作成部が作成した分岐動作プロセスを表層レベルで分岐切り替え命令を含む動作プロセステーブル行の下に埋め込むと判断するためにも用いられる。
第三の実施形態において、動作プロセスの動作命令には、目標のインデックス変数の値を設定命令も含まれる; 装置の特徴は、動作プロセステーブルに切替先列をさらに含み、動作プロセステーブル行に対応して切替先単位をさらに含み、動作プロセス指示処理部は、動作指示を指示単位に追加する前に、動作指示が目標インデックス変数値の設定指示である場合、目標インデックス変数値の設定指示に従って切替先単位の内容を設定し、目標インデックス変数値の設定指示が動作プロセステーブル行の指示単位に追加されなくなると判断することである。
【0063】
第3の実施の形態では、分岐動作プロセスは、分岐動作プロセスを切り替える分岐動作プロセスに基づいて値が決定されるステータス変数をさらに含む、装置は、分岐動作プロセステーブルが、分岐動作プロセステーブル行に対応して分岐ステータス単位を含む分岐動作プロセステーブル列をさらに含む、分岐動作プロセステーブル行作成部が、分岐動作プロセスを切り替えるステータス変数を取得し、分岐動作プロセスを切り替える分岐動作プロセスに基づいて決定するステータス変数の値に基づいて分岐動作プロセステーブル行の値を設定することを特徴とする。
【0064】
第4の実施形態として、本発明は、動作プロセステーブルに基づいて動作プロセスを実行する装置である、動作プロセステーブルの動作プロセステーブル行を順次取得し、動作プロセステーブル行判断部により取得する動作プロセステーブル行の処理を継続する動作プロセステーブル行取得部と、 取得動作プロセステーブル行の条件単位の実行条件がtrueであるか否かを判断する動作プロセステーブル行判断部と; 「YES」である、動作命令実行部により処理を継続する; そうでない場合、動作プロセステーブル行取得部により次の動作プロセステーブル行の取得が継続する、動作プロセステーブル行判断部により処理される; 動作プロセステーブル行命令手段における動作命令を取得する実行し、その後、第二動作プロセステーブル処理部によって処理を継続する動作命令実行部と、 動作プロセステーブルの行の下に埋め込む第二の動作プロセステーブルがあるか否かを判断する第二の動作プロセステーブル処理部と、あれば、第二の動作プロセステーブルについて動作プロセステーブル行取得部により第二の動作プロセステーブルが処理完了するまで処理を継続する、その後、非排他動作プロセステーブル行取得部により処理を継続する第二の動作プロセステーブル処理部と、 動作プロセステーブルの動作と非排他の関係にある次の動作プロセステーブルの行を取得する;
【0065】
第4の実施形態では、動作プロセステーブル行判断部は、動作プロセステーブル行にループ実行属性が含むか否かを判断し、含まれていれば、動作プロセステーブル行条件単位における実行条件がtrueのときにループ実行属性値に基づいて設定ループパターンに従って動作プロセステーブル行判断部により動作プロセステーブル行を繰り返し実行する。
【0066】
第4の実施形態では、動作命令実行部は、動作命令が分岐切替命令である場合、分岐切替命令を含む動作プロセステーブル行の下方に埋め込む分岐動作プロセステーブルを取得し、分岐動作プロセステーブル中のインデックスセルの内容が分岐切替命令の目標のインデックス変数の値と一致する分岐動作プロセステーブル行を探し、分岐動作プロセステーブル行処理部で分岐動作プロセステーブル行を処理する。分岐動作プロセステーブル行処理部は、分岐動作プロセステーブル行の下に埋め込まれた動作プロセステーブルを取得し、動作プロセステーブル行取得部で動作プロセステーブルを処理する。
【0067】
第4の実施形態では、動作命令実行部は、動作プロセステーブルの行の切替先セルの内容を取得する、切替先セルの内容に応じて目標インデックス変数の値を対応する設定するためにも用いる。
【0068】
請求項4に記載の発明は、請求項1に記載の動作プロセステーブルに従って動作プロセスを実行する装置において、動作命令実行部が分岐切替命令を実行するとき、インデックス手段の内容が分岐切替命令の目標のインデックス変数の値と一致する分岐動作プロセステーブル行に対して、分岐動作プロセステーブル行の分岐ステータス手段が設置されているか否かを判断する、設置されていれば分岐動作プロセステーブル行の分岐ステータス手段の内容を取得する、分岐ステータス手段の内容に応じて分岐動作プロセステーブル行を設置する。
【0069】
本発明が実現する技術的手段、創作的特徴、目的と効果を理解しやすくするために、本発明の異種混在の表形式化動作プロセスの処理および実行方法および装置について、実施例および図面を参照して以下に具体的に述べる。
<実施例>
【0070】
図1図2は典型的な自動化生産システムを示しており、工作機械200とロボット300を含み、工作機械200は工作機械の加工時に閉じ、加工が完了した後に開いている防護扉201を含む。防護扉201の開放位置と閉鎖位置の動作には、防護扉201の開閉の位置を検出するためのセンサが設けられている。工作機械はまた、加工が完了したワーク400を受け取るための出力エリア202を備え、ワーク400は加工が完了した後に出力エリア202に滑り落ちる。出力エリア202には、出力エリア202にワーク400があるかどうかを検出するためのセンサが設けられている。ロボット300は、グリッパー301によって搬出エリアからワーク400を保持する、ワークコードプレース500に載置する。ロボットの保持爪301には、ワーク400が保持されたかどうかを検出するためのセンサが設けられている。ロボット300がワークを保持しようとしているときに、工作機械の防護扉201が所定の位置に開かなかったり、出力エリア202にワークがない場合は、「ロボットのワーク保持エラー警報」を提示する; ロボット300がパレタイズエリアにワークを置いた後、グリッパー301にワークが検出されると、「ロボットのワーク保持エラー警報」が表示される。ロボット300には赤・黄・緑の3色表示灯202も設けられており、ロボット300がワークを保持または載置しているときには3色表示灯202の緑色が点灯する。ロボット300が待機中または停止中の場合、3色表示灯202の黄色表示灯が点灯; ロボット300がエラーステータスにあるとき、3色表示灯202の赤色灯が点灯し、エラーステータスを提示するために使用される。
【0071】
以下、この自動化生産システムの詳細な動作プロセスを図3~5を参照して説明:
【0072】
システムの初期ステータスは、工作機械の防護扉201が閉じられ、工作機械の出力エリア202にワークがない; ロボット300はワークを保持しておらず、三色表示灯202の黄色が点灯している 変数「工作機械ステータス」の初期値は100で、「工作機械停止中」を示する。変数「ロボットのステータス」の初期値は100で、「ロボット停止中」を示する。この場合、「工作機械起動」信号をtrue、「ロボットの停止」信号をFALSE、「工作機械の停止」信号をFALSEとする。次のプロセスステップを開始する。
【0073】
ステップ1は、システムの電源が入っているかどうかを判断するための条件分岐動作プロセスである; そうである場合は、プロセスステップ3、78、153を実行する。これらのステップは、システムの電源が入っている間は循環的に実行される。
【0074】
ステップ3は、「ロボット停止」信号がtrueかどうかを判断するための条件分岐動作プロセスである; そうである場合はプロセスステップ5、6、7を実行し、そうでない場合はプロセスステップ14を実行する。
【0075】
ステップ5は、「ロボット停止」信号がFALSEであることをリセットするための動作命令である。
【0076】
ステップ6は、「ロボットのステータス」が100、つまり「ロボット停止中」であることを設定するための動作命令である。
【0077】
ステップ7は、変数「マニピュレータのステータス」が400または500に等しいかどうかを判断するための条件分岐動作プロセスである; そうである場合はプロセスステップ9を実行し、そうでない場合はプロセスステップ78を実行する。
【0078】
ステップ9は、ロボットの動作を一時停止するための動作命令である。
【0079】
プロセスステップ14はロボットのサブプロセスを呼び出す動作命令である。ロボットのステータスに応じて適切な動作プロセスを切り替えて実行するためのサブプロセスである。ロボットのサブプロセスで最初に実行されるプロセスステップはプロセスステップ16である。
【0080】
プロセス16は、変数「ロボットのステータス」が100、すなわち「ロボット停止中」かどうかを判断するための条件分岐動作プロセスである; そうである場合はプロセスステップ18、19を実行し、そうでない場合はプロセスステップ33を実行する。
【0081】
ステップ18は、変数「表示灯ステータス」の値を「黄色」に設定するための動作命令である。
【0082】
プロセスステップ19は、「ロボット起動」信号がtrueかどうかを判断するための条件分岐動作プロセスである; そうである場合は、プロセスステップ21、22を実行する。
【0083】
ステップ21は、「ロボット起動」信号をFALSEにリセットするための動作命令である。
【0084】
プロセスステップ22は、ロボットのグリッパー301にワーク400が検出するか否かを判断するための条件分岐動作プロセスである; そうである場合はプロセスステップ23を実行し、そうでない場合はプロセスステップ24を実行する。
【0085】
ステップ23は、ロボットがワークを置く動作を開始するための動作命令である。
【0086】
プロセスステップ24は、工作機械の防護ドア201が所定の位置まで開いている、工作機械の出力エリア202にワーク400が検出されたか否かを判断するための条件分岐動作プロセスである。そうである場合はプロセスステップ26、27を実行し、そうでない場合はプロセスステップ30を実行する。
【0087】
ステップ26は、ロボットがワークをつかむ動作を開始するための動作命令である。
【0088】
プロセスステップ27は、「ロボットのステータス」が400、つまり「ロボットワーク保持中」であることを設定するための動作命令である。
【0089】
ステップ30は、「ロボットのステータス」が300であること、すなわち「ロボットのワーク保持エラー警報」を設定するための動作命令である。
【0090】
プロセスステップ33は、変数「ロボットのステータス」が200、すなわち「ロボットワーク保持待機中」かどうかを判断するための条件分岐動作プロセスである; そうである場合はプロセスステップ35、36を実行し、そうでない場合はプロセスステップ49を実行する。
【0091】
ステップ35は、変数「表示灯ステータス」の値を「黄色」に設定するための動作命令である。
【0092】
プロセスステップ36は、「ロボット起動」信号がtrueかどうかを判断するための条件分岐動作プロセスである; そうである場合は、プロセスステップ38、39を実行する。
【0093】
ステップ38は、「ロボット起動」信号をFALSEにリセットするための動作命令である。
【0094】
ステップ39は、工作機械の防護ドア201が所定の位置まで開いている、工作機械の出力エリア202にワーク400が検出されたか否かを判断するための条件分岐動作プロセスである; そうである場合はプロセスステップ41、42を実行し、そうでない場合はプロセスステップ45を実行する。
【0095】
ステップ41は、ロボットがワークを保持する動作を開始するための動作命令である。
【0096】
プロセスステップ42は、「ロボットのステータス」が400、つまり「ロボットワーク保持中」であることを設定するための動作命令である。
【0097】
プロセスステップ45は、「ロボットのステータス」が300であること、すなわち「ロボットワーク保持エラー警報」を設定するための動作命令である。
【0098】
プロセスステップ49は、変数「ロボットのステータス」が300に等しいかどうか、すなわち「ロボットワーク保持エラー警報」を判断するための条件分岐動作プロセスである; そうである場合はプロセスステップ51を実行し、そうでない場合はプロセスステップ53を実行する。
【0099】
ステップ51は、変数「表示灯ステータス」の値を「赤点灯」に設定するための動作命令である。
【0100】
プロセスステップ53は、変数「ロボットのステータス」が400、すなわち「ロボットワーク保持中」かどうかを判断するための条件分岐動作プロセスである; そうである場合はプロセスステップ55、56を実行し、そうでない場合はプロセスステップ62を実行する。
【0101】
ステップ55は、変数「表示灯ステータス」の値を「緑点灯」に設定するための動作命令である。
【0102】
プロセスステップ56は、ロボットがワークを保持する動作が完了するか否かを判断するための条件分岐動作プロセスである; そうである場合は、プロセスステップ58、59を実行する。
【0103】
ステップ58は、ロボットがワークを置く動作を開始するための動作命令である。
【0104】
プロセスステップ59は、「ロボットのステータス」が500、つまり「ロボットワーク配置中」であることを設定するための動作命令である。
【0105】
プロセスステップ62は、変数「ロボットのステータス」が500、すなわち「ロボットワーク載置中」かどうかを判断するための条件分岐動作プロセスである; そうである場合はプロセスステップ64、65を実行し、そうでない場合はプロセスステップ73を実行する。
【0106】
ステップ64は、変数「表示灯ステータス」の値を「緑点灯」に設定するための動作命令である。
【0107】
プロセスステップ65は、ロボットがワークをセット動作が完了したか否かを判断するための条件分岐動作プロセスである; そうである場合は、プロセスステップ67を実行する。
【0108】
プロセスステップ67の条件分岐動作プロセスは、ロボットのグリッパー301にワーク400が検出するか否かを判断するためのものであり、「YES」であればプロセスステップ68を実行する、そうでない場合プロセスステップ70を実行する。
【0109】
ステップ68は、「ロボットのステータス」が600であること、すなわち「ロボットワークの載置エラー警報」を設定するための動作命令である。
【0110】
プロセスステップ70は、「ロボットのステータス」が200、つまり「ロボットワーク保持待機中」であることを設定するための動作命令である。
【0111】
プロセスステップ73は、変数「ロボットのステータス」が600、すなわち「ロボットのワーク保持エラー警報」かどうかを判断するための条件分岐動作プロセスである; そうである場合は、プロセスステップ74を実行する。
【0112】
ステップ74は、変数「表示灯ステータス」の値を「赤点灯」に設定するための動作命令である。
【0113】
プロセスステップ78は、「工作機械停止」信号がtrueかどうかを判断するための条件分岐動作プロセスである; そうである場合はプロセスステップ80、81、82を実行し、そうでない場合はプロセスステップ87を実行する。
【0114】
ステップ80は、「工作機械停止」信号をFALSEにリセットするための動作命令である。
【0115】
ステップ81は、「工作機械ステータス」が100、つまり「工作機械停止中」に設定するための動作命令である。
【0116】
プロセスステップ82は、変数「工作機械ステータス」が300、すなわち「工作機械加工中」かどうかを判断するための条件分岐動作プロセスである; そうである場合は、プロセスステップ83を実行する。
【0117】
ステップ83は工作機械の動作を一時停止するための動作命令である。
【0118】
プロセスステップ87は工作機械のサブプロセスを呼び出す動作命令で、工作機械のステータスに応じて適切な動作プロセスを切り替えるために使用される。ワークセルのサブプロセスで最初に実行されるプロセスステップはプロセスステップ89である。
【0119】
プロセスステップ89は、変数「工作機械ステータス」が100、すなわち「工作機械停止中」かどうかを判断するための条件分岐動作プロセスである; そうである場合はプロセスステップ91を実行し、そうでない場合はプロセスステップ119を実行する。
【0120】
プロセスステップ91は、「工作機械起動」信号がtrueかどうかを判断するための条件分岐動作プロセスである; そうである場合は、プロセスステップ93、94を実行する。
【0121】
ステップ93は、「工作機械起動」信号がFALSEであることをリセットするための動作命令である。
【0122】
プロセスステップ94は、工作機械の出力エリア202にワーク400があるかどうかを判断するための条件分岐動作プロセスである、あればプロセスステップ96を実行する; そうでない場合プロセスステップ107を実行する。
【0123】
プロセスステップ96は、工作機械の防護扉201が所定の位置まで開いているか否かを判断するための条件分岐動作プロセスであり、そうであるプロセスステップ98、99を実行する; そうでない場合、プロセスステップ103、104を実行する。
【0124】
ステップ98は工作機械の防護扉を開けるための動作命令である。
【0125】
プロセス99は、「工作機械のステータス」が400、つまり「工作機械の防護扉が開いている」ことを設定するための動作命令である。
【0126】
ステップ103は、ロボット300の保持動作を開始するための動作命令である。
【0127】
ステップ104は、「工作機械ステータス」が500、つまり「工作機械ワーク保持待機中」になるように設定するための動作命令である。
【0128】
プロセスステップ107は、工作機械の防護ドア201が所定の位置まで閉じるか否かを判断するための条件分岐動作プロセスであり、そうであるプロセスステップ109、110を実行する; そうでない場合、プロセスステップ114、115を実行する。
【0129】
ステップ109は工作機械の防護扉201を閉じるための動作命令である。
【0130】
ステップ110は、「工作機械ステータス」が200、つまり「工作機械防護扉閉じている」に設定するための動作命令である。
【0131】
ステップ114は工作機械の加工を開始するための動作命令である。
【0132】
ステップ115は、「工作機械ステータス」が300、つまり「加工中」になるように設定するための動作命令である。
【0133】
プロセスステップ119は、変数「工作機械ステータス」が200、すなわち「工作機械防護扉閉じている」かどうかを判断するための条件分岐動作プロセスである; そうである場合はプロセスステップ121を実行し、そうでない場合はプロセスステップ127を実行する。
【0134】
プロセスステップ121は、防護扉201まで工作機械が閉じるかどうかを判断するための条件分岐動作プロセスであり、そうであるプロセスステップ123、124を実行する。
【0135】
ステップ123は工作機械の加工を開始するための動作命令である。
【0136】
ステップ124は、「工作機械ステータス」が300、つまり「加工中」になるように設定するための動作命令である。
【0137】
プロセスステップ127は、変数「工作機械ステータス」が300、すなわち「工作機械加工中」かどうかを判断するための条件分岐動作プロセスである; そうである場合はプロセスステップ129を実行し、そうでない場合はプロセスステップ135を実行する。
【0138】
プロセスステップ129は、工作機械の加工が完了するかどうかを判断するための条件分岐動作プロセスであり、そうであるプロセスステップ131、132を実行する。
【0139】
ステップ131は工作機械の防護扉を開けるための動作命令である。
【0140】
ステップ132は、「工作機械ステータス」が400、つまり「工作機械防護扉開中」を設定するための動作命令である。
【0141】
プロセスステップ135は条件分岐動作プロセスであり、変数「工作機械ステータス」が400、すなわち「工作機械防護扉開放中」かどうかを判断する; そうである場合はプロセスステップ137を実行し、そうでない場合はプロセスステップ143を実行する。
【0142】
プロセスステップ137は、防護扉201まで工作機械が開いているかどうかを判断するための条件分岐動作プロセスであり、そうであるプロセスステップ139、140を実行する。
【0143】
ステップ139は、ロボット300の保持動作を開始するための動作命令である。
【0144】
ステップ140は、「工作機械ステータス」が500、つまり「工作機械ワーク保持待機中」になるように設定するための動作命令である。
【0145】
プロセスステップ143は、変数「工作機械ステータス」が500、すなわち「工作機械ワーク保持待機中」かどうかを判断するための条件分岐動作プロセスである; そうである場合、プロセスステップ145を実行する。
【0146】
プロセスステップ145は、ロボットの保持動作が完了する、工作機械出力エリア202にワーク400がないかどうかを判断するための条件分岐動作プロセスであり、そうであるプロセスステップ147、148を実行する。
【0147】
ステップ147は工作機械の防護扉201を閉じるための動作命令である。
【0148】
ステップ148は、「工作機械のステータス」が200、つまり「工作機械の防護扉が閉じている」であることを設定するための動作命令である。
【0149】
プロセス153は、動作プロセスを100ミリ秒間停止させるための動作命令である。
【0150】
テキストベースのプログラミング言語は、動作の流れを定義するより一般的な方法である。次に、C言語プログラムで説明した上記の動作の流れを示する。C言語プログラムは、本発明のシナリオの動作プロセスの入力形式とすることができる。上記の動作プロセスのプロセスステップ番号は、次のC言語プログラムコードの行番号に対応することができる。
【0151】
1:while(システム起動)
2:{
3: if(ロボット停止)。
4: {
5: ロボット停止 = FALSE;
6: ロボットのステータス = 100;
7: if((ロボットのステータス == 400)||(ロボットのステータス == 500))
8: {
9: ロボット一時停止();
10: }
11: }
12: ELSE
13: {
14: //ロボットのサブプロセス
15: //分岐動作プロセス
16: if(ロボットのステータス== 100)//ロボット停止中
17: {
18: 表示灯のステータス = 黄色点灯;
19: if(ロボット起動)。
20: {
21: ロボット起動 = FALSE;
22: if(ロボットのグリッパーにワークあり)。
23: ロボットがワークを載置開始();
24: ELSE if(工作機械防護扉が開いている&&工作機械出力エリアにワークあり)。
25: {
26: ロボットがワークを保持開始();
27: ロボットのステータス = 400;
28: }
29: ELSE
30: ロボットのステータス = 300;
31: }
32: }
33: ELSE if (ロボットのステータス == 200) // ロボットがワーク保持待機中
34: {
35: 表示灯のステータス = 黄色点灯;
36: if(ロボット起動)
37: {
38: ロボット起動 = FALSE;
39: if(工作機械防護扉が開いている&&工作機械出力エリアにワークあり)
40: {
41: ロボットワークを保持開始();
42: ロボットのステータス = 400;
43: }
44: ELSE
45: ロボットのステータス = 300;
46: }
47: }
48: }
49: ELSE if (ロボットのステータス == 300)//ロボットのワーク保持エラー警報
50: {
51: 表示灯のステータス = 赤点灯;
52: }
53: ELSE if(ロボットのステータス == 400)//ロボットがワーク保持中
54: {
55: 表示灯のステータス=緑点灯;
56: if(ロボットが保持完了)。
57: {
58: ロボットがワークを載置開始();
59: ロボットのステータス = 500;
60: }
61: }
62: ELSE if(ロボットのステータス == 500)//ロボットがワークを載置中
63: {
64: 表示灯のステータス = 緑点灯;
65: if(ロボットがワークを載置完了)。
66: {
67: if(ロボットのグリッパーにワークあり)。
68: ロボットのステータス = 600;
69: ELSE
70: ロボットのステータス = 200;
71: }
72: }
73: ELSE if(ロボットのステータス == 600)//ロボットのワーク保持エラー警報
74: 表示灯のステータス=赤点灯;
75: //
76: //
77: }
78: if(工作機械停止)。
79: {
80: 工作機械停止 = FALSE;
81: 工作機械のステータス = 100;
82: if(工作機械ステータス == 300)
83: 工作機械が一時停止();
84: }
85: ELSE
86: {
87: //工作機械のサブプロセス
88: //分岐動作プロセス
89: if(工作機械のステータス == 100)//工作機械停止中
90: {
91: if(工作機械起動)。
92: {
93: 工作機械起動 = FALSE;
94: if(工作機械の出力エリアにワークあり)。
95: {
96: if(!工作機械の防護扉が開いている)
97: {
98: 工作機械の防護扉が開いている = TRUE;
99: 工作機械のステータス = 400;
100: }
101: ELSE
102: {
103: ロボット起動 = TRUE;
104: 工作機械のステータス = 500;
105: }
106: }
107: ELSE if(!工作機械の防護扉が閉じている)
108: {
109: 工作機械の防護扉が開いている = FALSE;
110: 工作機械のステータス = 200;
111: }
112: ELSE
113: {
114: 工作機械の加工開始();
115: 工作機械のステータス = 300;
116: }
117: }
118: }
119: ELSE if(工作機械のステータス == 200)//工作機械の防護扉が閉じている
120: {
121: if(工作機械の防護扉が閉じている()。
122: {
123: 工作機械の加工開始();
124: 工作機械のステータス = 300;
125: }
126: }
127: ELSE if(工作機械のステータス == 300)//工作機械が加工中
128: {
129: if(工作機械が加工完了)
130: {
131: 工作機械の防護扉が開句= TRUE;
132: 工作機械のステータス = 400;
133: }
134: }
135: ELSE if(工作機械のステータス== 400)//工作機械の防護扉が開いている
136: {
137: if(工作機械の防護扉が開いている)
138: {
139: ロボット起動 = TRUE;
140: 工作機械のステータス = 500;
141: }
142: }
143: ELSE if(工作機械ステータス== 500)//工作機械ワーク保持待機中
144: {
145: if(ロボットがワークを保持完了&&!工作機械の出力エリアにワークあり)
146: {
147: 工作機械の防護扉が開いている = FALSE;
148: 工作機械のステータス = 200;
149: }
150: }
151: //
152: }
153: ThreadSleep(100);
154: }
【0152】
本実施例では、上記の動作プロセスを例に、上記の動作プロセスの各プロセスステップを表形式化処理する方法で表形式化処理を行うが、以下、図6図8を参照してプロセスステップの表形式化処理ステップについて説明する:
【0153】
ステップ1、メインプロセスについて、条件列601と命令列602からなる動作プロセステーブル10000を作成する; 動作プロセステーブル10000には、動作プロセステーブルの条件列601と命令列602に対応する条件単位と命令単位とを含む動作プロセステーブル行10001が1つ追加;上記のプロセスステップ1を取得する。プロセスステップ1は条件分岐動作プロセスであるため、プロセスステップ1の実行条件「システム起動」を動作プロセステーブル行10001の条件単位に追加する;
【0154】
さらに、プロセスステップ1は、後続の命令を実行条件を満たすことを前提にループ実行することを示すため、動作プロセステーブル行10001のループ実行属性値はループ実行とする; また、動作プロセステーブル行10001の条件セルの内容の左側には、動作プロセステーブル行10001に設定ループ実行属性に応じてセルの書式に対応する設定である、プロセスステップ1の実行方式を反映する円形の内部が回転矢印のフラグ610が対応して設定する。
【0155】
(本実施例をより明確に説明するために、動作プロセステーブル内のプロセスステップはコンテンツの前にプロセスステップの番号を付けたものであり、実際の実施例にもこのマークが含まれていることを意味するものではない。)
【0156】
そして、ステップ2から、プロセスステップ1の判断結果がtrueである分岐動作プロセスについて処理を行う;
【0157】
ステップ2、プロセスステップ3は条件分岐動作プロセスであるため、プロセスステップ3のために新しい動作プロセステーブル11000を作成し、動作プロセステーブル11000を動作プロセステーブル行10001の下に階層的に埋め込む。動作プロセステーブル11000は、条件列601と命令列602とを含む。動作プロセステーブル11000のために、動作プロセステーブルの条件列601と命令列602に対応する条件手段と命令手段とを含む動作プロセステーブル行11001を作成する; プロセスステップ3の実行条件「ロボット停止」を動作プロセステーブル行11001の条件単位に追加し、後続の動作命令であるプロセスステップ5「ロボット停止= FALSE;」 およびプロセスステップ6「ロボットのステータス= 100;」 の内容を動作プロセステーブル行11001の命令単位に追加する;
【0158】
さらに、動作プロセステーブル行11001の条件単位のセルフォーマットを、動作プロセステーブル行10000と動作プロセステーブル行11000の階層関係に応じて設定し、動作プロセステーブル行11001の条件単位の中の内容を動作プロセステーブル行10001の条件単位の内容よりも設定した幅分インデントして、両者の階層関係を反映させる。
【0159】
そして、プロセスステップ3の判断結果がtrueである分岐動作プロセスの他のプロセスステップについての処理をステップ3から継続する; およびステップ4からステップ3の判断結果がFALSEである分岐動作プロセスについて処理を行う。
【0160】
ステップ3、プロセスステップ7は条件分岐動作プロセスであるため、プロセスステップ7のために新しい動作プロセステーブル11100を作成し、動作プロセステーブル11100を動作プロセステーブル行11001の下に階層的に埋め込む。動作プロセステーブル11100は、条件列601と命令列602とを含む。動作プロセステーブル11100のために、動作プロセステーブルの条件列601と命令列602に対応する条件手段と命令手段とを含む動作プロセステーブル行11101を作成する; プロセスステップ7の実行条件を動作プロセステーブル行11101の条件単位に追加し、後続の動作命令であるプロセスステップ9の内容を動作プロセステーブル行11101の命令単位に追加する;
【0161】
さらに、動作プロセステーブル11000と動作プロセステーブル11100の階層関係に基づいて、動作プロセステーブル行11101の条件単位のセルフォーマットを設定し、動作プロセステーブル行11101の条件単位の内容を動作プロセステーブル行11001の条件単位の内容よりも設定した幅分インデントして、両者の階層関係を反映させる。
【0162】
ステップ4、プロセスステップ14はロボットのサブプロセスを呼び出す動作命令なので、動作プロセステーブル行11001の後に新しい動作プロセステーブル行11002を作成し、trueを表す定数elseを動作プロセステーブル行11002の条件単位の内容として追加する; プロセスステップ14の内容を動作プロセステーブル行11002の命令単位に追加する。
【0163】
さらに、動作プロセステーブル行11001と動作プロセステーブル行11002は条件分岐動作プロセスの2つの排他的な分岐動作プロセスであるため、動作プロセステーブル行11001と動作プロセステーブル行11002の排他関係を設け、それに応じて2つの動作プロセステーブル行の条件単位の左側に丸印を設けて縦線で連結し、両者の排他的関係を書式に反映させる。
【0164】
ステップ5、後続の動作プロセスを取得し続ける、プロセスステップ78のために、動作プロセステーブルの条件列601と命令列602に対応する条件単位と命令単位とを含む動作プロセステーブル行11003を新たに作成する; プロセスステップ78は条件分岐の動作プロセスであるため、プロセスステップ78の実行条件を動作プロセステーブル行11003の条件単位に追加する、後続の動作命令であるプロセスステップ80とプロセスステップ81の内容を動作プロセステーブル行11003の命令単位に追加する;
【0165】
そして、プロセスステップ78の判断結果がtrueである分岐動作プロセスの他のプロセスステップについての処理をステップ6から継続する; およびステップ7からプロセスステップ78の判断結果がFALSEである分岐動作プロセスについて処理する。
【0166】
ステップ6、プロセスステップ82は条件分岐の動作プロセスであるため、プロセスステップ82のために新たな動作プロセステーブル11200を作成する、動作プロセステーブル11200を動作プロセステーブル行11003の下に階層的に埋め込む。動作プロセステーブル11200は、条件列601と命令列602とを含む。動作プロセステーブル11200のために、動作プロセステーブルの条件列601と命令列602に対応する条件手段と命令手段とを含む動作プロセステーブル行11201を作成する; プロセスステップ82の実行条件を動作プロセステーブル行11201の条件単位に追加し、後続の動作命令であるプロセスステップ83の内容を動作プロセステーブル行11201の命令単位に追加する;
【0167】
さらに、動作プロセステーブル行11000と動作プロセステーブル行11200の階層関係に基づいて、動作プロセステーブル行11201の条件単位のセルフォーマットを対応させ、動作プロセステーブル行11201の条件単位の中の内容を動作プロセステーブル行11003の条件単位の内容より設定した幅分インデントし、両者の階層関係を反映させる。
【0168】
ステップ7、プロセスステップ87は工作機械のサブプロセスを呼び出す動作命令なので、動作プロセステーブル行11003の後に新しい動作プロセステーブル行11004を作成し、trueを表す定数elseを動作プロセステーブル行11004の条件単位の内容として追加する; プロセスステップ87の内容を動作プロセステーブル行11004の命令単位に追加する。
【0169】
さらに、動作プロセステーブル行11003と動作プロセステーブル行11004は条件分岐動作プロセスの2つの排他的な分岐動作プロセスであるため、動作プロセステーブル行11003と動作プロセステーブル行11004の排他関係を設け、それに応じて2つの動作プロセステーブル行の条件単位の左側に丸印を設けて縦線で連結し、両者の排他的関係を書式に反映させる。
【0170】
ステップ8、プロセスステップ153は動作命令であるため、動作プロセステーブル行11004の後に新しい動作プロセステーブル行11005を作成し、trueを表す定数trueを動作プロセステーブル行11005の条件単位の内容として追加する; プロセスステップ153の内容を動作プロセステーブル行11005の命令単位に追加する。
【0171】
ステップ9、ロボットのサブプロセスの最初のプロセスステップを取得し、プロセスステップ16は条件分岐動作プロセスであるため、プロセスステップ16のために新しい動作プロセステーブル20000を作成する。動作プロセステーブル20000は、条件列601と命令列602とを含む。動作プロセステーブル20000のために、動作プロセステーブルの条件列601と命令列602に対応する条件単位と命令単位とを含む動作プロセステーブル行20001を作成する; プロセスステップ16の実行条件を動作プロセステーブル行20001の条件単位に追加し、後続の動作命令であるプロセスステップ18の内容を動作プロセステーブル行20001の命令単位に追加する;
【0172】
そして、プロセスステップ16の判断結果がtrueである分岐動作プロセスの他のプロセスステップについての処理をステップ10から続ける。
【0173】
そして、ステップ14からプロセスステップ16の判断結果がFALSEである分岐動作プロセスについて処理する。
【0174】
ステップ10、プロセスステップ19は条件分岐の動作プロセスであるため、プロセスステップ19のために新たな動作プロセステーブル21000を作成する、動作プロセステーブル21000を動作プロセステーブル行20000の下に階層的に埋め込む。動作プロセステーブル21000は、条件列601と命令列602とを含む。動作プロセステーブル21000のために、動作プロセステーブルの条件列601と命令列602に対応する条件単位と命令単位とを含む動作プロセステーブル行21001を作成する; プロセスステップ19の実行条件を動作プロセステーブル行21001の条件単位に追加し、後続の動作命令であるプロセスステップ21の内容を動作プロセステーブル行21001の命令単位に追加する;
【0175】
さらに、動作プロセステーブル行21001の条件単位のセルフォーマットを、動作プロセステーブル行20000と動作プロセステーブル行21000の階層関係に応じて設定し、動作プロセステーブル行21001の条件単位の中の内容を動作プロセステーブル行20001の条件単位の内容よりも設定した幅分インデントして、両者の階層関係を反映させる。
【0176】
そして、プロセスステップ19の判断結果がtrueである分岐動作プロセスの他のプロセスステップについての処理をステップ11から継続する。
【0177】
ステップ11、プロセスステップ22は条件分岐の動作プロセスであるため、プロセスステップ22のために新たな動作プロセステーブル21100を作成する、動作プロセステーブル21100を動作プロセステーブル行21000の下に階層的に埋め込む。動作プロセステーブル21100は、条件列601と命令列602とを含む。動作プロセステーブル21100のために、動作プロセステーブルの条件列601と命令列602に対応する条件手段と命令手段とを含む動作プロセステーブル行21101を作成する; プロセスステップ22の実行条件を動作プロセステーブル行21101の条件単位に追加し、後続の動作命令であるプロセスステップ23の内容を動作プロセステーブル行21101の命令単位に追加する;
【0178】
さらに、動作プロセステーブル21000と動作プロセステーブル21100の階層関係に基づいて、動作プロセステーブル行21101の条件単位のセルフォーマットを設定し、動作プロセステーブル行21101の条件単位の内容を動作プロセステーブル行21001の条件単位の内容よりも設定した幅分インデントして、両者の階層関係を反映させる。
【0179】
ステップ12、後続の動作プロセスを取得し続ける、プロセスステップ24のために、動作プロセステーブルの条件列601と命令列602に対応する条件単位と命令単位を含む動作プロセステーブル行21102を新たに作成する; プロセスステップ24は条件分岐の動作プロセスであるため、プロセスステップ24の実行条件を動作プロセステーブル行21102の条件単位に追加する、後続の動作命令であるプロセスステップ26、27の内容を動作プロセステーブル行21102の命令単位に追加する;
【0180】
ステップ13、プロセスステップ30は動作命令であるため、動作プロセステーブル行21102の後に新しい動作プロセステーブル行21103を作成し、trueを表す定数elseを動作プロセステーブル行21103の条件単位の内容として追加する; プロセスステップ30の内容を動作プロセステーブル行21103の命令単位に追加する。
【0181】
さらに、動作プロセステーブル行21102と動作プロセステーブル行21103は条件分岐動作プロセスの2つの排他的な分岐動作プロセスであるため、動作プロセステーブル行21102と動作プロセステーブル行21103の排他関係を設け、それに応じて2つの動作プロセステーブル行の条件単位の左側に丸印を設けて縦線で連結し、両者の排他的な関係を書式に反映させる。
【0182】
ステップ14、後続の動作プロセスを取得し続ける、プロセスステップ33のために、動作プロセステーブルの条件列601と命令列602に対応する条件単位と命令単位を含む動作プロセステーブル行20002を新たに作成する; プロセスステップ33は条件分岐の動作プロセスであるため、プロセスステップ33の実行条件を動作プロセステーブル行20002の条件単位に追加する、後続の動作命令であるプロセスステップ35の内容を動作プロセステーブル行20002の命令単位に追加する;
【0183】
そして、プロセスステップ33の判断結果がtrueである分岐動作プロセスの他のプロセスステップについての処理をステップ15から続ける。
【0184】
そして、ステップ18からプロセスステップ33の判断結果がFALSEである分岐動作プロセスについて処理する。
【0185】
ステップ15、プロセスステップ36は条件分岐の動作プロセスであるため、プロセスステップ36のために新たな動作プロセステーブル22000を作成する、動作プロセステーブル22000を動作プロセステーブル行20000の下に階層的に埋め込む。動作プロセステーブル22000は、条件列601と命令列602とを含む。動作プロセステーブル22000のために、動作プロセステーブルの条件列601と命令列602に対応する条件単位と命令単位とを含む動作プロセステーブル行22001を作成する; プロセスステップ36の実行条件を動作プロセステーブル行22001の条件単位に追加し、後続の動作命令であるプロセスステップ38の内容を動作プロセステーブル行22001の命令単位に追加する;
【0186】
さらに、動作プロセステーブル行22001の条件単位のセルフォーマットを、動作プロセステーブル行20000と動作プロセステーブル行22000の階層関係に応じて設定し、動作プロセステーブル行22001の条件単位の中の内容を動作プロセステーブル行20002の条件単位の内容より設定した幅分インデントして、両者の階層関係を反映させる。
【0187】
そして、プロセスステップ36の判断結果がtrueである分岐動作プロセスの他のプロセスステップについての処理をステップ16から続ける。
【0188】
ステップ16、プロセスステップ39は条件分岐の動作プロセスであるため、プロセスステップ39のために新たな動作プロセステーブル22100を作成する、動作プロセステーブル22100を動作プロセステーブル行22000の下に階層的に埋め込む。動作プロセステーブル22100は、条件列601と命令列602とを含む。動作プロセステーブル22100のために、動作プロセステーブルの条件列601と命令列602に対応する条件単位と命令単位とを含む動作プロセステーブル行22101を作成する; プロセスステップ39の実行条件を動作プロセステーブル行22101の条件単位に追加し、後続の動作命令であるプロセスステップ41、42の内容を動作プロセステーブル行22101の命令単位に追加する;
【0189】
さらに、動作プロセステーブル22000と動作プロセステーブル22100の階層関係に基づいて、動作プロセステーブル行22101の条件単位のセルフォーマットを設定し、動作プロセステーブル行22101の条件単位の内容を動作プロセステーブル行22001の条件単位の内容よりも設定した幅分インデントして、両者の階層関係を反映させる。
【0190】
ステップ17、プロセスステップ45は動作命令なので、動作プロセステーブル行22101の後に新しい動作プロセステーブル行22102を作成し、trueを表す定数elseを動作プロセステーブル行22102の条件単位の内容として追加する; プロセスステップ45の内容を動作プロセステーブル行22102の命令単位に追加する。
【0191】
さらに、動作プロセステーブル行22101と動作プロセステーブル行22102は条件分岐動作プロセスの2つの排他的な分岐動作プロセスであるため、動作プロセステーブル行22101と動作プロセステーブル行22102の排他関係を設け、それに応じて2つの動作プロセステーブル行の条件単位の左側に丸印を設けて縦線で連結し、両者の排他的関係を書式に反映させる。
【0192】
ステップ18、後続の動作プロセスを取得し続ける、プロセスステップ49のために、動作プロセステーブルの条件列601と命令列602に対応する条件単位と命令単位を含む動作プロセステーブル行20003を新たに作成する; プロセスステップ49は条件分岐の動作プロセスであるため、プロセスステップ49の実行条件を動作プロセステーブル行20003の条件単位に追加する、後続の動作命令であるプロセスステップ51の内容を動作プロセステーブル行20003の命令単位に追加する;
【0193】
ステップ19、後続の動作プロセスを取得し続ける、プロセスステップ53のために、動作プロセステーブルの条件列601と命令列602に対応する条件単位と命令単位を含む動作プロセステーブル行20004を新たに作成する; プロセスステップ53は条件分岐の動作プロセスであるため、プロセスステップ53の実行条件を動作プロセステーブル行20004の条件単位に追加する、後続の動作命令であるプロセスステップ、59の内容を動作プロセステーブル行20004の命令単位に追加する;
【0194】
そして、プロセスステップ53の判断結果がtrueである分岐動作プロセスのうち、他のプロセスステップについての処理をステップ20から続ける。
【0195】
そして、ステップ21からプロセスチャートステップ53の判断結果がFALSEである分岐動作プロセスについて処理する。
【0196】
ステップ20、プロセスステップ56は条件分岐の動作プロセスであるため、プロセスステップ56のために新たな動作プロセステーブル24000を作成する、動作プロセステーブル24000を動作プロセステーブル行20000の下に階層的に埋め込む。動作プロセステーブル24000は、条件列601と命令列602とを含む。動作プロセステーブル24000のために、動作プロセステーブルの条件列601と命令列602に対応する条件単位と命令単位とを含む動作プロセステーブル行24001を作成する; プロセスステップ56の実行条件を動作プロセステーブル行24001の条件単位に追加し、後続の動作命令であるプロセスステップ58、59の内容を動作プロセステーブル行24001の命令単位に追加する;
【0197】
さらに、動作プロセステーブル行24001の条件単位のセルフォーマットを、動作プロセステーブル行20000と動作プロセステーブル行24000の階層関係に応じて設定し、動作プロセステーブル行24001の条件単位の中の内容を動作プロセステーブル行20004の条件単位の内容より設定した幅分インデントして、両者の階層関係を反映させる。
【0198】
ステップ21、後続の動作プロセスを取得し続ける、プロセスステップ62のために、動作プロセステーブルの条件列601と命令列602に対応する条件単位と命令単位を含む動作プロセステーブル行20005を新たに作成する; プロセスステップ62は条件分岐の動作プロセスであるため、プロセスステップ62の実行条件を動作プロセステーブル行20005の条件単位に追加する、後続の動作命令であるプロセスステップ64の内容を動作プロセステーブル行20005の命令単位に追加する;
【0199】
そして、プロセスステップ62の判断結果がtrueである分岐動作プロセスの他のプロセスステップについての処理をステップ22から継続する。
【0200】
そして、ステップ25からプロセスチャートステップ62の判断結果がFALSEである分岐動作プロセスについて処理する。
【0201】
ステップ22、プロセスステップ65は条件分岐の動作プロセスであるため、プロセスステップ65のために新たな動作プロセステーブル25000を作成する、動作プロセステーブル25000を動作プロセステーブル行20000の下に階層的に埋め込む。動作プロセステーブル25000は、条件列601と命令列602とを含む。動作プロセステーブル25000のために、動作プロセステーブルの条件列601と命令列602に対応する条件単位と命令単位とを含む動作プロセステーブル行25001を作成する; プロセスステップ65の実行条件を動作プロセステーブル行25001の条件単位に追加する;
【0202】
さらに、動作プロセステーブル行25001の条件単位のセルフォーマットを、動作プロセステーブル行20000と動作プロセステーブル行25000の階層関係に応じて設定し、動作プロセステーブル行25001の条件単位の中の内容を動作プロセステーブル行20005の条件単位の内容より設定した幅分インデントして、両者の階層関係を反映させる。
【0203】
そして、プロセスステップ65の判断結果がtrueである分岐動作プロセスの他のプロセスステップについての処理をステップ23から継続する。
【0204】
ステップ23、プロセスステップ67は条件分岐の動作プロセスであるため、プロセスステップ67のために新たな動作プロセステーブル25100を作成する、動作プロセステーブル25100を動作プロセステーブル行25000の下に階層的に埋め込む。動作プロセステーブル25100は、条件列601と命令列602とを含む。動作プロセステーブル25100のために、動作プロセステーブルの条件列601と命令列602に対応する条件単位と命令単位とを含む動作プロセステーブル行25101を作成する; プロセスステップ67の実行条件を動作プロセステーブル行25101の条件単位に追加し、後続の動作命令であるプロセスステップ68の内容を動作プロセステーブル行25101の命令単位に追加する;
【0205】
さらに、動作プロセステーブル25000と動作プロセステーブル25100の階層関係に基づいて、動作プロセステーブル行25101の条件単位のセルフォーマットを設定し、動作プロセステーブル行25101の条件単位の内容を動作プロセステーブル行25001の条件単位の内容よりも設定した幅分インデントして、両者の階層関係を反映させる。
【0206】
ステップ24からは、プロセスステップ67の判断結果がFALSEである分岐動作プロセスについて処理を行う。
【0207】
ステップ24、プロセスステップ70は動作命令なので、動作プロセステーブル行25101の後に新しい動作プロセステーブル行25102を作成し、trueを表す定数elseを動作プロセステーブル行25102の条件単位の内容として追加する; プロセスステップ70の内容を動作プロセステーブル行25102の命令単位に追加する。
【0208】
さらに、動作プロセステーブル行25101と動作プロセステーブル行25102は条件分岐動作プロセスの2つの排他的な分岐動作プロセスであるため、動作プロセステーブル行25101と動作プロセステーブル行25102の排他関係を設け、それに応じて2つの動作プロセステーブル行の条件単位の左側に丸印を設けて縦線で連結し、両者の排他的関係を書式に反映させる。
【0209】
ステップ25、後続の動作プロセスを取得し続ける、プロセスステップ73のために、動作プロセステーブルの条件列601と命令列602に対応する条件単位と命令単位を含む動作プロセステーブル行20006を新たに作成する; プロセスステップ73は条件分岐の動作プロセスであるため、プロセスステップ73の実行条件を動作プロセステーブル行20006の条件単位に追加する、後続の動作命令であるプロセスステップ74の内容を動作プロセステーブル行20006の命令単位に追加する;
【0210】
ステップ26、工作機械のサブプロセス中の最初のプロセスステップを取得し、プロセスステップ89は条件分岐動作プロセスであるため、プロセスステップ89のために新しい動作プロセステーブル30000を作成する。動作プロセステーブル30000は、条件列601と命令列602とを含む。動作プロセステーブル30000のために、動作プロセステーブルの条件列601と命令列602に対応する条件単位と命令単位とを含む動作プロセステーブル行30001を作成する; プロセスステップ89の実行条件を動作プロセステーブル行30001の条件単位に追加する;
【0211】
そして、プロセスステップ89の判断結果がtrueである分岐動作プロセスの他のプロセスステップについての処理をステップ27から続ける。
【0212】
そして、ステップ33からプロセスステップ89の判断結果がFALSEである分岐動作プロセスについて処理する。
【0213】
ステップ27、プロセスステップ91は条件分岐動作プロセスであるため、プロセスステップ91のために新しい動作プロセステーブル31000を作成し、動作プロセステーブル31000を動作プロセステーブル行30000の下に階層的に埋め込む。動作プロセステーブル31000は、条件列601と命令列602とを含む。動作プロセステーブル31000のために、動作プロセステーブルの条件列601と命令列602に対応する条件単位と命令単位とを含む動作プロセステーブル行31001を作成する; プロセスステップ91の実行条件を動作プロセステーブル行31001の条件単位に追加し、後続の動作命令であるプロセスステップ93の内容を動作プロセステーブル行31001の命令単位に追加する;
【0214】
さらに、動作プロセステーブル30000と動作プロセステーブル31000の階層関係に基づいて、動作プロセステーブル行31001の条件単位のセルフォーマットを設定し、動作プロセステーブル行31001の条件単位の内容を動作プロセステーブル行30001の条件単位の内容よりも設定した幅分インデントして、両者の階層関係を反映させる。
【0215】
そして、ステップ28から、プロセスステップ91の判断結果がtrueである分岐動作プロセスの他のプロセスステップについての処理を継続する。
【0216】
ステップ28、プロセスステップ94は条件分岐の動作プロセスであるため、プロセスステップ94のために新たな動作プロセステーブル31100を作成する、動作プロセステーブル31100を動作プロセステーブル行31000の下に階層的に埋め込む。動作プロセステーブル31100は、条件列601と命令列602とを含む。動作プロセステーブル31100のために、動作プロセステーブルの条件列601と命令列602に対応する条件単位と命令単位とを含む動作プロセステーブル行31101を作成する; プロセスステップ94の実行条件を動作プロセステーブル行31101の条件単位に追加する;
【0217】
さらに、動作プロセステーブル31000と動作プロセステーブル31100の階層関係に基づいて、動作プロセステーブル行31101の条件単位のセルフォーマットを設定し、動作プロセステーブル行31101の条件単位の内容を動作プロセステーブル行31001の条件単位の内容よりも設定した幅分インデントして、両者の階層関係を反映させる。
【0218】
そして、ステップ29から、プロセスステップ94の判断結果がtrueである分岐動作プロセスの他のプロセスステップについての処理を継続する。
【0219】
そして、ステップ31からプロセスステップ94の判断結果がFALSEである分岐動作プロセスについて処理する。
【0220】
ステップ29、プロセスステップ96は条件分岐の動作プロセスであるため、プロセスステップ96のために新たな動作プロセステーブル31110を作成する、動作プロセステーブル31110を動作プロセステーブル行31100の下に階層的に埋め込む。動作プロセステーブル31110は、条件列601と命令列602とを含む。動作プロセステーブル31110のために、動作プロセステーブルの条件列601と命令列602に対応する条件単位と命令単位とを含む動作プロセステーブル行31111を作成する; プロセスステップ96の実行条件を動作プロセステーブル行31111の条件単位に追加し、後続の動作命令であるプロセスステップ98、99の内容を動作プロセステーブル行31111の命令単位に追加する;
【0221】
さらに、動作プロセステーブル31100と動作プロセステーブル31110の階層関係に基づいて、動作プロセステーブル行31111の条件単位のセルフォーマットを設定し、動作プロセステーブル行31111の条件単位の内容を動作プロセステーブル行31101の条件単位の内容よりも設定した幅分インデントして、両者の階層関係を反映させる。
【0222】
ステップ30、プロセスステップ103、104は動作命令であるため、動作プロセステーブル行31111の後に新しい動作プロセステーブル行31112を作成し、動作プロセステーブル行31112の条件単位の内容としてtrueを表す定数elseを追加する; プロセスステップ103、104の内容を動作プロセステーブル行31112の命令単位に追加する。
【0223】
さらに、動作プロセステーブル行31111と動作プロセステーブル行31112は条件分岐動作プロセスの2つの排他的な分岐動作プロセスであるため、動作プロセステーブル行31111と動作プロセステーブル行31112の排他関係を設け、それに応じて2つの動作プロセステーブル行の条件単位の左側に丸印を設けて縦線で連結し、両者の排他的関係を書式に反映させる。
【0224】
ステップ31、後続の動作プロセスを取得し続ける、プロセスステップ107のために、動作プロセステーブルの条件列601と命令列602に対応する条件単位と命令単位を含む動作プロセステーブル行31102を新たに作成する; プロセスステップ107は条件分岐の動作プロセスであるため、プロセスステップ107の実行条件を動作プロセステーブル行31102の条件単位に追加する、後続の動作命令であるプロセスステップ109、110の内容を動作プロセステーブル行31102の命令単位に追加する;
【0225】
ステップ32から、プロセスステップ107の判断結果がFALSEである分岐動作プロセスについて処理を開始する。
【0226】
ステップ32、プロセスステップ114、115は動作命令であるため、動作プロセステーブル行31102の後に新しい動作プロセステーブル行31103を作成し、trueを表す定数elseを動作プロセステーブル行31103の条件単位の内容として追加する; プロセスステップ114、115の内容を動作プロセステーブル行31103の命令単位に追加する。
【0227】
さらに、動作プロセステーブル行31102と動作プロセステーブル行31103は条件分岐動作プロセスの2つの排他的な分岐動作プロセスであるため、動作プロセステーブル行31102と動作プロセステーブル行31103の排他関係を設け、それに応じて2つの動作プロセステーブル行の条件単位の左側に丸印を設けて縦線で連結し、両者の排他的関係を書式に反映させる。
【0228】
ステップ33、後続の動作プロセスを取得し続ける、プロセスステップ119のために、動作プロセステーブルの条件列601と命令列602に対応する条件単位と命令単位を含む動作プロセステーブル行30002を新たに作成する; プロセスステップ119は条件分岐の動作プロセスであるため、プロセスステップ119の実行条件を動作プロセステーブル行30002の条件単位に追加する;
【0229】
そして、プロセスステップ119の判断結果がtrueである分岐動作プロセスの他のプロセスステップについての処理をステップ34から続ける。
【0230】
そして、プロセスステップ119の判断結果がFALSEの分岐動作プロセスについては、ステップ35から処理を開始する。
【0231】
ステップ34、プロセスステップ121は条件分岐の動作プロセスであるため、プロセスステップ121のために新たな動作プロセステーブル32000を作成する、動作プロセステーブル32000を動作プロセステーブル行30000の下に階層的に埋め込む。動作プロセステーブル32000は、条件列601と命令列602とを含む。動作プロセステーブル32000のために、動作プロセステーブルの条件列601と命令列602に対応する条件単位と命令単位とを含む動作プロセステーブル行32001を作成する; プロセスステップ121の実行条件を動作プロセステーブル行32001の条件単位に追加し、後続の動作命令であるプロセスステップ123、124の内容を動作プロセステーブル行32001の命令単位に追加する;
【0232】
さらに、動作プロセステーブル30000と動作プロセステーブル32000の階層関係に基づいて、動作プロセステーブル行32001の条件単位のセルフォーマットを設定し、動作プロセステーブル行32001の条件単位の中の内容を動作プロセステーブル行30002の条件単位の内容より設定した幅分インデントし、両者の階層関係を反映させる。
【0233】
ステップ35、後続の動作プロセスを取得し続ける、プロセスステップ127のために、動作プロセステーブルの条件列601と命令列602に対応する条件単位と命令単位を含む動作プロセステーブル行30003を新たに作成する; プロセスステップ127は条件分岐の動作プロセスであるため、プロセスステップ127の実行条件を動作プロセステーブル行30003の条件単位に追加する;
【0234】
そして、プロセスステップ127の判断結果がtrueである分岐動作プロセスの他のプロセスステップについての処理をステップ36から続ける。
【0235】
そして、プロセスステップ127の判断結果がFALSEの分岐動作プロセスについては、ステップ37から処理を開始する。
【0236】
ステップ36、プロセスステップ129は条件分岐の動作プロセスであるため、プロセスステップ129のために新たな動作プロセステーブル33000を作成する、動作プロセステーブル33000を動作プロセステーブル行30000の下に階層的に埋め込む。動作プロセステーブル33000は、条件列601と命令列602とを含む。動作プロセステーブル33000のために、動作プロセステーブルの条件列601と命令列602に対応する条件単位と命令単位とを含む動作プロセステーブル行33001を作成する; プロセスステップ129の実行条件を動作プロセステーブル行33001の条件単位に追加し、後続の動作命令であるプロセスステップ131、132の内容を動作プロセステーブル行33001の命令単位に追加する;
【0237】
さらに、動作プロセステーブル30000と動作プロセステーブル33000の階層関係に基づいて、動作プロセステーブル行33001の条件単位のセルフォーマットを設定し、動作プロセステーブル行33001の条件単位の中の内容を動作プロセステーブル行30003の条件単位の内容より設定した幅分インデントし、両者の階層関係を反映させる。
【0238】
ステップ37、後続の動作プロセスを取得し続ける、プロセスステップ135のために、動作プロセステーブルの条件列601と命令列602に対応する条件単位と命令単位を含む動作プロセステーブル行30004を新たに作成する; プロセスステップ135は条件分岐の動作プロセスであるため、プロセスステップ135の実行条件を動作プロセステーブル行30004の条件単位に追加する;
【0239】
そして、プロセスステップ135の判断結果がtrueである分岐動作プロセスの他のプロセスステップについての処理をステップ38から継続する。
【0240】
そして、プロセスステップ135の判断結果がFALSEの分岐動作プロセスについては、ステップ39から処理を開始する。
【0241】
ステップ38、プロセスステップ137は条件分岐の動作プロセスであるため、プロセスステップ137のために新たな動作プロセステーブル34000を作成する、動作プロセステーブル34000を動作プロセステーブル行30000の下に階層的に埋め込む。動作プロセステーブル34000は、条件列601と命令列602とを含む。動作プロセステーブル34000のために、動作プロセステーブルの条件列601と命令列602に対応する条件単位と命令単位とを含む動作プロセステーブル行34001を作成する; プロセスステップ137の実行条件を動作プロセステーブル行34001の条件単位に追加し、後続の動作命令であるプロセスステップ139、140の内容を動作プロセステーブル行34001の命令単位に追加する;
【0242】
さらに、動作プロセステーブル30000と動作プロセステーブル34000の階層関係に基づいて、動作プロセステーブル行34001の条件単位のセルフォーマットを設定し、動作プロセステーブル行34001の条件単位の中の内容を動作プロセステーブル行30004の条件単位の内容より設定した幅分インデントして、両者の階層関係を反映させる。
【0243】
ステップ39、後続の動作プロセスを取得し続ける、プロセスステップ143のために、動作プロセステーブルの条件列601と命令列602に対応する条件単位と命令単位を含む動作プロセステーブル行30005を新たに作成する; プロセスステップ143は条件分岐の動作プロセスであるため、プロセスステップ143の実行条件を動作プロセステーブル行30005の条件単位に追加する;
【0244】
そして、プロセスステップ143の判断結果がtrueである分岐動作プロセスの他のプロセスステップについての処理をステップ40から継続する。
【0245】
ステップ40、プロセスステップ145は条件分岐の動作プロセスであるため、プロセスステップ145のために新たな動作プロセステーブル35000を作成する、動作プロセステーブル35000を動作プロセステーブル行30000の下に階層的に埋め込む。動作プロセステーブル35000は、条件列601と命令列602とを含む。動作プロセステーブル35000のために、動作プロセステーブルの条件列601と命令列602に対応する条件単位と命令単位とを含む動作プロセステーブル行35001を作成する; プロセスステップ145の実行条件を動作プロセステーブル行35001の条件単位に追加し、後続の動作命令であるプロセスステップ147、148の内容を動作プロセステーブル行35001の命令単位に追加する;
【0246】
さらに、動作プロセステーブル30000と動作プロセステーブル35000の階層関係に基づいて、動作プロセステーブル行35001の条件単位のセルフォーマットを設定し、動作プロセステーブル行35001の条件単位の中の内容を動作プロセステーブル行30005の条件単位の内容より設定した幅分インデントし、両者の階層関係を反映させる。
【0247】
以上、ステップ1~ステップ40により、本実施例における自動化生産システムの詳細な動作プロセスを表形式化動作プロセス処理方法で表形式化処理する具体的なステップを説明した。
【0248】
上記の動作プロセスに対する表形式化処理では、ステップ1でメインプロセスに対して動作プロセステーブル10000を作成する、さらにステップ1~ステップ40で当該動作プロセステーブル10000に40行の動作プロセステーブル行を追加する(図6図8)ことから分かるように、動作プロセスを表形式化する方法は、動作プロセスに対して空の動作プロセステーブルを自動的に作成する(ステップS1に対応)、動作プロセスの各ステップを当該動作プロセステーブルに追加する。
【0249】
空の動作プロセステーブルを作成した後、動作プロセスのプロセスステップを順に取得し、プロセスステップタイプ、すなわちプロセスステップが動作命令なのか、条件分岐動作プロセスまたはループ動作プロセスに属するのかを判断する必要があり、動作プロセスでのプロセスステップの対応する動作プロセスタイプを判断する必要がある(ステップS2に対応)。
【0250】
プロセスステップの動作プロセスタイプを判定した後、ステップ1でループ動作プロセスに対応するプロセスステップ1から動作プロセステーブル行10001を作成し、そのループ動作プロセスに後続するすべてのプロセスステップについて、動作プロセステーブル行10001の下に階層的に埋め込まれた動作プロセステーブル行11000から後続の動作プロセステーブル行作成を行うことで分かるように、一連の動作プロセスにおいて同じループに属するプロセスステップについて、 これに応じて、動作プロセステーブルの行が生成される。これは、動作プロセス内の連続したプロセスステップを、所定のプロセスステップ順序の組み合わせルールに従って、対応する動作プロセスタイプに対応する少なくとも1つのプロセスステップ順序に組み合わせ、そのプロセスステップ順序に対して現在の動作プロセステーブルに対応する動作プロセステーブルの行を生成することに相当する。このことは、ステップ2からステップ4において、1つの条件分岐動作プロセスに属するプロセスステップ3、5、6、7、9、14について、対応する動作プロセステーブル行11001と動作プロセステーブル行11002を生成するも表現できる(プロセスステップ7、9は、条件分岐動作プロセスにおける条件分岐動作プロセスであるため、動作プロセステーブル行11001の下の動作プロセステーブル11100に1段階で埋め込まれて処理する)。
【0251】
その上で、ステップ2からステップ8から分かるように、条件分岐動作プロセスである最初のプロセスステップ序列(対応プロセスステップ3、5、6、7、9、14)、条件分岐動作プロセスである2番目のプロセスステップ序列)対応プロセスステップ78、80、81、82、83、87)、および動作命令であるプロセスステップ153))について このステップは、プロセスステップ列を動作プロセスから順次取得し、プロセスステップ列の動作プロセスタイプに基づいて、その動作プロセスタイプを持つプロセスステップ列に対応する予定行生成ルールに基づいて、プロセスステップ列に対応する動作プロセステーブル行を動作プロセステーブル中に順次生成することに相当する(ステップS4に対応)。
【0252】
最後に、全てのプロセスステップを取得し終わると、全体の動作プロセスに対応する動作プロセステーブルも作成され、プロセスステップが取得されたかどうかを判断し、そうでないと判断すればステップS2に戻り、そうであると判断すれば最終的な動作プロセステーブルを得て出力することに相当する(ステップS5に対応)。また、上記のプロセスは、プロセスステップ153を取得した後も、実際にはプロセスステップ14およびプロセスステップ87を処理するときのプロセスに対応していますが、説明を簡単にするためにプロセスをステップ8の後に置く。
【0253】
本実施例の動作プロセスの表形式化処理方法は概ね以上の通りであり、このような方法で動作プロセスの表形式を実現することができる。次に、この表形式処理の動作プロセスの方法について、より詳しく述べる。
【0254】
動作プロセステーブルは、条件列、命令列を含む(図6の条件列601と命令列602)。
【0255】
本実施例において、動作プロセステーブル10000に動作プロセステーブル行10001を作成する場合、この動作プロセステーブル行10001は、動作プロセステーブルの条件列601と命令列602に対応する条件単位と命令単位を含み、図6図8から分かるように、条件単位は条件列601に位置し、命令単位は命令列602に位置する。
【0256】
ステップ2から分かるように、条件に応じて動作プロセスを分岐させるプロセスステップ3については、その実行条件「ロボット停止」を動作プロセステーブル行11001の条件単位に追加すると、条件単位のうち、少なくとも動作プロセスに実行判断を追加するためのプロセスステップに相当し、このプロセスステップを実行条件とする。
【0257】
ステップ2から分かるように、動作命令であるプロセスステップ5と6(動作命令型動作プロセスに対応するプロセスステップ序列に相当)は、動作プロセステーブル行11001の命令単位に追加され、命令単位に動作プロセスで動作を実行するためのプロセスステップを動作命令として追加することに相当する。
【0258】
動作プロセスを表形式化して処理する方法のステップS4では、プロセスステップ序列に対応する動作プロセスタイプによって、異なる予定行生成ルールで動作プロセステーブル行を生成する必要がある。
【0259】
ステップ8で述べたように、動作プロセスタイプが動作命令型動作プロセスの場合、3番目のプロセスステップ(プロセスステップ153)は動作命令型プロセスステップ序列であり、動作プロセステーブル行11004の後に新しい動作プロセステーブル行11005を作成し、trueを表す定数trueを動作プロセステーブル行11005の条件として追加する プロセスステップ153の内容を動作プロセステーブル行11005の命令単位に追加する。動作プロセステーブルに現在の動作プロセステーブル行として1つの動作プロセステーブル行を順次生成することに相当する(ステップA1); 現在の動作プロセステーブルの行の条件単位に真の値を実行条件として追加する(ステップA2; 該当する動作命令型プロセスステップ序列中のプロセスステップを順番に取得し、現在の動作プロセステーブルラインの命令単位に追加する(ステップA3)。
【0260】
また、ステップ2で述べたように、動作命令として後続するプロセスステップ5、6は動作プロセス行11001の命令単位に追加され、ステップ5、ステップ12なども同様であるため、同じ動作命令で連続するプロセスステップについては一括して処理され、これらのプロセスステップに対応するプロセスステップの組み合わせルールは、命令型動作プロセスの中で連続するプロセスステップを動作命令型プロセスステップ序列に組み合わせたものである。
【0261】
動作プロセスタイプが条件分岐動作プロセスの場合、ステップ2~ステップ4で述べたように、条件分岐動作プロセスである最初のプロセスステップ序列(対応するプロセスステップ3、5、6、7、9、14)に対して、それぞれ対応する動作プロセステーブル行11001と11004が作成される 条件分岐動作プロセスに対するプロセスステップの組み合わせルールは、条件分岐動作プロセスにおける分岐動作プロセスと、その分岐動作プロセスに対応する実行条件とを組み合わせて条件分岐型プロセスステップ列を作成し、順次分岐動作プロセスごとに動作プロセステーブルに対応する動作プロセステーブル行を順次作成する(ステップB1)。
【0262】
また、これら2行の11001と11002の条件単位には、それぞれ実行条件であるプロセスステップ3と、”true”を表す定数”else”が追加されているとともに、これら2行に対応して排他関係が設けられており、分岐動作プロセスの実行条件であるプロセスステップをそれぞれ対応する動作プロセステーブル行の条件単位に追加し、生成された各動作プロセステーブル行動排他関係を設けることに相当する(ステップB2)。
【0263】
次に、動作プロセステーブル行が作成され、実行条件が追加されると、ステップ2およびステップ3において、動作プロセステーブル行11001では、プロセスステップ5、6、7、9の順に処理が行われ、ステップ4では、動作プロセステーブル行11002では、プロセスステップ14の処理が行われる。したがって、この過程は分岐動作プロセスごとに、分岐動作プロセス中のプロセスステップを順次取得して順次処理することに相当する(ステップB3)。
【0264】
同様に、ステップS2、S3、S4に対応する、分岐動作プロセス毎に処理を行う場合も同様に、各プロセスステップが対応する分岐動作プロセスにおいて対応する動作プロセスタイプを判定し、さらに分岐動作プロセスにおいて連続する同一の動作プロセスタイプに対応するプロセスステップを、対応する動作プロセスタイプに対応する一つのプロセスステップ序列(サブプロセスステップ序列に相当)に分割する。
【0265】
最初のサブプロセスステップ序列が条件分岐動作プロセスで動作命令型動作プロセスに対応している場合、例えば、ステップ2でプロセスステップ5、6の処理ステップに示したように、サブプロセスステップ序列中の各プロセスステップを、対応する分岐動作プロセスの動作プロセステーブル行の命令単位に動作命令順として追加することに相当する。
【0266】
条件分岐動作プロセスでサブプロセスステップが動作命令型動作プロセスに対応していない場合、例えば、ステップ3でプロセスステップ7、9の処理ステップを示したように、該当する分岐動作プロセスに対応するサブ動作プロセステーブルを作成し、動作プロセスタイプに対応する予定行作成ルールに基づいてサブ動作プロセステーブルにサブ動作プロセステーブル行を順次作成することに相当する。ここで、サブ動作プロセスは、分岐動作プロセスに対応する動作プロセステーブル行の下に表層的に埋め込まれています。例えば、サブ動作プロセステーブル11101は動作プロセステーブル行11001の下に埋め込まれる。
【0267】
また、条件分岐動作プロセスのサブプロセスである各分岐動作プロセスについても、前述のステップと同様に、それぞれの分岐動作プロセスに対応する動作プロセステーブル行を生成し、それぞれの分岐動作プロセスにおけるプロセスステップごとに順次処理を行う予定行生成ルールを採用している。
【0268】
動作プロセスタイプが循環動作プロセスの場合、ステップ1で述べたように、循環動作プロセスであるプロセスステップ序列(プロセスステップ1およびプロセスステップ1の下にネストされた循環サブプロセス)プロセスステップ3~153)に対して、まず動作プロセステーブル10000に動作プロセステーブル行10001を追加し、動作プロセステーブルに現在の動作プロセステーブル行として動作プロセステーブル行を順次生成することに相当する)ステップD1)。
【0269】
次に、プロセスステップ1の実行条件「システム起動」を動作プロセステーブル行10001の条件単位に追加し、動作プロセステーブル行10001の条件単位の内容の左側に対応して、円形の内部が回転矢印のフラグ610を設定する。現在のプロセスステップに相当する行にはループ属性単位も含まれており、現在のプロセスステップを実行条件として現在の動作プロセステーブル行の条件単位に追加し、ループ属性単位にループ実行属性を追加する(ステップD2)。
【0270】
ステップ2で述べたように、プロセスステップ3は条件分岐動作プロセスであり、プロセスステップ3のために新たな動作プロセステーブル11000を作成するので、ループサブプロセスに対して処理を行う場合にも、ループサブプロセスの各プロセスステップに対応する動作プロセスタイプを判定し、条件分岐動作プロセスの所定の行生成ルールに対応する処理プロセスと同様に、さらに所定のプロセスステップ順序組み合わせルールに従って、ループ動作プロセスステップ順序中の連続するプロセスステップを対応する動作プロセスタイプに組み合わせる必要がある また、循環サブプロセス中の各プロセスステップを順番に処理することは、当該循環サブプロセスを1つの循環動作プロセスステップ序列とすることに相当する。すなわち、循環動作プロセスに対するプロセスステップの組み合わせルールは、循環動作プロセスの実行条件および循環サブプロセスを循環動作プロセスステップ序列に組み合わせることである。
【0271】
条件分岐動作プロセスにおいて、サブプロセスが動作命令型動作プロセスに対応していない場合、例えば、ステップ2でプロセスステップ3の処理ステップを示したように、まずループ動作プロセスに対応するサブ動作プロセステーブルを作成し、動作プロセスタイプに対応する予定行作成ルールに基づいてサブ動作プロセステーブルにサブプロセスステップに対応する動作プロセステーブル行を順次作成することに相当する。その中で、サブ動作プロセスは表層レベルで対応する動作プロセステーブル行の下に埋め込まれています。例えば、サブ動作プロセステーブル11000は動作プロセステーブル行10001の下に埋め込まれる。
【0272】
最初のサブプロセスステップ序列が条件分岐動作プロセスで動作命令型動作プロセスに対応している場合は、条件分岐動作プロセスの予定行生成ルールと同様に、該当する分岐動作プロセスの動作プロセステーブル行の命令単位に、サブプロセスステップ序列中の各プロセスステップを動作命令順として追加する。
【0273】
次に、上記の表形式化処理過程の処理によって得る動作プロセステーブル10000を例に、この動作プロセステーブル10000の動作プロセスを実行する方法を紹介する。具体的なステップは以下の通りである。
【0274】
ステップ1、動作プロセステーブル10000の最初の動作プロセステーブル行10001を取得し、動作プロセステーブル行10001の条件単位の実行条件「システム起動」がtrueかどうかを判断する; そうである場合は、動作プロセステーブル行10001に埋め込まれた下位動作プロセステーブル11000をさらに取得する。そして次のステップを実行する;
【0275】
ステップ2、動作プロセステーブル11000の最初の動作プロセステーブル行11001を取得し、動作プロセステーブル行11001の条件単位の実行条件「ロボット停止」がtrueかどうかを判断する;
【0276】
そうである場合は、動作プロセステーブル行11001の命令単位の内容「ロボット停止= FALSE;」を取得して実行する。「ロボットのステータス= 100;」 の順にクリックし、動作プロセステーブル行11001に埋め込まれている下位動作プロセステーブル11100をさらに取得する。ステップ3を実行する; そして、動作プロセステーブル行11001と非排他の関係にある次の動作プロセステーブル行11003を取得する、ステップ5を実行する;
【0277】
そうでない場合、次の動作プロセステーブル行11002を取得し、ステップ4を実行する;
【0278】
ステップ3、動作プロセステーブル11100の1番目の動作プロセステーブル行11101を取得し、動作プロセステーブル行11101の条件単位の実行条件がtrueかどうかを判断する;
【0279】
そうである場合は、動作プロセステーブル行11101の命令単位の内容を取得して実行する。
【0280】
ステップ4、動作プロセステーブル行11002の条件単位の実行条件がtrueである; そのため、動作プロセステーブル行11001の命令単位の内容を取得して実行する。動作プロセステーブル行11001の命令単位での動作命令はロボットサブプロセスの呼び出しなので、ステップ9からロボットサブプロセスを実行する。動作プロセステーブル行11002には下位動作プロセステーブルが埋め込まれていないため、ロボットサブプロセスの実行が完了した直後にステップ5を実行する。
【0281】
ステップ5、動作プロセステーブル行11003の条件単位の実行条件がtrueかどうかを判断する;
【0282】
そうである場合は、動作プロセステーブル行11003の命令単位内の内容を取得する実行し、さらに動作プロセステーブル行11003に埋め込まれた下位の動作プロセステーブル11200を取得する。ステップ6を実行する; そして、動作プロセステーブル行11003と非排他の関係にある次の動作プロセステーブル行11005を取得する、ステップ8を実行する;
【0283】
そうでない場合、次の動作プロセステーブル行11004を取得し、ステップ7を実行する;
【0284】
ステップ6、動作プロセステーブル11200の1番目の動作プロセステーブル行11201を取得し、動作プロセステーブル行11201の条件単位の実行条件がtrueかどうかを判断する;
【0285】
そうである場合は、動作プロセステーブル行11201の命令単位の内容を取得して実行する。
【0286】
ステップ7、動作プロセステーブル行11004の条件単位の実行条件がtrueである; そのため、動作プロセステーブル行11004の命令単位の内容を取得して実行する。動作プロセステーブル行11004の命令単位での動作命令はワークセルフプロセスの呼び出しなので、ステップ26からワークセルフプロセスを実行する。動作プロセステーブル行11004には下位の動作プロセステーブルが埋め込まれていないため、工作機械のサブプロセスの実行が完了した直後にステップ8を実行する。
【0287】
ステップ8、動作プロセステーブル行11005の条件単位の実行条件がtrueである; そのため、動作プロセステーブル行11005の命令単位の内容を取得して実行する。これはアクティブプロセステーブルの最後のプロセステーブル行で、動作プロセステーブル行10001のループ実行属性値はループ実行であるため、ステップ1に戻って実行を続行する。
【0288】
ステップ9、動作プロセステーブル20000の最初の動作プロセステーブル行20001を取得し、動作プロセステーブル行20001の条件単位の実行条件がtrueかどうかを判断する;
【0289】
そうである場合は、動作プロセステーブル行20001の命令単位の内容を取得して実行し、さらに動作プロセステーブル行20001に埋め込まれた下位動作プロセステーブル21000を取得する。ステップ10を実行する;
【0290】
そうでない場合、次の動作プロセステーブル行20002を取得し、ステップ14を実行する;
【0291】
ステップ10、動作プロセステーブル21000の1番目の動作プロセステーブル行21001を取得し、動作プロセステーブル行21001の条件単位の実行条件がtrueかどうかを判断する;
【0292】
そうである場合は、動作プロセステーブル行21001の命令単位の内容を取得して実行し、さらに動作プロセステーブル行21001に埋め込まれた下位動作プロセステーブル21100を取得する。ステップ11を実行する;
【0293】
ステップ11、動作プロセステーブル21100の1番目の動作プロセステーブル行21101を取得する、動作プロセステーブル行21101の条件単位の実行条件がtrueかどうかを判断する;
【0294】
そうである場合は、動作プロセステーブル行21101の命令単位の内容を取得する実行する;
【0295】
そうでない場合次の動作プロセステーブル行21102を取得し、ステップ12を実行する;
【0296】
ステップ12、動作プロセステーブル行21102の条件単位の実行条件がtrueかどうかを判断する;
【0297】
そうである場合は、動作プロセステーブル行21102の命令単位の内容を取得する実行する;
【0298】
そうでない場合次の動作プロセステーブル行21103を取得し、ステップ13を実行する;
【0299】
ステップ13、動作プロセステーブル行21103の条件単位の実行条件がtrueかどうかを判断する;
【0300】
そうである場合は、動作プロセステーブル行21103の命令単位の内容を取得する実行する;
【0301】
ステップ14、動作プロセステーブル行20002の条件単位の実行条件がtrueかどうかを判断する;
【0302】
そうである場合は、動作プロセステーブル行20002の命令単位の内容を取得して実行し、さらに動作プロセステーブル行20002に埋め込まれた下位動作プロセステーブル22000を取得する。ステップ15を実行する;
【0303】
そうでない場合、次の動作プロセステーブル行20003を取得し、ステップ18を実行する;
【0304】
ステップ15、動作プロセステーブル22000の最初の動作プロセステーブル行22001を取得し、動作プロセステーブル行22001の条件単位の実行条件がtrueかどうかを判断する;
【0305】
そうである場合は、動作プロセステーブル行22001の命令単位の内容を取得して実行し、さらに動作プロセステーブル行22001に埋め込まれた下位動作プロセステーブル22100を取得する。ステップ16を実行する。
【0306】
ステップ16、動作プロセステーブル22100の1番目の動作プロセステーブル行22101を取得する、動作プロセステーブル行22101の条件単位の実行条件がtrueかどうかを判断する;
【0307】
そうである場合は、動作プロセステーブル行22101の命令単位の内容を取得する実行する;
【0308】
そうでない場合、次の動作プロセステーブル行22102を取得し、ステップ17を実行する;
【0309】
ステップ17、動作プロセステーブル行22102の条件単位の実行条件がtrueかどうかを判断する;
【0310】
そうである場合は、動作プロセステーブル行22102の命令単位の内容を取得する実行する;
【0311】
ステップ18、動作プロセステーブル行20003の条件単位の実行条件がtrueかどうかを判断する;
【0312】
そうである場合は、動作プロセステーブル行20003の命令単位の内容を取得する実行する;
【0313】
そうでない場合、次の動作プロセステーブル行20004を取得し、ステップ19を実行する;
【0314】
ステップ19、動作プロセステーブル行20004の条件単位の実行条件がtrueかどうかを判断する;
【0315】
そうである場合は、動作プロセステーブル行20004の命令単位の内容を取得して実行し、さらに動作プロセステーブル行20004に埋め込まれた下位動作プロセステーブル24000を取得する。ステップ20を実行する;
【0316】
そうでない場合、次の動作プロセステーブル行20004を取得し、ステップ21を実行する;
【0317】
ステップ20、動作プロセステーブル行24001の条件単位の実行条件がtrueかどうかを判断する;
【0318】
そうである場合は、動作プロセステーブル行24001の命令単位の内容を取得する実行する;
【0319】
ステップ21、動作プロセステーブル行20005の条件単位の実行条件がtrueかどうかを判断する;
【0320】
そうである場合は、動作プロセステーブル行20005の命令単位の内容を取得して実行し、さらに動作プロセステーブル行20005に埋め込まれた下位動作プロセステーブル25000を取得する。ステップ22を実行する;
【0321】
そうでない場合、次の動作プロセステーブル行20006を取得し、ステップ25を実行する;
【0322】
ステップ22、動作プロセステーブル25000の最初の動作プロセステーブル行25001を取得し、動作プロセステーブル行25001の条件単位の実行条件がtrueかどうかを判断する;
【0323】
そうである場合は、動作プロセステーブル行25001の命令単位の内容を取得して実行し、さらに動作プロセステーブル行25001に埋め込まれた下位動作プロセステーブル25100を取得する。ステップ16を実行する。
【0324】
ステップ23、動作プロセステーブル25100の1番目の動作プロセステーブル行25101を取得する、動作プロセステーブル行25101の条件単位の実行条件がtrueかどうかを判断する;
【0325】
そうである場合は、動作プロセステーブル行25101の命令単位の内容を取得する実行する;
【0326】
そうでない場合、次の動作プロセステーブル行25102を取得してステップ17を実行する;
【0327】
ステップ24、動作プロセステーブル行25102の条件単位の実行条件がtrueかどうかを判断する;
【0328】
そうである場合は、動作プロセステーブル行25102の命令単位の内容を取得する実行する;
【0329】
ステップ25、動作プロセステーブル行20006の条件単位の実行条件がtrueかどうかを判断する;
【0330】
そうである場合は、動作プロセステーブル行20006の命令単位の内容を取得する実行する;
【0331】
ステップ26、動作プロセステーブル30000の最初の動作プロセステーブル行30001を取得し、動作プロセステーブル行30001の条件単位の実行条件がtrueかどうかを判断する;
【0332】
そうである場合は、動作プロセステーブル行30001の命令単位の内容を取得して実行し、さらに動作プロセステーブル行30001に埋め込まれた下位動作プロセステーブル31000を取得する。ステップ27を実行する;
【0333】
そうでない場合、次の動作プロセステーブル行30002を取得し、ステップ33を実行する;
【0334】
ステップ27、動作プロセステーブル31000の1番目の動作プロセステーブル行31001を取得し、動作プロセステーブル行31001の条件単位の実行条件がtrueかどうかを判断する;
【0335】
そうである場合は、動作プロセステーブル行31001の命令単位内の内容を取得して実行し、さらに動作プロセステーブル行31001に埋め込まれた下位動作プロセステーブル31100を取得する。ステップ28を実行する;
【0336】
ステップ28、動作プロセステーブル31100の1番目の動作プロセステーブル行31101を取得する、動作プロセステーブル行21101の条件単位の実行条件がtrueかどうかを判断する;
【0337】
そうである場合は、動作プロセステーブル行31101の命令単位内の内容を取得して実行し、さらに動作プロセステーブル行31101に埋め込まれた下位動作プロセステーブル31110を取得する。ステップ29を実行する;
【0338】
そうでない場合次の動作プロセステーブル行31102を取得し、ステップ31を実行する;
【0339】
ステップ29、動作プロセステーブル31110の1番目の動作プロセステーブル行31111を取得し、動作プロセステーブル行31111の条件単位の実行条件がtrueかどうかを判断する;
【0340】
そうである場合は、動作プロセステーブル行31111の命令単位の内容を取得する実行する;
【0341】
そうでない場合次の動作プロセステーブル行31112を取得し、ステップ13を実行する;
【0342】
ステップ30、動作プロセステーブル行31112の条件単位の実行条件がtrueかどうかを判断する;
【0343】
そうである場合は、動作プロセステーブル行31112の命令単位の内容を取得する実行する;
【0344】
ステップ31、動作プロセステーブル行31102の条件単位の実行条件がtrueかどうかを判断する;
【0345】
そうである場合は、動作プロセステーブル行31102の命令単位の内容を取得する実行する;
【0346】
そうでない場合次の動作プロセステーブル行31103を取得し、ステップ32を実行する;
【0347】
ステップ32、動作プロセステーブル行31103の条件単位の実行条件がtrueかどうかを判断する;
【0348】
そうである場合は、動作プロセステーブル行31103の命令単位の内容を取得する実行する;
【0349】
ステップ33、動作プロセステーブル行30002の条件単位の実行条件がtrueかどうかを判断する;
【0350】
そうである場合は、動作プロセステーブル行30002の命令単位の内容を取得して実行し、さらに動作プロセステーブル行30002に埋め込まれた下位動作プロセステーブル32000を取得する。ステップ34を実行する;
【0351】
そうでない場合、次の動作プロセステーブル行30003を取得し、ステップ35を実行する;
【0352】
ステップ34、動作プロセステーブル32000の最初の動作プロセステーブル行32001を取得し、動作プロセステーブル行32001の条件単位の実行条件がtrueかどうかを判断する;
【0353】
そうである場合は、動作プロセステーブル行32001の命令単位の内容を取得する実行する;
【0354】
ステップ35、動作プロセステーブル行30003の条件単位の実行条件がtrueかどうかを判断する;
【0355】
そうである場合は、動作プロセステーブル行30003の命令単位の内容を取得して実行し、さらに動作プロセステーブル行30003に埋め込まれた下位動作プロセステーブル33000を取得する。ステップ36を実行する;
【0356】
そうでない場合、次の動作プロセステーブル行30004を取得し、ステップ37を実行する;
【0357】
ステップ36、動作プロセステーブル33000の最初の動作プロセステーブル行33001を取得し、動作プロセステーブル行33001の条件単位の実行条件がtrueかどうかを判断する;
【0358】
そうである場合は、動作プロセステーブル行33001の命令単位の内容を取得する実行する;
【0359】
ステップ37、動作プロセステーブル行30004の条件単位の実行条件がtrueかどうかを判断する;
【0360】
そうである場合は、動作プロセステーブル行30004の命令単位の内容を取得して実行し、さらに動作プロセステーブル行30004に埋め込まれた下位動作プロセステーブル34000を取得する。ステップ38を実行する;
【0361】
そうでない場合、次の動作プロセステーブル行30005を取得し、ステップ39を実行する;
【0362】
ステップ38、動作プロセステーブル34000の最初の動作プロセステーブル行34001を取得し、動作プロセステーブル行34001の条件単位の実行条件がtrueかどうかを判断する;
【0363】
そうである場合は、動作プロセステーブル行34001の命令単位の内容を取得する実行する;
【0364】
ステップ39、動作プロセステーブル行30005の条件単位の実行条件がtrueかどうかを判断する;
【0365】
そうである場合は、動作プロセステーブル行30005の命令単位の内容を取得して実行し、さらに動作プロセステーブル行30005に埋め込まれた下位動作プロセステーブル35000を取得する。ステップ40を実行する;
【0366】
ステップ40、動作プロセステーブル35000の最初の動作プロセステーブル行35001を取得し、動作プロセステーブル行35001の条件単位の実行条件がtrueかどうかを判断する;
【0367】
そうである場合は、動作プロセステーブル行35001の命令単位の内容を取得して実行する。
【0368】
以上、ステップ1からステップ40により、本実施例における自動化生産システムに対応する動作プロセステーブルの具体的な実行ステップについて、動作プロセステーブルに対して動作プロセスを実行する方法で説明した。
【0369】
このステップ1からステップ40から分かるように、動作プロセステーブルに対して動作プロセスを実行する方法は、主に動作プロセステーブルの各行を順次読み出し、条件単位における実行条件に基づいて命令単位における動作命令を実行するか否かを判断することであり、具体的なステップは、概ね、動作プロセステーブルから現在の動作プロセステーブル行として動作プロセステーブル行を順次取得する(ステップS11; 現在の動作プロセステーブルの行の条件単位の実行条件が真の値であるか否かを判断する、真でないと判断すればステップS11に戻る(ステップS12; 現在の動作プロセステーブル行の命令単位における動作命令を取得する実行する(ステップS13; 動作プロセステーブル中の全てのプロセスステップが実行済みか否かを判断する、そうでないと判断すればステップS11に戻る、「YES」と判断すれば動作プロセスが実行済みである(ステップS14)。
【0370】
さらに、一部の動作プロセスには分岐する動作プロセスが存在するため、動作プロセステーブルの行には、動作プロセステーブルの行の下に階層的に埋め込まれたサブ動作プロセステーブルが存在する、この場合、ステップS11~s13と同様のステップB11~b13で現在の動作プロセステーブルの行を処理した後、ステップ2で述べるように、サブ動作プロセステーブルの判断を別途行う必要がある、 動作プロセステーブル行11001の命令単位の内容を取得して実行した後、さらに動作プロセステーブル行11001に埋め込まれた下位動作プロセステーブル11100を取得してステップ3を実行するので、このステップはステップB13の後に、現在の動作プロセステーブル行の下に埋め込まれたサブ動作プロセステーブルがあるかどうかを判断し、あると判断した場合はサブ動作プロセステーブルが実行されるまで実行する必要がある(ステップB14)。
【0371】
また、条件分岐の動作プロセスがある場合には、ステップS13の後にステップB14を追加実行する必要があるのに加える、本来のステップS14も対応して修正する必要がある、ステップS2で述べたように、ステップS3の動作プロセステーブル行11001の処理が完了する後、次に取得される動作プロセステーブル行11001は非排他関係の次の動作プロセステーブル行11003である、 動作プロセステーブル中の全てのプロセスステップが実行済みかどうかを判断することに相当し、そうでないと判断された場合は、現在の動作プロセステーブル行の条件単位中の実行条件と排他関係にない次の動作プロセステーブル行を現在の動作プロセステーブル行として取得してステップB12に戻り、そうであると判断された場合は動作プロセスが実行済みである(ステップB15)。
【0372】
さらに、ループ動作プロセスがある場合には、前述のステップB11~b14と同様のステップD11~d14で現在の動作プロセステーブル行を処理した後、ループ属性単位の判断を別途行う必要があり、ステップ8で述べたように、動作プロセステーブル行11005の命令単位の内容を取得して実行した後、動作プロセステーブル行10001のループ実行属性値はループ実行であるため、ステップ1に戻ってループの実現を継続する。現在の動作プロセステーブル行のループ属性単位にループ実行属性があるかどうかを判断することに相当し、ある場合はステップD12に戻って現在の動作プロセステーブル行を繰り返し実行する(ステップD15)。ステップD15の処理が終了すると、ステップB15と同様のステップD16によって動作プロセステーブル行のトラバースが実現される。
【0373】
<実施例2>
上記実施例1では、ロボットのステータスと工作機械のステータスを判断する、その中で目標ステータスに一致する分岐動作プロセスを選択して実行するために、ロボットのサブプロセスと工作機械のサブプロセスに複数の直列的な条件分岐動作プロセスが含む。
【0374】
したがって、これは分岐動作プロセスと見ることもできる。マニピュレータのステータスと工作機械のステータスのものが目標インデックス変数である。本実施例2では、各分岐動作プロセスの目標ステータスはこの分岐動作プロセスの分岐インデックス値であり、目標インデックス変数の値が分岐動作プロセスの分岐インデックス値と一致したときに分岐動作プロセスが実行される。C言語では分岐動作プロセスをswitch..caseという文で記述することもでき、等価的にif..else ifで表される複数の排他的な判断文をswitch..case文に書き換えることができます。次のプログラムでは、実施例1のC言語プログラムで対応する命令行をswitch..case文で書き換えています。前後の2つのプログラムの動作プロセスは一致しており、上記の動作プロセスのプロセスステップ番号は次のC言語プログラムコードの行番号と対応することができます。本実施例2のC言語プログラムコードは具体的には以下の通りである。
【0375】
1: while(システム起動)
2: {
3: if(ロボット停止)。
4: {
5: ロボット停止 = FALSE;
6: ロボットのステータス = 100;
7: if ((ロボットのステータス == 400)) || ((ロボットのステータス == 500))
8: {
9: ロボットが一時停止();
10: }
11: }
12: else
13: {
14: switch(ロボットのステータス) // ロボットサブプロセス
15: {// 分岐動作プロセス
16: case 100:
17: //ロボットが停止中
18: 表示灯のステータス=黄色点灯;
19: if(ロボット起動)
20: {
21: ロボット起動 = FALSE;
22: if(ロボットのグリッパーにワークあり)。
23: ロボットがワークを載置開始();
24: else if(工作機械防護扉が開いている && 工作機械の出力エリアにワークあり)
25: {
26: ロボットがワークを保持開始();
27: ロボットのステータス = 400;
28: }
29: else
30: ロボットのステータス = 300;
31: }
32: break;
33: case 200:
34: //ロボットがワーク保持を待ち中
35: 表示灯のステータス=黄色点灯;
36: if(ロボット起動)
37: {
38: ロボット起動 = FALSE;
39: if(工作機械の防護扉が開いている&&工作機械の出力エリアにワークあり)。
40: {
41: ロボットがワークを保持開始();
42: ロボットのステータス= 400;
43: }
44: else
45: ロボットのステータス = 300; //ロボットのワーク保持エラー警報
46: }
47: break;
48: //
49: case 300:
50: //ロボットのワーク保持エラー警報
51: 表示灯のステータス=赤点灯;
52: break;
53: case 400:
54: //ロボットがワーク保持中
55: 表示灯のステータス=緑点灯;
56: if(ロボット保持完了)。
57: {
58: ロボットがワークを載置開始();
59: ロボットのステータス = 500;
60: }
61: break;
62: case 500:
63: //ロボットワークがワークを載置中
64: 表示灯のステータス=緑点灯;
65: if(ロボットがワークを載置完了)。
66: {
67: if(ロボットのグリッパーにワークあり)。
68: ロボットのステータス = 600;
69: else
70: ロボットのステータス= 200;
71; }
72: break;
73: case 600: //ロボットのワーク保持エラー警報
74: 表示灯のステータス=赤点灯;
75: break;
76: }
77: }
78: if(工作機械停止)。
79: {
80: 工作機械停止= FALSE;
81: 工作機械のステータス = 100;
82: if(工作機械のステータス == 300)
83: 工作機械が一時停止();
84: }
85: else
86: {
87: switch(工作機械のステータス)//工作機械のサブプロセス
88: {//分岐動作プロセス
89: case 100:
90: //工作機械停止中
91: if(工作機械起動)
92: {
93: 工作機械起動= FALSE;
94: if(工作機械の出力エリアにワークあり)
95: {
96: if(!工作機械の防護扉が開いている)
97: {
98: 工作機械の防護扉が開いている = true;
99: 工作機械のステータス = 400;
100: }
101: else
102: {
103: ロボット起動 = true;
104: 工作機械のステータス = 500;
105: }
106: }
107: else if(!工作機械の防護扉が閉じている)
108: {
109: 工作機械の防護扉が開いている = FALSE;
110: 工作機械のステータス = 200;
111: }
112: else
113: {
114: 工作機械が加工開始();
115: 工作機械のステータス = 300;
116: }
117: }
118: break;
119: case 200:
120: //工作機械の防護扉が閉じ始める
121: if(工作機械の防護扉が閉じている)
122: {
123: 工作機械の加工開始();
124: 工作機械のステータス = 300;
125: }
126: break;
127: case 300:
128: //工作機械が加工中
129: if(工作機械が加工完了)。
130: {
131: 工作機械の防護扉が開く = true;
132: 工作機械のステータス = 400;
133: }
134: break;
135: case 400:
136: //工作機械の防護扉が開き始める
137: if(工作機械の防護扉が開いている)。
138: {
139: ロボット起動 = true;
140: 工作機械のステータス = 500;
141: }
142: break;
143: case 500:
144: //工作機械のワーク保持待ち中
145: if(ロボットがワークの保持を完了&&! 工作機械の出力エリアにワークあり)
146: {
147: 工作機械の防護扉が開く = FALSE;
148: 工作機械のステータス = 200;
149: }
150: break;
151: }
152: }
153: ThreadSleep(100);
154: }
【0376】
本実施の形態2では、上述の動作プロセスに対する表形式化処理を例にとる、以下、図9図11を参照してプロセスステップの処理ステップを具体的に説明する:
【0377】
ステップ1、メインプロセスについて、条件列601、命令列602、切り替え先列603を含む動作プロセステーブル10000を作成する; この3つの列にそれぞれ対応して、列見出し「条件」、「命令」、「切り替え先」を設定する。動作プロセステーブル10000には、動作プロセステーブルの条件列601、命令列602、切替先列603に対応する条件単位、命令単位、切替先単位を含む動作プロセステーブル行10001が追加する。上記のプロセスステップ1を取得する。プロセスステップ1は条件分岐動作プロセスであるため、プロセスステップ1の実行条件「システム起動」を動作プロセステーブル行10001の条件単位に追加する;
【0378】
また、プロセスステップ1は、後続の命令を実行条件を満たすことを前提にループ実行することを示すため、動作プロセステーブル行10001のループ実行属性値はループ実行とする; また、動作プロセステーブル行10001の条件セルの内容の左側には、動作プロセステーブル行10001に設定ループ実行属性に応じてセルの書式に対応する設定である、プロセスステップ1の実行方式を反映する円形の内部が回転矢印のフラグ610が対応して設定。
【0379】
そして、ステップ2から、プロセスステップ1の判断結果がtrueである分岐動作プロセスについて処理を行う;
【0380】
ステップ2、プロセスステップ3は条件分岐動作プロセスであるため、プロセスステップ3のために新しい動作プロセステーブル11000を作成し、動作プロセステーブル11000を動作プロセステーブル行10001の下に階層的に埋め込む。動作プロセステーブル11000は、条件列601、命令列602、切り替え先列603を含む。動作プロセステーブル11000のために、動作プロセステーブルの条件列601、命令列602、切替先列603に対応する条件単位、命令単位、切替先単位を含む動作プロセステーブル行11001を作成する; プロセスステップ3の実行条件「ロボット停止」を動作プロセステーブル行11001の条件単位に追加し、後続の動作命令であるプロセスステップ5の内容を動作プロセステーブル行11001の命令単位に追加する; プロセスステップ6は目標インデックス変数「ロボットのステータス」の値を設定する命令なので、プロセスステップ6の内容を動作プロセステーブル行11001の切り替え先単位に追加し、動作プロセステーブル行11001の命令単位には追加しない。
【0381】
さらに、動作プロセステーブル行11001の条件単位のセルフォーマットを、動作プロセステーブル行10000と動作プロセステーブル行11000の階層関係に応じて設定し、動作プロセステーブル行11001の条件単位の中の内容を動作プロセステーブル行10001の条件単位の内容よりも設定した幅分インデントして、両者の階層関係を反映させる。
【0382】
そして、プロセスステップ3の判断結果がtrueである分岐動作プロセスの他のプロセスステップについての処理をステップ3から継続する; およびステップ4からステップ3の判断結果がFALSEである分岐動作プロセスについて処理を行う。
【0383】
ステップ3、プロセスステップ7は条件分岐動作プロセスであるため、プロセスステップ7のために新しい動作プロセステーブル11100を作成し、動作プロセステーブル11100を動作プロセステーブル行11001の下に階層的に埋め込む。動作プロセステーブル11100は、条件列601、命令列602、切り替え先列603を含む。動作プロセステーブル11100のために、動作プロセステーブルの条件列601、命令列602、切替先列603に対応する条件手段、命令手段、切替先手段を含む動作プロセステーブル行11101を作成する; プロセスステップ7の実行条件を動作プロセステーブル行11101の条件単位に追加し、後続の動作命令であるプロセスステップ9の内容を動作プロセステーブル行11101の命令単位に追加する;
【0384】
さらに、動作プロセステーブル11000と動作プロセステーブル11100の階層関係に基づいて、動作プロセステーブル行11101の条件単位のセルフォーマットを設定し、動作プロセステーブル行11101の条件単位の内容を動作プロセステーブル行11001の条件単位の内容よりも設定した幅分インデントして、両者の階層関係を反映させる。
【0385】
ステップ4、プロセスステップ14はロボットのサブプロセスを呼び出す動作命令なので、動作プロセステーブル行11001の後に新しい動作プロセステーブル行11002を作成し、trueを表す定数elseを動作プロセステーブル行11002の条件単位の内容として追加する; プロセスステップ14の内容を動作プロセステーブル行11002の命令単位に追加する。
【0386】
さらに、動作プロセステーブル行11001と動作プロセステーブル行11002は条件分岐動作プロセスの2つの排他的な分岐動作プロセスであるため、動作プロセステーブル行11001と動作プロセステーブル行11002の排他関係を設け、それに応じて2つの動作プロセステーブル行の条件単位の左側に丸印を設けて縦線で連結し、両者の排他的関係を書式に反映させる。
【0387】
ステップ5、後続の動作プロセスを取得し続ける、プロセスステップ78のために、動作プロセステーブルの条件列601、命令列602、及び切替先列603に対応する条件単位、命令単位、及び切替先単位を含む動作プロセステーブル行11003を新たに作成する; プロセスステップ78は条件分岐の動作プロセスであるため、プロセスステップ78の実行条件を動作プロセステーブル行11003の条件単位に追加する、後続の動作命令であるプロセスステップ80の内容を動作プロセステーブル行11003の命令単位に追加する; プロセスステップ81は目標インデックス変数「工作機械ステータス」の値を設定する命令なので、プロセスステップ81の内容を動作プロセステーブル行11003の切り替え先単位に追加し、動作プロセステーブル行11003の命令単位には追加しない。
【0388】
そして、プロセスステップ78の判断結果がtrueである分岐動作プロセスの他のプロセスステップについての処理をステップ6から継続する; およびステップ7からプロセスステップ78の判断結果がFALSEである分岐動作プロセスについて処理する。
【0389】
ステップ6、プロセスステップ82は条件分岐の動作プロセスであるため、プロセスステップ82のために新たな動作プロセステーブル11200を作成する、動作プロセステーブル11200を動作プロセステーブル行11003の下に階層的に埋め込む。動作プロセステーブル11200は、条件列601、命令列602、切り替え先列603を含む。動作プロセステーブル11200のために、動作プロセステーブルの条件列601、命令列602、切替先列603に対応する条件手段、命令手段、切替先手段を含む動作プロセステーブル行11201を作成する; プロセスステップ82の実行条件を動作プロセステーブル行11201の条件単位に追加し、後続の動作命令であるプロセスステップ83の内容を動作プロセステーブル行11201の命令単位に追加する;
【0390】
さらに、動作プロセステーブル行11000と動作プロセステーブル行11200の階層関係に基づいて、動作プロセステーブル行11201の条件単位のセルフォーマットを対応させ、動作プロセステーブル行11201の条件単位の中の内容を動作プロセステーブル行11003の条件単位の内容より設定した幅分インデントし、両者の階層関係を反映させる。
【0391】
ステップ7、プロセスステップ87は工作機械のサブプロセスを呼び出す動作命令なので、動作プロセステーブル行11003の後に新しい動作プロセステーブル行11004を作成し、trueを表す定数elseを動作プロセステーブル行11004の条件単位の内容として追加する; プロセスステップ87の内容を動作プロセステーブル行11004の命令単位に追加する。
【0392】
さらに、動作プロセステーブル行11003と動作プロセステーブル行11004は条件分岐動作プロセスの2つの排他的な分岐動作プロセスであるため、動作プロセステーブル行11003と動作プロセステーブル行11004の排他関係を設け、それに応じて2つの動作プロセステーブル行の条件単位の左側に丸印を設けて縦線で連結し、両者の排他的関係を書式に反映させる。
【0393】
ステップ8、プロセスステップ153は動作命令であるため、動作プロセステーブル行11004の後に新しい動作プロセステーブル行11005を作成し、trueを表す定数trueを動作プロセステーブル行11005の条件単位の内容として追加する; プロセスステップ153の内容を動作プロセステーブル行11005の命令単位に追加する。
【0394】
ステップ9、ロボットのサブプロセスは分岐を切り替える動作プロセスであるため、この分岐を切り替える動作プロセスに対して動作プロセステーブル40000を作成し、動作プロセステーブル40000に動作プロセステーブル行40001を追加する、trueを表す定数trueを動作プロセステーブル行40001の条件単位の内容として追加し、ターゲットインデックス変数「ロボットのステータス」について判断する複数の排他的実行条件を追加する。
【0395】
ロボットのサブプロセスの最初のプロセスステップを取得する。プロセスステップ16は分岐動作プロセスを切り替える分岐動作プロセスであるため、プロセスステップ16のために分岐動作プロセステーブル41000を作成し、分岐動作プロセステーブル21000を動作プロセステーブル行40001の下に階層的に埋め込みます。分岐動作プロセステーブル41000は、インデックス列611とコメント列612とを含む; 分岐動作プロセステーブル41000には、インデックス列611とコメント列612に対応する、インデックス手段6211とコメント手段6212とを含む分岐動作プロセステーブル行41001が追加する;
【0396】
プロセス16中のロボットのステータスの目標値100は、この分岐動作プロセスの分岐インデックス値であるため、この分岐インデックス値をインデックス単位6211に追加する。プロセスチャートのステップ16におけるロボットのステータスの目標値100が表す意味をコメント単位6212に追加する。
【0397】
この分岐動作プロセスの中のプロセスステップに対して動作プロセステーブル21000を作成する。動作プロセステーブル21000は、条件列601、命令列602、切り替え先列603を含む。動作プロセステーブル21000を分岐動作プロセステーブル行41001の下に階層的に埋め込む; さらに動作プロセステーブル21000と動作プロセステーブル40000を列ごとに揃える。
【0398】
動作プロセステーブル21000のために、動作プロセステーブルの条件列601、命令列602、切替先列603に対応する条件単位、命令単位、切替先単位を含む動作プロセステーブル行21001を作成する;
【0399】
ロボットのサブプロセスでは、各分岐動作プロセスでインジケータのステータス変数に値を割り当てる動作命令によってインジケータのステータス変数の値が決定される。したがって、インジケータのステータス変数はステータス変数である。本発明のある実施例では、分岐動作プロセステーブル41000は表示灯ステータス変数に対応する分岐ステータス列613をさらに含み、分岐動作プロセステーブル行41001は分岐ステータス列613に対応する分岐ステータス単位6213をさらに含む。ステップ18は、表示灯ステータス変数に値を代入する動作命令であるため、この代入命令の目標値を分岐ステータス単位6213の内容に設定。
【0400】
その後、プロセスステップ16に対応する分岐動作プロセスの他のプロセスステップについて処理をステップ10から続ける。
【0401】
その後、ステップ14からロボットサブプロセスの次の分岐動作プロセスに対する処理を継続する。
【0402】
ステップ10、プロセスステップ19は条件分岐の動作プロセスであるため、プロセスステップ19の実行条件を動作プロセステーブル行21001の条件単位に追加する、後続の動作命令であるプロセスステップ21の内容を動作プロセステーブル行21001の命令単位に追加する;
【0403】
そして、プロセスステップ19の判断結果がtrueである分岐動作プロセスの他のプロセスステップについての処理をステップ11から継続する。
【0404】
ステップ11、プロセスステップ22は条件分岐の動作プロセスであるため、プロセスステップ22のために新たな動作プロセステーブル21100を作成する、動作プロセステーブル21100を動作プロセステーブル行21000の下に階層的に埋め込む。動作プロセステーブル21100は、条件列601、命令列602、切り替え先列603を含む。動作プロセステーブル21100のために、動作プロセステーブルの条件列601、命令列602、切替先列603に対応する条件単位、命令単位、切替先単位を含む動作プロセステーブル行21101を作成する; プロセスステップ22の実行条件を動作プロセステーブル行21101の条件単位に追加し、後続の動作命令であるプロセスステップ23の内容を動作プロセステーブル行21101の命令単位に追加する;
【0405】
さらに、動作プロセステーブル21000と動作プロセステーブル21100の階層関係に基づいて、動作プロセステーブル行21101の条件単位のセルフォーマットを設定し、動作プロセステーブル行21101の条件単位の内容を動作プロセステーブル行21001の条件単位の内容よりも設定した幅分インデントして、両者の階層関係を反映させる。
【0406】
ステップ12、後続の動作プロセスを取得し続ける、プロセスステップ24のために、動作プロセステーブルの条件列601、命令列602、及び切替先列603に対応する条件単位、命令単位、及び切替先単位を含む動作プロセステーブル行21102を新たに作成する; プロセスステップ24は条件分岐の動作プロセスであるため、プロセスステップ24の実行条件を動作プロセステーブル行21102の条件単位に追加する、後続の動作命令であるプロセスステップ26の内容を動作プロセステーブル行21102の命令単位に追加する; プロセスステップ27は目標インデックス変数「ロボットのステータス」の値を設定する命令であるため、プロセスステップ27の内容は動作プロセステーブル行21102の切り替え先単位に追加され、動作プロセステーブル行21102の命令単位には追加されなくなる。
【0407】
ステップ13、プロセスステップ30は動作命令であるため、動作プロセステーブルの条件列601、命令列602、切替先列603に対応する条件手段、命令手段、切替先手段を含む動作プロセステーブル行21103を、動作プロセステーブル行21102の後に新たに作成する; trueを表す定数elseを動作プロセステーブル行21103の条件単位の内容として追加する; プロセスステップ30は目標インデックス変数「ロボットのステータス」の値を設定する命令であるため、プロセスステップ30の内容を動作プロセステーブル行21103の切り替え先単位に追加し、動作プロセステーブル行21103の命令単位には追加しない。
【0408】
ステップ14、プロセスステップ33は分岐動作プロセスの中の1つの分岐動作プロセスを切り替えるため、インデックス列611とコメント列612に対応するインデックス手段6221とコメント手段6222を含む分岐動作プロセステーブル行41002を分岐動作プロセステーブル41000に追加する;
【0409】
プロセスステップ33におけるロボットのステータスの目標値200は、この分岐動作プロセスの分岐インデックス値であるため、この分岐インデックス値をインデックス単位6221に追加する。プロセスチャートのステップ33におけるロボットのステータスの目標値200が表す意味をコメント単位6222に追加する。
【0410】
この分岐動作プロセスの中のプロセスステップに対して動作プロセステーブル22000を作成する。動作プロセステーブル22000は、条件列601、命令列602、切り替え先列603を含む。動作プロセステーブル22000を分岐動作プロセステーブル行41002の下に階層的に埋め込む; さらに動作プロセステーブル22000と動作プロセステーブル40000を列ごとに揃える。
【0411】
動作プロセステーブル22000のために、動作プロセステーブルの条件列601、命令列602、切替先列603に対応する条件単位、命令単位、切替先単位を含む動作プロセステーブル行22001を作成する;
【0412】
本発明のある実施例では、分岐動作プロセステーブル行41002は、分岐ステータス列613に対応する分岐ステータス単位6223をさらに含む。ステップ35は、表示灯ステータス変数に値を割り当てる動作命令なので、この代入命令の目標値を分岐ステータス単位6223の内容に設定する。
【0413】
そして、プロセスステップ33に対応する分岐動作プロセスの他のプロセスステップについての処理をステップ15から続ける。
【0414】
そして、プロセスステップ18からロボットサブプロセスの次の分岐動作プロセスに対する処理を継続する。
【0415】
ステップ15、プロセスステップ36は条件分岐の動作プロセスであるため、プロセスステップ36の実行条件を動作プロセステーブル行21001の条件単位に追加する、後続の動作命令であるプロセスステップ38の内容を動作プロセステーブル行21001の命令単位に追加する;
【0416】
そして、プロセスステップ36の判断結果がtrueである分岐動作プロセスの他のプロセスステップについての処理をステップ16から続ける。
【0417】
ステップ16、プロセスステップ39は条件分岐の動作プロセスであるため、プロセスステップ39のために新たな動作プロセステーブル22100を作成する、動作プロセステーブル22100を動作プロセステーブル行22000の下に階層的に埋め込む。動作プロセステーブル22100は、条件列601、命令列602、切り替え先列603を含む。動作プロセステーブル22100のために、動作プロセステーブルの条件列601、命令列602、切替先列603に対応する条件単位、命令単位、切替先単位を含む動作プロセステーブル行22101を作成する; プロセスステップ39の実行条件を動作プロセステーブル行22101の条件単位に追加し、後続の動作命令であるプロセスステップ41の内容を動作プロセステーブル行22101の命令単位に追加する; プロセスステップ42は目標インデックス変数「工作機械ステータス」の値を設定する命令であるため、プロセスステップ42の内容は、動作プロセステーブル行22101の切替先単位に追加され、動作プロセステーブル行22101の命令単位には追加されなくなる。
【0418】
さらに、動作プロセステーブル22000と動作プロセステーブル22100の階層関係に基づいて、動作プロセステーブル行22101の条件単位のセルフォーマットを設定し、動作プロセステーブル行22101の条件単位の内容を動作プロセステーブル行22001の条件単位の内容よりも設定した幅分インデントして、両者の階層関係を反映させる。
【0419】
ステップ17、プロセスステップ45は動作命令なので、動作プロセステーブル行22101の後に新しい動作プロセステーブル行22102を作成し、trueを表す定数elseを動作プロセステーブル行22102の条件単位の内容として追加する; プロセスステップ45は目標インデックス変数「工作機械ステータス」の値を設定する命令なので、プロセスステップ45の内容を動作プロセステーブル行22102の切り替え先単位に追加し、動作プロセステーブル行22102の命令単位には追加しない。
【0420】
さらに、動作プロセステーブル行22101と動作プロセステーブル行22102は条件分岐動作プロセスの2つの排他的な分岐動作プロセスであるため、動作プロセステーブル行22101と動作プロセステーブル行22102の排他関係を設け、それに応じて2つの動作プロセステーブル行の条件単位の左側に丸印を設けて縦線で連結し、両者の排他的関係を書式に反映させる。
【0421】
ステップ18、プロセスステップ49は、分岐動作プロセスの中の一つを切り替える分岐動作プロセスであるため、インデックス列611とコメント列612に対応するインデックス手段6231とコメント手段6232とを含む分岐動作プロセステーブル行41003を分岐動作プロセステーブル41000に追加する;
【0422】
ステップ49におけるロボットのステータスの目標値300は、この分岐動作プロセスの分岐インデックス値であるため、この分岐インデックス値をインデックス単位6231に追加する。プロセスチャートのステップ49におけるロボットのステータスの目標値300が表す意味をコメント単位6232に追加する。
【0423】
この分岐動作プロセス中のプロセスステップに対して動作プロセステーブル23000を作成する。動作プロセステーブル23000は、条件列601、命令列602、切り替え先列603を含む。動作プロセステーブル23000を分岐動作プロセステーブル行41003の下に階層的に埋め込む; さらに動作プロセステーブル23000と動作プロセステーブル40000を列ごとに揃える。
【0424】
動作プロセステーブル23000のために、動作プロセステーブルの条件列601、命令列602、切替先列603に対応する条件単位、命令単位、切替先単位を含む動作プロセステーブル行23001を作成する;
【0425】
本発明のある実施形態では、分岐動作プロセステーブル行41003は、分岐ステータス列613に対応する分岐ステータス単位6233をさらに含む。ステップ51は、表示灯ステータス変数に値を割り当てる動作命令なので、この代入命令の目標値を分岐ステータス単位6233の内容に設定。
【0426】
そして、ステップ19からロボットサブプロセスの次の分岐動作プロセスに対する処理を継続する。
【0427】
ステップ19、プロセスステップ53は、分岐動作プロセスの中の一つを切り替える分岐動作プロセスであるため、インデックス列611とコメント列612に対応するインデックス手段6241とコメント手段6242とを含む分岐動作プロセステーブル行41004を分岐動作プロセステーブル41000に追加する;
【0428】
プロセス53中のロボットのステータスの目標値400は、この分岐動作プロセスの分岐インデックス値であるため、この分岐インデックス値をインデックス単位6241に追加する。プロセスチャートのステップ53におけるロボットのステータスの目標値400が表す意味をコメント単位6242に追加する。
【0429】
この分岐動作プロセスの中のプロセスステップに対して動作プロセステーブル24000を作成する。動作プロセステーブル24000は、条件列601、命令列602、切り替え先列603を含む。動作プロセステーブル24000を分岐動作プロセステーブル行41004の下に階層的に埋め込む; さらに動作プロセステーブル24000と動作プロセステーブル40000を列ごとに揃える。
【0430】
動作プロセステーブル24000のために、動作プロセステーブルの条件列601、命令列602、切替先列603に対応する条件単位、命令単位、切替先単位を含む動作プロセステーブル行24001を作成する;
【0431】
本発明のある実施例では、分岐動作プロセステーブル行41004は、分岐ステータス列613に対応する分岐ステータス単位6243をさらに含む。ステップ55は、表示灯ステータス変数に値を割り当てる動作命令なので、この代入命令の目標値を分岐ステータス単位6243の内容に設定。
【0432】
その後、プロセスチャートステップ53の対応分岐動作プロセスの他のプロセスチャートステップについての処理をステップ20から続ける。
【0433】
そして、ステップ21からロボットサブプロセスの次の分岐動作プロセスに対する処理を継続する。
【0434】
ステップ20、プロセスステップ56は条件分岐の動作プロセスであるため、プロセスステップ56の実行条件を動作プロセステーブル行24001の条件単位に追加する、後続の動作命令であるプロセスステップ58の内容を動作プロセステーブル行24001の命令単位に追加する; プロセスステップ59は目標インデックス変数「工作機械ステータス」の値を設定する命令なので、プロセスステップ59の内容を動作プロセステーブル行24001の切替先単位に追加し、動作プロセステーブル行24001の命令単位には追加しない。
【0435】
ステップ21、プロセスステップ62は、分岐動作プロセスの中の一つを切り替える分岐動作プロセスであるため、インデックス列611とコメント列612に対応するインデックス手段6251とコメント手段6252とを含む分岐動作プロセステーブル行41005を分岐動作プロセステーブル41000に追加する;
【0436】
プロセスステップ62中のロボットのステータスの目標値500は、この分岐動作プロセスの分岐インデックス値であるため、この分岐インデックス値をインデックス単位6251に追加する。プロセスチャートのステップ62におけるロボットのステータスの目標値500が表す意味をコメント単位6252に追加する。
【0437】
この分岐動作プロセスの中のプロセスステップに対して動作プロセステーブル25000を作成する。動作プロセステーブル25000は、条件列601、命令列602、切り替え先列603を含む。動作プロセステーブル25000を分岐動作プロセステーブル行41005の下に階層的に埋め込む; さらに動作プロセステーブル25000と動作プロセステーブル40000を列ごとに揃える。
【0438】
動作プロセステーブル25000のために、動作プロセステーブルの条件列601、命令列602、切替先列603に対応する条件単位、命令単位、切替先単位を含む動作プロセステーブル行25001を作成する;
【0439】
本発明のある実施形態では、分岐動作プロセステーブル行41005は、分岐ステータス列613に対応する分岐ステータス単位6253をさらに含む。ステップ64は、表示灯ステータス変数に値を割り当てる動作命令であるため、この値の目標値を分岐ステータス単位6253の内容に設定。
【0440】
その後、プロセスステップ62に対応する分岐動作プロセスの他のプロセスステップについての処理をステップ22から継続する。
【0441】
その後、ステップ25からロボットサブプロセスの次の分岐動作プロセスに対する処理を継続する。
【0442】
ステップ22、プロセスステップ65は条件分岐の動作プロセスであるため、プロセスステップ65の実行条件を動作プロセステーブル行25001の条件単位に追加する; そして、プロセスステップ65の判断結果がtrueである分岐動作プロセスの他のプロセスステップについての処理をステップ23から継続する。
【0443】
ステップ23、プロセスステップ67は条件分岐の動作プロセスであるため、プロセスステップ67のために新たな動作プロセステーブル25100を作成する、動作プロセステーブル25100を動作プロセステーブル行25000の下に階層的に埋め込む。動作プロセステーブル25100は、条件列601、命令列602、切り替え先列603を含む。動作プロセステーブル25100のために、動作プロセステーブルの条件列601、命令列602、切替先列603に対応する条件単位、命令単位、切替先単位を含む動作プロセステーブル行25101を作成する; プロセスステップ67の実行条件を動作プロセステーブル行25101の条件単位に追加する; プロセスステップ68は目標インデックス変数「工作機械ステータス」の値を設定する命令なので、プロセスステップ68の内容を動作プロセステーブル行25101の切り替え先単位に追加し、動作プロセステーブル行25101の命令単位には追加しない。
【0444】
さらに、動作プロセステーブル行25101の条件単位のセルフォーマットを、動作プロセステーブル行25000と動作プロセステーブル行25100の階層関係に応じて設定し、動作プロセステーブル行25101の条件単位の中の内容を動作プロセステーブル行25001の条件単位の内容よりも設定した幅分インデントして、両者の階層関係を反映させる。
【0445】
ステップ24からは、プロセスステップ67の判断結果がFALSEである分岐動作プロセスについて処理を行う。
【0446】
ステップ24、プロセスステップ70は動作命令なので、動作プロセステーブル行25101の後に新しい動作プロセステーブル行25102を作成し、trueを表す定数elseを動作プロセステーブル行25102の条件単位の内容として追加する; プロセスステップ70は目標インデックス変数「工作機械ステータス」の値を設定する命令であるため、プロセスステップ70の内容は、動作プロセステーブル行25102の切替先単位に追加され、動作プロセステーブル行25102の命令単位には追加されなくなる。
【0447】
さらに、動作プロセステーブル行25101と動作プロセステーブル行25102は条件分岐動作プロセスの2つの排他的な分岐動作プロセスであるため、動作プロセステーブル行25101と動作プロセステーブル行25102の排他関係を設け、それに応じて2つの動作プロセステーブル行の条件単位の左側に丸印を設けて縦線で連結し、両者の排他的関係を書式に反映させる。
【0448】
ステップ25、プロセスステップ73は、分岐動作プロセスの中の一つを切り替える分岐動作プロセスであるため、インデックス列611とコメント列612に対応するインデックス手段6261とコメント手段6262とを含む分岐動作プロセステーブル行41006を分岐動作プロセステーブル41000に追加する;
【0449】
プロセスステップ73中のロボットのステータスの目標値600は、この分岐動作プロセスの分岐インデックス値であるため、この分岐インデックス値をインデックス単位6261に追加する。プロセスチャートのステップ73におけるロボットのステータスの目標値600が表す意味をコメント単位6262に追加する。
【0450】
この分岐動作プロセス中のプロセスステップに対して動作プロセステーブル26000を作成する。動作プロセステーブル26000は、条件列601、命令列602、切り替え先列603を含む。動作プロセステーブル26000を分岐動作プロセステーブル行41006の下に階層的に埋め込む; さらに動作プロセステーブル26000と動作プロセステーブル40000を列ごとに揃える。
【0451】
動作プロセステーブル26000のために、動作プロセステーブルの条件列601、命令列602、切替先列603に対応する条件単位、命令単位、切替先単位を含む動作プロセステーブル行26001を作成する;
【0452】
本発明のある実施形態では、分岐動作プロセステーブル行41006は、分岐ステータス列613に対応する分岐ステータス単位6263をさらに含む。ステップ74は、表示灯ステータス変数に値を割り当てる動作命令であるため、この値の目標値を分岐ステータス単位6263の内容に設定。
【0453】
ステップ26、工作機械のサブプロセスは切替分岐動作プロセスであるため、この切替分岐動作プロセスに対して一つの動作プロセステーブル50000を作成する、動作プロセステーブル50000に対して一つの動作プロセステーブル行50001を追加し、trueを表す定数trueを動作プロセステーブル行50001の条件単位の内容として追加する、目標インデックス変数「工作機械のステータス」に対して判断する複数の排他的実行条件を追加する。
【0454】
工作機械のサブプロセス中の最初のプロセスステップを取得する。プロセスステップ89は分岐動作プロセスを切り替える一つの分岐動作プロセスであるため、プロセスステップ89のために分岐動作プロセステーブル51000を作成し、分岐動作プロセステーブル51000を動作プロセステーブル行50001の下に階層的に埋め込む; 分岐動作プロセステーブル51000は、インデックス列611とコメント列612とを含む; 分岐動作プロセステーブル51000には、インデックス列611とコメント列612に対応する、インデックス手段6311とコメント手段6312とを含む分岐動作プロセステーブル行51001が追加する;
【0455】
ステップ89における工作機械ステータスの目標値100は、この分岐動作プロセスの分岐インデックス値であるため、この分岐インデックス値をインデックス単位6311に追加する。プロセスステップ89の工作機械ステータスの目標値100が表す意味をコメント単位6312に追加する。
【0456】
この分岐動作プロセスの中のプロセスステップに対して動作プロセステーブル31000を作成する。動作プロセステーブル31000は、条件列601、命令列602、切り替え先列603を含む。動作プロセステーブル31000を分岐動作プロセステーブル行51001の下に階層的に埋め込む; さらに動作プロセステーブル31000と動作プロセステーブル50000を列ごとに揃える。
【0457】
動作プロセステーブル31000のために、動作プロセステーブルの条件列601、命令列602、切替先列603に対応する条件単位、命令単位、切替先単位を含む動作プロセステーブル行31001を作成する;
【0458】
工作機械のサブプロセスでは、「工作機械の防護扉開放」の動作命令は通常、工作機械のステータスが変更されると同時に実行され、「工作機械の防護扉開放所」と「工作機械の防護扉閉鎖所」の信号は通常、工作機械のステータスを変更する前置条件であるため、工作機械の防護扉のステータスは特定の工作機械のステータスによって決まるため、工作機械の防護扉のステータスはステータス変数と見なすことができる。本発明のある実施例では、動作プロセステーブル51000は工作機械の防護ドアステータス変数に対応する分岐ステータス列613をさらに含み、分岐動作プロセステーブル行51001は分岐ステータス列613に対応する分岐ステータス単位6313をさらに含む。しかし、「工作機械停止中」のステータスを設定した場合、「工作機械防護扉開」動作命令および「工作機械防護扉開位置」と「工作機械防護扉閉位置」信号で工作機械防護扉のステータスを確定することができないため、分岐動作プロセステーブル行51001に対して分岐ステータス単位6313の内容を設定しない。
【0459】
その後、プロセスチャートステップ89に対応する分岐動作プロセスの他のプロセスチャートステップについての処理をステップ27から続ける。
【0460】
その後、ステップ33から工作機械のサブプロセスの次の分岐動作プロセスに対する処理を継続する。
【0461】
ステップ27、プロセスステップ91は条件分岐の動作プロセスであるため、プロセスステップ91の実行条件を動作プロセステーブル行31001の条件単位に追加する、後続の動作命令であるプロセスステップ93の内容を動作プロセステーブル行31001の命令単位に追加する;
【0462】
そして、ステップ28から、プロセスステップ91の判断結果がtrueである分岐動作プロセスの他のプロセスステップについての処理を継続する。
【0463】
ステップ28、プロセスステップ94は条件分岐の動作プロセスであるため、プロセスステップ94のために新たな動作プロセステーブル31100を作成する、動作プロセステーブル31100を動作プロセステーブル行31000の下に階層的に埋め込む。動作プロセステーブル31100は、条件列601、命令列602、切り替え先列603を含む。動作プロセステーブル31100のために、動作プロセステーブルの条件列601、命令列602、切替先列603に対応する条件単位、命令単位、切替先単位を含む動作プロセステーブル行31101を作成する; プロセスステップ94の実行条件を動作プロセステーブル行31101の条件単位に追加する;
【0464】
さらに、動作プロセステーブル31000と動作プロセステーブル31100の階層関係に基づいて、動作プロセステーブル行31101の条件単位のセルフォーマットを設定し、動作プロセステーブル行31101の条件単位の内容を動作プロセステーブル行31001の条件単位の内容よりも設定した幅分インデントして、両者の階層関係を反映させる。
【0465】
そして、ステップ29から、プロセスステップ94の判断結果がtrueである分岐動作プロセスの他のプロセスステップについての処理を継続する。
【0466】
そして、ステップ31からプロセスステップ94の判断結果がFALSEである分岐動作プロセスについて処理する。
【0467】
ステップ29、プロセスステップ96は条件分岐の動作プロセスであるため、プロセスステップ96のために新たな動作プロセステーブル31110を作成する、動作プロセステーブル31110を動作プロセステーブル行31100の下に階層的に埋め込む。動作プロセステーブル31110は、条件列601、命令列602、切り替え先列603を含む。動作プロセステーブル31110のために、動作プロセステーブルの条件列601、命令列602、切替先列603に対応する条件単位、命令単位、切替先単位を含む動作プロセステーブル行31111を作成する; プロセスステップ96の実行条件を動作プロセステーブル行31111の条件単位に追加し、後続の動作命令であるプロセスステップ98の内容を動作プロセステーブル行31111の命令単位に追加する; プロセスステップ99は目標インデックス変数「工作機械ステータス」の値を設定する命令なので、プロセスステップ99の内容を動作プロセステーブル行31111の切り替え先単位に追加し、動作プロセステーブル行31111の命令単位には追加しない。
【0468】
さらに、動作プロセステーブル31100と動作プロセステーブル31110の階層関係に基づいて、動作プロセステーブル行31111の条件単位のセルフォーマットを設定し、動作プロセステーブル行31111の条件単位の内容を動作プロセステーブル行31101の条件単位の内容よりも設定した幅分インデントして、両者の階層関係を反映させる。
【0469】
ステップ30、プロセスステップ103、104は動作命令であるため、動作プロセステーブル行31111の後に新しい動作プロセステーブル行31112を作成し、動作プロセステーブル行31112の条件単位の内容としてtrueを表す定数elseを追加する; プロセスステップ103の内容を動作プロセステーブル行31112の命令単位に追加する。プロセスステップ104は目標インデックス変数「工作機械ステータス」の値を設定する命令であるため、プロセスステップ104の内容を動作プロセステーブル行31112の切替先単位に追加するのではなく、動作プロセステーブル行31112の命令単位に追加する。
【0470】
さらに、動作プロセステーブル行31111と動作プロセステーブル行31112は条件分岐動作プロセスの2つの排他的な分岐動作プロセスであるため、動作プロセステーブル行31111と動作プロセステーブル行31112の排他関係を設け、それに応じて2つの動作プロセステーブル行の条件単位の左側に丸印を設けて縦線で連結し、両者の排他的関係を書式に反映させる。
【0471】
ステップ31、後続の動作プロセスを取得し続ける、プロセスステップ107のために、動作プロセステーブルの条件列601、命令列602、切替先列603に対応する条件単位、命令単位、切替先単位を含む動作プロセステーブル行31102を新たに作成する; プロセスステップ107は条件分岐の動作プロセスであるため、プロセスステップ107の実行条件を動作プロセステーブル行31102の条件単位に追加する、後続の動作命令であるプロセスステップ109の内容を動作プロセステーブル行31102の命令単位に追加する; プロセスステップ110は目標インデックス変数「工作機械ステータス」の値を設定する命令であるため、プロセスステップ110の内容は、動作プロセステーブル行31102の命令単位ではなく、動作プロセステーブル行31102の切り替え先単位に追加される。
【0472】
ステップ32から、プロセスステップ107の判断結果がFALSEである分岐動作プロセスについて処理を開始する。
【0473】
ステップ32、プロセスステップ114、115は動作命令であるため、動作プロセステーブル行31102の後に新しい動作プロセステーブル行31103を作成し、trueを表す定数elseを動作プロセステーブル行31103の条件単位の内容として追加する; プロセスステップ114の内容を動作プロセステーブル行31103の命令単位に追加する。プロセスステップ115は目標インデックス変数「工作機械ステータス」の値を設定する命令であるため、プロセスステップ115の内容を動作プロセステーブル行31103の切り替え先セルに追加するのではなく、動作プロセステーブル行31103の命令セルに追加する。
【0474】
さらに、動作プロセステーブル行31102と動作プロセステーブル行31103は条件分岐動作プロセスの2つの排他的な分岐動作プロセスであるため、動作プロセステーブル行31102と動作プロセステーブル行31103の排他関係を設け、それに応じて2つの動作プロセステーブル行の条件単位の左側に丸印を設けて縦線で連結し、両者の排他的関係を書式に反映させる。
【0475】
ステップ33、プロセスステップ119は分岐動作プロセスの中の一つを切り替える分岐動作プロセスであるため、インデックス列611とコメント列612に対応するインデックス手段6321とコメント手段6322を含む分岐動作プロセステーブル行51002を分岐動作プロセステーブル51000に追加する;
【0476】
プロセスステップ119における工作機械ステータスの目標値200は、この分岐動作プロセスの分岐インデックス値であるため、この分岐インデックス値をインデックス単位6321に追加する。プロセスステップ119の工作機械ステータスの目標値200が表す意味をコメント単位6322に追加する。
【0477】
この分岐動作プロセスの中のプロセスステップに対して動作プロセステーブル32000を作成する。動作プロセステーブル32000は、条件列601、命令列602、切り替え先列603を含む。動作プロセステーブル32000を分岐動作プロセステーブル行51002の下に階層的に埋め込む; さらに動作プロセステーブル32000と動作プロセステーブル50000を列ごとに揃える。
【0478】
動作プロセステーブル32000のために、動作プロセステーブルの条件列601、命令列602、切替先列603に対応する条件単位、命令単位、切替先単位を含む動作プロセステーブル行32001を作成する;
【0479】
本発明のある実施例では、動作プロセステーブル51000は工作機械の防護ドアステータス変数に対応する分岐ステータス列613をさらに含み、分岐動作プロセステーブル行51002は分岐ステータス列613に対応する分岐ステータス単位6323をさらに含む。プロセスステップ109またはプロセスステップ147で「工作機械防護扉閉」の動作命令を実行した直後に工作機械のステータスを200に設定するので、工作機械のステータスが200の時、工作機械防護扉のステータスは「工作機械防護扉閉中」と確定できるので、分岐動作プロセステーブル行51002に対して分岐ステータス単位6323を設定する内容は「工作機械防護扉閉中」となる。
【0480】
その後、プロセスチャートのステップ119に対応する分岐動作プロセスの他のプロセスチャートのステップについて処理をステップ34から続ける。
【0481】
その後、ステップ35から工作機械のサブプロセスの次の分岐動作プロセスに対する処理を継続する。
【0482】
ステップ34、プロセスステップ121は条件分岐の動作プロセスであるため、プロセスステップ121の実行条件を動作プロセステーブル行32001の条件単位に追加する、後続の動作命令であるプロセスステップ123の内容を動作プロセステーブル行32001の命令単位に追加する; プロセスステップ124は目標インデックス変数「工作機械ステータス」の値を設定する命令であるため、プロセスステップ124の内容を動作プロセステーブル行32001の切替先単位に追加し、動作プロセステーブル行32001の命令単位には追加しない。
【0483】
ステップ35、プロセスステップ127は分岐動作プロセスの中の一つを切り替える分岐動作プロセスであるため、インデックス列611とコメント列612に対応するインデックス手段6331とコメント手段6332を含む分岐動作プロセステーブル行51003を分岐動作プロセステーブル51000に追加する;
【0484】
プロセスステップ127における工作機械ステータスの目標値300は、この分岐動作プロセスの分岐インデックス値であるため、この分岐インデックス値をインデックス単位6321に追加する。プロセスステップ127の工作機械ステータスの目標値300が表す意味をコメント単位6322に追加する。
【0485】
この分岐動作プロセス中のプロセスステップに対して動作プロセステーブル33000を作成する。動作プロセステーブル33000は、条件列601、命令列602、切り替え先列603を含む。動作プロセステーブル33000を分岐動作プロセステーブル行51003の下に階層的に埋め込む; さらに動作プロセステーブル33000と動作プロセステーブル50000を列ごとに揃える。
【0486】
動作プロセステーブル33000のために、動作プロセステーブルの条件列601、命令列602、切替先列603に対応する条件単位、命令単位、切替先単位を含む動作プロセステーブル行33001を作成する;
【0487】
本発明のある実施例では、動作プロセステーブル51000は工作機械の防護ドアのステータス変数に対応する分岐ステータス列613をさらに含み、分岐動作プロセステーブル行51003は分岐ステータス列613に対応する分岐ステータス単位6333をさらに含む。プロセスステップ121では、「工作機械の防護扉が閉じられました」がtrueであると判断した場合、工作機械のステータスを300に設定するため、工作機械のステータスが300の場合、工作機械の防護扉のステータスは「工作機械の防護扉が閉じられました」と確定できるため、分岐動作プロセステーブル行51003に対して分岐ステータス単位6333を設定する内容は「工作機械の防護扉が閉じられました」となる。
【0488】
その後、プロセスチャートのステップ127に対応する分岐動作プロセスの他のプロセスチャートのステップについて処理をステップ36から続ける。
【0489】
その後、ステップ37から工作機械のサブプロセスの次の分岐動作プロセスに対する処理を継続する。
【0490】
ステップ36、プロセスステップ129は条件分岐の動作プロセスであるため、プロセスステップ129の実行条件を動作プロセステーブル行33001の条件単位に追加する、後続の動作命令であるプロセスステップ131の内容を動作プロセステーブル行33001の命令単位に追加する; プロセスステップ132は目標インデックス変数「工作機械ステータス」の値を設定する命令であるため、プロセスステップ132の内容を、動作プロセステーブル行33001の切り替え先セルに追加するのではなく、動作プロセステーブル行33001の命令セルに追加する。
【0491】
ステップ37、プロセスステップ135は分岐動作プロセスの中の一つを切り替える分岐動作プロセスであるため、インデックス列611とコメント列612に対応するインデックス手段6341とコメント手段6342を含む分岐動作プロセステーブル行51004を分岐動作プロセステーブル51000に追加する;
【0492】
プロセスステップ135の工作機械ステータスの目標値400は、この分岐動作プロセスの分岐インデックス値であるため、この分岐インデックス値をインデックス単位6341に追加する。プロセスステップ135の工作機械ステータスの目標値400が表す意味をコメント単位6342に追加する。
【0493】
この分岐した動作プロセスの中のプロセスステップに対して動作プロセステーブル34000を作成する。動作プロセステーブル34000は、条件列601、命令列602、切り替え先列603を含む。動作プロセステーブル34000を分岐動作プロセステーブル行51004の下に階層的に埋め込む; さらに動作プロセステーブル34000と動作プロセステーブル50000を列ごとに揃える。
【0494】
動作プロセステーブル34000のために、動作プロセステーブルの条件列601、命令列602、切替先列603に対応する条件単位、命令単位、切替先単位を含む動作プロセステーブル行34001を作成する;
【0495】
本発明のある実施例では、動作プロセステーブル51000は工作機械の防護ドアステータス変数に対応する分岐ステータス列613をさらに含み、分岐動作プロセステーブル行51004は分岐ステータス列613に対応する分岐ステータス単位6343をさらに含む。プロセスステップ98またはプロセスステップ131で「マシンガード開」の動作命令を実行した直後にマシンステータスを400に設定するので、マシンステータスが400の時、マシンガードのステータスは「マシンガード開中」と確定できるので、分岐動作プロセステーブル行51004に対して分岐ステータス単位6343を設定する内容は「マシンガード開中」となる。
【0496】
その後、プロセスチャートステップ135に対応する分岐動作プロセスの他のプロセスチャートステップについての処理をステップ38から続ける。
【0497】
その後、ステップ39から工作機械のサブプロセスの次の分岐動作プロセスに対する処理を継続する。
【0498】
ステップ38、プロセスステップ137は条件分岐の動作プロセスであるため、プロセスステップ137の実行条件を動作プロセステーブル行34001の条件単位に追加する、後続の動作命令であるプロセスステップ139の内容を動作プロセステーブル行34001の命令単位に追加する; プロセスステップ140は目標インデックス変数「工作機械ステータス」の値を設定する命令であるため、プロセスステップ140の内容は、動作プロセステーブル行34001の切り替え先セルに追加され、動作プロセステーブル行34001の命令セルには追加されなくなる。
【0499】
ステップ39、プロセスステップ143は分岐動作プロセスの中の一つを切り替える分岐動作プロセスであるため、インデックス列611とコメント列612に対応するインデックス手段6351とコメント手段6352を含む分岐動作プロセステーブル行51005を分岐動作プロセステーブル51000に追加する;
【0500】
ステップ143の工作機械ステータスの目標値500は、この分岐動作プロセスの分岐インデックス値であるため、この分岐インデックス値をインデックス単位6351に追加する。プロセスステップ143の工作機械ステータスの目標値300が表す意味をコメント単位6352に追加する。
【0501】
この分岐した動作プロセスの中のプロセスステップに対して動作プロセステーブル35000を作成する。動作プロセステーブル35000は、条件列601、命令列602、切り替え先列603を含む。動作プロセステーブル35000を分岐動作プロセステーブル行51005の下に階層的に埋め込む; さらに動作プロセステーブル35000と動作プロセステーブル50000を列ごとに揃える。
【0502】
動作プロセステーブル35000のために、動作プロセステーブルの条件列601、命令列602、切替先列603に対応する条件単位、命令単位、切替先単位を含む動作プロセステーブル行35001を作成する;
【0503】
本発明のある実施例では、動作プロセステーブル51000は工作機械の防護ドアステータス変数に対応する分岐ステータス列613をさらに含み、分岐動作プロセステーブル行51005は分岐ステータス列613に対応する分岐ステータス単位6353をさらに含む。プロセスステップ137では、「工作機械の防護扉が開いた」がtrueであると判断した場合、工作機械のステータスを500に設定するため、工作機械のステータスが500の場合、工作機械の防護扉のステータスは「工作機械の防護扉が開いた」と確定できるため、分岐動作プロセステーブル行51005に対して分岐ステータス単位6353を設定する内容は「工作機械の防護扉が開いた」となる。
【0504】
そして、プロセスチャートステップ143の対応分岐動作プロセスの他のプロセスチャートステップについての処理をステップ40から続ける。
【0505】
ステップ40、プロセスステップ145は条件分岐の動作プロセスであるため、プロセスステップ145の実行条件を動作プロセステーブル行35001の条件単位に追加する、後続の動作命令であるプロセスステップ147の内容を動作プロセステーブル行35001の命令単位に追加する; プロセスステップ148は目標インデックス変数「工作機械ステータス」の値を設定する命令であるため、プロセスステップ148の内容を動作プロセステーブル行35001の切り替え先単位に追加し、動作プロセステーブル行35001の命令単位には追加しない。
【0506】
以上、ステップ1~ステップ40により、本実施例における自動化生産システムの詳細な動作プロセスを表形式化処理の動作プロセスの方法で表形式化処理する具体的なステップを説明した。
【0507】
上記の動作プロセスに対する表形式化の処理ステップは、実施例1とほぼ同じであるので、ここでは説明を省略するが、具体的な違いはプロセスステップの動作プロセスタイプを判定し、動作プロセスタイプが分岐動作プロセスを切り替える場合、対応するプロセスステップの序列組み合わせルール及び行生成ルールが異なることである。
【0508】
動作プロセスタイプが分岐を切り替える動作プロセスの場合、ステップ9のように、分岐を切り替えるプロセスであるロボットのサブプロセスを処理する場合は、動作プロセステーブル40000を作成する、動作プロセステーブル行40001を追加し、さらに目標のインデックス変数「ロボットのステータス」について判断する複数の排他的実行条件を1つの分岐切り替え命令「switch」として動作プロセステーブル行400001に追加する このように、分岐切り替え命令は、動作命令の一種である命令単位に追加される。したがって、分岐切替命令は、分岐動作プロセスを切り替えることに属すると判定されると同時に、動作命令型動作プロセス、すなわち動作命令型プロセスステップ序列に属すると判定される。この場合、当該分岐切替命令は、動作命令であるプロセスステップと同様の方式に基づいて処理され、すなわち、動作プロセステーブルに現在の動作プロセステーブル行として1つの動作プロセステーブル行が順次生成される(ステップA1); 現在の動作プロセステーブルの行の条件単位に真の値を実行条件として追加する(ステップA2; 該当する動作命令型プロセスステップ序列中のプロセスステップを順番に取得し、現在の動作プロセステーブルラインの命令単位に追加する(ステップA3)。
【0509】
ただし、分岐切替命令が条件分岐型プロセスステップ列に属する場合は、実施例1の条件分岐動作プロセスの予定行生成ルールと同様に、最初のサブプロセスステップ列が条件分岐動作プロセスにおいて動作命令型動作プロセスに対応していれば、該当する分岐動作プロセスの動作プロセステーブル行の命令単位に動作命令順として追加する。したがって、このサブプロセスが分岐型プロセスステップ序列を切り替える場合、分岐を切り替える命令も対応する命令単位に動作命令として追加される。上記のステップは、分岐切替命令に対応するプロセスステップの前に連続するプロセスステップが動作命令型プロセスステップ序列に属していれば、その動作命令型プロセスステップ序列に基づいて作成された動作プロセステーブル行を現在の動作プロセステーブル行とすることに相当する(ステップC1)。
【0510】
次に、動作プロセステーブル行を作成し、実行条件を追加したら、ステップ9で、目標のインデックス変数「ロボットのステータス」について判断した複数の排他的実行条件を、一つの分岐切替命令「switch」として動作プロセステーブル行40001の命令単位に追加する。したがって、このステップは、分岐切替命令に対応するプロセスステップを動作命令として現在の動作プロセステーブル行の命令単位に追加することに相当する(ステップC2)。
【0511】
次に、ステップ9で述べるように、プロセスステップ16は分岐動作プロセスの中の分岐動作プロセスであるため、プロセスステップ16のために分岐動作プロセステーブル41000を作成し、分岐動作プロセステーブル41000に分岐動作プロセステーブル行41001を追加する、プロセスステップ16におけるロボットのステータスの目標値100が示す意味を動作プロセステーブル行41001のインデックス手段6211に追加する、 同時に、ステップ14、18、19などはそれに応じて分岐動作プロセスであるプロセスステップ33、49、53に対して対応する動作プロセステーブル行の作成を行っているので、この過程は分岐型プロセスステップ列に対応する分岐動作プロセステーブルを作成することに相当し、この分岐動作プロセステーブルは表層レベルで現在の動作プロセステーブル行の下に埋め込まれている(ステップC3)。
【0512】
その上で、ステップ9では、分岐動作プロセステーブル行41001を作成した後、この分岐動作プロセス中のプロセスステップについて動作プロセステーブル21000を作成し、動作プロセステーブル21000を分岐動作プロセステーブル行41001の下に階層的に埋め込み、その後、ステップ10からプロセスステップ16に対応する分岐動作プロセス中の他のプロセスステップについて処理を続けることについても言及した。このステップは、分岐動作プロセスごとに、分岐動作プロセステーブルに索引列にある索引単位を含む分岐動作プロセステーブル行を順次生成し、分岐索引条件を索引単位に追加すると同時に、分岐動作プロセステーブル行の下に階層的に埋め込まれたサブ動作プロセステーブルを作成することに相当する。
【0513】
また、サブ動作プロセステーブルを作成する後も、実施例1の条件分岐型プロセスステップ列に対応する予定行生成ルールと同様に、本実施例2の分岐型プロセスステップ列に対応する予定行生成ルールも、サブ動作プロセステーブルごとに、対応する分岐動作プロセス中のプロセスステップを順次取得し、各プロセスステップが対応する分岐動作プロセス中に対応する動作プロセスタイプを順次判定する、 所定のプロセスステップ順序結合ルールに従って、分岐した動作プロセス中の連続したプロセスステップを、それぞれ対応する動作プロセスタイプに対応する少なくとも1つのサブプロセスステップ順序に結合し、さらに、そのプロセスステップ順序タイプに対応する所定の行生成ルールに基づいて、サブ動作プロセステーブル中にサブ動作プロセスステップ順序に対応する動作プロセステーブル行を順次生成する(ステップC5)。
【0514】
次に、この動作プロセステーブル10000の動作プロセスを実行する方法について、本実施例2の表形式化処理ステップの処理によって得る動作プロセステーブル10000を例に説明する。具体的なステップは以下の通りである:
【0515】
ステップ1、動作プロセステーブル10000の最初の動作プロセステーブル行10001を取得し、動作プロセステーブル行10001の条件単位の実行条件「システム起動」がtrueかどうかを判断する; そうである場合は、動作プロセステーブル行10001に埋め込まれた下位動作プロセステーブル11000をさらに取得する。そして次のステップを実行する;
【0516】
ステップ2、動作プロセステーブル11000の最初の動作プロセステーブル行11001を取得し、動作プロセステーブル行11001の条件単位の実行条件「ロボット停止」がtrueかどうかを判断する;
【0517】
そうである場合は、動作プロセステーブル行11001の命令単位の内容「ロボット停止= FALSE;」を取得して実行する。とターゲット単位の内容を切り替える「ロボットのステータス= 100;」 の順にクリックし、動作プロセステーブル行11001に埋め込まれている下位動作プロセステーブル11100をさらに取得する。ステップ3を実行する; そして、動作プロセステーブル行11001と非排他の関係にある次の動作プロセステーブル行11003を取得する、ステップ5を実行する;
【0518】
そうでない場合、次の動作プロセステーブル行11002を取得し、ステップ4を実行する;
【0519】
ステップ3、動作プロセステーブル11100の1番目の動作プロセステーブル行11101を取得し、動作プロセステーブル行11101の条件単位の実行条件がtrueかどうかを判断する;
【0520】
そうである場合は、動作プロセステーブル行11101の命令単位の内容を取得して実行する。
【0521】
ステップ4、動作プロセステーブル行11002の条件単位の実行条件がtrueである; そのため、動作プロセステーブル行11001の命令単位の内容を取得して実行する。動作プロセステーブル行11001の命令単位での動作命令はロボットサブプロセスの呼び出しなので、ステップ9からロボットサブプロセスを実行する。動作プロセステーブル行11002には下位動作プロセステーブルが埋め込まれていないため、ロボットサブプロセスの実行が完了した直後にステップ5を実行する。
【0522】
ステップ5、動作プロセステーブル行11003の条件単位の実行条件がtrueかどうかを判断する;
【0523】
そうである場合は、動作プロセステーブル行11003の命令単位内の内容と切替先単位内の内容を取得して実行し、さらに動作プロセステーブル行11003に埋め込まれた下位動作プロセステーブル11200を取得する。ステップ6を実行する; そして、動作プロセステーブル行11003と非排他の関係にある次の動作プロセステーブル行11005を取得する、ステップ8を実行する;
【0524】
そうでない場合、次の動作プロセステーブル行11004を取得し、ステップ7を実行する;
【0525】
ステップ6、動作プロセステーブル11200の1番目の動作プロセステーブル行11201を取得し、動作プロセステーブル行11201の条件単位の実行条件がtrueかどうかを判断する;
【0526】
そうである場合は、動作プロセステーブル行11201の命令単位の内容を取得して実行する。
【0527】
ステップ7、動作プロセステーブル行11004の条件単位の実行条件がtrueである; そのため、動作プロセステーブル行11004の命令単位の内容を取得して実行する。動作プロセステーブル行11004の命令単位での動作命令はワークセルフプロセスの呼び出しなので、ステップ26からワークセルフプロセスを実行する。動作プロセステーブル行11004には下位の動作プロセステーブルが埋め込まれていないため、工作機械のサブプロセスの実行が完了した直後にステップ8を実行する。
【0528】
ステップ8、動作プロセステーブル行11005の条件単位の実行条件がtrueである; そのため、動作プロセステーブル行11005の命令単位の内容を取得して実行する。これはアクティブプロセステーブルの最後のプロセステーブル行で、動作プロセステーブル行10001のループ実行属性値はループ実行であるため、ステップ1に戻って実行を続行する。
【0529】
ステップ9、動作プロセステーブル40000の最初の動作プロセステーブル行40001を取得する。動作プロセステーブル行40001条件単位の実行条件は常にtrueなので、動作プロセステーブル行40001命令単位の内容をすぐに実行する。40001命令単位では分岐切替命令であるため、動作プロセステーブル行40001の下に埋め込まれた分岐動作プロセステーブル41000を取得し、目標のインデックス変数「ロボットのステータス」の値が分岐動作プロセステーブル行41001のインデックス単位6211の内容と一致するかどうかを判断する。
【0530】
一致する場合は、まず分岐ステータス部6213内の内容を取得し、分岐ステータス部6213内の内容に応じて表示灯のステータスを設定する; そして、分岐動作プロセステーブル行41001の下に埋め込む動作プロセステーブル21000を取得し、ステップ10を実行する;
【0531】
そうでない場合ステップ14を実行する;
【0532】
ステップ10、動作プロセステーブル21000の1番目の動作プロセステーブル行21001を取得し、動作プロセステーブル行21001の条件単位の実行条件がtrueかどうかを判断する;
【0533】
そうである場合は、動作プロセステーブル行21001の命令単位の内容を取得して実行し、さらに動作プロセステーブル行21001に埋め込まれた下位動作プロセステーブル21100を取得する。ステップ11を実行する;
【0534】
ステップ11、動作プロセステーブル21100の1番目の動作プロセステーブル行21101を取得する、動作プロセステーブル行21101の条件単位の実行条件がtrueかどうかを判断する;
【0535】
そうである場合は、動作プロセステーブル行21101の命令単位の内容を取得する実行する;
【0536】
そうでない場合次の動作プロセステーブル行21102を取得し、ステップ12を実行する;
【0537】
ステップ12、動作プロセステーブル行21102の条件単位の実行条件がtrueかどうかを判断する;
【0538】
そうである場合は、動作プロセステーブル行21102の命令単位の内容を取得する実行する;
【0539】
そうでない場合次の動作プロセステーブル行21103を取得し、ステップ13を実行する;
【0540】
ステップ13、動作プロセステーブル行21103の条件単位の実行条件がtrueかどうかを判断する;
【0541】
そうである場合は、動作プロセステーブル行21103の命令単位の内容を取得する実行する;
【0542】
ステップ14、ターゲットインデックス変数「ロボットのステータス」の値が分岐動作プロセステーブル行41002のインデックス単位6221の内容と一致するかどうかを判断する。
【0543】
一致する場合は、まず分岐ステータス部6223内の内容を取得し、分岐ステータス部6223内の内容に応じて表示灯のステータスを設定する; そして、分岐動作プロセステーブル行41002の下に埋め込む動作プロセステーブル22000を取得し、ステップ15を実行する;
【0544】
そうでない場合ステップ18を実行する;
【0545】
ステップ15、動作プロセステーブル22000の最初の動作プロセステーブル行22001を取得し、動作プロセステーブル行22001の条件単位の実行条件がtrueかどうかを判断する;
【0546】
そうである場合は、動作プロセステーブル行22001の命令単位の内容を取得して実行し、さらに動作プロセステーブル行22001に埋め込まれた下位動作プロセステーブル22100を取得する。ステップ16を実行する。
【0547】
ステップ16、動作プロセステーブル22100の1番目の動作プロセステーブル行22101を取得する、動作プロセステーブル行22101の条件単位の実行条件がtrueかどうかを判断する;
【0548】
そうである場合は、動作プロセステーブル行22101の命令単位の内容を取得する実行する;
【0549】
そうでない場合、次の動作プロセステーブル行22102を取得し、ステップ17を実行する;
【0550】
ステップ17、動作プロセステーブル行22102の条件単位の実行条件がtrueかどうかを判断する;
【0551】
そうである場合は、動作プロセステーブル行22102の命令単位の内容を取得する実行する;
【0552】
ステップ18、ターゲットインデックス変数「ロボットのステータス」の値が分岐動作プロセステーブル行41003のインデックス単位6231の内容と一致するかどうかを判断する。
【0553】
一致する場合は、分岐ステータス部6233内の内容を取得する、分岐ステータス部6233内の内容に応じて表示灯のステータスを設定;
【0554】
そうでない場合ステップ19を実行する;
【0555】
ステップ19、ターゲットインデックス変数「ロボットのステータス」の値が分岐動作プロセステーブル行41004のインデックス単位6241の内容と一致するかどうかを判断する。
【0556】
一致する場合は、まず分岐ステータス部6243内の内容を取得し、分岐ステータス部6243内の内容に応じて指示灯のステータスを設定する; そして、分岐動作プロセステーブル行41004の下に埋め込む動作プロセステーブル24000を取得し、ステップ20を実行する;
【0557】
そうでない場合、ステップ21を実行する;
【0558】
ステップ20、動作プロセステーブル行24001の条件単位の実行条件がtrueかどうかを判断する;
【0559】
そうである場合は、動作プロセステーブル行24001の命令単位の内容を取得する実行する;
【0560】
ステップ21、ターゲットインデックス変数「ロボットのステータス」の値が分岐動作プロセステーブル行41005のインデックス単位6251の内容と一致するかどうかを判断する。
【0561】
一致する場合は、まず分岐ステータス部6253内の内容を取得し、分岐ステータス部6253内の内容に応じて表示灯のステータスを設定する; そして、分岐動作プロセステーブル行41005の下に埋め込む動作プロセステーブル25000を取得し、ステップ22を実行する;
【0562】
そうでない場合、ステップ25を実行する;
【0563】
ステップ22、動作プロセステーブル25000の最初の動作プロセステーブル行25001を取得し、動作プロセステーブル行25001の条件単位の実行条件がtrueかどうかを判断する;
【0564】
そうである場合は、動作プロセステーブル行25001の命令単位の内容を取得して実行し、さらに動作プロセステーブル行25001に埋め込まれた下位動作プロセステーブル25100を取得し、ステップ16を実行する;
【0565】
ステップ23、動作プロセステーブル25100の1番目の動作プロセステーブル行25101を取得する、動作プロセステーブル行25101の条件単位の実行条件がtrueかどうかを判断する;
【0566】
そうである場合は、動作プロセステーブル行25101の命令単位の内容を取得する実行する;
【0567】
そうでない場合、次の動作プロセステーブル行25102を取得してステップ17を実行する;
【0568】
ステップ24、動作プロセステーブル行25102の条件単位の実行条件がtrueかどうかを判断する;
【0569】
そうである場合は、動作プロセステーブル行25102の命令単位の内容を取得する実行する;
【0570】
ステップ25、ターゲットインデックス変数「ロボットのステータス」の値が分岐動作プロセステーブル行41006のインデックス単位6261の内容と一致するかどうかを判断する。
【0571】
一致する場合は、分岐ステータス部6263内の内容を取得する、分岐ステータス部6263内の内容に応じて表示灯のステータスを設定;
【0572】
ステップ26、動作プロセステーブル50000の最初の動作プロセステーブル行50001を取得する。動作プロセステーブル行50001条件単位の実行条件は常にtrueなので、動作プロセステーブル行50001命令単位の内容をすぐに実行する。50001命令単位では分岐切替命令であるため、動作プロセステーブル行50001の下に埋め込まれた分岐動作プロセステーブル51000を取得し、目標のインデックス変数「工作機械ステータス」の値が分岐動作プロセステーブル行51001のインデックス単位6311の内容と一致するかどうかを判断する。
【0573】
一致すれば分岐動作プロセステーブル行51001の下に埋め込む動作プロセステーブル31000を取得し、ステップ27を実行する;
【0574】
そうでない場合、ステップ33を実行する;
【0575】
ステップ27、動作プロセステーブル31000の最初の動作プロセステーブル行31001を取得し、動作プロセステーブル行31001の条件単位の実行条件がtrueかどうかを判断する;
【0576】
そうである場合は、動作プロセステーブル行31001の命令単位内の内容を取得して実行し、さらに動作プロセステーブル行31001に埋め込まれた下位動作プロセステーブル31100を取得する。ステップ28を実行する;
【0577】
ステップ28、動作プロセステーブル31100の1番目の動作プロセステーブル行31101を取得する、動作プロセステーブル行21101の条件単位の実行条件がtrueかどうかを判断する;
【0578】
そうである場合は、動作プロセステーブル行31101の命令単位内の内容を取得して実行し、さらに動作プロセステーブル行31101に埋め込まれた下位動作プロセステーブル31110を取得する。ステップ29を実行する;
【0579】
そうでない場合次の動作プロセステーブル行31102を取得し、ステップ31を実行する;
【0580】
ステップ29、動作プロセステーブル31110の1番目の動作プロセステーブル行31111を取得し、動作プロセステーブル行31111の条件単位の実行条件がtrueかどうかを判断する;
【0581】
そうである場合は、動作プロセステーブル行31111の命令単位の内容を取得する実行する;
【0582】
そうでない場合次の動作プロセステーブル行31112を取得し、ステップ13を実行する;
【0583】
ステップ30、動作プロセステーブル行31112の条件単位の実行条件がtrueかどうかを判断する;
【0584】
そうである場合は、動作プロセステーブル行31112の命令単位の内容を取得する実行する;
【0585】
ステップ31、動作プロセステーブル行31102の条件単位の実行条件がtrueかどうかを判断する;
【0586】
そうである場合は、動作プロセステーブル行31102の命令単位の内容を取得する実行する;
【0587】
そうでない場合次の動作プロセステーブル行31103を取得し、ステップ32を実行する;
【0588】
ステップ32、動作プロセステーブル行31103の条件単位の実行条件がtrueかどうかを判断する;
【0589】
そうである場合は、動作プロセステーブル行31103の命令単位の内容を取得する実行する;
【0590】
ステップ33、目標のインデックス変数「工作機械のステータス」の値が分岐動作プロセステーブル行51002のインデックス単位6321の内容と一致するかどうかを判断する。
【0591】
一致すれば分岐動作プロセステーブル行51002の下に埋め込む動作プロセステーブル32000を取得し、ステップ34を実行する;
【0592】
そうでない場合は、ステップ35を実行する;
【0593】
ステップ34、動作プロセステーブル32000の最初の動作プロセステーブル行32001を取得し、動作プロセステーブル行32001の条件単位の実行条件がtrueかどうかを判断する;
【0594】
そうである場合は、動作プロセステーブル行32001の命令単位の内容を取得する実行する;
【0595】
ステップ35、目標のインデックス変数「工作機械のステータス」の値が分岐動作プロセステーブル行51003のインデックス単位6331の内容と一致するかどうかを判断する。
【0596】
一致すれば分岐動作プロセステーブル行51003の下に埋め込む動作プロセステーブル33000を取得し、ステップ36を実行する;
【0597】
そうでない場合は、ステップ37を実行する;
【0598】
ステップ36、動作プロセステーブル33000の最初の動作プロセステーブル行33001を取得し、動作プロセステーブル行33001の条件単位の実行条件がtrueかどうかを判断する;
【0599】
そうである場合は、動作プロセステーブル行33001の命令単位の内容を取得する実行する;
【0600】
ステップ37、目標のインデックス変数「工作機械のステータス」の値が分岐動作プロセステーブル行51004のインデックス単位6341の内容と一致するかどうかを判断する。
【0601】
一致すれば分岐動作プロセステーブル行51004の下に埋め込む動作プロセステーブル34000を取得し、ステップ38を実行する;
【0602】
そうでない場合は、ステップ39を実行する;
【0603】
ステップ38、動作プロセステーブル34000の最初の動作プロセステーブル行34001を取得し、動作プロセステーブル行34001の条件単位の実行条件がtrueかどうかを判断する;
【0604】
そうである場合は、動作プロセステーブル行34001の命令単位の内容を取得する実行する;
【0605】
ステップ39、目標のインデックス変数「工作機械のステータス」の値が分岐動作プロセステーブル行51005のインデックス単位6351の内容と一致するかどうかを判断する。
【0606】
一致すれば分岐動作プロセステーブル行51005の下に埋め込む動作プロセステーブル35000を取得し、ステップ40を実行する;
【0607】
ステップ40、動作プロセステーブル35000の最初の動作プロセステーブル行35001を取得し、動作プロセステーブル行35001の条件単位の実行条件がtrueかどうかを判断する;
【0608】
そうである場合は、動作プロセステーブル行35001の命令単位の内容を取得して実行する。
【0609】
以上、本実施例2における自動化生産システムに対応する動作プロセステーブルの具体的な実行ステップを、動作プロセステーブルに対して動作プロセスを実行する方法で説明した。
【0610】
このステップ1~ステップ40から分かるように、本実施例2の動作プロセステーブルに対する動作プロセスの実行方法は、実施例1と比較する、ステップS11~s12と同様のステップC11~c12で現在の動作プロセステーブル行を処理した後、命令単位内の動作命令が分岐切替命令であるか否かを判断する必要がある、ステップ9で述べたように、40001命令単位では分岐切替命令である、 動作プロセステーブル行40001の下に埋め込む分岐動作プロセステーブル41000を取得し、目標のインデックス変数「ロボットのステータス」の値が分岐動作プロセステーブル行41001のインデックス単位6211の内容と一致するかどうかを判断する。 一致すれば、まず分岐ステータス単位6213内の内容を取得する。したがって、このステップは、現在の動作プロセステーブル行の命令単位における動作命令が分岐切替命令であるか否かを取得する判断し、前記現在の動作プロセステーブル行の下に埋め込まれた前記分岐切替命令に対応する前記分岐動作プロセステーブルを取得する、この分岐動作プロセステーブル行から前記インデックス単位の分岐インデックス値と前記目的インデックス変数の値とが一致する分岐動作プロセステーブル行を取得し、 当該分岐動作プロセステーブル行の下に埋め込まれた前記サブ動作プロセステーブルの先頭の動作プロセステーブル行を現在の動作プロセステーブル行として取得してステップC12に戻り、そうでない場合動作命令を実行する(C13)。
【0611】
次にステップ9では、分岐動作プロセステーブル行41001の下に埋め込まれた動作プロセステーブル21000も取得し、ステップ10を実行する。現在の動作プロセステーブルの行の下に埋め込む分岐動作プロセステーブルがあるか否かを判断し、あると判断する場合には分岐動作プロセステーブルが実行されるまで分岐動作プロセステーブルを実行することに相当する(ステップC14)。ステップC14の処理が終了した後、ステップB15と同様のステップC15によって動作プロセステーブル行のトラバースが実現される。
【0612】
上記のステップで得られた動作プロセステーブルと分岐動作プロセステーブルは、リレーショナルデータベース、XMLデータベース、およびオブジェクト指向データベースを含むが、これらに限定されないデータベースの形で保存および検索することができる。およびHTMLページやExcelTMなどのスプレッドシートを介して本発明のシナリオに従って提示および/または設定することができる。さらに、本発明の態様に従って実現するコンピュータプログラムを、メモリ、プロセッサーを含むコンピュータシステム上で実行することにより、データベースに記憶された動作プロセステーブル及び分岐動作プロセステーブルにアクセスする、動作プロセスのプロセスステップを提示、設定及び/又は実行することができる。別の実施形態では、このコンピュータシステムは、外部のセンサとアクチュエータを接続して、工作機械やロボットなどの物理的なデバイスを動作するためのI/Oポートも含む。上記のデータベース、スプレッドシート、コンピュータシステム、センサ、アクチュエータの構成は既知であるため、これ以上の説明は省略する。
【0613】
上記の実施形態は本発明の具体的な実施形態を例示するためのものであり、本発明は上記の実施形態の説明範囲に限定されるものではない。当業者が本発明の開示技術の範囲内で容易に思いつく変更または置換は、本発明の特許請求の範囲内に含まれるべきである。
【0614】
例えば、本発明における分岐動作プロセステーブルの行と動作プロセステーブルの上下に階層的に埋め込む関係の表現形式は、図10~11の形式に限定されるものではない。本発明の別の態様では、図12を参照して、分岐動作プロセステーブル51000は動作プロセステーブル50000の左側に設置することができ、分岐動作プロセステーブル51000の分岐動作プロセステーブル行ごとに右側に関連する動作プロセステーブルが行ごとに揃えられる。分岐動作プロセステーブルの行は動作プロセステーブルの上ではなく左にあるが、両者の関係は依然として上下関係である。つまり、図11図12で説明した動作プロセステーブルと分岐動作プロセステーブルは論理的に一致している。したがって、図11図12の2つの異なるビュー形式は、必要に応じて互いに切り替えることができ、例えば、画面の表示が狭い場合や画面が縦に並んでいる場合には図11の形式を採用し、逆に図12の形式を採用することができる。これにより、画面の表示スペースをより効率的に利用できるようになり、複雑な動作プロセスの閲覧と編集が容易になり、異なる種類のプロセスステップの分離度が高くなり、動作プロセス間の細部の違いを発見し、プログラムエラーをタイムリーに発見することが容易になる。
【0615】
さらに、図12を参照すると、連続する複数の排他的な分岐動作プロセスについては、最初の分岐動作プロセスに対応する動作プロセステーブル行の条件セルの内容の左側に丸印を設ける、排他的な他の分岐動作プロセスに対応する動作プロセステーブル行の条件セルの内容の左側に丸印を設けて、これらの分岐動作プロセスの排他的な関係を書式に反映することができる。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
【手続補正書】
【提出日】2021-08-06
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
複数のプロセスステップを含む動作プロセスの表形式化動作プロセス処理方法であって、
動作プロセステーブルを作成するステップS1と、
前記動作プロセスの前記プロセスステップを順次取得し、前記プロセスステップごとの前記動作プロセスでの対応する動作プロセスタイプを順次判定するステップS2と、
前記動作プロセス中の連続する前記プロセスステップを、所定のプロセスステップ序列組み合わせルールに従って、対応する前記動作プロセスタイプに対応する少なくとも1つのプロセスステップ序列に組み合わせるステップS3と、
前記動作プロセスから前記プロセスステップ序列を順次取得し、前記プロセスステップ序列の前記動作プロセスタイプ、及び当該動作プロセスタイプを有するプロセスステップ序列に対応する所定の行生成ルールに基づいて、前記動作プロセステーブルに前記プロセスステップ序列に対応する動作プロセステーブル行を順次生成するステップS4と、
前記プロセスステップが取得済みか否かを判定し、取得済みでないと判定した場合には前記ステップS2に戻り、取得済みと判定した場合には最終的な前記動作プロセステーブルを所得して出力するステップS5と、
を含み、
前記動作プロセステーブルは、条件列と命令列と、を含み、
前記動作プロセステーブル行ごとに、前記条件列に位置する条件単位と、前記命令列に位置する命令単位とを含み、
前記条件単位は、少なくとも、前記動作プロセスで判定を実行するためのプロセスステップを追加し、且つ同一の前記動作プロセステーブル行の前記命令単位に対応する実行条件として前記プロセスステップを使用するために使用され、
前記命令単位は、前記動作プロセスで動作を実行するための前記プロセスステップを動作命令として追加するために使用され、
前記動作プロセスタイプは、少なくとも動作命令型動作プロセス及び条件分岐動作プロセスを含み、
前記命令型動作プロセスは、少なくとも動作命令としての連続した1つのプロセスステップを含み、前記命令型動作プロセスに対応する前記プロセスステップの組み合わせルールとして、前記命令型動作プロセスにおいて連続する前記プロセスステップを動作命令型プロセスステップ序列として組み合わせ、
前記条件分岐動作プロセスは、少なくとも1つの分岐動作プロセスと、それぞれの前記分岐動作プロセスに対応し且つ相互排他的な実行条件とを含み、前記分岐動作プロセスにおいて連続する前記プロセスステップは、対応する前記動作プロセスタイプに対応する少なくとも1つの前記プロセスステップ序列に組み合わされ、
最初のサブ動作ステップ序列が動作命令型プロセスステップ序列の場合、当該サブ動作ステップ序列中の各プロセスステップを動作命令順として該当する前記分岐動作プロセスの前記動作プロセステーブル行の前記命令単位に追加し、
前記サブ動作ステップ序列が条件分岐型プロセスステップ序列の場合、対応する前記分岐動作プロセスに対応するサブ動作プロセステーブルを生成し、前記分岐動作プロセスに対応する前記動作プロセステーブル行の下に階層的に埋め込み、前記条件分岐型プロセスステップ序列に対応する前記所定の行生成ルールに基づいて前記サブ動作プロセステーブルに前記サブ動作プロセステーブル行を順次生成し、
前記サブプロセスステップ序列が動作命令型プロセスステップ序列であり、かつ、前記条件分岐型プロセスステップ序列の中の最初のサブプロセスステップ序列でない場合、前記動作命令型プロセスステップ序列に対応する前記所定の行生成ルールに従って前記サブ動作プロセステーブルに前記動作プロセステーブル行を生成することを特徴とする表形式化動作プロセス処理方法
【請求項2】
前記動作命令型プロセスステップ序列に対応する前記所定の行生成ルールは、
前記動作プロセステーブルに、1つの動作プロセステーブル行を現在の動作プロセステーブル行として順次生成するステップA1と、
前記現在の動作プロセステーブル行の条件単位に真値を実行条件として追加するステップA2と、
対応する前記動作命令型プロセスステップ序列中の前記プロセスステップを順次取得して、前記現在の動作プロセステーブル行の前記指示単位に追加するステップA3と、
を含む請求項1に記載の表形式化動作プロセス処理方法。
【請求項3】
条件分岐動作プロセスに対するプロセスステップの組み合わせルールは、前記条件分岐動作プロセスにおける前記分岐動作プロセスと、当該分岐動作プロセスに対応する前記実行条件とを、条件分岐型プロセスステップ序列に組み合あわせ、
前記条件分岐型プロセスステップ序列に対応する前記所定の行生成ルールは、
前記条件分岐型プロセスステップ序列に基づいて、前記動作プロセステーブルに該当する動作プロセステーブル行を順次生成するステップB1と、
対応する前記動作プロセステーブル行の前記条件単位に、前記条件分岐型プロセスステップ序列に対応する前記実行条件を追加し、生成された各動作プロセステーブル行の互いの排他関係を設定するステップB2と、
前記条件分岐型プロセスステップの序列に対して、前記分岐動作プロセス中の前記プロセスステップを順次取得し、当該分岐動作プロセス中の前記プロセスステップ毎に対応する動作プロセスタイプを順次判定し、前記条件分岐型プロセスステップ序列中の連続する前記プロセスステップを、所定のプロセスステップ序列組み合わせルールに従って、対応する動作プロセスタイプの少なくとも1つのサブ動作序列にさらに組み合わせるステップB3と、
を含み、
請求項2に記載の表形式化動作プロセス処理方法。
【請求項4】
前記動作プロセスタイプは、複数の分岐動作プロセスと、前記分岐動作プロセスを切り替えるための分岐切替命令と、それぞれの前記分岐動作プロセスに対応して互いに排他的な分岐インデックス条件とを含む切替分岐動作プロセスを更に含み、
前記切替分岐動作プロセスに対するプロセスステップの組み合わせルールは、前記切替分岐動作プロセスに含む分岐動作プロセス毎、及びそれに対応する分岐インデックス条件をそれぞれ切替分岐型プロセスステップ序列に組み合わせ、
前記切替分岐型プロセスステップ序列に対応する前記所定の行生成ルールは、
前記分岐切替命令に対応する前記プロセスステップの前に連続する前記プロセスステップが前記動作命令型プロセスステップ序列に属する場合、当該動作命令型プロセスステップ序列に基づいて生成された前記動作プロセステーブル行を現在の動作プロセステーブル行とするステップC1と、
前記分岐切替命令に対応する前記プロセスステップを動作命令として前記現在の動作プロセステーブル行の前記命令単位に追加するステップC2と、
前記現在の動作プロセステーブル行の下に表層的に埋め込み、インデックス列を含み、前記切替分岐型プロセスステップ系列に対応する分岐動作プロセステーブルを作成するステップC3と、
前記分岐動作プロセス毎に、前記分岐動作プロセステーブルに、前記インデックス列にあるインデックス単位を含む分岐動作プロセステーブル行を順次作成し、前記分岐インデックス条件を前記インデックス単位に追加するとともに、前記分岐動作プロセステーブル行の下に階層的に埋め込まれたサブ動作プロセステーブルを作成するステップC4と、
前記サブ動作プロセステーブル毎に、該当する前記分岐動作プロセス中の前記プロセスステップを順次取得し、該当する分岐動作プロセス中の前記プロセスステップ毎に対応する動作プロセスタイプを順次判定し、所定のプロセスステップ順序組み合わせルールに従って、前記分岐動作プロセス中の連続する前記プロセスステップをそれぞれ、該当動作プロセスタイプに対応する少なくとも1つのサブプロセスステップ順序に組み合わせ、 さらに、当該ワークプロセスプロセスステップ序列の種類に対応する所定の行生成ルールに基づいて、前記サブ動作プロセステーブル内に、前記サブプロセスステップ序列に対応する動作プロセステーブル行を順次生成するステップC5と、
を含み、
前記分岐切替指示は、前記ターゲットインデックス変数に基づいて対応する前記分岐インデックス条件を決定し、対応する前記分岐インデックス値を持つインデックス単位を実行する動作プロセステーブル行を切り替える請求項2に記載の表形式化動作プロセス処理方法。
【請求項5】
前記分岐動作プロセステーブルは、切替先列をさらに含み、前記分岐動作プロセステーブル行は、前記切替先列に位置する切替先単位をさらに含み、
前記切替先単位には、前記切替指示として、前記目標インデックス変数の値を設定ための前記プロセスステップが追加されている請求項4に記載の表形式化動作プロセス処理方法。
【請求項6】
前記分岐動作プロセステーブルは、分岐ステータス列をさらに含み、前記動作プロセステーブル行は、前記分岐ステータス列に位置する分岐ステータス単位をさらに含み、
前記分岐ステータス単位には、前記分岐の動作プロセスに対応するステータス変数に値を割り当てるための動作命令が追加されている請求項4に記載の表形式化動作プロセス処理方法。
【請求項7】
前記動作プロセスタイプは循環動作プロセスをさらに含み、前記循環動作プロセスは、実行条件及び循環サブプロセスを含み、
前記動作プロセステーブルは、循環ステータス列をさらに含み、前記動作プロセステーブル行には、前記循環ステータス列に位置する循環ステータス単位が含まれ、
循環動作プロセスに対するプロセスステップの組み合わせルールは、前記循環動作プロセスの実行条件及び循環サブプロセスを循環動作プロセスステップ序列に組み合わせ、
前記循環動作プロセスステップ序列に対応する前記所定の行生成ルールは、
前記動作プロセステーブルに現在の動作プロセステーブル行として1つの動作プロセステーブル行を順次生成するステップD1と、
前記現在のプロセスステップを実行条件として前記現在の動作プロセステーブル行の前記条件単位に追加し、前記循環ステータス単位に循環実行ステータスを追加するステップD2と、
前記循環サブプロセス中の前記プロセスステップを順次取得し、前記循環サブプロセス中の前記プロセスステップ毎に対応する動作プロセスタイプを順次判定し、前記循環動作プロセスステップ序列中の連続する前記プロセスステップを、所定のプロセスステップ序列組み合わせルールに従って、対応する前記動作プロセスタイプに対応するサブプロセスステップ序列にさらに組み合わせるステップD3と、
を含み、
最初のサブプロセスステップの序列が動作命令型プロセスステップ序列であり、当該サブプロセスステップの序列中の各プロセスステップを、対応する前記分岐動作プロセスの前記動作プロセステーブル行の前記命令単位に動作命令順として追加し、
前記分割プロセスステップ序列が条件分岐型プロセスステップ序列であり、対応する前記分岐動作プロセスに対応するサブ動作プロセステーブルを生成し、前記条件分岐型プロセスステップ序列に対応する前記予定行生成ルールに基づいて前記サブ動作プロセステーブルに前記サブ動作プロセステーブル行を順次生成し、
前記サブ動作プロセスは、前記分岐動作プロセスに対応する前記動作プロセステーブル行の下に表層的に埋め込まれている請求項2に記載の表形式化動作プロセス処理方法。
【請求項8】
表形式化動作プロセス処理方法によって得られた動作プロセステーブルに基づいて動作プロセスを実行する動作プロセステーブル実行方法であって、
動作プロセステーブルを作成するステップS1と、
前記動作プロセスの前記プロセスステップを順次取得し、前記プロセスステップ毎に前記動作プロセスで対応する動作プロセスタイプを順次判定するステップS2と、
前記動作プロセス中の連続する前記プロセスステップを、所定のプロセスステップ順序組み合わせルールに従って、対応する前記動作プロセスタイプに対応する少なくとも1つのプロセスステップ順序に組み合わせるステップS3と、
前記動作プロセスから前記プロセスステップ序列を順次取得し、前記プロセスステップ序列の前記動作プロセスタイプに基づいて、当該動作プロセスタイプを有するプロセスステップ序列に対応する所定の行生成ルールに基づいて、前記動作プロセステーブルに前記プロセスステップ序列に対応する動作プロセステーブル行を順次生成するステップS4と、
前記プロセスステップが取得済みか否かを判定し、取得済みと判定した場合には前記ステップS2に戻り、取得済みでないと判定した場合には最終的な前記動作プロセステーブルを得て出力するステップS5と、
を含み、
前記動作プロセステーブルは、条件列及び命令列を含み、
各前記動作プロセステーブル行は、前記条件列に位置する条件単位と、前記命令列に位置する命令単位とを含み、
前記条件単位のうち、少なくとも前記動作プロセスで実行する判定の前記プロセスステップを追加し、当該プロセスステップを同一の前記動作プロセステーブル行における前記指示単位に対応する実行条件とし、
前記命令単位には、前記動作プロセスで実行する動作の前記プロセスステップが動作命令として追加されており、
前記動作プロセスタイプは、少なくとも動作命令型動作プロセス及び条件分岐動作プロセスを含み、
前記命令型動作プロセスは、少なくとも1つの連続動作命令としてのプロセスステップを含み、前記命令型動作プロセスに対応する前記プロセスステップの組み合わせルールは、前記命令型動作プロセスにおいて連続する前記プロセスステップを動作命令型プロセスステップ序列に組み合わせ、
前記条件分岐動作プロセスは、少なくとも1つの分岐動作プロセスと、それぞれの前記分岐動作プロセスに対応する相互排他的な実行条件とを含み、前記分岐動作プロセス中の連続する前記プロセスステップは、対応する前記動作プロセスタイプに対応する少なくとも1つのサブプロセスステップ序列に組み合わされ、
最初のサブ動作のステップ序列が動作命令型プロセスステップ序列であり、当該サブ動作のステップ序列中の各プロセスステップを動作命令順として該当する前記分岐動作プロセスの前記動作プロセステーブル行の前記命令単位に追加し、
前記分割プロセスステップ序列が条件分岐型プロセスステップ序列であり、対応する前記分岐動作プロセスに対応するサブ動作プロセステーブルを生成し、前記分岐動作プロセスに対応する前記動作プロセステーブル行の下に階層的に埋め込み、前記条件分岐型プロセスステップ序列に対応する前記予定行生成ルールに基づいて前記サブ動作プロセステーブル中に前記サブ動作プロセステーブル行を順次生成し、
前記サブ動作のステップ序列が動作命令型プロセスステップ序列であり、かつ、前記条件分岐型プロセスステップ序列の中で最初のサブ動作のステップ序列でなければ、前記動作命令型プロセスステップ序列に対応する前記予定行生成ルールに従って前記サブ動作プロセステーブルに前記動作プロセステーブル行を生成し、
前記動作プロセステーブルに対する動作プロセス実行方法は、
前記動作プロセステーブルから現在の動作プロセステーブル行として動作プロセステーブル行を順次取得するステップS11と、
前記現在の動作プロセステーブル行の条件単位の実行条件が真値であるか否かを判定し、そうでないと判定すればステップS11に戻るステップS12と、
前記現在の動作プロセステーブル行の命令単位における動作命令を取得する実行するステップS13と、
前記動作プロセステーブル中の全ての前記プロセスステップが実行済みか否かを判定し、そうでないと判定した場合には前記ステップS11に戻り、そうであると判定した場合には前記動作プロセスが実行済みとするステップS14と、
を含む動作プロセスを実行する動作プロセステーブル実行方法。
【請求項9】
条件分岐動作プロセスに対するプロセスステップの組み合わせルールは、前記条件分岐動作プロセスにおける前記分岐動作プロセス及び当該分岐動作プロセスに対応する前記実行条件を条件分岐型プロセスステップ序列に組み合わせ、
前記条件分岐型プロセスステップ序列に対応する前記所定の行生成ルールは、
前記条件分岐型プロセスステップ序列に基づいて、前記動作プロセステーブルに該当する動作プロセステーブル行を順次生成するステップB1と、
前記条件分岐型プロセスステップ序列に対応する前記実行条件を対応する前記動作プロセステーブル行の前記条件単位に追加し、生成された各動作プロセステーブル行の排他関係を設定するステップB2と、
前記条件分岐型プロセスステップの序列について、前記分岐動作プロセス中の前記プロセスステップを順次取得し、各プロセスステップ毎に対応する動作プロセスタイプを順次判定し、所定のプロセスステップ順序組み合わせルールに従って、前記条件分岐型プロセスステップ順序中の連続する前記プロセスステップを、対応する動作プロセスタイプを少なくとも1つ持つサブ動作にさらに組み合わせるステップB3と、
を含み
動作プロセステーブルに対する動作プロセスを実行する方法は、
前記動作プロセステーブルから現在の動作プロセステーブル行として動作プロセステーブル行を順次取得するステップB11と、
前記現在の動作プロセステーブル行の条件単位の実行条件が真値であるか否かを判定し、そうでないと判定した場合はステップB11に戻るステップB12と、
前記現在の動作プロセステーブル行の命令単位における動作命令を取得する実行するステップB13と、
前記現在の動作プロセステーブル行の下に埋め込む前記サブ動作プロセステーブルがあるか否かを判定し、あると判定した場合には、前記サブ動作プロセステーブルが実行されるまで前記サブ動作プロセステーブルを実行するステップB14と、
前記動作プロセステーブル中の全ての前記プロセスステップが実行するか否かを判定し、そうでないと判定すると、前記現在の動作プロセステーブル行の条件単位中の前記実行条件と非排他関係にある次の動作プロセステーブル行を現在の動作プロセステーブル行として取得する前記ステップB12に戻り、そうであると判定すると、前記動作プロセスが実行済みとするステップB15と、
を含む請求項8に記載の動作プロセスを実行する動作プロセステーブル実行方法。
【請求項10】
前記動作プロセスタイプは、複数の分岐動作プロセスと、をさらに含み、前記切替分岐動作プロセスは、前記分岐動作プロセスを切り替えるための分岐切替命令と、それぞれの前記分岐動作プロセスに対応する相互排他の分岐インデックス条件と、をさらに含み、
前記切替分岐動作プロセスに対するプロセスステップの組み合わせルールは、前記切替分岐動作プロセスに含む分岐動作プロセス毎及びそれに対応する分岐インデックス条件をそれぞれ切替分岐型プロセスステップ序列に組み合わせ、
前記切替分岐型プロセスステップ序列に対応する前記所定の行生成ルールは、
前記分岐切替命令に対応する前記プロセスステップの前に連続する前記プロセスステップが前記動作命令型プロセスステップ序列に属する場合、当該動作命令型プロセスステップ序列に基づいて生成された前記動作プロセステーブル行を現在の動作プロセステーブル行とするステップC1と、
前記分岐切替命令に対応する前記プロセスステップを動作命令として前記現在の動作プロセステーブル行の前記命令単位に追加するステップC2と、
前記現在の動作プロセステーブル行の下に表層的に埋め込む、インデックス列を含み、 前記切替分岐型プロセスステップ系列に対応する分岐動作プロセステーブルを作成するステップC3と、
前記分岐動作プロセス毎に、前記分岐動作プロセステーブルに、前記インデックス列にあるインデックス単位を含む分岐動作プロセステーブル行を順次作成し、前記分岐インデックス条件を前記インデックス単位に追加するとともに、前記分岐動作プロセステーブル行の下に階層的に埋め込まれたサブ動作プロセステーブルを作成するステップC4と、
前記サブ動作プロセステーブル毎に、該当する前記分岐動作プロセス中の前記プロセスステップを順次取得し、該当する分岐動作プロセス中の前記プロセスステップ毎に対応する動作プロセスタイプを順次判定し、所定のプロセスステップ順序組み合わせルールに従って、前記分岐動作プロセス中の連続する前記プロセスステップをそれぞれ、該当動作プロセスタイプに対応する少なくとも1つのサブプロセスステップ順序に組み合わせ、さらに、当該ワークプロセスプロセスステップ序列の種類に対応する所定の行生成ルールに基づいて、前記サブ動作プロセステーブル内に、前記サブプロセスステップ序列に対応する動作プロセステーブル行を順次生成するステップC5と、
含み、
前記分岐切替指示は、前記ターゲットインデックス変数に基づいて対応する前記分岐インデックス条件を決定し、対応する前記分岐インデックス値を持つインデックス単位を実行する動作プロセステーブル行を切り替えるためのものであり、
前記動作プロセステーブルに対する動作プロセスを実行する方法は、
前記動作プロセステーブルから現在の動作プロセステーブル行として動作プロセステーブル行を順次取得するステップC11と、
前記現在の動作プロセステーブル行の条件単位の実行条件が真値であるか否かを判定し、そうでないと判定した場合はステップC11に戻るステップC12と、
前記現在動作プロセステーブル行の命令単位における動作命令が分岐切替命令であるか否かを取得する判定し、前記現在動作プロセステーブル行の下に埋め込まれた前記分岐切替命令に対応する前記分岐動作プロセステーブルを取得し、当該分岐動作プロセステーブル行から前記インデックス単位の分岐インデックス値と前記目的インデックス変数の値とが一致する分岐動作プロセステーブル行を取得し、さらに当該分岐動作プロセステーブル行の下に埋め込む前記サブ動作プロセステーブルの先頭を取得するステップC13と、
前記現在の動作プロセステーブル行の下に埋め込む前記分岐動作プロセステーブルがあるか否かを判定し、あると判定した場合、前記分岐動作プロセステーブルが実行されるまで前記分岐動作プロセステーブルを実行するステップC14と、
前記動作プロセステーブル中の全ての前記プロセスステップが実行するか否かを判定し、そうでないと判定すると、前記現在の動作プロセステーブル行の条件単位中の前記実行条件と非排他関係にある次の動作プロセステーブル行を現在の動作プロセステーブル行として取得する前記ステップC12に戻り、そうであると判定すると、前記動作プロセスが実行済みとするステップC15と、
を含む請求項8に記載の動作プロセスを実行する動作プロセステーブル実行方法。
【請求項11】
前記分岐動作プロセステーブルは、切替先列をさらに含み、前記分岐動作プロセステーブル行は、前記切替先列に位置する切替先単位をさらに含み、
切替先単位には、前記目標インデックス変数の値を設定ための前記プロセスステップを切替指示として追加されており、
動作プロセステーブルに対する動作プロセスを実行する方法は、前記ステップC13で、前記切替先単位の前記切替命令も取得して実行することを含む請求項10に記載の動作プロセスを実行する動作プロセステーブル実行方法。
【請求項12】
前記分岐動作プロセステーブルは、分岐ステータス列をさらに含み、前記動作プロセステーブル行は、前記分岐ステータス列に位置する分岐ステータス単位をさらに含み、
前記分岐ステータス単位には、前記分岐の動作プロセスに対応するステータス変数に値を割り当てるための動作命令が追加されており、
前記ステップC13では、前記インデックス単位の分岐インデックス値と前記目的インデックス変数の値とが一致する分岐動作プロセステーブル行を取得する際に、前記分岐ステータス単位における前記動作命令も取得し、前記ステータス変数に値を割り当てる請求項10に記載の動作プロセスを実行する動作プロセステーブル実行方法。
【請求項13】
前記動作プロセスタイプは更に循環動作プロセスを含み、前記循環動作プロセスは実行条件及び循環サブプロセスを含み、
前記動作プロセステーブルは、さらに循環ステータス列を含み、前記動作プロセステーブル行には、前記循環ステータス列に位置する循環ステータス単位が含まれ、
循環動作プロセスに対するプロセスステップの組み合わせルールは、前記循環動作プロセスの実行条件及び循環サブプロセスを循環動作プロセスステップ序列に組み合わせ、
前記循環動作プロセスステップ序列に対応する前記所定の行生成ルールは、
前記動作プロセステーブルに現在の動作プロセステーブル行として1つの動作プロセステーブル行を順次生成するステップD1と、
前記現在のプロセスステップを実行条件として前記現在の動作プロセステーブル行の前記条件単位に追加し、前記循環ステータス単位に循環実行ステータスを追加するステップD2と、
前記循環サブプロセス中の前記プロセスステップを順次取得し、前記循環サブプロセス中の前記プロセスステップ毎に対応する動作プロセスタイプを順次判定し、前記循環動作プロセスステップ序列中の連続する前記プロセスステップを、所定のプロセスステップ序列組み合わせルールに従って、対応する前記動作プロセスタイプに対応するサブプロセスステップ序列にさらに組み合わせるステップD3と、
をさらに含み
最初のサブプロセスステップの序列が動作命令型プロセスステップ序列であり、当該サブプロセスステップの序列中の各プロセスステップを、対応する前記分岐動作プロセスの前記動作プロセステーブル行の前記命令単位に動作命令順として追加し、
前記分割プロセスステップ序列が条件分岐型プロセスステップ序列であり、対応する前記分岐動作プロセスに対応するサブ動作プロセステーブルを生成し、前記条件分岐型プロセスステップ序列に対応する前記予定行生成ルールに基づいて前記サブ動作プロセステーブルに前記サブ動作プロセステーブル行を順次生成し、
前記サブ動作プロセスは、前記分岐動作プロセスに対応する前記動作プロセステーブル行の下に表層的に埋め込むており、
前記動作プロセステーブルに対する動作プロセス実行方法は、
前記動作プロセステーブルから現在の動作プロセステーブル行として動作プロセステーブル行を順次取得するステップD11と、
前記現在の動作プロセステーブル行の条件単位の実行条件が真値であるか否かを判定し、真値でないと判定されるとステップD11に戻るステップD12と、
前記現在の動作プロセステーブル行の命令単位における動作命令を取得する実行するステップD13と、
前記現在の動作プロセステーブル行の下に埋め込む前記サブ動作プロセステーブルがあるか否かを判定し、あると判定した場合には、前記サブ動作プロセステーブルが実行されるまで前記サブ動作プロセステーブルを実行するステップD14と、
前記現在の動作プロセステーブル行の前記循環ステータス単位に循環実行ステータスがあるか否かを判定し、あれば前記ステップD12に戻って前記現在の動作プロセステーブル行を繰り返す実行するステップD15と、
前記動作プロセステーブル中の全ての前記プロセスステップが実行済みか否かを判定し、そうでないと判定すると、前記現在の動作プロセステーブル行の条件単位中の前記実行条件と非排他関係にある次の動作プロセステーブル行を現在の動作プロセステーブル行として取得する前記ステップD12に戻り、そうであると判定すると、前記動作プロセスの実行を終了するステップD16と、
をさらに含む請求項8に記載の動作プロセスを実行する動作プロセステーブル実行方法。
【請求項14】
コンピュータプログラムを記憶するメモリと、
前記コンピュータプログラムを実行する際に、請求項1~7のいずれか一項に記載の表形式化動作プロセス処理方法を実現するプロセッサーと、
を備える表形式化動作プロセス処理装置。
【請求項15】
コンピュータプログラムを記憶するメモリと、
前記コンピュータプログラムを実行する際に、請求項8~11のいずれか一項に記載の動作プロセスを実行する動作プロセステーブル実行方法を実現するプロセッサーと、
を備える表形式化動作プロセス処理装置。
【国際調査報告】