JP6520545B2 - サポート装置およびサポートプログラム - Google Patents

サポート装置およびサポートプログラム Download PDF

Info

Publication number
JP6520545B2
JP6520545B2 JP2015158172A JP2015158172A JP6520545B2 JP 6520545 B2 JP6520545 B2 JP 6520545B2 JP 2015158172 A JP2015158172 A JP 2015158172A JP 2015158172 A JP2015158172 A JP 2015158172A JP 6520545 B2 JP6520545 B2 JP 6520545B2
Authority
JP
Japan
Prior art keywords
program
change
control
variable table
unit
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
JP2015158172A
Other languages
English (en)
Other versions
JP2017037466A (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.)
Omron Corp
Original Assignee
Omron 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 Omron Corp filed Critical Omron Corp
Priority to JP2015158172A priority Critical patent/JP6520545B2/ja
Priority to EP16834987.6A priority patent/EP3336627B1/en
Priority to CN201680028635.XA priority patent/CN107615192B/zh
Priority to PCT/JP2016/072126 priority patent/WO2017026290A1/ja
Priority to US15/576,287 priority patent/US10705500B2/en
Publication of JP2017037466A publication Critical patent/JP2017037466A/ja
Application granted granted Critical
Publication of JP6520545B2 publication Critical patent/JP6520545B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/11Plc I-O input output
    • G05B2219/1105I-O
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/11Plc I-O input output
    • G05B2219/1134Fieldbus
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13004Programming the plc
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13134Two or more languages mixed, RLD, SFC, FBD, IL, ST, relay ladder, function block, sequential function, instruction list, structured text mixed to form logic control program
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13144GUI graphical user interface, icon, function bloc editor, OI operator interface
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13153Modification, change of program in real time

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)

Description

本発明は、制御対象を制御する制御装置で実行される制御プログラムの開発を支援するサポート装置およびそれを実現するためのサポートプログラムに関する。
様々な製造現場において、PLC(Programmable Logic Controller)などの制御装置が導入されている。このような制御装置は、一種のコンピュータであり、製造装置や製造設備などに応じて設計された制御プログラムが実行される。このような制御プログラムは、制御装置とは別に用意された開発環境にて作成される。開発環境を提供するとともに、制御装置に対して制御プログラムをアップロードし、あるいは、制御装置に対して制御プログラムをダウンロードする機能を提供する装置は、サポート装置とも称される。
制御対象である製造装置を停止させることが容易ではない場合も多い。制御装置で実行される制御プログラムを一部手直ししたいような場合であっても、制御装置を一旦停止させなければ、制御プログラムを更新できないということであれば、使い勝手が悪い。そのため、制御装置の運転中に実行される制御プログラムの一部を書き換えるためのオンラインエディット機能が実装されることが好ましい。
例えば、特開2009−223590号公報(特許文献1)は、ソースプログラムの一部分をコンパイラにかけて変換することにより得られたオブジェクトコード部分により、PLCに記憶されているオブジェクトコードを書き換えるオンラインエディット動作を開示する。
特開2009−223590号公報
上述の特許文献1に開示されるプログラム開発支援装置は、主として、特定のPLCに対してオンラインエディットを実行することが想定されているが、実際の製造ラインなどでは、複数のPLCにて同様の制御プログラムが実行されることも多い。このような状況化において、複数のPLCで実行されるそれぞれの制御プログラムに対して、同一の修正を適用する場合には、設置されているPLCの台数だけ同様の操作を行なわなければならず、意図せぬトラブルを生じる可能性がある。本発明は、このような課題を解決することを目的とする。
本発明のある局面に従えば、制御対象を制御する制御装置で実行される制御プログラムの開発を支援するサポート装置が提供される。サポート装置は、制御プログラムを構成する単位プログラムごとに、各単位プログラムの内容に応じて識別情報を算出する算出手段と、単位プログラムと当該単位プログラムに関連付けられる識別情報とを制御装置へ転送する第1の転送手段と、制御プログラムを構成するいずれかの単位プログラムに対する変更操作に応じて、変更後の単位プログラムを生成する生成手段と、制御プログラムを構成する単位プログラムに関連付けられる識別情報と同一の識別情報が制御装置に存在していることを条件として、運転中の制御装置に対して、変更後の単位プログラムを転送する第2の転送手段とを含む。
好ましくは、第2の転送手段は、制御プログラムを構成する複数の単位プログラムのうち、何らかの変更操作がなされた1または複数の単位プログラムのそれぞれについて、対応する識別情報のすべてが制御装置に存在していることを条件として、変更後の単位プログラムを制御装置へ転送する。
好ましくは、算出手段は、ハッシュ関数を用いて、各単位プログラムのプログラムコードまたはプログラムオブジェクトから識別情報を算出する。
好ましくは、生成手段は、運転中の制御装置に対して、変更後の単位プログラムを転送する場合の制約に適合するように、指示可能な変更操作を制限する。
好ましくは、生成手段は、制御プログラムを構成する変数テーブルに対する変更操作に応じて、変更後の変数テーブルを生成し、第2の転送手段は、変更後の変数テーブルにおいて、変更前の変数テーブルの内容がすべて包含されていることを条件として、変更後の変数テーブルを制御装置へ転送する。
さらに好ましくは、第2の転送手段は、転送対象の変数テーブルおよび1または複数の単位プログラムを予め定められた順序または指定された順序で転送する。
さらに好ましくは、第2の転送手段は、転送先の制御装置の特性値に応じて、転送対象の変数テーブルおよび1または複数の単位プログラムの転送順序を決定する。
本発明の別の局面に従えば、制御対象を制御する制御装置で実行される制御プログラムの開発を支援するサポート装置を実現するためのサポートプログラムが提供される。サポートプログラムは、コンピュータを、第1のプログラムを構成する単位プログラムごとに、各単位プログラムの内容に応じて識別情報を算出する算出手段と、単位プログラムと当該単位プログラムに関連付けられる識別情報とを制御装置へ転送する第1の転送手段と、第1のプログラムを構成するいずれかの単位プログラムに対する変更操作に応じて、変更後の単位プログラムを生成する生成手段と、制御プログラムを構成する単位プログラムに関連付けられる識別情報と同一の識別情報が制御装置に存在していることを条件として、運転中の制御装置に対して、変更後の単位プログラムを転送する第2の転送手段として機能させる。
本発明のある実施の形態のサポート装置およびサポートプログラムによれば、運転中の制御装置に対する制御プログラムの変更作業を容易化できる。
本実施の形態に従うサポート装置を適用可能なPLCシステムの構成例を示す模式図である。 図1に示すPLCシステムを構成するPLCのハードウェア構成例を示す模式図である。 図1に示すPLCシステムを構成するサポート装置のハードウェア構成例を示す模式図である。 図1に示すPLCシステムを構成するPLCのソフトウェア構成例を示す模式図である。 本実施の形態に従うサポート装置を用いて複数のPLCに対してプログラムを変更する際の処理手順を示すフローチャートである。 本実施の形態に従うサポート装置に実装される整合性チェック機能による識別情報を用いたチェックを説明するための模式図である。 本実施の形態に従うサポート装置に実装される整合性チェック機能におけるグローバル変数テーブルのチェック内容を説明するための模式図である。 図5に示すフローチャートのステップS122におけるより詳細な処理手順を示すフローチャートである。 本実施の形態に従うサポート装置に実装される変更操作の制限機能を説明する模式図である。 本実施の形態に従うサポート装置が提供する転送順序を設定するためのユーザインターフェイス画面の一例を示す図である。 本実施の形態に従うオンラインエディット機能によって転送された制御プログラムの実行開始タイミングを説明するための図である。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
<A.PLCシステムの構成例>
まず、本実施の形態に従うサポート装置を適用可能なPLCシステムの構成例について説明する。図1は、本実施の形態に従うサポート装置200を適用可能なPLCシステム1の構成例を示す模式図である。
図1を参照して、PLCシステム1は、複数のPLC100−1,100−2,100−3,100−4,…(以下、「PLC100」とも総称する。)を含んでいる。PLC100の各々は、互いに同様の製造装置を制御しており、実行される制御プログラムも実質的に同一であるとする。本実施の形態に従うサポート装置200は、このような運転中(すなわち、制御プログラムを実行中)の複数のPLC100に対して、それぞれの制御プログラムの一部をより容易に変更することが可能になっている。
PLC100の各々は、制御対象を制御する制御装置の一例である。PLC100は、典型的には、制御プログラムを含む各種プログラムを実行する主体であるCPUユニット10と、CPUユニット10などへ電力を供給する電源ユニット12と、フィールドからの信号を遣り取りするI/O(Input/Output)ユニット14とを含む。I/Oユニット14は、CPUユニット10とシステムバス11を介して接続されている。
サポート装置200は、制御対象を制御する制御装置であるPLC100で実行される制御プログラムの開発を支援する。サポート装置200は、PLC100で実行される制御プログラムを含む各種プログラムを開発するための環境を提供する機能、PLC100に対して制御プログラムおよび各種情報を設定する機能、運転中のPLC100の状態値を取得する機能などを含む。さらに、サポート装置200は、ユーザによる制御プログラムの開発を支援するため、デバック機能やシミュレーション機能を有していてもよい。
光学記録媒体250に格納されたアプリケーションプログラムであるサポートプログラムがサポート装置200にインストールされることで、上述したような各種機能が実現される。光学記録媒体250に代えて、外部のサーバ装置などからネットワークを介して、サポートプログラムをダウンロードするようにしてもよい。サポート装置200は、一例として、接続ケーブルを介してPLC100のCPUユニット10と接続される。サポート装置200は、典型的には、パーソナルコンピュータで実現される。
<B.PLC100のハードウェア構成例>
次に、PLC100のハードウェア構成例について説明する。図2は、図1に示すPLCシステムを構成するPLC100のハードウェア構成例を示す模式図である。
図2を参照して、PLC100は、予めインストールされたプログラムをプロセッサが実行することで、制御対象に対する制御を実現する。より具体的には、PLC100は、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)などのプロセッサ102と、チップセット104と、メインメモリ106と、フラッシュメモリ108と、外部ネットワークコントローラ116と、メモリカードインターフェイス118と、内部バスコントローラ122と、フィールドバスコントローラ124とを含む。
プロセッサ102は、フラッシュメモリ108に格納されたシステムプログラム110およびユーザプログラム112を読み出して、メインメモリ106に展開して実行することで、制御対象に対する制御を実現する。本明細書において、「制御プログラム」は、システムプログラム110およびユーザプログラム112を包含する概念である。但し、実装方式においては、制御プログラムは、ユーザプログラム112のみを含む場合もある。
システムプログラム110は、データの入出力処理や実行タイミング制御などの、PLC100の基本的な機能を提供するための命令コードを含む。ユーザプログラム112は、制御対象に応じて任意に設計される制御プログラムの一種であり、シーケンス制御を実行するためのシーケンスプログラム112Aおよびモーション制御を実行するためのモーションプログラム112Bとを含む。
チップセット104は、各コンポーネントを制御することで、PLC100全体としての処理を実現する。
内部バスコントローラ122は、PLC100と内部バスを通じて連結されるI/Oユニット14との間でデータを遣り取りするインターフェイスである。フィールドバスコントローラ124は、PLC100と図示しないフィールドバスを通じて連結されるI/Oユニット16との間でデータを遣り取りするインターフェイスである。内部バスコントローラ122およびフィールドバスコントローラ124は、対応のI/Oユニット14および16にそれぞれ入力される状態値を取得するとともに、プロセッサ102での演算結果を対応のI/Oユニット14および16から指令値としてそれぞれ出力する。
外部ネットワークコントローラ116は、各種の有線/無線ネットワークを通じたデータの遣り取りを制御する。メモリカードインターフェイス118は、メモリカード120を着脱可能に構成されており、メモリカード120に対してデータを書込み、メモリカード120からデータを読出すことが可能になっている。
PLC100がプログラムを実行することで提供される機能の一部または全部を専用のハードウェア回路として実装してもよい。
<C.サポート装置200のハードウェア構成例>
次に、サポート装置200のハードウェア構成例について説明する。図3は、図1に示すPLCシステムを構成するサポート装置200のハードウェア構成例を示す模式図である。図3を参照して、サポート装置200は、典型的には、汎用のコンピュータで構成される。なお、PLC100が配置される製造現場における保守性の観点からは、可搬性に優れたノート型のパーソナルコンピュータが好ましい。
サポート装置200は、オペレーティングシステム(OS)を含む各種プログラムを実行するCPU202と、BIOSや各種データを格納するROM(Read Only Memory)104と、CPU202でのプログラムの実行に必要なデータを格納するための作業領域を提供するメモリRAM206と、CPU202で実行されるプログラムなどを不揮発的に格納するハードディスク(HDD)208とを含む。
サポート装置200は、さらに、ユーザからの操作を受け付けるキーボード210およびマウス212と、情報をユーザに提示するためのディスプレイ214とを含む。サポート装置200は、PLC100(CPUユニット10)などと通信するための通信インターフェイス218を含む。
サポート装置200は、光学記録媒体250からそれに格納されているサポートプログラムを読み取るための光学記録媒体読取装置216を含む。
<D.PLC100のソフトウェア構成例>
次に、PLC100のソフトウェア構成例について説明する。図4は、図1に示すPLCシステムを構成するPLC100のソフトウェア構成例を示す模式図である。
図4を参照して、PLC100では、制御プログラムとして、システムプログラム110およびユーザプログラム112が実行される。システムプログラム110は、その機能の一部として、I/Oモジュール160を有しており、I/Oユニットがフィールド側と遣り取りするデータ(フィールドから取得したデータ、および、フィールドへ出力するデータ)をグローバル変数テーブル150と関連付ける。
PLC100では、変数プログラミングが可能になっており、ユーザプログラム112は、グローバル変数テーブル150において定義されたフィールドデータに関連付けられた変数値を用いて、各種処理が実行可能になっている。
ユーザプログラム112のシーケンスプログラム112Aは、主として、ラダーセクション130と、ラダーファンクション132と、ラダーファンクションブロック(「ラダーFB」とも記す。)134とから構成される。また、ユーザプログラム112のモーションプログラム112Bは、主として、ST(Structured Text)プログラム140と、STファンクション142と、STファンクションブロック(「STFB」とも記す。)144とを含む。
STは、IEC61131−3で規定されている、主として、PLC用の高級言語である。STプログラム140、STファンクション142、STファンクションブロック144は、モーションプログラム112Bだけではなく、HMI(Human Machine Interface)処理、通信処理、レシピデータ処理、その他高機能処理にも用いられる。
ラダーセクション130は、ラダーロジック言語によって記述されたプログラムを含む。ラダーファンクション132は、1または複数のラダープログラムを組み合わせたものであり、ラダーセクション130から呼び出されて実行され、その実行結果を呼び出し元のプログラムに戻す。ラダーファンクションブロック134は、特定の処理を実現するために、1または複数のラダープログラムを組み合わせたプログラムの単位であり、1または複数のラダーセクション130から呼び出されて実行される。ラダーファンクション132およびラダーファンクションブロック134は、一種のサブルーチンであり、再帰的な呼び出しも可能になっている。
STプログラム140は、ST言語によって記述されたプログラムを含む。STファンクション142は、1または複数のST言語での命令を組み合わせたものであり、STプログラム140から呼び出されて実行され、その実行結果を呼び出し元のプログラムに戻す。STファンクションブロック144は、特定の処理を実現するために、1または複数のST言語での命令を組み合わせたプログラムの単位であり、1または複数のSTプログラム140から呼び出されて実行される。STファンクション142およびSTファンクションブロック144は、一種のサブルーチンであり、再帰的な呼び出しも可能になっている。
以下の説明では、ラダーセクション130、ラダーファンクション132、ラダーファンクションブロック134、STプログラム140、STファンクション142、STファンクションブロック144の各々を、「POU(Program Organization Unit)」とも称す。複数のファンクションまたはファンクションブロックがある場合には、個々のファンクションまたはファンクションブロックが1つのPOUに相当する。
本実施の形態に従うPLC100には、オンラインエディット機能が実装されている。オンラインエディット機能では、POUの単位で、プログラムの変更・更新・削除が可能になっている。すなわち、POUは、一種の単位プログラムであり、POUごとにPLC100へ転送される。但し、「単位プログラム」がPOUと全く同一である必要はなく、複数のPOUを1つの「単位プログラム」とみなしてもよい。
オンラインエディット機能を用いることで、PLC100の運転(通常の制御プログラムを繰り返し実行している間)を継続しつつ、制御プログラムに対する必要な変更を加えることができる。
<E.課題および目的>
図1に示すようなPLCシステム1において、PLC100の各々は、互いに同様の製造装置を制御しており、実行される制御プログラムも実質的に同一であるとする。このような複数のPLC100でそれぞれ実行される制御プログラムに対して、オンラインエディット機能を用いた修正は可能である。しかしながら、すべてのPLC100に対して、同様の修正を行なうためには、サポート装置200をPLC100に接続し、プログラムの変更または修正プログラムの転送といった作業を、PLC100の数だけ繰返す必要がある。
また、セキュリティ上の観点などから、生産システムまたは生産ラインに配置されるPLC100に対して、遠隔で制御プログラムの修正などを行なう、リモートアクセスが制限されている場合も多い。そのため、PLC100が配置されている製造現場にて、保守担当者などが制御プログラムの修正作業を繰り返し行なう必要がある。
しかしながら、保守担当者がPLC100について十分な知識を持っていない場合もあり、また、繰り返し作業を行なうことで、より多くの作業時間がかかる、あるいは、作業ミスや作業漏れが発生する可能性もある。
そのため、複数のPLC100のそれぞれで実行される制御プログラムに対して、同様の修正を行なう作業をより簡素化して、かつ、作業ミスなどが発生する可能性を低減できる機能が要望されている。
そこで、本実施の形態に従うサポート装置200は、対象のPLC100で実行されている制御プログラムに対して変更を加えてよいか否かを判断する整合性チェック機能を実装している。
<F.処理手順>
次に、整合性チェック機能を実装したサポート装置200を用いて、複数のPLC100に対してプログラムを変更する際の処理手順について説明する。図5は、本実施の形態に従うサポート装置200を用いて複数のPLC100に対してプログラムを変更する際の処理手順を示すフローチャートである。図5に示す各ステップは、サポート装置200(厳密には、サポート装置200のCPU202)がサポートプログラムを実行することで、実現される。
図5を参照して、サポート装置200は、サポート装置用アプリケーションプログラムが実行され、制御プログラムの編集画面を起動し(ステップS100)、保存している制御プログラム(以下、「オリジナルプログラム」とも称す。)およびグローバル変数テーブル(以下、「オリジナル変数テーブル」とも称す。)を読み出す(ステップS102)。そして、サポート装置200は、読み出したオリジナルプログラムに関連付けられる識別情報を格納する(ステップS104)。
サポート装置200は、制御プログラムを構成するPOUごとに、各POUの内容に応じて識別情報を算出する機能を有している。ステップS104において、識別情報は、オリジナルプログラムに含まれるPOUごとに付与される。この識別情報は、制御プログラムに対して何らの変更がなされたか否かを判断するための情報であり、オリジナルプログラムそのものを用いてもよい。但し、情報量を削減するためには、オリジナルプログラムのデータから算出されるハッシュ値(あるいは、メッセージダイジェスト)、または、オリジナルプログラムの属性情報(例えば、更新日時などを含む)などを用いてもよい。すなわち、サポート装置200は、ハッシュ関数を用いて、各POUのプログラムコードまたはプログラムオブジェクトなどから識別情報を算出する。
続いて、サポート装置200は、プログラム編集作業者による変更操作に従って、対象のオリジナルプログラムおよびオリジナル変数テーブルを変更する(ステップS106)。
ステップS106におけるオリジナルプログラムおよびオリジナル変数テーブルに対する変更操作においては、オンラインエディット機能における制約を満たす範囲での操作が許容される。具体的には、オンラインエディット機能における制約に抵触するような操作を含むメニュー画面や操作画面などを無効化するなどの処理が実行される。変更後の制御プログラムをPLC100に転送するときに制約への適否を事後的に判断するのではなく、オリジナルプログラムおよびオリジナル変数テーブルに対して行なうことができる操作を事前に制限することで、変更作業をより効率的にできる。
なお、プログラムの変更対象となっているPLC100のファームウエアのバージョンなどに依存して、オンラインエディット機能における制約が異なる場合がある。このような場合には、PLC100のファームウエアのバージョンを事前に取得できる場合には、その取得したバージョンに応じた制約を適用するにようにしてもよい。あるいは、最も厳しい制約下で許容される操作のみを可能にしてもよい。
そして、サポート装置200は、変更操作の完了が指示されたか否かを判断する(ステップS108)。変更操作の完了が指示されていなければ(ステップS108においてNO)、ステップS106以下の処理が繰返される。変更操作の完了が指示されると(ステップS108においてYES)、サポート装置200は、制御プログラムを構成するいずれかのPOUに対する変更操作に応じて、変更後のPOUを生成するとともに、制御プログラムを構成する変数テーブルに対する変更操作に応じて、変更後の変数テーブルを生成する。すなわち、サポート装置200は、変更後の制御プログラム(以下、「変更後プログラム」とも称す。)および変更後のグローバル変数テーブル(以下、「変更後変数テーブル」とも称す。)を格納する(ステップS110)とともに、変更後プログラムに関連付けられる識別情報を格納する(ステップS112)。
そして、サポート装置200は、変更後プログラムおよび変更後変数テーブルを用いて、PLC100へ転送すべきデータファイルを生成する(ステップS114)。より具体的には、サポート装置200で格納している制御プログラム(ソースデータ)をPLC100で実行するために必要な形式に変換(一種のコンパイル)する。このデータファイルには、変更後プログラムおよび変更後変数テーブルに加えて、それぞれに関連付けられる識別情報を含む。
続いて、サポート装置200は、いずれかのPLC100に接続されたか否かを判断する(ステップS116)。いずれかのPLC100に接続されると(ステップS116においてYES)、サポート装置200は、接続されたPLC100に対してデータファイルの転送が指示されたか否かを判断する(ステップS118)。データファイルの転送が取り消されると(ステップS118においてNO)、処理は終了する。
接続されたPLC100に対してデータファイルの転送が指示される(ステップS118においてYES)と、サポート装置200は、データファイルに含まれる変更対象の変更後プログラムおよび変更後変数テーブルに関連する情報を接続先のPLC100から取得する(ステップS120)。そして、サポート装置200は、接続先のPLC100から取得した情報に基づいて整合性をチェックすることで、変更後プログラムおよび変更後変数テーブルの転送が可能か否かを判断する(ステップS122)。
変更後プログラムおよび変更後変数テーブルの転送が不可能と判断されると(ステップS122においてNO)、サポート装置200は、変更後プログラムおよび変更後変数テーブルをPLC100へ転送できない旨を表示する(ステップS124)。そして、処理は、ステップS132へ移る。
これに対して、変更後プログラムおよび変更後変数テーブルの転送が可能と判断されると(ステップS122においてYES)、サポート装置200は、変更後プログラムおよび変更後変数テーブルのPLC100への転送の開始を通知するとともに、転送の開始の指示を受け付ける(ステップS126)。変更後プログラムおよび変更後変数テーブルの転送が取り消されると(ステップS126においてNO)、処理は、ステップS132へ移る。
変更後プログラムおよび変更後変数テーブルの転送が指示されると(ステップS126においてYES)、サポート装置200は、変更後プログラムおよび変更後変数テーブルを予め定められた順序に従って、PLC100へ順次転送する(ステップS128)。このとき、サポート装置200は、変更後プログラムに含まれる1または複数のPOUにそれぞれ関連付けられる識別情報についても、PLC100へ転送する。すなわち、サポート装置200は、単位プログラムであるPOUと当該POUに関連付けられる識別情報とをPLC100へ転送する。
変更後プログラムについては、それに含まれるPOUの単位で必要なプログラムが転送されることが好ましい。また、変更後プログラムおよび変更後変数テーブルの転送順序についても、予め定められた順序、または、変更後プログラムの内容に応じて、適宜最適化されてもよい。
このように、サポート装置200は、制御プログラムを構成するPOUに関連付けられる識別情報と同一の識別情報がPLC100に存在していることを条件として、運転中のPLC100に対して、変更後のPOUを転送する。
最終的に、サポート装置200は、変更後プログラムおよび変更後変数テーブルのPLC100への転送が完了したことを確認すると(ステップS130)、サポート装置200は、別のPLC100に接続されたか否かを判断する(ステップS132)。いずれか別のPLC100に接続されると(ステップS132においてYES)、ステップS118以下の処理が繰り返し実行される。
いずれの別のPLC100に接続されなければ(ステップS132においてNO)、処理は終了する。
<G.整合性チェック機能>
次に、本実施の形態に従うサポート装置200に実装される整合性チェック機能(図5のステップS120〜S122など)について説明する。
(g1:識別情報を用いたチェック)
図6は、本実施の形態に従うサポート装置200に実装される整合性チェック機能による識別情報を用いたチェックを説明するための模式図である。
図6を参照して、サポート装置200は、オリジナルプログラムとして、4つのPOU(POU−A,POU−B,POU−C,POU−D)を格納しているとする。POU−A,POU−B,POU−C,POU−Dには、それぞれ識別情報IDA,IDB,IDC,IDDが関連付けられている。
この状態において、プログラム編集作業者が、POU−AおよびPOU−Bに対して変更を加えたとする。すなわち、POU−AがPOU−A’に変更され、POU−BがPOU−B’に変更されたとする。
サポート装置200は、転送前に、POU−Aに関連付けられる識別情報IDAと、各PLC100に格納されているPOU−Aに関連付けられる識別情報とを比較する。すなわち、サポート装置200は、変更前の制御プログラム(オリジナルプログラム)と同一の制御プログラムが対象のPLC100に格納されているか否かをチェックする。POUそのものを比較して、同一性の有無をチェックしてもよいが、それぞれに対応付けられる識別情報を用いることが好ましい。
これは、変更前の制御プログラム(オリジナルプログラム)がPLC100に格納されているものと異なっている場合には、変更後の制御プログラム(変更後プログラム)を転送することで、PLC100での誤動作またはPLC100の動作停止などを生じる可能性がある。
本来は、サポート装置200に格納されている制御プログラムは、PLC100に格納されているものと実質的に同一であるはずであるが、第三者による変更操作などによって、PLC100側のみ変更がなされている可能性がある。あるいは、保守担当者などが、変更対象となっているPLC100とは異なるPLC100にサポート装置200を接続してしまった場合なども想定される。
そこで、本実施の形態に従う整合性チェック機能を用いることで、転送前に、サポート装置200に格納されているオリジナルプログラムがPLC100に格納されているものと同一であるか否かを判断し、PLC100での誤動作またはPLC100の動作停止などの可能性を低減する。
図6に示す例では、サポート装置200は、サポート装置200に格納されているPOU−Aに関連付けられる識別情報IDAと、各PLC100に格納されているPOU−Aに関連付けられる識別情報IDAとを比較し、両者が一致している場合には、POU−A’およびそれに関連付けられる識別情報IDA’を、対象のPLC100へ転送する。
同様に、サポート装置200は、サポート装置200に格納されているPOU−Bに関連付けられる識別情報IDBと、各PLC100に格納されているPOU−Bに関連付けられる識別情報とを比較する。図6に示す例では、PLC100−1に格納されているPOU−Bは、サポート装置200に格納されている変更前のPOU−Bと同一であり、それぞれの識別情報IDBも一致する。一方、PLC100−2には、サポート装置200に格納されているPOU−Bとは異なるPOU−B’’が格納されており、両者の識別情報は一致しない。そのため、サポート装置200は、POU−Bを変更して得られるPOU−B’をPLC100−2へ転送することはない。
なお、制御プログラムの一部分でも、対象のPLC100に格納されているものと異なっている場合には、変更対象である制御プログラムの転送のすべてを中止するようにしてもよい。あるいは、サポート装置200に格納されているものと、対象のPLC100に格納されているものとが一致しているPOUのみを転送するようにしてもよい。
(g2:グローバル変数テーブル)
次に、グローバル変数テーブルについて説明する。図7は、本実施の形態に従うサポート装置200に実装される整合性チェック機能におけるグローバル変数テーブルのチェック内容を説明するための模式図である。
図7を参照して、グローバル変数テーブルにて定義されているグローバル変数(%data1,%data2,…)は、1または複数のPOUから参照される。そのため、既存のあるグローバル変数の定義を変更してしまうと、1または複数のPOUの実行に影響が生じる場合がある。そのため、本実施の形態に従うオンラインエディット機能においては、グローバル変数テーブルに先に設定されているグローバル変数を変更することは許可されていない。但し、グローバル変数テーブルに、新たに変数を追加することは可能である。
そのため、オンラインエディット機能において可能な変更操作としては、グローバル変数テーブルに新たな定義を追加することに限られる。言い換えれば、サポート装置200に格納されている変更前のグローバル変数テーブルと、変更後のグローバル変数テーブルとを比較して、その差分が新たに追加された部分のみであるか否かを判断する必要がある。
サポート装置200は、サポート装置200に格納されている変更前のグローバル変数テーブルと、変更後のグローバル変数テーブルとを比較して、変更された変数以外の変数がいずれも一致していることをチェックする。そして、サポート装置200は、変更後のグローバル変数テーブルにおいて、変更前のグローバル変数テーブルの内容がすべて包含されていることを条件として、変更後のグローバル変数テーブルをPLC100へ転送する。
(g3:整合性チェック機能の処理手順)
次に、図5に示すステップS122における、変更後プログラムおよび変更後変数テーブルの転送が可能か否かを判断の詳細について説明する。図8は、図5に示すフローチャートのステップS122におけるより詳細な処理手順を示すフローチャートである。
図8を参照して、サポート装置200は、変更操作前から格納されている、制御プログラム(1または複数のPOU)のそれぞれに関連付けられる識別情報を取得する(ステップS1220)。続いて、サポート装置200は、制御プログラム(1または複数のPOU)のうち、変更操作によって変更されたPOUを特定するとともに、変更後のPOUのそれぞれに関連付けられる識別情報を取得する(ステップS1221)。そして、変更がなされたPOUの各々について、以下の処理を実行する。
具体的には、サポート装置200は、変更がなされたPOUのいずれか1つを対象として選択する(ステップS1222)。対象として選択した変更がなされたPOUに対応するPOUが、接続先のPLC100に格納されているか否かを判断する(ステップS1223)。
対応するPOUが接続先のPLC100に格納されていなければ(ステップS1223においてNO)、サポート装置200は、変更後プログラムおよび変更後変数テーブルの転送が不可能と判断する(ステップS1224)。そして、図5のステップS122の処理は完了する。
対応するPOUが接続先のPLC100に格納されていれば(ステップS1223においてYES)、サポート装置200は、格納している変更前のPOUに関連付けられる識別情報と、接続先のPLC100に格納されている当該変更前のPOUに対応するPOUに関連付けられる識別情報とが一致しているか否かを判断する(ステップS1225)。
2つの識別情報が一致していなければ(ステップS1225においてNO)、サポート装置200は、変更後プログラムおよび変更後変数テーブルの転送が不可能と判断する(ステップS1224)。そして、図5のステップS122の処理は完了する。
2つの識別情報が一致していれば(ステップS1225においてYES)、サポート装置200は、変更がなされたPOUのうち対象として選択すべきものが残っているか否かを判断する(ステップS1226)。変更がなされたPOUのうち対象として選択すべきものが残っていれば(ステップS1226においてYES)、サポート装置200は、変更がなされたPOUのうち残っているいずれか1つのPOUを対象として選択し(ステップS1227)、ステップS1223以下の処理を実行する。
変更がなされたPOUのうち対象として選択すべきものが残っていなければ(ステップS1226においてNO)、サポート装置200は、サポート装置200に格納されている変更前のグローバル変数テーブルと、変更後のグローバル変数テーブルとを比較して、変更された変数以外の変数がいずれも一致しているか否かを判断する(ステップS1228)。変更された変数以外の変数のいずれかが一致していなければ(ステップS1228においてNO)、サポート装置200は、変更後プログラムおよび変更後変数テーブルの転送が不可能と判断する(ステップS1224)。そして、図5のステップS122の処理は完了する。
これに対して、変更された変数以外の変数がいずれも一致していれば(ステップS1228においてYES)、サポート装置200は、変更後プログラムおよび変更後変数テーブルの転送が可能と判断する(ステップS1229)。そして、図5のステップS122の処理は完了する。
このように、サポート装置200は、制御プログラムを構成する複数のPOUのうち、何らかの変更操作がなされた1または複数のPOUのそれぞれについて、対応する識別情報のすべてがPLC100に存在していることを条件として、変更後のPOUをPLC100へ転送する。
(g4:まとめ)
以上のように、本実施の形態に従うサポート装置200に実装される整合性チェック機能は、識別情報などを用いて、変更対象の制御プログラム(POU)がPLC100に存在しているか否か、ならびに、変更前の制御プログラムとてPLC100に格納されている制御プログラムとの間が一致しているか否かを判断する。
さらに、本実施の形態に従うサポート装置200に実装される整合性チェック機能は、サポート装置200に格納される変更前のグローバル変数テーブル(オリジナル変数テーブル)と、変更後のグローバル変数テーブル(変更後変数テーブル)との間で、変更した部分以外の変数が一致しているか否かを判断する。
このような構成が一致しているか否かのチェック、および、変更対象のデータの一貫性を保持することができるか否かのチェックを行なうことで、オンラインエディット機能を用いた書き換え作業において生じ得る、PLC100の誤動作または動作停止などを生じる可能性を低減する。
<H.変更操作の制限機能>
一般的には、オンラインエディット機能(運転状態での制御プログラムに対する変更機能)を用いて修正できる内容には、PLC100を停止した状態でアップロードする場合に比較して、制約がある。具体的には、以下のような制約が想定される。
・新規のPOU(または、ラダーセクション)の追加
・既存のPOU(または、ラダーセクション)の削除
・既存の変数テーブルに定義されている変数の削除
・既存の変数テーブル内の変数順序の入れ替え
すなわち、オンラインエディット機能では、変更前後において、プログラムの実行に必要な情報の一貫性が保たれている必要がある。そこで、このようなオンラインエディット機能が実行されている間は、ユーザが実行可能な変更操作をこの制約を満たす範囲に制限することが好ましい。すなわち、サポート装置200が制御プログラムの編集画面を起動した後、オンラインエディット機能が有効化されているときには、オンラインエディット機能の制約を満たす操作のみを有効化してもよい。このように、制御プログラムの編集画面でのユーザ操作を制限することで、PLC100での誤動作またはPLC100の動作停止などを生じる可能性を低減できる。すなわち、サポート装置200は、運転中のPLC100に対して、変更後のPOUを転送する場合の制約に適合するように、指示可能な変更操作を制限する。
図9は、本実施の形態に従うサポート装置200に実装される変更操作の制限機能を説明する模式図である。図9(A)には、一例として、グローバル変数テーブルに対する編集画面の一例を示す。この編集画面において、グローバル変数テーブルに対して、新たな変数の追加(追加)、変数の設定の変更(変更)、登録されている変数の削除(削除)が可能になっている。
一方、図9(B)には、オンラインエディット機能が有効化されている状態における、編集画面の一例を示す。この編集画面において、グローバル変数テーブルに対する、新たな変数の追加(追加)の操作は有効化されているが、変数の設定の変更(変更)、および、登録されている変数の削除(削除)は無効化されている。これは、上述したように、既存の変数テーブルに定義されている変数の削除、および、既存の変数テーブル内の変数順序の入れ替えが制約事項となっていることに対応したものである。
図9に示すような制限機能例に限られず、オンラインエディット機能によって課せられる制約に応じて、ユーザ操作を制限することが好ましい。
<I.転送順序の調整>
上述の図5に示すフローチャートのステップS128において、変更後プログラムおよび変更後変数テーブルの転送順序については、予め定められたものであってもよいし、制御プログラムの内容に応じて変更してもよい。
オンラインエディット機能において、基本的には、グローバル変数テーブルを先に転送(更新)し、続いて、制御プログラム(それぞれのPOU)を順次転送(更新)することになる。これは、制御プログラムに含まれる1または複数のPOUがそれぞれ独立して、グローバル変数テーブルに適宜されている変数にアクセスする可能性があるため、これらのPOUの更新前に、グローバル変数テーブルを更新しておくことが好ましい。
但し、制御プログラムのプログラム構造によっては、POUを先に更新しておき、その後にグローバル変数テーブルを更新するようなものであってもよい。そこで、本実施の形態に従うサポート装置200は、制御プログラムおよびグローバル変数テーブルを転送する順序を任意に変更または設定できるようになっている。すなわち、サポート装置200は、転送対象の変数テーブルおよび1または複数のPOUを予め定められた順序または指定された順序で転送する。
デフォルトの転送順序としては、例えば、編集作業が実施された順序、図4に示すようなデータ構造において下の階層に位置するものほどより先に転送する、図4に示すようなデータ構造において上の階層に位置するものほどより先に転送する、といった例が想定される。
サポート装置200は、上述したような各種の情報を参照して、データの転送順序を決定する。
図10は、本実施の形態に従うサポート装置200が提供する転送順序を設定するためのユーザインターフェイス画面の一例を示す図である。図10を参照して、例えば、転送対象のデータ(グローバル変数テーブル、ラダープログラム、ラダーファンクション、ラダーファンクションブロックなど)が一覧表示されるとともに、その表示順序は、転送順序に対応している。このユーザインターフェイス画面において、ユーザは、上矢印ボタンまたは下矢印ボタンを操作して、データの転送順序を適宜変更することができる。
データの転送順序については、サポート装置200がプログラムの内容を解析して、最も適した順序を決定してもよい。例えば、サポート装置200に接続されるPLC100の特性値(ハードウェアスペック、ファームウェアバージョンなど)に応じて、転送するデータの順序などを最適化してもよい。すなわち、サポート装置200は、転送先のPLC100の特性値に応じて、転送対象のグローバル変数テーブルおよび1または複数のPOUの転送順序を決定してもよい。
<J.PLCでのプログラム実行開始タイミング>
本実施の形態に従うオンラインエディット機能によって、変更後プログラムおよび変更後変数テーブルをPLC100へ転送し、PLC100がその転送された変更後プログラムおよび変更後変数テーブルの実行を開始するタイミングを適宜設定するようにしてもよい。
図11は、本実施の形態に従うオンラインエディット機能によって転送された制御プログラムの実行開始タイミングを説明するための図である。図11には、3つのPOU(POU−A,POU−B,POU−C)を順次転送する場合の処理例を示す。
図11(A)には、それぞれのPOUの転送が完了されると、他のPOUの実行を待つことなく、当該転送が完了したPOUの実行が開始される例を示す。図11(B)には、3つのPOUの転送が完了した後に、当該3つのPOUが一斉に実行を開始する例を示す。なお、図11(A)および図11(B)において、コントローラ実行サイクルとして記載の矢印(→)の1個分が、コントローラ実行サイクルの1回分を示す。
図11(A)に示す方法によれば、各PLC100において、変更前後のPOUを保持する記憶領域が最低限で済むので、ハードウェア的な制約がある場合であっても、オンラインエディット機能を実現できる。
図11(B)に示す方法によれば、各PLC100において、変更前後のすべてのPOUを保持するための記憶領域が必要になるため、余裕のあるハードウェアを用いる必要があるが、複数のPOUが制御するそれぞれの装置間が互いに関連しているような場合であっても、変更後のPOUのすべてが一斉に切り替わるので、同期ずれなどの問題が生じ難い。
本実施の形態に従うサポート装置200は、接続先のPLC100の特性値(ハードウェアスペック、ファームウェアバージョンなど)に応じて、いずれかのモードを自動的に選択するようにしてもよいし、ユーザが明示的にいずれかのモードを選択するようにしてもよい。
<K.利点>
本実施の形態に従うサポート装置200によれば、運転中のPLC100に対して、制御プログラムの変更操作を行なった場合であっても、PLC100での誤動作またはPLC100の動作停止などを生じる可能性を低減できる。
また、本実施の形態に従うサポート装置200によれば、制御プログラムの変更操作をより簡素化できるので、複数のPLC100でそれぞれ実行される制御プログラムに対して同一の修正を行なう必要があるような場合であっても、より簡単かつ短時間に作業を完結できる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 PLCシステム、10 CPUユニット、11 システムバス、12 電源ユニット、14,16 I/Oユニット、100 PLC、102 プロセッサ、104 チップセット、106 メインメモリ、108 フラッシュメモリ、110 システムプログラム、112 ユーザプログラム、112A シーケンスプログラム、112B モーションプログラム、116 外部ネットワークコントローラ、118 メモリカードインターフェイス、120 メモリカード、122 内部バスコントローラ、124 フィールドバスコントローラ、130 ラダーセクション、132 ラダーファンクション、134 ラダーファンクションブロック、140 STプログラム、142 STファンクション、144 STファンクションブロック、150 グローバル変数テーブル、160 I/Oモジュール、200 サポート装置、202 CPU、206 RAM、210 キーボード、212 マウス、214 ディスプレイ、216 光学記録媒体読取装置、218 通信インターフェイス、250 光学記録媒体。

Claims (7)

  1. 制御対象を制御する制御装置で実行される制御プログラムの開発を支援するサポート装置であって、
    制御プログラムを構成する単位プログラムごとに、各単位プログラムの内容に応じて識別情報を算出する算出手段と、
    単位プログラムと当該単位プログラムに関連付けられる識別情報とを前記制御装置へ転送する第1の転送手段と、
    前記制御プログラムを構成するいずれかの単位プログラムに対する変更操作に応じて、変更後の単位プログラムを生成する生成手段と、
    前記制御プログラムを構成する単位プログラムに関連付けられる識別情報と同一の識別情報が前記制御装置に存在していることを条件として、運転中の前記制御装置に対して、前記変更後の単位プログラムを転送する第2の転送手段とを備え
    前記生成手段は、前記制御プログラムが参照する変数テーブルに対する変更操作に応じて、変更後の変数テーブルを生成し、
    前記第2の転送手段は、変更後の変数テーブルにおいて、変更前の変数テーブルの内容がすべて包含されていることを条件として、前記変更後の変数テーブルを前記制御装置へ転送する、サポート装置。
  2. 前記第2の転送手段は、前記制御プログラムを構成する複数の単位プログラムのうち、何らかの変更操作がなされた1または複数の単位プログラムについて、対応する識別情報が当該1または複数の単位プログラムのいずれについても前記制御装置に存在していることを条件として、前記変更後の単位プログラムを前記制御装置へ転送する、請求項1に記載のサポート装置。
  3. 前記算出手段は、ハッシュ関数を用いて、各単位プログラムのプログラムコードまたはプログラムオブジェクトから前記識別情報を算出する、請求項1または2に記載のサポート装置。
  4. 前記生成手段は、前記運転中の制御装置に対して、前記変更後の単位プログラムを転送する場合の制約に適合するように、指示可能な変更操作を制限する、請求項1〜3のいずれか1項に記載のサポート装置。
  5. 前記第2の転送手段は、転送対象の変数テーブルおよび1または複数の単位プログラムを予め定められた順序または指定された順序で転送する、請求項に記載のサポート装置。
  6. 前記第2の転送手段は、転送先の制御装置の特性値に応じて、転送対象の変数テーブルおよび1または複数の単位プログラムの転送順序を決定する、請求項に記載のサポート装置。
  7. 制御対象を制御する制御装置で実行される制御プログラムの開発を支援するサポート装置を実現するためのサポートプログラムであって、前記サポートプログラムは、コンピュータを、
    第1のプログラムを構成する単位プログラムごとに、各単位プログラムの内容に応じて識別情報を算出する算出手段と、
    単位プログラムと当該単位プログラムに関連付けられる識別情報とを前記制御装置へ転送する第1の転送手段と、
    前記第1のプログラムを構成するいずれかの単位プログラムに対する変更操作に応じて、変更後の単位プログラムを生成する生成手段と、
    前記制御プログラムを構成する単位プログラムに関連付けられる識別情報と同一の識別情報が前記制御装置に存在していることを条件として、運転中の前記制御装置に対して、前記変更後の単位プログラムを転送する第2の転送手段として機能させ
    前記生成手段は、前記制御プログラムが参照する変数テーブルに対する変更操作に応じて、変更後の変数テーブルを生成し、
    前記第2の転送手段は、変更後の変数テーブルにおいて、変更前の変数テーブルの内容がすべて包含されていることを条件として、前記変更後の変数テーブルを前記制御装置へ転送する、サポートプログラム。
JP2015158172A 2015-08-10 2015-08-10 サポート装置およびサポートプログラム Active JP6520545B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2015158172A JP6520545B2 (ja) 2015-08-10 2015-08-10 サポート装置およびサポートプログラム
EP16834987.6A EP3336627B1 (en) 2015-08-10 2016-07-28 Support device, method, and recording medium whereon support program is stored
CN201680028635.XA CN107615192B (zh) 2015-08-10 2016-07-28 支持装置、方法以及保存有支持程序的记录介质
PCT/JP2016/072126 WO2017026290A1 (ja) 2015-08-10 2016-07-28 サポート装置、方法およびサポートプログラムを格納した記録媒体
US15/576,287 US10705500B2 (en) 2015-08-10 2016-07-28 Support device, method, and recording medium for simplifying control program changing operation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015158172A JP6520545B2 (ja) 2015-08-10 2015-08-10 サポート装置およびサポートプログラム

Publications (2)

Publication Number Publication Date
JP2017037466A JP2017037466A (ja) 2017-02-16
JP6520545B2 true JP6520545B2 (ja) 2019-05-29

Family

ID=57984533

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015158172A Active JP6520545B2 (ja) 2015-08-10 2015-08-10 サポート装置およびサポートプログラム

Country Status (5)

Country Link
US (1) US10705500B2 (ja)
EP (1) EP3336627B1 (ja)
JP (1) JP6520545B2 (ja)
CN (1) CN107615192B (ja)
WO (1) WO2017026290A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6696383B2 (ja) * 2016-09-27 2020-05-20 ブラザー工業株式会社 数値制御装置
JP6922583B2 (ja) * 2017-09-15 2021-08-18 オムロン株式会社 情報処理装置、情報処理方法、および、情報処理プログラム
JP7151161B2 (ja) 2018-05-10 2022-10-12 オムロン株式会社 制御システム、サポート装置、サポートプログラム
JP7052620B2 (ja) * 2018-07-30 2022-04-12 オムロン株式会社 サポート装置およびサポートプログラム
JP7024679B2 (ja) * 2018-10-05 2022-02-24 オムロン株式会社 開発支援プログラム、開発支援装置、および開発支援方法
JP6757386B2 (ja) * 2018-10-23 2020-09-16 株式会社キーエンス プログラマブルロジックコントローラおよびプログラム作成支援装置
JP6950665B2 (ja) * 2018-11-02 2021-10-13 横河電機株式会社 エンジニアリング装置、エンジニアリング装置の制御方法及びプログラム
JP7227015B2 (ja) * 2019-01-24 2023-02-21 ファナック株式会社 ラダープログラム編集システム、サーバ、端末装置、ラダープログラム編集方法及びプログラム
JP7322604B2 (ja) * 2019-09-04 2023-08-08 オムロン株式会社 プログラム開発装置、プロジェクト作成方法およびプログラム開発装置を実現するためのプログラム
JP7404748B2 (ja) * 2019-10-03 2023-12-26 オムロン株式会社 プログラム開発装置およびプログラム開発装置を実現するためのプログラム
JP2022139089A (ja) * 2021-03-11 2022-09-26 オムロン株式会社 開発支援装置、開発支援方法および開発支援プログラム

Family Cites Families (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5039428B2 (ja) 1972-01-05 1975-12-17
JPH05297902A (ja) 1992-04-17 1993-11-12 Mitsubishi Electric Corp プログラマブルコントローラのプログラム転送方法およびパラメータチューニング方法
JPH10301763A (ja) 1997-04-25 1998-11-13 Mitsubishi Electric Corp ディジタル制御装置のプログラム作成支援装置
JP2001142510A (ja) * 1999-11-11 2001-05-25 Omron Corp コントローラシステム及びプログラミングツール並びにコントローラ
JP3883775B2 (ja) * 2000-03-17 2007-02-21 株式会社デジタル 制御システム用サーバ装置、制御システム、制御システム用サーバ装置の通信方法、および、そのプログラムが記録された記録媒体
US20020198970A1 (en) 2001-04-27 2002-12-26 Shunji Kuwa Programmable controller system
EP1278120A1 (de) 2001-07-18 2003-01-22 Infineon Technologies AG Controller und Verfahren zum Ansteuern einer zentralen Verarbeitungseinheit für eine Speicheradressierung
EP1678564A1 (en) * 2003-09-03 2006-07-12 Unitronics (1989) (R"G) Ltd. System and method for implementing logic control in programmable controllers in distributed control systems
EP1582948B1 (en) 2004-03-31 2009-06-24 Omron Corporation Development aid device
JP3925557B2 (ja) * 2005-02-28 2007-06-06 オムロン株式会社 パラメータ設定装置
JP2007102388A (ja) 2005-10-03 2007-04-19 Hitachi Ltd 保守支援装置,保守支援方法,保守支援システム,制御装置および制御方法
US7689727B2 (en) * 2006-01-24 2010-03-30 National Instruments Corporation System and method for automatically updating the memory map of a programmable controller to customized hardware
EP1818743B1 (en) * 2006-02-14 2017-05-24 Omron Corporation Monitor system, and monitor device and data collecting device therefor
BRPI0716486A2 (pt) * 2006-08-08 2014-03-11 Siemens Energy & Automat Dispositivos, sistemas e métodos referentes a uma falha no sistema plc
RU2417391C2 (ru) * 2006-08-24 2011-04-27 Сименс Энерджи Энд Отомейшн, Инк. Устройства, системы и способы конфигурирования программируемого логического контроллера
JP2008077265A (ja) 2006-09-20 2008-04-03 Fuji Electric Fa Components & Systems Co Ltd プログラマブルコントローラのプログラム更新方法
JP4321602B2 (ja) 2007-02-14 2009-08-26 セイコーエプソン株式会社 文書編集支援装置、プログラムおよび記憶媒体
JP5035551B2 (ja) 2007-03-09 2012-09-26 オムロン株式会社 ビルディングブロック型の制御装置
JP5039428B2 (ja) * 2007-05-14 2012-10-03 株式会社キーエンス プログラマブルコントローラ及びplcシステム
US8352651B2 (en) * 2007-06-12 2013-01-08 Siemens Aktiengesellschaft Devices, systems, and methods regarding programmable logic controller communications
US20090064103A1 (en) * 2007-09-04 2009-03-05 Shih Hsueh-Fu Method for editing programmer logic controller (plc) program
US8195844B2 (en) * 2007-09-20 2012-06-05 Siemens Aktiengesellschaft Systems, devices, and/or methods for managing communications
US8296733B2 (en) * 2007-09-20 2012-10-23 Siemens Aktiengesellschaft Systems, devices, and/or methods for managing program logic units
US8117424B2 (en) * 2007-09-21 2012-02-14 Siemens Industry, Inc. Systems, devices, and/or methods for managing programmable logic controller processing
JP4185159B1 (ja) 2008-01-30 2008-11-26 株式会社三菱東京Ufj銀行 アプリケーション開発支援装置及びプログラム
JP5051377B2 (ja) 2008-03-15 2012-10-17 オムロン株式会社 プログラム開発支援装置の動作仕様管理方法
US20100220593A1 (en) * 2008-03-31 2010-09-02 Yuki Fujiwara Communication terminal device and communication control method
US8352905B2 (en) * 2008-09-30 2013-01-08 Rockwell Automation Technologies, Inc. Application builder for industrial automation
US8255875B2 (en) * 2008-09-30 2012-08-28 Rockwell Automation Technologies, Inc. Application builder for industrial automation
US8327316B2 (en) * 2008-09-30 2012-12-04 Ics Triplex Isagraf Inc. Compilation model
DE102008059841A1 (de) * 2008-12-01 2010-06-02 Robert Bosch Gmbh Verfahren zum Programmieren einer sichheitsgerichteten Speicherprogrammierbaren Steuerung und Vermittler-Funktionsbaustein
JP2010170536A (ja) * 2008-12-26 2010-08-05 Omron Corp プログラマブル・コントローラ
JP5005010B2 (ja) * 2009-09-03 2012-08-22 三菱電機株式会社 設備制御装置
EP2402854A4 (en) 2009-09-17 2014-03-26 Bank Of Tokyo Mitsubishi Ufj APPLICATION DEVELOPMENT ASSIST DEVICE, PROGRAM, AND RECORDING MEDIUM
KR101053104B1 (ko) * 2009-10-28 2011-08-02 엘에스산전 주식회사 전산기기 소프트웨어 테스트 방법 및 시스템
CN102640112B (zh) * 2009-12-28 2015-05-13 三菱电机株式会社 程序制作支援装置
JP2011257904A (ja) * 2010-06-08 2011-12-22 Hitachi Ltd 制御装置及びそのデータ処理方法
DE102010026494A1 (de) * 2010-07-07 2012-01-12 Abb Ag Verfahren zur Konfigurierung einer Steuerungseinrichtung
JP5644543B2 (ja) 2011-01-26 2014-12-24 富士通株式会社 アクセス制御データ編集支援プログラム、アクセス制御データ編集支援装置、及びアクセス制御データ編集支援方法
JP5267737B2 (ja) * 2011-01-31 2013-08-21 トヨタ自動車株式会社 安全制御装置および安全制御方法
JP5252014B2 (ja) * 2011-03-15 2013-07-31 オムロン株式会社 制御装置、制御システム、ツール装置および収集指示プログラム
JP4894961B1 (ja) * 2011-03-15 2012-03-14 オムロン株式会社 Plcのcpuユニット、plc用システムプログラムおよびplc用システムプログラムを格納した記録媒体
JP4807475B1 (ja) * 2011-03-15 2011-11-02 オムロン株式会社 演算ユニット、出力制御方法、およびプログラム
JP5796311B2 (ja) * 2011-03-15 2015-10-21 オムロン株式会社 制御装置およびシステムプログラム
JP5099251B1 (ja) * 2011-07-15 2012-12-19 オムロン株式会社 Plcのcpuユニット、plc用のシステムプログラム、plc用のシステムプログラムを格納した記録媒体、plcシステム、plcサポート装置、plcサポートプログラム、および、plcサポートプログラムを格納した記録媒体
JP5806061B2 (ja) 2011-09-28 2015-11-10 発紘電機株式会社 プログラマブル表示器の支援装置、そのプログラム、操作画面一括変更支援方法
US9778652B2 (en) * 2011-12-06 2017-10-03 Beet, Llc Method and system for capturing automation data
JP5957936B2 (ja) * 2012-02-15 2016-07-27 富士電機株式会社 プログラマブルコントローラシステム、その支援装置、プログラム
CN104205102B (zh) * 2012-03-26 2017-06-16 三菱电机株式会社 定序程序设计辅助装置
EP2887165A1 (en) * 2013-12-20 2015-06-24 Omron Corporation Computation unit, output control method, and program
US20150205966A1 (en) * 2014-01-17 2015-07-23 MalCrawler Co. Industrial Control System Emulator for Malware Analysis
WO2015136970A1 (ja) * 2014-03-14 2015-09-17 オムロン株式会社 制御装置及び制御システム
CN106062649A (zh) * 2014-03-14 2016-10-26 欧姆龙株式会社 控制装置及控制***
JP6235457B2 (ja) * 2014-12-25 2017-11-22 ファナック株式会社 テーブル形式データによる運転を行う数値制御装置
KR102079499B1 (ko) * 2015-10-20 2020-02-21 엘에스산전 주식회사 Plc 위치 결정 시스템의 축별 제어주기 독립 할당 방법
JP6496272B2 (ja) * 2016-04-15 2019-04-03 ファナック株式会社 パラメータ設定装置、パラメータ設定プログラム及びパラメータ設定方法

Also Published As

Publication number Publication date
EP3336627A4 (en) 2019-04-03
US20180210415A1 (en) 2018-07-26
EP3336627A1 (en) 2018-06-20
EP3336627B1 (en) 2021-07-07
JP2017037466A (ja) 2017-02-16
CN107615192B (zh) 2020-03-17
US10705500B2 (en) 2020-07-07
CN107615192A (zh) 2018-01-19
WO2017026290A1 (ja) 2017-02-16

Similar Documents

Publication Publication Date Title
JP6520545B2 (ja) サポート装置およびサポートプログラム
JP4865634B2 (ja) プログラム編集支援装置、コンピュータプログラム、プログラム編集支援方法及びplcシステム
EP3410296B1 (en) Starting method and device for embedded device
JP5039428B2 (ja) プログラマブルコントローラ及びplcシステム
CN112631555A (zh) 具有开放api的可扩展ide平台
US7886284B2 (en) Using a backend simulator to test and develop xforms templates before linking the xforms templates to backend data processing systems
US11175895B2 (en) Code generation and simulation for graphical programming
CN103761107B (zh) 软件包定制的装置及方法
JP2008276690A (ja) 開発システム、開発システムのサーバ、開発方法
JP2017142794A (ja) プログラマブルコントローラシステム、そのコントローラ、支援装置、hci装置、二重化コントローラシステム
JP4110557B2 (ja) プログラム実行システムを備えた検査装置およびプログラミングシステム
JP2016224557A (ja) プログラム作成支援装置、プログラムおよび判別方法
JP7067273B2 (ja) サポート装置、制御システム、および開発支援プログラム
CN109408081A (zh) 数据传输方法及通讯***
JP6541902B1 (ja) プログラム管理システム、プログラミング支援装置、プログラム管理方法、およびプログラミング支援プログラム
TW202338655A (zh) 具模組交換之積體電路設計驗證
JP2016224559A (ja) プログラム作成支援装置、制御方法およびプログラム
JP6455096B2 (ja) コントロールシステム、その支援装置、プログラマブルコントロール装置
JP7119714B2 (ja) 情報処理装置、表示プログラム、および方法
KR20220132248A (ko) Plc 프로그램의 지원 방법, 장치 및 서버
JP6295914B2 (ja) プログラマブルコントローラシステム、その支援装置、プログラマブルコントローラ
JP4877257B2 (ja) プログラマブルコントローラ、プログラマブルコントローラ支援装置、及びプログラマブルコントローラシステム
JP2009098963A (ja) モジュール自動生成システム
JP2009157534A (ja) プログラム作成支援システム、そのプログラマブルコントローラ支援装置、プログラマブル表示器支援装置
WO2020012995A1 (ja) 開発システム、およびサポート装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171024

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190201

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: 20190402

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190415

R150 Certificate of patent or registration of utility model

Ref document number: 6520545

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250