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

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

Info

Publication number
JP7052620B2
JP7052620B2 JP2018142647A JP2018142647A JP7052620B2 JP 7052620 B2 JP7052620 B2 JP 7052620B2 JP 2018142647 A JP2018142647 A JP 2018142647A JP 2018142647 A JP2018142647 A JP 2018142647A JP 7052620 B2 JP7052620 B2 JP 7052620B2
Authority
JP
Japan
Prior art keywords
program
hmi
transfer
variable
support
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
JP2018142647A
Other languages
English (en)
Other versions
JP2020021157A (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 JP2018142647A priority Critical patent/JP7052620B2/ja
Priority to EP19843879.8A priority patent/EP3832411B1/en
Priority to US17/251,216 priority patent/US11360462B2/en
Priority to CN201980039097.8A priority patent/CN112272802B/zh
Priority to PCT/JP2019/027338 priority patent/WO2020026738A1/ja
Publication of JP2020021157A publication Critical patent/JP2020021157A/ja
Application granted granted Critical
Publication of JP7052620B2 publication Critical patent/JP7052620B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • 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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41835Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by programme execution
    • 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
    • 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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41865Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0208Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the configuration of the monitoring system
    • G05B23/0216Human interface functionality, e.g. monitoring system providing help to the user in the selection of tests or in its configuration
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0259Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the response to fault detection
    • G05B23/0267Fault communication, e.g. human machine interface [HMI]
    • G05B23/0272Presentation of monitored results, e.g. selection of status reports to be displayed; Filtering information to the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/47Retargetable compilers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Programmable Controllers (AREA)
  • Stored Programmes (AREA)

Description

本開示は、FA(ファクトリオートメーション)のプログラムの開発を支援するサポート装置および開発支援プログラムに関する。
様々な生産および製造現場において、PLC(プログラマブルロジックコントローラ)などの制御装置を用いたFA技術が広く普及している。このような制御装置は、一種のコンピュータであり、製造装置や製造設備などのFA機器に応じて、これらを制御するように設計された制御プログラムを実行する。また、FAの分野に適用されるHMI(ヒューマンマシンインターフェイス)装置は、HMIプログラムを実行することにより、PLCなどから得られるFA機器に関する情報を画面で表示する。また、HMIプログラムは、生産管理者などのオペレータがHMIの画面をタッチなど操作して、HMIの画面を介し制御プログラムが参照するデータを設定することもできる。
このように、HMIプログラムと、制御プログラムは互いに関連しているので、制御プログラムに関して新規プログラムまたは変数を追加するよう変更がなされた場合、追加変数の値を表示するなど画面構成を変更するためにHMIプログラムを変更するケースが多い。このようなプログラムの変更がなされた場合、変更後のHMIプログラムおよび制御プログラムを、それぞれ、HMI装置およびPLCへ転送する必要がある。
一般的に、HMIプログラムと制御プログラムとの開発環境が統合されていても、転送先(HMI装置とPLC)は異なるために、更新後のHMIプログラムおよび制御プログラムの転送に手間と時間がかかる。したがって、このような転送を簡単化して手間と時間を節約したいとの要望がある。
特許文献1(特開平10-105147号公報)では、PLCを接続可能なプログラム式表示装置に対する操作画面データの転送を開示する。具体的には、各単位画面ファイルを特定するデータと更新時期を特定するデータを比較することにより、同一のプロジェクトで且つ変更処理が加えられたデータファイルのみを選択的にデータ転送する。
特開平10-105147号公報
特許文献1は、変更処理が加えられた単位画面ファイルのデータファイルを転送する構成を開示するが、画面のデータファイルの転送に併せてPLC側で実行されるプログラムを転送することは開示しない。
本開示の一つの目的は、HMIプログラムまたは制御プログラムの編集がなされた場合のHMIプログラムまたは制御プログラムの転送を簡単化するプログラム開発の支援環境を提供することである。
この開示の一例にかかるサポート装置は、FA(ファクトリオートメーション)に設けられる対象装置で実行されるプログラムの開発を支援するサポート装置であって、対象装置は、FAの機器を制御する制御装置とHMI(ヒューマンマシンインターフェイス)装置とを含み、サポート装置は、プログラムを編集する編集手段と、編集されたプログラムを対象装置へ転送するための転送処理を実施する転送管理手段と、を備える。
プログラムは、機器を制御するための制御プログラムと、制御プログラムが用いる変数を処理するHMIプログラムとを含み、転送管理手段は、編集手段により制御プログラムまたはHMIプログラムの編集がなされた場合に、制御プログラムおよびHMIプログラムを、それぞれ、制御装置とHMI装置に同時に転送するよう転送処理を実施する手段を含む。
上述の開示によれば、HMIプログラムまたは制御プログラムの編集がなされた場合に、両プログラムはそれぞれ対象装置に同時に転送される。したがって、HMIプログラムまたは制御プログラムを修正するなどの編集がなされる場合に対象装置へプログラムが自動的に転送されて、対象装置へのプログラムの転送漏れを防止することができる。
上述の開示において、編集手段により編集された制御プログラムまたはHMIプログラムの各プログラムを、対象装置で実行されている当該プログラムと比較し、比較の結果から、編集された各プログラムが実行されている当該プログラムから変更されたかを判定する手段を、さらに備え、転送管理手段は、さらに、編集手段により編集された制御プログラムまたはHMIプログラムの各プログラムのうち、変更の判定がなされた一方または両方を転送するよう転送処理を実施する手段を含む。
上述の開示によれば、編集されたプログラムと、対象装置で実行中の当該プログラムとが比較されることとで、転送対象とすべきプログラムを決定することができる。
上述の開示において、判定する手段による判定結果に基づく情報をディスプレイに表示させる通知手段と、サポート装置に対するユーザ操作を受付ける操作受付手段と、をさらに備え、転送管理手段は、編集手段により編集された制御プログラムまたはHMIプログラムの各プログラムのうち、受付けるユーザ操作内容が示す一方または両方を転送するよう転送処理を実施する手段を含む。
上述の開示によれば、ユーザは、変更の判定結果を参照して、転送するべきプログラムを選択的に指定することができる。
上述の開示において、転送管理手段により制御プログラムまたはHMIプログラムの転送処理が実施されるとき、対象装置に、転送後の各プログラムを起動させるための起動指示を送信する。
上述の開示によれば、対象装置へのプログラムの転送に併せて、各対象装置に対して、転送後の当該プログラムを起動させるための指示を与えることができる。
上述の開示において、起動指示は、転送後の各プログラムを起動させる時間の情報を含む。
上述の開示によれば、起動指示を用いて、対象装置に対して、転送後のプログラムを起動させる時間を指示することができる。
上述の開示において、プログラムの転送が完了した旨の通知を対象装置から受信したときに、起動指示を対象装置に送信する。
上述の開示によれば、対象装置にプログラムの転送が完了したことが確認されたときに、当該対象装置に起動指示を与えることができる。
上述の開示において、HMIプログラムの編集は、当該HMIプログラムを構成するプログラムであって変数を処理するUI(ユーザインターフェイス)部品の編集を含み、HMIプログラムの編集は、UI部品の編集を含む。
上述の開示によれば、UI部品が編集された場合は、上述の転送管理手段による転送処理を、UI部品を対象に実施することができる。
上述の開示において、制御プログラムは、変数と、変数を用いた処理内容を示すプログラムコードとを含み、比較の結果が、変数の変更なしにプログラムコードの変更があることを示す場合、予め定められた通知をHMI装置のディスプレイに出力させる。
上述の開示によれば、制御プログラムのプログラムコードに変更がある場合、HMIプログラムによる変数の処理結果が変化する場合があり、その旨の通知をユーザに出力することができる。
この開示の一例にかかるサポートプログラムは、FA(ファクトリオートメーション)に設けられる対象装置で実行されるプログラムの開発を支援するサポートプログラムであって、対象装置は、FAに設けられる機器を制御する制御装置とHMI(ヒューマンマシンインターフェイス)装置とを含み、サポートプログラムは、コンピュータに、プログラムを編集するステップと、編集されたプログラムを対象装置へ転送するための転送処理を実施するステップと実行させ、編集されるプログラムは、機器を制御するための制御プログラムと、制御プログラムが用いる変数を処理するHMIプログラムと、を含み、転送処理を実施するステップは、制御プログラムまたはHMIプログラムの編集がなされた場合に、制御プログラムおよびHMIプログラムを、それぞれ、制御装置とHMI装置に同時に転送するよう転送処理を実施するステップを含む。
上述の開示によれば、サポートプログラムがコンピュータにより実行されることで、HMIプログラムまたは制御プログラムの編集がなされた場合に、両プログラムはそれぞれ対象装置に同時に転送される。したがって、HMIプログラムまたは制御プログラムを修正するなどの編集がなされる場合に対象装置へプログラムが自動的に転送された対象装置へのプログラムの転送漏れを防止することができる。
この開示によれば、HMIプログラムまたは制御プログラムの編集がなされた場合のHMIプログラムまたは制御プログラムの転送を簡単化するプログラム開発の支援環境を提供することができる。
本発明の実施の形態に係るシステムの構成を模式的に示す図である。 本発明の実施の形態にかかるPLC100のハードウェア構成の一例を模式的に示す図である。 本発明の実施の形態にかかるサポート装置200のハードウェア構成の一例を模式的に示す図である。 本発明の実施の形態にかかるHMI装置4のハードウェア構成の一例を模式的に示す図である。 本発明の実施の形態にかかるHMIプログラム112の利用態様を模式的に示す図である。 本発明の実施の形態にかかるサポート装置200におけるプログラムの開発環境42の一例を概略的に示す図である。 本発明の実施の形態にかかる転送マネージャ231による転送処理の一例を模式的に説明する図である。 本発明の実施の形態にかかる転送マネージャ231が参照する転送順番テーブル234の一例を模式的に示す図である。 本発明の実施の形態にかかる開発環境42の他の構成例を模式的に示す図である。 本発明の実施の形態にかかる変数チェッカ237による処理の一例を模式的に示す図である。 本発明の実施の形態にかかる転送順番テーブル234に従う転送処理の一例を示すフローチャートである。 本発明の実施の形態にかかるユーザ操作に基づく転送処理の一例を示すフローチャートである。 本発明の実施の形態にかかる変数の変更に基づく転送処理の一例を示すフローチャートである。 本発明の実施の形態にかかる起動処理の一例を模式的に説明する図である。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
<A.適用例>
まず、図1を参照して、本発明が適用される場面の一例について説明する。図1は、本発明の実施の形態に係るシステムの構成を模式的に示す図である。図1を参照して、FAのシステム1は、複数のデバイス300と通信する1または複数のPLC(プログラマブルコントローラ)100、1または複数のHMI装置4およびサポート装置200をネットワーク接続する。
PLC100は、「制御装置」の一実施例である。PLC100は、一種のコンピュータであり、製造装置や製造設備などの各デバイス300に応じて設計された制御対象の機器を制御するための制御プログラム111などのユーザプログラムを実行する。
制御プログラム111は、変数プログラムに対応し、典型的には、シーケンスプログラムを含み得る。シーケンスプログラムは、例えば国際電気標準会議(International Electrotechnical Commission:IEC)によって規定された国際規格IEC6 1131-3に従って記述された1または複数の命令からなる、いわゆるIECプログラムを包含する。シーケンスプログラムには、シーケンス命令および/またはモーション命令を含む各種命令を含み得る。なお、シーケンスプログラムとしては、国際規格IEC61131-3に従って記述された命令に限らず、PLCの製造メーカまたはベンダなどが独自に規定した命令を含むようにしてもよい。本実施の形態では、制御プログラム111は、IECプログラムと称する場合がある。
また、HMI装置4も、一種のコンピュータであり、ユーザプログラムであるHMIプログラム112を実行する。このような制御プログラム111およびHMIプログラム112は、プログラム開発環境を提供するサポート装置200において、サポートプログラム700が実行されることにより開発される。
サポート装置200は、例えば汎用のコンピュータであり、システム1の各種プログラムを統合して開発する環境を提供するとともに、開発された各種プログラムをHMI装置4およびPLC100に対して転送する。デバイス300は、制御対象となる図示しないFAに設けられるフィールド機器をネットワーク接続する。制御対象は、例えばセンサ、アクチュエータなどを含み得る。
サポート装置200は、制御プログラム111または制御プログラム111が用いる変数を処理するHMIプログラム112と、サポート装置200に対するユーザ操作内容が示す指示に従い編集する。サポート装置200は、制御プログラム111またはHMIプログラム112の編集がなされた場合に、制御プログラム111およびHMIプログラム112を、それぞれ、PLC100とHMI装置4に同時に転送するよう転送処理を実施する。
このように、サポート装置200では、HMIプログラム112と制御プログラム111の開発環境が統合されている。本実施の形態の背景として、HMIプログラム112は、実行されることにより、制御プログラム111が用いる変数を処理する。このように両プログラムは相互に関連している。具体例として、プログラムの開発環境においては、例えばHMIプログラム112のUI部品を用いる画面構成を更新した場合、PLC側も画面に対応する新規プログラムおよび変数を追加するケースがある。このように、HMIプログラム112と制御プログラム111とは互いに関連するから、HMIプログラム112または制御プログラム111の編集がなされた場合は、HMIプログラム112および制御プログラム111の両プログラムを、それぞれ、HMI装置4およびPLC100に転送したいとの要望がある。サポート装置200では、プログラムの編集がなされた場合に、HMIプログラム112と制御プログラム111の転送を同時に行うことで当該要望に応える。これにより、サポート装置200に対象装置(HMI装置4またはPLC100)をつなぎなおして(または、開発環境上でユーザが選択しなおして)転送処理を実施する必要はなく、転送にかかる手間と時間を省くことができる。
上記に述べた転送処理に際しては、編集された制御プログラム111またはHMIプログラム112の各プログラムを、対象装置で実行されている当該プログラムと比較し、比較の結果から、編集された各プログラムが実行されている当該プログラムから変更されたかを判定する比較/判定を実施する。転送処理では、編集された制御プログラム111またはHMIプログラム112の各プログラムのうち、比較/判定により変更の判定がなされた一方または両方のプログラムを転送する処理が実施される。これにより、編集により対象装置で実行中のプログラムから何らかの変更がなされたプログラムのみを、転送処理の対象とすることができる。
上記に述べた比較/判定におけるプログラムどうしの比較の基準は、例えばファイル名、作成(編集)日付、プログラムコード(例えばオブジェクトコード)のサイズ、およびプログラムコードから算出されるハッシュ値などを含み、比較の基準として、これら基準のうちの1つ、または複数の組合せを用いることができる。
システム1では、サポート装置200とPLC100の間は、例えばUSB(Universal Serial Bus)に従う伝送路が採用される。PLC100とデバイス300の伝送路は、例えばTSN(Time-sensitive networking)規格に従いデータの到達時間が保証されるバスまたはネットワークを採用することが好ましい。例えばマシンコントロール用ネットワークの一例であるEtherCAT(登録商標)が採用され得る。
サポート装置200において開発されるユーザプログラムは、サポート装置200からPLC100またはHMI装置4に転送されてPLC100またはHMI装置4のプロセッサにより実行される。
制御プログラム111による変数を用いた制御演算は、デバイス300がフィールド機器から収集した状態値などのデータまたは生成したデータの処理、デバイス300に対する制御指令などのデータを生成する処理(演算処理)、生成した出力データを対象のデバイス300へ送信する処理(出力処理)などを含む。
HMIプログラム112により実施されるHMI処理は、制御プログラム111が用いる変数の値の処理を含む。このような変数の値の処理は、例えば、制御演算に用いられる変数が示す値を収集する、収集情報を画面で出力する、および画面などを介しユーザ操作を受付ける処理などを含む。収集される変数の値は、制御対象の状態値(例えば、センサの検出による出力値、例えばモータの回転数、回転方向、回転角度など)などを含む。また、ユーザ操作は、例えば各種機器への制御指令、制御のための設定値などを変数に設定するための操作を含む。
以下、本発明のより具体的な応用例として、本実施の形態にかかるサポート装置200がサポートプログラム700を実行することで提供するプログラムの開発環境を詳細に説明する。
<B.PLC100のハードウェア構成例>
図2は、本発明の実施の形態にかかるPLC100のハードウェア構成の一例を模式的に示す図である。図2を参照して、PLC100は、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)などのプロセッサ102と、チップセット104と、メインメモリ106と、フラッシュメモリ108と、外部ネットワークコントローラ116と、メモリカードインターフェイス118と、内部バスコントローラ122と、フィールドバスコントローラ124とを含む。
フラッシュメモリ108には、システムプログラム110およびユーザプログラムが格納される。システムプログラム110は、データの入出力処理や実行タイミング制御などの、PLC100の基本的な機能を提供するための命令コードを含む。
ユーザプログラムは、制御プログラム111と、制御プログラム111で呼出される関数などが格納されるライブラリを含む。
プロセッサ102は、フラッシュメモリ108に格納されたシステムプログラム110およびユーザプログラムを読み出して、メインメモリ106に展開して実行することで、デバイス300またはフィールド機器などの制御対象に対する制御処理を実現する。
チップセット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は、外部ネットワークコントローラ116またはメモリカードインターフェイス118を介してサポート装置200とデータを遣り取りする。また、PLC100は、外部ネットワークコントローラ116を介してHMI装置4とデータを遣り取りする。
PLC100がプログラムを実行することで提供される機能の一部または全部を専用のハードウェア回路として実装してもよい。
<C.サポート装置200のハードウェア構成例>
次に、サポート装置200のハードウェア構成例について説明する。図3は、本発明の実施の形態にかかるサポート装置200のハードウェア構成の一例を模式的に示す図である。図3を参照して、サポート装置200は、据え置き型でもよく、またはPLC100が配置される製造現場では可搬性に優れたノート型のパーソナルコンピュータの形態で提供されてもよい。
サポート装置200は、OS(Operating System)を含む各種プログラムを実行するCPU202と、BIOSや各種データを格納するROM(Read Only Memory)204と、CPU202でのプログラムの実行に必要なデータを格納するための作業領域を提供するメモリRAM(Random Access Memory)206と、CPU202で実行されるサポートプログラム700などを含む各種プログラムを不揮発的に格納するHDD(ハードディスク)208とを含む。サポートプログラム700は、実行されることにより、サポート装置200におけるユーザプログラムのプログラム開発環境を実現するとともに、ユーザプログラムの開発を支援する機能を提供する。
サポート装置200は、さらに、サポート装置200に対するユーザの操作を受付けるキーボード210およびマウス212を含む入力部211と、情報をユーザに提示するためのディスプレイ214とを含む。サポート装置200は、PLC100およびHMI装置4を含む外部装置と通信するための通信インターフェイス218を含む。入力部211は、ディスプレイ214と一体的に構成されるタッチパネルとして提供されてもよい。サポート装置200の各部は内部バス220により相互に通信する。
サポート装置200は、記録媒体250が脱着自在に装着されて、装着された記録媒体250からそこに格納されているサポートプログラム700を読み取るための記録媒体読取装置217を含む。読み取られたサポートプログラム700は、HDD208に格納される。サポートプログラム700は、プログラム開発環境を実現するプログラムを含み得る。記録媒体250は、サポート装置200で実行されるサポートプログラム700などが格納された状態で流通し得る。なお、記録媒体250は、CF(Compact Flash)、SD(Secure Digital)などの汎用的な半導体記憶デバイスや、フレキシブルディスク(Flexible Disk)などの磁気記憶媒体や、CD-ROM(Compact Disk Read Only Memory)などの光学記憶媒体などからなる。
<D.HMI装置4のハードウェア構成例>
図4は、本発明の実施の形態にかかるHMI装置4のハードウェア構成の一例を模式的に示す図である。HMI装置4は、据え置き型でもよく、またはPLC100が配置される製造現場では可搬性に優れたノート型のパーソナルコンピュータの形態で提供されてもよい。
図4を参照して、HMI装置4は、CPU411、ROM(Read Only Memory)412、RAM(Random Access Memory)413、各種のプログラムおよびデータを不揮発的に格納するためのフラッシュROM414、ユーザの操作を受付けるための操作キー416、データリーダ/ライタ417、タッチスクリーン418および通信インターフェイス419を備える。なお、これらの各部は、内部バスを介して互いに接続される。
フラッシュROM414は、例えば、HMIプログラム112と、HMIプログラム112を構成する1または複数のUI部品501を含むライブラリ113を格納する。HMIプログラム112およびUI部品501は、HMI装置4で実行可能なコードからなる。「UI部品」は、HMIプログラム112を構成する画像データ、テキストデータ、プログラムコードなどを含む。HMIプログラム112が実行されて画面が表示されるとき、UI部品によって、絵、文字列などが表示されるとともに、プログラムコードが実行されることによる機能が提供される。提供される機能は、制御プログラム111が用いる変数の値に基く画像表示、当該変数に値を設定するユーザ操作受付などを含み得る。
タッチスクリーン418は、表示部として機能するディスプレイ481、ユーザの入力を受付けるためのタッチパネル482を含む。通信インターフェイス419は、PLC100およびHMI装置4を含む外部装置と通信する。
データリーダ/ライタ417は、CPU411と外部記憶媒体の一例であるメモリカード420との間のデータ伝送を仲介する。また、HMI装置4には、必要に応じてプリンタなどの他の出力装置が接続されてもよい。
<E.HMIプログラムの利用態様の例示>
図5は、本発明の実施の形態にかかるHMIプログラム112の利用態様を模式的に示す図である。HMI装置4は、サポート装置200により作成されたHMIプログラム112を実行することにより、HMIプログラム112の各ページを実行してディスプレイ481に画面を表示する。画面を表示するときに当該画面を構成するUI部品のプログラムコードが実行されることで、HMI装置4は、ネットワークを介して制御プログラム111が用いる変数の値の要求を送信する。HMI装置4は、PLC100から要求した変数の値を応答として受信し、受信した値を、画面のUI部品に関連付けて表示する。これにより、オペレータ(ユーザ)は、制御対象の状態値をモニタすることができる。
また、オペレータが画面のUI部品を操作して値を入力した場合、UIプログラムのコードが実行されることで、HMI装置4は、ネットワークを介して制御プログラム111が用いる変数への入力値(例えば、閾値、目標値など)の設定要求を送信する。PLC100は設定要求された値を変数に設定し、設定後の値を用いて制御プログラム111を実行する。これにより、オペレータは、制御対象を制御するための値をHMI画面を操作して指定することができる。
<F.プログラムの開発環境>
図6は、本発明の実施の形態にかかるサポート装置200におけるプログラムの開発環境42の一例を概略的に示す図である。図6を参照して、開発環境42は、UI部品501および各種関数などのデータを有したライブラリ213および開発ツール221を備える。開発ツール221は、HMIエディタ10A、IECエディタ10B、HMIコンパイラ10CおよびIECコンパイラ10Dを含む。
HMIエディタ10Aは、入力部211からのユーザ操作に従いHMIプログラム112およびライブラリ213のUI部品501を作成(編集)することにより、HMIプログラム112を構成するための情報であるHMIプロジェクト225を生成する。同様に、IECエディタ10Bは、入力部211からのユーザ操作に従い制御プログラム111、ライブラリ213の制御プログラムのための各種関を作成(編集)することにより、制御プログラム111(IECプログラム)を構成するための情報であるIECプロジェクト222を生成する。
HMIプロジェクト225はHMIプログラム112、HMIプログラム112を構成するUI部品501が用いる変数の定義(変数名、データ型、当該変数が用いられる機器の識別子など)を示すHMI変数定義228、およびHMI-IEC変数マップ226などを含む。IECプロジェクト222はIECプログラムである制御プログラム111、および制御プログラム111および制御プログラム111中で呼出される関数などが用いる変数の定義(変数名、データ型、当該変数が用いられる機器の識別子など)を示すIEC変数定義227などを含む。HMI-IEC変数マップ226には、HMI変数定義228で定義される各HMI変数のうち、IEC変数定義227で定義されるIEC変数と対応付けされる各HMI変数が、当該IEC変数と紐付けされた組として登録されている。
コンパイラが起動されると、プロジェクトはコンパイルされる。具体的には、HMIコンパイラ10Cは、HMIプロジェクト225をコンパイルし、実行可能なコードに変換されたHMIオブジェクト229を出力する。IECコンパイラ10Dは、IECプロジェクト222をコンパイルし、実行可能なコードに変換されたIECオブジェクト230を出力する。本実施の形態では、実行可能なコードは、例えばバイナリコードを含む。
サポート装置200は、HMIオブジェクト229をHMI装置4に転送し、また、IECオブジェクト230をPLC100に転送する。
HMI装置4では、サポート装置200から受信するHMIプログラム112(HMIオブジェクト229)に、ライブラリ113の実行可能なコードであるUI部品501をリンクさせることにより、HMI装置4で実行可能なHMIモジュール229-1を生成する。また、PLC100でも、サポート装置200から受信する制御プログラム111(IECオブジェクト230)に、ライブラリ113の実行可能コードである各種関数をリンクさせることにより、PLC100で実行可能なIECモジュール230-1を生成する。PLC100で制御プログラム111(IECモジュール230-1)が実行されることで対象機器の制御がなされ、HMI装置4ではHMIプログラム112(HMIモジュール229-1)が実行される。このとき、HMI装置4でHMIプログラム112の各ページの画面が表示されるごとに、当該ページを構成するUI部品が用いる変数の値がPLC100に要求され、その応答としてPLC100から受信した値は各当該ページの画面のUI部品として表示される(図5参照)。
<G.転送マネージャによる転送の構成>
図7は、本発明の実施の形態にかかる転送マネージャ231による転送処理の一例を模式的に説明する図である。図7を参照して、開発環境42は、図6の構成に加えて「転送管理手段」の一実施例である転送マネージャ231、HMIオブジェクト229を通信インターフェイス419を介しHMI装置4に転送するHMI転送部232、およびIECオブジェクト230を通信インターフェイス419を介しPLC100に転送するコントローラ転送部233を備える。転送マネージャ231は、後述する比較/判定部235および通知部236を有する。
図8は、本発明の実施の形態にかかる転送マネージャ231が参照する転送順番テーブル234の一例を模式的に示す図である。図8を参照して、転送順番テーブル234は、転送順番に従い登録される機器の情報(PLC100またはHMI装置4の識別子)と、各機器の情報に対応した転送機能が登録される。転送機能は、対応の機器がPLC100であればコントローラ転送部233が登録されて、HMI装置4であればHMI転送部232が登録される。
転送マネージャ231は、HMI装置4に接続される機器のうちから、HMIオブジェクト229およびIECオブジェクト230の転送先となる機器(HMI装置4、PLC100)を抽出する。転送マネージャ231は、抽出した機器ごとに、当該機器にプログラムを転送する順番を決定し、決定した順番に従い当該機器の識別子を転送順番テーブル234に格納する。
具体的には、転送マネージャ231は、転送対象のプロジェクト(HMIプロジェクト229、IECプロジェクト230)のコードを走査して、当該プロジェクトを実行する機器の識別子を抽出する。この機器の識別子は、例えば、HMI変数定義228またはIEC変数定義227を走査することにより抽出される。
一般的には、HMI装置4はPLC100に依存して動作するので、転送マネージャ231は、抽出した機器の識別子を登録する場合に、PLC100→HMI装置4の順番に転送が実施されるよう、転送順番テーブル234に機器の識別子を登録する。さらに、転送マネージャ231は転送順番テーブル234に登録される各機器の識別子に対応して、当該機器の種類(PLC100またはHMI装置4)に応じた転送機能(HMI転送部232またはコントローラ転送部233の識別子)を登録する。
なお、転送順番テーブル234に登録される接続機器の情報(識別子)は、接続機器(HMI装置4またはPLC100)のネットワークアドレスなどを含む。HMI転送部232およびコントローラ転送部233は、それぞれ、転送マネージャ231から出力される接続機器の情報が示すネットワークアドレスを宛先にして、HMIオブジェクト229およびIECオブジェクト230を宛先の機器に送信する。
転送マネージャ231は、転送対象機器からの「転送完了」レスポンスを、HMI転送部232またはコントローラ転送部233を介して受信する。
(G1.変更に基づく転送対象データの決定)
転送マネージャ231は、HMI装置4およびPLC100への転送対象データを決定する。具体的には、転送マネージャ231の比較/判定部235は、IECエディタ10Bにより編集された制御プログラム111またはHMIエディタ10Aにより編集されたHMIプログラム112の各プログラムを、対象装置であるPLC100またはHMI装置4で実行されている当該プログラムと比較する。この場合、比較/判定部235は、PLC100またはHMI装置4から実行中のIECプログラムまたはHMIプログラムを受信する。比較/判定部235は、比較の結果から、編集された各プログラムが対象装置で実行されている当該プログラムから変更されたかを判定する。
このプログラムどうしの比較の基準は、限定されないが、例えばファイル名、作成(編集)日付、プログラムコード(例えばオブジェクトコード)のサイズ、およびプログラムコードから算出されるハッシュ値などを含む。比較の基準として、これら基準のうちの1つ、または複数の組合せを用いることができる。
転送マネージャ231は、編集がなされた制御プログラム111またはHMIプログラム112の各プログラムのうち、比較/判定部235により変更されたとの判定がなされた一方または両方を、転送順番テーブル234に従い、HMI転送部232またはコントローラ転送部233を介して転送処理を実施する。
通知部236は、比較/判定部235の判定結果に基づく情報、例えば変更の判定がなされたプログラムの情報および転送オプションなどをディスプレイ214に表示させる。例えば、判定結果が、制御プログラム111およびHMIプログラム112の両方が変更されていることを示す場合、通知部236は、制御プログラム111およびHMIプログラム112を同時転送する旨のオプションを提示し、制御プログラム111のみが変更されていることを示す場合、制御プログラム111のみを転送する旨のオプションを提示し、HMIプログラム112のみが変更されていることを示す場合、HMIプログラム112のみを転送する旨のオプションを提示し、制御プログラム111およびHMIプログラム112の両方とも変更されていないことを示す場合、両プログラムを転送しない、即ち転送とりやめの旨のオプションを提示する。
ユーザは、入力部211を操作して、提示されたオプションのうちから選択する。転送マネージャ231は、入力部211を介して受付けるユーザ操作内容が示す選択されたオプションを含むプログラムの転送依頼に従い、HMI転送部232またはコントローラ転送部233を制御し、転送処理を実施する。
(G2.変数の相違によるプログラム転送)
上記に述べた処理では、プログラムどうしの比較は、ファイル名、作成日付、サイズ、ハッシュ値などの基準による比較であったが、比較の基準はプログラム中で用いられる変数であってもよい。
図9は、本発明の実施の形態にかかる開発環境42の他の構成例を模式的に示す図である。図9の開発環境42は、図7の構成に追加して変数チェッカ237を備えるが、他の構成は図7に示すものと同様なので説明は繰り返さない。図10は、本発明の実施の形態にかかる変数チェッカ237による処理の一例を模式的に示す図である。変数チェッカ237は、制御プログラム111とHMIプログラム112との間においてプログラムが用いる変数を比較する。比較/判定部235は、変数チェッカ237の出力に基づき、編集された各プログラムは対象装置で実行されている当該プログラムから変更されたか否かを判定する。
本実施の形態では、HMIプログラム112は、主に、変数と、当該変数を用いたUI部品501の呼び出しを含むHMI処理のプログラムコードとを含む。また、制御プログラム111は変数と、当該変数を用いた制御演算などのプログラムコードとを含む。このような変数は、異なるプログラム間でデータを遣り取りするために共通に用いられるグローバル変数と、各プログラム内でのみ扱われるローカル変数とを含む。プログラムが変更されたか否かの判定は、変数の相違または処理内容を示すプログラムコードの相違に基づき実施される。本実施の形態にかかる変数チェッカ237は、グローバル変数の相違を検出する。
図10を参照して、変数チェッカ237による変数チェック処理の具体例を説明する。変数チェック処理では、まず、変数チェッカ237はHMIプロジェクト225のHMI変数定義228が示すHMI変数一覧を、HMI装置4で実行されているHMIプログラム112が用いるHMI変数一覧(HMIモジュール229-1が有するHMI変数定義が有する変数一覧)と比較し、比較の結果から、今回の編集によりHMI変数定義228に追加された変数を示すHMI追加変数一覧238を生成する。また、変数チェッカ237は、IECプロジェクト222のIEC変数定義227が示すIEC変数一覧を、PLC100で実行されている制御プログラム111が用いるIEC変数一覧(IEC230-1が有するIEC変数定義が有する変数一覧)と比較し、比較の結果から、今回の編集によりIEC変数定義227に追加された変数を示すIEC追加変数一覧239を生成する。
変数チェッカ237は、さらに、HMI追加変数一覧238の変数に基づき、HMI-IEC変数マップ226を検索することにより、編集によって追加されたHMI変数のうちHMI-IEC変数マップ226に登録されているHMI変数を抽出する。変数チェッカ237は、このように抽出されたHMI変数から追加IEC参照変数一覧241を作成し、追加IEC参照変数一覧241をIEC追加変数一覧239と比較する。変数チェッカ237は、当該比較の結果を出力する。
転送マネージャ231は、変数チェッカ237からの比較結果が、追加IEC参照変数一覧241とIEC追加変数一覧239の変数の一致を示す場合は、HMIコンパイラ10CおよびIECコンパイラ10Dを起動させ、HMIオブジェクト229およびIECオブジェクト230を生成させ、その後、転送順番テーブル234に従う順番で当該オブジェクトが転送されるよう、コントローラ転送部233とHMI転送部232を制御する。
このように、変数チェッカ237が、制御プログラム111に追加された変数が、HMIプログラム112でも変数として追加されていることを判定した場合は、転送マネージャ231は、コンパイラを起動させて、編集後のプロジェクトに基づくHMIオブジェクト229およびIECオブジェクト230の両方を転送させることができる。
この場合に、転送順番テーブル234に従い転送がなされることで、PLC100へのIECオブジェクト230の転送が完了してから(PLC100からの転送完了のレスポンスを受信してから)HMIオブジェクト229のHMI装置4への転送を開始することができる。
(G3.プログラムコード(ロジック)変更の通知)
上記に述べた実施の形態では、変数チェッカ237により変数の変更が検出される場合にプログラムの転送が実施されるとしたが、変数の変更が検出されないケースにおけるプログラム転送を説明する。
このケースでは、変数チェッカ237により変数の変更は検出されないが、処理内容(ロジック)を示すプログラムコードの変更がある場合は、転送マネージャ231は、プログラムの転送を実施するとともに、予め定められた通知をHMI装置4に送信しディスプレイ481に出力させる。
具体的には、例えば制御プログラム111を編集する場合、プログラムで用いられる変数の変更がなくても、プログラムコードが変更されることでロジック(制御演算ロジック)に変更がなされるケースがある。このケースにおいて、HMIプログラム112が用いる変数が当該演算ロジックの実行結果の値を示すとすれば、UI部品501による当該変数の値に基くモニタ動作(例えば、画像の表示態様など)が変化する。このような背景のもと、転送マネージャ231は、変数チェッカ237の出力から変数の変更は検出されず、且つ比較/判定部235により制御プログラム111のプログラムコードの変更が検出された場合は、PLC100へのプログラム転送と、予め定められたメッセージの出力指令をHMI装置4に送信する。予め定められたメッセージは、例えば“制御プログラムのロジックに変更あったのでHMI画面でのモニタ動作に影響が発生する可能性がある”旨のメッセージを含む。
比較/判定部235による制御プログラム111のプログラムコードの変更の検出は、制御プログラム111のプログラムコードどうしの照合、プログラムコードのチェックサムの照合、上記に述べたハッシュ値の照合などの照合結果に基く検出を含む。
HMI装置4は、メッセージの出力指令を受信すると、ディスプレイ481にメッセージを出力させる。HMI画面において当該メッセージが出力されることにより、オペレータに対し、転送後の制御プログラム111がPLC100で起動した場合の必要な機能チェックをHMI画面で実施すべきである旨のアドバイスを与えることが可能となる。
この場合、転送マネージャ231はメッセージの出力指令の送信対象のHMI装置4を、例えば次のように決定する。つまり、転送マネージャ231は、ネットワーク接続される各HMI装置4で保持される対象のPLC100の識別子を収集し、収集した各識別子をIECオブジェクト230が保持する転送先のPLC100の識別子と照合する。照合結果、IECオブジェクト230が保持するPLC100の識別子と一致した識別子を有したHMI装置4をメッセージ出力指令の送信対象と決定する。
<H.サポートプログラムによる処理>
図11~図13のフローチャートに従い、サポートプログラム700の処理を説明する。
(H1.転送順番テーブルに基づく転送)
図11は、本発明の実施の形態にかかる転送順番テーブル234に従う転送処理の一例を示すフローチャートである。HMIエディタ10AまたはIECエディタ10BがHMIプログラム112または制御プログラム111を作成(編集)するとき、CPU202は、転送マネージャ231を起動する。
図11を参照して、転送マネージャ231は、HMI装置4に接続される機器のうちから、HMIオブジェクト229およびIECオブジェクト230の転送先となる機器(HMI装置4、PLC100)の識別子を、HMIプロジェクト229とIECプロジェクト230を走査することにより抽出し(ステップS1)、抽出した識別子を用いて、転送順番テーブル234に情報を登録する(ステップS3)。
転送マネージャ231は、入力部211を介してユーザからオブジェクト転送を選択する操作を受付けると(ステップS5)、サポート装置200に接続される機器のうちから、転送順番テーブル234が指定する転送先機器に、転送順番テーブル234が指定する順番に従いHMIオブジェクト229またはIECオブジェクト230を転送する(ステップS7~S11)。
ここで、転送マネージャ231は、転送順番テーブル234の先頭から順に検索して転送先機器の識別子を読出す。転送マネージャ231は、読出された転送先機器の識別子が「空」を示すか否かが判定する(ステップS9)。読出された転送先機器が「空」でないと判定すると(ステップS9でNO)、転送マネージャ231は、転送先機器の識別子に、紐付けされた転送部(HMI転送部232またはコントローラ転送部233)を介して、当該識別子の機器宛にオブジェクトを転送させる(ステップS11)。その後、ステップS7に戻り、以降の処理を繰返す。一方、転送マネージャ231は、読出された転送先機器の識別子は「空」を示すと判定すると(ステップS9でNO)、一連の転送処理は終了する。
これにより、制御プログラム111またはHMIプログラム112の編集が実施されると、転送マネージャ231が起動されて、転送マネージャ231は、IECオブジェクト230(制御プログラム111)を、コントローラ転送部233を介してPLC100に転送し、同時に、HMIオブジェクト229(HMIプログラム112)をHMI転送部232を介してHMI装置4に転送する。
(H2.ユーザ操作の転送依頼に基づく転送)
図12は、本発明の実施の形態にかかるユーザ操作に基づく転送処理の一例を示すフローチャートである。図12を参照して、転送マネージャ231は、起動されると、ユーザからデータ転送を選択する操作を受付ける(ステップS21)。比較/判定部235は、IECエディタ10Bにより編集された制御プログラム111またはHMIエディタ10Aにより編集されたHMIプログラム112の各プログラムを、対象装置であるPLC100またはHMI装置4で実行されている当該プログラムと比較する。この場合、比較/判定部235は、例えばオブジェクトどうしで比較を実施する(ステップS23)。
転送マネージャ231の通知部236は、比較/判定部235による比較に基づく判定の結果に基づくメッセージを、ディスプレイ214に表示させ(ステップS25)、また転送オプションをディスプレイ214に表示させる(ステップS27)。
転送マネージャ231は、入力部211を介したユーザ操作内容、すなわちユーザが選択した転送オプションが示す転送依頼に従い、HMI転送部232またはコントローラ転送部233を制御し、転送処理を実施する(ステップS29~S43)。
転送依頼がPLC100とHMI装置4の両方へ制御プログラム111とHMIプログラム112の同時転送を示すか否かを判断する(ステップS29)。同時転送を示すと判断すると(ステップS29でYES)、転送マネージャ231は、転送順番テーブル234に従い、コントローラ転送部233を呼出し(起動し)、コントローラ転送部233はIECオブジェクト230を転送する(ステップS41)。転送マネージャ231は、転送先のPLC100から転送完了のレスポンスを受信すると、転送順番テーブル234に従い、HMI転送部232を呼出し(起動し)、HMI転送部232はHMIオブジェクト229を転送する(ステップS43)。転送マネージャ231は、転送先のHMI装置4から転送完了のレスポンスを受信すると、処理は終了する。
転送マネージャ231は、同時転送を示すと判断しないと(ステップS29でNO)、転送マネージャ231は転送依頼がPLC100のみへの制御プログラム111の転送を示すかを判断する(ステップS31)。PLC100のみへの転送を示すと判断すると(ステップS31でYES)、転送マネージャ231は、転送順番テーブル234に従い、コントローラ転送部233を呼出し(起動し)、コントローラ転送部233はIECオブジェクト230を転送する(ステップS37)。転送マネージャ231は、転送先のPLC100から転送完了のレスポンスを受信すると、処理は終了する。
PLC100のみへの転送を示すと判断しないと(ステップS31でNO)、転送マネージャ231は転送依頼がHMI装置4のみへのHMIプログラム112の転送を示すかを判断する(ステップS33)。HMI装置4のみへの転送を示すと判断すると(ステップS33でYES)、転送マネージャ231は、転送順番テーブル234に従い、HMI転送部232を呼出し(起動し)、HMI転送部232はHMIオブジェクト229を転送する(ステップS39)。転送マネージャ231は、転送先のHMI装置4から転送完了のレスポンスを受信すると、処理は終了する。
さらに、HMI装置4のみへの転送を示すと判断しないと(ステップS33でNO)、転送マネージャ231は、転送処理の実施を取りやめ(ステップS35)、処理は終了する。
(H3.変数の変更に基づく転送)
図13は、本発明の実施の形態にかかる変数の変更に基づく転送処理の一例を示すフローチャートである。図13の処理では、HMIエディタ10AによりHMIプログラム112の編集として、HMIプログラム112を構成するUI部品501が用いる変数が変更されて、当該変数は、制御プログラム111の編集により新規に追加された変数であるケースを例に説明する。
まず、IECエディタ10Bは、入力部211を介して受付けるユーザ操作に従い、制御プログラム111を作成(編集)する(ステップS51)。この制御プログラム111の編集により新規変数が追加される。このような新規変数の変更においては、IECエディタ10Bは、IEC変数定義227を、新規変数の定義を追加するよう編集(変更)する。
また、HMIエディタ10Aは、入力部211を介して受付けるユーザ操作に従い、HMIプログラム112を構成するUI部品501が用いる変数を当該新規変数に変更する。このような変数の変更においては、HMIエディタ10Aは、HMI変数定義228およびHMI-IEC変数マップ226を、変更後の新規変数を定義するように編集(変更など)する(ステップS53)。
ステップS51およびステップS53の編集処理により、編集後のHMIプロジェクト225および編集後のIECプロジェクト222が作成される。
転送マネージャ231は、入力部211を介して転送選択のユーザ操作を受付けると(ステップS55)、転送マネージャ231は、HMIコンパイラ10CとIECコンパイラ10Dを起動する。HMIコンパイラ10Cは編集後のHMIプロジェクト225をコンパイルしHMIオブジェクト229を生成する。また、IECコンパイラ10Dは編集後の制御プログラム111をコンパイルしIECオブジェクト230を生成する(ステップS57)。
転送マネージャ231は、変数チェッカ237を起動し、変数チェッカ237からの出力に基づき、HMIプログラム112と制御プログラム111で変更された変数が一致するかを判断する(ステップS61)。すなわち、転送マネージャ231は、制御プログラム111で追加された新規変数が、HMIプログラム112を構成するUI部品で新規に用いられているかを判断する。
転送マネージャ231は、HMIプログラム112と制御プログラム111で変更された変数が一致すると判断しない場合(ステップS61でNO)、転送マネージャ231は通常転送を実施する(ステップS69)。すなわち、転送マネージャ231は、HMI転送部232およびコントローラ転送部233を起動し、ネットワーク接続される装置のうちからユーザが予め選択したPLC100およびHMI装置4に、それぞれ、IECオブジェクト230およびHMIオブジェクト229を転送する。転送マネージャ231は、両装置から転送完了レスポンスを受信すると、後述するステップS79の起動処理を実施する。
ステップS61に戻り、転送マネージャ231は、HMIプログラム112と制御プログラム111で変更された変数が一致すると判断すると(ステップS61でYES)、転送マネージャ231は通知部236を起動する(ステップS63)。
通知部236は、起動されると、転送マネージャ231からの指示に従い、ディスプレイ214に、制御プログラム111およびHMIプログラム112を同時に転送する旨のオプションの通知を表示させる(ステップS65)。
転送マネージャ231は、入力部211を介し受付けるユーザ操作に基づき、ユーザは同時転送のオプションを選択したか否かを判断する(ステップS67)。転送マネージャ231は、同時転送のオプションが選択されないと判断すると(ステップS67でNO)、ステップS69の処理に移行する。一方、転送マネージャ231は、同時転送のオプションが選択されたと判断すると(ステップS67でYES)、ステップS71以降の転送処理を実施する。
具体的には、転送マネージャ231は、転送順番テーブル234の転送順番データに従い、IECオブジェクト230およびHMIオブジェクト229を、対応の転送機能(コントローラ転送部233またはHMI転送部232)を用いて、機器(PLC100またはHMI装置4)に転送する。まず、転送マネージャ231は、コントローラ転送部233を起動し(ステップS71)、起動されたコントローラ転送部233は、転送順番データに従い順に各PLC100に、IECオブジェクト230を転送する。
転送マネージャ231は、コントローラ転送部233を介して各PLC100から転送完了のレスポンスを受信すると(ステップS73)、転送マネージャ231は、HMI転送部232を起動し(ステップS75)、起動されたコントローラ転送部233は、転送順番データに従い順に各HMI装置4に、HMIオブジェクト229を転送する。
転送マネージャ231は、HMI転送部232を介して各HMI装置4から転送完了のレスポンスを受信すると(ステップS77)、起動指示251を送信する(ステップS79)。起動指示251は、HMIオブジェクト229の転送先である各HMI装置4およびIECオブジェクト230の転送先である各PLC100宛に送信される。
<I.起動処理>
起動指示251に従い実施される起動処理の一例を説明する。図14は、本発明の実施の形態にかかる起動処理の一例を模式的に説明する図である。図14には、PLC100のフラッシュメモリ108とHMI装置4のフラッシュROM414の記憶内容に関連付けて起動処理が示されている。
例えば、PLC100のフラッシュメモリ108は領域E1とE2を含み、領域E1にはPLC100で現在実行中の実行モジュールが格納され、領域E2にはサポート装置200から転送されたIECオブジェクト230であるオブジェクトが格納される。PLC100のプロセッサ102は、サポート装置200から受信するIECオブジェクト230を領域E2に格納完了したとき、上記の転送完了のレスポンスを送信する。レスポンスを送信後に、サポート装置200から起動指示251を受信すると、プロセッサ102は、領域E2のオブジェクトを走査してチェックし(必要な誤り訂正を行ない)、当該オブジェクトに図示しないライブラリの各種関数のオブジェクトなどをリンクさせることにより、実行可能なオブジェクトコードである実行モジュールを生成する。実行モジュールは、領域E1にコピー(上書き)される。その後は、PLC100では、領域E1にコピーされたオブジェクトによる実行モジュールが実行される。
同様に、各HMI装置4においても、CPU411は、サポート装置200から受信するHMIオブジェクト229をフラッシュROM414の領域E2に格納完了すると、転送完了のレスポンスを送信する。レスポンスを送信後に、サポート装置200から起動指示251を受信すると、CPU411は、領域E2のオブジェクトを走査してチェックし(必要な誤り訂正を行ない)、当該オブジェクトにライブラリ113のUI部品501のオブジェクトなどをリンクさせることにより、実行可能なオブジェクトコードである実行モジュールを生成し、生成された実行モジュールを領域E1にコピー(上書き)する。その後は、HMI装置4では、領域E1にコピーされた新規のHMIオブジェクト229による実行モジュールが実行される。
上記に述べた起動指示251は、転送されるオブジェクト(IECオブジェクト230およびHMIオブジェクト229)とともに、各PLC100および各HMI装置4に送信されてもよい。起動指示251は、起動処理の実施を開始する時間を計時するための情報を含み得る。この時間は相対的時間または絶対的時間であり得る。相対的時間は、例えば、転送完了のレスポンスを送信してからの予め定められた長さの経過時間を含む。また、絶対的時間は、例えば各PLC100および各HMI装置4のタイマが同期しているとして、タイマが計時する予め定められた時間(時/分/秒)などの時間を含む。
これにより、サポート装置200は、各PLC100および各HMI装置4から転送完了のレスポンスの受信を待つことなく起動指示251を送信して、同期したタイミングで各PLC100および各HMI装置4において起動処理を実施させることができる。
上記の実施の形態では、HMIプログラム112自体の編集を説明したが、HMIプログラム112を構成するプログラムであるUI部品の編集であってもよい。例えば、編集によりUI部品が用いる変数の個数が変更される、またはUI部品のプログラムコードが変更されるなどした場合は、UI部品がコンパイルされて、そのオブジェクトがHMI装置4に転送される。HMI装置4は、サポート装置200からの起動指示251をもとに、ライブラリ113のUI部品を、サポート装置200から受信したUI部品で書換える。
<J.プログラム>
本実施の形態に示した各フローチャートの処理を実行することによりプログラムの開発環境42を提供するサポートプログラム700は、サポート装置200の記憶部(ROM204、RAM206、HDD208、記録媒体250など)に格納されている。CPU202は、記憶部からサポートプログラムを読出し、実行することにより、本実施の形態で説明した開発環境42における各種処理を実現することが可能となる。
このようなサポートプログラム700は、サポート装置200に付属するフレキシブルディスク、CD-ROM(Compact Disk-Read Only Memory)、ROM、RAMおよび記録媒体250などのコンピュータ読取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、サポート装置200に内蔵するHDD208などの記録媒体にて記録させて、プログラムを提供することもできる。また、図示しないネットワークから通信インターフェイスを介したダウンロードによって、プログラムを提供することもできる。
<K.付記>
上述したような本実施の形態は、以下のような技術思想を含む。
[構成1]
FA(ファクトリオートメーション)に設けられる対象装置(4、100)で実行されるプログラムの開発を支援するサポート装置(200)であって、
前記対象装置は、前記FAの機器を制御する制御装置(100)とHMI(ヒューマンマシンインターフェイス)装置(4)とを含み、
前記プログラムを編集する編集手段(10A、10B)と、
編集された前記プログラムを前記対象装置へ転送するための転送処理を実施する転送管理手段(231)と、を備え、
前記プログラムは、
前記機器を制御するための制御プログラム(111)と、前記制御プログラムが用いる変数を処理するHMIプログラム(112)とを含み、
前記転送管理手段は、
前記編集手段により前記制御プログラムまたは前記HMIプログラムの編集がなされた場合に、前記制御プログラムおよび前記HMIプログラムを、それぞれ、前記制御装置と前記HMI装置に同時に転送するよう前記転送処理を実施する手段を含む、サポート装置。
[構成2]
前記編集手段により編集された前記制御プログラムまたは前記HMIプログラムの各プログラムを、前記対象装置で実行されている当該プログラムと比較し、比較の結果から、前記編集された各プログラムが前記実行されている当該プログラムから変更されたかを判定する手段(235)を、さらに備え、
前記転送管理手段は、さらに、
前記編集手段により編集された前記制御プログラムまたは前記HMIプログラムの各プログラムのうち、前記変更の判定がなされた一方または両方を転送するよう前記転送処理を実施する手段を含む、構成1に記載のサポート装置。
[構成3]
前記判定する手段による判定結果に基づく情報をディスプレイに表示させる通知手段(236)と、
前記サポート装置に対するユーザ操作を受付ける操作受付手段(211)と、をさらに備え、
前記転送管理手段は、
前記編集手段により編集された前記制御プログラムまたは前記HMIプログラムの各プログラムのうち、受付けるユーザ操作内容が示す一方または両方を転送するよう前記転送処理を実施する手段を含む、構成2に記載のサポート装置。
[構成4]
前記転送管理手段により前記制御プログラムまたは前記HMIプログラムの転送処理が実施されるとき、前記対象装置に、転送後の各プログラムを起動させるための起動指示(251)を送信する、構成1から3のいずれか1に記載のサポート装置。
[構成5]
前記起動指示は、転送後の各プログラムを起動させる時間の情報を含む、構成4に記載のサポート装置。
[構成6]
前記プログラムの転送が完了した旨の通知を前記対象装置から受信したときに、前記起動指示を前記対象装置に送信する、構成4に記載のサポート装置。
[構成7]
前記HMIプログラムの編集は、当該HMIプログラムを構成するプログラムであって前記変数を処理するUI(ユーザインターフェイス)部品(501)の編集を含み、
前記HMIプログラムの編集は、前記UI部品の編集を含む、構成1から6のいずれか1に記載のサポート装置。
[構成8]
前記制御プログラムは、変数と、前記変数を用いた処理内容を示すプログラムコードとを含み、
前記比較の結果が、前記変数の変更なしに前記プログラムコードの変更があることを示す場合、予め定められた通知を前記HMI装置のディスプレイ(481)に出力させる、構成1から7のいずれか1に記載のサポート装置。
[構成9]
FA(ファクトリオートメーション)に設けられる対象装置(100、4)で実行されるプログラムの開発を支援するサポートプログラム(700)であって、
前記対象装置は、前記FAに設けられる機器を制御する制御装置(100)とHMI(ヒューマンマシンインターフェイス)装置(4)とを含み、
前記サポートプログラムは、コンピュータ(200)に、
前記プログラムを編集するステップと、
編集された前記プログラムを前記対象装置へ転送するための転送処理を実施するステップと実行させ、
編集される前記プログラムは、
前記機器を制御するための制御プログラム(111)と、前記制御プログラムが用いる変数を処理するHMIプログラム(112)とを含み、
前記転送処理を実施するステップは、
前記制御プログラムまたは前記HMIプログラムの編集がなされた場合に、前記制御プログラムおよび前記HMIプログラムを、それぞれ、前記制御装置と前記HMI装置に同時に転送するよう前記転送処理を実施するステップを含む、サポートプログラム。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 システム、4 HMI装置、10A HMIエディタ、10B IECエディタ、42 開発環境、111 制御プログラム、112 HMIプログラム、113,213 ライブラリ、200 サポート装置、214,481 ディスプレイ、231 転送マネージャ、232 HMI転送部、233 コントローラ転送部、234 転送順番テーブル、235 比較/判定部、236 通知部、237 変数チェッカ、251 起動指示、501 UI部品、700 サポートプログラム、E1,E2 領域。

Claims (9)

  1. FA(ファクトリオートメーション)に設けられる対象装置で実行されるプログラムの開発を支援するサポート装置であって、
    前記対象装置は、前記FAの機器を制御する制御装置とHMI(ヒューマンマシンインターフェイス)装置とを含み、
    前記プログラムを編集する編集手段と、
    編集された前記プログラムを前記対象装置へ転送するための転送処理を実施する転送管理手段と、を備え、
    前記プログラムは、
    前記機器を制御するための制御プログラムと、前記制御プログラムが用いる変数を処理するHMIプログラムとを含み、
    前記転送管理手段は、
    前記編集手段により前記制御プログラムまたは前記HMIプログラムの編集がなされた場合に、前記制御プログラムおよび前記HMIプログラムを、それぞれ、前記制御装置と前記HMI装置に同時に転送するよう前記転送処理を実施する手段を含む、サポート装置。
  2. 前記編集手段により編集された前記制御プログラムまたは前記HMIプログラムの各プログラムを、前記対象装置で実行されている当該プログラムと比較し、比較の結果から、前記編集された各プログラムが前記実行されている当該プログラムから変更されたかを判定する手段を、さらに備え、
    前記転送管理手段は、さらに、
    前記編集手段により編集された前記制御プログラムまたは前記HMIプログラムの各プログラムのうち、前記変更の判定がなされた一方または両方を転送するよう前記転送処理を実施する手段を含む、請求項1に記載のサポート装置。
  3. 前記制御プログラムは、変数と、前記変数を用いた処理内容を示すプログラムコードとを含み、
    前記比較の結果が、前記変数の変更なしに前記プログラムコードの変更があることを示す場合、予め定められた通知を前記HMI装置のディスプレイに出力させる、請求項2に記載のサポート装置。
  4. 前記判定する手段による判定結果に基づく情報をディスプレイに表示させる通知手段と、
    前記サポート装置に対するユーザ操作を受付ける操作受付手段と、をさらに備え、
    前記転送管理手段は、
    前記編集手段により編集された前記制御プログラムまたは前記HMIプログラムの各プログラムのうち、受付けるユーザ操作内容が示す一方または両方を転送するよう前記転送処理を実施する手段を含む、請求項2または3に記載のサポート装置。
  5. 前記転送管理手段により前記制御プログラムまたは前記HMIプログラムの転送処理が実施されるとき、前記対象装置に、転送後の各プログラムを起動させるための起動指示を送信する、請求項1からのいずれか1項に記載のサポート装置。
  6. 前記起動指示は、転送後の各プログラムを起動させる時間の情報を含む、請求項に記載のサポート装置。
  7. 前記プログラムの転送が完了した旨の通知を前記対象装置から受信したときに、前記起動指示を前記対象装置に送信する、請求項に記載のサポート装置。
  8. 前記HMIプログラムの編集は、当該HMIプログラムを構成するプログラムであって前記変数を処理するUI(ユーザインターフェイス)部品の編集を含む、請求項1からのいずれか1項に記載のサポート装置。
  9. FA(ファクトリオートメーション)に設けられる対象装置で実行されるプログラムの開発を支援するサポートプログラムであって、
    前記対象装置は、前記FAに設けられる機器を制御する制御装置とHMI(ヒューマンマシンインターフェイス)装置とを含み、
    前記サポートプログラムは、コンピュータに、
    前記プログラムを編集するステップと、
    編集された前記プログラムを前記対象装置へ転送するための転送処理を実施するステップと実行させ、
    編集される前記プログラムは、
    前記機器を制御するための制御プログラムと、前記制御プログラムが用いる変数を処理するHMIプログラムとを含み、
    前記転送処理を実施するステップは、
    前記制御プログラムまたは前記HMIプログラムの編集がなされた場合に、前記制御プログラムおよび前記HMIプログラムを、それぞれ、前記制御装置と前記HMI装置に同時に転送するよう前記転送処理を実施するステップを含む、サポートプログラム。
JP2018142647A 2018-07-30 2018-07-30 サポート装置およびサポートプログラム Active JP7052620B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2018142647A JP7052620B2 (ja) 2018-07-30 2018-07-30 サポート装置およびサポートプログラム
EP19843879.8A EP3832411B1 (en) 2018-07-30 2019-07-10 Support device and support program
US17/251,216 US11360462B2 (en) 2018-07-30 2019-07-10 Support device and support program
CN201980039097.8A CN112272802B (zh) 2018-07-30 2019-07-10 支持装置以及记录介质
PCT/JP2019/027338 WO2020026738A1 (ja) 2018-07-30 2019-07-10 サポート装置およびサポートプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018142647A JP7052620B2 (ja) 2018-07-30 2018-07-30 サポート装置およびサポートプログラム

Publications (2)

Publication Number Publication Date
JP2020021157A JP2020021157A (ja) 2020-02-06
JP7052620B2 true JP7052620B2 (ja) 2022-04-12

Family

ID=69231628

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018142647A Active JP7052620B2 (ja) 2018-07-30 2018-07-30 サポート装置およびサポートプログラム

Country Status (5)

Country Link
US (1) US11360462B2 (ja)
EP (1) EP3832411B1 (ja)
JP (1) JP7052620B2 (ja)
CN (1) CN112272802B (ja)
WO (1) WO2020026738A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003044105A (ja) 2001-07-31 2003-02-14 Digital Electronics Corp エディタ装置、エディタプログラムおよびそれを記録した記録媒体
JP2009146229A (ja) 2007-12-14 2009-07-02 Fuji Electric Systems Co Ltd プログラマブルコントローラシステム
JP2011108008A (ja) 2009-11-18 2011-06-02 Koyo Electronics Ind Co Ltd Hmi画面自動生成方法
JP2017037466A (ja) 2015-08-10 2017-02-16 オムロン株式会社 サポート装置およびサポートプログラム
JP2018045544A (ja) 2016-09-16 2018-03-22 オムロン株式会社 プログラム処理装置およびプログラム

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3449872B2 (ja) * 1996-09-30 2003-09-22 株式会社デジタル プログラム式表示装置用の操作画面データ転送方法
JP3297844B2 (ja) * 1998-01-28 2002-07-02 株式会社デジタル ダウンロードシステム及びダウンロードプログラムを記録したコンピュータ読み取り可能な記録媒体
WO2001016657A1 (fr) * 1999-08-31 2001-03-08 Digital Electronics Corporation Editeur et support enregistre sur lequel le programme d'edition est enregistre
US7272458B2 (en) * 2004-04-13 2007-09-18 Omron Corporation Control system setting device
JP4509979B2 (ja) * 2006-07-27 2010-07-21 株式会社デジタル 制御システム、プログラマブル表示器およびサーバコンピュータ、プログラマブル表示器およびサーバコンピュータのためのプログラム、ならびにこれらのプログラムを記録した記録媒体
US7657329B1 (en) * 2006-08-28 2010-02-02 Rockwell Automation Technologies, Inc. Embedding HMI logic into control logic
US8756515B2 (en) * 2009-11-16 2014-06-17 Microsoft Corporation Dynamic editors for functionally composed UI
WO2013068023A1 (en) * 2011-11-10 2013-05-16 Abb Technology Ag Arrangement and method for distributing a control system engineering tool and/or a control application software
JP5869992B2 (ja) * 2012-09-03 2016-02-24 東芝三菱電機産業システム株式会社 転送プログラム生成装置
US9989958B2 (en) * 2013-05-09 2018-06-05 Rockwell Automation Technologies, Inc. Using cloud-based data for virtualization of an industrial automation environment
RU2730534C2 (ru) * 2015-10-13 2020-08-24 Шнейдер Электрик Эндюстри Сас Способ для размещения рабочих нагрузок в программно-определяемой автоматизированной системе
US9703546B1 (en) * 2015-12-21 2017-07-11 Schneider Electric Software, Llc Monitoring application states for deployment during runtime operations
JP6627571B2 (ja) * 2016-02-26 2020-01-08 オムロン株式会社 プログラマブルコントローラ、プログラマブルコントローラの制御方法、プログラマブルコントローラの制御プログラム
KR101648144B1 (ko) * 2016-03-04 2016-08-16 (주)동국일렉콘스 프로그래머블 게이트웨이 제어 시스템 및 이를 이용한 프로그래머블 게이트웨이 제어방법
WO2018058304A1 (zh) * 2016-09-27 2018-04-05 西门子公司 自动生成用户界面的工业控制器及方法
KR101907199B1 (ko) * 2016-11-11 2018-10-12 (주)위너스엔지니어링 계측제어 설비에서의 프로그램 구동 장치 및 계측제어 설비에서의 프로그램 구동 방법
KR101837906B1 (ko) * 2017-07-18 2018-03-13 주현수 스태커 및 리클라이머 장비의 자동 운전을 통한 야드 관리 시스템
US10409586B1 (en) * 2018-02-16 2019-09-10 Wipro Limited Method and system for developing and delivering an update on human machine interface (HMI) application
US20210141628A1 (en) * 2018-05-11 2021-05-13 Siemens Industry, Inc. Automated system and method for updating firmware on industrial devices

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003044105A (ja) 2001-07-31 2003-02-14 Digital Electronics Corp エディタ装置、エディタプログラムおよびそれを記録した記録媒体
JP2009146229A (ja) 2007-12-14 2009-07-02 Fuji Electric Systems Co Ltd プログラマブルコントローラシステム
JP2011108008A (ja) 2009-11-18 2011-06-02 Koyo Electronics Ind Co Ltd Hmi画面自動生成方法
JP2017037466A (ja) 2015-08-10 2017-02-16 オムロン株式会社 サポート装置およびサポートプログラム
JP2018045544A (ja) 2016-09-16 2018-03-22 オムロン株式会社 プログラム処理装置およびプログラム

Also Published As

Publication number Publication date
WO2020026738A1 (ja) 2020-02-06
EP3832411A4 (en) 2022-04-20
JP2020021157A (ja) 2020-02-06
EP3832411A1 (en) 2021-06-09
EP3832411B1 (en) 2024-03-13
CN112272802B (zh) 2024-04-09
US11360462B2 (en) 2022-06-14
CN112272802A (zh) 2021-01-26
US20210247746A1 (en) 2021-08-12

Similar Documents

Publication Publication Date Title
JP5039428B2 (ja) プログラマブルコントローラ及びplcシステム
JP4485326B2 (ja) プログラマブル表示器、表示制御プログラムおよびそのプログラムを記録した記録媒体
JP6786984B2 (ja) プログラム処理装置およびプログラム
JP2015125654A (ja) 制御装置および通信制御方法
JP2005327263A (ja) 制御システム設定装置
JP2006293544A (ja) 数値制御システム
JP7052620B2 (ja) サポート装置およびサポートプログラム
JP4566904B2 (ja) システム、制御プログラムおよびそのプログラムを記録した記録媒体、ならびに画像データ作成プログラムおよびそのプログラムを記録した記録媒体
JP2006190202A (ja) データ処理装置、設定データ生成装置、並びに、それらのプログラムおよび記録媒体
JP3512705B2 (ja) プログラマブル表示器の画面シミュレーションシステム、画面シミュレーション方法および画面シミュレーションのためのプログラムを記録した記録媒体
JP2007179112A5 (ja)
JP2006302216A (ja) 表示装置、画面データ作成装置及び画面表示システム
JP7172864B2 (ja) サポート装置およびサポートプログラム
CN111052010A (zh) 控制系统、开发辅助装置和开发辅助程序
CN112272820B (zh) 支持装置以及支持程序的记录介质
WO2021044654A1 (ja) 情報処理システム、プログラマブル表示器および情報処理装置
JP6821101B1 (ja) 数値制御装置
JP2008033683A (ja) 制御システム設定装置
JP5870214B2 (ja) プログラマブルコントローラシステム、そのプログラマブル表示器、支援装置、プログラム
JP2006134096A (ja) 画面作成装置、画面作成プログラムおよび記録媒体
JP4372739B2 (ja) プログラマブル表示器、制御プログラムおよびそのプログラムを記録した記録媒体、ならびに画面作成装置、画面作成プログラムおよびそのプログラムを記録した記録媒体
JP7234810B2 (ja) サポート装置およびサポートプログラム
JP2016024818A (ja) データ転送のための産業用制御システムおよび方法
US11726453B2 (en) Program creation device, program creation method, and program
US20220206453A1 (en) Program creation device, program creation method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201211

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211012

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211130

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220314

R150 Certificate of patent or registration of utility model

Ref document number: 7052620

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150