JP2015057732A - 自動化設備の工業用コントローラをプログラムする方法および装置 - Google Patents

自動化設備の工業用コントローラをプログラムする方法および装置 Download PDF

Info

Publication number
JP2015057732A
JP2015057732A JP2014236636A JP2014236636A JP2015057732A JP 2015057732 A JP2015057732 A JP 2015057732A JP 2014236636 A JP2014236636 A JP 2014236636A JP 2014236636 A JP2014236636 A JP 2014236636A JP 2015057732 A JP2015057732 A JP 2015057732A
Authority
JP
Japan
Prior art keywords
program
level control
sensor data
machine code
debugging tool
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.)
Pending
Application number
JP2014236636A
Other languages
English (en)
Inventor
カンタレリ マッテオ
Matteo Cantarelli
カンタレリ マッテオ
ロイシュ マティーアス
Matthias Reusch
ロイシュ マティーアス
ヴァルター ヘルベルト
Herbert Walter
ヴァルター ヘルベルト
シュタンコ フローリアン
Florian Stanko
シュタンコ フローリアン
ナヴラティル ティーモ
Timo Nawratil
ナヴラティル ティーモ
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.)
Pilz GmbH and Co KG
Original Assignee
Pilz GmbH and Co KG
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 Pilz GmbH and Co KG filed Critical Pilz GmbH and Co KG
Publication of JP2015057732A publication Critical patent/JP2015057732A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

【課題】複雑なアプリケーション・プログラムの時間効率の良いデバッグを行う。
【解決手段】デバッグ用ツール52を起動している間に自動化設備を制御するコントローラ14上で機械コード・プログラム38を実行する。デバッグ用ツール52はコントローラ14上で走る機械コード38と、プログラム・エディタ内に表示された少なくとも1つの高レベル制御命令46と、の間の逆関係を決定する。デバッグ用ツール52はコントローラ14内のデータ・メモリ38からセンサ・データを読み込むとともに、少なくとも1つの高レベル制御命令46にセンサ・データを割り当てて、それにより、少なくとも1つの高レベル制御命令46を機械コード・プログラム38の実行時の実際のシステム状態にリンクさせる。
【選択図】図2

Description

本発明は、自動化設備を制御する工業用コントローラをプログラムする方法に関するものである。
本発明はさらに、自動化設備の工業用コントローラをプログラムする装置に関するものである。
この種類の方法および装置は、例えば、特許文献1で知られている。
今日の世界では、自動化された、または少なくとも部分的に自動化された多くの技術的プロセスが稼働している。工業用製造現場および生産プラントにおいてだけでなく、空港の手荷物受取所、スキー場のスキー・リフト、遊園地のジェット・コースターなどの日常生活の場面でもまた実施例を見つけることができる。
このような設備の機械および他の構成要素は、設備内のセンサからのセンサ・データを受信して処理するとともに、設備内のアクチュエータを駆動する制御信号を作り出す工業用コントローラで動かされている。例えば、ロボット・アームの瞬時位置を表すセンサ・データの関数として、および制御プログラムで規定するロボット・アームの所望軌道の関数として、ロボット・アームの操作位置を自動的に制御してもよい。コントローラで生成する制御信号により、ロボット・アームを所望の方向に動かす電気駆動装置に電圧を加える。ロボット・アームを制御する制御操作は非常に複雑である可能性がある。それにもかかわらず、制御プロセスには高い柔軟性が求められる。したがって、プログラマブル・コントローラ、すなわち、アプリケーション・プログラムと通常呼ばれるソフトウェアで制御論理を決定するコントローラを使用するのが普通である。
工業用コントローラのプログラムに通常使用される多くの専用プログラミング言語がある。特に、国際規格IEC61131は、いくつかのプログラミング言語を規定している。これらのプログラミング言語では個別のコントローラ上で実行可能な機械コード・プログラムが得られないため、これらのプログラミング言語は本発明の観点で言えば高レベル(high level)・プログラム言語である。正確に言えば、高レベル・プログラミング言語で書かれたプログラムを個別のコントローラ上で実行可能にするには、低レベル機械コード・プログラムに変換しなければならない。変換プロセスは、中間レベル・プログラム・コードを含むいくつかの段階を含んでいてもよい。
便宜上、本明細書では、ラインバイライン・トランスレータ(インタプリタ)および他の種類のトランスレータを含む任意の種類の適したトランスレータに対して、用語「コンパイラ」を使用する。同様に、本明細書では、変換プロセスの結果である低レベル・プログラム・コードであって、制御対象プロセスまたは制御対象設備からの正確なセンサ・データを提供できるコントローラまたは同等の機械上で実行してもよい任意の低レベル・プログラム・コードに対して、用語「機械コード・プログラム」を使用する。
高レベル・プログラミング言語を使用することにより工業用コントローラのプログラミング・プロセスが非常に促進される。その理由は、高レベル・プログラミング言語が複数の高レベル制御命令を提供しており、これらの高レベル制御命令により、プログラマが、コントローラの個別のハードウェア上の実際的なインプリメンテーションではなく、むしろ制御問題および制御論理に集中できるようになるためである。したがって、高レベル・プログラミング言語は広く使用されている。
それにもかかわらず、現代の高度に自動化された制御応用に対する制御プログラムは非常に複雑である可能性があり、プログラミング・エラーを特定することが困難である場合が多い。
したがって、デバッグ用ツールを使用することが一般的である。デバッグ用ツールまたはデバッガは、アプリケーション・プログラムのような他のプログラム内のプログラミング・エラーを見つけるプロセスで使用される特別なコンピュータ・プログラムである。通常、デバッグ用ツールは、ステップ・バイ・ステップ・モード(シングル・ステップ)で、および/または、いわゆるブレイクポイントを用いて、デバッグされる予定のアプリケーション・プログラムの実行を可能にする。ブレイクポイントは、アプリケーション・プログラムの通常の過程では使用しない特別な停止コマンドであり、この停止コマンドは検査中のアプリケーション・プログラムをブレイクポイントの場所で停止させて、前記ブレイクポイントの場所でアプリケーション・プログラムにより達成されたステータスをプログラマが十分な時間をかけて検査できるようになっている。
特許文献1は、工業用コントローラ用のアプリケーション・プログラムをデバッグする方法を開示しており、機械コードのレベルだけでなく、高レベル・プログラミング言語のレベルでも、特に、フローチャート・レベルでも、シングル・ステップ・モードおよび/またはブレイクポイント・モードを使用することができる。したがって、プログラミング・エラーを異なるレベルで調べることができ、エラー検出を促進すると予想される。
特許文献2は、内蔵デバッグ機能を有する工業用コントローラを開示している。内蔵デバッガは、アプリケーション・プログラムを、上述したようにステップ・バイ・ステップで、および/または、ブレイクポイントを用いて、実行することを可能にする。
しかしながら、例えば、制御されていない機械動作が生じることを回避するために、制御対象プロセスを中断することができない場合があるかもしれない。したがって、特許文献2は、選択的に起動したり、または停止したりすることができるブレイクポイントを提案している。
このようにして、特許文献2は、デスクトップ・アプリケーション用のコンピュータ・プログラムのデバッグとは対照的な工業用コントローラ用のアプリケーション・プログラムのデバッグに特有の基本問題、すなわち、例えば、制御対象設備を任意の瞬間に停止できないことに起因する制限に対処している。
欧州特許出願公開第1 184 758号A2 独国特許出願公開第10 2004 062 852号A1
しかし工業用コントローラ用の複雑な制御プログラムを、単にシミュレーション実行するだけ、すなわち、設備を実際に動かしたり、または他の方法で制御したりせずに、デバッグできるだけであることは珍しくない。
さらに、既存のデバッグ用ツールを用いて工業用コントローラ用の複雑な制御プログラムをデバッグすることは、非常に時間がかかって骨の折れるプロセスである可能性がある。
この背景に照らして、本発明の目的は、複雑なアプリケーション・プログラムの時間効率の良いデバッグを行うための改良されたデバッグ機能を含む、工業用コントローラをプログラムする方法および装置を提供することである。
本発明の一態様に基づけば、この目的は次のような方法で達成される。すなわちデバッグ用ツールを起動している間にコントローラ上で機械コード・プログラムを実行し、デバッグ用ツールはコントローラ上で走る機械コードと、プログラム・エディタ内に表示された少なくとも1つの高レベル制御命令と、の間の逆関係を決定し、デバッグ用ツールはデータ・メモリからセンサ・データを読み込むとともに、デバッグ用ツールは少なくとも1つの高レベル制御命令にデータ・メモリからのセンサ・データを割り当てて、それにより、少なくとも1つの高レベル制御命令を機械コード・プログラム実行時の実際のシステム状態にリンクさせる。
本発明の他の態様に基づけば、この目的は次のような装置で達成される。すなわちデバッグ用ツールがコントローラ上で機械コード・プログラムの実行処理を開始するように構成され、デバッグ用ツールはコントローラ上で走る機械コードと、プログラム・エディタ内に表示された少なくとも1つの高レベル制御命令と、の間の逆関係を決定するように構成され、デバッグ用ツールはデータ・メモリからセンサ・データを読み込むようにさらに構成され、デバッグ用ツールは少なくとも1つの高レベル制御命令にデータ・メモリからのセンサ・データを割り当てるように構成され、それにより、少なくとも1つの高レベル制御命令を機械コード・プログラム実行時の実際のシステム状態にリンクさせる。
本発明の方法および装置のデバッグ用ツールは、ブレイクポイントおよび/またはステップ・バイ・ステップ・モードの使用に依存していないが、必要に応じて、これらの従来のデバッグ機能を使用してもよい。しかしながら、核となる態様は、コントローラ上で実際に走る機械コードと、プログラム・エディタ内に表示された少なくとも1つの、好ましくは数個の高レベル制御命令と、の間の逆関係を確立することである。
この逆関係を確立することは、コントローラ上で実行される機械コード命令のうちのどの群が特定の高レベル制御命令に対応しているかを特定することを含んでおり、プログラム・エディタ内に表示された少なくとも1つの高レベル制御命令を機械コード・プログラム実行時の実際のシステム状態にリンクさせることができるようになっている。逆関係を決定することは、機械コード・プログラムを逆コンパイルするステップを、ある程度、含んでおり、機械コード命令を少なくとも1つの高レベル制御命令に再変換するようになっていてもよい。しかしながら、逆コンパイルするステップを必要としないインプリメンテーションがある可能性がある。例えば、適切な基準を機械コードに組み込むことによりコンパイル・プロセス内に逆関係の基礎を既に構築していてもよい。
逆関係を確立することは、高レベル制御命令と制御対象設備の具体的なシステム状態とをリンクすることを可能にする。この具体的なシステム状態は前記高レベル制御命令により開始される制御操作の結果である。言い換えれば、新規のデバッグ用ツールは、少なくとも1つの高レベル制御命令と、制御対象設備の実際のシステム状態への影響とを相互に関連付けている。新規のデバッグ用ツールは、好ましくはアプリケーション・プログラムの任意の高レベル制御命令に対して、新規の逆関係を自動的に確立する。
本発明のデバッグ用ツールの他の態様は、逆関係の結果として特定された少なくとも1つの高レベル制御命令に、コントローラのデータ・メモリから読み込んだ実際のセンサ・データを割り当てることである。両方の態様はともに、制御プロセスの間の特定の瞬間の実際のシステム状態と、この特定のシステム状態に関与する高レベル制御命令と、の間のリンクを提供する。
本発明のデバッグ用ツールによれば、特定の高レベル制御命令が制御対象設備に及ぼす実際の影響をプログラマが容易に検査できるため、効率的なデバッグ・プロセスを促進することが理解されるであろう。実際のシステム状態と特定の高レベル制御命令との間の新規のリンクを確立することは、高レベル制御プログラムと制御対象設備との間の因果関係における原因を明らかにする。アプリケーション・プログラムが複雑であるほど、新規のデバッグ用ツールはデバッグ・プロセスをより促進する。したがって、上述した目的は完全に達成される。
本発明の好ましい改良形態では、コントローラ上で機械コード・プログラムを実行している間に、デバッグ用ツールがデータ・メモリからセンサ・データを繰り返し読み込む。
この改良形態に基づいて、デバッグ用ツールは、特定の瞬間に対してだけでなく、制御プログラムの実行中の、より長い期間に対しても最新のセンサ・データを提供する。制御対象設備の動作の長期的変化をデバッグ・プロセスにおいてより容易に考慮することができる。
他の好ましい改良形態に基づいて、コントローラ上で機械コード・プログラムをリアルタイムで実行する。
この改良形態に基づいて、ブレイクポイントも、特定のステップ・バイ・ステップ・モードも、どちらも用いずに、機械コード・プログラムを実行する。もっと正確に言えば、機械コード・プログラムを、本物の制御プロセスで実行するのと実質的に同様に実行する。実際の条件に基づいて機械コード・プログラムを実行することは制御プロセスの現実的状況を提供し、そのためデバッグ・プロセスをさらに促進する。このことは、重力のような自然力を取り扱う必要があるアプリケーション・プログラムおよび制御操作では、それらの力を止めたり、または減速させたりすることができないため、特に正しい。
他の改良形態では、データ・メモリから読み込んだセンサ・データの履歴を、少なくとも1つの高レベル制御命令に割り当てる。他の方法として、または加えて、デバッグ用ツールはデータ・メモリからセンサ・データを読み込み、そのセンサ・データを、所定のトリガー条件の関数として少なくとも1つの高レベル制御命令に割り当てる。
両方の改良形態は、コントローラ上でおよび/または検査中のプログラム・ループ内で機械コード・プログラムを実行している間にセンサ・データが非常に急激に変化する場合、収集されたセンサ・データのユーザ分析を促進してもよい。センサ・データの履歴は、時間の流れの中でのセンサ・データの現在値および前値(歴史的な値)を示すデータ収集の任意の形態であってもよい。所定のトリガー条件は、所望のセンサ・データを読み込むある特定の瞬間を特定するために、使用者が規定することができる、または自動的に規定することができる任意の条件である。したがって、所定の条件はセンサ・データを読み込むためのトリガー信号を提供し、このセンサ・データを少なくとも1つの高レベル制御命令に割り当てる。
しかしながら、他の改良形態では、機械コード・プログラムをコントローラ上でステップ・バイ・ステップで実行することが特徴となる。
この改良形態は、非常に複雑な制御シナリオのようなデバッグ・プロセスで、大量のセンサ・データをモニタし考慮する必要があるときに有利である。できれば実際のシナリオにおいて制御プログラムのステップ・バイ・ステップ実行処理を利用することで、すべての関連センサ・データに対するプログラマの見通しを促進する。
他の改良形態では、高レベル制御プログラムが、機械コード・プログラムの実行時の時系列に対応する連続的順番で複数の高レベル制御命令を含んでおり、デバッグ用ツールが時系列に基づいて少なくとも1つの高レベル制御命令にデータ・メモリからのセンサ・データを割り当てる。
この改良形態に基づいて、プログラム・エディタ内に表示された全く同じ高レベル・プログラム変数が、その高レベル・プログラム変数を使用する高レベル制御プログラムの中での位置に応じて、実質的に全く同じ時間に(または少なくとも同じオペレーティング・サイクル内で)異なる値を有していてもよい。例えば、ブール変数は少なくとも1つの高レベル制御命令を実行した後には値「真」を有していてもよいが、同じブール変数が前記高レベル制御命令の実行処理の前には値「偽」を有していてもよい。本改良形態は、機械コード・プログラムの実行処理の時系列の結果として高レベル・プログラム変数の値におけるこのような変化を示している。この改良形態は、コントローラ上の機械コード・プログラムの時系列またはタイミング動作に基づいて実際のセンサ・データを利用することにより、複雑な高レベル制御プログラムの効率的なデバッグをさらに促進する。言い換えれば、この改良形態は、デバッグ・プロセスにおいて制御対象設備のタイミング動作を考慮に入れている点が特徴である。
さらに他の改良形態に基づいて、限定された数の高レベル制御命令を複数の高レベル制御命令から選択して、デバッグ用ツールがコントローラ上で走る機械コードと、限定された数だけの高レベル制御命令と、の間の逆関係を決定する。
この改良形態では、限定された数の高レベル制御命令だけが新規のデバッグ・プロセスで利用可能である。この限定は一見したところでは不利に見えるかもしれないが、逆関係を確立するのに、より少ない処理時間しか必要としないため、デバッグ用ツールを、より効率的に動かすことができることが分かっている。言い換えれば、限定された数の特に関連がある高レベル制御命令にデバッグ・プロセスを集中させて、それらの選択された制御命令だけに対して逆関係を決定する。限定された数の制御命令に対して逆関係を非常に速く確立することができる。
他の改良形態では、少なくとも1つの高レベル制御命令が高レベル・プログラム変数を含んでおり、デバッグ用ツールが高レベル・プログラム変数にデータ・メモリからのセンサ・データを割り当てる。
この改良形態は、少なくとも1つの高レベル制御命令に実際のセンサ・データを非常に簡単に分かりやすく割り当てる。したがって、この改良形態は、新規のデバッグ用ツールのかなり容易なインプリメンテーションを可能にする。しかしながら、他の改良形態では、デバッグ用ツールが、プログラム・コマンドとプログラム変数の両方を含む複雑な制御命令に、データ・メモリからのセンサ・データを割り当ててもよい。この後者の改良形態は、新規のデバッグ用ツールの柔軟性と処理能力とを向上させる。
さらに他の改良形態に基づいて、少なくとも1つの高レベル制御命令がデータ・メモリからの複数のセンサ・データに対応しており、デバッグ用ツールが複数のセンサ・データから、設備のより高レベルのシステム状態を表す複雑なデータ変数を決定し、デバッグ用ツールは高レベル制御命令に複雑なデータ変数を割り当てる。
この改良形態は、効率的なデバッグ・プロセスのための非常に柔軟で高性能な方法を提供する。複数の異なるセンサ・データを組み合わせて複雑なデータ変数を作ることと、高レベル制御命令に前記複雑なデータ変数を割り当てることとは、複数のセンサ・データを詳細にモニタする代わりに、デバッグ・プロセス内の全体的なシステム動作に集中することを可能にする。例えば、複雑なデータ変数は、ロボット・アームの位置(上端または下端、左または右)を表してもよく、定性的考察または一般的考察が、ロボットの数個の軸の複数の異なる位置エンコーダに由来する複数のセンサ・データに対応してもよい。ロボットの全体的な位置がデバッグ・プロセスにおける大きな関心事であるときには、デバッグ・プロセス内で複雑なデータ変数を使用すると、ロボット・アームの全体的な位置をモニタすることが可能になり、複数の異なるセンサ・データをモニタするよりも、はるかに容易であり効率的である。
他の改良形態に基づいて、デバッグ用ツールが、プログラム・エディタ内の高レベル・プログラム命令に近い位置に、センサ・データ、および特に複雑なデータ変数を表示する。
この改良形態は、高レベル制御命令と、それぞれの命令が実際の設備に及ぼす影響との両方を、プログラマが同時に、すなわち、一目で見ることができるため、非常に便利で効率的なデバッグ・プロセスを可能にする。実際のセンサ・データを高レベル・プログラム・コードに反映しており、プログラミング・エラーの特定をきわめて容易にしている。
他の改良形態に基づいて、デバッグ用ツールが、設備の複数の所定のシステム状態から1つを示す複数のグラフィカル・シンボルを含むデータベースを含んでおり、デバッグ用ツールは複数のグラフィカル・シンボルから1つ(または1つ以上)を、高レベル・プログラム命令に近い位置に、割り当てられたセンサ・データの関数として表示する。
この改良形態は、プログラム・コードに高レベル・システム状態を反映させるために複雑なデータ変数を使用しているときに、特に有利である。例えば、ロボット・アームの上端または下端を示すロボットのグラフィカル・シンボルは、ロボット・アームの対応するシステム状態を象徴するために使用してもよい。しかしながら、この改良形態は、1ビットだけで表すことができる電源スイッチのような、それほど複雑ではないセンサ・データにも使用してもよい。この改良形態は、実際のセンサ・データで表された実際のシステム状態を非常に直感的な方法で高レベル・プログラム・コードに反映しているため、プログラマに非常に便利で使いやすいインタフェースを提供する。自動化設備を制御する制御プログラムのデバッグを大幅に促進する。
本発明の範囲を逸脱することなく、上述した特徴およびさらに後述する特徴を、それらのそれぞれの組み合わせだけでなく、他の組み合わせでも、またはそれらの特徴単独でも使用することができることは明らかである。本発明の実施形態のさらなる特徴および詳細について図面を参照しながら後述する。
本発明のプログラマブル・コントローラを含む自動化設備の実施形態を示す 概要図である。 本発明の方法および本発明の装置の実施形態を示す概略図である。 図2の方法および装置の高レベル制御命令を含むプログラム・エディタの画面図である。 好ましい実施形態に基づいて実際のセンサ・データと一緒に図3のプログラム・エディタを示している。 高レベル制御命令と、実際のシステム・データを表すロボット・シンボルと、を含むプログラム・エディタの他の好ましい実施形態を示している。
図1は、本発明の好ましい実施形態に基づいて制御されプログラムされる設備10の略図を示す。一例として、設備10は可動ロボット・アーム12を有するロボット11を含んでいる。ロボット・アーム12の動作はプログラマブル・コントローラ14で制御されている。
コントローラ14は、例えば、ある瞬間のロボット・アーム12の位置または速度のような、実際のシステム状態を表す物理量を測定したり、または検出したりするように構成されているセンサから信号を受信する。センサ信号はコントローラ14に送信されて、センサにより測定されまたは検出されたそれぞれ実際のシステム状態を表すセンサ・データをコントローラ14が受信するようになっている。
一例として、図1は回転駆動装置18のすぐ近くに置かれたセンサ16を示している。センサ16は、駆動装置18の瞬時動作位置を検出するように構成されている。駆動装置18は、コントローラ14からの制御信号に呼応してロボット・アーム12を動かすように構成されている。コントローラ14は、本発明によりプログラムされた制御命令に基づいて、およびセンサ16から受信したセンサ・データに基づいて、駆動装置18を制御する。設備10が、さまざまな種類の複数のセンサおよびアクチュエータを含んでいてもよいことは明らかである。
本実施形態では、コントローラ14は、防護ドア22の閉鎖位置をモニタするように構成された防護ドア・スイッチ20からの信号もまた受信する。防護ドア・スイッチ20は、危険な状況を回避するために最近の自動化設備内で使用される安全関連センサの典型的な実施例である。他の安全関連センサは、非常停止プッシュボタン、ライト・グリッド、または譲受人のセーフティ・アイ(登録商標)カメラ・システムなどのフェイルセーフ・カメラ・システムを含んでいてもよい。本発明の好ましい実施形態に基づいて、コントローラ14は、安全関連のセンサ・データと、安全に関連しない(一般的な)センサ・データとを処理して、両方の種類の情報の関数としてロボット11を制御するように構成されている。
本実施形態では、コントローラ14は駆動装置18を制御するだけではなく、接触器24、26も制御しており、これらの接触器24、26は、必要に応じて、防護ドア・スイッチ20のような安全関連センサからのセンサ・データに呼応して安全な停止を提供するためにロボット11への電力供給を中断するように構成されている。しかしながら、本発明は、安全関連センサ・データを処理しないプログラマブル・コントローラにも使用できることが理解されるであろう。
図2は、プログラム・コントローラ14用のプログラミング・ツール30の好ましい実施形態を示している。また、プログラマブル・コントローラ14を詳細に示している。
図2から分かるように、コントローラ14は、ここでは2つの冗長なマイクロプロセッサ32、34を含んでいる。マイクロプロセッサ32、34は、2チャンネルの冗長性を用いて制御命令とセンサ・データとを処理するように構成されている。
安全関連の制御操作に求められるフェイルセーフ設計を提供するために、2つのマイクロプロセッサは、それらの各々の処理結果を比較して互いにモニタしている。欧州規格EN 954−1の第3カテゴリもしくは第4カテゴリ、または国際規格ISO13849−1もしくはIEC61508に準拠する同様の要求事項に基づいて、安全関連の制御操作を制御するコントローラの資格を得るために、コントローラ14は、3チャンネルの冗長性および/または他の種類の組込み試験機能を有していてもよいことは明らかである。しかしながら、上述したように、新規の方法および装置は安全コントローラの資格を得ないコントローラをプログラムするのに使用してもよいが、新規の方法および装置は安全関連の制御プログラムのデバッグに特によく適しているため、後者の安全コントローラの方が好ましい。
コントローラ14は、複数の機械コード命令40を含む機械コード・プログラム38を受け入れるプログラム・メモリ36を含んでいる。プログラム・メモリ36は、数個の冗長機械コード・プログラムを保存する数個の冗長プログラム・メモリを、各冗長マイクロプロセッサ32、34について1つずつ含んでいてもよいことが想定される。しかしながら、便宜上、ここでは1つのプログラム・メモリ36だけを示しており、このプログラム・メモリ36は両方のマイクロプロセッサ32、34に機械コード・プログラムを提供している。
また、コントローラ14は、センサ・データを保存するとともに、アクチュエータ・データを保存するデータ・メモリ38を含んでいる。センサ16、20からセンサ・データを受信して、そのセンサ・データをプログラム・メモリ36内に保存された機械コード命令に基づいて冗長マイクロプロセッサ32、34で処理する。データ処理の結果、アクチュエータ・データを生成してリモート・アクチュエータ18、24、26に送信し、アクチュエータ18、24、26を駆動する。また、データ・メモリ38内に保存されたセンサ・データは、前処理された2ビット冗長センサから生じる1ビット・データのような前処理されたセンサ・データを含んでいてもよいことが理解されるであろう。
プログラミング・ツール30はプログラム・エディタ42を含んでおり、このプログラム・エディタ42は汎用パーソナル・コンピュータ(PC)上にインプリメントされていることが好ましい。
プログラム・エディタ42は、複数の高レベル(high level)制御命令46を含む高レベル制御プログラム44を書き込んで編集することを可能にする。好ましい実施形態に基づいて、プログラム・エディタ42は、国際規格IEC61131で規定された1つ以上の高レベル・プログラミング言語でプログラムを作成することを可能にする。
また、プログラミング・ツール30は、高レベル制御プログラム44をコンパイルして機械コード・プログラム38を作成するコンパイラ48を含んでいる。その後、機械コード・プログラム38はインタフェース50を介してプログラム・メモリ36に転送される。このインタフェース50はPCベースのプログラミング・ツール30とコントローラ14との間のデータ転送を可能にする任意の好適なインタフェースである。
当業者には明らかなように、コンパイラ48およびインタフェース50は、プログラム・エディタ42もまた提供しているPCのハードウェア・コンポーネントおよび/またはソフトウェア・コンポーネントを含んでいてもよい。
プログラミング・ツール30はデバッグ用ツール52をさらに含んでおり、このデバッグ用ツール52もまた、好ましい実施形態のPC上にソフトウェア・コンポーネントおよび/またはハードウェア・コンポーネントとしてインプリメントされている。
デバッグ用ツール52は、設備の実際のシステム状態を表すセンサ・データを、通信リンク54を介してデータ・メモリ38から読み込むように構成されている。いくつかの実施形態では、参照番号55で示すように、規定された時間枠の中でデバッグ用ツール52がセンサ・データを何度も繰り返して読み込むことができ、センサ・データの履歴を実際に読み込むようになっている。
また、デバッグ用ツール52は、現在マイクロプロセッサ32上で、どの機械コード命令40を実行しているのかを通信リンク56を介して特定するように構成されている。一実施形態では、マイクロプロセッサ32および/または34上で実行されている機械コードが、データ・メモリ38および/または別のメモリ(ここでは図示せず)の中に、現在実行されている機械コード命令を特定する識別子を書き込むように構成されており、リンク56を介して識別子を読み込むことでデバッグ用ツールが現在の機械コード命令を容易に特定できるようになっていてもよい。
デバッグ用ツール52は、トリガー条件を規定するフィールド57を提供するように構成されているように想定され、このトリガー条件はリンク54および/または56を介した読み込みプロセスの引き金となる。フィールド57を使用して、プログラマは、例えば “If robot arm 12 left = true, then read sensor data from memory 38”のようなトリガー条件を規定できる。
デバッグ用ツール52は、データ・メモリ38からのセンサ・データと、後で詳述する方法でプログラム・エディタ42内に表示された高レベル制御命令46と、を相互に接続する。したがって、デバッグ用ツール52は、マイクロプロセッサ32上で現在走っている機械コードと、プログラム・エディタ42内に同時に表示された高レベル制御命令と、の間の逆関係を決定するように構成されている。
好ましい実施形態では、デバッグ用ツール52を複数のグラフィカル・シンボルを含むデータベース58に接続しており、各グラフィカル・シンボルはロボット11の複数の所定のシステム状態からの1つを示している。例えば、データベース58は、ロボット・アーム12がいろいろな位置(上端、下端、左、右など)にあるロボット11を示すグラフィカル・シンボルを含んでいてもよい。
デバッグ用ツール52は、一例として図3〜図5に示すように、通信リンク54を介して受信した実際のセンサ・データの関数として複数のグラフィカル・シンボルから1つを選択して、ロボット11の現在のシステム状態を、高レベル制御プログラム44に象徴的に反映するように構成されていてもよい。
図3は、複数の高レベル制御命令46を含むプログラム・エディタ42を示している。複数の高レベル制御命令46は、本実施形態ではテキスト形式言語で書かれた高レベル制御プログラムを形成している。しかしながら、国際規格IEC61131で規定された、いわゆる機能ブロック図のようなグラフィカル・プログラミング言語を使用することも想定される。図3は、デバッグ用ツール52を起動していない状態で、すなわち、新規のデバッグ機能の無い状態でプログラム・エディタ42を示している。
図4は、デバッグ用ツール52を起動している状態で、限定された数の高レベル制御命令46とともに、同じプログラム・エディタ42を示している。
図4では、英数字シンボル60、62とグラフィカル・シンボル64、66とを高レベル制御命令46と一緒に表示している。シンボル60、62は、高レベル・プログラム変数68の現在値を表示しており、この高レベル・プログラム変数68は図示の実施形態ではSTATEと呼ばれる変数である。プログラム変数68の現在値は現在のセンサ・データからデバッグ用ツール52により決定される。
図4の説明図から分かるように、制御操作が行われている結果として、および/または、他の理由によりセンサ・データが変化する結果として、プログラム変数68は制御プロセスの過程で異なる値を有していてもよい。デバッグ用ツール52は、制御プロセス内の制御命令の時系列69に対応するスケジュールに従って、プログラム変数68のそれぞれの現在値を表示する。したがって、プログラム変数68は、図4のシンボル60、62で示すように、1つの高レベル制御命令では現在値「5」を有していてもよく、もっと後の制御命令では現在値「6」を有していてもよい。
シンボル60、62は英数字の値を表示しており、これらの英数字の値は、IEC61131に基づくプログラミング言語の一般的なデータ・タイプであるバイト、ワード、整数、または実数タイプの高レベル・プログラム変数として有用である。対照的に、シンボル64、66は、ブール変数の現在のステータスを表示するのに使用できるグラフィカル・シンボルである。図4に示す実施形態では、シンボル64、66は「オン」または「オフ」のどちらでもよい「緑色光」を表している。しかしながら、この場合も先と同様に、シンボル64、66で象徴された任意のブール・プログラム変数の現在のステータスを、制御操作の時系列に基づいて、実際のセンサ・データの関数として決定している。
図5は、高レベル制御命令46からなる高レベル制御プログラム44を含むプログラム・エディタ42の他の実施例を示している。プログラム44は2つのブール変数70、72を含んでおり、制御プログラムの過程の中での各プログラム変数70、72のそれぞれの現在のステータスを、ここではロボット・アーム12の絵文字を表すグラフィカル・シンボル74、76を用いて示している。グラフィカル・シンボル74、76は、複数の異なるセンサ・データから決定されるロボット・アーム12の現在位置を表していてもよいことが想定される。デバッグ用ツール52は、複数のセンサ・データから複雑なデータ変数を決定するように構成されていてもよい。例えば、複雑なデータ変数は、ロボット・アーム12の各関節部の複数の位置情報を表す複数のセンサ・データに対応していてもよい。シンボル74、76は、それぞれの位置にあるロボット・アーム12の描像であってもよく、各描像は異なる位置を表しており、したがって、複雑なデータ変数の異なる値を表している。
好ましい実施形態では、機械コード・プログラム38を、コントローラ14上で、いかなるブレイクポイントも用いずにリアルタイムで実行している。しかしながら、新規のデバッグ概念に加えて、必要に応じてステップ・バイ・ステップ・モードおよび/またはブレイクポイントを使用してもよいこともまた想定される。
また、コントローラ14は、センサ・データを保存するとともに、アクチュエータ・データを保存するデータ・メモリ39を含んでいる。センサ16、20からセンサ・データを受信して、そのセンサ・データをプログラム・メモリ36内に保存された機械コード命令に基づいて冗長マイクロプロセッサ32、34で処理する。データ処理の結果、アクチュエータ・データを生成してリモート・アクチュエータ18、24、26に送信し、アクチュエータ18、24、26を駆動する。また、データ・メモリ39内に保存されたセンサ・データは、前処理された2ビット冗長センサから生じる1ビット・データのような前処理されたセンサ・データを含んでいてもよいことが理解されるであろう。
デバッグ用ツール52は、設備の実際のシステム状態を表すセンサ・データを、通信リンク54を介してデータ・メモリ39から読み込むように構成されている。いくつかの実施形態では、参照番号55で示すように、規定された時間枠の中でデバッグ用ツール52がセンサ・データを何度も繰り返して読み込むことができ、センサ・データの履歴を実際に読み込むようになっている。
また、デバッグ用ツール52は、現在マイクロプロセッサ32上で、どの機械コード命令40を実行しているのかを通信リンク56を介して特定するように構成されている。一実施形態では、マイクロプロセッサ32および/または34上で実行されている機械コードが、データ・メモリ39および/または別のメモリ(ここでは図示せず)の中に、現在実行されている機械コード命令を特定する識別子を書き込むように構成されており、リンク56を介して識別子を読み込むことでデバッグ用ツールが現在の機械コード命令を容易に特定できるようになっていてもよい。
デバッグ用ツール52は、データ・メモリ39からのセンサ・データと、後で詳述する方法でプログラム・エディタ42内に表示された高レベル制御命令46と、を相互に接続する。したがって、デバッグ用ツール52は、マイクロプロセッサ32上で現在走っている機械コードと、プログラム・エディタ42内に同時に表示された高レベル制御命令と、の間の逆関係を決定するように構成されている。

Claims (14)

  1. 自動化設備(10)を制御する工業用コントローラ(14)をプログラムする方法において、
    前記設備は、前記設備の実際のシステム状態を表すセンサ・データを提供する少なくとも1つのセンサ(16、20)と、前記実際のシステム状態に作用する少なくとも1つのアクチュエータ(18、24、26)と、を含み、前記コントローラ(14)は前記センサ・データを保存するデータ・メモリ(38)と、機械コード・プログラム(38)を保存するプログラム・メモリ(36)と、を含み、
    プログラム・エディタ(42)と、デバッグ用ツール(52)と、コンパイラ(48)と、を有するプログラミング・ツール(30)を提供するステップと、
    前記プログラム・エディタ(42)を用いて、複数の高レベル制御命令(46)を含む高レベル制御プログラム(44)を作成するステップと、
    前記センサ・データを繰り返し読み込んで処理する機械コード命令(40)を含む機械コード・プログラム(38)を作成するために、前記コンパイラ(48)を用いて前記高レベル制御プログラム(44)をコンパイルするステップと、
    前記プログラム・メモリ(36)に前記機械コード・プログラム(38)をロードするステップと、
    前記高レベル制御プログラム(44)をデバッグする前記デバッグ用ツール(52)を起動するステップとを含み、前記高レベル制御命令(46)を前記プログラム・エディタ(42)内に表示する、
    方法であって、
    前記デバッグ用ツール(52)を起動している間に前記コントローラ(14)上で前記機械コード・プログラム(38)を実行し、前記デバッグ用ツール(52)は前記コントローラ(14)上で走る前記機械コード(38)と、前記プログラム・エディタ(42)内に表示された少なくとも1つの高レベル制御命令(46)と、の間の逆関係を決定し、前記デバッグ用ツール(52)は前記データ・メモリ(38)から前記センサ・データを読み込むとともに、前記デバッグ用ツール(52)は前記少なくとも1つの高レベル制御命令(46)に前記データ・メモリ(38)からの前記センサ・データを割り当てて、それにより、前記少なくとも1つの高レベル制御命令を前記機械コード・プログラム(38)の前記実行時の実際のシステム状態にリンクさせることを特徴とする、自動化設備(10)を制御する工業用コントローラ(14)をプログラムする方法。
  2. 前記コントローラ(14)上で前記機械コード・プログラム(38)を実行している間に、前記デバッグ用ツール(52)が前記データ・メモリ(38)から前記センサ・データを繰り返し読み込む、請求項1に記載の方法。
  3. 前記コントローラ上で前記機械コード・プログラム(38)をリアルタイムで実行する、請求項1または2に記載の方法。
  4. センサ・データの履歴(55)を前記データ・メモリ(38)から読み込んで、その履歴(55)を前記少なくとも1つの高レベル制御命令(46)に割り当てる、請求項1〜3のいずれか1項に記載の方法。
  5. 前記デバッグ用ツール(52)が前記データ・メモリ(38)から前記センサ・データを読み込むとともに、そのセンサ・データを、所定のトリガー条件(57)の関数として前記少なくとも1つの高レベル制御命令(46)に割り当てる、請求項1〜4のいずれか1項に記載の方法。
  6. 前記機械コード・プログラム(38)を前記コントローラ(14)上でステップ・バイ・ステップで実行する、請求項1または2に記載の方法。
  7. 前記高レベル制御プログラム(44)が、前記機械コード・プログラム(38)の前記実行時の時系列に対応する連続的順番で複数の高レベル制御命令(46)を含んでおり、前記デバッグ用ツール(52)が前記時系列に基づいて前記少なくとも1つの高レベル制御命令(46)に前記データ・メモリ(38)からの前記センサ・データを割り当てる、請求項1〜6のいずれか1項に記載の方法。
  8. 限定された数の高レベル制御命令(46)を前記複数の高レベル制御命令(46)から選択して、前記デバッグ用ツール(52)が前記コントローラ(14)上で走る前記機械コード(38)と、前記限定された数だけの前記高レベル制御命令(46)と、の間の前記逆関係を決定する、請求項1〜7のいずれか1項に記載の方法。
  9. 前記少なくとも1つの高レベル制御命令(46)が高レベル・プログラム変数(68)を含んでおり、前記デバッグ用ツール(52)が前記高レベル・プログラム変数(68)に前記データ・メモリ(38)からの前記センサ・データを割り当てる、請求項1〜8のいずれか1項に記載の方法。
  10. 前記少なくとも1つの高レベル制御命令(46)が前記データ・メモリ(38)からの複数のセンサ・データに関連しており、前記デバッグ用ツール(52)が前記複数のセンサ・データから、前記設備(10)のより高レベルのシステム状態を表す複雑なデータ変数(74)を決定し、前記デバッグ用ツールは前記高レベル制御命令(46)に前記複雑なデータ変数を割り当てる、請求項1〜9のいずれか1項に記載の方法。
  11. 前記デバッグ用ツール(52)が、前記プログラム・エディタ(42)内の前記高レベル・プログラム命令(46)に近い位置に前記センサ・データを表示する、請求項1〜9のいずれか1項に記載の方法。
  12. 前記デバッグ用ツールが、前記設備(10)の複数の所定のシステム状態から1つを示す複数のグラフィカル・シンボル(74、76)を含むデータベース(58)を含んでおり、前記デバッグ用ツール(52)は前記複数のグラフィカル・シンボル(74、76)から1つを、前記高レベル・プログラム命令(46)に近い前記位置に、前記割り当てられたセンサ・データの関数として表示する、請求項11に記載の方法。
  13. 自動化設備を制御する工業用コントローラをプログラムするプログラミング・ツールとして働くコンピュータ上で、そのプログラム・コードを実行するとき、すべての方法ステップとともに請求項1〜12のいずれか1項に記載の方法を実行するように構成されたプログラム・コードを含むコンピュータ・プログラム。
  14. 自動化設備(10)の工業用コントローラ(14)をプログラムする装置において、
    前記設備(10)は、前記設備(10)の実際のシステム状態を表すセンサ・データを提供する少なくとも1つのセンサ(16、20)と、前記実際のシステム状態に作用する少なくとも1つのアクチュエータ(18、24、26)と、前記コントローラ(14)は前記センサ・データを保存するデータ・メモリ(38)と、機械コード・プログラム(38)を保存するプログラム・メモリ(36)と、を含み、
    複数の高レベル制御命令(46)を含む高レベル制御プログラム(44)を作成するプログラム・エディタ(42)と、
    前記センサ・データを繰り返し読み込んで処理する機械コード命令(40)を含む機械コード・プログラム(38)を作成するために、前記高レベル制御プログラム(44)をコンパイルするコンパイラと、
    前記コントローラ(14)の前記プログラム・メモリ(36)に前記機械コード・プログラム(38)をロードするインタフェース(50)とを含み、
    前記高レベル制御プログラム(44)をデバッグするデバッグ用ツール(52)を含み、前記高レベル制御命令(46)を前記プログラム・エディタ(42)内に表示している、
    装置であって、
    前記デバッグ用ツール(52)が前記コントローラ(14)上で前記機械コード・プログラム(38)の実行処理を開始するように構成され、前記デバッグ用ツール(52)は前記コントローラ(14)上で走る前記機械コード(38)と、前記プログラム・エディタ(42)内に表示された少なくとも1つの高レベル制御命令(46)と、の間の逆関係を決定するように構成され、前記デバッグ用ツール(52)は前記データ・メモリ(38)から前記センサ・データを読み込むようにさらに構成され、前記デバッグ用ツール(52)は前記少なくとも1つの高レベル制御命令(46)に前記データ・メモリ(38)からの前記センサ・データを割り当てるように構成され、それにより、前記少なくとも1つの高レベル制御命令(46)を前記機械コード・プログラム(38)の前記実行時の実際のシステム状態にリンクさせることを特徴とする、自動化設備(10)の工業用コントローラ(14)をプログラムする装置。









JP2014236636A 2009-04-20 2014-11-21 自動化設備の工業用コントローラをプログラムする方法および装置 Pending JP2015057732A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP09158215.5A EP2244143B1 (en) 2009-04-20 2009-04-20 Method and device for programming an industrial controller of an automated installation
EP09158215.5 2009-04-20

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2010095040A Division JP5714835B2 (ja) 2009-04-20 2010-04-16 自動化設備の工業用コントローラをプログラムする方法および装置

Publications (1)

Publication Number Publication Date
JP2015057732A true JP2015057732A (ja) 2015-03-26

Family

ID=41050789

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2010095040A Active JP5714835B2 (ja) 2009-04-20 2010-04-16 自動化設備の工業用コントローラをプログラムする方法および装置
JP2014236636A Pending JP2015057732A (ja) 2009-04-20 2014-11-21 自動化設備の工業用コントローラをプログラムする方法および装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2010095040A Active JP5714835B2 (ja) 2009-04-20 2010-04-16 自動化設備の工業用コントローラをプログラムする方法および装置

Country Status (5)

Country Link
US (1) US8910121B2 (ja)
EP (1) EP2244143B1 (ja)
JP (2) JP5714835B2 (ja)
CN (1) CN101866159B (ja)
ES (1) ES2483966T3 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8327316B2 (en) * 2008-09-30 2012-12-04 Ics Triplex Isagraf Inc. Compilation model
DE102008060011A1 (de) * 2008-11-25 2010-05-27 Pilz Gmbh & Co. Kg Sicherheitssteuerung und Verfahren zum Steuern einer automatisierten Anlage
DE102009051808A1 (de) 2009-11-03 2011-05-05 Keba Ag Absicherung von End-User Programmänderungen durch formale Kontrakte und Programmverifikation in der Automatisierungstechnik
JP2012105421A (ja) 2010-11-09 2012-05-31 Yazaki Corp 電線の超音波接合方法
EP2835699B1 (de) * 2013-08-09 2015-05-06 Sick Ag Vorrichtung und Verfahren zum Konfigurieren und/oder Programmieren einer Sicherheitssteuerung
US9676097B1 (en) * 2014-11-11 2017-06-13 X Development Llc Systems and methods for robotic device authentication
DE102015105436A1 (de) * 2015-04-09 2016-10-13 Beckhoff Automation Gmbh Übersetzungsmodul, Verarbeitungsmodul und Steuerungssystem
DE102015120314A1 (de) * 2015-11-24 2017-05-24 Pilz Gmbh & Co. Kg Verfahren zum Programmieren einer Sicherheitssteuerung
CN105824285B (zh) * 2016-03-14 2018-09-14 上海交通大学 用于单片机的可编程逻辑控制系统的编程设计方法
CN108459552B (zh) * 2018-01-31 2021-07-23 南京拓控信息科技股份有限公司 一种智能化面向对象的可编程的自动化控制方法
CN109144859A (zh) * 2018-08-03 2019-01-04 上海鲸鱼机器人科技有限公司 一种程序调试方法、装置、系统及设备、存储介质
JP6950665B2 (ja) * 2018-11-02 2021-10-13 横河電機株式会社 エンジニアリング装置、エンジニアリング装置の制御方法及びプログラム
JP6717401B1 (ja) * 2019-04-01 2020-07-01 株式会社安川電機 プログラミング支援装置、ロボットシステム及びプログラミング支援方法
KR102590570B1 (ko) * 2023-04-12 2023-10-17 박찬배 자동화 기계설비의 통합안전 시스템

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61122751A (ja) * 1984-11-20 1986-06-10 Mitsubishi Electric Corp プログラミングパネル装置
JPH03110601A (ja) * 1989-09-25 1991-05-10 Fuji Electric Co Ltd 間接アドレス指定データのモニタ方法
JPH0566934A (ja) * 1991-09-10 1993-03-19 Fuji Electric Co Ltd プログラマブルコントローラのプログラミング装置
JPH0816217A (ja) * 1994-07-04 1996-01-19 Fuji Electric Co Ltd プログラマブルコントローラ動作状態監視装置
JP2005115969A (ja) * 2005-01-11 2005-04-28 Toshiba Corp プログラマブルコントローラ

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5291587A (en) * 1986-04-14 1994-03-01 National Instruments, Inc. Graphical system for executing a process and for programming a computer to execute a process, including graphical variable inputs and variable outputs
EP0990964A1 (de) * 1998-09-28 2000-04-05 Siemens Aktiengesellschaft Verfahren zum Betrieb eines Automatisierungssystems
US6981226B2 (en) 2000-08-07 2005-12-27 Siemens Aktiengesellschaft Flowchart programming for industrial controllers, in particular motion controllers
US20030018957A1 (en) * 2001-06-22 2003-01-23 International Business Machines Corporation Debugger monitor with anticipatory highlights
US6961924B2 (en) * 2002-05-21 2005-11-01 International Business Machines Corporation Displaying variable usage while debugging
US7383539B2 (en) * 2003-09-18 2008-06-03 International Business Machines Corporation Managing breakpoints in a multi-threaded environment
US7945900B2 (en) * 2004-04-29 2011-05-17 Marvell International Ltd. Debugging tool for debugging multi-threaded programs
DE102004062852A1 (de) 2004-12-27 2006-07-06 Siemens Ag Steuerung einer Maschine mit Debuggfunktionalität
US7669186B2 (en) * 2005-11-16 2010-02-23 Sun Microsystems, Inc. Debugging applications at resource constrained virtual machines using dynamically installable lightweight agents
US7721196B2 (en) * 2005-12-07 2010-05-18 Microsoft Corporation Arbitrary rendering of visual elements on a code editor
DE502006006706D1 (de) * 2006-06-20 2010-05-27 Siemens Ag Verfahren zur Überwachung eines zyklischen Steuerungsprogramms
RU2417391C2 (ru) * 2006-08-24 2011-04-27 Сименс Энерджи Энд Отомейшн, Инк. Устройства, системы и способы конфигурирования программируемого логического контроллера
US8429613B2 (en) * 2006-10-31 2013-04-23 Microsoft Corporation Stepping and application state viewing between points
US8434062B2 (en) * 2008-06-19 2013-04-30 International Business Machines Corporation Enhancing source code debugging and readability using visual symbols

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61122751A (ja) * 1984-11-20 1986-06-10 Mitsubishi Electric Corp プログラミングパネル装置
JPH03110601A (ja) * 1989-09-25 1991-05-10 Fuji Electric Co Ltd 間接アドレス指定データのモニタ方法
JPH0566934A (ja) * 1991-09-10 1993-03-19 Fuji Electric Co Ltd プログラマブルコントローラのプログラミング装置
JPH0816217A (ja) * 1994-07-04 1996-01-19 Fuji Electric Co Ltd プログラマブルコントローラ動作状態監視装置
JP2005115969A (ja) * 2005-01-11 2005-04-28 Toshiba Corp プログラマブルコントローラ

Also Published As

Publication number Publication date
US20100268358A1 (en) 2010-10-21
CN101866159B (zh) 2015-11-25
US8910121B2 (en) 2014-12-09
ES2483966T3 (es) 2014-08-08
EP2244143A1 (en) 2010-10-27
EP2244143B1 (en) 2014-07-16
CN101866159A (zh) 2010-10-20
JP2010250832A (ja) 2010-11-04
JP5714835B2 (ja) 2015-05-07

Similar Documents

Publication Publication Date Title
JP5714835B2 (ja) 自動化設備の工業用コントローラをプログラムする方法および装置
US7302676B2 (en) Method for debugging flowchart programs for industrial controllers
CN109483601B (zh) 一种工业机器人功能测试系统及测试方法
US5485620A (en) Integrated control system for industrial automation applications
US7272451B2 (en) Programmable logic controller programming system
JP5436660B2 (ja) 安全関連制御ユニット用アプリケーションプログラムの生成方法および装置
WO2015136959A1 (ja) 制御システム、方法、プログラムおよび情報処理装置
JP2012510099A (ja) 安全制御装置用ユーザープログラムの作成方法および装置
KR20180081774A (ko) 매니퓰레이터 프로그램의 그래픽 사용자 인터페이스를 만들기 위한 방법 및 컴퓨터 프로그램
US5276811A (en) Method for emulating programmable logic controller by exchanging information between debug program which emulates I/O devices and ladder logic program
US7386359B2 (en) Device and method for testing machine tools and production machines
JP2008027156A (ja) シミュレーション装置
CN110442520B (zh) 一种基于plc编程语言的交叉调试系统及方法
CN110968051B (zh) 用于规划自动化系统的方法和工程系统
US20020173860A1 (en) Integrated control system
GB2345360A (en) Programming programmable controllers
US20210366437A1 (en) Device state reproduction device, device state reproduction method, and storage medium
Kostov et al. Programming methods comparison in Mitsubishi MELFA robots
Wietecha et al. Control Software Development Methodology for Programmable Sawmill Appliances
JP2001005517A (ja) 制御プログラムのモニター方法および装置
KR20210049302A (ko) 모션 제어기의 오류 추적방법
CN117413228A (zh) 用于管理模块化生产设施中的警报的方法和系统
CN117032658A (zh) 用于诊断用户程序的方法和工程站
JP2533374B2 (ja) 制御プログラム作成方法
Kulisz A21: PLC software development supported by utilising a simulator program block

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151029

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20160128

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20160223

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160602