(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023019658
(43)【公開日】2023-02-09
(54)【発明の名称】スレーブ装置、通信システム、スレーブ装置の制御方法及びプログラム
(51)【国際特許分類】
G05B 19/05 20060101AFI20230202BHJP
【FI】
G05B19/05 Z
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2021124571
(22)【出願日】2021-07-29
(71)【出願人】
【識別番号】500112146
【氏名又は名称】サイレックス・テクノロジー株式会社
(74)【代理人】
【識別番号】100109210
【弁理士】
【氏名又は名称】新居 広守
(72)【発明者】
【氏名】縣 俊成
【テーマコード(参考)】
5H220
【Fターム(参考)】
5H220AA04
5H220BB05
5H220CC07
5H220CX01
5H220JJ12
5H220JJ26
5H220JJ59
(57)【要約】
【課題】マスタ装置とスレーブ装置との間でデータのやり取りを適切に行うことができるスレーブ装置を提供する。
【解決手段】スレーブ装置4は、マスタ・スレーブ方式の通信プロトコルに従って、マスタ装置8及び機械6の各々と通信する。スレーブ装置4は、機械6に関するデータを機械6から取得する取得部16と、マスタ装置8とスレーブ装置4との間で共通に設定される所定のデータ格納方法に基づいて、取得部16により取得されたデータを記憶部20に格納する制御部18と、マスタ装置8からの要求に応じて、記憶部20に格納されたデータをマスタ装置8に送信する通信部22とを備える。
【選択図】
図2
【特許請求の範囲】
【請求項1】
マスタ・スレーブ方式の通信プロトコルに従って、マスタ装置及び機械の各々と通信するスレーブ装置であって、
前記機械に関する第1のデータを前記機械から取得する取得部と、
前記マスタ装置と前記スレーブ装置との間で共通に設定される所定のデータ格納方法に基づいて、前記取得部により取得された前記第1のデータを記憶部に格納する制御部と、
前記マスタ装置からの要求に応じて、前記記憶部に格納された前記第1のデータを前記マスタ装置に送信する通信部と、を備える
スレーブ装置。
【請求項2】
前記マスタ装置及び前記スレーブ装置のうち前記スレーブ装置のみが前記所定のデータ格納方法を示す第2のデータを予め取得している場合、前記通信部は、前記第1のデータの送信前に、前記第2のデータを前記マスタ装置に送信する
請求項1に記載のスレーブ装置。
【請求項3】
前記マスタ装置及び前記スレーブ装置のうち前記マスタ装置のみが前記所定のデータ格納方法を示す第2のデータを予め取得している場合、前記通信部は、前記制御部が前記第1のデータを前記記憶部に格納する前に、前記第2のデータを前記マスタ装置から受信する
請求項1に記載のスレーブ装置。
【請求項4】
前記所定のデータ格納方法は、前記第1のデータの、(i)小数点の位置、(ii)最大文字数、及び、(iii)エンディアンの種類のうち少なくとも1つを含む
請求項1~3のいずれか1項に記載のスレーブ装置。
【請求項5】
前記通信プロトコルは、Modbus(登録商標) TCPである
請求項1~4のいずれか1項に記載のスレーブ装置。
【請求項6】
マスタ装置と、機械と、マスタ・スレーブ方式の通信プロトコルに従って前記マスタ装置及び前記機械の各々と通信するスレーブ装置と、を備える通信システムであって、
前記スレーブ装置は、
前記機械に関するデータを前記機械から取得する取得部と、
前記マスタ装置と前記スレーブ装置との間で共通に設定される所定のデータ格納方法に基づいて、前記取得部により取得された前記データを第1の記憶部に格納する第1の制御部と、
前記マスタ装置からの要求に応じて、前記第1の記憶部に格納された前記データを前記マスタ装置に送信する第1の通信部と、を有し、
前記マスタ装置は、
前記スレーブ装置からの前記データを受信する第2の通信部と、
前記所定のデータ格納方法に基づいて、前記第2の通信部により受信された前記データを第2の記憶部に保持する第2の制御部と、を有する
通信システム。
【請求項7】
マスタ・スレーブ方式の通信プロトコルに従って、マスタ装置及び機械の各々と通信するスレーブ装置の制御方法であって、
(a)前記機械に関するデータを前記機械から取得するステップと、
(b)前記マスタ装置と前記スレーブ装置との間で共通に設定される所定のデータ格納方法に基づいて、前記(a)で取得された前記データを記憶部に格納するステップと、
(c)前記マスタ装置からの要求に応じて、前記記憶部に格納された前記データを前記マスタ装置に送信するステップと、を含む
スレーブ装置の制御方法。
【請求項8】
請求項7に記載のスレーブ装置の制御方法をコンピュータに実行させる
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、スレーブ装置、通信システム、スレーブ装置の制御方法及びプログラムに関する。
【背景技術】
【0002】
Modbus(登録商標) TCPは、Modicon社がプログラマブルロジックコントローラ(PLC)向けに策定したシリアル通信プロトコルを、TCP/IP上で用いるためのマスタ・スレーブ方式の通信プロトコルである。
【0003】
特許文献1には、この種の通信プロトコルに従って、マスタ装置とスレーブ装置との間でデータのやり取りを行う技術が開示されている。具体的には、特許文献1では、マスタ装置は、スレーブ装置にリクエスト信号を送信し、スレーブ装置は、マスタ装置からのリクエスト信号に対するレスポンスとして、スレーブ装置の記憶部に格納されているデータをマスタ装置に送信する。これにより、マスタ装置は、スレーブ装置からのデータを、マスタ装置の記憶部に保持する。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上述した通信プロトコルでは、マスタ装置とスレーブ装置との間でデータの格納方法が互いに異なる場合には、データのやり取りを適切に行うことができないという課題が生じる。
【0006】
本発明は、このような課題に鑑みてなされたものであり、その目的は、マスタ装置とスレーブ装置との間でデータのやり取りを適切に行うことができるスレーブ装置、通信システム、スレーブ装置の制御方法及びプログラムを提供することである。
【課題を解決するための手段】
【0007】
上記目的を達成するために、本発明の一態様に係るスレーブ装置は、マスタ・スレーブ方式の通信プロトコルに従って、マスタ装置及び機械の各々と通信するスレーブ装置であって、前記機械に関する第1のデータを前記機械から取得する取得部と、前記マスタ装置と前記スレーブ装置との間で共通に設定される所定のデータ格納方法に基づいて、前記取得部により取得された前記第1のデータを記憶部に格納する制御部と、前記マスタ装置からの要求に応じて、前記記憶部に格納された前記第1のデータを前記マスタ装置に送信する通信部と、を備える。
【0008】
本態様によれば、制御部は、マスタ装置とスレーブ装置との間で共通に設定される所定のデータ格納方法に基づいて、取得部により取得された第1のデータを記憶部に格納する。これにより、マスタ装置とスレーブ装置との間で所定のデータ格納方法が共有されるので、マスタ装置とスレーブ装置との間で第1のデータのやり取りを適切に行うことができる。
【0009】
例えば、前記マスタ装置及び前記スレーブ装置のうち前記スレーブ装置のみが前記所定のデータ格納方法を示す第2のデータを予め取得している場合、前記通信部は、前記第1のデータの送信前に、前記第2のデータを前記マスタ装置に送信するように構成してもよい。
【0010】
本態様によれば、マスタ装置及びスレーブ装置のうちスレーブ装置のみが第2のデータを予め取得している場合であっても、スレーブ装置がマスタ装置に第2のデータを送信することにより、マスタ装置とスレーブ装置との間で所定のデータ格納方法を共有することができる。
【0011】
例えば、前記マスタ装置及び前記スレーブ装置のうち前記マスタ装置のみが前記所定のデータ格納方法を示す第2のデータを予め取得している場合、前記通信部は、前記制御部が前記第1のデータを前記記憶部に格納する前に、前記第2のデータを前記マスタ装置から受信するように構成してもよい。
【0012】
本態様によれば、マスタ装置及びスレーブ装置のうちマスタ装置のみが第2のデータを予め取得している場合であっても、マスタ装置がスレーブ装置に第2のデータを送信することにより、マスタ装置とスレーブ装置との間で所定のデータ格納方法を共有することができる。
【0013】
例えば、前記所定のデータ格納方法は、前記第1のデータの、(i)小数点の位置、(ii)最大文字数、及び、(iii)エンディアンの種類のうち少なくとも1つを含むように構成してもよい。
【0014】
本態様によれば、第1のデータが小数又は文字等である場合に、マスタ装置とスレーブ装置との間で第1のデータのやり取りを適切に行うことができる。
【0015】
例えば、前記通信プロトコルは、Modbus(登録商標) TCPであるように構成してもよい。
【0016】
本態様によれば、マスタ・スレーブ方式の通信プロトコルとして、Modbus TCPを適用することができる。
【0017】
また、本発明の一態様に係る通信システムは、マスタ装置と、機械と、マスタ・スレーブ方式の通信プロトコルに従って前記マスタ装置及び前記機械の各々と通信するスレーブ装置と、を備える通信システムであって、前記スレーブ装置は、前記機械に関するデータを前記機械から取得する取得部と、前記マスタ装置と前記スレーブ装置との間で共通に設定される所定のデータ格納方法に基づいて、前記取得部により取得された前記データを第1の記憶部に格納する第1の制御部と、前記マスタ装置からの要求に応じて、前記第1の記憶部に格納された前記データを前記マスタ装置に送信する第1の通信部と、を有し、前記マスタ装置は、前記スレーブ装置からの前記データを受信する第2の通信部と、前記所定のデータ格納方法に基づいて、前記第2の通信部により受信された前記データを第2の記憶部に保持する第2の制御部と、を有する。
【0018】
本態様によれば、第1の制御部は、マスタ装置とスレーブ装置との間で共通に設定される所定のデータ格納方法に基づいて、取得部により取得されたデータを第1の記憶部に格納する。これにより、マスタ装置とスレーブ装置との間で所定のデータ格納方法が共有されるので、マスタ装置とスレーブ装置との間でデータのやり取りを適切に行うことができる。
【0019】
また、本発明の一態様に係るスレーブ装置の制御方法は、マスタ・スレーブ方式の通信プロトコルに従って、マスタ装置及び機械の各々と通信するスレーブ装置の制御方法であって、(a)前記機械に関するデータを前記機械から取得するステップと、(b)前記マスタ装置と前記スレーブ装置との間で共通に設定される所定のデータ格納方法に基づいて、前記(a)で取得された前記データを記憶部に格納するステップと、(c)前記マスタ装置からの要求に応じて、前記記憶部に格納された前記データを前記マスタ装置に送信するステップと、を含む。
【0020】
本態様によれば、マスタ装置とスレーブ装置との間で共通に設定される所定のデータ格納方法に基づいて、取得されたデータを記憶部に格納する。これにより、マスタ装置とスレーブ装置との間で所定のデータ格納方法が共有されるので、マスタ装置とスレーブ装置との間でデータのやり取りを適切に行うことができる。
【0021】
また、本発明の一態様に係るプログラムは、上述したスレーブ装置の制御方法をコンピュータに実行させる。
【発明の効果】
【0022】
本発明の一態様に係るスレーブ装置等によれば、マスタ装置とスレーブ装置との間でデータのやり取りを適切に行うことができる。
【図面の簡単な説明】
【0023】
【
図1】実施の形態に係る通信システムの概要を示すブロック図である。
【
図2】実施の形態に係るスレーブ装置の機能構成を示すブロック図である。
【
図3】実施の形態に係るスレーブ装置の記憶部に格納される機械データの一例を示す図である。
【
図4】実施の形態に係るマスタ装置の機能構成を示すブロック図である。
【
図5】実施の形態に係るスレーブ装置の動作の流れを示すフローチャートである。
【
図6】実施の形態に係るマスタ装置の動作の流れを示すフローチャートである。
【
図7】実施の形態の変形例に係るスレーブ装置の動作の流れを示すフローチャートである。
【発明を実施するための形態】
【0024】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、以下で説明する実施の形態は、いずれも包括的又は具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序等は、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【0025】
(実施の形態)
[1.通信システムの概要]
まず、
図1を参照しながら、実施の形態に係る通信システム2の概要について説明する。
図1は、実施の形態に係る通信システム2の概要を示すブロック図である。
【0026】
図1に示すように、通信システム2は、スレーブ装置4と、機械6と、マスタ装置8とを備えている。本実施の形態では、通信システム2は、例えば工場内に構築された通信システムである。
【0027】
なお、本実施の形態では、通信システム2は1つの機械6を備えているが、これに限定されず、複数の機械6を備えていてもよい。また、本実施の形態では、通信システム2は1つのマスタ装置8を備えているが、これに限定されず、複数のマスタ装置8を備えていてもよい。
【0028】
スレーブ装置4と機械6とは、通信線10を介して接続されている。通信線10は、例えばEthernet(登録商標)、IP(Internet Protocol)、又は、RS-232C(シリアル通信)等の通信プロトコルで通信可能な通信線である。通信線10で実現される通信は、有線通信であってもよいし、無線通信であってもよい。具体的には、通信線10は、例えば有線LAN(Local Area Network)で構成された有線ネットワーク、IEEE802.11規格に準拠した無線ネットワーク、又は、ローカル接続するための有線ケーブル等で構築されている。
【0029】
スレーブ装置4とマスタ装置8とは、ネットワーク12を介して接続されている。ネットワーク12で実現される通信は、有線通信であってもよいし、無線通信であってもよい。具体的には、ネットワーク12は、例えば有線LANで構築された有線ネットワーク、又は、IEEE802.11規格に準拠した無線ネットワークで構築されている。
【0030】
スレーブ装置4は、マスタ・スレーブ方式の通信プロトコルに従って、機械6及びマスタ装置8の各々と通信するためのサーバ装置である。より具体的には、スレーブ装置4は、マスタ・スレーブ方式の通信プロトコルに従って、機械6とマスタ装置8との間で、各種データを中継する中継装置である。マスタ・スレーブ方式の通信プロトコルは、例えばModbus TCPである。
【0031】
機械6は、例えばワークに対して所定の加工を施すための旋盤、ボール盤、フライス盤、レーザ加工機又は溶接機等の各種工作機械である。なお、機械6は、工作機械に限定されず、例えば産業ロボット又は測定機械等の各種産業機械であってもよい。
【0032】
機械6は、当該機械6の状態を検出するためのセンサ(図示せず)を有している。センサは、例えば、機械6の温度を検出する温度センサ、及び、機械6の部品の損傷を検出するカメラセンサ等を含む。機械6は、センサの検出結果に基づいて、機械6に関するデータ(以下、「機械データ」という)(第1のデータの一例)を、通信線10を介してスレーブ装置4に送信する。なお、機械データは、センサの検出結果に基づくデータに限定されず、例えば機械6の各部品等を識別するための文字及び/又は数字等を示すデータであってもよい。
【0033】
マスタ装置8は、上述したマスタ・スレーブ方式の通信プロトコルに従って、スレーブ装置4と通信するためのクライアント装置であり、例えばユーザ14により操作されるパーソナルコンピュータ等の各種端末装置である。マスタ装置8は、ネットワーク12を介して、スレーブ装置4からの機械データを取得し、取得した機械データをユーザ14に提示する。なお、マスタ装置8は、ユーザ14に限定されることなく、例えば通信システム2の管理者等により操作されてもよい。より具体的には、通信システム2の管理者が、例えば工場の外から外部ネットワークを利用して、工場内のマスタ装置8を遠隔操作してもよい。
【0034】
[2.スレーブ装置の機能構成]
図2及び
図3を参照しながら、実施の形態に係るスレーブ装置4の機能構成について説明する。
図2は、実施の形態に係るスレーブ装置4の機能構成を示すブロック図である。
図3は、実施の形態に係るスレーブ装置4の記憶部20に格納される機械データの一例を示す図である。
【0035】
図2に示すように、スレーブ装置4は、取得部16と、制御部18(第1の制御部の一例)と、記憶部20(第1の記憶部の一例)と、通信部22(第1の通信部の一例)とを備えている。
【0036】
取得部16は、通信線10(
図1参照)を介して、機械6からの機械データを例えば所定の周期で取得する。取得部16は、取得した機械データを制御部18に出力する。なお、所定の周期は、例えば、通信システム2の管理者等が設定ツール(図示せず)等を用いることにより、適宜設定される。
【0037】
制御部18は、マスタ装置8とスレーブ装置4との間で共通に設定された所定のデータ格納方法に基づいて、取得部16により取得された機械データを記憶部20に格納(記憶)する。ここで、所定のデータ格納方法は、取得部16により取得された機械データの、(i)小数点の位置、(ii)最大文字数、及び、(iii)エンディアンの種類(ビッグエンディアン又はリトルエンディアン)のうち少なくとも1つを含む。
【0038】
記憶部20は、各種データを記憶するためのメモリである。具体的には、記憶部20には、制御部18により例えば
図3に示すような機械データが格納される。
図3に示す例では、記憶部20には、アドレス(例えば、Modbusアドレス)と機械データとが対応付けられて格納されている。例えば、アドレス「40001」に対して、文字からなる機械データ「ab」が格納されている。また、アドレス「40002」に対して、文字からなる機械データ「c」が格納されている。また、アドレス「40003」に対して、16進数の整数からなる機械データ「0x1000」が格納されている。また、アドレス「40004」に対して、10進数の小数からなる機械データ「123.456」が格納されている。
【0039】
また、記憶部20には、上記所定のデータ格納方法を示すデータ(以下、「格納方法データ」という)(第2のデータの一例)が予め格納されている。なお、例えば通信システム2の管理者等が、所定のウェブサイト上で設定する、又は、CSVファイルをインポートすることにより、記憶部20に格納方法データが格納される。
【0040】
通信部22は、ネットワーク12(
図1参照)を介して、マスタ装置8との間で各種データを送受信する。具体的には、通信部22は、マスタ装置8からのリクエスト信号を受信する。また、通信部22は、受信したリクエスト信号に対するレスポンスとして、記憶部20に格納されている機械データをマスタ装置8に送信する。また、通信部22は、記憶部20に格納されている格納方法データをマスタ装置8に送信する。
【0041】
[3.マスタ装置の機能構成]
図4を参照しながら、実施の形態に係るマスタ装置8の機能構成について説明する。
図4は、実施の形態に係るマスタ装置8の機能構成を示すブロック図である。
【0042】
図4に示すように、マスタ装置8は、通信部24(第2の通信部の一例)と、制御部26(第2の制御部の一例)と、記憶部28(第2の記憶部の一例)とを備えている。
【0043】
通信部24は、ネットワーク12(
図1参照)を介して、スレーブ装置4との間で各種データを送受信する。具体的には、通信部24は、スレーブ装置4に対して機械データの送信を要求するためのリクエスト信号を、スレーブ装置4に送信する。また、通信部24は、当該リクエスト信号に応じてスレーブ装置4から送信されてきた機械データを受信する。また、通信部24は、スレーブ装置4からの格納方法データを受信する。
【0044】
制御部26は、マスタ装置8とスレーブ装置4との間で共通に設定された上記所定のデータ格納方法に基づいて、通信部24により受信された機械データを記憶部28に保持(記憶)する。また、制御部26は、通信部24により受信された格納方法データを記憶部28に保持する。
【0045】
記憶部28は、各種データを記憶するためのメモリである。具体的には、記憶部28には、制御部26により機械データ及び格納方法データが保持される。
【0046】
[4.通信システムの動作]
[4-1.スレーブ装置の動作]
次に、
図5を参照しながら、スレーブ装置4の動作について説明する。
図5は、実施の形態に係るスレーブ装置4の動作の流れを示すフローチャートである。
【0047】
以下、マスタ装置8及びスレーブ装置4のうちスレーブ装置4のみが、格納方法データを予め取得している場合について説明する。
【0048】
図5に示すように、取得部16は、通信線10を介して、機械6からの機械データを取得する(S101)。制御部18は、以下のようにして、マスタ装置8とスレーブ装置4との間で共通に設定された上記所定のデータ格納方法に基づいて、取得部16により取得された機械データを記憶部20に格納する。
【0049】
まず、制御部18は、記憶部20に格納されているデータ格納方法に基づいて、機械データが小数であるか否かを判定する(S102)。機械データが小数でない場合には(S102でNO)、後述するステップS104に進む。一方、機械データが小数である場合には(S102でYES)、制御部18は、当該機械データの小数点の位置を調整する(S103)。例えば、機械データが「123.456」という小数である場合には、制御部18は、当該機械データを、小数点を除いた「123456」という整数を示すデータと、小数点の位置を示すデータとに分けることにより、当該機械データの小数点の位置を調整する。なお、この小数点の位置は、記憶部20に格納されている格納方法データにより示される小数点の位置と同じであり、例えば「最も下位の数字から3番目の位置」である。
【0050】
ステップS103の後、又は、ステップS102でNOの場合、制御部18は、記憶部20に格納されているデータ格納方法に基づいて、機械データが文字であるか否かを判定する(S104)。機械データが文字でない場合には(S104でNO)、後述するステップS107に進む。一方、機械データが文字である場合には(S104でYES)、制御部18は、記憶部20に格納されている格納方法データに基づいて、機械データの文字数が最大文字数を超えているか否かを判定する(S105)。最大文字数は、記憶部20に格納されている格納方法データにより示される最大文字数であり、例えば「3」である。
【0051】
機械データの文字数が最大文字数を超えていない場合には(S105でNO)、後述するステップS107に進む。一方、機械データの文字数が最大文字数を超えている場合には(S105でYES)、制御部18は、当該機械データの文字数を調整する(S106)。例えば、最大文字数が「3」であり、且つ、取得部16により取得された機械データが「abcde」という文字数「5」の文字である場合には、制御部18は、当該機械データを「abc」という文字数「3」の文字に調整することにより、当該機械データの文字数を調整する。
【0052】
ステップS106の後、又は、ステップS104,S105でNOの場合、制御部18は、記憶部20に格納されている格納方法データにより示されるエンディアンの種類を判定する(S107)。
【0053】
エンディアンの種類がビッグエンディアンである場合には(S107で「ビッグエンディアン」)、制御部18は、機械データをビッグエンディアンとして記憶部20に格納する(S108)。例えば、機械データが「abc」という文字であり、且つ、エンディアンの種類がビッグエンディアンである場合には、制御部18は、機械データを「abc」として記憶部20に格納する。
【0054】
一方、エンディアンの種類がリトルエンディアンである場合には(S107で「リトルエンディアン」)、制御部18は、機械データをリトルエンディアンとして記憶部20に格納する(S109)。例えば、機械データが「abc」という文字であり、且つ、エンディアンの種類がリトルエンディアンである場合には、制御部18は、機械データを「cba」として記憶部20に格納する。
【0055】
[4-2.マスタ装置の動作]
次に、
図6を参照しながら、マスタ装置8の動作について説明する。
図6は、実施の形態に係るマスタ装置8の動作の流れを示すフローチャートである。
【0056】
以下、マスタ装置8及びスレーブ装置4のうちスレーブ装置4のみが、格納方法データを予め取得している場合について説明する。スレーブ装置4の通信部22は、機械データをマスタ装置8に送信する前に、格納方法データをマスタ装置8に予め送信する。
【0057】
通信部24は、スレーブ装置4からの格納方法データを受信し(S201)、制御部26は、受信された格納方法データを記憶部28に保持する。これにより、マスタ装置8とスレーブ装置4との間で、所定のデータ格納方法を示す格納方法データが共有される。
【0058】
通信部24は、スレーブ装置4に対して機械データの送信を要求するためのリクエスト信号を、スレーブ装置4に送信する(S202)。そして、通信部24は、当該リクエスト信号に応じてスレーブ装置4から送信されてきた機械データを受信する(S203)。
【0059】
制御部26は、記憶部28に保持されている格納方法データにより示されるエンディアンの種類に応じて、マスタ装置8において予め設定されているエンディアンを変換する(S204)。例えば、格納方法データにより示されるエンディアンの種類がビッグエンディアンであり、且つ、マスタ装置8において予め設定されているエンディアンの種類がリトルエンディアンである場合には、制御部26は、マスタ装置8において予め設定されているリトルエンディアンをビッグエンディアンに変換する。
【0060】
制御部26は、機械データが文字であるか否かを判定する(S205)。機械データが文字である場合には(S205でYES)、制御部26は、機械データを記憶部28に保持する(S207)。一方、機械データが文字でない場合には(S205でNO)、制御部26は、機械データに小数点の位置が含まれているか否かを判定する(S206)。
【0061】
機械データに小数点の位置が含まれていない場合には(S206でNO)、制御部26は、機械データを記憶部28に保持する(S207)。一方、機械データに小数点の位置が含まれている場合には(S206でYES)、制御部26は、機械データを、小数点を除いた整数として記憶部28に保持する(S208)。この時、制御部26は、記憶部28に保持されている格納方法データに基づいて、小数点の位置を確認することができる。
【0062】
以上のようにして、マスタ装置8では、スレーブ装置4との間で共有される格納方法データに基づいて、記憶部28に保持されている機械データを解析することができる。
【0063】
[5.効果]
従来の通信システムでは、マスタ装置とスレーブ装置との間でデータの格納方法が互いに異なるため、データのやり取りを適切に行うことができないという課題が生じる。例えば、スレーブ装置が機械データとして「abc」という文字を記憶部に格納した場合、マスタ装置では、スレーブ装置との間でエンディアンの種類が共有されていないため、スレーブ装置からの機械データを「cba」として記憶部に保持してしまうおそれが生じる。
【0064】
これに対して、本実施の形態では、マスタ装置8とスレーブ装置4との間で、予め所定のデータ格納方法を示す格納方法データが共有される。これにより、例えばスレーブ装置4が機械データとして「abc」という文字を記憶部20に格納した場合、マスタ装置8では、スレーブ装置4との間でエンディアンの種類が共有されているので、スレーブ装置4からの機械データを「abc」として記憶部28に適切に保持することができる。その結果、マスタ装置8とスレーブ装置4との間で機械データのやり取りを適切に行うことができる。
【0065】
[6.変形例]
次に、
図7を参照しながら、実施の形態の変形例に係るスレーブ装置4の動作について説明する。
図7は、実施の形態の変形例に係るスレーブ装置4の動作の流れを示すフローチャートである。なお、
図7のフローチャートにおいて、
図5のフローチャートのステップと同一のステップには同一のステップ番号を付して、その説明を省略する。
【0066】
本変形例では、マスタ装置8及びスレーブ装置4のうちマスタ装置8のみが、格納方法データを予め取得しているものとする。通信部22が、マスタ装置8からの格納方法データを受信した場合には(S301でYES)、制御部18は、受信された格納方法データを記憶部20に格納する。なお、通信部22が、マスタ装置8からの格納方法データを受信しない場合には(S301でNO)、ステップS301に戻る。
【0067】
ステップS301の後、上述した
図5に示すフローチャートと同様に、ステップS101~S109が実行される。
【0068】
したがって、本変形例では、マスタ装置8及びスレーブ装置4のうちマスタ装置8のみが格納方法データを予め取得している場合であっても、マスタ装置8がスレーブ装置4に格納方法データを送信することにより、マスタ装置8とスレーブ装置4との間で格納方法データを共有することができる。この場合、スレーブ装置4の通信部22は、機械データを記憶部20に格納する前に、格納方法データをマスタ装置8から受信する。
【0069】
本変形例では、例えば、通信システム2に新たにスレーブ装置4を追加(導入)する場合には、スレーブ装置4はマスタ装置8から格納方法データを取得することができるため、管理者は新たに追加するスレーブ装置4に格納方法データを記憶させる必要がなく、管理者の利便性が向上する。
【0070】
(他の変形例等)
以上、本発明のスレーブ装置について、上記実施の形態に基づいて説明したが、本発明は、上記実施の形態に限定されるものではない。上記実施の形態に対して当業者が思い付く変形を施して得られる形態、及び、上記実施の形態における構成要素を任意に組み合わせて実現される別の形態も本発明に含まれる。
【0071】
上記実施の形態では、マスタ・スレーブ方式の通信プロトコルをModbus TCPとしたが、これに限定されず、他の任意のマスタ・スレーブ方式の通信プロトコルとしてもよい。
【0072】
上記実施の形態では、所定のデータ格納方法が、機械データの、(i)小数点の位置、(ii)最大文字数、及び、(iii)エンディアンの種類のうち少なくとも1つを含むとしたが、これに限定されず、他の任意のデータ格納方法を含むとしてもよい。
【0073】
なお、上記実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPU又はプロセッサ等のプログラム実行部が、ハードディスク又は半導体メモリ等の記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
【産業上の利用可能性】
【0074】
本発明は、例えばマスタ・スレーブ方式の通信プロトコルに従って、機械及びマスタ装置の各々と通信するスレーブ装置等に適用することができる。
【符号の説明】
【0075】
2 通信システム
4 スレーブ装置
6 機械
8 マスタ装置
10 通信線
12 ネットワーク
14 ユーザ
16 取得部
18,26 制御部
20,28 記憶部
22,24 通信部