JP7077848B2 - 制御装置 - Google Patents

制御装置 Download PDF

Info

Publication number
JP7077848B2
JP7077848B2 JP2018142297A JP2018142297A JP7077848B2 JP 7077848 B2 JP7077848 B2 JP 7077848B2 JP 2018142297 A JP2018142297 A JP 2018142297A JP 2018142297 A JP2018142297 A JP 2018142297A JP 7077848 B2 JP7077848 B2 JP 7077848B2
Authority
JP
Japan
Prior art keywords
program
control
unit
application
execution
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
JP2018142297A
Other languages
English (en)
Other versions
JP2020021124A (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 JP2018142297A priority Critical patent/JP7077848B2/ja
Priority to PCT/JP2019/024145 priority patent/WO2020026622A1/ja
Publication of JP2020021124A publication Critical patent/JP2020021124A/ja
Application granted granted Critical
Publication of JP7077848B2 publication Critical patent/JP7077848B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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
    • 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/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4093Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Human Computer Interaction (AREA)
  • Geometry (AREA)
  • Programmable Controllers (AREA)
  • Stored Programmes (AREA)
  • Numerical Control (AREA)

Description

本発明は、制御対象の制御を実行する制御装置に関する。
従来、製造現場において用いられる工作機械やロボットなどの複数の制御アプリケーション同士がどのように連携するかの使用を決定し、その使用を実現するためのラダープログラムが工作機械メーカにより提供されている。これらのラダープログラムは、ユーザによる編集ができず、ユーザが機能の追加を望む場合には、ラダープログラムの改造を工作機械メーカに依頼する必要があった。また、制御アプリケーション毎にプログラムが独立しており、制御アプリケーション同士が連携動作を行うような場合には、それぞれのプログラムから、各制御アプリケーションがどのような動作を理解する必要があった。
そこで、制御アプリケーション同士の連携動作を、ユーザが加工プログラムで決定することができるように技術が提供されている(例えば、特許文献1参照)。特許文献1に記載の技術では、工作機械用命令文と、ロボット用命令文とを含む加工プログラムをユーザが工作機械と、ロボットとを制御する制御装置に入力可能である。そして、制御装置は、加工プログラムに含まれている工作機械用命令文を工作機械制御手段に転送し、ロボット用命令文をロボット制御手段へ転送する。これにより、工作機械とロボットとを連携するためのラダープログラムを必要とせず、工作機械とロボットとをユーザ定義の加工プログラムにより連携可能としている。
特開2014-241018号公報(2014年12月25日公開)
ところで、生産現場においてPLC(Programmable Logic Controller)により、生産全体が監視および管理されている場合には、PLCプログラムと、NCプログラムやロボットプログラム等のアプリケーションプログラムとの両方に制御信号のやり取りに関する記述を行う必要がある。しかしながら、PLCプログラム、NCプログラム、ロボットプログラムのそれぞれは、異なる言語により記述されている。また、PLCプログラムと、アプリケーションプログラムとでは制御周期が異なる。
このため、PLCにより生産全体を監視および管理し、生産ラインと各制御アプリケーションとのタイミングを合わせるための、PLCプログラム、およびアプリケーションプログラムとは、上述のような従来技術では、纏めて作成することはできなかった。
本発明の一態様は、上述した事情に鑑みてなされたものであり、PLCプログラムと、PLCプログラムから呼び出される1又は複数のアプリケーションプログラムとを纏めて作成することができる技術を実現することを目的とする。
前記の課題を解決するために、本発明の一態様に係る制御装置は、実行毎に全体がスキャンされる第1プログラムと、前記第1プログラムから呼び出され逐次実行される第2プログラムとを、並行して1つの開発環境で編集可能な開発ツールを提供する編集部と、前記第1プログラムと、前記第2プログラムとを一括でビルドするプログラム管理部と、所定の制御周期毎に前記第1プログラムを実行することで、該制御周期毎に第1駆動装置を制御する指令を生成する第1実行部と、前記第2プログラムに含まれる複数の命令文を逐次実行することで、第2駆動装置を制御する指令を逐次生成する第2実行部とを備える構成である。
前記の構成によれば、第1プログラム(PLCプログラム)と、第1プログラムから呼び出される第2プログラムとを、を同一の開発環境において纏めて作成または編集し、ビルドすることができる。これにより、ユーザは、各々異なる言語で記述され、かつ、各々異なるスケジューリング方式で実行される第1プログラムと、第2プログラムとを同一の開発環境において簡単に作成または編集することができる。よって、例えば、制御周期が異なる、生産ラインを制御するための第1プログラムと、複数の制御対象(制御アプリケーション)のそれぞれを制御するための複数のアプリケーションプログラムとを、容易に作成または編集して、ユーザ定義のプログラムによって同期制御させることができる。
また、本発明の一態様に係る制御装置は、前記の構成において、前記編集部は、前記開発環境として、プログラムツリーを表示する第1エリアと、選択されたプログラムのソースコードを表示するための第2エリアとを含む編集ウィンドウを提供し、前記プログラムツリーには、前記第2駆動装置を制御するためのサンプルプログラムが含まれており、ユーザが前記サンプルプログラムを選択すると、前記編集部は、選択された該サンプルプログラムを前記第2プログラムとして使用可能とする構成である。
前記の構成によれば、ユーザは、第1プログラムと、第2プログラムとの処理の流れを同一の編集ウィンドウで一度に確認することができる。また、ユーザは、当該編集ウィンドウにおいて、直観的な操作で、第1プログラムと、第1プログラムから呼び出される第2プログラムとを、作成または編集することができる。また、当該編集ウィンドウには、ユーザによって編集可能なサンプルプログラムが提供されるため、ユーザは、容易にユーザ定義のプログラムを作成することができる。
また、本発明の一態様に係る制御装置は、前記の構成において、ユーザが、前記第1プログラムにおける位置を指定し、かつ、前記サンプルプログラムを選択すると、前記編集部は、前記第1プログラムにおける指定された位置から、選択された前記サンプルプログラムを呼び出すよう設定し、かつ、選択された前記サンプルプログラムのコードを編集可能にする構成である。
前記の構成によれば、ユーザは、直観的な操作で、第1プログラムと、第1プログラムから呼び出す第2プログラムとを定義することができ、かつ、第1プログラムと、第2プログラムとを同期させることができる。また、ユーザは、編集したい位置を選択するという簡単な操作で、選択したサンプルプログラムのコードを編集することができる。
また、本発明の一態様に係る制御装置は、前記の構成において、前記第2実行部は、前記第2プログラムの実行中に、前記第2プログラムの中のいずれの命令文を実行しているかを表示させる構成である。
前記の構成によれば、ユーザは、第2プログラムの実行中に、いずれの命令文が実行されているのかを表示されている情報から確認することができる。よって、ユーザは定義した命令文により、制御アプリケーションが意図した動作を行っているのかを容易に確認することができ、適宜に命令文の作成または編集を行うことができる。
また、本発明の一態様に係る制御装置は、前記の構成において、前記プログラム管理部は、前記第1プログラムを実行形式に変換し、前記第2プログラムを複数の中間コードに変換し、前記第2実行部は、前記複数の命令文に対応する前記複数の中間コードを逐次実行する構成である。
前記の構成によれば、プログラムのビルド時に、第1プログラムは実行形式に変換され、第2プログラムは複数の中間コードに変換される。プログラムの実行時に中間コードに変換する方式では、プログラム実行時に第2プログラムを解読し、中間コードを生成し、中間コードを一旦キューイングして実行するため、処理に遅延が生じる。本実施形態によれば、プログラム実行時に中間コードへの変換が必要ないので、高速にアプリケーションプログラムを実行することができる。
また、本発明の一態様に係る制御装置は、前記の構成において、前記編集部は、前記開発環境として、プログラムツリーを表示する第1エリアと、選択されたプログラムのソースコードを表示するための第2エリアとを含む編集ウィンドウを提供し、前記プログラムツリーは、前記第1プログラムと、前記第1プログラムから呼び出される前記第2プログラムとを含み、前記編集部は、前記編集ウィンドウにおいて、前記第1プログラムから呼び出される前記第2プログラムを、前記第1プログラムの中のブロックとして表示し、ユーザが、前記第2プログラムを示すブロックまたは前記第2プログラムを示すタブを選択すると、前記編集部は、前記第2エリアに前記第2プログラムのソースコードを表示させる構成である。
前記の構成によれば、ユーザは、直観的な操作で、第1プログラムと、第1プログラムから呼び出す第2プログラムとを定義することができ、かつ、第1プログラムと、第2プログラムとを同期させて、プログラムを作成または編集することができる。また、ユーザは、編集したいプログラムを示すブロックまたはタブを選択するという簡単な操作で、選択したサンプルプログラムのコードを編集することができる。
本発明の一態様によれば、PLCプログラムと、PLCプログラムから呼び出される1又は複数のアプリケーションプログラムとを纏めて作成することができる。
本発明の実施形態1に係る統合コントローラが使用されるシステム環境の概要を示す図である。 統合コントローラの要部構成を示すブロック図である。 統合コントローラの機能構成の一例を示す模式図である。 編集ウィンドウの一例を示す図である。 編集ウィンドウの変形例を示す図である。 編集ウィンドウの変形例を示す図である。 統合コントローラの処理の流れを示すフローチャートである。 統合コントローラの処理実行のタイミングチャートである。 アプリケーションプログラム実行中の表示例を示す図である。 中間コードを概念的に示す模式図である。 中間コードの生成例を説明するための模式図である。 変形例の統合コントローラの要部構成を示すブロック図である。
以下、本発明の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。
§1 適用例
図1を用いて、本発明が適用される場面の一例について説明する。図1は、本実施形態に係る制御装置の一例である統合コントローラ100が使用されるシステム環境の概要を示す図である。統合コントローラ100は、モーションネットワークケーブル2を介してロボット520や工作機械530等の制御対象に接続されている。また、統合コントローラ100は、イーサネット(登録商標)等によるネットワーク6を介してサーバ装置300に接続されている。
統合コントローラ100は、ロボット520や工作機械530等の制御対象を統括的に制御する装置である。また、統合コントローラ100は、各種センサ入力に応じて、ベルトコンベア544のサーボモータ542を駆動するサーボドライバ540を制御するPLC(Programmable Logic Controller)としても機能する。
統合コントローラ100は、PLCプログラムと、ロボット520や工作機械530等の制御アプリケーションのそれぞれを制御するためのアプリケーションプログラムとを統合的に実装した装置である。統合コントローラ100は、制御対象に応じたプログラムを実行し、これらの制御対象を制御することで、生産ラインと各制御アプリケーションとを同期制御する。
PLCプログラムは、ラダー言語により記述されたプログラムであり、実行毎に全体がスキャンされる。PLCプログラムは、例えば、国際電気標準会議(International Electrotechnical Commission:IEC)によって規定された国際規格IEC61131-3に従って記述されている。
ロボット520を制御するためのロボットプログラムは、一般的に体系化された所謂ロボット用言語により記述されている。
工作機械530を制御するためのNCプログラムは、一般的にISOによって規格化されたG-コードにより記述されている。
統合コントローラ100によって実行されるこれらのプログラムのそれぞれは、ユーザによって作成、または編集可能である。統合コントローラ100は、PLCプログラム、およびアプリケーションプログラムを1つの開発環境で編集可能とする開発ツールをユーザに提供する。また、統合コントローラ100は、PLCプログラムと、アプリケーションプログラムとを、一括でビルドし、管理する。
このように、統合コントローラ100は、生産ラインと各制御アプリケーションとを同期制御するとともに、各制御対象に応じたプログラムを1つの開発環境で編集可能とする開発ツールをユーザに提供する。これによりユーザは、PLCプログラムと、PLCプログラムから呼び出される、ロボット520や工作機械530等の制御アプリケーションのアプリケーションプログラムとを纏めて作成することができる。
§2 構成例
〔統合コントローラ100の構成について〕
図1、図2、および図3に基づいて、本発明の実施形態に係る統合コントローラ100の構成について詳細に説明する。図1は、統合コントローラ100が使用されるシステム環境の概要を示す図である。図2は、統合コントローラ100の要部構成を示すブロック図である。図3は、統合コントローラ100の機能構成の一例を示す模式図である。
統合コントローラ100は、産業用コントローラであり、制御対象の装置を制御する。統合コントローラ100は、モーションネットワークケーブル2を介して1または複数のフィールド機器500と接続されフィールド機器500との間でデータを遣り取りする。
また、統合コントローラ100は、タッチパネル146を備える。タッチパネル146は、統合コントローラ100に対するユーザ操作を受け付ける入力部として機能するとともに、統合コントローラ100による演算結果を表示する表示部として機能する。
モーションネットワークケーブル2は、データの到達時間が保証される、定周期通信を行うバスまたはネットワークを採用することが好ましい。このような定周期通信を行うバスまたはネットワークとしては、EtherCAT(登録商標)、EtherNet/IP(登録商標)、DeviceNet(登録商標)、CompoNet(登録商標)などが知られている。
フィールド機器500は、生産ラインなどで用いられるリモートI/O(Input/Output)装置510、ロボット520、ロボットコントローラ522、工作機械530、サーボドライバ540、およびサーボモータ542等である。フィールド機器500のそれぞれは、統合コントローラ100によって生成される指令に応じて、例えば以下のように動作する。サーボモータ542は、コンベア544を駆動して、NC工作機械530の前に配置されたワークテーブル546にワークWを搬送する。ロボット520は、ワークテーブル546上の処理前のワークWをNC工作機械530内に配置し、NC工作機械530での処理済ワークWを取り出してワークテーブル546上に配置する。
なお、統合コントローラ100は、数100μsecオーダ~数10msecオーダのごく短い周期でフィールド機器500との間でデータを遣り取りし、フィールド機器500に対する制御指令などのデータを送信する。
また、統合コントローラ100は、ネットワーク6を介して、サーバ装置300や、1または複数の表示装置400に接続されている。ネットワーク6には、一般的なネットワークプロトコルであるイーサネット(登録商標)やEtherNet/IP(登録商標)が採用されてもよい。
サーバ装置300は、データベースシステムや、製造実行システム(MES:Manu
facturing Execution System)などである。サーバ装置300は、フィールド機器500のそれぞれから情報を取得して、生産全体を監視および管理する機能を有していてもよく、オーダ情報、品質情報、出荷情報などを扱うこともできる。
表示装置400は、統合コントローラ100に対するユーザ操作に応じた内容を表示する。また、表示装置400は、統合コントローラ100による演算結果等をグラフィカルに表示する。
〔統合コントローラ100のハードウェア構成例〕
図2は、統合コントローラ100のハードウェア構成例を示すブロック図である。図2に示すように、統合コントローラ100は、プロセッサ102、チップセット104、主メモリ106、およびストレージ108を備えている。また、統合コントローラ100は、上位ネットワークコントローラ110、メモリカードインタフェース114、内部バスコントローラ120、およびフィールドネットワークコントローラ130を含んでいる。また、統合コントローラ100は、タッチパネル146を備えている。
プロセッサ102は、CPUユニットと称される演算処理部であり、図示は省略するが、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)などで構成されている。プロセッサ102としては、複数のコアを有する構成を採用してもよいし、プロセッサ102を複数配置してもよい。すなわち、統合コントローラ100は、1または複数のプロセッサ102、および/または、1または複数のコアを有するプロセッサ102を有している。プロセッサ102は、ストレージ108に格納された各種プログラムを読出して、主メモリ106に展開して実行することで、制御対象に応じた制御、および、後述するような各種処理を実現する。
チップセット104は、プロセッサ102およびその周辺エレメントを制御することで、統合コントローラ100全体としての処理を実現する。
主メモリ106は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などの揮発性記憶装置などで構成されている。
ストレージ108は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)などの不揮発性記憶装置で構成されている。ストレージ108には、統合コントローラ100が基本的な機能を実現するためのシステムプログラム34が格納されている。また、ストレージ108には、統合コントローラ100の制御対象の装置に応じて作成されるシーケンスプログラム30、および1または複数のアプリケーションプログラム32が格納されている。
シーケンスプログラム30は、PLCプログラムであり、一定の制御周期毎に実行される。また、シーケンスプログラム30は、実行毎に全体がスキャンされる。シーケンスプログラム30を実行することで、統合コントローラ100は、センサ入力に応じ駆動装置(サーボモータ)を制御する等の、対象装置の状態やセンサ等の信号に基づいたシーケンス制御を行う。
アプリケーションプログラム32は、ロボット520や工作機械530等の制御アプリケーションを制御するプログラムであり、ロボット520を制御するためのロボットプログラムや、工作機械530を制御するためのNCプログラムである。アプリケーションプログラム32は、シーケンスプログラム30から呼び出されて逐次実行される。以下の説明において、シーケンスプログラム30を第1のプログラム、アプリケーションプログラム32を第2のプログラムとも称する。
上位ネットワークコントローラ110は、上位ネットワーク6を介して、サーバ装置300や表示装置400などとの間のデータの遣り取りを制御する。
メモリカードインタフェース114は、メモリカード116が着脱可能に構成されており、メモリカード116に対してデータを書込み、メモリカード116から各種データを読出すことが可能になっている。
内部バスコントローラ120は、統合コントローラ100に装着されるI/Oユニット122との間のデータの遣り取りを制御する。
フィールドネットワークコントローラ130は、モーションネットワークケーブル2を介して接続されたフィールドデバイスとの間のデータの遣り取りを制御する。
なお、プロセッサ102がプログラムを実行することで必要な機能を提供する構成に限らず、提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。また、統合コントローラ100の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOS(Operating System)を並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
タッチパネル146は、統合コントローラ100の入出力部として機能する。
〔統合コントローラ100の機能構成について〕
図3は、統合コントローラ100の機能構成の一例を示す模式図である。図3に示すように、統合コントローラ100は、編集部154、プログラム管理部156、入力部158、および表示部159を備えている。また、統合コントローラ100は、IECプログラム処理部150、フィールドネットワークインタフェース180、上位ネットワークインタフェース182、および第1制御アプリケーション処理部161、第2制御アプリケーション処理部162、・・・(以下、「制御アプリケーション処理部160」とも総称する。)を含んでいる。なお、IECプログラム処理部150を第1実行部、制御アプリケーション処理部160を第2実行部とも称する。
編集部154は、統合コントローラ100で実行されるシーケンスプログラム30、およびアプリケーションプログラム32とを、並行して1つの開発環境で作成または編集可能な開発ツールを提供する。編集部154によって作成または編集されたシーケンスプログラム30、およびアプリケーションプログラム32は、ストレージ108に格納される。また、編集部154は、統合コントローラ100に接続される各種デバイスのパラメータ(コンフィギュレーション)を設定するための設定環境を提供してもよい。
プログラム管理部156は、編集部154によって作成または編集されたシーケンスプログラム30と、アプリケーションプログラム32とを、一括してコンパイルし、リンクすることで、ビルドする。
プログラム管理部156は、シーケンスプログラム30と、アプリケーションプログラム32とを、一括してビルドすることで、シーケンスプログラム30を実行形式に変換し、アプリケーションプログラム32を複数の中間コードに変換する。このように、プログラム管理部156は、シーケンスプログラム30と、アプリケーションプログラム32とを、一括してビルドするとともに、アプリケーションプログラム32を、実行前に予め、中間コードに変換する。
プログラム管理部156は、ビルドされたシーケンスプログラム30、アプリケーションプログラム32、および中間コードを、ストレージ108に格納する。なお、中間コードは、制御周期毎に指令値を演算するための命令を包含する概念であり、1または複数の命令、あるいは、1または複数の関数を含む。
入力部158は、ユーザ操作の入力を受けつける。表示部159は、入力部158に対するユーザ操作に応じた画面を表示する。なお、本実施形態では、図1に示したタッチパネル146が、入力部158と、表示部159との機能を兼ねている。詳細については後述するが、ユーザは、タッチパネル146への操作によって、編集部154によるシーケンスプログラム30、およびアプリケーションプログラム32の編集を実行することが出来る。
IECプログラム処理部150は、予め定められた所定の制御周期毎にシーケンスプログラム30を実行(スキャン)することで、シーケンスプログラム30に含まれるモーション命令に従って、当該制御周期毎に、PLCプログラムにより制御されるサーボドライバ540などの駆動装置(第1駆動装置)を制御する1または複数の指令を生成し、出力する。IECプログラム処理部150は、シーケンスプログラム30に含まれる各入力条件(センサー入力値等)が成立しているか否かを所定の制御周期毎(例えば、1μ秒毎)に判定する。IECプログラム処理部150から出力された指令は、主メモリ106に格納される。
制御アプリケーション処理部160は、シーケンスプログラム30から呼び出されたアプリケーションプログラム32に含まれる複数の命令文の各行を逐次実行することで、ロボット520や工作機械530などの制御アプリケーション(第2駆動装置)を制御する指令を逐次生成する。IECプログラム処理部150は、シーケンスプログラム30に含まれる入力条件が成立している場合に、該入力条件に対応するアプリケーションプログラム32を呼び出す。
つまり、制御アプリケーション処理部160は、IECプログラム処理部150による演算処理と同期して、指令値の演算処理を実行する。制御アプリケーション処理部160は、ストレージ108に予め格納されている中間コード35に従って、指令を生成し、生成した指令を主メモリ106に対して出力する。
IECプログラム処理部150は、主メモリ106に格納された制御アプリケーション処理部160による処理結果を参照することができる。
フィールドネットワークインタフェース180は、IECプログラム処理部150により生成された1または複数の指令(基本的には、論理値)と、制御アプリケーション処理部160により生成された1または複数の指令(基本的には、数値)とを制御周期毎にフィールド機器500へ出力する。
〔編集部のユーザインタフェースについて〕
図4は、編集部154が提供する、シーケンスプログラム30と、アプリケーションプログラム32とを編集する開発ツールのユーザインタフェースの一例である編集ウィンドウ601を示す図である。編集ウィンドウ601は、表示部159の機能により、タッチパネル146に表示され、ユーザのタッチ位置に応じた入力が入力部158により検出される。
図4に示すように、編集ウィンドウ601は、第1エリア611と、第2エリア612と、を含んでいる。第1エリア611には、プログラムツリーが表示される。第2エリア612には、プログラムツリーから選択されたプログラムのソースコードが表示される。また、第2エリア612には、プログラム編集エリア614に表示されたプログラムを編集するために用いるツールを含むツールボックス615が表示されている。ユーザはツールボックス615内のツールを例えば、ドラックアンドドロップによってプログラム編集エリア614に導入して、シーケンスプログラム30の作成または編集を行うことができる。
第1エリア611に表示されたプログラムツリーには、シーケンスプログラム30のロジック(例えばプログラムA,プログラムB)と、ロボット520や工作機械530等の第2駆動装置を制御するためのアプリケーションプログラム32(例えば、RC1,RC2,RC_Sample,NC1,NC2,NC_Sample)と、が含まれている。
プログラムツリーに含まれているアプリケーションプログラム32のうち、RC1,RC2,NC1,NC2等は、ユーザにより作成されたプログラムである。また、プログラムツリーに含まれているアプリケーションプログラム32のうち、RC_SampleやNC_Sampleは、例えば統合コントローラ100のメーカにより予め用意されているサンプルプログラムである。サンプルプログラムのNC_Sampleは、例えば、ISOによって規格化されているGコードに基づいたソースコードである。
ユーザが、第1エリア611においてプログラムツリーの中から、サンプルプログラムを選択すると、編集部154は、選択されたサンプルプログラムを、編集可能なアプリケーションプログラム32として使用可能とする。
また、編集部154は、ユーザによってロジックが選択されると、選択されたロジックに応じたシーケンスプログラム30、およびアプリケーションプログラム32を第2エリア612のプログラム編集エリア614に表示する。図4は、ユーザが、第1エリア611においてPLCプログラムのプログラムAを選択した場合の例を示している。なお、第2エリア612には、各PLCプログラムA,B・・・が、タブ613a,613B・・・にそれぞれ表示され、タブ613a,613B・・を切り替えることで、プログラム編集エリア614に表示されるプログラムを切り替えることができてもよい。
プログラム編集エリア614には、ラダー言語で記述された縦に長いシーケンスプログラム30の一連のロジック620と、ロジック620の各条件(X1,X2,・・・)が成立している場合に実行されるアプリケーションプログラム32の中身が記述されているプログラミングブロック621,622,・・・とが表示される。
図4の例では、シーケンスプログラム30のX1の条件が成立している場合に実行されるプログラミングブロック621の中身は、Gコードで記述されたNCプログラムである。また、シーケンスプログラム30のX2の条件が成立している場合に実行されるプログラミングブロック622の中身は、ロボット言語で記述されたロボットプログラムである。
このように、編集部154は、ラダー言語で記述されたPLCプログラムと、Gコードで記述されたNCプログラムと、ロボット言語で記述されたロボットプログラムとを、1つの開発環境で編集可能とする。すなわち、編集部154は、制御スケジュール、制御対象の装置、およびプログラミング言語が互いに異なる複数のプログラムを、1つの開発環境で編集可能とする。
具体例を説明すると、例えば、ユーザは、第1エリア611、または第2エリア612においてシーケンスプログラム30(ロジック)における編集位置を指定し、かつ、使用するサンプルプログラムを選択する。ユーザによって、シーケンスプログラム30における編集位置が指定され、かつ、使用するサンプルプログラムが選択されると、編集部154は、シーケンスプログラム30における指定された位置から、選択されたサンプルプログラムを呼び出すよう設定し、かつ、選択されたサンプルプログラムのコードを編集可能にプログラム編集エリア614に表示する。
例えば、ユーザが、ロジックからプログラムAのX1の右側を編集位置として指定し、かつ、使用するサンプルプログラムとしてNC_Sampleを選択すると、プログラミングブロック621が設けられ、プログラミングブロック621の中にNC_Sampleのソースコードが展開される。プログラミングブロック621はソースコードを編集可能なサブウィンドウ(スクロールバー含む)としても機能する。
サンプルプログラムには、複数の命令文が含まれている。図4に示した例では、プログラムAにおいて、X1の条件が成立した場合には、G01X100Y100,G01X200Y100・・・の複数の命令文が逐次実行されるプログラムが示されている。また、プログラムAにおいて、X2の条件が成立した場合には、MOVEP1,MOVEP2・・・の複数の命令文が逐次実行されるプログラムが示されている。ユーザは、プログラム編集エリア614の各ブロック621,622内に表示された命令文を記述された言語を用いて編集することができる。
ユーザは、プログラム編集エリア614において編集した命令文を含むアプリケーションプログラムを新たなアプリケーションプログラムとして保存することもでき、既存のアプリケーションプログラムを上書きして保存することもできる。このように、ユーザによって定義されたプログラム、および、予め用意されたサンプルプログラムは、流用性が高いものであり、ユーザは、ユーザ定義のプログラムを容易に作成することができる。
〔編集部のユーザインタフェースの変形例〕
図5、および図6は、編集部154が提供する、ユーザインタフェースの別の例である編集ウィンドウ602を示す図である。図5に示すように、編集ウィンドウ602は、第1エリア611と、第2エリア612と、を含んでいる。第1エリア611には、プログラムツリーが表示される。第2エリア612には、プログラムツリーから選択されたプログラムのソースコードが表示される。
第1エリア611に表示されたプログラムツリーには、シーケンスプログラム30のロジック(例えばプログラムA,プログラムB)と、シーケンスプログラム30から呼び出されるアプリケーションプログラム32(例えば、RC1,RC2,RC_Sample,NC1,NC2,NC_Sample)とを含んでいる。
編集部154は、編集ウィンドウ602のプログラム編集エリア614に、ユーザによって選択されたシーケンスプログラム30の一連のロジック630を表示する。また編集部154は、プログラム編集エリア614に、シーケンスプログラム30から呼び出されるアプリケーションプログラム32を、シーケンスプログラム30の中のブロック631,632として表示する。また、編集部154は、プログラム編集エリア614に、ユーザによって選択されたシーケンスプログラム30と、当該シーケンスプログラム30から呼びされるアプリケーションプログラム32とのそれぞれに対応するタブ613a,613b,613cを表示する。編集部154は、プログラム編集エリア614に現在表示されているタブをハイライト表示することで、現在選択されているタブをユーザに明示することができてもよい。
ユーザが、シーケンスプログラム30の中のブロックとして表示されたアプリケーションプログラム32、または当該アプリケーションプログラムを示すタブを選択すると、編集部154は、プログラム編集エリア614に選択されたアプリケーションプログラム32のソースコードを表示させる。
図6は、ユーザが、ブロック631、またはタブ613bを選択した場合の編集ウィンドウ602の表示例を示している。図6に示すように、編集部154は、ユーザによって選択されたブロック631、またはタブ613bに応じたロボットプログラムであるRC1のソースコードを、編集可能にプログラム編集エリア614に表示する。ユーザは、プログラム編集エリア614に表示されたソースコードを記述された言語を用いて編集することができる。
なお、編集部154は、プログラム編集エリア614において選択されているタブをハイライト表示するとともに、選択中のプログラムを、第1エリア611に表示されたプログラムツリーにおいてハイライト表示することができてもよい。
〔統合コントローラ100の処理フローについて〕
図7は、プログラムが作成または編集される場合の、統合コントローラ100の処理の流れを示すフローチャートである。ユーザによって、編集部154が提供する編集ウィンドウ601,602において、プログラムの作成が行われる(ステップS11)。ステップS11において、ユーザは、編集部154が提供する編集ウィンドウ601,602において、シーケンスプログラム30の作成または編集(ステップS11a)、および当該シーケンスプログラム30から呼び出されるアプリケーションプログラム32の作成または編集(ステップS11b)を、上述のように1つの開発環境において並行して行うことができる。
プログラム管理部156は、ユーザによってプログラムの作成や編集が行われると、作成または編集されたプログラムに応じた、シーケンスプログラム30と、当該シーケンスプログラムから呼び出されるアプリケーションプログラム32とを、一括して文法チェックおよびコンパイルし、ビルドする(ステップS12)。プログラム管理部156は、シーケンスプログラム30を実行形式に変換し、アプリケーションプログラム32を複数の中間コードに変換する。
プログラム管理部156は、ビルドしたシーケンスプログラム30、およびアプリケーションプログラム32をストレージ108に格納する。プログラム管理部156は、ビルドされたシーケンスプログラム30を実行形式と、ソースコードとの両形式でストレージに格納する。また、プログラム管理部156は、ビルドされアプリケーションプログラム32の中間コードと、ソースコードとを対応付けて、両方をストレージ108に格納する。
IECプログラム処理部150は、ストレージ108に格納されたシーケンスプログラム30の全体を所定の制御周期毎にスキャンし、対象装置への制御信号を生成する。制御アプリケーション処理部160は、シーケンスプログラム30に呼び出されたアプリケーションプログラム32の、複数の命令文に対応する複数の中間コードを一行(1つの命令文)ずつ逐次実行し(ステップS13)、対象装置への制御信号を生成する。
このように、本実施形態では、プログラムのビルド時にアプリケーションプログラム32の命令語が中間コードに変換されるため、プログラムの実行中に中間コードに変換する必要がなく、アプリケーションプログラム32の実行が高速になる。
〔統合コントローラ100における処理実行のタイミング〕
図8は、統合コントローラ100における処理実行のタイミングの一例を示すタイミングチャートである。図8に示すように、統合コントローラ100は、制御周期T1毎に、シーケンスプログラム30を実行する。また、統合コントローラ100は、アプリケーション実行周期T21毎に、アプリケーションプログラム32の1つであるアプリケーションプログラム1を実行する。また、統合コントローラ100は、アプリケーション実行周期T22毎に別のアプリケーションプログラム32であるアプリケーションプログラム2を実行する。
統合コントローラ100は、IECプログラム処理部150の機能により、シーケンスプログラム30を高優先タスクとして実行する。高優先タスクでは、各制御周期T1内において、入出力リフレッシュ処理10と、シーケンスプログラムに含まれるシーケンス命令に従う制御指令値を出力する出力処理12と、シーケンスプログラムに含まれるモーション命令に従う制御指令値を出力する出力処理16と、アプリケーションプログラム1に従う制御指令値を出力する出力処理14-1と、アプリケーションプログラム2に従う制御指令値を出力する出力処理14-2とが行われる。
アプリケーションプログラム1およびアプリケーションプログラム2の実行は、それぞれ低優先タスク1,2として設定されている。第1制御アプリケーション処理部161は、アプリケーション実行周期T21(図8に示す例では、制御周期T1の2倍)毎に、アプリケーションプログラム1の命令文に対応する複数の中間コードを逐次実行する。また、第2制御アプリケーション処理部162は、アプリケーション実行周期T22(図8に示す例では、制御周期T1の3倍)毎に、アプリケーションプログラム2の命令文に対応する複数の中間コードを逐次実行する。
低優先タスクの各々は、制御周期T1より長いアプリケーション実行周期T21またはアプリケーション実行周期T22内に処理を完了できればよい。複数の低優先タスクを同時実行できない場合には、図8に示したように、一方の低優先タスクは中断(サスペンド)状態で待機させてもよい。本実施形態では、アプリケーションプログラム1およびアプリケーションプログラム2をそれぞれ処理する互いに独立した2つのアプリケーション処理部161,162が備えられているため、一方の低優先タスクを中断状態で待機させることなく、並行して処理してもよい。
高優先タスクの出力処理14-1、および出力処理14-2においては、第1制御アプリケーション処理部161、および第2制御アプリケーション処理部162により、シーケンスプログラム30に呼び出された命令文に対応する中間コードが逐次実行され、制御指令値が算出される。
なお、アプリケーション実行周期T21が制御周期T1の2倍であり、アプリケーション実行周期T22が制御周期T1の3倍である場合を例示したが、これに限られるものではない。アプリケーション実行周期T21,T22は、対象となるアプリケーションプログラム32の種類に応じて、制御周期T1の整数倍として設定でき、制御周期T1と同じ長さに設定することもできる。また、複数のアプリケーションプログラム32が存在する場合には、ユーザは、どのアプリケーションプログラム32を実行するか、および低優先タスク1、または低優先タスク2の何れで実行するかを、設定画面を使って設定できる構成であってもよい。
図9は、アプリケーションプログラム32の実行中に、表示部159に表示される情報の一例を示す図である。図9に示すように、表示部159には、アプリケーションプログラム32の中のいずれの命令文が実行されているのかが表示される。上述したように、プログラム管理部156によってビルドされたアプリケーションプログラム32は、中間コードと、ソースコードとが対応付けてストレージ108に記憶されている。これにより、制御アプリケーション処理部160は、アプリケーションプログラム32の実行中に、アプリケーションプログラム32の中のいずれの命令文を実行しているかを表示させることが出来る。制御アプリケーション処理部160は、アプリケーションプログラム32に含まれる複数の命令文を表示部に表示すると共に、実行中の命令文をハイライトする、または枠で囲む等の方法により、いずれの命令文を実行しているかをユーザに提示してもよい。
〔中間コードについて〕
次に、プログラム管理部156によって、アプリケーションプログラム32の命令文が変換されて生成された中間コードの一例について説明する。
図10は、統合コントローラ100において生成される中間コードを概念的に示す模式図である。図10に示すように、アプリケーションプログラム32は、逐次実行される命令文を含んでおり、各命令文を逐次実行した場合に必要となる時間は、各命令文の内容に応じて変化する。そのため、制御周期毎に指令値を演算することが容易ではない。なお、図10には、アプリケーションプログラム32の一例として、CNCで用いられるG言語にて記述されたコードを示す。
本実施の形態では、プログラム管理部156は、アプリケーションプログラム32に記述された1または複数の命令文を解釈し、その解釈された内容に基づいて、制御周期毎に指令値を演算するための中間コード35を生成する。中間コード35は、アプリケーションプログラム32に記述された1または複数の命令文毎に生成されるので、1つのアプリケーションプログラム32から1または複数の中間コード35が生成される。
中間コード35の各々においては、制御周期の時刻(あるいは、時間)を入力として、指令値を演算できる関数が規定されていてもよい。すなわち、中間コード35は、制御アプリケーション処理部160が制御周期毎に指令値を演算するための関数であってもよい。このような関数を用いることで、制御アプリケーション処理部160は、中間コード35を逐次実行して、各制御周期における指令値を演算できる。
例えば、1番目の中間コード1が制御周期の10倍分の期間に亘って指令値を規定するものであるとすると、制御アプリケーション処理部160は、中間コード1を用いて、10制御周期分の期間に亘って指令値を周期的に演算する。同様に、他の中間コード2および中間コード3についても、基本的には、複数の制御周期に亘って指令値を演算できるものとなる。
プログラム管理部156は、シーケンスプログラム30と、アプリケーションプログラム32とを一括してビルドする際に、アプリケーションプログラム32から中間コードを生成する。これにより、IECプログラム処理部150によるシーケンスプログラム30の実行と同期して、アプリケーションプログラム32を実行させることができる。
図11は、統合コントローラ100における中間コードの生成例を説明するための模式図である。図11に示すように、例えば、動作すべき軌道を規定するアプリケーションプログラム32が逐次実行されると、まず、アプリケーションプログラム32に含まれる命令文が一行ずつ解釈され((1)プログラム解釈)、規定された軌道が内部的に生成される((2)軌道生成)。これらの軌道と制御周期毎の位置との関係が決定された上で、統合コントローラ100の内部的に生成された軌道を示す1または複数の関数が生成される((3)区間毎の関数生成)。プログラム管理部156は、中間コード35の一例として、このように、制御周期の時間を入力とし、指令値を出力とする関数を用いる構成であってもよい。
また、図11に示した例では、統合コントローラ100の内部的に生成された軌道は、直線の組み合わせであるので、直線区間毎(区間1~区間3)の軌道を時間と速度との関係を示す関数f1(t),f2(t),f3(t)が出力される。プログラム管理部156は、このように出力される関数f1(t),f2(t),f3(t)を中間コード35としてもよい。なお、プログラム管理部156は、図11に示す軌道を規定する単一の関数を中間コードとして出力してもよい。プログラム管理部156が、どのような中間コード35を出力するのかについては、要求される制御周期の時間幅などを考慮して、適宜設計されてもよい。
なお、上述の図10および図11においては、一例として、G言語を用いたアプリケーションプログラムについて説明したが、これに限らず、任意のロボット言語などのインタプリタ方式で逐次実行されるプログラムであれば、どのような言語を用いてもよい。また、プログラム管理部156は、アプリケーションプログラムで用いられている言語に応じて、任意の関数を中間コード35として出力するようにしてもよい。
〔変形例〕
図12は、変形例の統合コントローラ100の機能構成を示す図である。統合コントローラ100の機能構成は、図3を用いて説明した構成に限られるものではない。統合コントローラ100は、上述したように、入力部158と、表示部159とを一体に備えた構成であってもよいし、図12に示すように、入力部158、および表示部159を備えない構成であってもよい。
例えば、統合コントローラ100の編集部154は、上位ネットワークインタフェース182を介してネットワーク6に接続された表示装置400に編集ウィンドウ601を表示することができてもよい。そして、ユーザは、表示装置400に表示された編集ウィンドウ601を参照して、表示装置400に設けられたタッチパネルや、表示装置400に接続されたPCなどから、プログラムの編集や作成を行うことができてもよい。統合コントローラ100の編集部154は、ネットワーク6を介して、表示装置400からユーザ入力を受け取り、表示装置400に開発環境を表示させる。表示装置400は、図3に示す入力部158および表示部159として機能する。このように統合コントローラ100の編集部154は、統合コントローラ100上で実行されるプログラムを、オンラインで作成または編集する機能を提供することができてもよい。
また、制御アプリケーション処理部160は、アプリケーションプログラムの実行中に、アプリケーションプログラムの中のいずれの命令文を実行しているかを、表示装置400に表示させることができてもよい。
〔ソフトウェアによる実現例〕
統合コントローラ100の制御ブロック(特に編集部154、プログラム管理部156、制御アプリケーション実行部161,162、およびIECプログラム処理部150)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、ソフトウェアによって実現してもよい。
後者の場合、統合コントローラ100は、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータを備えている。このコンピュータは、例えば1つ以上のプロセッサを備えていると共に、前記プログラムを記憶したコンピュータ読み取り可能な記録媒体を備えている。そして、前記コンピュータにおいて、前記プロセッサが前記プログラムを前記記録媒体から読み取って実行することにより、本発明の目的が達成される。前記プロセッサとしては、例えばCPU(Central Processing Unit)を用いることができる。前記記録媒体としては、「一時的でない有形の媒体」、例えば、ROM(Read Only Memory)等の他、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、前記プログラムを展開するRAM(Random Access Memory)などをさらに備えていてもよい。また、前記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して前記コンピュータに供給されてもよい。なお、本発明の一態様は、前記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
30 シーケンスプログラム(第1プログラム、PLCプログラム)
32 アプリケーションプログラム(第2プログラム)
34 中間コード
100 統合コントローラ
146 タッチパネル
150 IECプログラム処理部(第1実行部)
154 編集部
156 プログラム管理部
158 入力部
159 表示部
160 制御アプリケーション処理部(第2実行部)
161 第1制御アプリケーション処理部(第2実行部)
162 第2制御アプリケーション処理部(第2実行部)
500 フィールド機器(制御アプリケーション)
520 ロボット
530 工作機械
540 サーボドライバ
601、602 編集ウィンドウ
611 第1エリア
612 第2エリア
613a、613b、613c タブ
621、622、631、632 ブロック

Claims (5)

  1. 実行毎に全体がスキャンされる第1プログラムと、前記第1プログラムから呼び出され逐次実行される第2プログラムとを、並行して1つの開発環境で編集可能な開発ツールを提供する編集部と、
    前記第1プログラムを実行形式に変換し、前記第2プログラムを複数の中間コードに変換することで、前記第1プログラムと、前記第2プログラムとを一括でビルドするプログラム管理部と、
    所定の制御周期毎に前記実行形式の前記第1プログラムを実行することで、該制御周期毎に第1駆動装置を制御する指令を生成する第1実行部と、
    前記第2プログラムに含まれる複数の命令文に対応する前記複数の中間コードを逐次実行することで、第2駆動装置を制御する指令を逐次生成する第2実行部とを備える、制御装置。
  2. 前記編集部は、前記開発環境として、プログラムツリーを表示する第1エリアと、選択されたプログラムのソースコードを表示するための第2エリアとを含む編集ウィンドウを提供し、
    前記プログラムツリーには、前記第2駆動装置を制御するためのサンプルプログラムが含まれており、
    ユーザが前記サンプルプログラムを選択すると、前記編集部は、選択された該サンプルプログラムを前記第2プログラムとして使用可能とする、請求項1に記載の制御装置。
  3. ユーザが、前記第1プログラムにおける位置を指定し、かつ、前記サンプルプログラムを選択すると、前記編集部は、前記第1プログラムにおける指定された位置から、選択された前記サンプルプログラムを呼び出すよう設定し、かつ、選択された前記サンプルプログラムのコードを編集可能にする、請求項2に記載の制御装置。
  4. 前記第2実行部は、前記第2プログラムの実行中に、前記第2プログラムの中のいずれの命令文を実行しているかを表示させる、請求項1から3のいずれか一項に記載の制御装置。
  5. 前記編集部は、前記開発環境として、プログラムツリーを表示する第1エリアと、選択されたプログラムのソースコードを表示するための第2エリアとを含む編集ウィンドウを提供し、
    前記プログラムツリーは、前記第1プログラムと、前記第1プログラムから呼び出される前記第2プログラムとを含み、
    前記編集部は、前記編集ウィンドウにおいて、前記第1プログラムから呼び出される前記第2プログラムを、前記第1プログラムの中のブロックとして表示し、
    ユーザが、前記第2プログラムを示すブロックまたは前記第2プログラムを示すタブを選択すると、前記編集部は、前記第2エリアに前記第2プログラムのソースコードを表示させる、請求項1に記載の制御装置。
JP2018142297A 2018-07-30 2018-07-30 制御装置 Active JP7077848B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018142297A JP7077848B2 (ja) 2018-07-30 2018-07-30 制御装置
PCT/JP2019/024145 WO2020026622A1 (ja) 2018-07-30 2019-06-18 制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018142297A JP7077848B2 (ja) 2018-07-30 2018-07-30 制御装置

Publications (2)

Publication Number Publication Date
JP2020021124A JP2020021124A (ja) 2020-02-06
JP7077848B2 true JP7077848B2 (ja) 2022-05-31

Family

ID=69231611

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018142297A Active JP7077848B2 (ja) 2018-07-30 2018-07-30 制御装置

Country Status (2)

Country Link
JP (1) JP7077848B2 (ja)
WO (1) WO2020026622A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2022034848A1 (ja) * 2020-08-11 2022-02-17
US20240192663A1 (en) * 2021-05-21 2024-06-13 Nippon Telegraph And Telephone Corporation Control Device for Computer Device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009104227A (ja) 2007-10-19 2009-05-14 Omron Corp Plc制御プログラム開発装置及びプログラム
JP2016128995A (ja) 2015-01-09 2016-07-14 株式会社ジェイテクト プログラマブルコントローラのモニタ装置
JP2016224557A (ja) 2015-05-27 2016-12-28 株式会社キーエンス プログラム作成支援装置、プログラムおよび判別方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3446256B2 (ja) * 1993-09-03 2003-09-16 株式会社日立製作所 Faシステムの制御方法及び装置
JPH0938876A (ja) * 1995-08-01 1997-02-10 Ricoh Co Ltd シミュレーション装置
JP3658061B2 (ja) * 1995-12-20 2005-06-08 株式会社日立製作所 Faシステムの制御装置と方法、制御プログラム生成方法
JP4023978B2 (ja) * 2000-03-30 2007-12-19 株式会社ジェイテクト 工作機械シミュレーション装置
JP5752179B2 (ja) * 2013-06-11 2015-07-22 ファナック株式会社 工作機械とロボットを制御する制御装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009104227A (ja) 2007-10-19 2009-05-14 Omron Corp Plc制御プログラム開発装置及びプログラム
JP2016128995A (ja) 2015-01-09 2016-07-14 株式会社ジェイテクト プログラマブルコントローラのモニタ装置
JP2016224557A (ja) 2015-05-27 2016-12-28 株式会社キーエンス プログラム作成支援装置、プログラムおよび判別方法

Also Published As

Publication number Publication date
WO2020026622A1 (ja) 2020-02-06
JP2020021124A (ja) 2020-02-06

Similar Documents

Publication Publication Date Title
CN109388107B (zh) 控制装置
CN109557890B (zh) 控制装置
JP6903275B2 (ja) 制御装置および制御方法
JP2019067046A (ja) 制御システムおよび制御装置
US20190095246A1 (en) Support device and non-transitory storage medium
JP7310465B2 (ja) 同期制御装置、同期制御システム、同期制御方法、及びシミュレーション装置
US10606246B2 (en) Control device and control method with various command values in a shared memory providing access to various program execution and command value operation parts in each control cycle
EP3582036B9 (en) Control device
JP7077848B2 (ja) 制御装置
JP6900863B2 (ja) 制御装置、制御方法および制御プログラム
CN109491324B (zh) 控制装置及控制方法
EP4036670A1 (en) Control device
EP3291112A1 (en) Master and slave architecture for co-simulation of control systems
US20220229416A1 (en) Control system, analysis method, and program
JP7375632B2 (ja) 制御システムおよびサポート装置
JP7396063B2 (ja) データ処理方法
WO2022249713A1 (ja) 制御システム、システムプログラムおよびデバッグ方法
JP7258246B1 (ja) シミュレーション用プログラム、シミュレーション装置及び制御方法
JPH09230913A (ja) プログラマブルコントローラのプログラミングツール
WO2020137522A1 (ja) 同期制御装置、同期制御システム、同期制御方法、及びシミュレーション装置
JP2024073818A (ja) 制御システムおよび情報処理方法
JP2023151876A (ja) 制御装置、制御方法、開発支援装置、及びプログラム
Rahman et al. Simulation as a tool in Self Adaptive Control for Flexible Assembly Systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211207

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220502

R150 Certificate of patent or registration of utility model

Ref document number: 7077848

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150