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

プログラム作成装置 Download PDF

Info

Publication number
JP2006243936A
JP2006243936A JP2005056117A JP2005056117A JP2006243936A JP 2006243936 A JP2006243936 A JP 2006243936A JP 2005056117 A JP2005056117 A JP 2005056117A JP 2005056117 A JP2005056117 A JP 2005056117A JP 2006243936 A JP2006243936 A JP 2006243936A
Authority
JP
Japan
Prior art keywords
action
job
activation
information
trigger
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.)
Granted
Application number
JP2005056117A
Other languages
English (en)
Other versions
JP4472557B2 (ja
Inventor
Koichi Nakagawa
晃一 中川
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)

Abstract

【課題】 複雑なプログラムも簡易に記述できるプログラム作成装置を得る。
【解決手段】 PLCと外部システムの連携を行うプログラム作成装置10において、1つ以上のイベントの起動パターンを生成し、起動パターンテーブル151に格納する起動パターン定義部111と、アクションの内容と引数を含むアクション情報をアクションテーブル152に格納するアクション定義部112と、起動条件と、その起動条件によって実行するアクション情報と、利用する起動パターンを含むジョブ情報を、ジョブテーブル161に格納するジョブ登録部113と、起動条件に用いるデータと、その起動条件を含むジョブ情報を含むトリガ情報をトリガテーブル162に格納するトリガ生成部121と、ある起動条件が成立したら、その起動条件を含むジョブ情報に定義された起動パターンに従って、アクションを実行するジョブ実行部122を備える。
【選択図】 図1

Description

この発明は、PLC(Programmable Logic Controller)と外部システムの間でデータ連携を行うプログラム作成装置に関するものである。
PLCと、データベースシステムやビジネスアプリケーション等の外部システムの間でのデータ交換を行うプログラムの作成装置に関する従来技術は、例えば特許文献1に記載されている。特許文献1に記載の発明では、FA(Factory Automation)システムにおいて、あるイベントが発生したときに、特定の処理を実行するモデルが使用されている。ここではイベント発生に対応する条件をトリガ、イベント発生により実行される処理をアクションと定義している。トリガとそれに関連するアクションはジョブという単位で管理される。トリガ、アクション、およびジョブは予めデータベースに登録されている。トリガ起動部は、登録されているジョブの内容を参照し、あるトリガが成立している場合には関連するアクションを実行する。
特許第3580347号公報
従来の技術では、トリガとアクションの関係はジョブとして1対1で対応付けされているため、同一のトリガで起動されるアクションが複数ある場合、それぞれ別個に定義しなければならず、複雑な処理を実行するプログラムを作成する場合には、プログラム自体も複雑になり、その結果プログラムの品質にばらつきが出るという問題があった。
また、トリガとアクションの対応付けが単純なため、アクションの実行タイミングや実行時間に関する定義が必要な処理、すなわち、順序処理(あるアクションの処理終了を待って次のアクションを実行する処理。)や並列処理のような、FAで多く使われる高度な処理プログラムを作成することが難しいという問題があった。
さらに、プログラム上でアクションの実行時間を考慮していないと、極度に処理時間の長いアクションが定義できてしまうため、機器の暴走、故障などにより処理が長くなってしまった場合に異常検出が行えないという問題があった。
この発明は上記のような課題を解決するためになされたもので、複雑な処理のプログラムも簡易に記述することが可能で、プログラムの品質を向上させることができるプログラム作成装置を得ることを目的とする。
この発明に係るプログラム作成装置は、1つ以上のイベントの起動パターンを生成し、起動パターンテーブルに格納する起動パターン定義部と、アクションの内容とそのアクションの実行に用いる引数を含むアクション情報を生成し、アクションテーブルに格納するアクション定義部と、起動条件と、その起動条件が成立したら実行する1つ以上のアクションに関するアクション情報と、利用する起動パターンと、利用する起動パターン内のイベントと実行するアクションの対応付けを含むジョブ情報を生成し、ジョブテーブルに格納するジョブ登録部と、起動条件に用いられるデータと、そのデータを起動条件として含むジョブ情報を含むトリガ情報を生成し、トリガテーブルに格納するトリガ生成部と、トリガ情報に基づいて、ある起動条件を含むジョブ情報を取得し、当該起動条件が成立した場合には、各々のジョブ情報に含まれる起動パターンに従って、アクションを実行するジョブ実行部を備えたものである。
この発明によれば、ジョブ情報に、起動条件、その起動条件が成立したら起動するすべてのアクション、およびそれらのアクションの起動パターンを定義し、ジョブ実行部は、ジョブ情報に定義された起動パターンに従ってそれらのアクションを実行するようにしたので、同一の起動条件を持つ複数のアクションの管理が簡素化、効率化され、複雑な処理のプログラムも簡易に記述することが可能となり、プログラムの品質を向上させることができる。
以下、この発明の実施の様々な形態を説明する。
実施の形態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は、入力装置等を介して指定されるデータを用いて以下の処理を行う。
まず、ステップ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と外部システムの間のデータ連携を行うプログラム作成装置において、
    1つ以上のイベントの起動パターンを生成し、起動パターンテーブルに格納する起動パターン定義部と、
    アクションの内容とそのアクションの実行に用いる引数を含むアクション情報を生成し、アクションテーブルに格納するアクション定義部と、
    起動条件と、その起動条件が成立したら実行する1つ以上のアクションに関する上記アクション情報と、利用する上記起動パターンと、利用する上記起動パターン内のイベントと実行するアクションの対応付けを含むジョブ情報を生成し、ジョブテーブルに格納するジョブ登録部と、
    起動条件に用いられるデータと、そのデータを起動条件として含む上記ジョブ情報を含むトリガ情報を生成し、トリガテーブルに格納するトリガ生成部と、
    上記トリガ情報に基づいて、ある起動条件を含む上記ジョブ情報を取得し、当該起動条件が成立した場合には、各々のジョブ情報に含まれる上記起動パターンに従って、アクションを実行するジョブ実行部を備えたことを特徴とするプログラム作成装置。
  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 true JP2006243936A (ja) 2006-09-14
JP4472557B2 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)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105103067A (zh) * 2013-04-10 2015-11-25 三菱电机株式会社 数控装置、信息协同系统以及信息协同程序
US9841754B2 (en) 2014-04-25 2017-12-12 Mitsubishi Electric Corporation Information-linkage supporting apparatus and information-linkage supporting program
US10394203B2 (en) 2014-11-19 2019-08-27 Mitsubishi Electric Corporation Control device, control method, and program performing a tabulation operation at high speed

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105103067A (zh) * 2013-04-10 2015-11-25 三菱电机株式会社 数控装置、信息协同系统以及信息协同程序
US10108179B2 (en) 2013-04-10 2018-10-23 Mitsubishi Electric Corporation Numerical control device, information coordination system, and information coordination program
US9841754B2 (en) 2014-04-25 2017-12-12 Mitsubishi Electric Corporation Information-linkage supporting apparatus and information-linkage supporting program
US10394203B2 (en) 2014-11-19 2019-08-27 Mitsubishi Electric Corporation Control device, control method, and program performing a tabulation operation at high speed

Also Published As

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

Similar Documents

Publication Publication Date Title
JP5376509B2 (ja) 実行履歴トレース方法
JP5679989B2 (ja) デバッグパイプライン
US8229576B2 (en) Field device management apparatus and field device management system
US8776016B2 (en) Integration of structured profiling data with source data in the eclipse development environment
EP1906275B1 (en) Natively retaining project documentation in a controller
US8561032B2 (en) Visualizing thread life time in eclipse
CN105743736A (zh) 自动化测试方法及系统
CN112765032A (zh) 程序调试方法、装置、设备及存储介质
JP4472557B2 (ja) プログラム作成装置
US10678864B2 (en) Analysis model preparing system, programming apparatus, and analysis model preparing method
JP2010140408A (ja) ソースコード変換装置
CN111078217A (zh) 脑图生成方法、装置和计算机可读存储介质
US9395872B2 (en) Facilities controlling device, screen displaying method, and recording medium
JP2010015240A (ja) 検証システム及び検証装置
Grieskamp et al. Instrumenting scenarios in a model-driven development environment
TW201324347A (zh) 功能模組命令管理系統及方法
CN110209105B (zh) 数据的处理方法、控制系统及控制装置
CN102597965B (zh) 动作检验装置及动作检验方法
JP2011164785A (ja) 動作検証装置、動作検証方法および動作検証プログラム
JP2016224559A (ja) プログラム作成支援装置、制御方法およびプログラム
JP2007034825A (ja) デバッグ装置
KR100990091B1 (ko) 요구 사항 관리 방법 및 장치
JP2009098910A (ja) 電子機器およびメモリ管理プログラム
WO2008015110A2 (en) Methods, apparatus and computer programs for modelling computer programs
JP2003303100A (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