S7-300、400、1200、1500シリーズのデバイス間で情報を交換するために使用されるS7接続は構成可能です。これは、誰が誰と通信しているかをデバイスに明示的に伝える必要があることを意味します。一般に、これらの接続は双方向(双方向または双方向)です。構成可能な接続の追加は両方のPLCで発生するため、両方のPLCをダウンロードする必要があります。両方のPLCが企業のプロセス制御システムの部門にあり、両方のPLCに実際のアプリケーションソフトウェアが手元にある場合、これは特に問題を引き起こしません。ただし、特殊なケースもあります。「古い」S7-300と「新しい」S7-1500の間で交換を確立する必要があり、さらに、古いプログラムのソースコードが失われています。さて、または操作は単にPLCに触れることを恐れています。または、単に操作がなく、交換を整理するタスクが「新しい」システムのインテグレーターに「ハング」します。これは前の状態につながります-誰も本当に未知のシステムのソフトウェアに触れたがりません。
このような場合、一方的な接続を構成し、アクティブにし(つまり、「当社の」PLCが接続を開始します)、PUG / GET通信プログラムブロックを追加する既存の機能(この方法は他のブロックでは機能せず、他のすべてのブロックは双方向です) )そして1つのPLCのみをダウンロードします。システムのドキュメントから、またはSCADAシステムのタグの説明から、データブロックの内容に関する情報を何らかの方法で保存したと想定します。
一方向および双方向の接続について簡単に説明すると、リンクのナレッジベースに記載されています。
Herr Bergerは、このトピックについて多くの興味深いことを書いています。
ハンス・バーガー「SIMATIC S7-1500による自動化」、761ページ
: S7- CPU, «» (active side), PUT/GET « », connection resource 03. , 03 , S7-.
«» ET200S CPU, S7-300 din-. ip- , .
ip-: 192.168.43.4
: DB1.DBD0, DB1.DBD4, DB1.DBD8
«» S7-1516, .
, . DB13. , PUT/GET «» .
Devices & networks.
Connections S7 connection
CPU Add new connection
S7-1516 , , . X1. Local ID (0x100) — , GET.
Add, Connections
ip-
Address details rack/slot , Connection resource 03. Rack — «», slot — «», «» CPU Simatic. ( «» ) 0/2.
OB1 GET .
GET , Properties ( ), . .
Req — , .
ID — , 0x100
ADDR_1 — , ANY
RD_1 — , , ANY. , .
DB1.DBD0.
ADDR_1. — ANY, Simatic. P#DB1.DBX0.0 BYTE 4
DB1 — 1
DBX0.0 — 0 ( 0 )
BYTE 4 — 4
P#DB1.DBX0.0 BYTE 4 DB1.DBD0. , , TIA Portal .
R0 "xEchangeDB".R0 ( ANY , P#DB13.DBX0.0 BYTE 4).
( Tag_1) , . , REQ , / .
Tag_1 :
, , 666. CPU S7-300 , . , 4 . , R1 R2 — .
3 ANY :
:
. , GET: NDR — , ERROR — STATUS — , . , «» , , . .
ANY, . GET ( ), PUT ( ). , PUT STATUS. .
GET . () PUT. , . R0 DB13. PUT .
次に、Tag_7変数の値を「1」に設定してデータを書き込みます。さて、正直なところ、「ブラックボックス」でこの変数の値を見てみましょう。
データの書き込みは成功しました。したがって、元のコントローラープログラムが手元になくても、そこから情報を読み取ったり、書き込んだりすることができます。データの量は限られており、CPUのタイプによって異なります。EMNIP、「300番目のシリーズ」のパッケージは160バイトに制限されています。詳細については、ドキュメントを参照してください。アプリケーションソフトウェアに変更を加える必要がないことは、300番目と400番目のシリーズでのみ有効です。数千のユニットでは、システム設定の対応するボックスをチェックして、PUT / GETメソッドを使用してCPUへのアクセスを許可する必要があります。