(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-13
(45)【発行日】2024-08-21
(54)【発明の名称】PLC装置及び産業機械システム
(51)【国際特許分類】
G05B 19/05 20060101AFI20240814BHJP
G06F 11/07 20060101ALI20240814BHJP
H04L 67/02 20220101ALI20240814BHJP
【FI】
G05B19/05 D
G05B19/05 L
G06F11/07 172
H04L67/02
(21)【出願番号】P 2022550509
(86)(22)【出願日】2021-09-09
(86)【国際出願番号】 JP2021033142
(87)【国際公開番号】W WO2022059588
(87)【国際公開日】2022-03-24
【審査請求日】2023-04-05
(31)【優先権主張番号】P 2020155364
(32)【優先日】2020-09-16
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100106002
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100165157
【氏名又は名称】芝 哲央
(74)【代理人】
【識別番号】100160794
【氏名又は名称】星野 寛明
(72)【発明者】
【氏名】高嶋 八起
【審査官】渡邊 捷太郎
(56)【参考文献】
【文献】特開2004-302880(JP,A)
【文献】特開2002-297206(JP,A)
【文献】国際公開第2013/018219(WO,A1)
【文献】特開2008-282363(JP,A)
【文献】特開2016-110459(JP,A)
【文献】特開2005-251014(JP,A)
【文献】特開2018-139162(JP,A)
【文献】特開2004-213406(JP,A)
【文献】特開2005-174306(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/05
G06F 11/07
H04L 67/02
(57)【特許請求の範囲】
【請求項1】
PLC(Progrmmable Logic Controller)装置において、
解析したラダープログラムから任意の文字列を出力するため、記憶装置からテキストデータを読み出すテキストデータ出力部と、
所定の文字列を表示装置に出力する表示部と、
所定のコマンドによりネットワークサーバとテキスト通信を行う通信部とを含み、
前記テキストデータ出力部は、さらに、
テキストデータ判断部と、出力切替部と、を備え、
前記テキストデータ判断部は、
予め設定される所定のキーワードが前記テキストデータに含まれない場合、テキストデータにメッセージデータ表示コマンドが含まれると判断し、
予め設定される所定のキーワードが前記テキストデータに含まれる場合、前記テキストデータにテキスト通信コマンドが含まれると判断し、
前記出力切替部は、
前記テキストデータ判断部による判断結果に応じて、前記テキストデータに前記所定のキーワードが含まれない場合、当該テキストデータを前記表示部に対して出力し、
前記テキストデータに前記所定のキーワードが含まれる場合、当該テキストデータを前記通信部に対して出力する、PLC装置。
【請求項2】
前記通信部によって、前記ネットワークサーバから受信したリプライデータを、前記表示部に出力する受信データ処理部をさらに備える、請求項1に記載のPLC装置。
【請求項3】
前記受信データ処理部は、前記リプライデータを前記記憶装置に保存し、
前記表示部は、前記記憶装置に保存された前記リプライデータを前記表示装置に出力する、請求項2に記載のPLC装置。
【請求項4】
前記ラダープログラムは、前記リプライデータに基づいて定期的に、前記ラダープログラムの更新データが配信されたか確認する処理を実装し、
前記更新データが配信されている場合には、前記表示部は、前記表示装置に更新を促すメッセージを表示させる、請求項3に記載のPLC装置。
【請求項5】
請求項1から請求項4のいずれか1項に記載のPLC装置を備える産業機械と、
HTTPサーバと、を備え、
前記産業機械でアラームが発生した際に、前記PLC装置は前記HTTPサーバに対し、前記テキストデータを出力する、産業機械システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、PLC装置及び産業機械システムに関する。
【背景技術】
【0002】
産業機械では、PLC(Progrmmable Logic Controller)を用いて、ラダープログラム等のシーケンス制御により、機器制御を行う。例えば当該産業機械において異常を検出した際には、シーケンス制御により、産業機械の外部に設置される表示装置へメッセージデータを表示することにより、産業機械の使用者に対して、異常の発生を通知することができる(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、表示装置を用いてメッセージデータを表示する場合、遠隔地からメッセージデータを確認することは困難であった。そのため、PLCシーケンス制御プログラムから、ネットワーク通信機能を利用することが考えられるが、ネットワーク通信機能を利用するには、専用プロトコル設計やネットワークサーバやゲートウェイ等の専用ハードウェアが必要となる。専用プロトコル設計の実現には、高度なネットワークプロトコル設計技術を用いざるを得ない。また、専用ハードウェアを用いるには、導入・運用コストが高くなってしまう。
【0005】
専用ハードウェアを必要としないために導入・運用コストが低く、簡単なPLCプログラムで汎用プロトコル通信(例えばHTTP通信、SMTP通信等)を実現することにより、リモートで状況確認をすることが可能な技術が望まれている。
【課題を解決するための手段】
【0006】
(1)本開示のPLC装置の一態様は、PLC(Progrmmable Logic Controller)装置において、解析したラダープログラムから任意の文字列を出力するため、記憶装置からテキストデータを読み出すテキストデータ出力部と、所定の文字列を表示装置に出力する表示部と、所定のコマンドによりネットワークサーバとテキスト通信を行う通信部と、を含み、前記テキストデータ出力部は、さらに、前記テキストデータに含まれるキーワードに基づいて、前記テキストデータを前記表示部又は前記通信部のいずれに対して出力するかを判定し、判定結果に基づいて前記テキストデータの出力先を前記表示部又は前記通信部に出力する。
(2)本開示の産業機械システムの一態様は、(1)のPLC装置を備える産業機械と、HTTPサーバと、を備え、前記産業機械でアラームが発生した際に、前記PLC装置は前記HTTPサーバに対し、前記テキストデータを出力する。
【発明の効果】
【0007】
一態様によれば、専用ハードウェアを必要としないために導入・運用コストが低く、簡単なPLCプログラムで汎用プロトコル通信(例えばHTTP通信、SMTP通信等)を実現することにより、リモートで状況確認をすることが可能となる。
【図面の簡単な説明】
【0008】
【
図1】一実施形態に係るPLC装置10、及び当該PLC装置10を含むPLCシステム1の構成図である。
【
図2A】一実施形態に係るラダープログラムの例を示す図である。
【
図2B】一実施形態に係る異常信号出力システムの例を示す図である。
【
図3A】一実施形態に係るテキストデータの例を示す図である。
【
図3B】一実施形態に係るテキストデータの例を示す図である。
【
図3C】一実施形態に係るテキストデータの例を示す図である。
【
図3D】一実施形態に係るテキストデータの例を示す図である。
【
図3E】一実施形態に係るテキストデータの例を示す図である。
【
図3F】一実施形態に係るテキストデータの例を示す図である。
【
図3G】一実施形態に係るテキストデータの例を示す図である。
【
図3H】一実施形態に係るテキストデータの例を示す図である。
【
図4A】一実施形態に係るPLC装置の動作を示すフローチャートである。
【
図4B】一実施形態に係るPLC装置の動作を示すフローチャートである。
【
図5】一実施形態に係る産業機械システムの構成図である。
【
図6】一実施形態に係る産業機械システムの構成図である。
【
図7A】一実施形態に係るラダープログラムの例を示す図である。
【
図7B】一実施形態に係るテキストデータの例を示す図である。
【
図7C】一実施形態に係る応答データのフォーマットの例を示す図である。
【発明を実施するための形態】
【0009】
以下、本発明の実施形態について
図1~
図7Cを参照することにより説明する。
【0010】
〔1 実施形態の構成〕
図1は、本発明の実施形態に係るPLC装置10、及び当該PLC装置10を含むPLCシステム1の構成図である。
PLCシステム1は、PLC装置10と、記憶装置20と、I/O入出力装置30と、ネットワーク35と、ネットワークサーバ40と、表示装置50とを備える。
PLC装置10について説明する前に、まず、記憶装置20、I/O入出力装置30、ネットワーク35、ネットワークサーバ40、及び表示装置50について説明する。
【0011】
記憶装置20は、各種の情報を記憶する装置であり、とりわけ本実施形態においては、PLCプログラム21、テキストデータ22、リプライデータ23を記憶する。記憶装置20は、例えばHDD(Hard Disk Drive)、SDD(Solid State Drive)等の書き換え可能なメモリであってよい。
【0012】
I/O入出力装置30は、PLC装置10への出力信号(PLC装置10にとっての入力信号)を出力したり、PLC装置10からの入力信号(PLC装置10にとっての出力信号)を入力したりする装置である。
【0013】
ネットワークサーバ40は、ネットワーク35上に設けられたサーバであり、ネットワーク35を介して、PLC装置10と通信可能に接続される。とりわけ本実施形態において、ネットワークサーバ40は、PLC装置10とテキストデータ22を含むプロトコル通信を実行する。また、ネットワークサーバ40は、例えばHTTPサーバ、SMTPサーバ等であってよいが、これには限定されない。
【0014】
表示装置50は、例えば、ディスプレイ等の画像表示装置である。とりわけ本実施形態において、表示装置50は、PLC装置10から取得したメッセージデータとしてのテキストデータ22を表示する。
【0015】
次にPLC装置10について説明する。
PLC装置10は、ラダープログラム等のシーケンス制御プログラムを実行して、ラダープログラムに従って各種制御や演算処理、信号の入出力処理等を行う装置であり、PLC装置の一般的な機能については公知であり、詳細な説明は省略する。本実施形態では、本発明に係る機能について詳細に説明する。
【0016】
図1に示すように、PLC装置10は、PLCプログラム実行部11と、テキストデータ出力部12と、通信部13と、受信データ処理部14と、表示部15とを備える。
【0017】
PLCプログラム実行部11は、記憶装置20から、当該記憶装置20に格納されたPLCプログラム21を読み出し、PLCプログラム21を解析して実行し、I/O信号を制御する。とりわけ本実施形態において、PLCプログラム実行部11は、テキストデータ出力指令をするPLCプログラム21としてのラダープログラムを解析する。
【0018】
テキストデータ出力部12は、後述するように、解析したラダープログラムに基づき、指定された箇所に格納された任意の文字列を出力するため、記憶装置20からテキストデータ22を読み出す。
このテキストデータ22には、テキスト通信コマンド221又はメッセージデータ表示コマンド222のいずれかが含まれる。ここで、テキスト通信コマンド221とは、後述の通信部13により処理されるテキスト通信コマンド(例えば、HTTP通信に係るコマンド、SMTP通信に係るコマンド等)を意味する。また、メッセージデータ表示コマンド222とは、後述の表示部15により処理され、後述の表示装置にテキストデータ22に含まれるメッセージデータを、表示させるためのコマンドである。
【0019】
具体的には、テキストデータ出力部12は、テキストデータ判断部121と出力切替部122とを備える。
【0020】
テキストデータ判断部121は、テキストデータ22にテキスト通信コマンド221が含まれるか否かを、判断する。より具体的には、テキストデータ判断部121は、予め設定される所定のキーワードが前記テキストデータ22に含まれる場合、テキストデータ22にテキスト通信コマンド221が含まれると判断する。他方、予め設定される所定のキーワードが前記テキストデータ22に含まれない場合、テキストデータ22にメッセージデータ表示コマンド222が含まれると判断する。
【0021】
出力切替部122は、テキストデータ判断部121による判断結果に応じて、テキストデータ22にテキスト通信コマンド221が含まれる場合、当該テキストデータ22を通信部13に対して出力し、それ以外の場合、当該テキストデータ22を表示部15に対して出力する。そうすることで、出力切替部122は、PLCプログラム21に含まれる任意の文字列の出力先を、表示部15又は通信部13のいずれか一方に切り替える。
【0022】
図2Aは、テキストデータ出力部12が、テキストデータ出力指令をするために、PLCプログラム実行部11で解析されるラダープログラムの例を示す。
【0023】
上記の例に示すように、テキストデータ出力部12は、例えば、異常検出器により異常信号が出力され、“X0001.0”がONにされると、テキストデータ出力部12は、 “A0000.0”に記憶されたテキストデータ22を読み出す。
【0024】
さらに、テキストデータ出力部12は、例えば“A0000.0”に記憶されたテキストデータ22にテキスト通信コマンド221(例えば予め設定される所定のキーワード)が含まれるか否かを判断し、テキストデータ22に例えばHTTP通信を要求するキーワードが含まれる場合には、当該テキストデータ22を通信部13に出力することで、例えば通信部13は、当該テキストデータ22に基づいて、HTTPサーバに対してHTTP通信を実行することができる。また、“A0000.0”に記憶されたテキストデータ22にテキスト通信コマンド221(例えば予め設定される所定のキーワード)が含まれていない場合、テキストデータ出力部12は、従来どおり、表示部15に対して出力することで、例えば表示部15は、当該テキストデータ22に基づいて、表示装置に対してメッセージを出力することができる。
【0025】
図2Bは、工作機械200からPLCコントローラ100の入出力ユニット110に対して異常信号が出力される異常信号出力システムの例を示す。
図2Aに示すラダープログラムは、例えば、
図2Bに示すように、工作機械200の異常信号出力が入出力ユニット110の入力ポートに接続され、工作機械200の異常信号が“ON”されると、メッセージが出力されるようなラダーをプログラムした場合の一例である。
【0026】
次に、テキストデータ22の例を示しながら、テキストデータ出力部12の処理を説明する。
【0027】
【0028】
図3Aに示すように、“A0000.0”に格納されたテキストデータ22に、テキスト通信コマンド221が含まれない場合、すなわち、テキストデータ22が通常のメッセージデータである場合には、テキストデータ判断部121が、テキストデータ22にテキスト通信コマンドが含まれないと判断し、出力切替部122が、テキストデータ22の出力先を表示部15とすることで、後述の表示装置50に通常のメッセージデータとしてのテキストデータ22を表示する。
【0029】
図3Bに示すように、“A0000.0”に格納されたテキストデータ22に、テキスト通信コマンド221(
図3Bに示す例においては、“$curl”)が含まれる場合には、テキストデータ判断部121が、テキストデータ22にテキスト通信コマンド221が含まれると判断し、出力切替部122が、テキストデータ22の出力先を通信部13とすることで、後述のネットワークサーバ40に、HTTPリクエストを送信する。
【0030】
なお、
図3Bにおいては、テキスト通信コマンド221として、“$curl”を用いる例を示したが、本発明の実施形態はこれには限定されない。例えば、
図3Cに例示するような簡略化した独自コマンドをキーワードとしてもよい。
【0031】
また、
図3B及び
図3Cに示す例においては、テキスト通信コマンド221として、HTTPリクエストを送信するコマンドを例示したが、本発明の実施形態はこれには限定されない。例えば、Eメール通信(SMTP)機能を実行してもよい。例えば、
図3Dに例示するテキストデータ22により、curlコマンド形式で、Gmail(登録商標)を送信してもよい。あるいは、
図3Eに例示するテキストデータ22により、telnetコマンド形式で、メールサーバにメールを送信してもよい。あるいは、
図3Fに例示するような簡略化した独自コマンドにより、Eメール通信機能を実行してもよい。なお、これらの場合、メールアドレス等は、予め設定ファイルの中に記載されるようにしてもよい。
【0032】
なお、
図3G及び
図3Hのテキストメッセージについては後述する。
【0033】
通信部13は、ネットワークサーバ40とテキストデータを含むプロトロル通信を行う。より詳細には、通信部13は、出力切替部122から取得したテキストデータを、ネットワーク35を介してネットワークサーバ40に送信すると共に、ネットワークサーバ40からの応答として、ネットワーク35を介して、リプライデータを受信する。さらに、通信部13は、受信したリプライデータを、後述の受信データ処理部14に出力する。
【0034】
受信データ処理部14は、通信部13から取得した受信データとしてのリプライデータを処理する。より詳細には、受信データ処理部14は、リプライデータの受信が起因するテキストデータに含まれるオプションキーワードを識別することにより、リプライデータを記憶装置20に保存するか、表示装置50に表示するかを判断する。
【0035】
受信データ処理部14の処理内容について、
図3G及び
図3Hに示すテキストメッセージを例示しながら説明する。ここで、
図3G及び
図3Hは、オプションキーワードを含むテキストデータ22の例を示す。
【0036】
図3Gに例示されるテキストデータ22は、テキスト通信コマンド221としての“$curl -X GET”の後に、オプションキーワードとして、“-o disp”という文字列を含む。この場合、受信データ処理部14は、URL“http://www.fan11105plc.com/update/notice.json”からリプライデータを取得し、記憶装置20に格納する。
【0037】
一方、
図3Hに例示されるテキストデータ22は、テキスト通信コマンド221としての“$curl -X GET”の後に、オプションキーワードとして、“-o disp”と、ファイル名を含む。この場合、受信データ処理部14は、URL“http://www.fan11105plc.com/notice.xml”からリプライデータを取得し、表示部15を介して、表示装置50にリプライデータをメッセージ出力する。
【0038】
なお、受信データ処理部14が、リプライデータを記憶装置20に保存した場合、表示部15は、記憶装置20に保存されたリプライデータを、表示装置50に表示してもよい。
以上、PLC装置10の備える、本発明に係る機能部について説明した。
【0039】
〔2 実施形態の動作〕
図4A及び
図4Bは、本実施形態に係るPLC装置10の動作を示すフローチャートである。より詳細には、
図4Aは、PLC装置10が、テキストデータ22を出力する際の動作を示すフローチャートである。ここでは、テキスト通信コマンドとしてHTTPコマンドを例示しているが、これに限られない。HTTPコマンドに換えて任意のテキスト通信コマンドに置き換えてもよい。
図4Bは、PLC装置10が、リプライデータとして、HTTPデータを受信する際の動作を示すフローチャートである。
【0040】
〔2.1 テキストデータ出力時の動作〕
図4Aを参照すると、ステップS1において、PLCプログラム実行部11がPLCプログラム21としてのラダープログラムを解析し実行しているときに、テキストデータ出力要求がある場合(S1:あり)には、処理はステップS2に移行する。テキストデータ出力要求がない場合(S1:なし)には、ステップS1に戻る。
【0041】
ステップS2において、テキストデータ出力部12が、記憶装置20からテキストデータを読み出す。
【0042】
ステップS3において、テキストデータにテキスト通信コマンド221としてHTTPリクエストキーワード(例えば、
図3Bに例示する“curl”)が含まれる場合(S3:あり)には、処理はステップS4に移行する。HTTPリクエストキーワードが含まれない場合(S3:なし)には、処理はステップS6に移行する。
【0043】
ステップS4において、テキストデータ出力部12が、通信部13に対し、HTTP送信データを出力する。
【0044】
ステップS5において、通信部13が、テキストデータ出力部12から取得したHTTP送信データを、ネットワーク35を介してネットワークサーバ40に送信する。
【0045】
ステップS6において、テキストデータ出力部12が、表示部15に対して、メッセージデータとしての表示文字列データを出力する。
【0046】
ステップS7において、表示部15が、表示装置50に対して、メッセージデータとしての表示文字列データを表示させる処理を実行する。
【0047】
〔2.2 HTTPデータ受信時の動作〕
図4Bを参照すると、ステップS11において、通信部13が、ネットワーク35を介して、ネットワークサーバ40からリプライデータを受信する処理を実行する。
【0048】
ステップS12において、テキストデータにHTTPリプライ表示指定(例えば、
図3Gに例示する“-o disp”)が含まれる場合(S12:あり)には、処理はステップS13に移行する。HTTPリプライ表示指定が含まれない場合(S12:なし)には、処理はステップS15に移行する。
【0049】
ステップS13において、受信データ処理部14は、リプライデータに含まれるメッセージデータとしての表示文字列データを表示部15に出力する。
【0050】
ステップS14において、表示部15は、メッセージデータとしての表示文字列データを表示装置50に表示する処理を実行する。
【0051】
ステップS15において、テキストデータにHTTP保存指定(例えば、
図3Hに例示する“-o 任意のファイル名”)が含まれる場合(S15:あり)には、処理はステップS16に移行する。テキストデータにHTTP保存指定が含まれない場合(S15:なし)には、処理を終了する。
【0052】
ステップS16において、受信データ処理部14は、リプライデータ23を、記憶装置20の指定された記憶領域に保存する。
以上、本実施形態に係るPLC装置10の動作を説明した。
次に、例えば、PLC装置10のテキスト通信コマンドを、クラウド上で所定のサービスが提供されているサーバと連携させることで、有用なシステムを簡易に構成することができる例を説明する。
【0053】
〔3 実施例〕
〔3.1 第1の実施例〕
まず、クラウド上で所定のサービスが提供されているサーバとして、チャットシステム70、及び課題管理システム80を例示する。
図5は、第1の実施例としての産業機械システム2の構成を示す図である。産業機械システム2は、産業機械としての工作機械60と、オンライン上に設置されるチャットシステム70と、課題管理システム80とを備える。
【0054】
工作機械60は、例えば、数値制御による加工用の機械の他、工場内で稼働するロボット等である。また、工作機械60は、PLC装置10を備える。とりわけ本実施例においては、工作機械60は、例えば消耗部品を交換する必要が発生した場合等にアラームを発報し、工作機械60がアラームを発報したことに基づいて、PLC装置10は、チャットシステム70がインストールされたオンライン上のHTTPサーバに対し、HTTPリクエストを出力する。
【0055】
チャットシステム70は、オンライン上のHTTPサーバにインストールされたチャットシステムであり、例えばSlack(登録商標)等のチャットボットであって良い。チャットシステム70は、PLC装置10からHTTPリクエストを取得すると、課題管理システム80に対し、例えば消耗部品の交換が必要である等の課題が記載された、新しいイシューを送信する。
【0056】
課題管理システム80は、工作機械60を含む複数台の産業機械に発生した課題を管理するためのシステムであり、例えばGitHub(登録商標)等のシステムであってよい。課題管理システム80は、チャットシステム70から、課題が記載された新しいイシューを受信すると、課題を解決する期日と担当者を設定することにより、この新しいイシューを登録し、設定された担当者に新しいイシューが登録されたことが通知される。工作機械60から離れた遠隔地にいる担当者は新しいイシューに基づいて状況を確認し、課題を解決する。すなわち上記の例においては、遠隔地の担当者は、新しいイシューに基づいて、消耗部品を交換する必要が発生したことを認識し、担当者本人、又は担当者から連絡を受けた工作機械60の管理者が、消耗部品を交換する。
【0057】
なお、この新しいイシューの登録は、Webページで行うことも可能であるが、外部からのHTTP POSTで作成することも可能である。
【0058】
すなわち、産業機械システム2においては、工作機械60でアラームが発生した際に、チャットシステム70を介して、課題管理システム80に新しいイシューを登録することで、工作機械60から離れた遠隔地にいる課題の担当者や、工作機械60の管理者に、アラームが発生したことをその内容と共に通知することが可能となる。
【0059】
また、産業機械システム2においては、上記のHTTPリクエストとしての送信データのフォーマットと、それを受信したチャットシステム70のプログラムとをパッケージとして提供することで、工作機械60の管理者やユーザにおけるIoT対応が可能となる。
【0060】
なお、チャットシステム70がインストールされたオンライン上のHTTPサーバは、例えば、工作機械60のメーカ内や、工作機械60が設置される工場内のサーバ(フィールドサーバ)であってよい。
【0061】
〔3.2 第2の実施例〕
次に、クラウド上で所定のサービスが提供されているサーバとして、WEBサーバ90を例示する。
図6は、第2の実施例としての産業機械システム3の構成を示す図である。産業機械システム3は、産業機械としての工作機械60と、表示装置50と、WEBサーバ90とを備える。
【0062】
工作機械60は、例えば、数値制御による加工用の機械の他、工場内で稼働するロボット等である。また、工作機械60は、PLC装置10を備える。とりわけ本実施例においては、PLC装置10が実行するラダープログラムが、WEBサーバ90からのリプライデータに基づいて定期的に、当該ラダープログラムの更新データが配信されたか確認する処理を実装する。当該処理において、PLC装置10は、更新データの配信の確認をするためのHTTPリクエストとして、テキスト通信コマンド221を含むテキストデータ22を、WEBサーバ90に送信する。
【0063】
図7Aは、PLC装置10が実行するラダープログラムを示す。例えば、工作機械60のメーカが、工作機械60の出荷後に、ラダープログラムを、改良や不具合修正のために差し替える必要が発生した際に差し替えるために、
図7Aに示すように、1日ごとにテキストデータ出力を行うプログラムを実装する。
【0064】
図7Bは、テキストデータの例を示す。
図7Bに示すテキストデータが含むテキスト通信コマンドは、上記の工作機械メーカのホームページにて、PLC1のupdate_plcというサイトにアクセスしたときの応答データを、plc_update_check.jsonという形式で保存することを指示する通信コマンドである。
【0065】
上記のように、テキストデータには自身のサービスサイトへのURLを登録しておき、更新が必要なタイミングが来た場合に、WEBサーバ90から配信されるリプライデータの内容を変更する。
【0066】
図7Cは、plc_update_check.jsonのフォーマットを示す。
【0067】
PLC装置10が実行するラダープログラムのバージョンと、plc_update_check.jsonに含まれる最新バージョン情報とを比較することにより、WEBサーバ90から更新データが配信されているかを確認することが出来るので、
図6に示すように、必要であれば表示装置50に通知メッセージを表示することが出来る。
【0068】
〔4 実施形態が奏する効果〕
(1) 本実施形態に係るPLC装置(例えば、上記の「PLC装置10」)は、PLC(Progrmmable Logic Controller)装置において、解析したラダープログラムから任意の文字列を出力するため、記憶装置(例えば、上記の「記憶装置20」)からテキストデータを読み出すテキストデータ出力部(例えば、上記の「テキストデータ出力部12」)と、所定の文字列を表示装置(例えば、上記の「表示装置50」)に出力する表示部(例えば、上記の「表示部15」)と、所定のコマンドによりネットワークサーバ(例えば、上記の「ネットワークサーバ40」)とテキスト通信を行う通信部(例えば、上記の「通信部13」)とを含み、前記テキストデータ出力部(例えば、上記の「テキストデータ出力部12」)は、さらに、前記テキストデータに含まれるキーワードに基づいて、前記テキストデータを前記表示部(例えば、上記の「表示部15」)又は前記通信部(例えば、上記の「通信部13」)のいずれに対して出力するかを判定し、判定結果に基づいて前記テキストデータの出力先を前記表示部(例えば、上記の「表示部15」)又は前記通信部(例えば、上記の「通信部13」)に出力する。
【0069】
これにより、専用ハードウェアを必要としないために導入・運用コストが低く、簡単なPLCプログラムで汎用プロトコル通信(HTTP通信)を実現することにより、リモートで状況確認をすることが可能となる。
【0070】
とりわけ、PLCプログラミングツールに、ネットワーク通信機能を実行するための専用の命令コードを追加しなくてもコマンドデータのキーワードを検出することで、テキストデータ通信(HTTP通信やEメール通信(SMTP))機能を実現することができる。
【0071】
また、高度なネットワークプロトコル技術が不要で、ユーザの学習コストが下げられる。
【0072】
さらに、汎用のプロトコルを使用するため、専用ネットワーク設備を用いずに、オープンサービス(SaaS)との連携が容易になる。
【0073】
また、テキストデータにテキスト通信コマンドが含まれる場合には、通信部(例えば、上記の「通信部13」)に任意の文字列を出力し、テキストデータにテキスト通信コマンドが含まれない場合には、表示部(例えば、上記の「表示部15」)に任意の文字列を出力することが可能となる。
【0074】
(2) (1)に記載のPLC装置(例えば、上記の「PLC装置10」)は、前記通信部(例えば、上記の「通信部13」)によって、前記ネットワークサーバ(例えば、上記の「ネットワークサーバ40」)から受信したリプライデータを、前記表示部(例えば、上記の「表示部15」)に出力する受信データ処理部(例えば、上記の「受信データ処理部14」)をさらに備えてもよい。
【0075】
これにより、ネットワークサーバ(例えば、上記の「ネットワークサーバ40」)から返ってきたリプライデータを、表示装置(例えば、上記の「表示装置50」)に表示することが可能となる。
【0076】
(3) (2)に記載のPLC装置(例えば、上記の「PLC装置10」)において、前記受信データ処理部(例えば、上記の「受信データ処理部14」)は、前記リプライデータを前記記憶装置(例えば、上記の「記憶装置20」)に保存し、前記表示部は、前記記憶装置(例えば、上記の「記憶装置20」)に保存された前記リプライデータを前記表示装置(例えば、上記の「表示装置50」)に出力してもよい。
【0077】
これにより、ネットワークサーバ(例えば、上記の「ネットワークサーバ40」)から返ってきたリプライデータを、いったん記憶装置(例えば、上記の「記憶装置20」)に保存した上で、表示装置(例えば、上記の「表示装置50」)に表示することが可能となる。
【0078】
(4) (3)に記載のPLC装置(例えば、上記の「PLC装置10」)において、前記ラダープログラムは、前記リプライデータに基づいて定期的に、前記ラダープログラムの更新データが配信されたか確認する処理を実装し、前記更新データが配信されている場合には、前記表示部(例えば、上記の「表示部15」)は、前記表示装置(例えば、上記の「表示装置50」)に更新を促すメッセージを表示させてもよい。
【0079】
これにより、PLC装置(例えば、上記の「PLC装置10」)のユーザは、PLC装置(例えば、上記の「PLC装置10」)が実行するラダープログラムの更新データが配信されているか否かを確認することが可能となる。
【0080】
(5) 本実施形態に係る産業機械システム(例えば、上記の「産業機械システム2」)は、(1)~(4)に記載のPLC装置(例えば、上記の「PLC装置10」)を備える産業機械(例えば、上記の「工作機械60」)と、HTTPサーバとを備え、前記産業機械(例えば、上記の「工作機械60」)でアラームが発生した際に、前記PLC装置(例えば、上記の「PLC装置10」)は前記HTTPサーバに対し、前記テキストデータを出力する。
【0081】
これにより、産業機械(例えば、上記の「工作機械60」)から離れた遠隔地にいる課題の担当者や、産業機械(例えば、上記の「工作機械60」)の管理者に、アラームが発生したことを通知することが可能となる。
【0082】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。
【0083】
PLC装置10による制御方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、コンピュータ(PLC装置10)にインストールされる。また、これらのプログラムは、リムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。さらに、これらのプログラムは、ダウンロードされることなくネットワークを介したWebサービスとしてユーザのコンピュータ(PLC装置10)に提供されてもよい。
【符号の説明】
【0084】
1 PLCシステム
10 PLC装置
11 PLCプログラム実行部
12 テキストデータ出力部
13 通信部
14 受信データ処理部
15 表示部
20 記憶装置
30 I/O入出力装置
35 ネットワーク
40 ネットワークサーバ
50 表示装置
121 テキストデータ判断部
122 出力切替部