JP7276581B2 - プログラム生成装置、プログラム生成装置の制御方法、制御プログラム、および記録媒体。 - Google Patents

プログラム生成装置、プログラム生成装置の制御方法、制御プログラム、および記録媒体。 Download PDF

Info

Publication number
JP7276581B2
JP7276581B2 JP2022133613A JP2022133613A JP7276581B2 JP 7276581 B2 JP7276581 B2 JP 7276581B2 JP 2022133613 A JP2022133613 A JP 2022133613A JP 2022133613 A JP2022133613 A JP 2022133613A JP 7276581 B2 JP7276581 B2 JP 7276581B2
Authority
JP
Japan
Prior art keywords
program
data collection
plc
program generation
unit
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
JP2022133613A
Other languages
English (en)
Other versions
JP2022162084A (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
Priority claimed from JP2018189375A external-priority patent/JP2020057332A/ja
Application filed by Omron Corp filed Critical Omron Corp
Priority to JP2022133613A priority Critical patent/JP7276581B2/ja
Publication of JP2022162084A publication Critical patent/JP2022162084A/ja
Application granted granted Critical
Publication of JP7276581B2 publication Critical patent/JP7276581B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Programmable Controllers (AREA)

Description

本開示は、機械を制御するPLCのためのプログラムを自動生成する装置に関する。
PLC(Programmable Logic Controller、 プログラマブルロジックコントローラー)は、工場やプラントにおいて、制御対象機器に対し機械の加工を実行させたり、検出装置によって検出された情報を取得したりする制御装置である。PLCは、動作させる機器の種類、順序、タイミング等、パラメータを適宜設定する必要がある生産現場において、工場の自動化(ファクトリーオートメーション、FA)のため広く用いられている。
FA機器がPLCに対して送信するデータは多種多様である。このような多種多様なデータをPLCは統一して管理するため、受信したデータに線形変換等の変換を施し管理している。
また、任意の既設の環境上でPLCからFA機器を制御し、データを収集し、データベースへ送信するためには、当該PLC上で動作するプログラムを作成する必要がある。
プログラムの作成に関し、特許文献1には、模範的なソースコードからソースコードテンプレートを生成するソースコードテンプレート生成装置が記載されている。また、特許文献2には、PLCのためのプログラムを、ユーザーによって選択されたプログラムコードを結合することにより自動生成する方法が記載されている。
特開2009-230606号公報(2009年10月8日公開) 特開2013-33479号公報(2013年2月14日公開)
しかし、特許文献1および特許文献2に記載された技術を用いて、PLCによるデータ収集プログラムを生成する場合、FA機器毎に対応するパラメータを設定する必要がある。また、FA機器との通信のためのパラメータも設定する必要がある。
従って、上述した従来技術を用いてPLCによりデータ収集プログラムを生成する場合、プログラムを生成する作業者に大きな負担をかけるという問題がある。また、生成されたプログラムには作業者の能力差に起因して品質水準にばらつきが生じるという問題や、更に出力されるデータの形式に属人的な違いが発生するという問題もある。
本発明は、一側面では、上記の問題に鑑みてなされたものであり、その目的は、PLCによるデータ収集を行うためのプログラムの生成を容易にし、作業者の負担を軽減したプログラム開発支援装置等を実現することにある。
本開示は、上述した課題を解決するために、以下の構成を採用する。
すなわち、本発明の一側面に係るプログラム生成装置は、データ収集に関する処理をPLC(Programmable Logic Controller)に実行させるデータ収集プログラムを生成するプログラム生成装置であって、前記データ収集に関する各種処理に対応した雛形プログラムと、データ収集の対象となる対象機器毎に当該対象機器に対応した機器情報パラメータと、を格納した記憶部と、前記PLCから、該PLCと接続している中継装置の情報を取得し、当該中継装置に接続されうる機器を、前記対象機器の選択候補として表示する表示部と、ユーザーから、前記表示部に表示した対象機器の候補から当該ユーザーによって選択された対象機器の入力を受け付ける受付部と、前記受付部で受け付けた前記対象機器に対応する前記雛形プログラムおよび前記機器情報パラメータを用いて、前記PLCにより前記対象機器からデータを収集するためのデータ収集プログラムを生成するプログラム生成部と、ネットワーク構成情報と前記機器情報パラメータとを突合せ、想定される機器型式の候補を絞り込む突合せ処理部と、を備え、前記突合せ処理部は、絞り込まれた結果を選択肢としてユーザーに提示する選択肢提示部と、末端機器として中継装置に接続され得る機器のうち機器種別とメーカーとが指定された機器に絞り込んでユーザーに提示する限定部と、を含む。
また、本発明の一側面に係るプログラム生成装置の制御方法は、データ収集に関する処理をPLC(Programmable Logic Controller)に実行させるデータ収集プログラムを生成するプログラム生成装置の制御方法であって、前記データ収集に関する各種処理に対応した雛形プログラムと、データ収集の対象となる対象機器毎に当該対象機器に対応した機器情報パラメータとが記憶部に格納されており、前記PLCから、該PLCと接続している中継装置の情報を取得する取得ステップと、前記取得ステップで取得した前記中継装置に接続されうる機器を、前記対象機器の選択候補として表示部に表示する表示ステップと、ユーザーから、前記表示ステップで表示部に表示した対象機器の候補から当該ユーザーによって選択された対象機器の入力を受け付ける受付ステップと、前記受付ステップで受け付けた前記対象機器に対応する前記雛形プログラムおよび前記機器情報パラメータを用いて、前記PLCにより前記対象機器からデータを収集するためのデータ収集プログラムを生成するプログラム生成ステップと、を含み、さらに、ネットワーク構成情報と機器情報パラメータとを突合せ、想定される機器型式の候補を絞り込む突合せ処理ステップを含み、前記突合せ処理ステップには、絞り込まれた結果を選択肢としてユーザーに提示する選択肢提示ステップと、末端機器として中継装置に接続され得る機器のうち機器種別とメーカーとが指定された機器に絞り込んでユーザーに提示する限定ステップと、が含まれる。
本発明の各側面に係るプログラム生成装置は、コンピュータによって実現してもよく、この場合には、コンピュータを前記プログラム生成装置備える各部(ソフトウェア要素)として動作させることにより前記プログラム生成装置をコンピュータにて実現させるプログラム生成装置の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
本開示の一態様によれば、作業者の負担が少ないプログラム自動生成方法を提供することができる。
本実施形態に係るプログラム生成部の要部構成を示す機能ブロック図である。 本実施形態の全体概要を示す図である。 本実施形態に係る機器情報ライブラリを示す図である。 従来の作業ステップを示すフローチャート図である。 本実施形態における処理の流れを示すフローチャートである。 本実施形態において、処理が開始されるときのユーザーインターフェース画面の一例を示す図である。 上記インターフェース画面において、ネットワーク構成情報を取り込んだ例を示す図である。 上記インターフェース画面において、突合せ処理の結果、および工業値変換管理マップへの書込み結果の例を示す図である。 上記インターフェース画面において、ユーザーが修正入力を行う場合の例を示す図である。 工業値変換管理マップからPLC制御プログラムおよびデータベース定義プログラムを作成する例を説明するための図である。 (a)~(c)は、プログラムの生成処理の例を示す図である。 校正値を反映する例を示す図である。
以下、本開示の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本開示の例示に過ぎない。本開示の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。
§1 適用例
まず、図2を用いて、本発明が適用される場面の一例について説明する。図2は、本実施形態の全体概要を示す図である。図2には、本実施形態に係るプログラム自動生成部(プログラム生成装置)110が適用される場面を示している。
図2に示す例では、生産システム200に含まれるPLC210を制御する端末装置100が記載されている。端末装置100にはPLC210を制御するプログラムを生成するプログラム自動生成部110がふくまれる。
図2に示すように、プログラム自動生成部110は、ユーザーにより指定された機器に対応する、機器情報ライブラリ(記憶部)111に格納された雛形プログラムおよび機器パラメータを用いて、PLC210が対象機器からデータを収集するためのデータ収集プログラムを生成するものである。ユーザーが対象機器を指定するのみで、当該対象機器からPLC210がデータを収集するためのデータ収集プログラムを生成できるので、ユーザーに負担をかけること無くデータ収集プログラムを自動で生成することができる。
そして、本実施形態に係る生産システム200では、PLC210は、プログラム自動生成部110で生成されたデータ収集プログラムを実行することにより、末端機器230から出力されたデータを、汎用センサや既設PLCなどの中継機器(中継装置)220を介して収集する。そして、PLC210は、収集されたデータに例えば線形変換などの処理を行い、デバイス変数を工業量変数へと変換し、得られた工業量変数をデータベース410へ格納する。なお、本実施形態におけるデータ収集プログラムは、PLC210が中継機器220等の対象機器からデータを取得し、取得したデータを変換するためのPLC制御プログラム、および変換後のデータをデータベース410に格納するためのデータベース定義プログラムを含む。
本実施形態では、プログラム自動生成部110のネットワーク構成インポート部112は生産システム200のネットワーク構成情報をインポートする。インポートでは、中継機器220(通信ユニット、I/Oユニット)における設定済みの構成を取得することができる。そして、中継機器220以降の、末端機器230(センサ、アクチュエータ等)について、突合せ処理部115が候補を限定した選択肢をユーザーに提示し、選択させる。
これにより、ユーザーが、中継機器220(通信ユニット、I/Oユニット)までの構成を調査するといった手間を必要とすることなく、ネットワーク構成に合わせたデータ収集プログラムを作成することができる。また、末端機器230(センサ、アクチュエータ等)について、選択肢を選ぶのみでよいので、容易かつ迅速に、データ収集プログラムを作成することができる。
また、ネットワーク構成情報に基づき、機器同士の通信プログラムを生成することができ、データ取得のために通信処理プログラムを必要とする末端機器230のデータを、生成したデータ収集プログラムで取得することができる。
さらに、選択肢では提示できなかった要素について追加、修正を行うことが可能なので、環境や機器の個体差に応じてデータ収集プログラムを作成することができる。
また、機器情報ライブラリ111は、機器情報パラメータ1111と雛形プログラム1112とを分離して保持しているので、機器同士のインターフェースの違い等を気にすることなく、型式の異なる機器について、同様の方法でデータ収集プログラムを作成することができる。
なお、雛形プログラム1112には通信処理など工業値変換以外の処理を記述することもできる。これにより、工業値変換の前に通信処理などのプログラム処理が必要な機器についても、同様の方法でデータ収集プログラムを作成することができる。
§2 構成例
[ハードウェア構成]
<生産システム>
次に、図2を用いて、本実施形態に係る生産システムのハードウェア構成の一例について説明する。
図2に示す例では、本実施形態に係る生産システム200は、PLC210と中継機器220と末端機器230とを含む。中継機器220はPLC210に内蔵されていてもよい。末端機器230は、直接ワークや環境に作用しているFA(Factory Automation)機器を含み、例えば種々の汎用センサ、アクチュエータ、シリアル機器であってよい。また、既設のPLCも便宜上これに含んでよい。中継機器220は、PLC210と末端機器230との間に入る機器を含み、例えば種々のI/Oユニット、通信ユニットであってよい。中継機器220と末端機器230との接続方式は、公知の技術を用いて動作可能に構成されたものでよい。
<プログラム自動生成部>
次に、本実施形態に係るプログラムを自動で生成するプログラム自動生成部110を含む端末装置100について説明する。図2に示すように、本実施形態に係る端末装置100は、プログラム自動生成部110、およびPLCサポート部150を含む。端末装置100は、例えばパーソナルコンピュータ(PC)である。端末装置100は、PLC210と例えばUSBケーブルで接続されている。PLC210からのセンサデータの取得、およびPLC210へのプログラムの書込みなどの通信は、USBケーブルおよびPLCサポート部150を通じて行われる。なお、USBに代えてEthernet(登録商標)で接続され、EthernetケーブルおよびLAN機器を通じて通信が行われてもよい。
端末装置100は、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を含む。
<データベース>
PLC210は、LANネットワークを通じてデータベース格納装置400のデータベース410へと接続し、データ収集プログラムによって収集したデータをデータベース410へと記録する。データベース格納装置400は、例えばPCである。データベース410は、LANネットワークで接続されているものに限られず、例えばインターネットで接続されたクラウド上に存在していてもよい。また、データベース410は、SQLServerなどのリレーショナルDBであってよいし、非リレーショナルDBであってもよい。
[機能構成]
次に、図1を参照して、本実施形態に係る端末装置100のプログラム自動生成部110の機能構成について説明する。図1は、プログラム自動生成部110の要部構成を示す機能ブロック図である。
<端末装置>
端末装置100は、プログラム自動生成部110、およびPLCサポート部150を含む。PLCサポート部150は、PLC210とプログラム自動生成部110との仲立ちを行う。例えば、PLCサポート部150は、PLC210から、生産システム200の既存のネットワーク構成情報を取得して、プログラム自動生成部110にインポートする、プログラム自動生成部110で生成されたデータ収集プログラムのPLC210へ書込む、などを行う。
<プログラム自動生成部>
図1に示す例では、プログラム自動生成部110は、機器情報ライブラリ111、ネットワーク構成インポート部112、機器情報ライブラリ検索部114、工業値変換管理マップ113、突合せ処理部115、修正入力受付部116、プログラム生成部117、ユーザーインターフェース部(受付部)120、およびプログラムエクスポート部140を含む。
機器情報ライブラリ111は、機器情報パラメータ1111と雛形プログラム1112とを含む。
図3は、機器情報ライブラリ111の内容を例示する図である。上述したように、機器情報ライブラリ111は、機器情報パラメータ1111と雛形プログラム1112とを保持している。機器情報パラメータ1111では、対象機器を特定するためのデバイスIDと当該対象機器のパラメータ名とデフォルト値とが対応付けられている。また、雛形プログラム1112には、PLC210に実行させる処理内容が、対象機器に対応する箇所がプレースホルダ-となった状態で記載されている。より詳細には、雛形プログラム1112には、PLC210がデータを収集し、収集したデータを工業値変換するためのデータ収集プログラムの雛形(テンプレート)と、得られた工業値をデータベース410に格納するためのデータベース定義プログラムのテンプレートとが含まれる。データ収集プログラムには、対象機器から送信されたデータを読込むプログラム、対象機器にデータの送信を行わせるためのプログラム、PLC210と対象機器との通信を制御するためのプログラム等、データ収集に必要なプログラムが含まれる。
ネットワーク構成インポート部112は、PLC210からネットワーク構成情報を取得し、工業値変換管理部118に送信する。ネットワーク構成情報とは、PLC210に接続している機器の構成を示す情報である。
工業値変換管理マップ113は、ネットワーク構成情報、および、プログラム自動生成部110においてプログラムを生成するために必要な情報を格納している。プログラムを生成するために必要な情報には、各機器の型式、設定情報、メーカー名、工業値の単位、変換係数、デバイス変数名、工業量変数名などが含まれる。
工業値変換管理部118は、工業値変換管理マップ113への入出力を管理する。
機器情報ライブラリ検索部114は、機器情報ライブラリ111から機器情報パラメータ1111および雛形プログラム1112の読込みを行う。
突合せ処理部115は、ネットワーク構成情報と機器情報パラメータ1111とを突合せ、想定される機器型式の候補を絞り込む。突合せ処理部115は、選択肢提示部1151、および限定部1152を含む。
選択肢提示部1151は、絞り込まれた結果を選択肢としてユーザーに提示する。限定部1152は、末端機器として接続され得る機器のうち機器種別とメーカーとが指定された機器のみを絞り込んでユーザーに提示する。ユーザーは、提示された選択肢のうち最適と判断した機器を選択する。
修正入力受付部116は、工業値変換管理マップ中の値をユーザーが任意に編集するための入力を受け付ける。例えば、入出力の上限値や下限値の編集を受け付ける。
プログラム生成部117は、ユーザーによって選択された機器、工業値変換管理マップ113に入力された情報、および雛形プログラム1112に基づき、データ収集プロラムを生成する。なお、例えば、ユーザーはユーザーインターフェース画面上のプログラム生成ボタン(図示せず)をクリックし、当該クリックを受け付けると、ユーザーインターフェース部120はプログラム生成部117にプログラムの生成を開始させてもよい。
生成されたデータ収集プログラムは、プログラムエクスポート部140を介してエクスポートされ、PLCサポート部150によりPLC210に書き込まれる。なお、生成したデータ収集プログラムをそのまま使用するのではなく、必要に応じてデータ収集プログラムをチューニング(修正)してもよい。
ユーザーインターフェース部120は、ユーザーへの提示、およびユーザーからの入力を受け付ける機器を制御する。ユーザーインターフェース部120により制御される機器としては、例えば、ディスプレイ、タッチパネル、スピーカー、キーボード、マウス、マイク等が含まれる。
§3 動作例
まず、図4を参照して、従来の処理の流れを簡単に説明する。従来は、本実施形態に対応するデータ収集プログラムを生成する場合、
現場を担当する技術者が、対象機器の仕様を調査し(S901)、ユニット仕様を調査し(S903)、当該対象機器からデータを収集するためのサンプルプログラムを理解、検討し(S905)、データ収集プログラムを作成し(S907)、デバッグがあれば修正する(S909)という処理を繰り返していた。
そして、デバッグが無くなると、IT技術者に対し、対象機器から収集されるデータの形式について説明し(S911)、IT技術者が当該データ形式に対応するデータ変換プログラムを作成(S913)、デバッグがあれば修正する(S915)という処理を繰り返していた。そして、デバッグが無ければ、作成したデータ収集プログラムを用いる(S917)という流れになっていた。
よって、従来では、作業工程も多く、現場技術者とIT技術者との間でやり取りも必要となり、作業者の負担は多大なものとなっていた。さらに、この処理で作成されたデータ収集プログラムは当該対象機器からデータを収集する場合にしか使えないというものであった。
次に、図5を用いて、プログラム自動生成部110の動作例を説明する。図5は、プログラム自動生成部110の処理の一例を示すフローチャートである。なお、以下で説明する処理は一例にすぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理について、実施の形態に応じて、適宜、ステップの省略、置換、および追加が可能である。
まず、ユーザーは、生産システム200(PLC210を含む)と端末装置100とを接続する。次に、端末装置100を起動し、起動した端末装置100のPLCサポート部150は、生産システム200のネットワーク構成情報をプログラム自動生成部110にインポートする。そして、プログラム自動生成部110は、処理を開始する。
プログラム自動生成部110の処理が開始されるときのユーザーインターフェース画面の一例を図6に示す。図6に示すように、処理開始時のユーザーインターフェース画面では、左側に工業値変換管理マップ113が表示されている。右側はユーザーが機器を選択したり、機器パラメータに関する数値や文字列を入力する際に使用する領域であり、機器種別やメーカーを選択するためのボタンを含む。処理開始時には、工業値変換管理マップ113の内容は初期化されており、図6に示すようにユーザーインターフェース画面にも情報は入力されていない。なお、ソフトウェア設定や起動時に実行するスクリプトなどにより、前回終了時の工業値変換管理マップ113の内容などを自動的に読み込むものとしてもよい。
(ステップS101)
S101において、ユーザーは、図示しないネットワーク構成インポートメニューを使用し、現時点のネットワーク構成情報をインポートする操作を行う。プログラム自動生成部110のユーザーインターフェース部120はこの操作を受け付ける。これにより、ネットワーク構成インポート部112はその時点における生産システム200のネットワーク構成情報を取り込み、工業値変換管理マップ113へ入力する。なお、ソフトウェア設定や起動時に実行するスクリプトなどにより、指定済みのネットワーク構成情報を自動的に取り込むものとしてもよい。
図7は、取り込み結果を示すイメージ図である。破線で囲む領域701に示す機器型式のカラムやデバイス変数のカラム領域に、取り込まれた値が入力され表示されている。
(ステップS103)
図8を参照して、S103について説明する。S101に続いてユーザーは、ユーザーインターフェース画面左側の工業値変換管理マップ113を表示する領域のうち、破線で図示した末端機器を示す領域801をクリックすることにより末端機器230を選択する。そして、突合せ処理部115は、選択された末端機器230とPLC210との間に位置する中継機器220の型式と、機器情報パラメータ1111とを突合せ、末端機器230として接続され得る候補を絞り込む。
(ステップS105)
S105において、選択肢提示部1151は、絞り込んだ結果に基づいてユーザーインターフェース画面の右側に候補機器を提示する。次いで、ユーザーは、右側の領域のうち機器種別を選択するプルダウンメニュー(入力領域)をクリックし、例えば、「流量センサ」を選択する。これにより、突合せ処理部115は、末端機器230として接続され得る機器のうち流量センサを表示する。次いで、ユーザーは、メーカーを選択するプルダウンメニューをクリックし、例えば「○×株式会社」を選択する。これにより、限定部1152は、末端機器230として接続され得る機器のうち機器種別とメーカーとが指定された値である機器のみを絞り込んで表示する。
(ステップS107)
S107において、ユーザーは、ステップS105で絞り込まれた候補のうちから、実際に生産現場で使用されている機器が表示されている行811(ハッチングで示す)を選択し、左端の矢印ボタンをクリックすることにより、実在する末端機器230を選択する。
(ステップS109)
S109において、突合せ処理部115は、選択された行が示す末端機器230に基づき、工業値変換管理マップ113に、具体的な機器型式(形式およびリビジョン)を入力する。また、物理量、機器設定の値等を、当該機器型式に対応する機器情報パラメータ1111に基づいて、工業値変換管理マップ113へと入力する。
(ステップS111)
図9を参照して、ユーザーが修正入力を行う場合の処理の流れを示す。S111において、ユーザーは、ステップS109によって得られた工業値変換管理マップ113を確認し、現場の環境や機器の個体差に合わせ、必要に応じ修正入力を行う。また、S111では、入出力の上限値や下限値の編集を行うことができる。ユーザーが編集した結果、工業値変換管理マップ113は更新され、破線で囲まれた領域901のように更新後の値が表示される。
すなわち、修正入力受付部116は、プログラム生成部117が生成したデータ収集プログラムに対する修正指示を受け付け、プログラム生成部117は、修正入力受付部116が受け付けた修正内容を生成したデータ収集プログラムに反映させる。
(ステップS113)
S113において、修正入力受付部116は、ユーザーが入力した前記修正入力値を受け付け、工業値変換管理マップ113へ入力する。
(ステップS115)
S115において、ユーザーは、ユーザーインターフェース画面における図示しないメニューを用いて、プログラム自動作成指示を行う。なお、S115を省略し、S107にて機器が選択された後、またはS111にて修正入力がされた後、自動でプログラムの生成が開始されてもよい。
(ステップS117)
S117において、プログラム生成部117は、工業値変換管理マップ113に入力された値と、機器情報ライブラリ111に含まれる雛形プログラムとに基づき、データ収集プログラムを生成する。図10を参照して、プログラムの自動生成について説明する。
図10は、データ収集プログラムの自動生成について説明するための図である。図10に示すように、プログラム生成部117は、工業値変換管理マップ113に入力されたデバイス変数、工業値変数、入出力の上限値や下限値などを用いて雛形プログラム中のプレースホルダを置き換え、PLC制御プログラムを作成する。図10に示すデータ収集プログラム例“current := N1_input * LREAL#0.001 +LREAL#0;”では、“():= () * LREAL#() +LREAL#();”が雛形プログラムに対応し、“current”、“N1_input”、“0.001”、“0”の部分がプレースホルダとなる。
すなわち、雛形プログラム1112には、機器情報パラメータ1111を組入れる組入れ欄(プレースホルダ)が設けられており、プログラム生成部117は、雛形プログラム1112の組入れ欄に機器情報パラメータ1111を組入れることによりデータ収集プログラムを生成する。また、プログラムの生成においてはプレースホルダの単なる置き換えだけでなく、パラメータによって分岐や繰り返し処理(機器情報パラメータ1111に対応する処理)を行ってもよい。図11にプログラムの生成処理の例を示す。図11の(a)は、雛形プログラム1112の組入れ欄に機器情報パラメータ1111を組入れることによりデータ収集プログラムを生成する例であり、整数で取得されたデータの小数点を移動して実数に変換することによりデータ収集プログラムを生成している。また、図11の(b)は、機器情報パラメータ1111によって分岐する(パラメータの値に応じて出力する処理を変更する)例であり、サイズ(データ長)と符号の有無に応じたキャスト処理によりデータ収集プログラムを生成している。また、図11の(c)は、繰り返し(パラメータで指定した回数だけ繰り返し処理を出力する)の例であり、プロセスデータ長に応じたエンディアン変換を行いデータ収集プログラムを生成している。
また、プログラム生成部117は、工業値変数、物理量に基づいてデータベース定義プログラムを作成する。すなわち、プログラム生成部117は、末端機器230に対応する雛形プログラム1112および機器情報パラメータ1111を用いて、収集したデータを格納するデータベースを定義するためのデータベース定義プログラムを生成する。
(ステップS119)
S119において、プログラム生成部117は、自動生成されたプログラムを、プログラムエクスポート部140を介してPLC210にエクスポートする。自動生成されたプログラムは、例えばST言語などPLC制御のためのプログラミング言語を用いて記述されている。
(ステップS121)
S121において、ユーザーは、自動生成されたプログラムを編集し、現場の状況に合わせて修正してもよい。現場の環境や機器の個体差に応じて、パラメータを修正することができる他、データベース定義や通信制御プログラムを編集してもよい。
図12は、自動生成されたプログラムに対し値を構成した場合の例を示す図である。例えば、作業者は現場の状況に応じ、線形変換時に一定の値0.02を加える事が適当と判断した場合、変数Currentに値を代入する式の最も右の項で0.02を可算するように式を編集することができる。
以上のように、本実施形態では、容易にデータ収集プログラムを生成できるので、作業者の負担を軽減することができる。
[作用・効果]
上述したように本実施形態に係るプログラム自動生成部110は、データ収集に関する処理をPLC210に実行させるデータ収集プログラムを生成するプログラム自動生成部110であって、データ収集に関する各種処理に対応した雛形プログラム1112と、データ収集の対象となる末端機器230毎に当該末端機器230に対応した機器情報パラメータ1111とを格納した機器情報ライブラリ111と、ユーザーから、末端機器230の入力を受け付けるユーザーインターフェース部120と、ユーザーインターフェース部120で受け付けた末端機器230に対応する雛形プログラム1112および機器情報パラメータ1111を用いて、PLC210により末端機器230からデータを収集するためのデータ収集プログラムを生成するプログラム生成部117と、を備える構成である。
このように、本実施形態では、データ収集プログラムの生成に必要な雛形プログラム1112と機器情報パラメータ1111とを分けて機器情報ライブラリ111に格納している。機器情報パラメータ1111を分けることにより、末端機器230がアナログ機器かデジタル機器か等の違いを考慮して末端機器230ごとに機器情報パラメータ1111を設定することができる。これにより、ユーザーは末端機器230を選択するのみで、当該末端機器230に適したデータ収集プログラムを生成させることができる。
また、データ収集プログラムは、末端機器230との通信制御も含めた制御プログラムなので、末端機器230との通信に関する設定を別途行う必要もない。
また、プログラム自動生成部110は、PLC210から、PLC210と接続している中継機器220の情報(ネットワーク構成情報)を取得し、当該中継機器220に接続されうる機器を、末端機器230の選択候補として表示部に表示する。
これにより、選択候補となる末端機器230が限定して表示される。ユーザーは限定された表示の中から対象機器となる末端機器230を選択すればよく、対象機器を容易に選択することができる。
さらに、プログラム自動生成部110は、選択候補から選択された末端機器230に対応する機器情報パラメータ1111に関する数値の入力を受け付ける数値入力画面を表示させる。
これにより、ユーザーは、機器情報パラメータ1111に関する数値を入力することができるので、末端機器230の状況、現場の状況等に合わせた細かい設定を行うことが可能となる。
§4 変形例
以上、本開示の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本開示の例示に過ぎない。本開示の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
<4.1>
例えば、機器情報ライブラリ111は、図2に示されるとおり、プログラム自動生成部110と同様に端末装置100の内部に存在するように構成されている。しかしながら、機器情報ライブラリを備える端末の構成はこのような例に限定される必要はなく、実施の形態に応じて適宜選択されてよい。例えば、機器情報ライブラリ111は端末装置100の外部の装置に存在し、LANやインターネットなどネットワーク経由で接続され、機器情報ライブラリ検索部114はネットワーク経由で機器情報ライブラリ111へ接続するという構成を採用してもよい。
または、機器情報ライブラリ111が端末装置100外のサーバーデータベースと端末装置100内のローカルデータベースとに分けられ、端末装置100内のローカルデータベースが適宜、作成および更新される構成としてもよい。ローカルデータベースが保持する情報はサーバーデータベースの一部であってもよいし、全部であってもよい。機器情報ライブラリ111の更新のタイミング、プログラム自動生成部110が使用するデータベースの優先度、サーバーデータベースとローカルデータベースとの関係などは実施の形態に応じて適宜変更されても良い。
<4.2>
また、図1に示すプログラム自動生成部110のうち機器情報ライブラリ111以外の各要素も同一端末上で実行されるように構成されている。換言すれば、ユーザーが操作する端末上でプログラム自動生成部の各要素が実行されるように構成されているが、一部の要素を別の装置で実行する構成としてもよい。例えば、プログラム生成部117が、LANやインターネットなどネットワークを経由する他の装置、例えばクラウド上の装置で実行されてもよい。この場合、プログラム自動生成部110は、工業値変換管理マップ113に含まれる情報などプログラム生成に必要な情報を送信し、プログラムを生成させる。
また、例えば、ユーザーインターフェースに係る要素と他の要素とをフロントエンド部とバックエンド部とに分割し、バックエンド部がネットワークを経由する他の装置上で実行される構成としてもよい。この場合、フロントエンド部にはユーザーインターフェース部120の機能が含まれ、フロントエンド部からの入力指示に応じて、バックエンド部は動作を実行する。
<4.3>
また、上記実施形態では、図2に示されるとおり、データベース410は端末装置100とは別の装置に格納されるように構成されている。換言すれば、生産システム200にデータベース格納装置400が接続されており、端末装置100が生産システム200のPLC210と接続している。しかし、データベース410は、データベース410への保存を行うPLC210の制御プログラムおよびデータベース定義プログラムを送信可能な装置にあればよく、例えば端末装置100の内部にデータベース410が配置されてもよい。
また、変形例<4.1>および<4.2>に示すように、端末装置100はフロントエンド部のみを備える構成としてもよく、例えば生産システム200およびデータベース格納装置400とが接続されたネットワーク経由に端末装置100を接続する構成としてもよい。この場合、バックエンド部、機器情報ライブラリ111、およびデータベース410はデータベース格納装置400に格納され、バックエンド部はデータベース格納装置400上で実行される。
<4.4>
また、上記実施形態では、図2に示されるとおり、プログラム自動生成部110はPLCサポート部150とは別のアプリケーションとして実装されているが、PLCサポート部150の機能の一部としてプログラム自動生成部110の機能が実行されてもよい。
〔ソフトウェアによる実現例〕
端末装置100のプログラム自動生成部(特に機器情報ライブラリ検索部114、突合せ処理部115、プログラム生成部117、および工業値変換管理部118)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、ソフトウェアによって実現してもよい。
後者の場合、端末装置100は、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータを備えている。このコンピュータは、例えば1つ以上のプロセッサを備えていると共に、前記プログラムを記憶したコンピュータ読み取り可能な記録媒体を備えている。そして、前記コンピュータにおいて、前記プロセッサが前記プログラムを前記記録媒体から読み取って実行することにより、本開示の目的が達成される。前記プロセッサとしては、例えばCPU(Central Processing Unit)を用いることができる。前記記録媒体としては、「一時的でない有形の媒体」、例えば、ROM(Read Only Memory)等の他、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、前記プログラムを展開するRAM(Random Access Memory)などをさらに備えていてもよい。また、前記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して前記コンピュータに供給されてもよい。なお、本開示の一態様は、前記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
本開示は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本開示の技術的範囲に含まれる。
また、本発明は以下のように記載することもできる。
すなわち、本発明の一側面に係るプログラム生成装置は、データ収集に関する処理をPLC(Programmable Logic Controller)に実行させるデータ収集プログラムを生成するプログラム生成装置であって、前記データ収集に関する各種処理に対応した雛形プログラムと、データ収集の対象となる対象機器毎に当該対象機器に対応した機器パラメータと、を格納した記憶部と、ユーザーから、前記対象機器の入力を受け付ける受付部と、前記受付部で受け付けた前記対象機器に対応する前記雛形プログラムおよび前記機器パラメータを用いて、前記PLCにより前記対象機器からデータを収集するためのデータ収集プログラムを生成するプログラム生成部と、を備える。
上記の構成によれば、対象機器を入力するのみでPLCによるデータ収集プログラムを生成できる。よって、従来と比較して作業者の負担を大幅に軽減して、PLCによるデータ収集プログラムを一定の品質水準と統一された出力形式を担保して生成することができる。
前記一側面に係るプログラム生成装置では、前記雛形プログラムには、前記機器パラメータかまたは該機器パラメータに対応する処理を組入れる組入れ欄が設けられており、前記プログラム生成部は、前記雛形プログラムの前記組入れ欄に前記機器パラメータかまたは該機器パラメータに対応する処理を組入れることにより前記データ収集プログラムを生成するものであってもよい。
上記の構成によれば、雛形プログラムに機器パラメータかまたは該機器パラメータに対応する処理を組入れるだけでデータ収集プログラムを生成できるので、データ収集プログラムを容易に生成することができる。
前記一側面に係るプログラム生成装置では、前記プログラム生成部は、前記対象機器からデータを取得するための通信を制御するプログラムを含めて前記データ収集プログラムを生成するものであってもよい。
上記の構成によれば、対象機器との通信を制御するプログラムを含むので、データを出力するプロトコルが設定されていない対象機器からであっても、適切にデータを取得することができる。
前記一側面に係るプログラム生成装置では、前記PLCから、該PLCと接続している中継装置の情報を取得し、当該中継装置に接続されうる機器を、前記対象機器の選択候補として表示部に表示するものであってもよい。
上記の構成によれば、PLCと接続している中継装置に接続されうる機器を対象機器の選択候補とする。これにより対象機器となり得る機器のみを候補として表示し、ユーザーに選択させることができるので、ユーザーは対象機器の入力を容易に行うことができる。
前記一側面に係るプログラム生成装置では、前記選択候補から選択された前記対象機器に対応する前記機器パラメータに関する数値および文字列の少なくとも何れかの入力を受け付ける数値入力画面を表示するものであってもよい。
上記の構成によれば、機器パラメータに関する数値および文字列の少なくとも何れかの入力を受け付ける。これにより、対象機器の状況、現場の状況等に応じてきめ細やかに設定した機器パラメータを用いてデータ収集プログラムを生成することができる。なお、数値および文字列の入力は数字および文字列を直接、入力するものであってもよいし、スライダやアップダウンボタンによる入力でもよい。
前記一側面に係るプログラム生成装置では、前記プログラム生成部は、前記受付部で受け付けた前記対象機器に対応する前記雛形プログラムおよび前記機器パラメータを用いて、収集したデータを格納するデータベースを定義するためのデータベース定義プログラムを生成するものであってもよい。
上記の構成によれば、処理の内容と対象機器とを入力するのみでデータベース定義プログラムを生成できる。よって、従来と比較して作業者の負担を大幅に軽減して、データベース定義プログラムを生成することができる。
前記一側面に係るプログラム生成装置では、前記受付部は、前記プログラム生成部が生成した前記データ収集プログラムに対する修正指示を受け付けるものであってもよい。
上記の構成によれば、プログラム生成部が生成したプログラムを修正することができる。よって、状況、機器、処理内容等により細かく対応したプログラムを生成することができる。
また、本発明の一側面に係るプログラム生成装置の制御方法は、データ収集に関する処理をPLC(Programmable Logic Controller)に実行させるデータ収集プログラムを生成するプログラム生成装置の制御方法であって、前記データ収集に関する各種処理に対応した雛形プログラムと、データ収集の対象となる対象機器毎に当該対象機器に対応した機器パラメータとが記憶部に格納されており、ユーザーから、前記対象機器の入力を受け付ける受付ステップと、前記受付ステップで受け付けた前記対象機器に対応する前記雛形プログラムおよび前記機器パラメータを用いて、前記PLCにより前記対象機器からデータを収集するためのデータ収集プログラムを生成するプログラム生成ステップと、を含む。
100 端末装置
110 プログラム自動生成部(プログラム生成装置)
111 機器情報ライブラリ(記憶部)
112 ネットワーク構成インポート部
1111 機器情報パラメータ
1112 雛形プログラム
113 工業値変換管理マップ
114 機器情報ライブラリ検索部
115 突合せ処理部
116 修正入力受付部
117 プログラム生成部
120 ユーザーインターフェース部(受付部)
200 生産システム
210 PLC
220 中継機器(中継装置)
230 末端機器
400 データベース格納装置
410 データベース

Claims (9)

  1. データ収集に関する処理をPLC(Programmable Logic Controller)に実行させるデータ収集プログラムを生成するプログラム生成装置であって、
    前記データ収集に関する各種処理に対応した雛形プログラムと、データ収集の対象となる対象機器毎に当該対象機器に対応した機器情報パラメータと、を格納した記憶部と、
    前記PLCから、該PLCと接続している中継装置の情報を取得し、当該中継装置に接続されうる機器を、前記対象機器の選択候補として表示する表示部と、
    ユーザーから、前記表示部に表示した対象機器の候補から当該ユーザーによって選択された対象機器の入力を受け付ける受付部と、
    前記受付部で受け付けた前記対象機器に対応する前記雛形プログラムおよび前記機器情報パラメータを用いて、前記PLCにより前記対象機器からデータを収集するためのデータ収集プログラムを生成するプログラム生成部と、
    ネットワーク構成情報と前記機器情報パラメータとを突合せ、想定される機器型式の候補を絞り込む突合せ処理部と、を備え、
    前記突合せ処理部は、絞り込まれた結果を選択肢としてユーザーに提示する選択肢提示部と、末端機器として中継装置に接続され得る機器のうち機器種別とメーカーとが指定された機器に絞り込んでユーザーに提示する限定部と、を含む、
    プログラム生成装置。
  2. 前記雛形プログラムには、前記機器情報パラメータかまたは該機器情報パラメータに対応する処理を組入れる組入れ欄が設けられており、
    前記プログラム生成部は、前記雛形プログラムの前記組入れ欄に前記機器情報パラメータかまたは該機器情報パラメータに対応する処理を組入れることにより前記データ収集プログラムを生成する、
    請求項1に記載のプログラム生成装置。
  3. 前記プログラム生成部は、前記対象機器からデータを取得するための通信を制御するプログラムを含めて前記データ収集プログラムを生成する、
    請求項1または2に記載のプログラム生成装置。
  4. 前記選択候補から選択された前記対象機器に対応する前記機器情報パラメータに関する数値および文字列の少なくとも何れかの入力を受け付ける数値入力画面を表示する、
    請求項1に記載のプログラム生成装置。
  5. 前記プログラム生成部は、前記受付部で受け付けた前記対象機器に対応する前記雛形プログラムおよび前記機器情報パラメータを用いて、収集したデータを格納するデータベースを定義するためのデータベース定義プログラムを生成する、
    請求項1~4のいずれか1項に記載のプログラム生成装置。
  6. 前記受付部は、前記プログラム生成部が生成した前記データ収集プログラムに対する修正指示を受け付ける、
    請求項1~5のいずれか1項に記載のプログラム生成装置。
  7. データ収集に関する処理をPLC(Programmable Logic Controller)に実行させるデータ収集プログラムを生成するプログラム生成装置の制御方法であって、
    前記データ収集に関する各種処理に対応した雛形プログラムと、データ収集の対象となる対象機器毎に当該対象機器に対応した機器情報パラメータとが記憶部に格納されており、
    前記PLCから、該PLCと接続している中継装置の情報を取得する取得ステップと、
    前記取得ステップで取得した前記中継装置に接続されうる機器を、前記対象機器の選択候補として表示部に表示する表示ステップと、
    ユーザーから、前記表示ステップで表示部に表示した対象機器の候補から当該ユーザーによって選択された対象機器の入力を受け付ける受付ステップと、
    前記受付ステップで受け付けた前記対象機器に対応する前記雛形プログラムおよび前記機器情報パラメータを用いて、前記PLCにより前記対象機器からデータを収集するためのデータ収集プログラムを生成するプログラム生成ステップと、を含み、
    さらに、
    ネットワーク構成情報と機器情報パラメータとを突合せ、想定される機器型式の候補を絞り込む突合せ処理ステップを含み、
    前記突合せ処理ステップには、絞り込まれた結果を選択肢としてユーザーに提示する選択肢提示ステップと、末端機器として中継装置に接続され得る機器のうち機器種別とメーカーとが指定された機器に絞り込んでユーザーに提示する限定ステップと、が含まれる、
    プログラム生成装置の制御方法。
  8. 請求項1に記載のプログラム生成装置としてコンピュータを機能させるための制御プログラムであって、前記プログラム生成部としてコンピュータを機能させるための制御プログラム。
  9. 請求項8に記載の制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2022133613A 2018-10-04 2022-08-24 プログラム生成装置、プログラム生成装置の制御方法、制御プログラム、および記録媒体。 Active JP7276581B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022133613A JP7276581B2 (ja) 2018-10-04 2022-08-24 プログラム生成装置、プログラム生成装置の制御方法、制御プログラム、および記録媒体。

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018189375A JP2020057332A (ja) 2018-10-04 2018-10-04 プログラム生成装置、プログラム生成装置の制御方法、制御プログラム、および記録媒体。
JP2022133613A JP7276581B2 (ja) 2018-10-04 2022-08-24 プログラム生成装置、プログラム生成装置の制御方法、制御プログラム、および記録媒体。

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2018189375A Division JP2020057332A (ja) 2018-10-04 2018-10-04 プログラム生成装置、プログラム生成装置の制御方法、制御プログラム、および記録媒体。

Publications (2)

Publication Number Publication Date
JP2022162084A JP2022162084A (ja) 2022-10-21
JP7276581B2 true JP7276581B2 (ja) 2023-05-18

Family

ID=87888327

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022133613A Active JP7276581B2 (ja) 2018-10-04 2022-08-24 プログラム生成装置、プログラム生成装置の制御方法、制御プログラム、および記録媒体。

Country Status (1)

Country Link
JP (1) JP7276581B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004102593A (ja) 2002-09-09 2004-04-02 Kubota Corp 機器状態データ表示プログラムとこのプログラムを搭載した装置
JP2017142767A (ja) 2016-02-09 2017-08-17 富士電機株式会社 コントローラシステム、変数連携支援装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4632137B2 (ja) * 2006-07-28 2011-02-16 横河電機株式会社 機器診断システム
JP5498446B2 (ja) * 2011-07-04 2014-05-21 株式会社日立製作所 ラダープログラム作成装置およびラダープログラム作成方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004102593A (ja) 2002-09-09 2004-04-02 Kubota Corp 機器状態データ表示プログラムとこのプログラムを搭載した装置
JP2017142767A (ja) 2016-02-09 2017-08-17 富士電機株式会社 コントローラシステム、変数連携支援装置

Also Published As

Publication number Publication date
JP2022162084A (ja) 2022-10-21

Similar Documents

Publication Publication Date Title
CN102640112B (zh) 程序制作支援装置
US20110302511A1 (en) Method for providing an operating menu for a field device of process automation technology
CN105700867B (zh) 通过编译器借助动态可缩放矢量图形生成可执行应用程序的方法和编译器
KR100918350B1 (ko) 프로그램 작성 지원 장치 및 프로그램 실행 장치
CN105144004B (zh) 程序图显示装置以及程序图显示方法
JP4242361B2 (ja) 開発支援装置
CN107451664B (zh) 装置维护设备、装置维护方法、装置维护程序和记录介质
KR102553315B1 (ko) 프로그램 생성 장치, 프로그램 생성 장치의 제어 방법, 제어 프로그램, 및 기록 매체
EP3185094A1 (en) Process control system and development system for human machine interface
US20210182101A1 (en) Program generating device, program generating method, and information storage medium
JP7276581B2 (ja) プログラム生成装置、プログラム生成装置の制御方法、制御プログラム、および記録媒体。
JP2006243841A (ja) Plc用ツール装置
WO2023044631A1 (en) A device, system, method and storage medium for ai application deployment
JPWO2012104959A1 (ja) モーションsfcプログラム部品作成装置
JP7335794B2 (ja) 情報処理装置及び設定装置
JP2006146955A (ja) 開発支援装置
US20180088914A1 (en) Method for supporting program creation and apparatus for supporting program creation
JP2006318504A (ja) 開発支援装置の制御方法
US20220342376A1 (en) Apparatus and method for extracting common command information from plc ladder information
CN116028051A (zh) 自动化语言程序的可视化开发方法、系统、电子设备及存储介质
JP5395590B2 (ja) シーケンス図作成システム
KR20230118032A (ko) 프로토콜 드라이버 작성 장치
TW202207019A (zh) 將程式碼轉變為可下載檔案的方法和伺服器
KR100423742B1 (ko) 순차기능챠트에 의한 전용 제어 시스템
CN117193600A (zh) 表单构建的方法、装置、介质、设备和程序产品

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220824

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230417

R150 Certificate of patent or registration of utility model

Ref document number: 7276581

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150