JP6362821B2 - 制御装置、制御方法および命令セット - Google Patents

制御装置、制御方法および命令セット Download PDF

Info

Publication number
JP6362821B2
JP6362821B2 JP2012114002A JP2012114002A JP6362821B2 JP 6362821 B2 JP6362821 B2 JP 6362821B2 JP 2012114002 A JP2012114002 A JP 2012114002A JP 2012114002 A JP2012114002 A JP 2012114002A JP 6362821 B2 JP6362821 B2 JP 6362821B2
Authority
JP
Japan
Prior art keywords
command
setting
communication
instruction
plc
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
JP2012114002A
Other languages
English (en)
Other versions
JP2013242629A (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 JP2012114002A priority Critical patent/JP6362821B2/ja
Publication of JP2013242629A publication Critical patent/JP2013242629A/ja
Application granted granted Critical
Publication of JP6362821B2 publication Critical patent/JP6362821B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Programmable Controllers (AREA)

Description

この発明は、制御装置、制御方法および命令セットに関し、特に、通信網に接続可能で制御対象のシーケンス制御を実行するのに適した制御装置、その制御装置の制御方法、および、その制御装置の命令セットに関する。
従来、PLCの周辺機器であるデータ収集システムにおいて、データ収集子機のIPアドレスは予めデータ収集親機に記憶されており、データ収集子機の設定をデータ収集親機から行うことが可能とされたものがあった(たとえば、特許文献1)。
特開2006−215999号公報
しかし、特許文献1のシステムでは、データ収集親機とデータ収集子機との通信の設定は、予め、データ収集親機とデータ収集子機とで、それぞれ行われている必要があった。この設定においては、たとえば、データ収集親機のIPアドレスをデータ収集子機に記憶させたり、データ収集子機のIPアドレスをデータ収集親機に記憶させたりしなければならない。
PLCにおいて、このような設定を、CIP命令を組み込んだユーザ定義アプリケーションで行う場合、CIP命令に関する知識が必要であったり、複雑なプログラムを組んだりする必要があった。
この発明は、上述の問題を解決するためになされたものであり、その目的の1つは、通信網での通信の所定の設定を簡単に行うことが可能な制御装置、制御方法および命令セットを提供することである。
上述の目的を達成するために、この発明のある局面によれば、制御装置は、通信網に接続可能で制御対象のシーケンス制御を実行する装置である。制御装置は、制御装置の命令セットに含まれる複数の命令が所定の実行順に並べられた命令列を示す情報を記憶する記憶部と、記憶部に記憶された情報で示される命令列に含まれるそれぞれの命令にしたがった処理を、実行順に実行する制御部とを備える。命令セットは、通信網での通信の所定の設定を1命令で変更するための通信設定命令を含む。
好ましくは、通信設定命令には、通信設定命令にしたがって制御部で実行される通信設定処理内容が予め対応付けられる。制御部は、命令列に含まれる命令が通信設定命令である場合、通信設定命令に対応する通信設定処理内容の処理を実行する。
好ましくは、所定の設定は、インターネットプロトコルアドレスの変更設定、ファイルトランスファープロトコルのアカウントの変更設定、または、ネットワークタイムプロトコルサーバのアドレスの変更設定である。
この発明の他の局面によれば、制御方法は、通信網に接続可能で制御対象のシーケンス制御を実行する制御装置の制御方法である。制御方法は、制御装置の命令セットに含まれる複数の命令が所定の実行順に並べられた命令列を示す情報を記憶するステップと、記憶された情報で示される命令列に含まれるそれぞれの命令にしたがった処理を、実行順に実行するステップとを含む。命令セットは、通信網での通信の所定の設定を1命令で変更するための通信設定命令を含む。
この発明のさらに他の局面によれば、命令セットは、通信網に接続可能で制御対象のシーケンス制御を実行する制御装置に所定の処理を実行させるための複数の命令を含む命令セットである。制御装置は、制御装置の命令セットに含まれる複数の命令が所定の実行順に並べられた命令列を示す情報を記憶し、記憶された情報で示される命令列に含まれるそれぞれの命令にしたがった処理を、実行順に実行する装置である。命令セットは、通信網での通信の所定の設定を1命令で変更するための通信設定命令を含む。
この発明に従えば、通信網での通信の所定の設定を簡単に行うことが可能な制御装置、制御方法および命令セットを提供することができる。
本発明の実施の形態に係るPLCシステムを示す模式図である。 本発明の実施の形態に係るPLCの処理ユニットのハードウェア構成を示す模式図である。 本発明の実施の形態に係るサポート装置のハードウェア構成を示す模式図である。 本発明の実施の形態に係るPLCの処理ユニットに実装されるソフトウェア構成を示す模式図である。 本発明の実施の形態に係るサポート装置に実装されるソフトウェア構成を示す模式図である。 本発明の実施の形態に係るPLCのIPアドレス変更命令の概要を説明するための図である。 本発明の実施の形態に係るPLCのIPアドレス変更命令のラダー表示を示す図である。 本発明の実施の形態に係るPLCのIPアドレス変更命令の入力変数を示す図である。 本発明の実施の形態に係るPLCのIPアドレス変更命令の出力変数を示す図である。 本発明の実施の形態に係るPLCのIPアドレス変更命令の動作タイミングチャートを示す図である。 本発明の実施の形態に係るPLCのIPアドレス変更命令の各入力変数の設定可能範囲を示す図である。 本発明の実施の形態に係るPLCのIPアドレス変更命令を用いたサンプルプログラムをラダー表示で示す第1の図である。 本発明の実施の形態に係るPLCのIPアドレス変更命令を用いたサンプルプログラムをラダー表示で示す第2の図である。 本発明の実施の形態に係るPLCのIPアドレス変更命令を用いたサンプルプログラムをST表示で示す図である。 本発明の実施の形態に係るPLCのFTPアカウント変更命令のラダー表示を示す図である。 本発明の実施の形態に係るPLCのFTPアカウント変更命令の入力変数を示す図である。 本発明の実施の形態に係るPLCのFTPアカウント変更命令の出力変数を示す図である。 本発明の実施の形態に係るPLCのFTPアカウント変更命令の各入力変数の設定可能範囲を示す図である。 本発明の実施の形態に係るPLCのNTPサーバ宛先変更命令のラダー表示を示す図である。 本発明の実施の形態に係るPLCのNTPサーバ宛先変更命令の入力変数を示す図である。 本発明の実施の形態に係るPLCのNTPサーバ宛先変更命令の出力変数を示す図である。 本発明の実施の形態に係るPLCのNTPサーバ宛先変更命令の各入力変数の設定可能範囲を示す図である。 本発明の実施の形態に係るPLCのNTPに基づく時刻設定の動作タイミングチャートを示す図である。 本発明の実施の形態に係るPLCの処理ユニット10に実装される通信設定命令のソフトウェア構成を示す模式図である。 ユーザ定義アプリケーションがCIP命令を含む場合の従来と本発明とのPLC導入時の差異を説明するための図である。 ユーザ定義アプリケーションがCIP命令を含まない場合の従来と本発明とのPLC導入時の差異を説明するための図である。 従来のPLCの通信の設定をするための専用ツールの設定画面を示す第1の図である。 従来のPLCの通信の設定をするための専用ツールの設定画面を示す第2の図である。 従来のPLCの通信の設定をするための専用ツールの設定画面を示す第3の図である。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
<A.システム構成>
まず、サポート装置によって使用および運用を支援されるPLCを含むシステムについて説明する。
図1は、本発明の実施の形態に係るPLCシステムSYSを示す模式図である。本実施の形態に係るPLCシステムSYSは、ネットワークNWを介してネットワーク接続された複数のPLC(PLC1,PLC2,PLC3)を含む。これらのPLCの種別は必ずしも同一ではないとする。
本明細書において「PLCの種別」とは、主として、プログラムによるデータの書込み、読出し、更新などの処理において利用(参照)されるデータ構造が同一であるか否かという観点を示すものである。例えば、2つのPLCの間で、いずれのデータ型であっても、一方のPLCが書込んだデータを他方のPLCが本来のデータの意味で解釈できる場合には、「PLCの種別が同一」であるとする。これに対して、あるデータ型について、一方のPLCが書込んだデータを他方のPLCが本来のデータの意味で解釈できない場合には、「PLCの種別が同一ではない(種別が別である)」であるとする。言い換えれば、あるPLCがネットワークNWを介して自装置のデータを送信した場合に、別のPLCがその送信されたデータを受信して正しく解釈できるか否かという観点に着目して、「PLCの種別」が判断される。
以下の説明では、典型例として、PLC1,PLC2,PLC3の間では、種別が異なっているものとする。しかしながら、PLC1とPLC2との間、PLC2とPLC3との間、およびPLC3とPLC1との間では、ネットワークNWを介してデータを遣り取りする必要があるものとする。本実施の形態に係るサポート装置200は、このような状況下において、PLC間でのデータの遣り取りを適合化する。
各PLCは、プログラムを実行する主体である処理ユニット10と、処理ユニット10などへ電力を供給する電源ユニット12と、フィールドからの信号を遣り取りするIO(Input/Output)ユニット14とを含む。IOユニット14は、処理ユニット10とシステムバス11を介して接続されている。典型的には、IOユニット14は、フィールド機器である検出センサー6から入力信号を取得し、また処理ユニット10でのプログラムの実行結果に応じてフィールド機器であるリレー7を駆動する。
表示器5は、タッチパネルなどの操作部と液晶ディスプレイなどの表示部と処理ユニット10と通信する通信部と各部を制御する制御部とを備える。
各PLCは、表示器5の操作部による操作に応じて各種の設定の変更が可能であり、PLCの所定の情報を表示器5に表示させることが可能である。
サポート装置200は、PLCで実行されるプログラム(以下「実行可能プログラム」とも称す)を生成する機能とともに、接続先のPLCの運転状態や各種データの値などをモニタする機能を有している。さらに、サポート装置200は、ユーザによる実行可能プログラムの生成を支援するため、デバック機能やシミュレーション機能を有していてもよい。
<B.ハードウェア構成>
次に、図1に示すPLCシステムSYSを構成するPLCおよびサポート装置200のハードウェア構成について説明する。
(b1:PLCのハードウェア構成)
図2は、本発明の実施の形態に係るPLCの処理ユニット10のハードウェア構成を示す模式図である。図2を参照して、処理ユニット10は、プロセッサ100と、チップセット102と、メインメモリ104と、不揮発性メモリ106と、システムタイマ108と、システムバスコントローラ120と、ネットワークコントローラ140と、USBコネクタ110とを含む。チップセット102と他のコンポーネントとの間は、各種のバスを介してそれぞれ結合されている。
プロセッサ100およびチップセット102は、典型的には、汎用的なコンピュータアーキテクチャに準じて構成される。すなわち、プロセッサ100は、チップセット102から内部クロックに従って順次供給される命令コードを解釈して実行する。チップセット102は、接続されている各種コンポーネントとの間で内部的なデータを遣り取りするとともに、プロセッサ100に必要な命令コードを生成する。さらに、チップセット102は、プロセッサ100での演算処理の実行の結果得られたデータなどをキャッシュする機能を有する。
処理ユニット10は、メモリとして、メインメモリ104および不揮発性メモリ106を有する。
メインメモリ104は、揮発性の記憶領域であり、処理ユニット10への電源投入後にプロセッサ100で実行されるべき各種プログラムを格納する。メインメモリ104は、プロセッサ100による各種プログラムの実行時の作業用メモリとしても使用される。このようなメインメモリ104としては、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)といったデバイスが用いられる。
不揮発性メモリ106は、リアルタイムOS(Operating System)、システムプログラム、実行可能プログラムといった各種プログラム(モジュール)、およびシステム設定パラメータといったデータを不揮発的に格納する。これらのプログラムやデータは、必要に応じて、プロセッサ100がアクセスできるようにメインメモリ104にコピーされる。このような不揮発性メモリ106としては、フラッシュメモリのような半導体メモリを用いることができる。あるいは、ハードディスクドライブのような磁気記録媒体や、DVD−RAM(Digital Versatile Disk Random Access Memory)のような光学記録媒体などを用いることもできる。
システムタイマ108は、一定周期ごとに割り込み信号を発生してプロセッサ100に提供する。典型的には、ハードウェアの仕様によって、複数の異なる周期でそれぞれ割り込み信号を発生するように構成されるが、OS(Operating System)やBIOS(Basic Input Output System)などによって、任意の周期で割り込み信号を発生するように設定することもできる。
処理ユニット10は、通信インターフェイスとして、システムバスコントローラ120およびネットワークコントローラ140を有する。これらの通信インターフェイスは、出力データの送信および入力データの受信を行う。
システムバスコントローラ120は、システムバス11を介したデータの遣り取りを制御する。より具体的には、システムバスコントローラ120は、DMA(Dynamic Memory Access)制御回路122と、システムバス制御回路124と、バッファメモリ126とを含む。システムバスコントローラ120は、システムバスコネクタ130を介してシステムバス11と内部的に接続される。
バッファメモリ126は、システムバス11を介してIOユニット14へ出力されるデータの送信バッファ、および、システムバス11を介してIOユニット14から入力されるデータの受信バッファとして機能する。
DMA制御回路122は、メインメモリ104からバッファメモリ126への出力データの転送、および、バッファメモリ126からメインメモリ104への入力データの転送を行う。
システムバス制御回路124は、システムバス11に接続されるIOユニット14との間で、バッファメモリ126の出力データを送信する処理および入力データを受信してバッファメモリ126に格納する処理を行う。
ネットワークコントローラ140は、ネットワークNWを介した他のPLCとの間のデータの遣り取りを制御する。すなわち、ネットワークコントローラ140は、用いられるネットワーク規格に従い、出力データの送信および入力データの受信を制御する。一例として、OSI参照モデルの物理層およびデータリンク層としてイーサネット(登録商標)を採用し、OSI参照モデルのネットワーク層およびトランスポート層としてTCP/IPまたはUDP/IPを採用し、OSI参照モデルのセッション層、プレゼンテーション層およびアプリケーション層として産業用共通プロトコル(CIP:Common Industrial Protocol)を採用したような構成が採用される。
上述のようなネットワーク規格に限られることなく、各種の産業用イーサネット(登録商標)を用いることができる。産業用イーサネット(登録商標)としては、たとえば、EtherCAT(登録商標)、Profinet IRT、MECHATROLINK(登録商標)−III、Powerlink、SERCOS(登録商標)−III、CIP Motionなどが知られている。
バッファメモリ146は、ネットワークNWを介して他のPLCへ出力されるデータの送信バッファ、および、ネットワークNWを介して他のPLCから入力されるデータの受信バッファとして機能する。
DMA制御回路142は、メインメモリ104からバッファメモリ146への出力データの転送、および、バッファメモリ146からメインメモリ104への入力データの転送を行う。
ネットワーク制御回路144は、ネットワークNWに接続される他のPLCとの間で、バッファメモリ146の出力データを送信する処理および入力データを受信してバッファメモリ146に格納する処理を行う。典型的には、ネットワーク制御回路144は、ネットワークNWにおける物理層およびデータリンク層の機能を提供する。
USBコネクタ110は、サポート装置200と処理ユニット10とを接続するための通信インターフェイスである。典型的には、サポート装置200から転送される、処理ユニット10のプロセッサ100で実行可能なプログラムなどは、USBコネクタ110を介してPLCに取込まれる。
(b2:サポート装置のハードウェア構成)
図3は、本発明の実施の形態に係るサポート装置200のハードウェア構成を示す模式図である。図3を参照して、サポート装置200は、典型的には、汎用のコンピュータで構成される。なお、メンテナンス性の観点からは、可搬性に優れたノート型のパーソナルコンピュータが好ましい。
図3を参照して、サポート装置200は、OSを含む各種プログラムを実行するCPU201と、BIOSや各種データを格納するROM(Read Only Memory)202と、CPU201でのプログラムの実行に必要なデータを格納するための作業領域を提供するメモリRAM203と、CPU201で実行されるプログラムなどを不揮発的に格納するハードディスク(HDD)204とを含む。
サポート装置200は、さらに、ユーザからの操作を受け付けるキーボード205およびマウス206と、情報をユーザに提示するためのモニタ207とを含む。サポート装置200は、PLC(処理ユニット10)などと通信するための通信インターフェイス(IF)209を含む。
後述するように、サポート装置200で実行される各種プログラムは、CD−ROM300に格納されて流通する。このCD−ROM300に格納されたプログラムは、CD−ROM(Compact Disk-Read Only Memory)ドライブ208によって読取られ、ハードディスク(HDD)204などへ格納される。あるいは、上位のホストコンピュータなどからネットワークを通じてプログラムをダウンロードするように構成してもよい。
<C.ソフトウェア構成>
(c1:PLCのソフトウェア構成)
次に、PLC(処理ユニット10)が各種機能を提供するためのソフトウェア構成について説明する。
図4は、本発明の実施の形態に係るPLCの処理ユニット10に実装されるソフトウェア構成を示す模式図である。図4に示すソフトウェアに含まれる命令コードは、適切なタイミングで読出され、処理ユニット10のプロセッサ100へ提供されて実行される。
図4を参照して、処理ユニット10には、リアルタイムOS190上にPLCでの処理に必要なプログラムが実装される。
リアルタイムOS190は、処理ユニット10のコンピュータアーキテクチャに応じて設計されており、プロセッサ100がPLCでの処理に必要なプログラムを実行するための基本的な実行環境を提供する。より具体的には、リアルタイムOS190は、複数のプログラムを時間の経過に従い切り替えて実行するための環境を提供する。リアルタイムOS190は、制御サイクル開始の割り込みが発生すると、プロセッサ100での実行対象を、割り込み発生時点で実行中のプログラムからスケジューラ160に切り替える。
本実施の形態に係る実行可能プログラムとしては、基本的には、ユーザ定義アプリケーション170が想定されている。ユーザ定義アプリケーション170は、サポート装置200によって生成され、サポート装置200から処理ユニット10へ転送される。なお、ユーザ定義アプリケーション170の実行に必要な一部のモジュール(あるいは、ライブラリ)については、処理ユニット10に予め格納されており、これらを適切なタイミングで呼び出して利用する形態(シンボリックリンク)を採用してもよい。この場合、サポート装置200は、一部のモジュールを含まない実行可能プログラムを生成することになる。あるいは、ユーザ定義アプリケーション170および命令実行モジュール180を含めて、実行可能プログラムとしてもよい。
より具体的には、処理ユニット10には、スケジューラ160と、ユーザ定義アプリケーション170と、入力処理モジュール172と、出力処理モジュール174と、通信処理モジュール176と、その他のシステムモジュール178と、命令実行モジュール180と、メモリマネジャー184と、データ構造変換モジュール186とが実装される。
スケジューラ160は、ユーザ定義アプリケーション170、入力処理モジュール172、出力処理モジュール174、および通信処理モジュール176について、実行開始タイミングや処理中断を制御することで、各実行サイクルでの処理を保証する。より具体的には、1つの制御サイクル内ですべての処理を完了できないことも多く、この場合には、スケジューラ160は、実行すべき処理の優先度などに応じて、各制御サイクルにおいて実行を完了すべき処理と、複数の制御サイクルに亘って実行してもよい処理とを区分する。すなわち、スケジューラ160は、各制御サイクル期間内において、より高い優先度が与えられているプログラムほど先に実行する。
ユーザ定義アプリケーション170は、ユーザがその制御目的に応じて作成する。すなわち、PLCシステムSYSを用いて制御する対象のライン(プロセス)などに応じて、任意に設計されるプログラムである。より具体的には、ユーザ定義アプリケーション170は、サポート装置200などにおいて、ラダー言語などによって記述されたソースプログラムがコンパイルされることで生成される。生成された実行可能(オブジェクト)プログラム形式のユーザ定義アプリケーション170は、サポート装置200から接続ケーブル13を介して処理ユニット10へ転送され、不揮発性メモリ106などに格納される。
ユーザ定義アプリケーション170は、シーケンス処理およびモーション演算などの特殊処理を含み得る。ユーザ定義アプリケーション170は、命令実行モジュール180と協働して、ユーザ定義アプリケーション170に含まれる処理を実現する。より具体的には、ユーザ定義アプリケーション170は、命令実行モジュール180によって提供される命令や関数などを利用することで、プログラムされた動作を実現する。
命令実行モジュール180は、ユーザ定義アプリケーション170に定義された何らかのシーケンス命令あるいは何らかのファンクション命令が実行されるときに呼び出される。
入力処理モジュール172は、システムバスコントローラ120によって受信された入力データを、ユーザ定義アプリケーション170が使用するのに適した形式に再配置する。出力処理モジュール174は、ユーザ定義アプリケーション170の実行によって生成された出力データを、システムバスコントローラ120へ転送するのに適した形式に再配置する。
通信処理モジュール176は、ネットワークコントローラ140による他のPLCとの間の通信処理のタイミングを制御する。通信処理モジュール176は、さらに、ネットワークコントローラ140が他のPLCから受信された入力データをユーザ定義アプリケーション170が使用するのに適した形式に再配置するとともに、ユーザ定義アプリケーション170の実行によって生成された出力データを、ネットワークコントローラ140へ転送するのに適した形式に再配置する。
その他のシステムモジュール178は、図4に個別に示したプログラム以外の、PLC1の各種機能を実現するための1つまたは複数のモジュールをまとめて示したものである。
メモリマネジャー184は、メインメモリ104に格納されるデータを管理する。
データ構造変換モジュール186は、他のPLCとの間でデータ交換を行うために、データ構造をPLCの種別毎に定義されるデータ構造に適合させる。すなわち、データ構造変換モジュール186は、自PLCが扱うデータのデータ構造を他のPLCが扱うデータ構造に変換する。
上述した、実行可能プログラム(ユーザ定義アプリケーション170単体またはユーザ定義アプリケーション170および命令実行モジュール180)は、記憶手段であるメインメモリ104および/または不揮発性メモリ106に格納される。
(c2:サポート装置のソフトウェア構成)
次に、サポート装置200が各種機能を提供するためのソフトウェア構成について説明する。
図5は、本発明の実施の形態に係るサポート装置200に実装されるソフトウェア構成を示す模式図である。図5に示すソフトウェアに含まれる命令コードは、適切なタイミングで読出され、サポート装置200のCPU201へ提供されて実行される。
図5を参照して、サポート装置200には、OS240、プログラミングアプリケーション250およびネットワーク設定アプリケーション280が実装される。サポート装置200ではOS240が実行され、プログラミングアプリケーション250およびネットワーク設定アプリケーション280を実行可能な環境が提供される。本実施の形態に係るサポート装置200を実現するためのサポートプログラムは、少なくともプログラミングアプリケーション250を含む。
プログラミングアプリケーション250は、エディタ252と、コンパイラ254と、デバッガ256と、GUI(Graphical User Interface)モジュール258と、シミュレータ260と、データ格納部270とを含む。プログラミングアプリケーション250に含まれるそれぞれのモジュールは、典型的には、CD−ROM300に格納された状態で流通して、サポート装置200にインストールされる。
エディタ252は、実行可能プログラム(ソースプログラム274)を作成するための入力および編集といった機能を提供する。より具体的には、エディタ252は、ユーザがキーボード205やマウス206を操作してユーザ定義アプリケーション170のソースプログラム274を作成する機能に加えて、作成したソースプログラム274の保存機能および編集機能を提供する。
コンパイラ254は、ユーザ定義アプリケーション170のソースプログラム274をコンパイルして、処理ユニット10のプロセッサ100で実行可能(オブジェクト)プログラム形式の実行可能プログラムを生成する機能を提供する。
デバッガ256は、実行可能プログラム(ソースプログラム274)に対してデバッグを行うための機能を提供する。このデバッグの内容としては、ソースプログラム274のうちユーザが指定した範囲を部分的に実行する、ソースプログラム274の実行中における変数値の時間的な変化を追跡する、といった動作を含む。
GUIモジュール258は、ユーザが各種データやパラメータなどを入力するためのユーザインターフェイスを提供する機能を有する。
シミュレータ260は、サポート装置200内にPLC1の処理ユニット10でのプログラムの実行をシミュレーションする環境を構築する。
データ格納部270は、ユーザが作成したソースプログラム274やプログラムの実行に必要な変数設定272を格納する。
ネットワーク設定アプリケーション280は、PLC間のデータの遣り取りに係る設定を行うための機能を提供する。ネットワーク設定アプリケーション280は、エディタ282と、コンフィグレータ284と、関連付けモジュール286と、データ格納部290とを含む。ネットワーク設定アプリケーション280に含まれるそれぞれのモジュールは、典型的には、CD−ROM300に格納された状態で流通して、サポート装置200にインストールされる。
エディタ282は、PLC間で遣り取りされるデータ(変数)の設定情報の入力および編集といった機能を提供する。より具体的には、エディタ282は、ユーザがキーボード205やマウス206を操作して、PLC間で遣り取りされる変数などを指定する機能に加えて、入力された設定情報の保存機能および編集機能を提供する。また、エディタ282は、ネットワーク接続されたPLCからその変数設定などを取得(ダウンロード)することもできる。
コンフィグレータ284は、PLC間でデータを遣り取りするための設定を対象のPLCへ設定する機能を提供する。このコンフィグレータ284によって各PLCへ設定される情報をコネクション設定296とも称す。
関連付けモジュール286は、遣り取りされるデータ毎に、対象のPLC間の関連付けを行う機能を提供する。すなわち、関連付けモジュール286は、PLCの別にコネクション設定296を生成する。
データ格納部290は、PLCから取得した変数の情報を示す変数設定292,294およびコネクション設定296を格納する。
<D.特徴的な命令>
本発明の実施の形態においては、処理ユニット10の命令セットのうち、特徴的な命令として、IP(Internet Protocol)アドレス変更命令、FTP(File Transfer Protocol)アカウント変更命令、および、NTP(Network Time Protocol)サーバ宛先変更命令が設けられている。以下、これらの3つの命令を、通信設定命令ともいう。
(d1:IPアドレス変更命令)
図6は、本発明の実施の形態に係るPLCのIPアドレス変更命令の概要を説明するための図である。図6を参照して、処理ユニット10には、IPアドレス変更命令ChangeIPAdrが組込まれたユーザ定義アプリケーション170が、サポート装置200から転送され、不揮発性メモリ106に予め記憶されている。
図7は、本発明の実施の形態に係るPLCのIPアドレス変更命令のラダー表示を示す図である。図8は、本発明の実施の形態に係るPLCのIPアドレス変更命令の入力変数を示す図である。図9は、本発明の実施の形態に係るPLCのIPアドレス変更命令の出力変数を示す図である。
図7から図9を参照して、IPアドレス変更命令は、処理ユニット10の内蔵のネットワークコントローラ140、または、処理ユニット10にシステムバス11を介して接続された外部機器(たとえば、IOユニット14など)の、BootP設定、IPアドレス、サブネットマスク、および、デフォルトゲートウェイを変更する命令である。
IPアドレス変更命令には、図7および図8で示すように、入力変数として、実行条件:Execute、ユニット番号:UnitNo、BOOTP設定:BootPControl、IPアドレス:IPAdr、サブネットマスク:SubnetMask、および、デフォルトゲートウェイ:DefaultGatewayが設けられる。各入力変数の内容などは、図8で示すとおりである。
また、IPアドレス変更命令には、図7および図9で示すように、出力変数として、正常終了:Done、命令ビジー:Busy、エラー:Error、および、エラーID:ErrorIDが設けられる。各出力変数の内容などは、図9で示すとおりである。
また、IPアドレス変更命令のラダー表示は、図7で示した通りであるが、ST(Structured Text)表示(構造化テキスト言語での表示)では、「ChangeIPAdr_instance(Execute,UnitNo,BootPControl,IPAdr,SubnetMask,DefaultGateway,Done,Busy,Error,ErrorID,);」と記載される。ここで、ChangeIPAdr_instanceは、ChangeIPAdr命令のインスタンスとして宣言されているものとする。
図6を再び参照して、処理ユニット10において、メインメモリ104に、ネットワーク変数newIPAddressおよびネットワーク変数ChangeTrrigerが設定されている。
たとえば、処理ユニット10または外部機器を導入する通信ネットワークがクラスAのネットワークであり、処理ユニット10が納入時にクラスCのIPアドレスに設定されている場合、処理ユニット10または外部機器のIPアドレスをクラスAに設定し直す必要がある。
このような場合に、表示器5で、クラスAのIPアドレスが入力され、「変更」ボタンが操作されると、ネットワーク変数newIPAddressに、表示器5で入力されたIPアドレスが書込まれ、ネットワーク変数ChangeTrrigerにTRUEが書込まれる。
これにより、ChangeTrrigerのA接点がオンになり、ChangeIPAdr命令のExecuteがTRUEとなる。これに応じて、ChangeIPAdr命令がプロセッサ100によって実行され、処理ユニット10のIPアドレスが、ネットワーク変数newIPAddressに書込まれたIPアドレスに設定され、BOOTP設定が、BootPControlの値に設定され、サブネットマスクが「FFFFFF00」に設定され、デフォルトゲートウェイが「00000000」に設定される。これらの設定が終了すると、ChangeIPAdrのDoneがTRUEとされる。
このように、1命令でIPアドレスを設定できるIPアドレス変更命令ChangeIPAdrが組込まれたユーザ定義アプリケーション170を、処理ユニット10の不揮発性メモリ106に予め記憶させておき、実行させるだけで、簡単に、処理ユニット10または外部機器のIPアドレスが設定される。
次に、IPアドレス変更命令により実行される機能を説明する。図10は、本発明の実施の形態に係るPLCのIPアドレス変更命令の動作タイミングチャートを示す図である。図10を参照して、IPアドレス変更命令において、ExecuteがFALSEからTRUEに変化したとき、IPAdr、SubnetMaskおよびDefaultGatewayの値が、処理ユニット10の内蔵のネットワークコントローラ140、または、処理ユニット10にシステムバス11を介して接続された外部機器に、書込まれる。この書込みの実行中は、BusyがTRUEとなる。そして、書込みの完了時に、BusyがFalseとなり、DoneがTRUEとなる。ネットワークコントローラ140の場合、書込まれた設定は、書込みの完了後に反映される。その後、ネットワークコントローラ140は、リンクオフを行った後、リンクオンを行う。また、外部機器の場合、DoneがTRUEとなると、自動的にリスタートが開始され、リスタート処理完了後に、設定内容が反映され、リンクオフが行なわれた後、リンクオンが行なわれる。_EIP_ETN_OnlineStaは、ネットワークコントローラ140のステータス情報である。TRUEの場合に通信機能が利用可能となり、FALSEの場合は通信機能が利用できない。
図11は、本発明の実施の形態に係るPLCのIPアドレス変更命令の各入力変数の設定可能範囲を示す図である。図11を参照して、IPアドレス、サブネットマスク、および、デフォルトゲートウェイの設定可能範囲は、図で示すとおりである。これらの範囲を超える場合には、ErrorがTRUEとなる。
また、ユニット番号およびBOOTP設定が設定範囲外である場合、ならびに、変更ができない状態である場合、ならびに、外部機器のリスタート処理が失敗した場合、ならびに、通信設定命令の同時実行数オーバーの場合も、ErrorがTRUEとなる。変更ができない状態とは、ネットワークコントローラ140がリスタート中である状態、CIPメッセージにより設定が変更中の状態、または、通信処理モジュール176からタグデータリンク設定をダウンロード中の状態である。
図12は、本発明の実施の形態に係るPLCのIPアドレス変更命令を用いたサンプルプログラムを示す第1の図である。図13は、本発明の実施の形態に係るPLCのIPアドレス変更命令を用いたサンプルプログラムを示す第2の図である。
図12および図13を参照して、このサンプルプログラムには、IPアドレス変更命令が組込まれている。まず、起動条件がチェックされる。次に、IPアドレス変更命令に入力される新しいIPアドレスなどのパラメータが設定される。そして、IPアドレス変更命令が実行されることにより、入力されたIPアドレスなどのパラメータが設定される。
図14は、本発明の実施の形態に係るPLCのIPアドレス変更命令を用いたサンプルプログラムをST表示で示す図である。図14を参照して、このサンプルプログラムは、ラダー表示で示した図12および図13のサンプルプログラムをST表示で示したものである。
(d2:FTPアカウント変更命令)
図15は、本発明の実施の形態に係るPLCのFTPアカウント変更命令のラダー表示を示す図である。図16は、本発明の実施の形態に係るPLCのFTPアカウント変更命令の入力変数を示す図である。図17は、本発明の実施の形態に係るPLCのFTPアカウント変更命令の出力変数を示す図である。
図15から図17を参照して、FTPアカウント変更命令は、処理ユニット10の内蔵のネットワークコントローラ140、または、処理ユニット10にシステムバス11を介して接続された外部機器の、FTPアカウントを変更する命令である。
FTPアカウント変更命令には、図15および図16で示すように、入力変数として、実行条件:Execute、ユニット番号:UnitNo、ログイン名称:NewUserName、および、パスワード:NewPasswordが設けられる。各入力変数の内容などは、図16で示すとおりである。
また、FTPアカウント変更命令には、図15および図17で示すように、出力変数として、正常終了:Done、命令ビジー:Busy、エラー:Error、および、エラーID:ErrorIDが設けられる。各出力変数の内容などは、図17で示すとおりである。
また、FTPアカウント変更命令のラダー表示は、図15で示した通りであるが、ST表示では、「ChangeFTPAccount_instance(Execute,UnitNo,NewUserName,NewPassword,Done,Busy,Error,ErrorID,);」と記載される。ここで、ChangeFTPAccount_instanceは、ChangeFTPAccount命令のインスタンスとして宣言されているものとする。
次に、FTPアカウント変更命令により実行される機能を説明する。FTPアカウント変更命令において、ExecuteがFALSEからTRUEに変化したとき、NewUserNameおよびNewPasswordの値が、処理ユニット10の内蔵のネットワークコントローラ140、または、処理ユニット10にシステムバス11を介して接続された外部機器に、書込まれる。この書込みの実行中は、BusyがTRUEとなる。そして、書込みの完了時に、BusyがFalseとなり、DoneがTRUEとなる。ネットワークコントローラ140の場合、書込まれた設定は、書込みの完了後に反映される。
図18は、本発明の実施の形態に係るPLCのFTPアカウント変更命令の各入力変数の設定可能範囲を示す図である。図18を参照して、ログイン名、および、パスワードの設定可能範囲は、図で示すとおりである。これらの範囲を超える場合には、ErrorがTRUEとなる。
また、ユニット番号が設定範囲外である場合、ならびに、変更ができない状態である場合、ならびに、外部機器のリスタート処理が失敗した場合、ならびに、通信設定命令の同時実行数オーバーの場合も、ErrorがTRUEとなる。変更ができない状態とは、ネットワークコントローラ140がリスタート中である状態、CIPメッセージにより設定が変更中の状態、または、通信処理モジュール176からタグデータリンク設定をダウンロード中の状態である。
(d3:NTPサーバ宛先変更命令)
図19は、本発明の実施の形態に係るPLCのNTPサーバ宛先変更命令のラダー表示を示す図である。図20は、本発明の実施の形態に係るPLCのNTPサーバ宛先変更命令の入力変数を示す図である。図21は、本発明の実施の形態に係るPLCのNTPサーバ宛先変更命令の出力変数を示す図である。
図19から図21を参照して、NTPサーバ宛先変更命令は、処理ユニット10の内蔵のネットワークコントローラ140、または、処理ユニット10にシステムバス11を介して接続された外部機器の、NTPサーバの設定を変更する命令である。
NTPサーバ宛先変更命令には、図19および図20で示すように、入力変数として、実行条件:Execute、ユニット番号:UnitNo、サーバ指定方法:AdrType、サーバIPアドレス:IPAdr、および、サーバホスト名:HostNameが設けられる。各入力変数の内容などは、図20で示すとおりである。
また、NTPサーバ宛先変更命令には、図19および図21で示すように、出力変数として、正常終了:Done、命令ビジー:Busy、エラー:Error、および、エラーID:ErrorIDが設けられる。各出力変数の内容などは、図21で示すとおりである。
また、NTPサーバ宛先変更命令のラダー表示は、図19で示した通りであるが、ST表示では、「ChangeNTPServerAdr_instance(Execute,UnitNo,AdrType,IPAdr,HostName,Done,Busy,Error,ErrorID,);」と記載される。ここで、ChangeNTPServerAdr_instanceは、ChangeNTPServerAdr命令のインスタンスとして宣言されているものとする。
次に、NTPサーバ宛先変更命令により実行される機能を説明する。NTPサーバ宛先変更命令において、ExecuteがFALSEからTRUEに変化したとき、IPAdrおよびHostNameの値が、処理ユニット10の内蔵のネットワークコントローラ140、または、処理ユニット10にシステムバス11を介して接続された外部機器に、書込まれる。この書込みの実行中は、BusyがTRUEとなる。そして、書込みの完了時に、BusyがFalseとなり、DoneがTRUEとなる。ネットワークコントローラ140の場合、書込まれた設定は、書込みの完了後に反映される。
図22は、本発明の実施の形態に係るPLCのNTPサーバ宛先変更命令の各入力変数の設定可能範囲を示す図である。図22を参照して、IPアドレス、および、ホスト名の設定可能範囲は、図で示すとおりである。これらの範囲を超える場合には、ErrorがTRUEとなる。
また、ユニット番号が設定範囲外である場合、ならびに、変更ができない状態である場合、ならびに、外部機器のリスタート処理が失敗した場合も、ErrorがTRUEとなる。変更ができない状態とは、ネットワークコントローラ140がリスタート中である状態、CIPメッセージにより設定が変更中の状態、通信設定命令実行中の状態、または、通信処理モジュール176からタグデータリンク設定をダウンロード中の状態である。
図23は、本発明の実施の形態に係るPLCのNTPに基づく時刻設定の動作タイミングチャートを示す図である。図23を参照して、NTPに基づく時刻設定が10分周期で実行されている場合、NTPサーバの設定が変更される前は、10分おきに、処理ユニット10は、設定変更前のNTPサーバの宛先に時刻を問合せて時刻を設定する。
NTPサーバ宛先変更命令が実行され、NTPサーバの設定が変更されると、その時点で、一度、タイマがクリアされ、設定変更の時点から、10分おきに、処理ユニット10は、設定変更後のNTPサーバの宛先に時刻を問合せて時刻を設定する。
<E.特徴的な命令のソフトウェア構成>
次に、前述した本発明の実施の形態における特徴的な命令である通信設定命令が実行されるときのソフトウェア構成について説明する。
図24は、本発明の実施の形態に係るPLCの処理ユニット10に実装される通信設定命令のソフトウェア構成を示す模式図である。図24を参照して、この図は、図4で説明した処理ユニット10に実行されるソフトウェア構成の一部を抜出した図である。ユーザ定義アプリケーション170に前述した通信設定命令のいずれかが含まれる場合、その通信設定命令は、命令実行モジュール180によって実行される。
通信設定命令が実行される場合、通信処理モジュール176に含まれるCIPプロトコル処理部1762、TCP/IP処理部1764、FTPサーバ処理部1766、および、NTPクライアント処理部1768が用いられる。
CIPプロトコル処理部1762は、CIPプロトコルに関する処理を実行する。TCP/IP処理部1764は、CIPプロトコルのうちTCP/IPに関する処理を実行する。FTPサーバ処理部1766は、CIPプロトコルのうちFTPに関する処理を実行する。NTPクライアント処理部1768は、CIPプロトコルのうちNTPに関する処理を実行する。
(e1:IPアドレス変更命令)
命令実行モジュール180によって実行される通信設定命令が、IPアドレス変更命令である場合、次のような流れで命令が実行される。
(1) 命令実行モジュール180は、IPアドレス変更命令の前述した入力変数をチェックする。そして、異常があれば、ErrorをTRUEにして、ErrorIDにエラーに応じた値を設定する。
(2) 正常であれば、命令実行モジュール180は、入力変数を加工してCIPプロトコル処理部1762に受け渡す。
(3) CIPプロトコル処理部1762は、受け取った入力変数を処理し、TCP/IPに関する処理をTCP/IP処理部1764に依頼する。
(4) TCP/IP処理部1764は、依頼された処理を実行する。
(5) TCP/IP処理部1764は、処理結果をCIPプロトコル処理部1762に返す。
(6) CIPプロトコル処理部1762は、返された処理結果をIPアドレス変更命令に応じた適当な形式に変更して、命令実行モジュール180に返す。
具体的には、BOOTP設定が「IPアドレス固定設定」の場合、
(1) 命令実行モジュール180は、BOOTP設定情報を入力変数から取得し、
(2) 命令実行モジュール180は、IPアドレス、サブネットマスク、および、デフォルトゲートウェイを入力変数から取得し、
(3) 命令実行モジュール180は、取得したBOOTP設定情報、IPアドレス、サブネットマスク、および、デフォルトゲートウェイを、CIPプロトコル処理部1762が処理可能な形式に変更処理して、CIPプロトコル処理部1762に受け渡し、
(4) CIPプロトコル処理部1762は、受け取ったBOOTP設定情報、IPアドレス、サブネットマスク、および、デフォルトゲートウェイを書込むようTCP/IP処理部1764に依頼し、
(5) TCP/IP処理部1764は、依頼に基づき、BOOTP設定情報、IPアドレス、サブネットマスク、および、デフォルトゲートウェイを、ネットワークコントローラ140に書込み、反映させる。
また、BOOTP設定が「BOOTP設定」または「1shotBOOTP設定」の場合、
(1) 命令実行モジュール180は、BOOTP設定情報を入力変数から取得し、
(2) 命令実行モジュール180は、取得したBOOTP設定情報を、CIPプロトコル処理部1762が処理可能な形式に変更処理して、CIPプロトコル処理部1762に受け渡し、
(3) CIPプロトコル処理部1762は、受け取ったBOOTP設定情報を書込むようTCP/IP処理部1764に依頼し、
(4) TCP/IP処理部1764は、依頼に基づき、BOOTP設定情報を、ネットワークコントローラ140に書込み、反映させる。
(e2:FTPアカウント変更命令)
命令実行モジュール180によって実行される通信設定命令が、FTPアカウント変更命令である場合、次のような流れで命令が実行される。
(1) 命令実行モジュール180は、FTPアカウント変更命令の前述した入力変数をチェックする。そして、異常があれば、ErrorをTRUEにして、ErrorIDにエラーに応じた値を設定する。
(2) 正常であれば、命令実行モジュール180は、入力変数を加工してCIPプロトコル処理部1762に受け渡す。
(3) CIPプロトコル処理部1762は、受け取った入力変数を処理し、FTPに関する処理をFTPサーバ処理部1766に依頼する。
(4) FTPサーバ処理部1766は、依頼された処理を実行する。
(5) FTPサーバ処理部1766は、処理結果をCIPプロトコル処理部1762に返す。
(6) CIPプロトコル処理部1762は、返された処理結果をFTPアカウント変更命令に応じた適当な形式に変更して、命令実行モジュール180に返す。
具体的には、
(1) 命令実行モジュール180は、FTPアカウントおよびパスワードを入力変数から取得し、
(2) 命令実行モジュール180は、取得したFTPアカウントおよびパスワードを、CIPプロトコル処理部1762が処理可能な形式に変更処理して、CIPプロトコル処理部1762に受け渡し、
(3) CIPプロトコル処理部1762は、受け取ったFTPアカウントおよびパスワードを書込むようFTPサーバ処理部1766に依頼し、
(4) FTPサーバ処理部1766は、依頼に基づき、FTPアカウントおよびパスワードを、ネットワークコントローラ140に書込み、反映させる。
(e3:NTPサーバ宛先変更命令)
命令実行モジュール180によって実行される通信設定命令が、NTPサーバ宛先変更命令である場合、次のような流れで命令が実行される。
(1) 命令実行モジュール180は、NTPサーバ宛先変更命令の前述した入力変数をチェックする。そして、異常があれば、ErrorをTRUEにして、ErrorIDにエラーに応じた値を設定する。
(2) 正常であれば、命令実行モジュール180は、入力変数を加工してCIPプロトコル処理部1762に受け渡す。
(3) CIPプロトコル処理部1762は、受け取った入力変数を処理し、NTPに関する処理をNTPクライアント処理部1768に依頼する。
(4) NTPクライアント処理部1768は、依頼された処理を実行する。
(5) NTPクライアント処理部1768は、処理結果をCIPプロトコル処理部1762に返す。
(6) CIPプロトコル処理部1762は、返された処理結果をNTPサーバ宛先変更命令に応じた適当な形式に変更して、命令実行モジュール180に返す。
具体的には、サーバ指定方法が「IPアドレス指定」の場合、
(1) 命令実行モジュール180は、サーバ指定方法を入力変数から取得し、
(2) サーバ指定方法がIPアドレス指定の場合、命令実行モジュール180は、サーバIPアドレスを入力変数から取得し、
(3) 命令実行モジュール180は、取得したサーバIPアドレスを、CIPプロトコル処理部1762が処理可能な形式に変更処理して、CIPプロトコル処理部1762に受け渡し、
(4) CIPプロトコル処理部1762は、受け渡されたサーバIPアドレスを書込むようNTPクライアント処理部1768に依頼し、
(5) NTPクライアント処理部1768は、依頼に基づき、サーバIPアドレスを、ネットワークコントローラ140に書込み、反映させる。
また、サーバ指定方法が「ホスト名指定」の場合、
(1) 命令実行モジュール180は、サーバ指定方法を入力変数から取得し、
(2) サーバ指定方法がホスト名指定の場合、命令実行モジュール180は、サーバホスト名を入力変数から取得し、
(3) 命令実行モジュール180は、取得したサーバホスト名を、CIPプロトコル処理部1762が処理可能な形式に変更処理して、CIPプロトコル処理部1762に受け渡し、
(4) CIPプロトコル処理部1762は、受け渡されたサーバホスト名を書込むようNTPクライアント処理部1768に依頼し、
(5) NTPクライアント処理部1768は、依頼に基づき、サーバホスト名を、ネットワークコントローラ140に書込み、反映させる。
<F.従来と本発明とのPLC導入時の差異>
次に、本実施の形態の特徴的な通信設定命令を用いない従来の場合と、用いる本発明の場合との比較について説明する。
(f1:ユーザ定義アプリケーションがCIP命令を含む場合)
図25は、ユーザ定義アプリケーションがCIP命令を含む場合の従来と本発明とのPLC導入時の差異を説明するための図である。図25を参照して、従来は、ユーザ定義アプリケーションの開発および導入の過程において、CIP命令の知識がない場合は、まず、CIP命令の知識を習得する必要があった。そして、プログラムの作成においても、様々なCIP命令を組合せた通信を設定するための複雑なプログラムを作成し、バグが無くなるまでデバッグをする必要があった。そして、完成したプログラムを、機械設備に導入するPLCにダウンロードするようにしていた。
しかし、本発明のように、1命令で通信ネットワークでの通信の所定の設定を変更する上述した3つの通信設定命令を用いるようにすると、CIP命令の知識に関わらず、プログラムの作成においては、通信の所定の設定のために様々なCIP命令を組合せた複雑なプログラムではなく、通信設定命令を用いた簡単なプログラムを作成し、バグが無くなるまでデバッグをして、完成したプログラムを、機械設備に導入するPLCにダウンロードする。
このように、本発明によれば、通信設定を含むユーザ定義アプリケーションを簡単に開発することができる。
(f2:ユーザ定義アプリケーションがCIP命令を含まない場合)
図26は、ユーザ定義アプリケーションがCIP命令を含まない場合の従来と本発明とのPLC導入時の差異を説明するための図である。図26を参照して、ユーザ定義アプリケーションがCIP命令を含まない場合は、PLCの通信の設定をするために、従来は、専用ツールを用いて設定するようにしていた。
図27は、従来のPLCの通信の設定をするための専用ツールの設定画面を示す第1の図である。図28は、従来のPLCの通信の設定をするための専用ツールの設定画面を示す第2の図である。図29は、従来のPLCの通信の設定をするための専用ツールの設定画面を示す第3の図である。
図27を参照して、この設定画面は、従来のTCP/IPの設定をするための画面である。図28を参照して、この設定画面は、従来のFTPの設定をするための画面である。図29を参照して、この設定画面は、従来のNTPの設定をするための画面である。
このように、従来は、このような専用ツールをわざわざ起動させ、それぞれの設定画面を開き、すべての設定値を手入力で入力する必要があった。
しかし、本発明のように、1命令で通信ネットワークでの通信の所定の設定を変更する上述した3つの通信設定命令を用いるようにすると、PLCのベンダ側で、通信の設定のための簡単なユーザ定義アプリケーションのプログラムを作成し、バグが無くなるまでデバッグして、完成したプログラムを、機械設備に導入するPLCにダウンロードしておく。そして、PLCのユーザ側で、そのプログラムを実行するだけで、通信の設定の変更を完了させることができる。
このように、本発明によれば、専用ツールを用いなくても、ユーザが簡単に通信設定を行うようにすることができる。
<G.まとめ>
以上説明したように、本発明の実施の形態におけるPLCの処理ユニット10によれば、以下のような効果が発揮される。
(1) 処理ユニット10は、通信ネットワークに接続可能で制御対象のシーケンス制御を実行する装置である。処理ユニット10は、処理ユニット10の命令セットに含まれる複数の命令が所定の実行順に並べられたユーザ定義アプリケーションを示す情報を記憶する不揮発性メモリ106と、不揮発性メモリ106に記憶された情報で示されるプログラムに含まれるそれぞれの命令にしたがった処理を、実行順に実行するプロセッサ100とを備える。命令セットは、通信ネットワークでの通信の所定の設定を1命令で変更するための通信設定命令を含む。
これによれば、通信ネットワークでの通信の所定の設定を1命令で変更するための通信設定命令をユーザ定義アプリケーションに組込むことができる。このため、通信の所定の設定を行う処理を含むユーザ定義アプリケーションを簡単に作成することができる。また、通信の所定の設定のための専用ツールを用いなくても、通信の所定の設定を簡単に行うことができる。その結果、通信ネットワークでの通信の所定の設定を簡単に行うことができる。
(2) 通信設定命令には、通信設定命令にしたがってプロセッサ100で実行される通信設定処理内容が予め対応付けられる。プロセッサ100は、ユーザ定義アプリケーションに含まれる命令が通信設定命令である場合、通信設定命令に対応する通信設定処理内容の処理を実行する。
これによれば、通信設定命令をユーザ定義アプリケーションに組込んでおくことで、通信設定命令に応じて通信設定処理内容の処理が実行されるようにすることができる。
(3) 所定の設定は、IPアドレスの変更設定、FTPアカウントの変更設定、または、NTPサーバのアドレスの変更設定である。
<H.変形例>
次に、上述した発明の実施の形態の変形例を説明する。
(1) 前述した実施の形態においては、1命令で通信ネットワークでの通信の所定の設定を変更可能なものとしたが、1命令に限定されず、比較的少ない命令数であれば同様の効果を得られる。
(2) 前述した実施の形態においては、サポート装置200でコンパイルされた実行形式のプログラムであるユーザ定義アプリケーションが、処理ユニット10に記憶されるようにした。しかし、これに限定されず、ユーザ定義アプリケーションのソースプログラムが処理ユニット10に記憶されるようにし、ソースプログラムに基づいてインタプリタ方式で処理が実行されるようにしてもよい。
(3) 前述した実施の形態においては、PLCがユニットごとに分かれた構成であることとした。しかし、これに限定されず、各ユニットの機能が1つの筺体に納められたものであってもよい。
(4) 前述した実施の形態においては、通信設定命令は、上述したIPアドレス変更命令、FTPアカウント変更命令、および、NTPサーバ宛先変更命令の3つであることとした。しかし、これに限定されず、通信ネットワークでの通信の所定の設定を1命令で変更するための命令であれば、他の命令であってもよい。
(5) 前述した実施の形態においては、PLCの処理ユニット10のような制御装置の発明として説明した。しかし、これに限定されず、制御装置の制御方法または制御プログラムとして発明を捉えることができる。また、制御装置の命令セットとして発明を捉えることができる。
(6) 今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
5 表示器、6 検出センサー、7 リレー、10 処理ユニット、11 システムバス、12 電源ユニット、13 接続ケーブル、14 ユニット、100 プロセッサ、102 チップセット、104 メインメモリ、106 不揮発性メモリ、108 システムタイマ、110 USBコネクタ、120 システムバスコントローラ、122,142 DMA制御回路、124 システムバス制御回路、126,146 バッファメモリ、130 システムバスコネクタ、140 ネットワークコントローラ、144 ネットワーク制御回路、160 スケジューラ、170 ユーザ定義アプリケーション、172 入力処理モジュール、174 出力処理モジュール、176 通信処理モジュール、178 システムモジュール、180 命令実行モジュール、184 メモリマネジャー、186 データ構造変換モジュール、190 リアルタイムOS、200 サポート装置、201 CPU、202 ROM、203 RAM、204 ハードディスク(HDD)、205 キーボード、206 マウス、207 モニタ、208 CD−ROMドライブ、240 OS、250 プログラミングアプリケーション、252,282 エディタ、254 コンパイラ、256 デバッガ、258 GUIモジュール、260 シミュレータ、270,290 データ格納部、274 ソースプログラム、280 ネットワーク設定アプリケーション、284 コンフィグレータ、286 関連付けモジュール、296 コネクション設定、300 CD−ROM、1762 プロトコル処理部、1764 TCP/IP処理部、1766 FTPサーバ処理部、1768 NTPクライアント処理部、NW ネットワーク、SYS システム。

Claims (5)

  1. 通信網に接続可能で制御対象のシーケンス制御を実行する制御装置であって、
    前記制御装置の命令セットに含まれる複数の命令が所定の実行順に並べられた命令列として前記シーケンス制御のためのユーザ定義アプリケーションプログラムを記憶する記憶部と、
    前記記憶部に記憶された前記ユーザ定義アプリケーションプログラムに含まれるそれぞれの前記命令にしたがった処理を、前記実行順に実行する制御部とを備え、
    前記命令セットは、前記通信網での通信の所定の設定を1命令で変更するための通信設定命令を含み、
    前記通信設定命令は、前記ユーザ定義アプリケーションプログラムに含めることが可能であり、命令列のラダー表示で1つの記号で示され、当該記号は、入力が必要な複数の入力変数を特定可能な情報、および、出力される複数の出力変数を特定可能な情報を示す、制御装置。
  2. 前記通信設定命令には、前記通信設定命令にしたがって前記制御部で実行される通信設定処理内容が予め対応付けられ、
    前記制御部は、前記命令列に含まれる前記命令が前記通信設定命令である場合、前記通信設定命令に対応する前記通信設定処理内容の処理を実行する、請求項1に記載の制御装置。
  3. 前記所定の設定は、インターネットプロトコルアドレスの変更設定、ファイルトランスファープロトコルのアカウントの変更設定、または、ネットワークタイムプロトコルサーバのアドレスの変更設定である、請求項1に記載の制御装置。
  4. 通信網に接続可能で制御対象のシーケンス制御を実行する制御装置の制御方法であって、
    前記制御装置の命令セットに含まれる複数の命令が所定の実行順に並べられた命令列として前記シーケンス制御のためのユーザ定義アプリケーションプログラムを記憶するステップと、
    記憶された前記ユーザ定義アプリケーションプログラムに含まれるそれぞれの前記命令にしたがった処理を、前記実行順に実行するステップとを含み、
    前記命令セットは、前記通信網での通信の所定の設定を1命令で変更するための通信設定命令を含み、
    前記通信設定命令は、前記ユーザ定義アプリケーションプログラムに含めることが可能であり、命令列のラダー表示で1つの記号で示され、当該記号は、入力が必要な複数の入力変数を特定可能な情報、および、出力される複数の出力変数を特定可能な情報を示す、制御方法。
  5. 通信網に接続可能で制御対象のシーケンス制御を実行する制御装置に所定の処理を実行させるための複数の命令を含む命令セットであって、
    前記制御装置は、前記制御装置の前記命令セットに含まれる複数の命令が所定の実行順に並べられた命令列として前記シーケンス制御のためのユーザ定義アプリケーションプログラムを記憶し、記憶された前記ユーザ定義アプリケーションプログラムに含まれるそれぞれの前記命令にしたがった処理を、前記実行順に実行する装置であり、
    前記命令セットは、前記通信網での通信の所定の設定を1命令で変更するための通信設定命令を含み、
    前記通信設定命令は、前記ユーザ定義アプリケーションプログラムに含めることが可能であり、命令列のラダー表示で1つの記号で示され、当該記号は、入力が必要な複数の入力変数を特定可能な情報、および、出力される複数の出力変数を特定可能な情報を示す、命令セット。
JP2012114002A 2012-05-18 2012-05-18 制御装置、制御方法および命令セット Active JP6362821B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012114002A JP6362821B2 (ja) 2012-05-18 2012-05-18 制御装置、制御方法および命令セット

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012114002A JP6362821B2 (ja) 2012-05-18 2012-05-18 制御装置、制御方法および命令セット

Publications (2)

Publication Number Publication Date
JP2013242629A JP2013242629A (ja) 2013-12-05
JP6362821B2 true JP6362821B2 (ja) 2018-07-25

Family

ID=49843475

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012114002A Active JP6362821B2 (ja) 2012-05-18 2012-05-18 制御装置、制御方法および命令セット

Country Status (1)

Country Link
JP (1) JP6362821B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6357770B2 (ja) * 2013-12-26 2018-07-18 オムロン株式会社 制御装置および通信制御方法
JP7020198B2 (ja) * 2018-03-09 2022-02-16 オムロン株式会社 制御装置および制御システム
JP6984499B2 (ja) * 2018-03-12 2021-12-22 オムロン株式会社 FA(Factory Automation)システム、コントローラ、および制御方法
JP6954190B2 (ja) 2018-03-12 2021-10-27 オムロン株式会社 制御システム、コントローラ、および制御方法
JP7379948B2 (ja) * 2019-08-30 2023-11-15 オムロン株式会社 サポート装置、サポートプログラムおよび設定方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3946312B2 (ja) * 1997-07-15 2007-07-18 富士電機ホールディングス株式会社 Pcのリモート支援システム及びその方法
JP3980131B2 (ja) * 1997-09-25 2007-09-26 松下電器産業株式会社 制御装置、初期設定可能通信システム、及び初期設定可能通信システムの制御方法
JP4327283B2 (ja) * 1999-01-26 2009-09-09 株式会社キーエンス プログラマブルコントローラ
JP4214384B2 (ja) * 2003-03-14 2009-01-28 オムロン株式会社 ファンクションブロック呼び出し命令を含むラダープログラムの表示切替方法及びプログラミング装置
JP3827092B2 (ja) * 2003-10-22 2006-09-27 オムロン株式会社 制御システム設定装置および制御システム設定方法ならびに設定プログラム
JP4849340B2 (ja) * 2007-04-03 2012-01-11 オムロン株式会社 プログラマブルコントローラ及びユニット
JP2011015095A (ja) * 2009-06-30 2011-01-20 Fujitsu Ltd 通信装置、アドレス設定方法およびアドレス設定プログラム

Also Published As

Publication number Publication date
JP2013242629A (ja) 2013-12-05

Similar Documents

Publication Publication Date Title
JP5942446B2 (ja) サポート装置およびサポートプログラム
US20190266066A1 (en) Web-Based Programming Environment for Embedded Devices
JP4807475B1 (ja) 演算ユニット、出力制御方法、およびプログラム
JP4894961B1 (ja) Plcのcpuユニット、plc用システムプログラムおよびplc用システムプログラムを格納した記録媒体
JP6540166B2 (ja) 制御装置
JP6362821B2 (ja) 制御装置、制御方法および命令セット
JP6171386B2 (ja) コントローラ、情報処理装置およびプログラム
US9898388B2 (en) Non-intrusive software verification
JP6299064B2 (ja) 制御装置、制御方法、およびプログラム
JP2016194830A (ja) 制御装置
WO2018147058A1 (ja) 制御装置
JP2016194831A (ja) 制御装置
JP5891891B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP2016012173A (ja) プログラマブル表示器
JP2022536061A (ja) ベースボード管理コントローラ及びその構築方法
KR20130079046A (ko) Hmi 시뮬레이터 및 plc 시뮬레이터간의 통신 시뮬레이션 시스템
JP6135247B2 (ja) 情報処理装置および情報処理プログラム
JP4600601B1 (ja) デバッグ支援装置、デバッグ支援方法及びデバッグ支援プログラム
KR20110037140A (ko) 임베디드 소프트웨어 가상 개발 환경을 제공하는 시스템
WO2020071435A1 (ja) 開発支援プログラム、開発支援装置、および開発支援方法
JP5212508B2 (ja) デバッグ装置
WO2022249713A1 (ja) 制御システム、システムプログラムおよびデバッグ方法
WO2022230611A1 (ja) 情報処理装置、方法およびプログラム
US20210165384A1 (en) Control system, support device, and recording medium
JP2023125352A (ja) シミュレーションシステム、方法およびシミュレーションプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150518

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160329

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160526

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160705

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20161101

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170127

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20170209

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20170331

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180627

R150 Certificate of patent or registration of utility model

Ref document number: 6362821

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