JP4472557B2 - プログラム作成装置 - Google Patents

プログラム作成装置 Download PDF

Info

Publication number
JP4472557B2
JP4472557B2 JP2005056117A JP2005056117A JP4472557B2 JP 4472557 B2 JP4472557 B2 JP 4472557B2 JP 2005056117 A JP2005056117 A JP 2005056117A JP 2005056117 A JP2005056117 A JP 2005056117A JP 4472557 B2 JP4472557 B2 JP 4472557B2
Authority
JP
Japan
Prior art keywords
action
information
job
activation
pattern
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2005056117A
Other languages
English (en)
Other versions
JP2006243936A (ja
Inventor
晃一 中川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2005056117A priority Critical patent/JP4472557B2/ja
Priority to TW094122264A priority patent/TWI273363B/zh
Priority to KR1020050081610A priority patent/KR100654514B1/ko
Publication of JP2006243936A publication Critical patent/JP2006243936A/ja
Application granted granted Critical
Publication of JP4472557B2 publication Critical patent/JP4472557B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P80/00Climate change mitigation technologies for sector-wide applications
    • Y02P80/10Efficient use of energy, e.g. using compressed air or pressurized fluid as energy carrier
    • Y02P80/15On-site combined power, heat or cool generation or distribution, e.g. combined heat and power [CHP] supply

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Programmable Controllers (AREA)
  • Stored Programmes (AREA)

Description

この発明は、PLC(Programmable Logic Controller)と外部システムの間でデータ連携を行うプログラムを作成するプログラム作成装置に関するものである。
PLCと、データベースシステムやビジネスアプリケーション等の外部システムの間でのデータ交換を行うプログラムの作成装置に関する従来技術は、例えば特許文献1に記載されている。特許文献1に記載の発明では、FA(Factory Automation)システムにおいて、あるイベントが発生したときに、特定の処理を実行するモデルが使用されている。ここではイベント発生に対応する条件をトリガ、イベント発生により実行される処理をアクションと定義している。トリガとそれに関連するアクションはジョブという単位で管理される。トリガ、アクション、およびジョブは予めデータベースに登録されている。トリガ起動部は、登録されているジョブの内容を参照し、あるトリガが成立している場合には関連するアクションを実行する。
特許第3580347号公報
従来の技術では、トリガとアクションの関係はジョブとして1対1で対応付けされているため、同一のトリガで起動されるアクションが複数ある場合、それぞれ別個に定義しなければならず、複雑な処理を実行するプログラムを作成する場合には、プログラム自体も複雑になり、その結果プログラムの品質にばらつきが出るという問題があった。
また、トリガとアクションの対応付けが単純なため、アクションの実行タイミングや実行時間に関する定義が必要な処理、すなわち、順序処理(あるアクションの処理終了を待って次のアクションを実行する処理。)や並列処理のような、FAで多く使われる高度な処理プログラムを作成することが難しいという問題があった。
さらに、プログラム上でアクションの実行時間を考慮していないと、極度に処理時間の長いアクションが定義できてしまうため、機器の暴走、故障などにより処理が長くなってしまった場合に異常検出が行えないという問題があった。
この発明は上記のような課題を解決するためになされたもので、複雑な処理のプログラムも簡易に記述することが可能で、プログラムの品質を向上させることができるプログラム作成装置を得ることを目的とする。
この発明に係るプログラム作成装置は、PLCと外部システムとの間のデータ交換を通信部及びPLCデータアクセス部を用いたアクションによってデータ連携を行うプログラムを作成するプログラム作成装置であって、実行するアクションが複数あった場合の起動の順序を示す起動パターンを定義する起動パターン定義部と、アクションの実行内容をアクション情報として定義するアクション定義部と、ジョブ実行の起動条件と、その起動条件が成立した場合に実行するアクションのアクション情報と、アクションの起動パターンとを示すジョブ情報を生成するジョブ登録部と、ジョブ情報を起動条件毎に分類したトリガ情報を生成するトリガ生成部と、PLCデータアクセス部にアクセスした時点のPLCデータの値が、トリガ情報の起動条件を満たしていた場合は、起動条件に該当するジョブ情報に基づき、起動パターンに従ってアクションを実行して、通信部を介してPLCデータを外部システムへ出力するジョブ実行部とを備えたものである。

この発明によれば、ジョブ情報に、起動条件、その起動条件が成立したら起動するすべてのアクション、およびそれらのアクションの起動パターンを定義し、ジョブ実行部は、ジョブ情報に定義された起動パターンに従ってそれらのアクションを実行するようにしたので、同一の起動条件を持つ複数のアクションの管理が簡素化、効率化され、複雑な処理のプログラムも簡易に記述することが可能となり、プログラムの品質を向上させることができる。
以下、この発明の実施の様々な形態を説明する。
実施の形態1.
図1は、この発明の実施の形態1によるプログラム作成装置10の構成を示すブロック図である。プログラム作成装置10は、PLCと外部システム20の間のデータ交換を行うプログラムを作成する。プログラム作成装置10は、外部システム20と通信部14を介して接続されている。外部システム20は、例えばデータベース管理システムやビジネスアプリケーションなどであり、通信部14はAPI(Application Program Interface)やソケットなどにより外部システム20と通信を行う。
図に示すように、プログラム作成装置10は、エンジニアリングツール部11、ジョブ管理部12、PLCデータアクセス部13、通信部14、エンジニアリングデータベース15、およびランタイムデータベース16を備えている。
エンジニアリングツール部11、ジョブ管理部12、PLCデータアクセス部13、および通信部14は、プログラムに従ってコンピュータのプロセッサが行う動作のモジュールを表しており、これらは実際には一体としてプログラム作成装置10のプロセッサを構成する。
エンジニアリングツール部11は、起動パターン定義部111、アクション定義部112、およびジョブ登録部113を備えている。また、ジョブ管理部12は、トリガ生成部121およびジョブ実行部122を備えている。
また、エンジニアリングデータベース15およびランタイムデータベース16は、プログラム作成装置10のメモリ、あるいはプログラム作成装置10と接続された外部の記憶装置等に格納される。エンジニアリングデータベース15およびランタイムデータベース16は同一の記憶装置に格納されていてもよい。
エンジニアリングデータベース15には、起動パターンテーブル151およびアクションテーブル152が含まれる。また、ランタイムデータベース16には、ジョブテーブル161およびトリガテーブル162が含まれている。
起動パターンテーブル151には、実行するアクションの個数や起動の順序などの情報を有する起動パターン情報が格納される。
アクションテーブル152には、アクションの内容とアクション実行時に用いる引数の情報を有するアクション情報が格納される。
ジョブテーブル161には、ジョブ実行の起動条件、その起動条件が成立したら起動するすべてのアクション、およびそれらのアクションの起動パターンを有するジョブ情報が格納される。
トリガテーブル162には、起動条件ジョブ情との関係を示すトリガ情報が格納される。
次に、動作について説明する。
まず、起動パターン定義部111の動作について説明する。起動パターン定義部111は、起動パターン情報を生成し、起動パターンテーブル151に格納する。起動パターンテーブル151には起動パターン情報を複数格納することができる。
図2は、起動パターン情報の例を示す図である。実施の形態1では、起動パターン情報の記述方法としてW3C(World Wide Web Consortium)により勧告されているXML(eXtensible Markup Language)を使用する。すなわち、起動パターン情報のデータ構造は、開始タグ“<×××>”と終了タグ“</×××>”の入れ子構造によって記述する。
ここでは、起動パターン情報のデータ構造名を「Patterns」とする。起動パターン情報は識別子となる属性「id」と、実行される複数のイベント「Events」を有する。Eventsは識別子となる属性idを持つ。各々のイベントには、後述するジョブ情報において1つのアクションが当てはめられる。
図2の例では、起動パターンidは「Periodical」である。また、要素Intervalにより、3つのEvents(id=1,2,3)が1000msec毎に、合計10回実行されることを示している。このように、この起動パターンは、定期的にイベント列を発生させるパターンになっている。
図3は、起動パターン定義部111の動作のフローチャートである。なお、起動パターン定義部111は、入力装置等を介して指定されるデータを用いて以下の処理を行う。
まず、ステップST201で起動パターンidが指定される。
次に、ステップST202で、1つのEventsを生成し、起動パターン情報に追加する。ステップST203ですべてのEventsの生成が終了したと判断されるまでステップST202を繰り返す。次に、ステップST204で、生成した起動パターン情報を起動パターンテーブル151に登録する。
次に、アクション定義部112の動作について説明する。アクション定義部112は、アクション情報を生成し、アクションテーブル152に格納する。アクションテーブル152にはアクション情報を複数格納することができる。
図4は、アクション情報の例を示す図である。アクション情報も起動パターン情報と同様に、XMLを用いて記述する。
ここでは、アクション情報のデータ構造名を「Actions」とする。アクション情報は識別子となる属性「id」、アクションの起動引数を示す要素「Arguments」、処理の内容を示す要素「Body」を有する。Argumentsは添え字を示す属性「index」と引数の名前を示す属性「name」を持つ。Bodyの内容はスクリプト言語などの既存のプログラム言語を使って記述される。
図4の例では、Actionsの内容をヨーロッパ電子計算機工業会(ECMA)で規格化されたスクリプト言語(ECMA−262、通称Java(登録商標)Script)を使って表記している。ここでは引数を2つ定義し、それぞれ引数名を「計上日」、「投入数」としている。
また、Bodyについては、05行目は「sys031」という名前のホストと接続してデータベース「TestTable」にアクセスすることを示し、06行目は、arguments[0]で引数の1番目の値を連想配列dbにキー「date」として格納することを示し、arguments[1]で引数2番目の値を連想配列dbにキー「value」として格納する。さらに、07行目でdate,valueの属性の値を設定し、08行目でデータベースdbに設定した値を挿入(insert)する。
このように、アクション情報は、処理系に応じたプログラム言語を使って記述することができる。
図5は、アクション定義部112の動作のフローチャートである。なお、アクション定義部112は、入力装置等を介して指定されるデータを用いて以下の処理を行う。
まず、ステップST501で、アクションのIDが指定される。
次に、ステップST502で引数の数が指定される。続くステップST503で引数の名称、ステップST504で引数のインデックスが指定され、ステップST505で生成した引数データをActionsに追加する。ステップST503〜ステップST505は、ステップST506ですべての引数の生成が終了したと判断されるまで繰り返される。
次に、ステップST507でActionsの内容が指定される。次に、ステップST508で、生成したアクション情報をアクションテーブル152に登録する。
次に、ジョブ登録部113の動作について説明する。ジョブ登録部113は、ジョブ情報を生成し、ジョブテーブル161に格納する。ジョブテーブル161にはジョブ情報を複数格納することができる。
図6は、ジョブ情報の例を示す図である。ジョブ情報もXMLを用いて記述する。
ここでは、ジョブ情報のデータ構造名を「Jobs」とする。ジョブ情報は識別子となる属性id、アクションの起動パターンid「pattern_id」、ジョブ実行の起動条件「Condition」、起動条件が成立した場合に、起動パターンに従って実行するアクション「Actions」を有する。Actionsは識別子となる属性「id」と対応するイベントの識別子「event_id」を持つ。
図6の例では、図2に示した起動パターン「Periodical」が指定されており、各々のActionsのevent_idに指定された値は、起動パターンPeriodical内のEventsのidに対応している。
Conditionには演算式や関数を使用することができる。
図7は、ジョブの起動条件としてConditionに定義できる条件式の例を示す図である。01行目は変数AI001.PVが10より大きいことを示す。02行目はシステムがもつ積算時刻(msec)を100で割った余りが0、つまり100msec毎に真になることを示す。03行目は論理演算子「&&」を使って2つの式の論理積をとったことを示している。
図8は、ジョブ登録部113の動作のフローチャートである。なお、ジョブ登録部113は、入力装置等を介して指定されるデータ(図1中の起動条件)を用いて以下の処理を行う。
まず、ステップST701でジョブのIDが指定される。
次に、ステップST702で起動パターンIDを指定する。ここで指定できる起動パターンのIDは、起動パターンテーブル151に登録されている起動パターンである。次に、ステップST703で、起動パターンテーブル151からステップST702で指定されたIDをもつ起動パターン情報を読み出し、その起動パターン情報に定義されているイベントの数を取得する。
次に、ステップST704でアクションIDを指定する。ここで指定できるアクションIDは、アクションテーブル152に登録されているアクションである。ステップST705において、ステップST704の処理回数を判定し、保持しているイベント数分だけ繰り返したらステップST706に進む。ステップST706で起動条件を指定し、ステップST707で生成したジョブ情報をジョブテーブル161に登録する。
次に、トリガ生成部121の動作について説明する。トリガ生成部121は、トリガ情報を生成し、トリガテーブル162に格納する。トリガテーブル162にはトリガ情報を複数格納することができる。
図9は、トリガ情報の例を示す図である。トリガ情報もXMLを用いて記述する。
ここでは、トリガ情報のデータ構造名を「Triggers」とする。トリガ情報はデータを識別する属性「data_id」と、data_idで示されるデータを条件式として使用するジョブを記述した「Targets」を有する。Targetsは、ジョブテーブルに登録されたジョブの識別子job_idを持つ。図9の例では、job_id001,002が、AI001.PVを起動条件式として使用している。
図10は、トリガ生成部121の動作のフローチャートである。
まず、ステップST1001でジョブテーブル161から全てのジョブ情報を読み出す。次に、ステップST1002で読み込んだジョブ情報のうちの1つに記述された起動条件を抽出する。続くステップST1003では、抽出した起動条件に含まれるdata_idを抽出する。
ステップST1004では、取り出したdata_idを属性としてもつトリガ情報がトリガテーブル162内に登録されているか否か判定する。同じdata_idを持つトリガ情報が存在しなければ、ステップST1005で新規にトリガ情報を生成する。ステップST1006では、ステップST1004で検索して取得したトリガ情報、あるいはステップST1005で生成したトリガ情報に、ステップST1002で起動条件を抽出したジョブの識別子job_idを追記する。
ステップST1007では、ステップST1006で更新したトリガ情報をトリガテーブル162に登録する。ステップST1002〜ステップST1007は、ステップST1008で、読み込んだすべてのジョブに対する処理が終了したと判断されるまで繰り返される。
次に、ジョブ実行部122の動作について説明する。
図11は、ジョブ実行部122の動作のフローチャートである。まず、ステップST1101で、トリガテーブル162内のトリガ情報を読み込む。次に、ステップST1102で、読み込んだトリガ情報のうち1つのトリガ情報からdata_idを抽出し、抽出したdata_idに該当するデータの最新値を取得する。このデータとしては、例えば、外部から入力された信号や、タイマのタイムアップやカウンタのカウントアップなど、内部で発生した信号といったものである。
ステップST1103では、ステップST1102でdata_idを抽出したトリガ情報に指定されているjob_idに対応するジョブ情報をすべて読み込む。次に、ステップST1104で、読み込んだジョブ情報のうちの1つについて、ステップST1102で取得したデータの最新値を用いて条件式を評価する。
条件式の評価の結果、ステップST1105で条件が成立していると判断された場合には、ステップST1106へ進み、アクションを実行する。ステップST1107で、ステップST1103で読み込んだジョブ情報が他にあるか否かを判定し、ある場合にはステップST1104〜ステップST1106を繰り返す。
さらに、ステップST1107で、ステップST1103で読み込んだすべてのジョブ情報に対して処理が終了したと判定されたら、ステップST1108へ進み、ステップST1101で読み込んだすべてのトリガ情報について処理が終了するまで、ステップST1102〜ステップST1107を繰り返す。
ステップST1106のアクション実行について詳細に説明する。
ステップST1201で、ジョブ情報内にあるpattern_idに対応する起動パターン情報を取得する。ステップST1202で、取得した起動パターン情報に記述された1つのイベント情報に対応するイベントIDを取得する。ステップST1203で、取得したイベントIDを参照しているアクションIDを取得する。ステップST1204で、取得したアクションIDに対応するアクション情報をアクションテーブル152から読み込み、ステップST1205で、読み込んだアクションを実行する。具体的には、通信部14を介して外部システム20とのデータ交換や、PLCデータアクセス部13を介してPLCのデータにアクセスを行う。ステップST1206において、ステップST1201で読み込んだ起動パターン情報中に処理すべきイベントがなくなるまでステップST1202〜ステップST1205を繰り返す。
以上のように、実施の形態1によれば、ジョブ情報に、起動条件、その起動条件により実行されるすべてのアクション、およびそれらのアクションの起動パターンを定義し、ジョブ実行部122は、ある起動条件が成立したら、その起動条件に対応するジョブ情報に定義された起動パターンに従って、それらのアクションを実行するようにしたので、同一の起動条件を持つ複数のアクションの管理が簡素化、効率化され、複雑な処理のプログラムも簡易に記述することが可能となり、プログラムの品質を向上させることができる。
実施の形態2.
実施の形態2では、起動パターン情報に、実行するアクションの起動方法や起動時刻についての情報を記述する。
図12および図15は、アクションの起動方法を指定した起動パターン情報の例である。ここでEventの属性syncは、アクションの起動方法を示しておりtrueの場合は同期起動、falseの場合は非同期起動であることを示す。
図12(パターン名BroadCast)は、3つのイベントを非同期で起動する起動パターンの例を示す図である。また、図13は、起動パターンとしてBroadCastを指定したジョブ情報の例を示す図である。
図14は、図12に示す起動パターンを用いた場合のアクションの実行タイミングを示す例である。action_01からaction_03は起動されるアクションを示しており、action_01はid=1のイベントに、action_02はid=2のイベントに、action_03はid=3のイベントに対応している。またAI001.PV>10は起動条件を示しており、データAI001.PVが10より大きい場合アクションを実行することを示している。
このように、非同期起動指定のパターンを使うことにより同じ起動条件で複数のアクションを同時に起動することが可能となり、並列処理のプログラムを容易に記述することができる。
図15は、イベントを同期方式で起動するパターンの例である。ここではパターン名をSequenceとし、3つのイベントが定義されている。また、図16は、起動パターンとしてSequenceを指定したジョブ情報の例を示す図である。
図17は、図15に示す起動パターンを用いた場合のアクションの実行タイミングを示したもので、図に示すように、図14に示した非同期の場合と異なり、最初に実行したアクションの終了を待って、次のアクションが起動される。
このように、同期起動指定の起動パターンを使うことにより、順序処理のプログラムを容易に記述することができる。
次に、図18は、アクションの起動時刻を指定した起動パターンの例を示す図である。ここではパターン名をSequenceWithTimeoutとし、3つのイベントを連続して発生させるイベントが定義されている。属性「elapsedTime」によって、1番目のイベントは条件が真になってから100msec後、2番目のイベントは200msec後、3番目のイベントは300msec後に実行することが示されている。図19は、起動パターンとしてSequenceWithTimeoutを指定したジョブ情報の例を示した図である。
図20は、図18に示す起動パターンを用いた場合のアクションの実行タイミングを示したもので、図に示すように、起動条件成立後100ミリ秒後にaction_01が、200ミリ秒後にaction_02が、300ミリ秒後にaction_03が起動される。
このように、起動時刻指定の起動パターンを用いることにより、各イベントの起動時刻を指定するプログラムを容易に記述することができる。
以上のように、実施の形態2によれば、起動パターンとして、アクションの実行タイミングを定義するようにしたので、順序処理や並列処理のプログラムも容易に記述することができる。
実施の形態3.
実施の形態3では、起動パターン情報に、アクション実行の制限時刻(タイムアウト)情報を記述する。
図21は、タイムアウトを指定した起動パターンの例を示す図である。ここではパターン名をSequeceWithTimeoutとし、3つのイベントが定義されている。タイムアウトの指定は、Eventsの属性「timeout」により指定する。ただしタイムアウトの指定ができるイベントは属性syncがtrueであるイベント、すなわち起動方法が同期方式であるものに限られる。図に示すように、id=1のイベントに150msecのタイムアウトを設定している。
図22は、図21に示す起動パターンを指定したジョブ情報の例を示す図である。action_01にタイムアウトつきのイベントid=1が対応し、action_02、action_03には非同期のイベントid=2、3がそれぞれ対応している。
図23は、図21に示す起動パターンを用いた場合のアクションの実行タイミングを示したもので、図に示すように、action_01は実際の実行時間が300msecであるが、タイムアウト時間で指定された150msecで同期起動がタイムアウトし、これと同時にaction_02、action_03が起動されている。
以上のように、実施の形態3によれば、起動パターン情報にタイムアウトを指定するようにしたので、プログラムの実行時間を定量的に見積もることが可能となり、リアルタイム処理が必要なシステムへの適用が可能になる。また、実行時間を定量的に見積もることができるためシステムの異常検出を容易に行うことが可能となり、システムの品質を向上させることができる。
この発明の実施の形態1による、プログラム作成装置の構成を示すブロック図である。 この発明の実施の形態1による、起動パターンテーブルに格納される起動パターン情報の例を示す図である。 この発明の実施の形態1による、起動パターン定義部の動作のフローチャートである。 この発明の実施の形態1による、アクションテーブルに格納されるアクション情報の例を示す図である。 この発明の実施の形態1による、アクション定義部の動作のフローチャートである。 この発明の実施の形態1による、ジョブテーブルに格納されるジョブ情報の例を示す図である。 この発明の実施の形態1による、ジョブの起動条件として定義できる条件式の例を示す図である。 この発明の実施の形態1による、ジョブ登録部の動作のフローチャートである。 この発明の実施の形態1による、トリガテーブルに格納されるトリガ情報の例を示す図である。 この発明の実施の形態1による、トリガ生成部の動作のフローチャートである。 この発明の実施の形態1による、ジョブ実行部の動作のフローチャートである。 この発明の実施の形態2による、起動パターンテーブルに格納される起動パターン情報の例を示す図である。 この発明の実施の形態2による、ジョブテーブルに格納されるジョブ情報の例を示す図である。 この発明の実施の形態2による、アクションの実行タイミングを示す図である。 この発明の実施の形態2の他の例による、起動パターンテーブルに格納される起動パターン情報の例を示す図である。 この発明の実施の形態2の他の例による、ジョブテーブルに格納されるジョブ情報の例を示す図である。 この発明の実施の形態2の他の例による、アクションの実行タイミングを示す図である。 この発明の実施の形態2の他の例による、起動パターンテーブルに格納される起動パターン情報の例を示す図である。 この発明の実施の形態2の他の例による、ジョブテーブルに格納されるジョブ情報の例を示す図である。 この発明の実施の形態2の他の例による、アクションの実行タイミングを示す図である。 この発明の実施の形態3による、起動パターンテーブルに格納される起動パターン情報の例を示す図である。 この発明の実施の形態3による、ジョブテーブルに格納されるジョブ情報の例を示す図である。 この発明の実施の形態3による、アクションの実行タイミングを示す図である。
符号の説明
10 プログラム作成装置、11 エンジニアリングツール部、12 ジョブ管理部、13 PLCデータアクセス部、14 通信部、15 エンジニアリングデータベース、16 ランタイムデータベース、20 外部システム、111 起動パターン定義部、112 アクション定義部、113 ジョブ登録部、121 トリガ生成部、122 ジョブ実行部、151 起動パターンテーブル、152 アクションテーブル、161 ジョブテーブル、162 トリガテーブル。

Claims (3)

  1. PLCと外部システムとの間のデータ交換を通信部及びPLCデータアクセス部を用いたアクションによってデータ連携を行うプログラムを作成するプログラム作成装置であって、
    実行するアクションが複数あった場合の起動の順序を示す起動パターンを定義する起動パターン定義部と、
    前記アクションの実行内容をアクション情報として定義するアクション定義部と、
    ジョブ実行の起動条件と、当該起動条件が成立した場合に実行するアクションのアクション情報と、当該アクションの起動パターンとを示すジョブ情報を生成するジョブ登録部と、
    前記ジョブ情報を前記起動条件毎に分類したトリガ情報を生成するトリガ生成部と、
    前記PLCデータアクセス部にアクセスした時点のPLCデータの値が、前記トリガ情報の起動条件を満たしていた場合は、当該起動条件に該当するジョブ情報に基づき、前記起動パターンに従って前記アクションを実行して、前記通信部を介して前記PLCデータを前記外部システムへ出力するジョブ実行部とを備えたプログラム作成装置。
  2. 起動パターン定義部は、起動パターンとして、アクションの実行タイミングを定義することを特徴とする請求項1記載のプログラム作成装置。
  3. 起動パターン定義部は、起動パターンとして、アクションの実行の制限時間を定義することを特徴とする請求項1記載のプログラム作成装置。
JP2005056117A 2005-03-01 2005-03-01 プログラム作成装置 Active JP4472557B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005056117A JP4472557B2 (ja) 2005-03-01 2005-03-01 プログラム作成装置
TW094122264A TWI273363B (en) 2005-03-01 2005-07-01 Program constructing device
KR1020050081610A KR100654514B1 (ko) 2005-03-01 2005-09-02 프로그램 작성 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005056117A JP4472557B2 (ja) 2005-03-01 2005-03-01 プログラム作成装置

Publications (2)

Publication Number Publication Date
JP2006243936A JP2006243936A (ja) 2006-09-14
JP4472557B2 true JP4472557B2 (ja) 2010-06-02

Family

ID=37050314

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005056117A Active JP4472557B2 (ja) 2005-03-01 2005-03-01 プログラム作成装置

Country Status (3)

Country Link
JP (1) JP4472557B2 (ja)
KR (1) KR100654514B1 (ja)
TW (1) TWI273363B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5512051B1 (ja) 2013-04-10 2014-06-04 三菱電機株式会社 数値制御装置、情報連携システムおよび情報連携プログラム
DE112014002981B4 (de) 2014-04-25 2020-03-12 Mitsubishi Electric Corporation Informationsverknüpfungs-System
JP6207763B2 (ja) 2014-11-19 2017-10-04 三菱電機株式会社 制御装置、制御方法、及びプログラム

Also Published As

Publication number Publication date
TWI273363B (en) 2007-02-11
KR20060096173A (ko) 2006-09-08
TW200632606A (en) 2006-09-16
KR100654514B1 (ko) 2006-12-06
JP2006243936A (ja) 2006-09-14

Similar Documents

Publication Publication Date Title
US11175643B2 (en) Rich contextualization of automation data
US20100023140A1 (en) Field device management apparatus and field device management system
EP1906275B1 (en) Natively retaining project documentation in a controller
CN102073489A (zh) 一种调试日志生成方法及装置
JP4472557B2 (ja) プログラム作成装置
US10678864B2 (en) Analysis model preparing system, programming apparatus, and analysis model preparing method
CN112231197A (zh) 一种页面测试的方法、装置和存储介质
JP2010015240A (ja) 検証システム及び検証装置
US9395872B2 (en) Facilities controlling device, screen displaying method, and recording medium
EP3869328A1 (en) System, device and method for debugging an industrial application
US10816600B1 (en) Protocol analysis and visualization during simulation
CN115509510A (zh) 基于lidl的可视化人机交互软件建模方法及装置
JP5379911B2 (ja) 動作検証装置、動作検証方法および動作検証プログラム
JP2007034825A (ja) デバッグ装置
WO2019216191A1 (ja) 制御システム、サポート装置、サポートプログラム
CN111971629B (zh) 控制***、支持装置及记录媒体
JPWO2007086113A1 (ja) プラント制御システム
JP2003303100A (ja) 情報処理システムおよび情報処理システム構築方法並びにこれに用いるプログラム
WO2019240743A1 (en) A method and system for semantic integration approach for field device life cycle management
JPH08115107A (ja) 機器制御プログラム生成方式
WO2017149737A1 (ja) 高位合成装置、高位合成方法及び高位合成プログラム
CN102782657B (zh) 动作检验装置及动作检验方法
JP2005165825A (ja) トレース情報記録装置
WO2022085218A1 (ja) 情報処理システムおよびデータベースの構築方法
WO2021065033A1 (ja) プログラム開発装置およびプログラム開発装置を実現するためのプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061226

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071010

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080723

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090526

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090528

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090724

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090908

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091021

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100127

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100223

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100303

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130312

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4472557

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130312

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140312

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250