JP2009104283A - Modbusでデータを送受処理する方式およびプログラマブルコントローラ等の制御機器 - Google Patents
Modbusでデータを送受処理する方式およびプログラマブルコントローラ等の制御機器 Download PDFInfo
- Publication number
- JP2009104283A JP2009104283A JP2007273512A JP2007273512A JP2009104283A JP 2009104283 A JP2009104283 A JP 2009104283A JP 2007273512 A JP2007273512 A JP 2007273512A JP 2007273512 A JP2007273512 A JP 2007273512A JP 2009104283 A JP2009104283 A JP 2009104283A
- Authority
- JP
- Japan
- Prior art keywords
- address
- data
- modbus
- memory
- plc
- 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
Links
Images
Landscapes
- Programmable Controllers (AREA)
Abstract
【課題】外部デバイスとの間でデータ送受に用いるMODBUSプロトコルで扱われるMODBUSアドレスを任意にプログラマブルコントローラ側で割り付けることができるようにする。
【解決手段】本PLC1は、データのMODBUSアドレスとそのデータを格納するメモリエリアのアドレスとを関連付けしたアドレス関連付けテーブル23を備える。PLC1は、MODBUSアドレスを持つデータを受信する時はそのデータをアドレス関連付けテーブルで割り付けたアドレスを持つメモリエリアに格納する。メモリエリアに格納しているデータを送信する時はメモリエリアのアドレスをアドレス関連付けテーブルを参照してMODBUSアドレスに変換して送信する。
【選択図】図2
【解決手段】本PLC1は、データのMODBUSアドレスとそのデータを格納するメモリエリアのアドレスとを関連付けしたアドレス関連付けテーブル23を備える。PLC1は、MODBUSアドレスを持つデータを受信する時はそのデータをアドレス関連付けテーブルで割り付けたアドレスを持つメモリエリアに格納する。メモリエリアに格納しているデータを送信する時はメモリエリアのアドレスをアドレス関連付けテーブルを参照してMODBUSアドレスに変換して送信する。
【選択図】図2
Description
本発明は、例えばプログラマブルコントローラ(以下、PLCと称する)が、外部デバイスとの間で、MODBUSでデータを送受信処理する方式に関するものである。
PLCと外部デバイスとで制御システムを構築した場合、PLCは、CPUと、システム制御プログラム(ファームウエア)や、ラダープログラム等のプログラムメモリや、入出力メモリ、内部リレーメモリ、データメモリ、等の内部メモリが、内部バスで相互接続され、CPUは、ラダープログラムをシステム制御プログラムに従い実行することで、外部デバイスである入出力機器を介して、被制御機器を制御する。この制御に際して、CPUは、内部メモリに格納されている各種データを参照しながらラダープログラムを実行する。このようなPLCでは、外部デバイスと通信線で接続して通信する場合、外部デバイスの通信仕様に合う通信プロトコルが必要である。このための通信プロトコルを内部で作成するようにしたPLCも提供されている(特許文献1参照)。
ところで、通信プロトコルの1つにMODBUSが知られている。このMODBUSは、Modicon.IncがPLC用に開発した通信プロトコルである。MODBUSの通信方式は、シングルマスタ−/マルチスレーブ方式であり、マスターのみが要求を発行することができ、スレーブはその要求に応答して応答メッセージを返送する。マスターからの要求は、デバイスアドレス、ファンクションコード、要求データ、エラーチェックであり、スレーブからの応答は、確認用デバイスアドレス、確認用ファンクションコード、応答データ、エラーチェックである。このMODBUS通信で、データの参照、変更を行う場合、データアドレスを用いる。このデータのタイプには、詳細な説明は略するが、コイル(Coil)タイプと、入力ステータス(Input Status)タイプと、入力レジスタ(Input Register)タイプと、保持レジスタ(Holding Register)タイプの4種類がある。そしてPLCではこのMODBUS通信をするための専用の通信ポートを備えたものが提供されている。
このようなMODBUSで、従来、外部デバイスからのデータのMODBUSアドレスは内部メモリ内のアドレスに固定的に割り付けられている。そのため、PLCでは外部デバイスとの間でデータ授受のためラダープログラムを作成する場合、そのMODBUSアドレスを考慮して内部メモリ内のアドレスを割り付けてプログラムを作成する必要があり、そのプログラム作成の自在性に欠けていた。
特開2002−189505号公報
本発明は、外部的には外部デバイスとMODBUS通信することができる一方で、内部的にはMODBUSデータを意識する必要なく自在にプログラミングすることができるようにしたものである。
本発明によるMODBUSでデータを送受信処理する方式は、上記データが持つMODBUSアドレスと内部メモリアドレスとを関連付けしたアドレス関連付けテーブルを持ち、データ受信時はアドレス関連付けテーブルを参照してデータのMODBUSアドレスをそれに対応する内部メモリアドレスのメモリエリアに格納処理し、上記メモリエリア内のデータ送信時はアドレス関連付けテーブルを参照してメモリエリアの内部メモリアドレスをMODBUSアドレスに変換したうえでそのデータをそのMODBUSアドレスのデータとして送信処理することを特徴とするものである。
本発明では、例えば外部デバイスとPLCとの間でMODBUS通信する場合、PLC側では、外部との間ではMODBUSアドレスを用いたデータ通信を行う一方、データ受信に際しては、内部的にはMODBUSアドレスが内部で任意に定めたメモリアドレスに変換されてそのメモリアドレス対応のメモリエリアにデータが格納され、また、データ送信に際しては、送信するデータをその格納したメモリエリアから内部メモリアドレスで読み出し、外部へはアドレス関連付けテーブルでメモリアドレスがMODBUSアドレスに変換されて送信されるので、内部的には外部との通信のためのプログラム作成の自在性が大きく向上する。
本発明によれば、PLC等の制御機器側では、PLC等の機器動作制御のためのプログラムを外部デバイスとのデータ送受のためのMODBUSアドレスを意識せずに作成し、そのプログラム作成後に、MODBUSアドレスと内部メモリアドレスとの関連付けを行うことができるので、当該機器動作制御プログラムの作成上の自在性を大きく向上することができるようになる。
以下、添付した図面を参照して、本発明の実施の形態に係るMODBUSでデータを送受処理する方式を説明する。
図1はPLC1の内部ブロック構成を示す。
図1を参照して、PLC1は、ラダープログラムを実行するCPU3、システム制御プログラム(ファームウエア)を格納するROM等からなるシステム制御メモリ5、ラダープログラムやアプリケーションプログラム等を格納するRAM等からなるプログラムメモリ7、制御に使用する変数等のデータを記憶する内部メモリ9、入出力インターフェース11、通信インターフェース13を有し、これらは内部バス15で相互に接続されている。
入出力インターフェース11にはセンサやアクチュエータ等の各種入出力機器、機械や装置等の各種の被制御機器等の外部デバイス17が接続される。通信インターフェース13には、MODBUSで通信する外部デバイス19が接続される。
PLC1の内部メモリ9は、各種RAMから、例えば、入出力メモリ、内部リレーメモリ、データメモリ等を構成している。
図2は、外部デバイス17,19との間でMODBUSプロトコルでデータの送受を行う場合において、そのデータを内部メモリ9に格納したり読み出したりするためのPLC1の内部機能ブロック構成を示す。
この内部機能ブロックを構成するソフトウエア(アプリケーションプログラム)は、プログラムメモリ7にインストールされている。
プログラムメモリ7にインストールされているソフトウエアは、外部デバイス17,19との間でMODBUSデータを送受するためのデータ送受ソフトウエア、MODBUSアドレスと内部メモリ9内のメモリアドレスとを関連付けするアドレス関連付けソフトウエア、内部メモリ9のメモリエリアにデータを格納したり該メモリエリアからデータを読み出したりするためのデータ格納読み出しソフトウエア等である。
図2に示す機能ブロックにおいて、21は、外部デバイス17,19からMODBUSで送信されてくるデータを受信するデータ受信ブロックである(データ送受ソフトウエアに対応する)。
23は、データ受信ブロック21で受信したデータのMODBUSアドレスとそのデータを格納する内部メモリ9内のメモリアドレスとを関連付けしたアドレス関連付けテーブルである(アドレス関連付けソフトウエアに対応する)。
25は、データ受信ブロック21で受信したデータのMODBUSアドレスをアドレス関連付けテーブル23を参照して内部メモリ9内のメモリアドレスに変換すると共に、その変換したメモリアドレスに対応するメモリエリアにデータを格納する受信側アドレス変換ブロックである(データ格納読み出しソフトウエアに対応する)。
27は、内部メモリ9の各メモリエリアからデータを読み出すと共に、読み出したデータのメモリアドレスをアドレス関連付けテーブル23を参照してMODBUSアドレスに変換する送信側アドレス変換ブロックである(データ格納読み出しソフトウエアに対応する)。
29は、送信側アドレス変換ブロック27で読み出されMODBUSアドレスにアドレス変換されたデータをMODBUSデータとして送信するデータ送信ブロックである(データ送受ソフトウエアに対応する)。
そして、CPU3は、上記プログラムメモリ7にダウンロードされたソフトウエアに従い、データ受信ブロック21、受信側アドレス変換ブロック25、送信側アドレス変換ブロック27、データ送信ブロック29の実行機能を有して、MODBUSデータの送受処理を実行する。
図3は、アドレス関連付けテーブル23の一例を示す。このアドレス関連付けテーブル23は説明の理解の一例にすぎず、MODBUSアドレスと内部メモリアドレスとの関連付けはユーザが任意に決定することができることは勿論である。
アドレス関連付け情報1は、MODBUSアドレス0001と、内部メモリアドレスS16−004と、割付サイズ1とを関連付けする情報である。
アドレス関連付け情報2は、MODBUSアドレス0002と、内部メモリアドレスS16−010と、割付サイズ2とを関連付けする情報である。
アドレス関連付け情報3は、MODBUSアドレス0003と、内部メモリアドレスS16−013と、割付サイズ3とを関連付けする情報である。
アドレス関連付け情報4は、MODBUSアドレス0004と、内部メモリアドレスS16−007と、割付サイズ4とを関連付けする情報である。
アドレス関連付け情報5は、MODBUSアドレス0005と、内部メモリアドレスS16−001と、割付サイズ5とを関連付けする情報である。
本例では、割付サイズ1〜5の割付サイズ値は、いずれも1となる。図4を参照して、MODBUSアドレス0001を持つデータ1がデータ受信ブロック21で受信されると、そのデータ1は受信側アドレス変換ブロック25に送られる。
受信側アドレス変換ブロック25においては、アドレス関連付けテーブル23のアドレス関連付け情報1を参照して、MODBUSアドレス0001は内部メモリアドレスS16−004に割付サイズ1で関連付けして割付られていると判断し、内部メモリ9のアドレスS16−004にデータ1を格納する。
同様に、MODBUSアドレス0002を持つデータ2がデータ受信ブロック21で受信されると、受信側アドレス変換ブロック25は、アドレス関連付けテーブル23のアドレス関連付け情報2から、MODBUSアドレス0002は内部メモリアドレスS16−010に割付サイズ2で割付られていると判断し、内部メモリ9のアドレスS16−010にデータ2を格納する。…(中略)…、MODBUSアドレス0005を持つデータ5がデータ受信ブロック21で受信されると、受信側アドレス変換ブロック25は、アドレス関連付けテーブル23のアドレス関連付け情報5から、MODBUSアドレス0005は内部メモリアドレスS16−001に割付サイズ5で割付られていると判断し、内部メモリ9のアドレスS16−001にデータ5を格納する。
図5は、以上の格納実行により、データ1〜5それぞれのMODBUSアドレスが内部メモリ9のアドレスS16−001〜S16−005に割り付けられ、割り付けられたアドレスS16−001〜S16−005に各データ1〜5がそれぞれ格納されている状態を示す。
次に、PLC1は、内部メモリアドレスS16−004に格納しているデータ1の読み出し要求があると、図6で示すように、送信側アドレス変換ブロック27は内部メモリアドレスS16−004からデータ1を読み出すと共に、アドレス関連付けテーブル23を参照して、このデータ1のメモリアドレスをMODBUSアドレス0001に変換する。
そして、データ送信ブロック29は送信側アドレス変換ブロック27でアドレス変換されたデータ1をMODBUSアドレス0001のデータであるとして外部デバイスに送信する。
以下同様に、内部メモリアドレスS16−010、S16−013,S16−007,S16001のデータ2,3,4,5を読み出し、MODBUSアドレス0002,0003,0004,0005のデータとして送信する。
図7を参照して、外部デバイス19a,19b,19cそれぞれからMODBUSアドレス0001〜0003、0011〜0013、0021〜0023のデータ1〜3、データ4〜6、データ7〜9がPLC1に送信されてきた場合を説明する。
まず、PLC1はアドレス関連付けテーブル23を参照して、外部デバイス19aのデータ1〜3を、矢印実線で示すように、内部メモリ9のメモリアドレスS16−001,S16−101,S16−201にそれぞれ格納し、外部デバイス19bのデータ4〜6を、矢印破線で示すように、内部メモリ9のメモリアドレスS16−002,S16−102,S16−202にそれぞれ格納し、外部デバイス19cのデータ7〜9を、矢印一点鎖線で示すように、内部メモリ9のメモリアドレスS16−003,S16−103,S16−203にそれぞれ格納する。
また、内部メモリアドレスS16−001〜003,S16−101〜103、S16−201〜203それぞれに格納してあるデータ1〜3、データ4〜6、データ7〜9を読み出す場合も、アドレス関連付けテーブル23を参照して読み出して送信する。
以上説明したように本実施の形態では、PLC1にMODBUSデータが持つMODBUSアドレスと内部メモリアドレスとを関連付けしたアドレス関連付けテーブル23を設け、MODBUSで外部デバイス17,19からデータを受信する時は、アドレス関連付けテーブル23を参照してデータのMODBUSアドレスをそれに対応する内部メモリ9のメモリアドレスに変換する。そして、上記各データを、その変換したメモリアドレスのメモリエリアに格納処理する。
また、メモリエリア内のデータを外部デバイス17,19にMODBUSで送信する時はアドレス関連付けテーブル23を参照してメモリエリアの内部メモリアドレスをMODBUSアドレスに変換したうえでそのデータをそのMODBUSアドレスのデータとして送信処理するようにしたものである。
その結果、本実施の形態では、外部デバイス17,19とPLC1との間でMODBUS通信する場合、PLC1側では、外部デバイス17,19との間ではMODBUSアドレスを用いたデータ通信を行うことができる一方、内部的にはMODBUSアドレスを特に意識せずにそのデータを処理することができる。これにより、本実施の形態では、機器内部制御のためのプログラムの作成上での自在性が大きく向上する。
1 PLC(プログラマブルコントローラ)
3 CPU
5 システム制御メモリ
7 プログラムメモリ
9 内部メモリ
11 入出力インターフェース
13 通信インターフェース
17,19 外部デバイス
21 データ受信ブロック
23 アドレス関連付けテーブル
25 受信側アドレス変換ブロック
27 送信側アドレス変換ブロック
29 データ送信ブロック
3 CPU
5 システム制御メモリ
7 プログラムメモリ
9 内部メモリ
11 入出力インターフェース
13 通信インターフェース
17,19 外部デバイス
21 データ受信ブロック
23 アドレス関連付けテーブル
25 受信側アドレス変換ブロック
27 送信側アドレス変換ブロック
29 データ送信ブロック
Claims (2)
- MODBUSでデータを送受処理する方式であって、当該方式は、上記データが持つMODBUSアドレスと内部メモリアドレスとを関連付けしたアドレス関連付けテーブルを持ち、データ受信時はアドレス関連付けテーブルを参照してデータのMODBUSアドレスをそれに対応する内部メモリアドレスのメモリエリアに格納処理し、上記メモリエリア内のデータ送信時はアドレス関連付けテーブルを参照してメモリエリアの内部メモリアドレスをMODBUSアドレスに変換したうえでそのデータをそのMODBUSアドレスのデータとして送信処理する、MODBUSデータ処理方式。
- 請求項1に記載の方式を備えた、プログラマブルコントローラ等の制御機器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007273512A JP2009104283A (ja) | 2007-10-22 | 2007-10-22 | Modbusでデータを送受処理する方式およびプログラマブルコントローラ等の制御機器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007273512A JP2009104283A (ja) | 2007-10-22 | 2007-10-22 | Modbusでデータを送受処理する方式およびプログラマブルコントローラ等の制御機器 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009104283A true JP2009104283A (ja) | 2009-05-14 |
Family
ID=40705909
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007273512A Pending JP2009104283A (ja) | 2007-10-22 | 2007-10-22 | Modbusでデータを送受処理する方式およびプログラマブルコントローラ等の制御機器 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009104283A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017142767A (ja) * | 2016-02-09 | 2017-08-17 | 富士電機株式会社 | コントローラシステム、変数連携支援装置 |
DE102018010085A1 (de) | 2017-12-26 | 2019-06-27 | Fanuc Corporation | Steuerung |
CN111330745A (zh) * | 2020-04-02 | 2020-06-26 | 蚌埠市朗辰化工设备有限公司 | 一种全自动离心机现场无人操作系统 |
CN113515563A (zh) * | 2021-03-31 | 2021-10-19 | 浙江大华技术股份有限公司 | 一种数据对接方法、数据库、系统及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61190603A (ja) * | 1985-02-19 | 1986-08-25 | Hitachi Ltd | マルチプログラマブルコントロ−ル装置 |
JPH08123719A (ja) * | 1994-10-26 | 1996-05-17 | Oki Electric Ind Co Ltd | 情報処理装置 |
JP2002528980A (ja) * | 1998-10-06 | 2002-09-03 | シュナイダー オートメイション インコーポレイテッド | イーサネット(登録商標)上でのメッセージ・アプリケーション層(modbus)からトランスポート層(tcp)への通信方法並びに装置 |
WO2007012014A2 (en) * | 2005-07-19 | 2007-01-25 | Rosemount Inc. | Interface module with power over ethernet function |
-
2007
- 2007-10-22 JP JP2007273512A patent/JP2009104283A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61190603A (ja) * | 1985-02-19 | 1986-08-25 | Hitachi Ltd | マルチプログラマブルコントロ−ル装置 |
JPH08123719A (ja) * | 1994-10-26 | 1996-05-17 | Oki Electric Ind Co Ltd | 情報処理装置 |
JP2002528980A (ja) * | 1998-10-06 | 2002-09-03 | シュナイダー オートメイション インコーポレイテッド | イーサネット(登録商標)上でのメッセージ・アプリケーション層(modbus)からトランスポート層(tcp)への通信方法並びに装置 |
WO2007012014A2 (en) * | 2005-07-19 | 2007-01-25 | Rosemount Inc. | Interface module with power over ethernet function |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017142767A (ja) * | 2016-02-09 | 2017-08-17 | 富士電機株式会社 | コントローラシステム、変数連携支援装置 |
DE102018010085A1 (de) | 2017-12-26 | 2019-06-27 | Fanuc Corporation | Steuerung |
US10904208B2 (en) | 2017-12-26 | 2021-01-26 | Fanuc Corporation | Controller for changing a conversion destination of a virtual area |
CN111330745A (zh) * | 2020-04-02 | 2020-06-26 | 蚌埠市朗辰化工设备有限公司 | 一种全自动离心机现场无人操作系统 |
CN113515563A (zh) * | 2021-03-31 | 2021-10-19 | 浙江大华技术股份有限公司 | 一种数据对接方法、数据库、系统及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6627571B2 (ja) | プログラマブルコントローラ、プログラマブルコントローラの制御方法、プログラマブルコントローラの制御プログラム | |
US10365624B2 (en) | Slave device, method for controlling slave device, and non-transitory computer-readable recording medium | |
JP2010272971A (ja) | 制御システム及び制御プログラム書換方法 | |
JPWO2020039844A1 (ja) | 車載通信装置及び車載システム | |
JP2009104283A (ja) | Modbusでデータを送受処理する方式およびプログラマブルコントローラ等の制御機器 | |
US20050132037A1 (en) | Programmable controller and communication interface therefor | |
JP5792866B2 (ja) | プロフィバスdpのマスタ装置 | |
JP4849340B2 (ja) | プログラマブルコントローラ及びユニット | |
JP6460137B2 (ja) | 制御装置、制御方法、およびプログラム | |
JP5476956B2 (ja) | 通信システム及び通信方法 | |
JP5477647B2 (ja) | Modbus制御システム | |
KR101332726B1 (ko) | 상위 제어기필드버스 데이터 변환기 | |
CN107222379A (zh) | 一种串口通信的方法和装置 | |
CN110278716B (zh) | Plc、网络单元、cpu单元、以及数据传送方法 | |
KR20190062214A (ko) | 통신 제어 장치 | |
JP6570462B2 (ja) | 通信プロトコル変換装置 | |
JP7335124B2 (ja) | データ変換装置 | |
JP5217971B2 (ja) | データ通信システム | |
JP6409520B2 (ja) | 制御システム、および中継装置 | |
JP7277206B2 (ja) | 通信制御装置および方法 | |
JP2019117482A (ja) | データ等価方法、プログラマブルコントローラ及び二重化システム | |
KR100917542B1 (ko) | 슬레이브 기기의 통신 프로토콜 설정방법 | |
JP6645054B2 (ja) | 制御システム、制御装置およびネットワーク装置 | |
JP4286610B2 (ja) | プラント監視制御システム | |
JP2006005646A (ja) | ネットワーク通信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20101015 |
|
A977 | Report on retrieval |
Effective date: 20111118 Free format text: JAPANESE INTERMEDIATE CODE: A971007 |
|
A131 | Notification of reasons for refusal |
Effective date: 20111122 Free format text: JAPANESE INTERMEDIATE CODE: A131 |
|
A02 | Decision of refusal |
Effective date: 20120327 Free format text: JAPANESE INTERMEDIATE CODE: A02 |