JP5146656B2 - Fa機器並びにファイルアクセスシステム - Google Patents

Fa機器並びにファイルアクセスシステム Download PDF

Info

Publication number
JP5146656B2
JP5146656B2 JP2008062809A JP2008062809A JP5146656B2 JP 5146656 B2 JP5146656 B2 JP 5146656B2 JP 2008062809 A JP2008062809 A JP 2008062809A JP 2008062809 A JP2008062809 A JP 2008062809A JP 5146656 B2 JP5146656 B2 JP 5146656B2
Authority
JP
Japan
Prior art keywords
file
data
module
directory information
information
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
JP2008062809A
Other languages
English (en)
Other versions
JP2009217707A (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 JP2008062809A priority Critical patent/JP5146656B2/ja
Publication of JP2009217707A publication Critical patent/JP2009217707A/ja
Application granted granted Critical
Publication of JP5146656B2 publication Critical patent/JP5146656B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Programmable Controllers (AREA)
  • General Factory Administration (AREA)

Description

この発明は、FA機器並びにそれを用いたファイルアクセスシステムに関するもので、FA機器に記憶されたデータ(ファイル)に対してアクセスするツール装置として、汎用のパソコン等を用いることができるようにしたものに関する。
FA(Factory Automation)におけるネットワークシステムは、生産設備内の入力機器及び出力機器の制御を司る1または複数のPLC(Programmable Logic Controller)と、そのPLCにより動作が制御される機器とが、制御系のネットワークに接続される。それらPLCと機器は、その制御系のネットワークを介してサイクリックに通信を行なうことで、INデータ及びOUTデータ(以下I/Oデータという)の送受を行ない、生産設備を制御する。
また、最近では、次世代の産業用コントローラとして、PAC(Programmable Automation Controller)と称されるコントローラが開発されている。このPACは、パーソナルコンピュータが持つ高速性や高機能や機能拡張性に加え、PLCが持つ高精度や耐久性を備えている。そのPACもPLCと同様に、ネットワークを介して生産設備の機器と通信を行なうことで、I/Oデータの送受を行ない、生産設備を制御する。
上記のPLCやPAC等の産業用コントローラは、複数のユニットを連結して構成されるタイプのものがある。この複数のユニットは、少なくとも1つのCPUユニットを有し、更に、電源ユニット,モータユニット,カウンタユニット,画像ユニット,通信ユニット,I/Oユニット等がある。これらの複数のユニットは、産業用コントローラに要求される仕様に応じて適宜の組み合わせで連結することで、産業用コントローラを構成する。CPUユニットは、産業用コントローラの制御を統括するもので、ラダー言語等で作製されたユーザプログラムを実行する。このCPUユニットは例えば、INデータである入力機器のON信号またはOFF信号を入力し、入力したON/OFF情報をユーザプログラムによって論理演算し、演算結果であるOUTデータを出力機器へ出力する。その出力が出力機器に対する動作指示となって出力機器が動作することにより、生産設備を制御する。また、モータユニットは、1台以上のサーボドライブ(サーボモータとその制御装置)を接続でき、モータの制御を行うものである。カウンタユニットは、1台以上のロータリーエンコーダを接続し、回転量や移動量などを計測するものである。画像ユニットは、1台以上のカメラを接続し、移動量や部品個数などを計測するものである。通信ユニットは、ネットワークに接続された他の装置とデータの送受を行なうものである。I/Oユニットは、センサやスイッチなどの入力機器を接続してそれらのオン・オフ信号を入力信号として取り込む入力ユニットやアクチュエータやリレーなどの出力機器を接続してそれらに対して出力信号を送り出す出力ユニット等がある。
上記の入力機器や出力機器は、PLCを構成するI/Oユニットに直接接続される場合と、ネットワークを介して接続される場合がある。そのネットワークを介して接続する形態として、たとえば、マスタ−スレーブ通信により行うことができる。この場合、PLCを構成するマスタユニット(マスタ)とスレーブとをフィールドネットワークに接続し、そのフィールドネットワークを介してマスタとスレーブとの間で通信を可能とする。マスタ−スレーブ方式のフィールドネットワークでは、生産現場に設置されるスレーブで生産設備のデータ収集および制御を行い、マスタが各スレーブを集中管理するという方式が一般的である。
さらに、入力機器や出力機器は、ON/OFFデータを扱うものと、温度センサ,視覚センサ,RFID等のアナログデータを扱うものがある。言い換えると、ON/OFF等の1ビットデータを扱うものと、アナログデータ(A/D変換によりデジタル化した複数ビットからなるデータを含む)その他のワードデータを扱うものがある。さらには、FAネットワークを構成する外部機器としては、これら入力機器や出力機器以外にも、温度調節器や、PT(プログラマブル表示器)等の各種の設定を行なう機器もある。これら各種の外部機器やPLC,PAC等の産業用コントローラ並びにその産業用コントローラを構成するユニット・モジュール等の、FAネットワークシステムを構成する装置・機器を一括してFA機器と称する。
生産現場では、設備が故障し稼働がストップしてしまうと甚大なコスト被害をこうむる。したがって設備の状態を常時監視し、故障の予兆が現れたときに完全に故障となる前に対策を施すという予防保全の考えが重要となる。係る装置の故障の有無や故障の予兆を監視する技術として、たとえば特許文献1に開示された技術がある。
この特許文献1等に開示された技術は、外部機器に記憶保持された動作等に関する情報が、ネットワークを介してPLC等のコントローラや、モニタ装置などへ送られるように構成することで、外部から外部機器の状態をモニタリングすることができる。また、PLCその他のFAネットワークシステムを構成するFA機器に対しては、ツール装置を接続することで、そのFA機器の記憶手段に対してデータの読み書きが行なえる。
特開2003−295914号公報
FAネットワークシステムでは、PLC同士やPLCにつながる機器が多様なネットワークやモジュールで構成されるようになってきたため、上述したようにFA機器が持つ情報を収集することはできるものの、実際に各構成モジュールの保有する情報がどこにどのような形で存在するかを把握するのが困難になってきている。
また、FA機器(PLC等のコントローラやその構成ユニットを含む)に内蔵されるメモリにアクセスし、そのメモリに格納された情報を読み書きするためには、通常、当該FA機器に対応するツール装置を用いて行なわれる。従って、近年では、FAネットワークシステムは、複数のメーカから提供される機器(PLCその他のFA機器)で構成されるようになってきたため、各メーカが用意したツール装置を使い分けて使用しなければならない。ツール装置は、アプリケーションプログラム(ツール)をパーソナルコンピュータ(パソコン)にインストールして実現されるので、実際には、1つのパソコンに、複数の異なるユーザから提供されたツールが組み込まれることになり、ユーザは、アクセスしようとするFA機器に対応するツールを立ち上げ、その立ち上げたツールを用いて当該FA機器のメモリにアクセスする。このように、複数のツールを使い分けなければならないので煩雑となるばかりでなく、ツールは、メーカごとに操作性も異なることから、ユーザの操作環境が複雑化・煩雑化している。
従来パソコンで処理していた上位系のMES(Manufacturing Execution System:製造実行システム)とのつなぎ機能をタッチパネルやPLCに付加分散するケースが増えてきている。すると、タッチパネルやPLCで記憶する必要のあるデータは大容量化し、パソコン上と同様ファイルとして管理する場合も多くなってきているが、係るファイルを効率よく管理・アクセスすることができない。
例えばFA機器の1つである視覚センサにおいては、パラメータや計測値データなどの他に、撮像して得られた画像などのマルチメディアデータを取り扱うため、機器内部に記憶されている画像データを、専用ツールを使用してパソコンに読み込んでファイルとして取り扱う場合が多い。しかし、RAMに記憶されている画像データを、専用ツールを用いることなく、リアルタイムで読み出して表示するようなことできなかった。
また、FA機器の1つである高機能温度調節器においては、パラメータや現在値データなどの他に、温度プロファイルを取り扱うために、機器内部にあるデータを、パソコンに読み込んでファイルとして取り扱うために各社が用意した専用ツールを用い無ければ成らず、煩雑である。
更に、RFIDやバーコードリーダなどの情報機器においては、品目等に関する文字データを取り扱うために、機器内部にあるデータをPLC経由もしくは直接パソコンに読み込んでファイルとして取り扱えれば便利であるが、従来、係るファイルの読み出し等が汎用的・簡易に行なうことができなかった。
この発明は、専用ツール装置を用いることなく、汎用のパソコン等によってFA機器のメモリデバイスに格納されたデータ(ファイル)にアクセスして読み書きをしたり、FA機器のメモリデバイスに格納された各ファイルのフィルシステム構造を容易に理解することができるFA機器並びにファイルアクセスシステムを提供することを目的とする。
上記の目的を達成するため、本発明に係るFA機器は、(1)FAネットワークシステムを構成するためのFA機器であって、演算実行部と、その演算実行部が演算処理するためのプログラム,パラメータやFA機器が作成・取得したデータ等のFA機器が保持するデータをファイルとして記憶する記憶手段と、記憶手段に記憶されているファイルのディレクトリ情報を備えたディレクトリ情報記憶手段と、外部からのディレクトリ読み出し要求に従いディレクトリ情報記憶手段をアクセスし、該当するディレクトリ情報をレスポンスとして返信する手段と、外部からのファイルの読み出し要求に従い、記憶手段にアクセスして該当するファイルのデータを読み出しとともにレスポンスとして返信する読み出し手段と、外部からのファイルの書き込み要求に従い、記憶手段にアクセスし、書き込みを行なう書き込み手段と、を備える。ディレクトリ情報には、ファイルのデータを外部と送受する際のファイルフォーマットを特定するフォーマット情報を含む。読み出し手段は、記憶手段に格納されたファイルのファイルフォーマットと、フォーマット情報で特定されるファイルフォーマットが相違する場合、読み出したデータをフォーマット情報で特定されるファイルフォーマットに変換し、変換後のデータを送信する機能を備え、書き込み手段は、記憶手段に格納するファイルのファイルフォーマットと、書き込み要求とともに取得したデータのファイルフォーマットとが相違する場合、取得したデータを予め設定されたファイルフォーマットに変換し、変換後のデータを記憶手段に書き込む機能を備えるようにした。
本発明によれば、ディレクトリ情報にファイルのデータを外部と送受する際のファイルフォーマットを特定するフォーマット情報を含むようにしたので、ツール装置等の外部の装置は、本発明のFA機器から取得したディレクトリ情報中のファイルフォーマットに従い、記憶手段に格納されたファイルをリスト表示するに際し、そのファイルフォーマットに従った表示をする。このファイルフォーマットを、xmlやcsvのように汎用のフォーマットにしておくことで、ユーザは、汎用のアプリケーションプログラムを用いてアクセスすることができる。
一方、FA機器の記憶手段に格納されたデータのファイルフォーマットは、例えばバイナリ等の従来からFA機器が扱っているものとすると、上記のディレクトリ情報中のファイルフォーマットと実際に記憶手段に格納するファイルフォーマットが異なることが多々ある。この場合に、FA機器に実装する書き込み手段並びに読み出し手段に、上記の相違するファイルフォーマット間を変換する機能を備えたので、ツール装置は、自己が有する汎用のアプリケーションに対応するデータをFA機器との間で送受することができ、一方、FA機器は、係るデータをファイルフォーマットの変換をして記憶手段に読み書きすることで、FA機器の演算部が実行することができる。
従って、Windows(登録商標)の一般的な環境のみのパソコンで、FA機器をあたかも1つのストレージデバイスをアクセスするような簡単な操作で、目的とする情報を検索・表示・コピーが可能となる。そして、特定のフォルダ以下に存在する複数の情報を、ワイルドカード機能により一括してコピーすることで、簡単にバックアップ/リストア操作を行うことが可能となる。更に、FA機器内のデータを、Windows(登録商標)の一般的なダブルクリックなどの操作で、適応する表計算ソフトやイメージデータを扱う一般的なアプリケーション等で開いて実行(表示・編集など)させることが可能となる。
(2)FAネットワークシステムを構成するためのFA機器であって、複数のモジュールを備え、各モジュールには、演算実行部と、その演算実行部が演算処理するためのプログラム,パラメータやFA機器が作成・取得したデータ等のFA機器が保持するデータをファイルとして記憶する記憶手段と、記憶手段に記憶されているファイルのディレクトリ情報を備えたディレクトリ情報記憶手段と、を備えた。そして、複数のモジュールのうちの1つが親のモジュールとなるとともに残りが子のモジュールとなり、その親のモジュールが、外部のツール装置とファイルを構成するデータの送受を行なうようにし、親のモジュールのディレクトリ情報は、自身の記憶手段に格納されたファイルについてのディレクトリ情報と、子のモジュール自身の記憶手段に格納されたファイルについてのディレクトリ情報と、を備えるようにした。さらに、親のモジュールは、外部からのディレクトリ読み出し要求に従いディレクトリ情報記憶手段をアクセスし、該当するディレクトリ情報をレスポンスとして返信する手段と、外部からのファイルの読み出し要求に従い、親のモジュールの記憶手段にアクセスするか、子のモジュールに対して読み出しコマンドを発行することで該当するファイルのデータを取得するともにレスポンスとして返信する読み出し手段と、外部からのファイルの書き込み要求に従い、親のモジュールの記憶手段にアクセスするか、子のモジュールに対して書き込みコマンドを発行することで書き込みを行なう書き込み手段と、を備える。さらにまた、親のモジュールのディレクトリ情報記憶手段に格納されたディレクトリ情報には、ファイルのデータを外部と送受する際のファイルフォーマットを特定するフォーマット情報を含み、読み出し手段は、取得したファイルのファイルフォーマットと、フォーマット情報で特定されるファイルフォーマットが相違する場合、取得したデータをフォーマット情報で特定されるファイルフォーマットに変換し、変換後のデータを送信する機能を備え、書き込み手段は、親のモジュールまたは子のモジュールの記憶手段に格納するファイルのファイルフォーマットと、書き込み要求とともに取得したデータのファイルフォーマットとが相違する場合、取得したデータを予め設定されたファイルフォーマットに変換し、変換後のデータを親のモジュールの記憶手段に書き込むか、変換後のデータとともに子のモジュールに対して書き込みコマンドを送る機能を備えるようにした。
記憶手段は、実施形態ではメモリデバイス13〜15やストレージデバイス16に対応する。ディレクトリ情報記憶手段は、実施形態ではワークメモリ12に格納されるディレクトリ情報テーブルに対応する。各機能は、MPU11に実装された図11以降のフローチャートの所定の処理ステップを実行する機能により実現される。
この発明によれば、複数のモジュール(ハードウェアモジュール)から構成されるFA機器(PLC等)の場合、ツール装置等の外部の装置とデータの送受を行なう親のモジュールにてファイルフォーマットの変換処理を一括して行なうことができ、ツール装置等の外部の装置は、係る複数のモジュールで構成されるFA機器をあたかも1つのストレージデバイスをアクセスするような簡単な操作で、目的とする情報を検索・表示・コピーが可能となる。
(3)親のモジュールが記憶保持する、子のモジュール自身の記憶手段に格納されたファイルについてのディレクトリ情報中に、ファイルごとに子のモジュールの記憶手段に対する書き込みを許可するか否かの属性情報を持たせる。そして、書き込み手段は、子のモジュールに対する書き込み要求を受けた際に、書き込み要求を受けたファイルの属性情報を確認し、書き込みが許可されていないファイルの場合には、受け取ったデータを子のモジュールに送らないようにする機能を備えるとよい。このようにすると、親子のモジュール間での通信を削減できるとともに、各モジュールでの無駄な処理を削減できるので、処理効率が良くなる。
(4)(1)〜(3)の発明を前提とし、予めファイルの種類に応じた複数のフォルダを用意し、記憶手段に格納されるファイルは、その種類に合わせていずれかのフォルダに振り分け、その振り分けた情報をディレクトリ情報に持たせるようにするとよい。ツール装置等の外部の装置は、ディレクトリ情報から、取得した各ファイルのリストをフォルダごとに分けて表示することができ、目的のデータを見付けやすくなり、管理が容易となる。
(5)本発明のファイルアクセスシステムは、(1)から(4)のいずれかに記載のFA機器と、そのFA機器と通信するツール装置と、を備えたシステムであって、ツール装置は、FA機器に対してディレクトリ情報の読み出し要求をして取得したディレクトリ情報に基づき、そのFA機器の記憶手段に格納されたファイルのリストを表示する機能と、リストとして表示されたファイルに読み書きするためのコマンドをFA機器に送る機能と、を備えた。
本発明は、FA機器の記憶手段に格納されたファイルを特定するためのディレクトリ情報を持たせ、しかも、そのディレクトリ情報に、ファイルのデータを外部と送受する際のファイルフォーマットを特定するフォーマット情報を含むようにしたので、ツール装置等の外部の装置は、本発明のFA機器から取得したディレクトリ情報中のファイルフォーマットに従い、記憶手段に格納されたファイルをリスト表示するに際し、そのファイルフォーマットに従った表示をする。このファイルフォーマットを、xmlやcsvのように汎用のフォーマットにしておくことで、ユーザは、汎用のアプリケーションプログラムを用いてアクセスすることができる。よって、専用ツール装置を用いることなく、汎用のパソコン等によってFA機器のメモリデバイスに格納されたデータ(ファイル)にアクセスして読み書きをしたり、FA機器のメモリデバイスに格納された各ファイルのフィルシステム構造を容易に理解したりすることができる。
図1は、本発明の第1実施形態を示している。本実施形態のFA機器10は、PLC等の産業用コントローラ自身或いはPLC等を構成する所定のユニットや、温度調節器,視覚センサ,RFID,タッチパネル,プログラマブル表示器等のFAネットワークシステムを構成する各種の機器である。本実施形態のFA機器10は、演算実行するMPU11と、各種の記憶手段を備えたものである。記憶手段としては、図示の例では、MPU11が演算実行する際に使用するワークメモリ12と、ユーザプログラムを格納するユーザメモリ13と、ユーザデータを格納するユーザデータ記憶部14と、パラメータを記憶するパラメータ記憶部15と、フラッシュメモリ等のストレージデバイス16等がある。ユーザデータは、例えば、PLC(CPUユニット)の場合にはI/Oデータ等であり、温度調節器の場合には制御対象の機器の現在値やその履歴データ等であり、視覚センサの場合には撮像した画像データ等であり、RFIDの場合には読み取ったデータ等である。パラメータは、I/Oテーブルやシステム設定などの設定情報である。ストレージデバイス16は、着脱可能に装着される記憶媒体であり、無い場合ももちろんある。ユーザメモリ13と、ユーザデータ記憶部14と、パラメータ記憶部15と、ストレージデバイス16が、本実施形態で管理・アクセスするファイルシステムの対象である。
また、本実施形態のFA機器10は、外部インタフェースとしてUSBなどのパソコンにおける汎用デバイスインタフェース17と、イーサネット(登録商標)等のネットワークインタフェース18を備えている。これにより、ツール装置20は、USBケーブル21を用いて直接、或いは、ネットワーク22を経由してFA機器10と通信することができる。
本実施形態の外部機器10は、Windows(登録商標)のファイルシステムのストレージデバイスと同様に、FA機器10内のRAMディスク化していないメモリデバイス13〜15やストレージデバイス16を、ディレクトリ構造で定義し、ツール装置20がUSBケーブル21などを介して当該デバイスに格納されたデータに対しファイルとして読み書きする機能を備える。ネットワーク22を介してftpなどのファイル転送プロトコルにおけるサーバ機能や、ファイルアクセスのためのプロトコルであるCIFSプロトコルにおける共有フォルダ機能を備えることで、ネットワーク環境においても、ツール装置20が、メモリデバイス13〜15やストレージデバイス16に格納されたデータをファイルとして読み書きできるようにしている。
上記機能をFA機器10(MPU11)に備えることで、ツール装置を構成するパソコンに組み込まれたWindows(登録商標)標準のエクスプローラなどのファイラソフトを用いて、FA機器に格納されている情報の在り処をツリー構造で表示し、各フォルダ内に表示された情報を、ファイルとして読み書きすることができる。
すなわち、USBケーブル21で接続したローカル配置の場合、図2(a)に示すように、従来のソフトウエア構成に比し、FA機器のファイルシステムとUSBドライバを修正する。つまり、ファイルシステムは、メモリデバイス13〜15やストレージデバイス16をファイルとして見えるようにするための機能を追加している。係る機能の具体的な構成・アルゴリズムは後述する。また、USBドライバは、ファイルの読み書き(転送)を行なうためのドライバ機能を備える。なお、既存のFA機器においてもUSBドライバ実装されているが、そのUSBドライバは、FINS等のFA専用の通信プロトコルに対応するもののみであったが、本実施形態では、汎用のファイルを扱うことができるようにしている。同様に、ネットワークを用いたリモート配置の場合、図2(b)に示すように、従来のソフトウエア構成に比し、FA機器のファイルシステムを修正する。そして、ツール装置20は、通常のパソコンとして組み込まれている機能をそのまま用いることかできる。
ネットワーク環境においてメモリデバイスに対するアクセスを許容するため、FA機器10は、以下に示すようなftpコマンドを実行する機能を有する。このftpコマンド自体は、通常のものと同様である。
“dir/lsコマンド”は、指定デバイスレイヤにおけるアイテムの一覧をフォルダ一覧ライクで取得するためのコマンドである。“cdコマンド”は、現在位置を指定デバイスレイヤに移動するためのコマンドである。“pwdコマンド”は、現在デバイスレイヤを取得するためのコマンドである。
“get/mgetコマンド”は、指定デバイスのアイテムをASCII/Binaryモードで読み出すためのコマンドである。なお、ASCII/Binaryの指定は、クライアント側でサーバ側デバイスの格納フォームに合わせて発行する。また、mgetはファイル名を「*(アスタリスク)」で指定して複数アイテムを対象とする。一例を示すと、以下の通りである。
“get ftp://192.168.1.1/CP1L-M40DR-A/System/Config/IOtbl.cfg c:\temp\*.*”と記述されたマンドを受信した場合、サーバであるFA機器は、I/Oテーブルを読み出し、クライアントにファイル転送する処理を行なう。
“mget ftp://192.168.1.1/CP1L-M40DR-A/System/Mem/*.* c:\temp\*.*”と記述されたマンドを受信した場合、サーバであるFA機器は、PLCのMemフォルダ以下の全メモリを読み出し、クライアントにファイル転送する。
“get ftp://192.168.1.1/CP1L-M40DR-A/System/Data/PID01.csv c:\temp\*.*”と記述されたコマンドを受信した場合、サーバであるFA機器は、PLCで定義されたオブジェクトのデータを読み出して、クライアントにファイル転送する。
“put/mputコマンド”は、指定デバイスのアイテムにASCII/Binaryモードで書き込むためのコマンドである。なお、ASCII/Binaryの指定は、クライアント側でサーバ側デバイスの格納フォームに合わせて発行する。mputはファイル名を「*(アスタリスク)」で指定して複数アイテムを対象とする。一例を示すと、以下の通りである。
“put c:\temp\IOtbl.cfg ftp://192.168.1.1/CP1L-M40DR-A/System/Config/*.*”と記述されたマンドを受信した場合、サーバであるFA機器は、クライアントのI/OテーブルファイルをクライアントのConfigフォルダ下にファイル転送して書き込む。
“mput c:\temp\*.* ftp://192.168.1.1/CP1L-M40DR-A/System/Mem/*.*”と記述されたマンドを受信した場合、サーバであるFA機器は、クライアントのtemp以下のすべてのファイルをPLCのMemフォルダ下にファイル転送して書き込む。
“put c:\temp\PID01.csv ftp://192.168.1.1/CP1L-M40DR-A/System/Data/*.*”と記述されたマンドを受信した場合、サーバであるFA機器は、PLCで定義されたオブジェクトのデータイメージのファイルをPLCのDataフォルダ下のメモリに書き込む。
図3は、本実施形態のFA機器10のファイルシステム構造の一例を示す図である。図4は、PLCシステム構成におけるファイルシステム構造の一例を示す図である。本実施形態は、外部機器を特定する“型式名”の下位に、“Memcard”と“System”のフォルダを用意した。そして、“Memcard”は、“Sys”と“User”の2つのフォルダを備え、“System”は“Config”,“Prog”,“Mem”,“Data”の4つのフォルダを備えている。もちろん、FA機器の種類によっては、“Memcard”が無い場合もあるし、“Config”,“Prog”,“Mem”,“Data”のうちの1または複数のフォルダがない場合もある。また、必要に応じて更に別のフォルダを設けることもできる。
ここで、“型式名”フォルダには、インテリジェントなハードウェアモジュールの型式名が記述される。一例を示すと、“CP1L-M40DR-A”のように、FA機器に付された型式名である。“Memcard”は、ストレージデバイス16についてのデータが格納されるフォルダである。“Sys”は、ロギングデータファイル,オートブートファイル,htmlファイルなどのシステムで使用するファイルが格納されるフォルダである。また、“User”は、PLCアプリケーションプログラムに関わるフォルダ構成であり、レシピフォームなどのアプリケーション用フォームファイルやデータファイルやマルチメディアファイルなどが格納される。
“System”は、PLCシステムデータであるPLC物理構成に準じたフォルダ構成とする。ハードモジュールのメモリ領域をファイルとしてアクセスできる。書込はデフォルトで禁止されているが、Systemフォルダの属性変更をすることで書込は可能となる。属性変更内容は、電源ON中のみ有効とし、新規作成や削除は禁止し、同一名での書込(更新)のみ可能とする。
“Config”は、I/OテーブルやPCシステム設定などの設定情報に関するフォルダである。このフォルダに振り分けられるファイルは、バイナリファイルで構成され拡張子を「cfg」とする。“Prog”は、プログラム内容に関するフォルダである。このフォルダに振り分けられるファイルは、バイナリファイルで構成され拡張子を「prg」とする。“Mem”は、ファームウェアで定義されたメモリ領域全体の内容に関するフォルダである。このフォルダに振り分けられるファイルは、バイナリファイルで構成され拡張子を「mem」とする。“Data”は、オブジェクト(構造体や配列含む)として定義された特定のレジスタ/リレー領域の内容に関するフォルダである。このフォルダに振り分けられるファイルは、バイナリファイルで構成され拡張子を「dat」とする。なお、バイナリファイルに替え、或いはバイナリファイルとともに表計算アプリケーションプログラムで一般に使用されるファイル形式(拡張子「csv」)を備えても良い。つまり、同じ内容のデータとして、2つのファイル型式のデータを備えることを許容する。この“Data”フォルダに格納されるデータとしては、例えば、収集データや履歴データその他のロギングデータや、ファンクションブロックの構造体やMESにおけるレシピデータなどがある。
所定のメモリデバイス13〜15やストレージデバイス16に記憶保持される各ファイルは、それぞれ上述のどのフォルダに振り分けられるのかについての情報も備えている。これにより、後述するように、所定のフォルダをダブルクリック等して開くことで、そのフォルダに属するファイルのリストを表示することができる。
上記のファイル構造によれば、CPUユニットと高機能ユニットを備えたPLCの場合、図4に示すようなファイルの階層構造(例えばWindows(登録商標)のファイルシステムである¥¥で特定されるマイクロソフト社のUNC表示、URIパス表示等)にて表現され、またはファイルをディレクトリ単位で階層構造で管理して表現される。この例では、PLCは、CPUユニット(モジュール)と、1つの高機能ユニット(モジュール)を備えている。そこで、その1つのPLCを特定する論理モジュールに対応するフォルダを共通フォルダ(フォルダ名:plc01)として設定し、その下位に、CPUモジュール用の型式名のフォルダ(CJ2H-CPU67)が作成される。このCPUモジュールは、ストレージデバイス16を実装されるタイプであるので、“Memcard”フォルダと“System”フォルダを備える。そして、ストレージデバイス16に記憶されているファイルは、“User”フォルダに位置される。また、所定のメモリデバイスに記憶されているデータ(例えば、I/Oテーブルやシステム設定データ等)は、“Config”フォルダ等に割り当てられる。
一方、この例の高機能モジュールは、ストレージデバイスが備えていないため、ファイルシステム構成においても、ストレージデバイスに対応する“Memcard”のフォルダが無く、“System”フォルダのみとなる。そして、所定のメモリデバイスに記憶されているデータ(例えば、I/Oテーブルやシステム設定データ等)は、“Config”フォルダ等に割り当てられる。ここで、高機能モジュールとは、高機能ユニットとも称されるもので、CPUユニットにおけるサイクリックな制御とは独立し、自己に接続された外部機器等に対する制御を実行するもので、モーションコントローラ等がある。高機能モジュールは、CPUユニットと同様に制御プログラムを実行するMPUを備えるし、当該制御プログラムを格納したり、設定データ等を格納したり、制御の実行にともない各種のデータを取得したりするので、それらを記憶するメモリデバイスを備える。
図5から図9は、FA機器10にアクセスしたツール装置20の表示装置に表示されるファイルシステム構造の一例を示している。各図に示すように、左側のウインドウ領域には、各フォルダがツリー状に配置される。図5は、PLCのメモリの表示例であり、図では、“System”フォルダの中の“Mem”フォルダがダブルクリック等により選択されて開き、その“Mem”フォルダ中に存在するファイルの一覧が、右側のウインドウ領域にバイナリーイメージにて表示されている。図から明らかなように、この例では、PLCのストレージデバイスやメモリデバイスは、Dドライブに割り当てられている。USBメモリと同じイメージとなり、ツール装置20を操作するユーザは、通常のパソコンに装着されるUSBメモリに格納されたファイルにアクセスするのと同じ操作で、PLCのメモリデバイスに記憶されたデータに対してアクセスすることができる。
図6は、FA機器の1つであるタッチパネルの“system”フォルダの中の“Mem”フォルダが選択され、メモリデバイスに格納されたデータが、ファイル形式で一覧表示されている。図7は、FA機器の1つである温度調節器の“system”フォルダの中の“Data”フォルダが選択され、メモリデバイスに格納されたデータが、ファイル形式で一覧表示されている。図示の例において、“Param.dat”は、時間経過に伴う設定温度の変化などのパラメータが格納されるファイルである。“Param.csv” として、表形式のファイルとしても良い。“Profile.csv”は、実際に計測した温度変化の履歴を格納する表形式のファイルである。“Var.dat”は、現在値(温度)などが格納されるファイルである。
図8は、FA機器の1つである視覚センサの“system”フォルダの中の“Pict”フォルダが選択され、メモリデバイスに格納されたデータが、ファイル形式で一覧表示されている。このフォルダに振り分けられたデータは、視覚センサが撮像して得られたイメージデータである。イメージデータとして一般的なファイル形式であるビットマップファイルとして用意されている。なお、図示の例では、“Pict”フォルダとしたが、このイメージデータを“Data”フォルダに振り分けるようにしてももちろん良い。
図9は、FA機器の1つであるRFID機器の“system”フォルダの中の“Data”フォルダが選択され、メモリデバイスに格納されたデータが、ファイル形式で一覧表示されている。図示の例において、“Recipe.dat”と“Recipe.xml”は、ファイル形式が異なるもののともに同じ内容のレシピデータである。このように複数種類のファイル形式を用意することで、ユーザはいずれか使いやすいファイル形式のデータを見ることができ、操作性が向上する。但し、ファイル書き込み(変更)を認める場合、一方のみのファイルが更新されてしまうと、2つのファイルの内容が異なってしまうので、書き込み自体を禁止するか、書き込みをする場合には、両方のファイルに対して同じ内容を維持するための機能(一方のファイルを更新した場合、ファイル変換(コンバート)ソフト等を用いて、他方のファイル形式のファイルも更新する等)を備えるか、仕様により、ユーザが両方のファイルに対して必ず同じ内容の修正を行なうようにさせる必要がある。
上述したように、Windows(登録商標)の一般的な環境のみのパソコンで、FA機器をあたかも1つのストレージデバイスをアクセスするような簡単な操作で、目的とする情報を検索・表示・コピーが可能となる。そして、特定のフォルダ以下に存在する複数の情報を、ワイルドカード機能により一括してコピーすることで、簡単にバックアップ/リストア操作を行うことが可能となる。更に、FA機器内のデータを、Windows(登録商標)の一般的なダブルクリックなどの操作で、適応する表計算ソフトやイメージデータを扱う一般的なアプリケーション等で開いて実行(表示・編集など)させることが可能となる。
上述したように、ツール装置20(一般的な環境のみのパソコンを含む)の表示装置の表示画面に、エクスプローラ等のファイル閲覧ソフト(ファイラソフト)を用いてFA機器10のメモリデバイス等の格納されたデータをツリー構造で表示するために、本実施形態のFA機器10は、以下に示す機能を組み込むようにした。
まず、ワークメモリ12に、図10に示すようなディレクトリ情報テーブルを設ける。ディレクトリ情報テーブルは、FA機器10のメモリデバイス13〜15並びにストレージデバイス16に格納された全てのファイルについて作成され、1つのファイルごとに1レコード作成される。図示するように、1レコードは、次のレコードへのポインタと、前のレコードへのポインタと、ファイル名と、ファイル属性と、ファイルサイズと、タイムスタンプと、を含んで構成される。前後のレコードへのポインタを設けることで、リスト構造をとり、全てのファイルについてのレコード情報を収集できる。つまり、ディレクトリ情報テーブルを参照することで、FA機器が保有するデータ(ファイル)を認識できる。また、ファイルの削除・追加に伴い、このレコードも削除・追加し、それに伴い前後のレコードへのポインタ情報も更新する。また、各フォルダも、個々に1つのレコードとしてディレクトリ情報として記憶保持される。
ファイル属性は、ファイルの書き込みの許可/禁止の区別や、提供するファイルフォーマットの種類(拡張子)や、実際のメモリデバイスに格納されているファイルフォーマット等がある。FA機器では、メモリデバイス,ストレージデバイスに格納されるデータのファイルフォーマットは、通常、バイナリファイルとなっている。また、ファイルが属するフォルダの種類もファイル属性に記録される。なお、拡張子とフォルダの種類が一対一に対応するようにした場合、拡張子から振り分けられるべきフォルダ特定されるので、当該ファイルが属するフォルダの種類についての情報を別途用意しなくても良い。また、記憶エリアを特定する情報(メモリデバイスの種類とメモリアドレス等)も格納するようにすると良い。
そして、ツール装置20は、FA機器10に対してディレクトリ読み出し要求を発行し、FA機器からのレスポンスとしてディレクトリ情報を取得する。このディレクトリ情報に基づき、ツール装置20は、対しようとするFA機器が、どのようなフォルダが存在しているかを認識し、図5から図9の左側のウインドウに示すように各フォルダをツリー状に配置して表示することができる。
また、取得したファイル属性から、各ファイルがどのフォルダに属するかがわかるので、ツール装置20は、図5から図9の左側のウインドウに表示された所定のフォルダが選択された場合、そのフォルダに属するファイルのファイル名等の情報を右側のウインドウにリスト表示することができる。このとき、ファイル名に、ファイル属性に格納されている拡張子を関連付けて表示する。すなわち、拡張子を実際に表示するか否かは、ツール装置20の設定により決定されるが、拡張子を関連付けることで、FA機器のメモリデバイス等に格納されているデータのファイルフォーマットに関係なく、右側のウインドウでリスト表示された際には、関連付けられた拡張子のファイルとして表示する(アイコンが対応するものに変わったり、種類名が対応するものとして表示されたりする)。よって、ツール装置20を操作するユーザは、例えば、図7に示される“Param.csv” を見た場合、表計算ソフトで操作できると認識できる。
一方、このディレクトリ情報テーブルの作成は、電源ON時に、MPU11が行なう。具体的には、MPU11が、図11に示すフローチャートを実行する機能を備える。前提として、FA機器10は、自分がどういうフォルダやファイルを持っているかについて、予めシステムが固有に認識している。つまり、“Data”フォルダに格納されるデータは、FAネットワークシステムの稼働に伴い逐次データが追加されたり、更新されたりし、電源投入時にメモリデバイスに格納されていないものがある。また、I/Oメモリのように例えばMem内の情報は、ファイル自身は固定的に存在するが内容は常時変化する可能性が高く、最新のタイムスタンプで保持する性質のものである。
これに対し、編集したときの情報を意図的に保持するような情報は、固定バックアップ情報として所定の記憶媒体に保持される。“Config”,“Prog”等のフォルダに格納された各データ(ファイル)は、多くの場合、FAネットワークシステムの稼働に伴い変更されていくようなものでもなく、データ自体の内容は固定であるという意味で固定バックアップ情報として所定の記憶媒体に保持されている。そして内容が編集時と同一であることを検証するために、各ファイルを特定するファイル名や、サム値や、そのファイルの作成・更新した日時情報等が関連付けて備えているようにする。
そこで、MPU11は、電源が投入されたならば、メモリデバイス13〜15に格納された各ファイル(System下のファイルアクセスデバイス)を順次処理対象にし(S1)、その処理対象のファイルが固定バックアップ情報として記録されているものか否かを判断する(S2)。固定バックアップ情報に該当するものの場合、MPU11は、メモリデバイスに記憶されているファイルのサム値を求め、固定バックアップ情報として保持しているサム値が正しいか否かを判断する(S3)。そして、サム値が正しい場合(S3がYes)、MPU11は処理対象のファイルについてのディレクトリ情報を作成し(S4)、ファイル化フラグをONにする(S5)。つまり、ディレクトリ情報に格納するタイムスタンプを、当該処理対象のファイルが作成・更新されたときのタイムスタンプとする。この処理ステップS1〜S5までの処理を実行することで、正常な1つのファイルについてのディレクトリ情報が1レコード分作成され、これが、ワークメモリ12に登録される。このとき、1番目(先頭)のディレクトリ情報の場合には、前レコードポインタはNullとなり、2番目以降のディレクトリ情報を登録するに際し、処理対象のファイルについての前レコードポインタと、前回登録・作成したディレクトリ情報の次レコードポインタに、それぞれ該当するポインタ情報を登録する。
一方、処理対象のファイルが固定バックアップ情報でなかったり、サム値が異常であったりした場合には、ファイル化フラグをOFFにし、現在の日時情報に基づいて最新タイムスタンプで作成する(S8)。
そして、認識デバイスを更新する(S6)。つまり、次のファイルを処理対象にする。そして、処理対象が残っている場合(S7)、処理ステップS1に戻り次の処理対象についてのディレクトリ情報の作成処理を行なう。上記の処理を繰り返し実行することで、メモリデバイス13〜15に格納される各ファイルについてのディレクトリ情報からなるディレクトリ情報テーブルが作成される。
図12は、MPU11に実装されるSystemフォルダ下のメモリデバイス更新処理機能を示している。すなわち、FA機器は、システムの稼働にともない、ファイルが追加されたり、ファイルの内容が変更されたりする。また、ファイルが追加された場合には、当該ファイルについてのディレクトリ情報をディレクトリ情報テーブルに追加する必要が生じ、さらに、ファイルの内容が変更されたことに伴い、ファイルサイズやサム値等も変更され、登録済みのディレクトリ情報や固定バックアップ情報を修正する必要が生じることもある。そこで、MPU11は、図12に示すように、係るファイルについての追加・変更等の更新処理と、ディレクトリ情報や固定バックアップ情報の更新処理等を行なう機能を備えるようにした。
つまり、MPU11は、メモリ変更要求を受けたか否かを判断する(S11)。メモリ変更要求でない場合には、そのまま処理を終了し、メモリ変更要求を受けた場合には、MPU11は、その要求が所定のftpコマンド等を用いたファイル自体の一括した書き込み要求か否かを判断する(S12)。ファイル書き込み要求の場合には、MPU11は、そのファイル属性が書き込み許可になっているか否かを判断し(S13)、書き込み許可になっていない場合(S13でNo)、処理を終了する。書き込み許可になっている場合(S13でYes)、書き込み要求コマンドに従い、取得したファイルを所定のメモリデバイスに書き込み、メモリ内容の更新を行なう(S14)。また、処理ステップS12の分岐判断でNo、つまり、既存のファイルのデータ・内容の更新処理の場合は、処理ステップS12からS14に飛び、MPU11は、該当するメモリ変更要求に従ってメモリ内容の更新をする。
次いで、MPU11は、メモリ内容の更新したファイルが、固定バックアップ情報に該当するものか否かを判断し(S15)、Dataフォルダに振り分けられるファイル等、固定バックアップ情報に該当しない場合には、そのまま処理を終了する。一方、固定バックアップ情報に該当する場合には、MPU11は、更新したメモリ内容のサム値を算出して固定バックアップ情報の更新を行ない(S16)、その更新したファイルについてのディレクトリ情報の更新並びにファイル化フラグON(そのファイルの電源ON,更新時のタイムスタンプで作成)にする処理を行なう(S17,S18)。このS17,S18の処理は、例えば、ファイル書き込み要求により新規にファイルが作成された場合には、S4,S5と同様の処理を行ない、新規にディレクトリ情報を追加することになり、既存のファイルに対する変更の場合には、該当するディレクトリ情報のうちの変更された部位の更新処理を行なうことになる。
図13は、ツール装置20からの要求に伴いMPU11が行なうファイル関連処理機能を示している。すなわち、MPU11は、ファイルイベントが発生するのを待ち(S21)、イベントが発生したならば、そのイベントの内容がディレクトリ読み出しか否かを判断し(S22)、ディレクトリ読み出しの場合には、ワークメモリ12に格納したディレクトリ情報を読み出すとともに、読み出したディレクトリ情報をレスポンスとして返送する(S23)。
ディレクトリ読み出しでない場合には、MPU11は、ファイル読み出しか否かを判断し(S24)、ファイル読み出しの場合には、読み出し要求のファイルが、System下のフォルダにあるファイルか否かを判断する(S25)。そして、System下でない場合には、MPU11は、通常の読み出し処理を行ない今回の処理を終了する(S26)。一方、System下ファイルの場合には、MPU11は、該当するファイルを取得するとともに、所定のファイルフォーマットの変換を行ない(S27)、変換後のファイルフォーマットのメモリ内容をレスポンスとして返送する(S28)。すなわち、メモリデバイスに格納された各内容は、本実施形態では、FA機器が従来から持つファイルフォーマットにしている。つまり、上述したように、ツール装置20の表示画面には、ファイル名に所定の拡張子を付したリストで表示するようにしたが、FA機器のメモリデバイスには必ずしも該当する拡張子のフォーマットで格納されているとは限らない。そこで、FA機器10のMPU11は、System下のファイルに対して読み出し要求があった場合、ツール装置20に表示されている拡張子に対応するように(係る拡張子のファイルになるように)、所定のファイルフォーマット変換(コンバート)を行なうのである。MPU11は、係る変換機能も備えている。
また、取得したファイルイベントがファイル読み出しでない場合(S24でNo)、MPU11は、ファイル書き込みか否かを判断する(S29)。そして、ファイル書き込みでもない場合には、MPU11は、イベントに対応するその他の通常の処理を行ない、今回の処理を終了する(S30)。ファイル書き込みの場合には、書き込み要求のファイルが、System下のフォルダにあるファイルか否かを判断する(S31)。そして、System下でない場合には、通常の書き込み処理を行ない今回の処理を終了する(S32)。一方、System下ファイルの場合には、MPU11は、取得したファイル(ツール装置からは、一般的な汎用のファイルフォーマットのデータを取得)を、書き込み対象のメモリフォーマットに変換する(S33:S26と逆のフォーマット変換)。そして、MPU11は、変換後のフォーマットのデータに基づき、System下フォルダメモリデバイス更新処理を実行する(S34)。この処理ステップS34の具体的な処理アルゴリズムは、上述した図12に示したフローチャートである。そして、係る処理が終了後、MPU11は、実行終了レスポンスを返送する(S35)。
図14は、FA機器の第2実施形態を示している。FA機器が、PLCのように複数のユニット(個々のユニット自体もFA機器を構成する)が連結され、1つのFA機器(複合モジュール構成機器)を構成するものに適用したものである。図14では、各ユニットをモジュールと称している。各モジュール(FA機器:ユニット)10′,10″は、内部バス10aにより連結されている。よって、各FA機器10′,10″は、内部バス10aと接続され通信を行なうための内部バスインタフェース19を備えている。この場合において、CPUユニット(モジュール-1)のように、親となるFA機器10′と、高機能ユニット(モジュール-2)のように子となるFA機器10″とを区別し、親となるFA機器10′(モジュール-1)には、連係された子となるFA機器10″(モジュール-2)の情報についても、I/Oテーブルに基づきディレクトリ構造で表示しファイルとしてアクセスする機能を提供する。子となるFA機器10″(モジュール-2)は、上述した第1実施形態のFA機器10と同じ機能を持たせる。
図15は、第2実施形態の複合モジュール構成機器からなるFA機器のファイルシステム構造の一例を示している。図3と比較すると明らかなように、個々のモジュール(FA機器10′,10″)についての型式名のフォルダと、Memcardフォルダ及びSystemフォルダの間に、号機番号フォルダを設けている。号機番号は、ユニット番号とも称されるもので、複合モジュール構成機器(たとえばPLC)内での個々のモジュール(ユニット)を特定するための番号である。ハードウェアモジュールのスイッチなどで設定された番号が格納される。なお、設定不要なモジュールはこのフォルダが省略されるため、図3に示すように、先に説明した第1実施形態のように単一のモジュールから構成されるFA機器では当該フォルダが省略されている。本実施形態によれば、複数のハードウェアモジュールで構成されたPLCシステムをあたかも1つのストレージデバイスをアクセスするような簡単な操作で、目的とする情報を検索・表示・コピーが可能となる。
図16は、親のFA機器(モジュール)が持つディレクトリ情報テーブルのデータ構造の一例を示している。図から明らかなように、自己のメモリデバイスに格納された各ファイルのデレクトリ情報の後ろに続いて、子のFA機器(モジュール)についてのディレクトリ情報(子ディレクトリ情報)も備えている。さらに、子ディレクトリ情報の最終の次レコードポインタ(Null)と先頭の前レコードポインタ(Null)を書き替えて、自己のファイルについてのレコードと、子のレコードをまとめた1つのチェーンを作成している。具体的には、先頭の子ディレクトリ情報の前レコードポインタは、最終の自ディレクトリを指す情報が格納され、自ディレクトリ情報の最終のレコードの次レコードポインタは、子ディレクトリ情報の先頭のレコードを特定するポインタとしている。また、子ディレクトリ情報の最終のレコードの次レコードポインタは、自ディレクトリ情報の先頭のレコードを指す情報が格納され、その自ディレクトリ情報の先頭のレコードの前レコードポインタは、子ディレクトリ情報の最終のレコードを指す情報となっている。また、子の最終号機チェーンの最終のレコードの次レコードポインタは、続く子ディレクトリがないので、NULL(バイナリデータをゼロ「0」)にするとともに、親の先頭の前レコードポインタもNULL(バイナリデータをゼロ「0」)にする。それによりテーブルの先頭と最終が判断できるようにする。なお、子のFA機器のディレクトリ情報テーブルは、自己のメモリデバイスに格納されるファイルについてのディレクトリ情報のみが格納される。
各FA機器10において、ディレクトリ情報テーブルの作成は、電源ON時に、MPU11が行なう。子のFA機器10″のMPU11は、図11に示したフローチャートを実行し、自己のメモリデバイス等に格納されたデータ(ファイル)についてディレクトリ情報を作成する。また、親のFA機器10′のMPU11は、自己のメモリデバイス等に格納されたデータ(ファイル)については、図11のフローチャートを実行してディレクトリ情報を作成する。そして、子のディレクトリ情報については、当該子のFA機器10″に対してディレクトリ読み出しコマンドを送り、その子のFA機器からレスポンスとして返送されてきたディレクトリ情報を取得するとともに、ディレクトリ情報テーブルに格納することで作成する。具体的には、MPU11は、図17に示す処理を実行する機能を備える。
まず、MPU11は、I/Oテーブルを1レコード読み出し(S61)、その読み出したモジュールが高機能モジュールか否かを判断する(S62)。本実施形態では、複合モジュール構成機器としてPLCを想定し、親のFA機器はCPUモジュール(CPUユニット)、子のFA機器は高機能モジュール(高機能ユニット)がそれぞれ対応するものとしたため、この処理ステップS62の分岐判断は、“高機能モジュール?”としたが、一般化するならば、“子のFA機器(モジュール)に該当する機器?”などとなる。そして、この判断は、該当する機器の一覧リストを別途記憶保持しておき、I/Oテーブルから読み出した処理対象のモジュール(機器)が一覧リストに載っているか否かにより判断することができる。
高機能モジュールでない場合には、S62の分岐判断はNoとなるので、処理ステップS67に飛び、I/Oテーブルのポインタを更新し、テーブルの最終になっていなければ処理ステップS61に戻り、次の1レコードについての判断を行なう(S67,S68,S61)。
一方、I/Oテーブルから読み出した処理対象が高機能モジュールの場合(S62でYes)、MPU11は、ディレクトリ読み出しコマンドをセットし、内部バス10a経由で送信する(S63)。MPU11は、高機能モジュールからのレスポンスを待ち(S64)、レスンポンスが正常終了したならば(S65でYes)、レスポンスとして取得した高機能モジュールから送られてきた当該高機能モジュールのディレクトリ情報を、図16に示す自己のディレクトリ情報テーブル(親ディレクトリ情報テーブル)中の子ディレクトリ情報に追加登録する(S66)。これにより、1つの高機能モジュールについての子ディレクトリ情報が一括して登録される。もちろん、この登録処理に際し、レコードポインタを適宜設定し、自ディレクトリ情報と子ディレクトリ情報が全体としてチェーン構造がとれるようにする。
そして、1つの高機能モジュールについてのディレクトリ情報の登録が完了したならば、次ステップS67に飛び、I/Oテーブルのポインタを更新し、テーブルの最終になっていなければ処理ステップS61に戻り、次の1レコードについての判断を行なう(S67,S68,S61)。
一方、高機能モジュールとの間の通信が正常終了しなかった場合(S56でNo)、そのレスポンスの内容が未定義レスポンスの場合には未対応モジュール処理を実行し(S69,S70)、未定義レスポンスでない場合には、そのレスポンスの内容にしたがって高機能モジュールの異常登録を行なう(S69,S71)。
図18は、高機能モジュール(子)側のMPUに組み込まれるファイル関連処理機能を示している。高機能モジュール(子のFA機器)のMPUは、コマンドを受信するのを待ち(S51)、コマンドを受信したならばその受信したコマンドがディレクトリ読み出しか否かを判断する(S52)。ディレクトリ読み出しの場合(図17のS63の実行により発行されたコマンド)、自己のディレクトリ情報テーブルからディレクトリを読み出すとともに、それにレスポンスコードをセットし、CPUユニットに対してレスポンスを返す(S58)。
一方、受信したコマンドがディレクトリ読み出しでない場合、MPUは、ファイル関連コマンドか否かを判断し(S54)、ファイル関連コマンドの場合には通常のファイル関連処理を実行し(S55)、ファイル関連コマンドでない場合には、通常のメモリの読み出し/書き込み処理を実行する(S56)。本実施形態は、ツール装置20とのデータの送受は、親であるCPUユニット(モジュール)が行なうので、ここでのファイル関連処理やメモリの読み出し/書き込み処理は、一般に行なわれるCPUユニットからの指示に従って行なわれるメモリデバイスに対する読み書きである(ファイルフォーマットの変換等は行なわない)。もちろん、複合モジュール機器であっても、高機能モジュールに対して直接ツール装置20がアクセス(USBケーブル/ネットワーク経由)することは可能であり、その場合には、上述した左記の実施形態に従い、高機能モジュールのMPUがツール装置20との間で適宜ファイルフォーマットの変換処理等を行ないながらファイル/メモリの読み書き等を行なうことになる。
図19,図20は、親のFA機器10′であるCPUユニット(モジュール-1)のMPU11が、ツール装置20からの要求に伴い行なうファイル関連処理機能を示している。すなわち、MPU11は、ファイルイベントが発生するのを待ち(S81)、イベントが発生したならば、そのイベントの内容がディレクトリ読み出しか否かを判断し(S82)、ディレクトリ読み出しの場合には、ワークメモリ12に格納したディレクトリ情報を読み出すとともに、レスポンスとして返送する(S83)。このとき返すレスポンス情報には、自レスポンス情報と、子レスポンス情報の両方を含むため、ツール装置20は、CPUユニット(モジュール)と高機能ユニット(モジュール)の両方のディレクトリ情報を取得し、表示することができる。
ディレクトリ読み出しでない場合には、MPU11は、ファイル読み出しか否かを判断し(S84)、ファイル読み出しの場合には、読み出し要求を受けたファイルが自ディレクトリファイルについてのものか否かを判断する(S85)。そして、自ディレクトリファイルの場合(S85でYes)、MPU11は、読み出し要求のファイルが、System下のフォルダにあるファイルか否かを判断する(S93)。そして、System下でない場合には、MPU11は、通常の読み出し処理を行ない今回の処理を終了する(S96)。一方、System下ファイルの場合には、MPU11は、該当するファイルを取得するとともに、所定のファイルフォーマットの変換を行ない(S95)、変換後のファイルフォーマットのメモリ内容をレスポンスとして返送する(S96)。
また、読み出し要求を受けたファイルが自ディレクトリファイルでない場合(S85はNo)、MPU11は読み出し要求を受けたファイルが格納されている高機能モジュール宛に、対応するコマンド(ファイル読み出しコマンド)を発行し(S86)、レスポンスを待つ(S87)。そして、レスポンスを受信したならば、MPU11は、正常終了したか否かを確認し(S88)、正常終了した場合には読み出し要求のファイルが、System下のフォルダにあるファイルか否かを判断する(S89)。そして、System下ファイルの場合には、MPU11は、レスポンスとして取得したデータに対し、所定のファイルフォーマットの変換を行ない(S90)、変換後のファイルフォーマットのデータをレスポンスとしてツール装置に返送する(S91)。一方、System下でない場合には、上記のファイルフォーマットの変換は必要ないので、通常通り、MPU11は、高機能ユニットから取得したデータとレスポンスをツール装置20に返送する。正常終了していない場合(S88でNo)には、MPU11は、高機能ユニットの異常登録を行なう(S92)。
一方、取得したファイルイベントがファイル読み出しでない場合(S84でNo)、MPU11は、ファイル書き込みか否かを判断する(S101)。そして、ファイル書き込みでもない場合には、MPU11は、イベントに対応するその他の通常の処理を行ない、今回の処理を終了する(S102)。ファイル書き込みの場合には、書き込み要求のファイルが、System下のフォルダにあるファイルか否かを判断する(S103)。System下ファイルの場合には、MPU11は、取得したファイル(ツール装置からは、一般的な汎用のファイルフォーマットのデータを取得)を、書き込み対象のメモリフォーマットに変換する(S104:S90と逆のフォーマット変換)。係る変換処理後、或いは、System下ファイルでない場合(S103でNo)、ファイルの書き込み対象が自ディレクトリファイルについてのものか否かを判断する(S105)。そして、自ディレクトリファイルの場合(S105でYes)、上述した第1実施形態と同様に、MPU11は、System下か否かを確認し(S106)、System下でない場合には、通常の書き込み処理を行ない今回の処理を終了する(S107)。一方、System下ファイルの場合には、MPU11は、System下フォルダメモリデバイス更新処理を実行する(S107)。System下フォルダメモリデバイス更新処理は、例えば第1実施形態で説明した図12に示すフローチャートを実行することができるものとする。もちろん、このS107では、S101でファイル書き込みがYesとなっているので、通常、S12の判断は常にYesとなるので、係る処理ステップをなくすなど、適宜修正しても良いし、同じ処理フローを使用することで、プログラムの共有を図るべくそのまま使用しても良い。また、S14のメモリ内容の更新では、System下ファイルの場合、S104の実行ですでにフォーマット変換されているので、そのデータで更新する。この107の処理が完了後、MPU11は、ツール装置20に対して実行終了レスポンスを返送し、今回の処理を終了する(S108)。
一方、書き込み要求を受けたファイルが自ディレクトリファイルでない場合(S105はNo)、MPUは、処理対象となるファイルが書き込み許可されているものか否かを判断する(S106)。CPUユニットは、ワークメモリ12に記憶保持したディレクトリ情報テーブルに、子ディレクトリ情報も併せて格納しているので、その情報中のファイル属性を確認し、書き込み許可されているか否かを判断できる。そして、書き込み許可されていないファイルの場合、CPUユニットのMPUは、実行終了レスポンス(書き込み不可を返送する(S108)。もちろん、書き込み要求を受けたファイルを高機能モジュール側に転送した場合、高機能モジュール側から書き込み不可のレスポンスを受けるので、それをツール装置20に返送しても良いが、CPUユニット側で書き込み可否の判断を行なうことで、無駄な処理を無くし、内部バス間の通信負荷を軽減するとともに、各ユニットでのMPUの処理負荷の軽減を図ることができ、さらに、より早くレスポンスを返すことかできるようになる。
そして、書き込み許可されたファイルの場合には、CPUユニットのMPU11は、書き込み要求を受けたファイルが格納されている高機能モジュール宛に、対応するコマンド(ファイル書き込みコマンド)を発行し(S111)、レスポンスを待つ(S112)。そして、レスポンスを受信したならば、MPU11は、正常終了したか否かを確認し(S113)、正常終了した場合には、実行終了レスポンス(正常終了)をツール装置20に返送する(S108)。また、正常終了していない場合(S113でNo)には、MPU11は、高機能ユニットの異常登録を行なう(S114)。
本発明の好適な第1実施形態を示すハードウェアブロック図である。 (a)は、ローカル配置のソフトウェアブロック図であり、(b)はリモート配置のソフトウェアブロック図である。 FA機器のファイルシステム構造の一例を示す図である。 PLCシステム構成におけるファイルシステム構造例を示す図である。 USBドライブとして割り付けたオールインワンタイプPLCのメモリ表示例を示す図である。 マイクロソフト社(登録商標)のUNC表記によるタッチパネルのメモリ表示例を示す図である。 マイクロソフト社(登録商標)のUNC表記による温度調節器のメモリ表示を示す図である。 マイクロソフト社(登録商標)のUNC表記による視覚センサのメモリ表示例を示す図である。 マイクロソフト社(登録商標)のUNC表記によるRFID機器のメモリ表示例を示す図である。 ディレクトリ情報テーブルのデータ構造を示す図である。 電源ON時にMPUが実行するメモリデバイスファイル化認識処理(ディレクトリ情報テーブル作成)機能を示すフローチャートである。 Systemフォルダ下のメモリデバイス更新処理機能を示すフローチャートである。 ファイル関連処理機能を示すフローチャートである。 本発明の第2実施形態を示すハードウェアブロック図である。 PLCなどの複合モジュール構成機器のファイルシステム構造の一例を示す図である。 親ディレクトリ情報テーブルの一例を示す図である。 親のFA機器における子のディレクトリ情報についてのテーブル作成機能を示すフローチャートである。 高機能モジュール(子)側のファイル関連処理機能を示すフローチャートである。 CPUモジュール(親)側のファイル関連処理機能を示すフローチャートである。 CPUモジュール(親)側のファイル関連処理機能を示すフローチャートである。
符号の説明
10 FA機器
10′ FA機器(親):CPUモジュール
10″ FA機器(子):高機能モジュール
11 MPU
12 ワークメモリ
13 ユーザメモリ
14 ユーザデータ記憶部
15 パラメータ記憶部
16 ストレージデバイス
17 汎用デバイスインタフェース
18 ネットワークインタフェース
19 内部バスインタフェース
20 ツール装置
21 USBケーブル
22 ネットワーク

Claims (5)

  1. FAネットワークシステムを構成するためのFA機器であって、
    演算実行部と、
    その演算実行部が演算処理するためのプログラム,パラメータやFA機器が作成・取得したデータ等のFA機器が保持するデータをファイルとして記憶する記憶手段と、
    前記記憶手段に記憶されているファイルのディレクトリ情報を備えたディレクトリ情報記憶手段と、
    外部からのディレクトリ読み出し要求に従い前記ディレクトリ情報記憶手段をアクセスし、該当するディレクトリ情報をレスポンスとして返信する手段と、
    外部からのファイルの読み出し要求に従い、前記記憶手段にアクセスして該当するファイルのデータを読み出しとともにレスポンスとして返信する読み出し手段と、
    外部からのファイルの書き込み要求に従い、前記記憶手段にアクセスし、書き込みを行なう書き込み手段と、
    を備え、
    前記ディレクトリ情報には、前記ファイルのデータを外部と送受する際のファイルフォーマットを特定するフォーマット情報を含み、
    前記読み出し手段は、前記記憶手段に格納されたファイルのファイルフォーマットと、前記フォーマット情報で特定されるファイルフォーマットが相違する場合、読み出したデータを前記フォーマット情報で特定されるファイルフォーマットに変換し、変換後のデータを送信する機能を備え、
    前記書き込み手段は、前記記憶手段に格納するファイルのファイルフォーマットと、前記書き込み要求とともに取得したデータのファイルフォーマットとが相違する場合、取得したデータを予め設定されたファイルフォーマットに変換し、変換後のデータを前記記憶手段に書き込む機能を備えた、
    ことを特徴とするFA機器。
  2. FAネットワークシステムを構成するためのFA機器であって、
    複数のモジュールを備え、各モジュールには、演算実行部と、その演算実行部が演算処理するためのプログラム,パラメータやFA機器が作成・取得したデータ等のFA機器が保持するデータをファイルとして記憶する記憶手段と、前記記憶手段に記憶されているファイルのディレクトリ情報を備えたディレクトリ情報記憶手段と、を備え、
    前記複数のモジュールのうちの1つが親のモジュールとなるとともに残りが子のモジュールとなり、その親のモジュールが、外部のツール装置とファイルを構成するデータの送受を行なうようにし、
    前記親のモジュールの前記ディレクトリ情報は、自身の記憶手段に格納されたファイルについてのディレクトリ情報と、子のモジュール自身の記憶手段に格納されたファイルについてのディレクトリ情報と、を備え、
    前記親のモジュールは、
    外部からのディレクトリ読み出し要求に従い前記ディレクトリ情報記憶手段をアクセスし、該当するディレクトリ情報をレスポンスとして返信する手段と、
    外部からのファイルの読み出し要求に従い、前記親のモジュールの記憶手段にアクセスするか、前記子のモジュールに対して読み出しコマンドを発行することで該当するファイルのデータを取得するともにレスポンスとして返信する読み出し手段と、
    外部からのファイルの書き込み要求に従い、前記親のモジュールの記憶手段にアクセスするか、前記子のモジュールに対して書き込みコマンドを発行することで書き込みを行なう書き込み手段と、
    を備え、
    前記親のモジュールのディレクトリ情報記憶手段に格納されたディレクトリ情報には、前記ファイルのデータを外部と送受する際のファイルフォーマットを特定するフォーマット情報を含み、
    前記読み出し手段は、前記取得したファイルのファイルフォーマットと、前記フォーマット情報で特定されるファイルフォーマットが相違する場合、取得したデータを前記フォーマット情報で特定されるファイルフォーマットに変換し、変換後のデータを送信する機能を備え、
    前記書き込み手段は、前記親のモジュールまたは子のモジュールの記憶手段に格納するファイルのファイルフォーマットと、前記書き込み要求とともに取得したデータのファイルフォーマットとが相違する場合、取得したデータを予め設定されたファイルフォーマットに変換し、変換後のデータを前記親のモジュールの記憶手段に書き込むか、前記変換後のデータとともに前記子のモジュールに対して書き込みコマンドを送る機能を備えた、
    ことを特徴とするFA機器。
  3. 前記親のモジュールが記憶保持する、前記子のモジュール自身の記憶手段に格納されたファイルについてのディレクトリ情報中に、ファイルごとに前記子のモジュールの記憶手段に対する書き込みを許可するか否かの属性情報を持ち、
    前記書き込み手段は、子のモジュールに対する書き込み要求を受けた際に、書き込み要求を受けたファイルの前記属性情報を確認し、書き込みが許可されていないファイルの場合には、受け取ったデータを前記子のモジュールに送らないようにする機能を備えたことを特徴とする請求項2に記載のFA機器。
  4. 予めファイルの種類に応じた複数のフォルダを用意し、前記記憶手段に格納されるファイルは、その種類に合わせていずれかのフォルダに振り分け、その振り分けた情報を前記ディレクトリ情報に持たせるようにしたことを特徴とする請求項1〜3のいずれか1項に記載のFA機器。
  5. 請求項1から4のいずれかに記載のFA機器と、そのFA機器と通信するツール装置と、を備えたシステムであって、
    前記ツール装置は、前記FA機器に対してディレクトリ情報の読み出し要求をして取得したディレクトリ情報に基づき、そのFA機器の記憶手段に格納されたファイルのリストを表示する機能と、
    リストとして表示されたファイルに読み書きするためのコマンドを前記FA機器に送る機能と、
    を備えたことを特徴とするファイルアクセスシステム。
JP2008062809A 2008-03-12 2008-03-12 Fa機器並びにファイルアクセスシステム Active JP5146656B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008062809A JP5146656B2 (ja) 2008-03-12 2008-03-12 Fa機器並びにファイルアクセスシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008062809A JP5146656B2 (ja) 2008-03-12 2008-03-12 Fa機器並びにファイルアクセスシステム

Publications (2)

Publication Number Publication Date
JP2009217707A JP2009217707A (ja) 2009-09-24
JP5146656B2 true JP5146656B2 (ja) 2013-02-20

Family

ID=41189457

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008062809A Active JP5146656B2 (ja) 2008-03-12 2008-03-12 Fa機器並びにファイルアクセスシステム

Country Status (1)

Country Link
JP (1) JP5146656B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5240281B2 (ja) 2010-11-29 2013-07-17 オムロン株式会社 温度調節器
JP2012118593A (ja) * 2010-11-29 2012-06-21 Omron Corp 温度調節器
JP6191021B2 (ja) * 2013-02-20 2017-09-06 パナソニックIpマネジメント株式会社 アクセス装置、情報記録装置およびアクセスシステム
JP6191022B2 (ja) * 2013-02-20 2017-09-06 パナソニックIpマネジメント株式会社 アクセス装置、情報記録装置およびアクセスシステム
JP6636355B2 (ja) * 2016-02-17 2020-01-29 株式会社キーエンス プログラマブル表示器及びこれを備えるプログラマブルシステム、プログラマブル表示器の操作方法、プログラマブル表示器操作プログラム及びコンピュータで読み取り可能な記録媒体並びに記憶した機器
JP6705266B2 (ja) 2016-04-07 2020-06-03 オムロン株式会社 制御装置、制御方法およびプログラム
WO2018011943A1 (ja) 2016-07-14 2018-01-18 かもめエンジニアリング株式会社 処理方法および処理システム
CN111125047B (zh) * 2019-12-06 2024-03-12 中盈优创资讯科技有限公司 冷热数据目录识别方法及装置
JP6779418B1 (ja) * 2020-01-20 2020-11-04 三菱電機株式会社 設計支援装置、設計支援方法および設計支援プログラム

Also Published As

Publication number Publication date
JP2009217707A (ja) 2009-09-24

Similar Documents

Publication Publication Date Title
JP5146656B2 (ja) Fa機器並びにファイルアクセスシステム
CN107436594B (zh) 使用基于控制器的元属性的自动化历史记录器配置方法
US10545492B2 (en) Selective online and offline access to searchable industrial automation data
CN104903884B (zh) 现场设备配置方法、现场设备配置验证方法及资产管理系统
JP4462449B2 (ja) 制御システム設定装置
EP1936496A1 (en) Module classification and searching for industrial control systems
JP6357770B2 (ja) 制御装置および通信制御方法
US20070067458A1 (en) Proxy server for integration of industrial automation data over multiple networks
JP5030852B2 (ja) 機器管理装置及び機器管理方法及びプログラム
CN102867010A (zh) 取出、存储以及供给设备定义文件信息的系统和方法
JP2019053731A (ja) プロセス制御システムに関連付けられた構成ファイルを評価するためのシステム及び方法
JP6737298B2 (ja) コントローラ、制御方法、および制御プログラム
EP1903411A1 (en) Proxy server for integration of industrial automation data over multiple networks
JP6720994B2 (ja) 制御システム、コントローラ、および制御方法
CN101923320B (zh) 用于存储来自工业控制器的数据的系统和方法
CA3035599C (en) Systems and methods for discovering configurations of legacy control systems
JP6177455B2 (ja) 管理システム
JP7063009B2 (ja) 表示装置、画面生成方法、および画面生成プログラム
JP4013250B2 (ja) Opc通信ステーション
JP3988605B2 (ja) 設定ツール装置
JP6954191B2 (ja) 制御システム、開発支援装置、および開発支援プログラム
EP3582034A1 (en) Method and apparatus, in the field of automation technology, of updating processing data
US20230393547A1 (en) Human-machine execution system applied to manufacturing
US9892011B2 (en) Apparatus and method for autodetection of HART devices over PROFIBUS
JP2018139162A (ja) 制御装置および通信制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110107

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121022

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121113

R150 Certificate of patent or registration of utility model

Ref document number: 5146656

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151207

Year of fee payment: 3