JP5168012B2 - プログラマブルコントローラのプログラム編集装置 - Google Patents

プログラマブルコントローラのプログラム編集装置 Download PDF

Info

Publication number
JP5168012B2
JP5168012B2 JP2008194090A JP2008194090A JP5168012B2 JP 5168012 B2 JP5168012 B2 JP 5168012B2 JP 2008194090 A JP2008194090 A JP 2008194090A JP 2008194090 A JP2008194090 A JP 2008194090A JP 5168012 B2 JP5168012 B2 JP 5168012B2
Authority
JP
Japan
Prior art keywords
program
function
function block
protection
library
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.)
Expired - Fee Related
Application number
JP2008194090A
Other languages
English (en)
Other versions
JP2010033290A (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.)
JTEKT Corp
Original Assignee
JTEKT 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 JTEKT Corp filed Critical JTEKT Corp
Priority to JP2008194090A priority Critical patent/JP5168012B2/ja
Priority to US12/505,789 priority patent/US8560093B2/en
Priority to EP09166309A priority patent/EP2151753A1/en
Publication of JP2010033290A publication Critical patent/JP2010033290A/ja
Application granted granted Critical
Publication of JP5168012B2 publication Critical patent/JP5168012B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Programmable Controllers (AREA)

Description

本発明は、プログラマブルコントローラで実行可能な制御プログラムを編集するプログラマブルコントローラのプログラム編集装置に関する。
I/Oモジュールと外部安全装置との間の信号のやりとりをCPUモジュールにより制御するプログラマブルコントローラ(PLC:プログラマブルロジックコントローラともいう)に関する従来技術があった(例えば、特許文献1参照)。これは、ディスプレイ上に各I/Oモジュールに対応する複数のファンクションブロックが配置されており、ユーザーがコンピュータシステムを用いて、これらのファンクションブロックを結合子や連結子等により結合して、I/Oモジュールと外部装置との間の信号のやりとりを制御する制御プログラムを作成編集するものである。
この従来技術によるプログラマブルコントローラは、ディスプレイ上に配置された複数のファンクションブロックを結合するのみで制御プログラムを作成することができ、プログラム作成スキルのないユーザーでも制御プログラムを作成可能にする、いわゆるイージープログラミングと呼ばれる方式を採用するものである。
一方、制御プログラムの作成スキルを有したユーザーにとっては、自らの能力を生かして、各I/Oモジュールに接続された外部安全装置または外部安全装置以外の外部装置に適応した高度な制御プログラムを作成したいという要求があった。そのため、作成者に対し制御プログラムの作成の自由度を広範囲に許したプログラム作成方法(フリープログラミング)を採用したプログラマブルコントローラも存在する。
これは、ラダー回路、ファンクションブロックで回路用アプリケーションを作成するもので、ユーザーのプログラミングに関するエンジニアリングスキルは必要であるが、最も自由度の高いプログラミングができる。
この種のプログラマブルコントローラにおいては、プログラム作成者が自ら作成した関数プログラムを含んだファンクションブロック(ユーザーファンクションブロックまたは非保護ファンクションブロック)を使用する場合があり、これにより形成された制御プログラムはプログラマブルコントローラの製造メーカが供給するメーカファンクションブロック(保護ファンクションブロック)と、上述したユーザーファンクションブロックが混在したプログラムとなることがあった。
特開2007−11713号公報
ところで一般的にプログラマブルコントローラにおいて、複数のファンクションブロックはCPUモジュールあるいはCPUモジュールに接続されたコンピュータシステムに設けられたライブラリ内に保存されている。このため、メーカファンクションブロック内の関数プログラムの変更を不可能にするため、ライブラリにはロックが施されている場合が多い。したがって、上述したフリープログラミングによるプログラムの作成を可能にするプログラマブルコントローラにおいては、ライブラリのロックにより、保存されているユーザーファンクションブロックの変更をもできない状態となる。
これを回避するために、ライブラリを複数個用意して、メーカファンクションブロックのみを保存するライブラリと、ユーザーファンクションブロックのみを保存するライブラリとを分けて設ける方法があるが、複数個のライブラリを使用することによるメモリ容量の増大等、プログラマブルコントローラのコスト高の要因となる場合が多かった。
本発明は上記事情に鑑みてなされたものであり、その目的は、変更を禁止する保護ファンクションブロックと、変更を可能とする非保護ファンクションブロックとを同一のライブラリに保存可能なプログラマブルコントローラのプログラム編集装置を提供することにある。
以下、上記課題を解決するのに適した各手段につき、必要に応じて作用効果等を付記しつつ説明する。
(手段1)手段1に係るプログラマブルコントローラのプログラム編集装置は、
プログラマブルコントローラで実行可能な制御プログラムを編集するプログラマブルコントローラのプログラム編集装置において、
保護ファンクションブロックおよび非保護ファンクションブロックを保存するライブラリと、
前記ライブラリ内の前記保護ファンクションブロックあるいは前記非保護ファンクションブロックにそれぞれ含まれる関数プログラムのいくつかをリンクさせて前記制御プログラムを形成し、前記ライブラリ内の前記非保護ファンクションブロックに含まれる前記関数プログラムを変更することを許可するとともに、前記ライブラリ内の前記保護ファンクションブロックに含まれる前記関数プログラムを変更することを禁止する。
したがって、手段1に係るプログラマブルコントローラのプログラム編集装置によれば、編集手段がライブラリ内の非保護ファンクションブロックに含まれる関数プログラムの変更を許可するが、保護ファンクションブロックに含まれる関数プログラムの変更を禁止するため、ユーザーによる変更を禁止する保護ファンクションブロックと、変更を可能とする非保護ファンクションブロックとを同一のライブラリに保存することが可能となる。これにより、制御プログラムの作成において両種のファンクションブロックの使用ができるため、制御プログラムの作成の自由度を増大させることができる。また、ライブラリが1個ですむことによりメモリ容量の増大を防ぎ、低コストのプログラマブルコントローラのプログラム編集装置にすることができる。
また、前記保護ファンクションブロックには、含まれている前記関数プログラムに基づく変更不能な演算結果が付され、
前記編集手段は、
付されている前記演算結果に基づき、前記保護ファンクションブロックを前記非保護ファンクションブロックに対して区別する。
したがって、特別な方法を実行しなくても、保護ファンクションブロックを非保護ファンクションブロックに対して容易に区別して、関数プログラムの変更を禁止することができる。
(手段2)手段1に記載のプログラマブルコントローラのプログラム編集装置において、
前記プログラマブルコントローラは、
外部安全装置が接続される安全用I/Oモジュールと、
前記外部安全装置以外の外部装置が接続される常用I/Oモジュールと、
を備え、
前記保護ファンクションブロックに含まれる前記関数プログラムは、前記安全用I/Oモジュールに対する固有のものであり、
前記非保護ファンクションブロックに含まれる前記関数プログラムは、前記常用I/Oモジュールに関するものである。
したがって、手段2に係るプログラマブルコントローラのプログラム編集装置によれば、安全用I/Oモジュールに対する固有の関数プログラムの変更が禁止されるため、外部安全装置が接続された安全用I/Oモジュールを、常に正常に機能させることができ、安全性の高いプログラマブルコントローラにすることができる。
(手段3)手段1または2に記載のプログラマブルコントローラのプログラム編集装置において、
前記保護ファンクションブロックは既製のものであり、
前記非保護ファンクションブロックはユーザーにより作成可能なものである。
したがって、手段3に係るプログラマブルコントローラのプログラム編集装置によれば、既製の保護ファンクションブロックに含まれる関数プログラムを保護できるとともに、非保護ファンクションブロックに含まれる関数プログラムを、制御プログラム作成時にユーザーが変更することができる。
(手段4)手段1乃至3のいずれかに記載のプログラマブルコントローラのプログラム編集装置において、
前記編集手段は、
入力された前記保護ファンクションブロックに含まれる前記関数プログラムの変更コマンドを拒否する。
したがって、手段4に係るプログラマブルコントローラのプログラム編集装置によれば、極めて容易に保護ファンクションブロックに含まれる関数プログラムの変更を禁止することができる。
(手段5)手段1乃至4のいずれかに記載のプログラマブルコントローラのプログラム編集装置において、
形成された前記制御プログラムを、前記保護ファンクションブロックあるいは前記非保護ファンクションブロック単位で表示するプログラム表示部を備え、
前記編集手段は、
前記プログラム表示部による前記保護ファンクションブロックに含まれる前記関数プログラムの表示を禁止する。
したがって、手段5に係るプログラマブルコントローラのプログラム編集装置によれば、編集手段が保護ファンクションブロックに含まれる関数プログラムの表示を禁止するため、ユーザーが関数プログラムを見ることができないようにして、保護ファンクションブロックに含まれる関数プログラムが変更されることを防止することができる。
(手段6)手段1乃至3または5のいずれかに記載のプログラマブルコントローラのプログラム編集装置において、
前記編集手段は、
前記制御プログラムが形成される際に、前記ライブラリ外において変更された前記関数プログラムを、前記ライブラリ内の対応する前記関数プログラムと置き換えるファンクションブロックセーブ部を有するとともに、
前記ライブラリ外において変更された前記保護ファンクションブロックに含まれる前記関数プログラムを、前記ファンクションブロックセーブ部により前記ライブラリ内において対応する前記関数プログラムと置き換えることを禁止する。
したがって、手段6に係るプログラマブルコントローラのプログラム編集装置によれば、編集手段がライブラリ外において変更された保護ファンクションブロックに含まれる関数プログラムを、ライブラリ内において対応する関数プログラムと置き換えることを禁止するため、たとえ保護ファンクションブロックに含まれる関数プログラムがライブラリ外において変更されたとしても、ライブラリ内において対応する関数プログラムが変更されることがない。
また、編集手段が保護ファンクションブロックに含まれる関数プログラムの表示を禁止するとともに、ライブラリ外において変更された保護ファンクションブロックに含まれる関数プログラムを、ライブラリ内において対応する関数プログラムと置き換えることを禁止するようにすれば、2つの方法により保護ファンクションブロックに含まれる関数プログラムの変更が禁止され、保護ファンクションブロックに含まれる関数プログラムの保護精度がより向上する。
(手段7)手段6に記載のプログラマブルコントローラのプログラム編集装置において、
前記編集手段は、
付されている前記演算結果に基づき、前記保護ファンクションブロックに含まれている前記関数プログラムの変更の有無を判定する。
したがって、手段7に係るプログラマブルコントローラのプログラム編集装置によれば、特別な方法を実行しなくても、含まれる関数プログラムの変更の有無を容易に判定し、ライブラリ内において対応する関数プログラムと置き換えることを禁止することができる。
(手段8)手段1乃至7のいずれかに記載のプログラマブルコントローラのプログラム編集装置において、
前記保護ファンクションブロックには、含まれている前記関数プログラムのステップ数が付されている。
したがって、手段8に係るプログラマブルコントローラのプログラム編集装置によれば、付されたステップ数に基づき保護ファンクションブロックを非保護ファンクションブロックに対して容易に区別することができ、また、実際に含まれる関数プログラムのステップ数を付されたステップ数と比較して、関数プログラムの変更の有無を容易に判定することができる。
(手段9)手段1乃至8のいずれかに記載のプログラマブルコントローラのプログラム編集装置において、
前記保護ファンクションブロックには、含まれている前記関数プログラムに基づく誤り検出により算出された値が付されている。
したがって、手段9に係るプログラマブルコントローラのプログラム編集装置によれば、付された誤り検出により算出された値に基づき保護ファンクションブロックを非保護ファンクションブロックに対して容易に区別することができ、また、実際に含まれる関数プログラムの誤り検出により算出された値を付された値と比較して、関数プログラムの変更の有無を容易に判定することができる。
(手段10)手段1のプログラマブルコントローラのプログラム編集装置において、
形成された前記制御プログラムを、前記保護ファンクションブロックあるいは前記非保護ファンクションブロック単位で表示するプログラム表示部を備え、
前記保護ファンクションブロックには重み付け数値が付され、
前記編集手段は、
前記制御プログラムが形成される際に、前記ライブラリ外において変更された前記関数プログラムを、前記ライブラリ内の対応する前記関数プログラムと置き換えるファンクションブロックセーブ部を有するとともに、
前記重み付け数値に基づいて、前記保護ファンクションブロックに含まれている前記関数プログラムの保護の重要性が高いと判定された場合、前記プログラム表示部による前記保護ファンクションブロックに含まれる前記関数プログラムの表示を禁止し、かつ変更された前記保護ファンクションブロックに含まれる前記関数プログラムを、前記ファンクションブロックセーブ部により前記ライブラリ内において対応する前記関数プログラムと置き換えることを禁止し、
前記重み付け数値に基づいて、前記保護ファンクションブロックに含まれている前記関数プログラムの保護の重要性が低いと判定された場合、前記プログラム表示部による前記保護ファンクションブロックに含まれる前記関数プログラムの表示を許可するが、変更された前記保護ファンクションブロックに含まれる前記関数プログラムを、前記ファンクションブロックセーブ部により前記ライブラリ内において対応する前記関数プログラムと置き換えることを禁止する。
したがって、手段10に係るプログラマブルコントローラのプログラム編集装置によれば、保護ファンクションブロックに含まれている関数プログラムの保護の重要性に応じて、関数プログラムの変更を禁止する方法を実行できるため、保護ファンクションブロックに含まれている関数プログラムの保護精度を向上できるとともに、保護ファンクションブロックに含まれている関数プログラムを保護するために要する時間および編集手段のメモリ容量等の節約が可能になる。
また、保護ファンクションブロックに含まれる関数プログラムの保護の重要性が低いと判定された場合、プログラム表示部により関数プログラムが表示されるため、ユーザーが関数プログラムを見ることができ、制御プログラムの作成作業を効率化できる。
<実施形態1>
図1乃至図3に基づき、本発明の実施形態1によるプログラマブルコントローラのプログラム編集装置について説明する。尚、図3において保護ファンクションブロックを保護FBと記載している。本実施形態におけるプログラマブルコントローラのプログラム編集装置は、フリープログラミングによる制御プログラムの作成方法を採用したものであるが、本発明はこれに限定されるものではない。
図1に示すように、本実施形態によるプログラマブルコントローラは、複数の外部安全装置(図示せず)が接続されるI/Oモジュール1(本発明の安全用I/Oモジュールに該当する)、あるいは外部安全装置以外の外部装置(図示せず)が接続されるI/Oモジュール2(本発明の常用I/Oモジュールに該当する)と、バス3によりI/Oモジュール1、2と接続されたCPUモジュール10と、CPUモジュール10と接続され、CPUモジュール10に電力を供給する電源モジュール20と、CPUモジュール10と接続されユーザーが操作可能な端末機30(本発明のプログラム編集装置に該当する)とを備えている。
I/Oモジュール1に接続される外部安全装置としては、これに限定されるものではないが、工場内に設置される緊急停止ボタン、ライトカーテン等の非常時検出装置や、設備の緊急停止装置、緊急警告装置等の緊急回避装置が考えられる。一方、I/Oモジュール2に接続される外部安全装置以外の外部装置としては、同じく工場内に設置される製品検査装置や設備装置が含まれる。また、I/Oモジュール1、2はいずれもCPU、RAM、ROMを備えており、それぞれ接続される外部装置が有する仕様に対応可能なように形成されている。
CPUモジュール10は、インターフェイス101を介してI/Oモジュール1、2と接続されたコントロール部102と、コントロール部102と接続された制御プログラム記憶部103とを備えている。CPUモジュール10はこの他、ハードディスク等の外部記憶装置を備えていてもよい。
コントロール部102は、CPU、ROMおよびRAMにて構成され、インターフェィス101を介してI/Oモジュール1、2との間で信号のやりとりが可能となっている。
制御プログラム記憶部103は書き込み可能なメモリにより形成されており、後述するように、端末機30により作成されたマシン語による制御プログラムが記憶される。
端末機30は一般的なコンピュータシステムが使用され、ユーザーが操作入力可能なキーボード301およびマウス302と、キーボード301およびマウス302と接続された制御部303(本発明の編集手段に該当する)と、制御部303と接続されたディスプレイ305(本発明のプログラム表示部に該当する)を備えている。
制御部303はマイクロプロセッサを備えており、機械語変換部304aおよび比較判定部304bを含んでいる。また、制御部303にはRAM306およびROM307がそれぞれ接続されており、ディスプレイ305および後述する引当部312、プログラム形成部313、セーブ部314、通信部315を制御している。ディスプレイ305は、後述するようにプログラム形成部313により形成された制御プログラムを、ユーザーファンクションブロックあるいは保護ファンクションブロック単位で表示する。
端末機30内には記憶メモリ領域であるライブラリ308(本発明のライブラリに該当する)が形成されており、単一のライブラリ308中には、制御プログラムを形成するために必要な複数のファンクションブロック309〜311(第1ファンクションブロック309、第2ファンクションブロック310、第3ファンクションブロック311)等が保存されている。
各々のファンクションブロック309〜311は関数プログラムを含んでおり、当該関数プログラムは、外部安全装置あるいは外部安全装置以外の外部装置からの入力信号に応じて、出力されるべき出力信号を演算するラダー回路をプログラム化したもので、それぞれ接続される外部装置(外部安全装置および外部安全装置以外の外部装置を包括する)の仕様に適合した演算処理を実行する。
ライブラリ308に保存されたファンクションブロック309〜311内には、ユーザーにより作成可能なユーザーファンクションブロック(本発明の非保護ファンクションブロックに該当する)と、プログラマブルコントローラの製造者による既製の保護ファンクションブロック(本発明の保護ファンクションブロックに該当する)とが混在している。保護ファンクションブロックに含まれる関数プログラムは、外部安全装置が接続されたI/Oモジュール1に対する固有のファンクションブロックで、ユーザーファンクションブロックに含まれる関数プログラムは、外部安全装置以外の外部装置が接続されたI/Oモジュール2に関するファンクションブロックである。
本実施形態においては、図1における第1ファンクションブロック309および第2ファンクションブロック310がユーザーファンクションブロック、第3ファンクションブロック311が保護ファンクションブロックであるとする。以下、第1ファンクションブロック309および第2ファンクションブロック310をユーザーファンクションブロック309、310とよび、第3ファンクションブロック311を保護ファンクションブロック311とよぶことがあるものとする。
引当部312(本発明の編集手段に該当する)は制御部303およびライブラリ308と接続され、ユーザーによるキーボード301あるいはマウス302への操作入力に基づき、前述した制御プログラムを形成するために必要なユーザーファンクションブロック309、310あるいは保護ファンクションブロック311に含まれる関数プログラムをライブラリ308内から引き当てる。
プログラム形成部313(本発明の編集手段に該当する)は制御部303、ディスプレイ305および引当部312と接続され、引当部312により引き当てられた関数プログラムのいくつかをリンクさせて、制御プログラムを形成する。
セーブ部314(本発明のファンクションブロックセーブ部に該当する)は制御部303の比較判定部304bおよびライブラリ308と接続され、制御プログラムを形成する際に、ライブラリ308外においてユーザーにより変更されたユーザーファンクションブロック309、310に含まれる関数プログラムを、ライブラリ308内の対応する関数プログラムと置き換える(関数プログラムをセーブする)。
通信部315は制御部303と接続され、CPUモジュール10との間で信号の授受を行い、形成された制御プログラムをCPUモジュール10に送信したり、I/Oモジュール1、2の仕様情報を入手する。
上述した構成を有するプログラマブルコントローラにおいて、ユーザーがI/Oモジュール1、2に接続された外部装置に応じて、双方の間の信号のやりとりをするために必要な制御プログラムを作成する場合、ユーザーのキーボード301あるいはマウス302への操作入力に基づき、制御部303が引当部312を制御する。引当部312は制御プログラムを形成するために必要なファンクションブロック309、310、311に含まれる関数プログラムを、ライブラリ308から引き当ててプログラム形成部313へと送る。
ユーザーによる操作に基づき、引き当てられたファンクションブロック309、310、311がプログラム形成部313において互いにリンクされ、ファンクションブロック309、310、311のいくつかを含んだ制御プログラムが作成される。
作成された制御プログラムは、機械語変換部304aにおいてマシン語に変換された後、制御部303から通信部315を介してCPUモジュール10へと送られ、制御プログラム記憶部103に記憶される。CPUモジュール10は、記憶された制御プログラムを実行し、I/Oモジュール1、2と接続された外部装置との間の信号のやりとりを制御する。
次に、図2に基づいて、本実施形態によるライブラリ308に保存されたユーザーファンクションブロック309、310および保護ファンクションブロック311のデータ構成を説明する。図2の左方において示すように、ユーザーファンクションブロック309、310(図2においては、ユーザーファンクションブロック309のみについて示す)は、ヘッダー309a、データ本体309b、フッター309cにより構成されている。
ヘッダー309aには種々の識別子が記憶されている。また、データ本体309bは、ユーザーファンクションブロック309に含まれる関数プログラムを形成するデータであって、I/Oモジュール2等の制御プログラムであるラダーロジックを形成するためのプログラムデータである。データ本体309bはライブラリ308から引き当てられた後、プログラム形成部313においてユーザーにより変更(編集)される。
また、フッター309cにはデータ本体309bによる関数プログラムのステップ数309dと、データ本体309bに基づく誤り検出により算出された値309eが記憶されている。ユーザーファンクションブロック309、310においては、保護ファンクションブロック311に対する区別を可能にするために、ステップ数309dおよび誤り検出により算出された値309eは、ともに0に設定されている。関数プログラムのステップ数309dと誤り検出により算出された値309eは、変更不能に設定されている。
一方、図2の右方において示すように、保護ファンクションブロック311も種々の識別子が記憶されたヘッダー311a、保護ファンクションブロック311に含まれる関数プログラムを形成するデータ本体311bおよびフッター311cにより構成されている。
データ本体311bはユーザーファンクションブロック309、310と同様に、I/Oモジュール1等の制御プログラムであるラダーロジックを形成するためのプログラムデータである。
また、フッター311cにはデータ本体311bによる関数プログラムに基づいて演算され、その結果であるステップ数311dと、データ本体311bに基づく誤り検出により算出された値311eが記憶されている。値311eは、データ本体311bに基づくチェックサムまたはCRC、もしくはその他の方法による誤り検出により算出された値である。関数プログラムのステップ数311dと誤り検出により算出された値311eは、変更不能に設定されている。
次に、図3に基づいて、本実施形態による端末機30による制御プログラムの編集方法について説明する。以下、ファンクションブロック309、311に含まれる関数プログラムについて、ディスプレイ305への表示要求があった場合、およびライブラリ308におけるファンクションブロック309、311のセーブ要求があった場合の制御部303による制御方法について説明する。
最初に、ユーザーがキーボード301あるいはマウス302に対し操作入力して、指定したファンクションブロック309、311に含まれる関数プログラムを、ディスプレイ305へ表示することを要求すると(ステップS301)、表示要求のあった関数プログラムを含んだファンクションブロック309、311が保護ファンクションブロック311であるか否かが判定される(ステップS302)。
比較判定部304bは、ファンクションブロック309、311のフッター309c、311cに記憶された関数プログラムのステップ数309d、311dと、誤り検出により算出された値309e、311eに基づき、指定したファンクションブロック309、311がユーザーファンクションブロック309であるか保護ファンクションブロック311であるかを区別する。
すなわち、関数プログラムのステップ数309d、311dと、誤り検出により算出された値309e、311eがともに0である場合、指定したファンクションブロック309、311がユーザーファンクションブロック309であると判定し、関数プログラムのステップ数309d、311dと、誤り検出により算出された値309e、311eがともに0でない場合、指定したファンクションブロック309、311が保護ファンクションブロック311であると判定する。
制御部303は、表示要求のあった関数プログラムを含んだファンクションブロック309、311がユーザーファンクションブロック309である場合、関数プログラムのディスプレイ305への表示を許可する(ステップS303)。一方、制御部303は、表示要求のあった関数プログラムを含んだファンクションブロック309、311が保護ファンクションブロック311である場合、関数プログラムのディスプレイ305への表示は禁止する(ステップS302)。
関数プログラムの表示要求がなかった場合(ステップS301)または関数プログラムのディスプレイ305への表示が禁止された場合(ステップS302)、もしくは関数プログラムがディスプレイ305に表示された場合(ステップS303)、次に、ユーザーがキーボード301あるいはマウス302に対し操作入力して、プログラム形成部313において変更(編集)された関数プログラムを、ライブラリ308内において対応する関数プログラムと置き換える(セーブする)要求があるか否かが判定される(ステップS304)。
関数プログラムをライブラリ308内にセーブする要求があると判定されると、セーブ要求のあった関数プログラムを含んだファンクションブロック309、311が保護ファンクションブロック311であって、かつセーブ要求のあった関数プログラムが変更されているか否かが判定される(ステップS305)。
比較判定部304bは、上述した場合と同様に、ファンクションブロック309、311のフッター309c、311cに記憶された関数プログラムのステップ数309d、311dと、誤り検出により算出された値309e、311eに基づき、指定した関数プログラムを含んだファンクションブロック309、311がユーザーファンクションブロック309であるか保護ファンクションブロック311であるかを区別する。また、保護ファンクションブロック311の関数プログラムのステップ数311dと、誤り検出により算出された値311eに基づき、指定した関数プログラムの変更の有無を判定する。
すなわち、関数プログラムのステップ数309d、311dと、誤り検出により算出された値309e、311eがともに0である場合、指定したファンクションブロック309、311がユーザーファンクションブロック309であると判定し、関数プログラムのステップ数309d、311dと、誤り検出により算出された値309e、311eがともに0でない場合、指定したファンクションブロック309、311が保護ファンクションブロック311であると判定する。
また、セーブ要求のあった保護ファンクションブロック311の関数プログラムのステップ数と、誤り検出による算出値を新たに演算し、フッター311cに記憶された関数プログラムのステップ数311dおよび誤り検出により算出された値311eと比較する。
新たに演算された保護ファンクションブロック311の関数プログラムのステップ数と、誤り検出により算出された値が、ともにフッター311cに記憶された関数プログラムのステップ数311dおよび誤り検出により算出された値311eと一致した場合、セーブ要求された保護ファンクションブロック311の関数プログラムは変更されていないと判定される。
一方、新たに演算された保護ファンクションブロック311の関数プログラムのステップ数と、誤り検出により算出された値の少なくともいずれかが、フッター311cに記憶された関数プログラムのステップ数311dまたは誤り検出により算出された値311eと一致しなかった場合、セーブ要求された保護ファンクションブロック311の関数プログラムは変更されていると判定される。
制御部303は、セーブ要求された関数プログラムを含んだファンクションブロック309、311が保護ファンクションブロック311でない場合、またはセーブ要求された関数プログラムが変更されていない場合、セーブ要求された関数プログラムをライブラリ308内にセーブすることを許可する(ステップS306)。一方、制御部303は、セーブ要求された関数プログラムを含んだファンクションブロック309、311が保護ファンクションブロック311であって、かつ、セーブ要求された関数プログラムが変更されている場合、セーブ要求された関数プログラムをライブラリ308内にセーブすることを禁止する(ステップS305)。
関数プログラムのセーブ要求がなかった場合(ステップS304)またはセーブ要求のあった関数プログラムをライブラリ308内にセーブすることが禁止された場合(ステップS305)、もしくはセーブ要求のあった関数プログラムをライブラリ308内にセーブした場合(ステップS306)、制御フローは終了する。
尚、上述したステップS305において、セーブ要求された関数プログラムの変更の有無を判定せず、セーブ要求された関数プログラムを含んだファンクションブロック309、311が保護ファンクションブロック311でない場合、セーブ要求された関数プログラムをライブラリ308内にセーブすることを許可し、セーブ要求された関数プログラムを含んだファンクションブロック309、311が保護ファンクションブロック311である場合、セーブ要求された関数プログラムをライブラリ308内にセーブすることを禁止するようにしてもよい。
本実施形態によれば、端末機30はライブラリ308内のユーザーファンクションブロック309、310に含まれる関数プログラムの変更を許可するとともに、保護ファンクションブロック311に含まれる関数プログラムの変更を禁止する。
したがって、ユーザーによる変更を禁止する保護ファンクションブロック311と、変更を可能とするユーザーファンクションブロック309、310とを同一のライブラリ308に保存することが可能となり、制御プログラムの作成において両種のファンクションブロック309、310、311を使用できることにより、制御プログラムの作成の自由度が増大する。また、ライブラリ308が1個ですむことによりメモリ容量の増大を防ぎ、低コストの端末機30にすることができる。
また、ライブラリ308内の保護ファンクションブロック311に含まれる関数プログラムの変更が禁止されることにより、外部安全装置が接続されたI/Oモジュール1に対する固有の関数プログラムの変更が禁止されるため、外部安全装置が接続されたI/Oモジュール1を、常に正常に機能させることができ、安全性の高いプログラマブルコントローラにすることができる。
また、保護ファンクションブロック311は既製のものであり、ユーザーファンクションブロック309、310はユーザーにより作成可能なものである。
したがって、プログラマブルコントローラの製造者による、既製の保護ファンクションブロック311に含まれる関数プログラムを保護できるとともに、ユーザーファンクションブロック309、310に含まれる関数プログラムを、制御プログラム作成時にユーザーが変更することができる。
また、端末機30の制御部303は、ディスプレイ305による保護ファンクションブロック311に含まれる関数プログラムの表示を禁止する。
したがって、ユーザーが関数プログラムを見ることのできないようにして、保護ファンクションブロック311に含まれる関数プログラムが、変更されることを防止することができる。
また、端末機30の制御部303は、ライブラリ308外において変更された保護ファンクションブロック311に含まれる関数プログラムを、セーブ部314によりライブラリ308内にセーブする(ライブラリ308内において対応する関数プログラムと置き換える)ことを禁止する。
したがって、たとえ保護ファンクションブロック311に含まれる関数プログラムが、プログラム形成部313のようなライブラリ308外において変更されたとしても、ライブラリ308内において対応する関数プログラムが変更されることがない。
また、端末機30の制御部303は、ディスプレイ305による保護ファンクションブロック311に含まれる関数プログラムの表示を禁止し、かつ、変更された保護ファンクションブロック311に含まれる関数プログラムを、セーブ部314によりライブラリ308内にセーブすることを禁止する。
したがって、2つの方法により保護ファンクションブロック311に含まれる関数プログラムの変更が禁止され、保護ファンクションブロック311に含まれる関数プログラムの保護精度がより向上する。
また、保護ファンクションブロック311には、含まれている関数プログラムのステップ数311dと、誤り検出により算出された値311eが付され、端末機30の制御部303は、これらの数値に基づき保護ファンクションブロック311をユーザーファンクションブロック309、310に対して区別する。
したがって、特別な方法を実行しなくても、保護ファンクションブロック311をユーザーファンクションブロック309、310に対して容易に区別して、関数プログラムの変更を禁止することができる。
また、端末機30の制御部303は、含まれている関数プログラムのステップ数311dと、誤り検出により算出された値311eに基づき、保護ファンクションブロック311に含まれる関数プログラムの変更の有無を判定する。
したがって、特別な方法を実行しなくても、含まれる関数プログラムの変更の有無を容易に判定し、ライブラリ308内において対応する関数プログラムと置き換えることを禁止することができる。
上述したように、本実施形態においては、関数プログラムのステップ数309d、311dと、誤り検出により算出された値309e、311eの双方に基づいて、指定したファンクションブロック309、311が保護ファンクションブロック311であるか否かの判定をし、また、セーブ要求された関数プログラムが変更されているか否かの判定が成されるため、より精度の高い判定を行うことができる。
<実施形態2>
図4および図5に基づき、本発明の実施形態2によるプログラマブルコントローラのプログラム編集装置について説明する。尚、図5において保護ファンクションブロックを保護FBと記載している。図4において示すように、本実施形態による保護ファンクションブロック321も実施形態1による保護ファンクションブロック311と同様に、種々の識別子が記憶されたヘッダー321a、保護ファンクションブロック321に含まれる関数プログラムを形成するデータ本体321bおよびフッター321cにより構成されている。
データ本体321bは保護ファンクションブロック311と同様に、外部安全装置が接続されたI/Oモジュール1等の制御プログラムであるラダーロジックを形成するためのプログラムデータである。
また、フッター321cにはデータ本体321bによる関数プログラムに基づいて演算され、その結果であるステップ数321dと、データ本体321bに基づく誤り検出により算出された値321eが記憶されている。値321eは、データ本体321bに基づくチェックサムまたはCRC、もしくはその他の方法による誤り検出により算出された値である。
本実施形態による保護ファンクションブロック321のフッター321cには、さらにレベル数値321f(本発明の重み付け数値に該当する)が記憶されている。レベル数値321fは、保護ファンクションブロック321に含まれる関数プログラムの変更を禁止するための、保護レベルを示している。これに限定されるものではないが、本実施形態の場合、レベル数値321fとして1または2を記憶することができ、数値2は1よりも保護レベルが高いことを意味している。尚、上述した関数プログラムのステップ数321d、誤り検出により算出された値321eおよびレベル数値321fは、変更不能に設定されている。
その他の構成については、実施形態1の場合と同様であるため、説明は省略する。
次に、図5に基づいて、本実施形態によるプログラマブルコントローラの制御方法について説明する。以下、ファンクションブロック309、321に含まれる関数プログラムについて、ディスプレイ305への表示要求があった場合、およびライブラリ308におけるファンクションブロック309、321のセーブ要求があった場合の制御部303による制御方法について説明する。
最初に、ユーザーがキーボード301あるいはマウス302に対し操作入力して、指定したファンクションブロック309、321に含まれる関数プログラムを、ディスプレイ305へ表示することを要求すると(ステップS501)、表示要求のあった関数プログラムを含んだファンクションブロック309、321が保護ファンクションブロック321であるか否かが判定される(ステップS502)。
比較判定部304bは、実施形態1の場合と同様に、ファンクションブロック309、321のフッター309c、321cに記憶された関数プログラムのステップ数309d、321dと、誤り検出により算出された値309e、321eに基づき、指定したファンクションブロック309、321がユーザーファンクションブロック309であるか保護ファンクションブロック321であるかを区別する。
制御部303は、表示要求のあった関数プログラムを含んだファンクションブロック309、321がユーザーファンクションブロック309である場合、関数プログラムのディスプレイ305への表示を許可する(ステップS504)。
一方、表示要求のあった関数プログラムを含んだファンクションブロック309、321が保護ファンクションブロック321である場合、フッター321cに記憶されたレベル数値321fが1であるか否かが判定される(ステップS503)。
制御部303は、レベル数値321fが1である場合、表示要求のあった関数プログラムの保護の重要性が低いと判定し、関数プログラムのディスプレイ305への表示を許可する(ステップS504)。一方、制御部303は、レベル数値321fが2である場合、表示要求のあった関数プログラムの保護の重要性が高いと判定し、関数プログラムのディスプレイ305への表示は禁止される(ステップS503)。
関数プログラムの表示要求がなかった場合(ステップS501)または関数プログラムのディスプレイ305への表示が禁止された場合(ステップS503)、もしくは関数プログラムがディスプレイ305に表示された場合(ステップS504)、次に、ユーザーがキーボード301あるいはマウス302に対し操作入力して、プログラム形成部313において変更(編集)された関数プログラムを、ライブラリ308内において対応する関数プログラムと置き換える(セーブする)要求があるか否かが判定される(ステップS505)。
関数プログラムをライブラリ308内にセーブする要求があると判定されると、セーブ要求のあった関数プログラムを含んだファンクションブロック309、321が保護ファンクションブロック321であるか否かが判定される(ステップS506)。比較判定部304bは、上述した場合と同様に、指定した関数プログラムを含んだファンクションブロック309、321がユーザーファンクションブロック309であるか保護ファンクションブロック321であるかを区別する。
制御部303は、セーブ要求された関数プログラムを含んだファンクションブロックが保護ファンクションブロック321でない場合、セーブ要求された関数プログラムをライブラリ308内にセーブすることを許可する(ステップS507)。一方、制御部303は、セーブ要求された関数プログラムを含んだファンクションブロック309、321が保護ファンクションブロック321である場合、セーブ要求された関数プログラムをライブラリ308内にセーブすることを禁止する(ステップS506)。
関数プログラムのセーブ要求がなかった場合(ステップS505)またはセーブ要求のあった関数プログラムをライブラリ308内にセーブすることが禁止された場合(ステップS506)、もしくはセーブ要求のあった関数プログラムをライブラリ308内にセーブした場合(ステップS507)、制御フローは終了する。
本実施形態によれば、保護ファンクションブロック321には重み付け数値であるレベル数値321fが付され、制御部303はレベル数値321fに基づいて、保護ファンクションブロック321の保護の重要性が高いと判定された場合、ディスプレイ305による保護ファンクションブロック321に含まれる関数プログラムの表示および変更された保護ファンクションブロック321に含まれる関数プログラムを、セーブ部314によりライブラリ308内においてセーブすることを禁止する。また、レベル数値321fに基づいて、保護ファンクションブロック321の保護の重要性が低いと判定された場合、ディスプレイ305による保護ファンクションブロック321に含まれる関数プログラムの表示を許可するが、変更された保護ファンクションブロック321に含まれる関数プログラムを、セーブ部314によりライブラリ308内においてセーブすることを禁止する。
したがって、保護ファンクションブロック321の保護の重要性に応じて、含まれる関数プログラムの変更を禁止する方法を実行できるため、保護ファンクションブロック321の保護精度を向上できるとともに、保護ファンクションブロック321を保護するために要する時間および端末機30のメモリ容量等の節約が可能になる。
また、保護ファンクションブロック321に含まれる関数プログラムの保護の重要性が低いと判定された場合、ディスプレイ305により保護ファンクションブロック321に含まれる関数プログラムが表示されるため、ユーザーが関数プログラムを見ることができ、制御プログラムの作成作業を効率化できる。
<他の実施形態>
本発明は、上述した実施形態に限定されるものではなく、次のように変形または拡張することができる。
ユーザーファンクションブロック309、310と保護ファンクションブロック311とが混在して保存されたライブラリ308を複数個設けてもよい。
ライブラリ308は端末機30内に設けずに、CPUモジュール10内に設けてもよいし、端末機30内とCPUモジュール10内の双方に設けてもよい。
ファンクションブロック309、311のフッター309c、311cには、必ずしもステップ数309d、311dと誤り検出により算出された値309e、311eの双方を記憶させる必要はなく、いずれか一方のみでもよい。
また、ファンクションブロック309、311のフッター309c、311cには、ステップ数309d、311dと誤り検出により算出された値309e、311e以外の演算結果を記憶させてもよい。
上述した保護ファンクションブロック311に含まれる関数プログラムの変更を防止する方法に代えて、または、上述した方法とともに、制御部303が、ユーザーの操作によって入力された保護ファンクションブロック311に含まれる関数プログラムの変更コマンド自体を拒否するようにしてもよい。
比較判定部304bを含んだ制御部303、引当部312、プログラム形成部313およびセーブ部314は、CPUモジュール10内に設けられていてもよい。この場合、端末機30およびCPUモジュール10を包括して、本発明のプログラム編集装置に該当する。
上述した実施形態においては、保護ファンクションブロックを安全用I/Oモジュールに対する固有のものとし、非保護ファンクションブロックを常用I/Oモジュールに対するものとしたが、保護ファンクションブロックを複数の安全用I/Oモジュールのうちのいくつかに対するものとし、非保護ファンクションブロックを残りの安全用I/Oモジュールに対するものとしてもよい。また、保護ファンクションブロックを複数の常用I/Oモジュールのうちのいくつかに対するものとし、非保護ファンクションブロックを残りの常用I/Oモジュールに対するものとしてもよい。
また、上述した実施形態においては、製造者による既製のものを保護ファンクションブロックとし、ユーザーが作成したものを非保護ファンクションブロックとしたが、既製のものを非保護ファンクションブロックとしてもよいし、ユーザーが作成したものについて、他者による改変を防止するために保護ファンクションブロックとしてもよい。
上述した実施形態1においては、すべての保護ファンクションブロックに含まれる関数プログラムの表示を禁止し、実施形態2においては、保護の重要性に基づいて保護ファンクションブロックに含まれる関数プログラムの表示を禁止しているが、すべての保護ファンクションブロックについて、含まれる関数プログラムの表示を許可するが、その変更は禁止するようにしてもよい。
実施形態1によるプログラマブルコントローラの全体ブロック図 図1に示したファンクションブロックのプログラム構成を示した図 図1に示した端末機によるプログラムの編集方法を表すフローチャート 実施形態2による保護ファンクションブロックのプログラム構成を示した図 実施形態2による端末機によるプログラムの編集方法を表すフローチャート
符号の説明
図面中、1はI/Oモジュール(安全用I/Oモジュール)、2はI/Oモジュール(常用I/Oモジュール)、30は端末機(プログラム編集装置)、303は制御部(編集手段)、304bは比較判定部、305はディスプレイ(プログラム表示部)、308はライブラリ、309は第1ファンクションブロック(非保護ファンクションブロック)、309d、311d、321dは関数プログラムのステップ数、309e、311e、321eは関数プログラムに基づき誤り検出により算出された値、310は第2ファンクションブロック(非保護ファンクションブロック)、311は第3ファンクションブロック(保護ファンクションブロック)、312は引当部(編集手段)、313はプログラム形成部(編集手段)、314はセーブ部(ファンクションブロックセーブ部)、321は保護ファンクションブロック、321fは保護ファンクションブロックのレベル数値(重み付け数値)を示している。

Claims (10)

  1. プログラマブルコントローラで実行可能な制御プログラムを編集するプログラマブルコントローラのプログラム編集装置において、
    保護ファンクションブロックおよび非保護ファンクションブロックを保存するライブラリと、
    前記ライブラリ内の前記保護ファンクションブロックあるいは前記非保護ファンクションブロックにそれぞれ含まれる関数プログラムのいくつかをリンクさせて前記制御プログラムを形成し、前記ライブラリ内の前記非保護ファンクションブロックに含まれる前記関数プログラムを変更することを許可するとともに、前記ライブラリ内の前記保護ファンクションブロックに含まれる前記関数プログラムを変更することを禁止する編集手段と、
    備え、
    前記保護ファンクションブロックには、含まれている前記関数プログラムに基づく変更不能な演算結果が付され、
    前記編集手段は、
    付されている前記演算結果に基づき、前記保護ファンクションブロックを前記非保護ファンクションブロックに対して区別することを特徴とするプログラマブルコントローラのプログラム編集装置。
  2. 前記プログラマブルコントローラは、
    外部安全装置が接続される安全用I/Oモジュールと、
    前記外部安全装置以外の外部装置が接続される常用I/Oモジュールと、
    を備え、
    前記保護ファンクションブロックに含まれる前記関数プログラムは、前記安全用I/Oモジュールに対する固有のものであり、
    前記非保護ファンクションブロックに含まれる前記関数プログラムは、前記常用I/Oモジュールに関するものであることを特徴とする請求項1記載のプログラマブルコントローラのプログラム編集装置。
  3. 前記保護ファンクションブロックは既製のものであり、
    前記非保護ファンクションブロックはユーザーにより作成可能なものであることを特徴とする請求項1または2に記載のプログラマブルコントローラのプログラム編集装置。
  4. 前記編集手段は、
    入力された前記保護ファンクションブロックに含まれる前記関数プログラムの変更コマンドを拒否することを特徴とする請求項1乃至3のいずれか一項に記載のプログラマブルコントローラのプログラム編集装置。
  5. 形成された前記制御プログラムを、前記保護ファンクションブロックあるいは前記非保護ファンクションブロック単位で表示するプログラム表示部を備え、
    前記編集手段は、
    前記プログラム表示部による前記保護ファンクションブロックに含まれる前記関数プログラムの表示を禁止することを特徴とする請求項1乃至4のいずれか一項に記載のプログラマブルコントローラのプログラム編集装置。
  6. 前記編集手段は、
    前記制御プログラムが形成される際に、前記ライブラリ外において変更された前記関数プログラムを、前記ライブラリ内の対応する前記関数プログラムと置き換えるファンクションブロックセーブ部を有するとともに、
    前記ライブラリ外において変更された前記保護ファンクションブロックに含まれる前記関数プログラムを、前記ファンクションブロックセーブ部により前記ライブラリ内において対応する前記関数プログラムと置き換えることを禁止することを特徴とする請求項1乃至3または5のいずれか一項に記載のプログラマブルコントローラのプログラム編集装置。
  7. 前記編集手段は、
    付されている前記演算結果に基づき、前記保護ファンクションブロックに含まれている前記関数プログラムの変更の有無を判定することを特徴とする請求項6記載のプログラマブルコントローラのプログラム編集装置。
  8. 前記保護ファンクションブロックには、含まれている前記関数プログラムのステップ数が付されていることを特徴とする請求項1乃至7のうちのいずれか一項に記載のプログラマブルコントローラのプログラム編集装置。
  9. 前記保護ファンクションブロックには、含まれている前記関数プログラムに基づく誤り検出により算出された値が付されていることを特徴とする請求項1乃至8のうちのいずれか一項に記載のプログラマブルコントローラのプログラム編集装置。
  10. 形成された前記制御プログラムを、前記保護ファンクションブロックあるいは前記非保護ファンクションブロック単位で表示するプログラム表示部を備え、
    前記保護ファンクションブロックには重み付け数値が付され、
    前記編集手段は、
    前記制御プログラムが形成される際に、前記ライブラリ外において変更された前記関数プログラムを、前記ライブラリ内の対応する前記関数プログラムと置き換えるファンクションブロックセーブ部を有するとともに、
    前記重み付け数値に基づいて、前記保護ファンクションブロックに含まれている前記関数プログラムの保護の重要性が高いと判定された場合、前記プログラム表示部による前記保護ファンクションブロックに含まれる前記関数プログラムの表示を禁止し、かつ変更された前記保護ファンクションブロックに含まれる前記関数プログラムを、前記ファンクションブロックセーブ部により前記ライブラリ内において対応する前記関数プログラムと置き換えることを禁止し、
    前記重み付け数値に基づいて、前記保護ファンクションブロックに含まれている前記関数プログラムの保護の重要性が低いと判定された場合、前記プログラム表示部による前記保護ファンクションブロックに含まれる前記関数プログラムの表示を許可するが、変更された前記保護ファンクションブロックに含まれる前記関数プログラムを、前記ファンクションブロックセーブ部により前記ライブラリ内において対応する前記関数プログラムと置き換えることを禁止することを特徴とする請求項1記載のプログラマブルコントローラのプログラム編集装置。
JP2008194090A 2008-07-28 2008-07-28 プログラマブルコントローラのプログラム編集装置 Expired - Fee Related JP5168012B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008194090A JP5168012B2 (ja) 2008-07-28 2008-07-28 プログラマブルコントローラのプログラム編集装置
US12/505,789 US8560093B2 (en) 2008-07-28 2009-07-20 Program editing device for programmable controller
EP09166309A EP2151753A1 (en) 2008-07-28 2009-07-24 Programm editing device for programmable controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008194090A JP5168012B2 (ja) 2008-07-28 2008-07-28 プログラマブルコントローラのプログラム編集装置

Publications (2)

Publication Number Publication Date
JP2010033290A JP2010033290A (ja) 2010-02-12
JP5168012B2 true JP5168012B2 (ja) 2013-03-21

Family

ID=41211696

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008194090A Expired - Fee Related JP5168012B2 (ja) 2008-07-28 2008-07-28 プログラマブルコントローラのプログラム編集装置

Country Status (3)

Country Link
US (1) US8560093B2 (ja)
EP (1) EP2151753A1 (ja)
JP (1) JP5168012B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5091283B2 (ja) 2010-06-25 2012-12-05 株式会社日立製作所 制御装置の保守ツール
EP2573403B1 (en) * 2011-09-20 2017-12-06 Grundfos Holding A/S Pump
JP6340886B2 (ja) * 2014-04-10 2018-06-13 株式会社ジェイテクト プログラマブルロジックコントローラ用プログラムの作成支援装置及びプログラマブルロジックコントローラ用プログラムの作成支援方法
US10069633B2 (en) * 2016-09-30 2018-09-04 Data I/O Corporation Unified programming environment for programmable devices

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE234480T1 (de) * 1997-09-02 2003-03-15 Siemens Ag Verfahren zur steuerung der verteilung und nutzung von software-objekten bei vernetzten rechnern
DE19950249C1 (de) * 1999-10-18 2001-02-01 Siemens Ag Elektronisches Gerät mit Softwareschutz
JP4026397B2 (ja) 2002-04-09 2007-12-26 日本電気株式会社 移動通信端末遠隔制御システム、移動通信端末、遠隔制御方法、及び遠隔制御プログラム
US7330768B2 (en) * 2003-01-28 2008-02-12 Fisher-Rosemount Systems, Inc. Integrated configuration in a process plant having a process control system and a safety system
US7526347B2 (en) * 2003-02-18 2009-04-28 Fisher-Rosemount Systems, Inc. Security for objects in a process plant configuration system
JP4300129B2 (ja) * 2004-02-10 2009-07-22 ファナック株式会社 プログラマブル・シーケンス制御装置
US7272458B2 (en) * 2004-04-13 2007-09-18 Omron Corporation Control system setting device
JP2006338205A (ja) 2005-05-31 2006-12-14 Casio Comput Co Ltd 電子機器およびその制御プログラム
JP4556787B2 (ja) 2005-06-30 2010-10-06 株式会社ジェイテクト プログラマブルコントローラの編集装置
JP4607080B2 (ja) 2005-09-27 2011-01-05 オムロン株式会社 プログラマブル・コントローラ・システム
US20070124776A1 (en) * 2005-11-28 2007-05-31 Welk Douglas L Media distribution system
JP4623380B2 (ja) * 2006-06-26 2011-02-02 横河電機株式会社 エンジニアリング装置
US7840388B2 (en) 2006-06-26 2010-11-23 Yokogawa Electric Corporation Engineering device
JP2008194090A (ja) 2007-02-08 2008-08-28 Sharp Corp 洗濯機
JP4952401B2 (ja) * 2007-06-29 2012-06-13 株式会社ジェイテクト Plc

Also Published As

Publication number Publication date
US8560093B2 (en) 2013-10-15
JP2010033290A (ja) 2010-02-12
EP2151753A1 (en) 2010-02-10
US20100023139A1 (en) 2010-01-28

Similar Documents

Publication Publication Date Title
EP1748336B1 (en) Safety programmable logic controller
JP4952401B2 (ja) Plc
JP5708746B2 (ja) プログラミング装置、および、プログラマブルコントローラ
JP5168012B2 (ja) プログラマブルコントローラのプログラム編集装置
JP4442524B2 (ja) 安全plc
JP6955858B2 (ja) 制御装置
JP2008282341A (ja) 安全適合プログラム作成支援装置
JP2007280348A (ja) プログラマブルコントローラのプログラミング装置
JP6408044B2 (ja) プログラマブルコントローラ
JP4556787B2 (ja) プログラマブルコントローラの編集装置
CA2743972C (en) Maintenance tool of control systems
JP7115351B2 (ja) 制御装置
JP4495945B2 (ja) 制御プログラムの保護機能を備えた制御システム
JP2010191943A (ja) 安全制御プログラムの安全性診断装置及び安全性診断方法
US20140088932A1 (en) Method for the temporary separation of object data of design models
JP6426666B2 (ja) プログラマブルコントローラ
JP6121706B2 (ja) プログラミング方法および装置
JP7103214B2 (ja) サポート装置および支援プログラム
JP3345046B2 (ja) 独立動作保証機能を持つコンピュータシステム
JP2008197982A (ja) ソースコード保護装置
CN112840280A (zh) 控制器系统、控制装置以及控制程序
JPH0833865B2 (ja) データ処理方式
JP2006079360A (ja) プログラマブルコントローラ
JP2000020575A (ja) プリント配線板設計システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110624

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120423

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120809

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120906

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121210

R150 Certificate of patent or registration of utility model

Ref document number: 5168012

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees