図面 (/)

技術 制御装置、制御方法および命令セット

出願人 オムロン株式会社
発明者 黒川陽一五十嵐久則川口慎一郎
出願日 2012年5月18日 (8年7ヶ月経過) 出願番号 2012-114002
公開日 2013年12月5日 (7年0ヶ月経過) 公開番号 2013-242629
状態 特許登録済
技術分野 プログラマブルコントロ-ラ
主要キーワード 各出力変数 システム設定パラメータ 通信処理モジュール メモリマネジャ NTPクライアント 産業用イーサネット IOユニット 設定範囲外
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2013年12月5日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (20)

課題

通信網での通信の所定の設定を簡単に行うこと。

解決手段

制御装置は、通信網に接続可能で制御対象シーケンス制御を実行する装置である。制御装置は、制御装置の命令セットに含まれる複数の命令が所定の実行順に並べられた命令列を示す情報を記憶する記憶部と、記憶部に記憶された情報で示される命令列に含まれるそれぞれの命令にしたがった処理を、実行順に実行する制御部とを備える。命令セットは、通信網での通信の所定の設定を1命令で変更するための通信設定命令を含む。

概要

背景

従来、PLCの周辺機器であるデータ収集システムにおいて、データ収集子機IPアドレスは予めデータ収集親機に記憶されており、データ収集子機の設定をデータ収集親機から行うことが可能とされたものがあった(たとえば、特許文献1)。

概要

通信網での通信の所定の設定を簡単に行うこと。制御装置は、通信網に接続可能で制御対象シーケンス制御を実行する装置である。制御装置は、制御装置の命令セットに含まれる複数の命令が所定の実行順に並べられた命令列を示す情報を記憶する記憶部と、記憶部に記憶された情報で示される命令列に含まれるそれぞれの命令にしたがった処理を、実行順に実行する制御部とを備える。命令セットは、通信網での通信の所定の設定を1命令で変更するための通信設定命令を含む。

目的

この発明は、上述の問題を解決するためになされたものであり、その目的の1つは、通信網での通信の所定の設定を簡単に行うことが可能な制御装置、制御方法および命令セットを提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

通信網接続可能で制御対象シーケンス制御を実行する制御装置であって、前記制御装置の命令セットに含まれる複数の命令が所定の実行順に並べられた命令列を示す情報を記憶する記憶部と、前記記憶部に記憶された情報で示される前記命令列に含まれるそれぞれの前記命令にしたがった処理を、前記実行順に実行する制御部とを備え、前記命令セットは、前記通信網での通信の所定の設定を1命令で変更するための通信設定命令を含む、制御装置。

請求項2

前記通信設定命令には、前記通信設定命令にしたがって前記制御部で実行される通信設定処理内容が予め対応付けられ、前記制御部は、前記命令列に含まれる前記命令が前記通信設定命令である場合、前記通信設定命令に対応する前記通信設定処理内容の処理を実行する、請求項1に記載の制御装置。

請求項3

前記所定の設定は、インターネットプロトコルアドレス変更設定ファイルトランスファープロトコルアカウントの変更設定、または、ネットワークタイムプロトコルサーバアドレスの変更設定である、請求項1に記載の制御装置。

請求項4

通信網に接続可能で制御対象のシーケンス制御を実行する制御装置の制御方法であって、前記制御装置の命令セットに含まれる複数の命令が所定の実行順に並べられた命令列を示す情報を記憶するステップと、記憶された情報で示される前記命令列に含まれるそれぞれの前記命令にしたがった処理を、前記実行順に実行するステップとを含み、前記命令セットは、前記通信網での通信の所定の設定を1命令で変更するための通信設定命令を含む、制御方法。

請求項5

通信網に接続可能で制御対象のシーケンス制御を実行する制御装置に所定の処理を実行させるための複数の命令を含む命令セットであって、前記制御装置は、前記制御装置の前記命令セットに含まれる複数の命令が所定の実行順に並べられた命令列を示す情報を記憶し、記憶された情報で示される前記命令列に含まれるそれぞれの前記命令にしたがった処理を、前記実行順に実行する装置であり、前記命令セットは、前記通信網での通信の所定の設定を1命令で変更するための通信設定命令を含む、命令セット。

技術分野

0001

この発明は、制御装置制御方法および命令セットに関し、特に、通信網接続可能で制御対象シーケンス制御を実行するのに適した制御装置、その制御装置の制御方法、および、その制御装置の命令セットに関する。

背景技術

0002

従来、PLCの周辺機器であるデータ収集システムにおいて、データ収集子機IPアドレスは予めデータ収集親機に記憶されており、データ収集子機の設定をデータ収集親機から行うことが可能とされたものがあった(たとえば、特許文献1)。

先行技術

0003

特開2006−215999号公報

発明が解決しようとする課題

0004

しかし、特許文献1のシステムでは、データ収集親機とデータ収集子機との通信の設定は、予め、データ収集親機とデータ収集子機とで、それぞれ行われている必要があった。この設定においては、たとえば、データ収集親機のIPアドレスをデータ収集子機に記憶させたり、データ収集子機のIPアドレスをデータ収集親機に記憶させたりしなければならない。

0005

PLCにおいて、このような設定を、CI命令を組み込んだユーザ定義アプリケーションで行う場合、CIP命令に関する知識が必要であったり、複雑なプログラムを組んだりする必要があった。

0006

この発明は、上述の問題を解決するためになされたものであり、その目的の1つは、通信網での通信の所定の設定を簡単に行うことが可能な制御装置、制御方法および命令セットを提供することである。

課題を解決するための手段

0007

上述の目的を達成するために、この発明のある局面によれば、制御装置は、通信網に接続可能で制御対象のシーケンス制御を実行する装置である。制御装置は、制御装置の命令セットに含まれる複数の命令が所定の実行順に並べられた命令列を示す情報を記憶する記憶部と、記憶部に記憶された情報で示される命令列に含まれるそれぞれの命令にしたがった処理を、実行順に実行する制御部とを備える。命令セットは、通信網での通信の所定の設定を1命令で変更するための通信設定命令を含む。

0008

好ましくは、通信設定命令には、通信設定命令にしたがって制御部で実行される通信設定処理内容が予め対応付けられる。制御部は、命令列に含まれる命令が通信設定命令である場合、通信設定命令に対応する通信設定処理内容の処理を実行する。

0010

この発明の他の局面によれば、制御方法は、通信網に接続可能で制御対象のシーケンス制御を実行する制御装置の制御方法である。制御方法は、制御装置の命令セットに含まれる複数の命令が所定の実行順に並べられた命令列を示す情報を記憶するステップと、記憶された情報で示される命令列に含まれるそれぞれの命令にしたがった処理を、実行順に実行するステップとを含む。命令セットは、通信網での通信の所定の設定を1命令で変更するための通信設定命令を含む。

0011

この発明のさらに他の局面によれば、命令セットは、通信網に接続可能で制御対象のシーケンス制御を実行する制御装置に所定の処理を実行させるための複数の命令を含む命令セットである。制御装置は、制御装置の命令セットに含まれる複数の命令が所定の実行順に並べられた命令列を示す情報を記憶し、記憶された情報で示される命令列に含まれるそれぞれの命令にしたがった処理を、実行順に実行する装置である。命令セットは、通信網での通信の所定の設定を1命令で変更するための通信設定命令を含む。

発明の効果

0012

この発明に従えば、通信網での通信の所定の設定を簡単に行うことが可能な制御装置、制御方法および命令セットを提供することができる。

図面の簡単な説明

0013

本発明の実施の形態に係る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の図である。

実施例

0014

本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。

0015

<A.システム構成
まず、サポート装置によって使用および運用支援されるPLCを含むシステムについて説明する。

0016

図1は、本発明の実施の形態に係るPLCシステムSYSを示す模式図である。本実施の形態に係るPLCシステムSYSは、ネットワークNWを介してネットワーク接続された複数のPLC(PLC1,PLC2,PLC3)を含む。これらのPLCの種別は必ずしも同一ではないとする。

0017

本明細書において「PLCの種別」とは、主として、プログラムによるデータの書込み、読出し更新などの処理において利用(参照)されるデータ構造が同一であるか否かという観点を示すものである。例えば、2つのPLCの間で、いずれのデータ型であっても、一方のPLCが書込んだデータを他方のPLCが本来のデータの意味で解釈できる場合には、「PLCの種別が同一」であるとする。これに対して、あるデータ型について、一方のPLCが書込んだデータを他方のPLCが本来のデータの意味で解釈できない場合には、「PLCの種別が同一ではない(種別が別である)」であるとする。言い換えれば、あるPLCがネットワークNWを介して自装置のデータを送信した場合に、別のPLCがその送信されたデータを受信して正しく解釈できるか否かという観点に着目して、「PLCの種別」が判断される。

0018

以下の説明では、典型例として、PLC1,PLC2,PLC3の間では、種別が異なっているものとする。しかしながら、PLC1とPLC2との間、PLC2とPLC3との間、およびPLC3とPLC1との間では、ネットワークNWを介してデータを遣り取りする必要があるものとする。本実施の形態に係るサポート装置200は、このような状況下において、PLC間でのデータの遣り取りを適合化する。

0019

各PLCは、プログラムを実行する主体である処理ユニット10と、処理ユニット10などへ電力を供給する電源ユニット12と、フィールドからの信号を遣り取りするIO(Input/Output)ユニット14とを含む。IOユニット14は、処理ユニット10とシステムバス11を介して接続されている。典型的には、IOユニット14は、フィールド機器である検出センサー6から入力信号を取得し、また処理ユニット10でのプログラムの実行結果に応じてフィールド機器であるリレー7を駆動する。

0020

表示器5は、タッチパネルなどの操作部と液晶ディスプレイなどの表示部と処理ユニット10と通信する通信部と各部を制御する制御部とを備える。

0021

各PLCは、表示器5の操作部による操作に応じて各種の設定の変更が可能であり、PLCの所定の情報を表示器5に表示させることが可能である。

0022

サポート装置200は、PLCで実行されるプログラム(以下「実行可能プログラム」とも称す)を生成する機能とともに、接続先のPLCの運転状態や各種データの値などをモニタする機能を有している。さらに、サポート装置200は、ユーザによる実行可能プログラムの生成を支援するため、デバック機能やシミュレーション機能を有していてもよい。

0023

<B.ハードウェア構成>
次に、図1に示すPLCシステムSYSを構成するPLCおよびサポート装置200のハードウェア構成について説明する。

0024

(b1:PLCのハードウェア構成)
図2は、本発明の実施の形態に係るPLCの処理ユニット10のハードウェア構成を示す模式図である。図2を参照して、処理ユニット10は、プロセッサ100と、チップセット102と、メインメモリ104と、不揮発性メモリ106と、システムタイマ108と、システムバスコントローラ120と、ネットワークコントローラ140と、USBコネクタ110とを含む。チップセット102と他のコンポーネントとの間は、各種のバスを介してそれぞれ結合されている。

0025

プロセッサ100およびチップセット102は、典型的には、汎用的なコンピュータアーキテクチャに準じて構成される。すなわち、プロセッサ100は、チップセット102から内部クロックに従って順次供給される命令コードを解釈して実行する。チップセット102は、接続されている各種コンポーネントとの間で内部的なデータを遣り取りするとともに、プロセッサ100に必要な命令コードを生成する。さらに、チップセット102は、プロセッサ100での演算処理の実行の結果得られたデータなどをキャッシュする機能を有する。

0026

処理ユニット10は、メモリとして、メインメモリ104および不揮発性メモリ106を有する。

0027

メインメモリ104は、揮発性の記憶領域であり、処理ユニット10への電源投入後にプロセッサ100で実行されるべき各種プログラムを格納する。メインメモリ104は、プロセッサ100による各種プログラムの実行時の作業用メモリとしても使用される。このようなメインメモリ104としては、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)といったデバイスが用いられる。

0028

不揮発性メモリ106は、リアルタイムOS(Operating System)、システムプログラム、実行可能プログラムといった各種プログラム(モジュール)、およびシステム設定パラメータといったデータを不揮発的に格納する。これらのプログラムやデータは、必要に応じて、プロセッサ100がアクセスできるようにメインメモリ104にコピーされる。このような不揮発性メモリ106としては、フラッシュメモリのような半導体メモリを用いることができる。あるいは、ハードディスクドライブのような磁気記録媒体や、DVD−RAM(Digital Versatile Disk Random Access Memory)のような光学記録媒体などを用いることもできる。

0029

システムタイマ108は、一定周期ごとに割り込み信号を発生してプロセッサ100に提供する。典型的には、ハードウェア仕様によって、複数の異なる周期でそれぞれ割り込み信号を発生するように構成されるが、OS(Operating System)やBIOS(Basic Input Output System)などによって、任意の周期で割り込み信号を発生するように設定することもできる。

0030

処理ユニット10は、通信インターフェイスとして、システムバスコントローラ120およびネットワークコントローラ140を有する。これらの通信インターフェイスは、出力データの送信および入力データの受信を行う。

0031

システムバスコントローラ120は、システムバス11を介したデータの遣り取りを制御する。より具体的には、システムバスコントローラ120は、DMA(Dynamic Memory Access)制御回路122と、システムバス制御回路124と、バッファメモリ126とを含む。システムバスコントローラ120は、システムバスコネクタ130を介してシステムバス11と内部的に接続される。

0032

バッファメモリ126は、システムバス11を介してIOユニット14へ出力されるデータの送信バッファ、および、システムバス11を介してIOユニット14から入力されるデータの受信バッファとして機能する。

0033

DMA制御回路122は、メインメモリ104からバッファメモリ126への出力データの転送、および、バッファメモリ126からメインメモリ104への入力データの転送を行う。

0034

システムバス制御回路124は、システムバス11に接続されるIOユニット14との間で、バッファメモリ126の出力データを送信する処理および入力データを受信してバッファメモリ126に格納する処理を行う。

0035

ネットワークコントローラ140は、ネットワークNWを介した他のPLCとの間のデータの遣り取りを制御する。すなわち、ネットワークコントローラ140は、用いられるネットワーク規格に従い、出力データの送信および入力データの受信を制御する。一例として、OSI参照モデル物理層およびデータリンク層としてイーサネット登録商標)を採用し、OSI参照モデルのネットワーク層およびトランスポート層としてTCP/IPまたはUDP/IPを採用し、OSI参照モデルのセッション層プレゼンテーション層およびアプリケーション層として産業用共通プロトコル(CIP:Common Industrial Protocol)を採用したような構成が採用される。

0036

上述のようなネットワーク規格に限られることなく、各種の産業用イーサネット(登録商標)を用いることができる。産業用イーサネット(登録商標)としては、たとえば、EtherCAT(登録商標)、Profinet IRT、MECHATROLINK(登録商標)−III、Powerlink、SERCOS(登録商標)−III、CIP Motionなどが知られている。

0037

バッファメモリ146は、ネットワークNWを介して他のPLCへ出力されるデータの送信バッファ、および、ネットワークNWを介して他のPLCから入力されるデータの受信バッファとして機能する。

0038

DMA制御回路142は、メインメモリ104からバッファメモリ146への出力データの転送、および、バッファメモリ146からメインメモリ104への入力データの転送を行う。

0039

ネットワーク制御回路144は、ネットワークNWに接続される他のPLCとの間で、バッファメモリ146の出力データを送信する処理および入力データを受信してバッファメモリ146に格納する処理を行う。典型的には、ネットワーク制御回路144は、ネットワークNWにおける物理層およびデータリンク層の機能を提供する。

0040

USBコネクタ110は、サポート装置200と処理ユニット10とを接続するための通信インターフェイスである。典型的には、サポート装置200から転送される、処理ユニット10のプロセッサ100で実行可能なプログラムなどは、USBコネクタ110を介してPLCに取込まれる。

0041

(b2:サポート装置のハードウェア構成)
図3は、本発明の実施の形態に係るサポート装置200のハードウェア構成を示す模式図である。図3を参照して、サポート装置200は、典型的には、汎用のコンピュータで構成される。なお、メンテナンス性の観点からは、可搬性に優れたノート型パーソナルコンピュータが好ましい。

0042

図3を参照して、サポート装置200は、OSを含む各種プログラムを実行するCPU201と、BIOSや各種データを格納するROM(Read Only Memory)202と、CPU201でのプログラムの実行に必要なデータを格納するための作業領域を提供するメモリRAM203と、CPU201で実行されるプログラムなどを不揮発的に格納するハードディスク(HDD)204とを含む。

0043

サポート装置200は、さらに、ユーザからの操作を受け付けキーボード205およびマウス206と、情報をユーザに提示するためのモニタ207とを含む。サポート装置200は、PLC(処理ユニット10)などと通信するための通信インターフェイス(IF)209を含む。

0044

後述するように、サポート装置200で実行される各種プログラムは、CD−ROM300に格納されて流通する。このCD−ROM300に格納されたプログラムは、CD−ROM(Compact Disk-Read Only Memory)ドライブ208によって読取られ、ハードディスク(HDD)204などへ格納される。あるいは、上位のホストコンピュータなどからネットワークを通じてプログラムをダウンロードするように構成してもよい。

0045

<C.ソフトウェア構成>
(c1:PLCのソフトウェア構成)
次に、PLC(処理ユニット10)が各種機能を提供するためのソフトウェア構成について説明する。

0046

図4は、本発明の実施の形態に係るPLCの処理ユニット10に実装されるソフトウェア構成を示す模式図である。図4に示すソフトウェアに含まれる命令コードは、適切なタイミングで読出され、処理ユニット10のプロセッサ100へ提供されて実行される。

0047

図4を参照して、処理ユニット10には、リアルタイムOS190上にPLCでの処理に必要なプログラムが実装される。

0048

リアルタイムOS190は、処理ユニット10のコンピュータアーキテクチャに応じて設計されており、プロセッサ100がPLCでの処理に必要なプログラムを実行するための基本的な実行環境を提供する。より具体的には、リアルタイムOS190は、複数のプログラムを時間の経過に従い切り替えて実行するための環境を提供する。リアルタイムOS190は、制御サイクル開始の割り込みが発生すると、プロセッサ100での実行対象を、割り込み発生時点で実行中のプログラムからスケジューラ160に切り替える。

0049

本実施の形態に係る実行可能プログラムとしては、基本的には、ユーザ定義アプリケーション170が想定されている。ユーザ定義アプリケーション170は、サポート装置200によって生成され、サポート装置200から処理ユニット10へ転送される。なお、ユーザ定義アプリケーション170の実行に必要な一部のモジュール(あるいは、ライブラリ)については、処理ユニット10に予め格納されており、これらを適切なタイミングで呼び出して利用する形態(シンボリックリンク)を採用してもよい。この場合、サポート装置200は、一部のモジュールを含まない実行可能プログラムを生成することになる。あるいは、ユーザ定義アプリケーション170および命令実行モジュール180を含めて、実行可能プログラムとしてもよい。

0050

より具体的には、処理ユニット10には、スケジューラ160と、ユーザ定義アプリケーション170と、入力処理モジュール172と、出力処理モジュール174と、通信処理モジュール176と、その他のシステムモジュール178と、命令実行モジュール180と、メモリマネジャー184と、データ構造変換モジュール186とが実装される。

0051

スケジューラ160は、ユーザ定義アプリケーション170、入力処理モジュール172、出力処理モジュール174、および通信処理モジュール176について、実行開始タイミング処理中断を制御することで、各実行サイクルでの処理を保証する。より具体的には、1つの制御サイクル内ですべての処理を完了できないことも多く、この場合には、スケジューラ160は、実行すべき処理の優先度などに応じて、各制御サイクルにおいて実行を完了すべき処理と、複数の制御サイクルに亘って実行してもよい処理とを区分する。すなわち、スケジューラ160は、各制御サイクル期間内において、より高い優先度が与えられているプログラムほど先に実行する。

0052

ユーザ定義アプリケーション170は、ユーザがその制御目的に応じて作成する。すなわち、PLCシステムSYSを用いて制御する対象のライン(プロセス)などに応じて、任意に設計されるプログラムである。より具体的には、ユーザ定義アプリケーション170は、サポート装置200などにおいて、ラダー言語などによって記述されたソースプログラムコンパイルされることで生成される。生成された実行可能(オブジェクトプログラム形式のユーザ定義アプリケーション170は、サポート装置200から接続ケーブル13を介して処理ユニット10へ転送され、不揮発性メモリ106などに格納される。

0053

ユーザ定義アプリケーション170は、シーケンス処理およびモーション演算などの特殊処理を含み得る。ユーザ定義アプリケーション170は、命令実行モジュール180と協働して、ユーザ定義アプリケーション170に含まれる処理を実現する。より具体的には、ユーザ定義アプリケーション170は、命令実行モジュール180によって提供される命令や関数などを利用することで、プログラムされた動作を実現する。

0054

命令実行モジュール180は、ユーザ定義アプリケーション170に定義された何らかのシーケンス命令あるいは何らかのファンクション命令が実行されるときに呼び出される。

0055

入力処理モジュール172は、システムバスコントローラ120によって受信された入力データを、ユーザ定義アプリケーション170が使用するのに適した形式再配置する。出力処理モジュール174は、ユーザ定義アプリケーション170の実行によって生成された出力データを、システムバスコントローラ120へ転送するのに適した形式に再配置する。

0056

通信処理モジュール176は、ネットワークコントローラ140による他のPLCとの間の通信処理のタイミングを制御する。通信処理モジュール176は、さらに、ネットワークコントローラ140が他のPLCから受信された入力データをユーザ定義アプリケーション170が使用するのに適した形式に再配置するとともに、ユーザ定義アプリケーション170の実行によって生成された出力データを、ネットワークコントローラ140へ転送するのに適した形式に再配置する。

0057

その他のシステムモジュール178は、図4に個別に示したプログラム以外の、PLC1の各種機能を実現するための1つまたは複数のモジュールをまとめて示したものである。

0058

メモリマネジャー184は、メインメモリ104に格納されるデータを管理する。
データ構造変換モジュール186は、他のPLCとの間でデータ交換を行うために、データ構造をPLCの種別毎に定義されるデータ構造に適合させる。すなわち、データ構造変換モジュール186は、自PLCが扱うデータのデータ構造を他のPLCが扱うデータ構造に変換する。

0059

上述した、実行可能プログラム(ユーザ定義アプリケーション170単体またはユーザ定義アプリケーション170および命令実行モジュール180)は、記憶手段であるメインメモリ104および/または不揮発性メモリ106に格納される。

0060

(c2:サポート装置のソフトウェア構成)
次に、サポート装置200が各種機能を提供するためのソフトウェア構成について説明する。

0061

図5は、本発明の実施の形態に係るサポート装置200に実装されるソフトウェア構成を示す模式図である。図5に示すソフトウェアに含まれる命令コードは、適切なタイミングで読出され、サポート装置200のCPU201へ提供されて実行される。

0062

図5を参照して、サポート装置200には、OS240、プログラミングアプリケーション250およびネットワーク設定アプリケーション280が実装される。サポート装置200ではOS240が実行され、プログラミングアプリケーション250およびネットワーク設定アプリケーション280を実行可能な環境が提供される。本実施の形態に係るサポート装置200を実現するためのサポートプログラムは、少なくともプログラミングアプリケーション250を含む。

0063

プログラミングアプリケーション250は、エディタ252と、コンパイラ254と、デバッガ256と、GUI(Graphical User Interface)モジュール258と、シミュレータ260と、データ格納部270とを含む。プログラミングアプリケーション250に含まれるそれぞれのモジュールは、典型的には、CD−ROM300に格納された状態で流通して、サポート装置200にインストールされる。

0064

エディタ252は、実行可能プログラム(ソースプログラム274)を作成するための入力および編集といった機能を提供する。より具体的には、エディタ252は、ユーザがキーボード205やマウス206を操作してユーザ定義アプリケーション170のソースプログラム274を作成する機能に加えて、作成したソースプログラム274の保存機能および編集機能を提供する。

0065

コンパイラ254は、ユーザ定義アプリケーション170のソースプログラム274をコンパイルして、処理ユニット10のプロセッサ100で実行可能(オブジェクト)プログラム形式の実行可能プログラムを生成する機能を提供する。

0066

デバッガ256は、実行可能プログラム(ソースプログラム274)に対してデバッグを行うための機能を提供する。このデバッグの内容としては、ソースプログラム274のうちユーザが指定した範囲を部分的に実行する、ソースプログラム274の実行中における変数値の時間的な変化を追跡する、といった動作を含む。

0067

GUIモジュール258は、ユーザが各種データやパラメータなどを入力するためのユーザインターフェイスを提供する機能を有する。

0068

シミュレータ260は、サポート装置200内にPLC1の処理ユニット10でのプログラムの実行をシミュレーションする環境を構築する。

0069

データ格納部270は、ユーザが作成したソースプログラム274やプログラムの実行に必要な変数設定272を格納する。

0070

ネットワーク設定アプリケーション280は、PLC間のデータの遣り取りに係る設定を行うための機能を提供する。ネットワーク設定アプリケーション280は、エディタ282と、コンフィグレータ284と、関連付けモジュール286と、データ格納部290とを含む。ネットワーク設定アプリケーション280に含まれるそれぞれのモジュールは、典型的には、CD−ROM300に格納された状態で流通して、サポート装置200にインストールされる。

0071

エディタ282は、PLC間で遣り取りされるデータ(変数)の設定情報の入力および編集といった機能を提供する。より具体的には、エディタ282は、ユーザがキーボード205やマウス206を操作して、PLC間で遣り取りされる変数などを指定する機能に加えて、入力された設定情報の保存機能および編集機能を提供する。また、エディタ282は、ネットワーク接続されたPLCからその変数設定などを取得(ダウンロード)することもできる。

0072

コンフィグレータ284は、PLC間でデータを遣り取りするための設定を対象のPLCへ設定する機能を提供する。このコンフィグレータ284によって各PLCへ設定される情報をコネクション設定296とも称す。

0073

関連付けモジュール286は、遣り取りされるデータ毎に、対象のPLC間の関連付けを行う機能を提供する。すなわち、関連付けモジュール286は、PLCの別にコネクション設定296を生成する。

0074

データ格納部290は、PLCから取得した変数の情報を示す変数設定292,294およびコネクション設定296を格納する。

0075

<D.特徴的な命令>
本発明の実施の形態においては、処理ユニット10の命令セットのうち、特徴的な命令として、IP(Internet Protocol)アドレス変更命令、FTP(File Transfer Protocol)アカウント変更命令、および、NTP(Network Time Protocol)サーバ宛先変更命令が設けられている。以下、これらの3つの命令を、通信設定命令ともいう。

0076

(d1:IPアドレス変更命令)
図6は、本発明の実施の形態に係るPLCのIPアドレス変更命令の概要を説明するための図である。図6を参照して、処理ユニット10には、IPアドレス変更命令ChangeIPAdrが組込まれたユーザ定義アプリケーション170が、サポート装置200から転送され、不揮発性メモリ106に予め記憶されている。

0077

図7は、本発明の実施の形態に係るPLCのIPアドレス変更命令のラダー表示を示す図である。図8は、本発明の実施の形態に係るPLCのIPアドレス変更命令の入力変数を示す図である。図9は、本発明の実施の形態に係るPLCのIPアドレス変更命令の出力変数を示す図である。

0078

図7から図9を参照して、IPアドレス変更命令は、処理ユニット10の内蔵のネットワークコントローラ140、または、処理ユニット10にシステムバス11を介して接続された外部機器(たとえば、IOユニット14など)の、BootP設定、IPアドレス、サブネットマスク、および、デフォルトゲートウェイを変更する命令である。

0079

IPアドレス変更命令には、図7および図8で示すように、入力変数として、実行条件:Execute、ユニット番号:UnitNo、BOOTP設定:BootPControl、IPアドレス:IPAdr、サブネットマスク:SubnetMask、および、デフォルトゲートウェイ:DefaultGatewayが設けられる。各入力変数の内容などは、図8で示すとおりである。

0080

また、IPアドレス変更命令には、図7および図9で示すように、出力変数として、正常終了:Done、命令ビジー:Busy、エラー:Error、および、エラーID:ErrorIDが設けられる。各出力変数の内容などは、図9で示すとおりである。

0081

また、IPアドレス変更命令のラダー表示は、図7で示した通りであるが、ST(Structured Text)表示(構造化テキスト言語での表示)では、「ChangeIPAdr_instance(Execute,UnitNo,BootPControl,IPAdr,SubnetMask,DefaultGateway,Done,Busy,Error,ErrorID,);」と記載される。ここで、ChangeIPAdr_instanceは、ChangeIPAdr命令のインスタンスとして宣言されているものとする。

0082

図6を再び参照して、処理ユニット10において、メインメモリ104に、ネットワーク変数newIPAddressおよびネットワーク変数ChangeTrrigerが設定されている。

0083

たとえば、処理ユニット10または外部機器を導入する通信ネットワーククラスAのネットワークであり、処理ユニット10が納入時にクラスCのIPアドレスに設定されている場合、処理ユニット10または外部機器のIPアドレスをクラスAに設定し直す必要がある。

0084

このような場合に、表示器5で、クラスAのIPアドレスが入力され、「変更」ボタンが操作されると、ネットワーク変数newIPAddressに、表示器5で入力されたIPアドレスが書込まれ、ネットワーク変数ChangeTrrigerにTRUEが書込まれる。

0085

これにより、ChangeTrrigerのA接点オンになり、ChangeIPAdr命令のExecuteがTRUEとなる。これに応じて、ChangeIPAdr命令がプロセッサ100によって実行され、処理ユニット10のIPアドレスが、ネットワーク変数newIPAddressに書込まれたIPアドレスに設定され、BOOTP設定が、BootPControlの値に設定され、サブネットマスクが「FFFFFF00」に設定され、デフォルトゲートウェイが「00000000」に設定される。これらの設定が終了すると、ChangeIPAdrのDoneがTRUEとされる。

0086

このように、1命令でIPアドレスを設定できるIPアドレス変更命令ChangeIPAdrが組込まれたユーザ定義アプリケーション170を、処理ユニット10の不揮発性メモリ106に予め記憶させておき、実行させるだけで、簡単に、処理ユニット10または外部機器のIPアドレスが設定される。

0087

次に、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の場合は通信機能が利用できない。

0088

図11は、本発明の実施の形態に係るPLCのIPアドレス変更命令の各入力変数の設定可能範囲を示す図である。図11を参照して、IPアドレス、サブネットマスク、および、デフォルトゲートウェイの設定可能範囲は、図で示すとおりである。これらの範囲を超える場合には、ErrorがTRUEとなる。

0089

また、ユニット番号およびBOOTP設定が設定範囲外である場合、ならびに、変更ができない状態である場合、ならびに、外部機器のリスタート処理が失敗した場合、ならびに、通信設定命令の同時実行数オーバーの場合も、ErrorがTRUEとなる。変更ができない状態とは、ネットワークコントローラ140がリスタート中である状態、CIPメッセージにより設定が変更中の状態、または、通信処理モジュール176からタグデータリンク設定をダウンロード中の状態である。

0090

図12は、本発明の実施の形態に係るPLCのIPアドレス変更命令を用いたサンプルプログラムを示す第1の図である。図13は、本発明の実施の形態に係るPLCのIPアドレス変更命令を用いたサンプルプログラムを示す第2の図である。

0091

図12および図13を参照して、このサンプルプログラムには、IPアドレス変更命令が組込まれている。まず、起動条件チェックされる。次に、IPアドレス変更命令に入力される新しいIPアドレスなどのパラメータが設定される。そして、IPアドレス変更命令が実行されることにより、入力されたIPアドレスなどのパラメータが設定される。

0092

図14は、本発明の実施の形態に係るPLCのIPアドレス変更命令を用いたサンプルプログラムをST表示で示す図である。図14を参照して、このサンプルプログラムは、ラダー表示で示した図12および図13のサンプルプログラムをST表示で示したものである。

0093

(d2:FTPアカウント変更命令)
図15は、本発明の実施の形態に係るPLCのFTPアカウント変更命令のラダー表示を示す図である。図16は、本発明の実施の形態に係るPLCのFTPアカウント変更命令の入力変数を示す図である。図17は、本発明の実施の形態に係るPLCのFTPアカウント変更命令の出力変数を示す図である。

0094

図15から図17を参照して、FTPアカウント変更命令は、処理ユニット10の内蔵のネットワークコントローラ140、または、処理ユニット10にシステムバス11を介して接続された外部機器の、FTPアカウントを変更する命令である。

0095

FTPアカウント変更命令には、図15および図16で示すように、入力変数として、実行条件:Execute、ユニット番号:UnitNo、ログイン名称:NewUserName、および、パスワード:NewPasswordが設けられる。各入力変数の内容などは、図16で示すとおりである。

0096

また、FTPアカウント変更命令には、図15および図17で示すように、出力変数として、正常終了:Done、命令ビジー:Busy、エラー:Error、および、エラーID:ErrorIDが設けられる。各出力変数の内容などは、図17で示すとおりである。

0097

また、FTPアカウント変更命令のラダー表示は、図15で示した通りであるが、ST表示では、「ChangeFTPAccount_instance(Execute,UnitNo,NewUserName,NewPassword,Done,Busy,Error,ErrorID,);」と記載される。ここで、ChangeFTPAccount_instanceは、ChangeFTPAccount命令のインスタンスとして宣言されているものとする。

0098

次に、FTPアカウント変更命令により実行される機能を説明する。FTPアカウント変更命令において、ExecuteがFALSEからTRUEに変化したとき、NewUserNameおよびNewPasswordの値が、処理ユニット10の内蔵のネットワークコントローラ140、または、処理ユニット10にシステムバス11を介して接続された外部機器に、書込まれる。この書込みの実行中は、BusyがTRUEとなる。そして、書込みの完了時に、BusyがFalseとなり、DoneがTRUEとなる。ネットワークコントローラ140の場合、書込まれた設定は、書込みの完了後に反映される。

0099

図18は、本発明の実施の形態に係るPLCのFTPアカウント変更命令の各入力変数の設定可能範囲を示す図である。図18を参照して、ログイン名、および、パスワードの設定可能範囲は、図で示すとおりである。これらの範囲を超える場合には、ErrorがTRUEとなる。

0100

また、ユニット番号が設定範囲外である場合、ならびに、変更ができない状態である場合、ならびに、外部機器のリスタート処理が失敗した場合、ならびに、通信設定命令の同時実行数オーバーの場合も、ErrorがTRUEとなる。変更ができない状態とは、ネットワークコントローラ140がリスタート中である状態、CIPメッセージにより設定が変更中の状態、または、通信処理モジュール176からタグデータリンク設定をダウンロード中の状態である。

0101

(d3:NTPサーバ宛先変更命令)
図19は、本発明の実施の形態に係るPLCのNTPサーバ宛先変更命令のラダー表示を示す図である。図20は、本発明の実施の形態に係るPLCのNTPサーバ宛先変更命令の入力変数を示す図である。図21は、本発明の実施の形態に係るPLCのNTPサーバ宛先変更命令の出力変数を示す図である。

0102

図19から図21を参照して、NTPサーバ宛先変更命令は、処理ユニット10の内蔵のネットワークコントローラ140、または、処理ユニット10にシステムバス11を介して接続された外部機器の、NTPサーバの設定を変更する命令である。

0103

NTPサーバ宛先変更命令には、図19および図20で示すように、入力変数として、実行条件:Execute、ユニット番号:UnitNo、サーバ指定方法:AdrType、サーバIPアドレス:IPAdr、および、サーバホスト名:HostNameが設けられる。各入力変数の内容などは、図20で示すとおりである。

0104

また、NTPサーバ宛先変更命令には、図19および図21で示すように、出力変数として、正常終了:Done、命令ビジー:Busy、エラー:Error、および、エラーID:ErrorIDが設けられる。各出力変数の内容などは、図21で示すとおりである。

0105

また、NTPサーバ宛先変更命令のラダー表示は、図19で示した通りであるが、ST表示では、「ChangeNTPServerAdr_instance(Execute,UnitNo,AdrType,IPAdr,HostName,Done,Busy,Error,ErrorID,);」と記載される。ここで、ChangeNTPServerAdr_instanceは、ChangeNTPServerAdr命令のインスタンスとして宣言されているものとする。

0106

次に、NTPサーバ宛先変更命令により実行される機能を説明する。NTPサーバ宛先変更命令において、ExecuteがFALSEからTRUEに変化したとき、IPAdrおよびHostNameの値が、処理ユニット10の内蔵のネットワークコントローラ140、または、処理ユニット10にシステムバス11を介して接続された外部機器に、書込まれる。この書込みの実行中は、BusyがTRUEとなる。そして、書込みの完了時に、BusyがFalseとなり、DoneがTRUEとなる。ネットワークコントローラ140の場合、書込まれた設定は、書込みの完了後に反映される。

0107

図22は、本発明の実施の形態に係るPLCのNTPサーバ宛先変更命令の各入力変数の設定可能範囲を示す図である。図22を参照して、IPアドレス、および、ホスト名の設定可能範囲は、図で示すとおりである。これらの範囲を超える場合には、ErrorがTRUEとなる。

0108

また、ユニット番号が設定範囲外である場合、ならびに、変更ができない状態である場合、ならびに、外部機器のリスタート処理が失敗した場合も、ErrorがTRUEとなる。変更ができない状態とは、ネットワークコントローラ140がリスタート中である状態、CIPメッセージにより設定が変更中の状態、通信設定命令実行中の状態、または、通信処理モジュール176からタグデータリンク設定をダウンロード中の状態である。

0109

図23は、本発明の実施の形態に係るPLCのNTPに基づく時刻設定の動作タイミングチャートを示す図である。図23を参照して、NTPに基づく時刻設定が10分周期で実行されている場合、NTPサーバの設定が変更される前は、10分おきに、処理ユニット10は、設定変更前のNTPサーバの宛先に時刻問合せて時刻を設定する。

0110

NTPサーバ宛先変更命令が実行され、NTPサーバの設定が変更されると、その時点で、一度、タイマクリアされ、設定変更の時点から、10分おきに、処理ユニット10は、設定変更後のNTPサーバの宛先に時刻を問合せて時刻を設定する。

0111

<E.特徴的な命令のソフトウェア構成>
次に、前述した本発明の実施の形態における特徴的な命令である通信設定命令が実行されるときのソフトウェア構成について説明する。

0112

図24は、本発明の実施の形態に係るPLCの処理ユニット10に実装される通信設定命令のソフトウェア構成を示す模式図である。図24を参照して、この図は、図4で説明した処理ユニット10に実行されるソフトウェア構成の一部を抜出した図である。ユーザ定義アプリケーション170に前述した通信設定命令のいずれかが含まれる場合、その通信設定命令は、命令実行モジュール180によって実行される。

0113

通信設定命令が実行される場合、通信処理モジュール176に含まれるCIPプロトコル処理部1762、TCP/IP処理部1764、FTPサーバ処理部1766、および、NTPクライアント処理部1768が用いられる。

0114

CIPプロトコル処理部1762は、CIPプロトコルに関する処理を実行する。TCP/IP処理部1764は、CIPプロトコルのうちTCP/IPに関する処理を実行する。FTPサーバ処理部1766は、CIPプロトコルのうちFTPに関する処理を実行する。NTPクライアント処理部1768は、CIPプロトコルのうちNTPに関する処理を実行する。

0115

(e1:IPアドレス変更命令)
命令実行モジュール180によって実行される通信設定命令が、IPアドレス変更命令である場合、次のような流れで命令が実行される。

0116

(1)命令実行モジュール180は、IPアドレス変更命令の前述した入力変数をチェックする。そして、異常があれば、ErrorをTRUEにして、ErrorIDにエラーに応じた値を設定する。

0117

(2) 正常であれば、命令実行モジュール180は、入力変数を加工してCIPプロトコル処理部1762に受け渡す。

0118

(3)CIPプロトコル処理部1762は、受け取った入力変数を処理し、TCP/IPに関する処理をTCP/IP処理部1764に依頼する。

0119

(4) TCP/IP処理部1764は、依頼された処理を実行する。
(5) TCP/IP処理部1764は、処理結果をCIPプロトコル処理部1762に返す。

0120

(6)CIPプロトコル処理部1762は、返された処理結果をIPアドレス変更命令に応じた適当な形式に変更して、命令実行モジュール180に返す。

0121

具体的には、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に書込み、反映させる。

0122

また、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に書込み、反映させる。

0123

(e2:FTPアカウント変更命令)
命令実行モジュール180によって実行される通信設定命令が、FTPアカウント変更命令である場合、次のような流れで命令が実行される。

0124

(1)命令実行モジュール180は、FTPアカウント変更命令の前述した入力変数をチェックする。そして、異常があれば、ErrorをTRUEにして、ErrorIDにエラーに応じた値を設定する。

0125

(2) 正常であれば、命令実行モジュール180は、入力変数を加工してCIPプロトコル処理部1762に受け渡す。

0126

(3)CIPプロトコル処理部1762は、受け取った入力変数を処理し、FTPに関する処理をFTPサーバ処理部1766に依頼する。

0127

(4)FTPサーバ処理部1766は、依頼された処理を実行する。
(5) FTPサーバ処理部1766は、処理結果をCIPプロトコル処理部1762に返す。

0128

(6)CIPプロトコル処理部1762は、返された処理結果をFTPアカウント変更命令に応じた適当な形式に変更して、命令実行モジュール180に返す。

0129

具体的には、
(1)命令実行モジュール180は、FTPアカウントおよびパスワードを入力変数から取得し、
(2) 命令実行モジュール180は、取得したFTPアカウントおよびパスワードを、CIPプロトコル処理部1762が処理可能な形式に変更処理して、CIPプロトコル処理部1762に受け渡し、
(3) CIPプロトコル処理部1762は、受け取ったFTPアカウントおよびパスワードを書込むようFTPサーバ処理部1766に依頼し、
(4) FTPサーバ処理部1766は、依頼に基づき、FTPアカウントおよびパスワードを、ネットワークコントローラ140に書込み、反映させる。

0130

(e3:NTPサーバ宛先変更命令)
命令実行モジュール180によって実行される通信設定命令が、NTPサーバ宛先変更命令である場合、次のような流れで命令が実行される。

0131

(1)命令実行モジュール180は、NTPサーバ宛先変更命令の前述した入力変数をチェックする。そして、異常があれば、ErrorをTRUEにして、ErrorIDにエラーに応じた値を設定する。

0132

(2) 正常であれば、命令実行モジュール180は、入力変数を加工してCIPプロトコル処理部1762に受け渡す。

0133

(3)CIPプロトコル処理部1762は、受け取った入力変数を処理し、NTPに関する処理をNTPクライアント処理部1768に依頼する。

0134

(4)NTPクライアント処理部1768は、依頼された処理を実行する。
(5) NTPクライアント処理部1768は、処理結果をCIPプロトコル処理部1762に返す。

0135

(6)CIPプロトコル処理部1762は、返された処理結果をNTPサーバ宛先変更命令に応じた適当な形式に変更して、命令実行モジュール180に返す。

0136

具体的には、サーバ指定方法が「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に書込み、反映させる。

0137

また、サーバ指定方法が「ホスト名指定」の場合、
(1)命令実行モジュール180は、サーバ指定方法を入力変数から取得し、
(2) サーバ指定方法がホスト名指定の場合、命令実行モジュール180は、サーバホスト名を入力変数から取得し、
(3) 命令実行モジュール180は、取得したサーバホスト名を、CIPプロトコル処理部1762が処理可能な形式に変更処理して、CIPプロトコル処理部1762に受け渡し、
(4) CIPプロトコル処理部1762は、受け渡されたサーバホスト名を書込むようNTPクライアント処理部1768に依頼し、
(5) NTPクライアント処理部1768は、依頼に基づき、サーバホスト名を、ネットワークコントローラ140に書込み、反映させる。

0138

<F.従来と本発明とのPLC導入時の差異>
次に、本実施の形態の特徴的な通信設定命令を用いない従来の場合と、用いる本発明の場合との比較について説明する。

0139

(f1:ユーザ定義アプリケーションがCIP命令を含む場合)
図25は、ユーザ定義アプリケーションがCIP命令を含む場合の従来と本発明とのPLC導入時の差異を説明するための図である。図25を参照して、従来は、ユーザ定義アプリケーションの開発および導入の過程において、CIP命令の知識がない場合は、まず、CIP命令の知識を習得する必要があった。そして、プログラムの作成においても、様々なCIP命令を組合せた通信を設定するための複雑なプログラムを作成し、バグが無くなるまでデバッグをする必要があった。そして、完成したプログラムを、機械設備に導入するPLCにダウンロードするようにしていた。

0140

しかし、本発明のように、1命令で通信ネットワークでの通信の所定の設定を変更する上述した3つの通信設定命令を用いるようにすると、CIP命令の知識に関わらず、プログラムの作成においては、通信の所定の設定のために様々なCIP命令を組合せた複雑なプログラムではなく、通信設定命令を用いた簡単なプログラムを作成し、バグが無くなるまでデバッグをして、完成したプログラムを、機械設備に導入するPLCにダウンロードする。

0141

このように、本発明によれば、通信設定を含むユーザ定義アプリケーションを簡単に開発することができる。

0142

(f2:ユーザ定義アプリケーションがCIP命令を含まない場合)
図26は、ユーザ定義アプリケーションがCIP命令を含まない場合の従来と本発明とのPLC導入時の差異を説明するための図である。図26を参照して、ユーザ定義アプリケーションがCIP命令を含まない場合は、PLCの通信の設定をするために、従来は、専用ツールを用いて設定するようにしていた。

0143

図27は、従来のPLCの通信の設定をするための専用ツールの設定画面を示す第1の図である。図28は、従来のPLCの通信の設定をするための専用ツールの設定画面を示す第2の図である。図29は、従来のPLCの通信の設定をするための専用ツールの設定画面を示す第3の図である。

0144

図27を参照して、この設定画面は、従来のTCP/IPの設定をするための画面である。図28を参照して、この設定画面は、従来のFTPの設定をするための画面である。図29を参照して、この設定画面は、従来のNTPの設定をするための画面である。

0145

このように、従来は、このような専用ツールをわざわざ起動させ、それぞれの設定画面を開き、すべての設定値手入力で入力する必要があった。

0146

しかし、本発明のように、1命令で通信ネットワークでの通信の所定の設定を変更する上述した3つの通信設定命令を用いるようにすると、PLCのベンダ側で、通信の設定のための簡単なユーザ定義アプリケーションのプログラムを作成し、バグが無くなるまでデバッグして、完成したプログラムを、機械設備に導入するPLCにダウンロードしておく。そして、PLCのユーザ側で、そのプログラムを実行するだけで、通信の設定の変更を完了させることができる。

0147

このように、本発明によれば、専用ツールを用いなくても、ユーザが簡単に通信設定を行うようにすることができる。

0148

<G.まとめ>
以上説明したように、本発明の実施の形態におけるPLCの処理ユニット10によれば、以下のような効果が発揮される。

0149

(1)処理ユニット10は、通信ネットワークに接続可能で制御対象のシーケンス制御を実行する装置である。処理ユニット10は、処理ユニット10の命令セットに含まれる複数の命令が所定の実行順に並べられたユーザ定義アプリケーションを示す情報を記憶する不揮発性メモリ106と、不揮発性メモリ106に記憶された情報で示されるプログラムに含まれるそれぞれの命令にしたがった処理を、実行順に実行するプロセッサ100とを備える。命令セットは、通信ネットワークでの通信の所定の設定を1命令で変更するための通信設定命令を含む。

0150

これによれば、通信ネットワークでの通信の所定の設定を1命令で変更するための通信設定命令をユーザ定義アプリケーションに組込むことができる。このため、通信の所定の設定を行う処理を含むユーザ定義アプリケーションを簡単に作成することができる。また、通信の所定の設定のための専用ツールを用いなくても、通信の所定の設定を簡単に行うことができる。その結果、通信ネットワークでの通信の所定の設定を簡単に行うことができる。

0151

(2)通信設定命令には、通信設定命令にしたがってプロセッサ100で実行される通信設定処理内容が予め対応付けられる。プロセッサ100は、ユーザ定義アプリケーションに含まれる命令が通信設定命令である場合、通信設定命令に対応する通信設定処理内容の処理を実行する。

0152

これによれば、通信設定命令をユーザ定義アプリケーションに組込んでおくことで、通信設定命令に応じて通信設定処理内容の処理が実行されるようにすることができる。

0153

(3) 所定の設定は、IPアドレスの変更設定、FTPアカウントの変更設定、または、NTPサーバのアドレスの変更設定である。

0154

<H.変形例>
次に、上述した発明の実施の形態の変形例を説明する。

0155

(1) 前述した実施の形態においては、1命令で通信ネットワークでの通信の所定の設定を変更可能なものとしたが、1命令に限定されず、比較的少ない命令数であれば同様の効果を得られる。

0156

(2) 前述した実施の形態においては、サポート装置200でコンパイルされた実行形式のプログラムであるユーザ定義アプリケーションが、処理ユニット10に記憶されるようにした。しかし、これに限定されず、ユーザ定義アプリケーションのソースプログラムが処理ユニット10に記憶されるようにし、ソースプログラムに基づいてインタプリタ方式で処理が実行されるようにしてもよい。

0157

(3) 前述した実施の形態においては、PLCがユニットごとに分かれた構成であることとした。しかし、これに限定されず、各ユニットの機能が1つの筺体に納められたものであってもよい。

0158

(4) 前述した実施の形態においては、通信設定命令は、上述したIPアドレス変更命令、FTPアカウント変更命令、および、NTPサーバ宛先変更命令の3つであることとした。しかし、これに限定されず、通信ネットワークでの通信の所定の設定を1命令で変更するための命令であれば、他の命令であってもよい。

0159

(5) 前述した実施の形態においては、PLCの処理ユニット10のような制御装置の発明として説明した。しかし、これに限定されず、制御装置の制御方法または制御プログラムとして発明を捉えることができる。また、制御装置の命令セットとして発明を捉えることができる。

0160

(6) 今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。

0161

5表示器、6検出センサー、7リレー、10処理ユニット、11システムバス、12電源ユニット、13接続ケーブル、14ユニット、100プロセッサ、102チップセット、104メインメモリ、106不揮発性メモリ、108システムタイマ、110USBコネクタ、120システムバスコントローラ、122,142DMA制御回路、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モニタ、208CD−ROMドライブ、240 OS、250プログラミングアプリケーション、252,282エディタ、254コンパイラ、256デバッガ、258GUIモジュール、260シミュレータ、270,290データ格納部、274ソースプログラム、280ネットワーク設定アプリケーション、284コンフィグレータ、286 関連付けモジュール、296コネクション設定、300 CD−ROM、1762プロトコル処理部、1764 TCP/IP処理部、1766FTPサーバ処理部、1768NTPクライアント処理部、NWネットワーク、SYS システム。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

該当するデータがありません

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

該当するデータがありません

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ