S7-200SMARTのネットポートを介した遠隔監視方法
Thread Content
はじめに:シーメンスS7-200 SMART PLC(以下、200-SMARTと略称)は、優れたプログラマブルコントローラであり、産業制御分野で広く利用されている。高性能かつ安定した動作を誇るコントローラです。200-SMARTにはプログラムのアップロード・ダウンロードや通信を行うためのネットポートが備わっており、今回はMODBUS-TCPプロトコルを使用して、このネットポートを介して200-SMARTをEMCP IoTクラウドプラットフォーム(略称:EMCP)に接続します。これにより、コンピュータのWebページ、スマートフォンアプリ、WeChatを通じて、200-SMART内のVW1000、VW1002、I0.0といったレジスタの遠隔監視や、VW1004、Q0.0の遠隔読み書きが可能になります。 一、準備作業。 1.1接続する前に、以下の物品を準備する必要があります; 1) シーメンスS7-200SMART PLC1台、および通信用ネットワークケーブル。2) 河北藍蜂科技製のGM20 DTUモジュール1台、アンテナ、および電源アダプター(WM20 DTUと使用方法は同じ)。3) 4G SIMカード1枚、データ容量あり、大容量タイプ、どの通信事業者でも可。4) ネット接続可能なコンピューター1台(Windows XP/Win7/Win8オペレーティングシステム)。5) 電気工具、通信ケーブルなど。 1.2 DTUの準備作業 ここでは「GM20-DTUユーザーマニュアル」を参照して操作を行います。DTUゲートウェイ(以下、すべてGM20-DTUゲートウェイとして説明します)にアンテナを接続し、SIMカードを挿入し、12Vまたは24Vの電源アダプターを接続する必要があります。 1.3 PLCの準備作業。 200 SMARTは220Vの交流電源に接続し、まずコンピュータを使ってネットワークケーブルでPLCのイーサネット通信ポートに接続してプログラムを設定し、その後ネットワークケーブルでGM20のLANポートとPLCのイーサネットポートを接続してMODBUS-TCP通信を行います。 二、PLCのMODBUS-TCP通信の作成。 第一歩、PLCのMODBUS-TCPサーバーを作成する; シーメンスの「STEP 7-MicroWIN SMART V2.2」プログラミングソフトウェアを使用し、PLCプログラムにMB_Server命令ライブラリを追加します。このMB_Server命令ライブラリには、MBS_ConnectとMBS_Slaveという2つの命令が含まれています。下図の通りです。(下図は正常に通信できる命令ブロックの設定例です)MBS_Connect命令の各パラメータの定義は以下の通りです:l EN:有効化:各スキャンサイクルで必ず有効にしておく必要があります。 l Connect:TCP接続の確立処理を開始します。 l Disconnect:TCP接続を切断する操作。 l ConnID: TCP接続識別子。 注意:Modbus TCPはTCP通信に属し、オープンなユーザー間通信の一種でもあるため、ConnIDパラメータは他のTCP、ISO-on-TCP、UDP通信と同じにすることはできません。 l IPaddr1~IPaddr4:Modbus TCPクライアントのIPアドレスで、IPaddr1はIPアドレスの最上位有効ビット、IPaddr4はIPアドレスの最下位有効ビットです。0.0.0.0に設定することを推奨します。そうすれば、どのクライアントからもアクセスできます。 l LocPort:ローカルデバイスのポート番号(必ず502に設定する必要があります)。l MaxHold:Modbusアドレス4xxxxまたは4yyyyyでアクセス可能なVメモリ内のワード保持レジスタの数を設定するための値です。この数値は、読み取る必要のあるすべてのデータの長さ以上に設定する必要があります。例えば、V領域の100文字分のデータを監視する場合、この数値は100以上に設定しなければなりません。 l HoldStart:間接アドレスポインタで、CPU内のVメモリにあるホールドレジスタの開始アドレスを指す。この例では、VW1000はModbusアドレス40001に相当します。(つまり、VW1000は40001に対応し、VW1002は40002に対応する)。(その他のレジスタ、例えばIレジスタ群は機能コード02を、Qレジスタ群は機能コード01を使用して直接アクセスでき、AIレジスタは機能コード04を使用して直接アクセスできる)。 l ConnectDone:Modbus TCP接続が正常に確立されました。 l バスイー:接続処理が実行中です。 l エラー:接続の確立または切断時にエラーが発生しました。 l ステータス:命令が「Error」に設定されると、Status出力にエラーコードが表示されます。 MBS_Slave命令の各パラメータの定義は以下の通りです: l EN:有効化:各スキャンサイクルで必ず有効にしておく必要があります。 l Done:MB_Server命令がModbusリクエストに応答したとき、現在のスキャンサイクルでDone完了ビットが1に設定されます ; リクエストが処理されなかった場合、Done完了ビットは0になります。l Error:エラーコードで、Doneビットが1の場合にのみ有効です。 第二段階として、ライブラリアドレス領域を割り当てます。プログラミングソフトウェアの右側にある【プログラムブロック】機能でマウスの右ボタンをクリックし、【ライブラリ記憶領域】機能を呼び出します。その際、【推奨アドレス】を使用し、ライブラリ記憶領域がプログラム内のデータ保存領域と重ならないようにします。そして【確定】をクリックすることで、MODBUS-TCPサーバーの設定が完了します。下図の通り:第三段階として、修正済みのプログラムをPLCにダウンロードします。ダウンロードする際は、PLCのIPアドレスを必ず記録しておいてください。 本稿の事例では、PLCのIPアドレスは192.168.2.2です。 三、EMCPプラットフォームの設定。 管理者アカウントでEMCPプラットフォームwww.lfemcp.comにログインし(IE9以降のブラウザまたはGoogle Chromeの使用を推奨)、EMCPクラウドプラットフォームの設定を行います。具体的な操作については、「EMCP IoTクラウドプラットフォームユーザーマニュアル」をご参照ください。EMCPにログインすると、まずデバイス一覧の表示ページに移動します。デバイスはまだ作成していないため、ページは空の状態です。右上隅の「バックエンド管理」ボタンをクリックしてください(この権限は管理アカウントのみが持っています)。そうするとEMCPプラットフォームのバックエンドにアクセスできます。 3.1 DTUの遠隔設定 「バックエンド管理—>モジュール管理」ページを開き、DTUをこの管理者アカウントにバインドすると、「遠隔設定」機能を使ってDTUの各種通信パラメータや機能パラメータを設定できます。設定が必要な主な場所は2つあります。1つ目はPLCとの通信ポートのパラメータで、2つ目はPLCのデータを定期的に取得するためのDTUのMODBUSチャネルパラメータの設定です。以下、この機能についてステップバイステップで説明します。注:モジュールはオンラインになっている場合のみ、遠隔で設定できます。 3.1.1 モジュールのバインド モジュールの初期バインドパスワードは111111で、そのままバインドをクリックすればよいです。 3.1.2 モジュールの遠隔設定 【モジュール管理】で対応するDTUの【遠隔管理】機能を使用し、DTUの各通信パラメータを設定します;モジュールの遠隔設定では、まず【読み取り】を行い、その後【書き込み】を行うのが望ましい。書き込みが成功した場合にのみ、そのパラメータがDTUに正しく設定されたと判断できる。書き込みを実行した後も、読み取り操作によって以前の操作が成功したかどうかを確認できる。第一段階として、ステータス情報ページに入り、DTUのステータスを確認します。下図の通りです。第二段階として、「通信設定」を行い、DTUの通信ポートをLANポート通信に設定します。PLCのIPアドレスが192.168.2.2であるため、DTUの通信用IPも同じサブネット内のIPに設定する必要があり、ここでは192.168.2.254に設定します。次に、Modbus-TCP Serverのパラメータ設定リストに、200 SMARTのスレーブ番号、IPアドレス、および通信ポート番号(MODBUS-TPC規格ではポート番号502)を追加します。1データ通信ポート:PLCとの通信ポートタイプに設定し、RS485、RS232、またはLANポートから選択できます。ここではMODBUS-TCP通信のためにLANポートを使用します; 本機IP:DTUがMODBUS-TCP通信のクライアントとして使用するIPアドレスで、このIPは通信用ローカルネットワークのサブネット範囲内にあり、かつサブネット内の他のデバイスのIPと重複してはなりません。200 SMARTに直接接続する場合は、200 SMARTと同じサブネット範囲に設定すればよいです。本ケースでは192.168.2.254に設定しました; Modbus-TCPServer パラメータ:スレーブ番号:PLCのスレーブ番号で、通信に参加する他のPLCと重複しなければよく、本ケースでは1に設定されています; IPアドレス:PLCがMODBUS-TCPサーバーとして使用するIPアドレスで、本ケースでは192.168.2.2です; ポート番号:PLC通信ポートで、MODBUS-TPCプロトコルの標準ポートは502です。本ケースでも502ポートを使用しています; 第三段階として、【Modbus設定】を行い、DTUが定期的にPLCのデータを読み取ってプラットフォームへ送信する各種パラメータを設定します。下図の通り:リアルタイムデータカスタム収集リストのパラメータ説明:デバイスのスレーブ番号:DTUが接続されているPLCのスレーブ番号で、【通信設定】にあるPLCのスレーブ番号と一致します。このケースは1; 機能コード:モジュールがデバイスのMODBUSレジスタ領域を読み取るためのフラグです。“機能コード01は「コイル」(0XXXX)に対応し、「機能コード02」は「ディスクリート入力」(1XXXX)に対応し、「機能コード03」は「保持レジスタ」(4XXXX)に対応し、「機能コード04」は「入力レジスタ」(3XXXX)に対応します。シーメンスPLCにおいて、Qポイントは機能コード01に対応し、Iポイントは機能コード02に対応します。MBS_ConnectのHoldSt`が指す領域は機能コード03に対応し(上記のPLCプログラムではVW1000からVW1198を指しています)、AIエリアは機能コード04に対応します。 開始アドレス:モジュールが接続されているデバイスのMODBUSレジスタから読み取る開始アドレス(レジスタ領域識別子は含まない)。図中の最初のMODBUS命令アドレス1は00001を、2番目のMODBUS命令アドレス1は10001を、3番目のMODBUS命令アドレス1は40001を表します。 データ長さ:DTUがデバイスデータを連続して読み取る長さで、図中の長さは8と10であり、00001から00008、10001から10008、そして40001から40010までを連続して読み取ることを意味します。 標準DTUは複数のスレーブ(最大4台)に接続でき、「新規作成」をクリックしてMODBUS命令チャネルを作成し、設定ルールは上記の説明に従います。 前述のPLCスレーブの設定に合わせて、ここではPLCのQ0.0からQ0.7、I0.0からI0.7、およびVW1000からVW1018をリアルタイムで監視しています。 注:DTUに異常が発生し、ネットワークに接続できない、またはPLCと正常に通信できない場合は、設定ポート(デフォルトはRS232)を使ってPCに接続し、「DTU設定ソフトウェア」を用いて状態や異常アラームを確認できます。詳細は「DTU設定ソフトウェア使用マニュアル」をご覧ください。 3.2 新規データルールの作成
ウェブページの左側にある【データルール】をクリックしてルール設定ページに移動し、右上隅の【新規追加】をクリックします。表示されるウィンドウで、そのデータルールの名前を「S7-200SMART」とし、表示形式を【リスト表示】に設定します。リスト表示と構成表示のいずれかを選択でき、リスト表示では追加したデータが一定のリスト形式で表示されます。リスト表示はシンプルで使いやすく、データテスト段階ではリスト表示を利用することができます。 コンフィグレーション表示:デバイスデータの表示形式を自由に設計でき、図形、画像、ダッシュボード、棒グラフ、テキストなどを追加することが可能です(この機能は従来のコンフィグレーションソフトウェアに類似しており、「EMCPプラットフォームの画面コンフィグレーション使用説明」ドキュメントを参照してください)。 データルールを新規作成した後、「リアルタイムデータ」をクリックして、リアルタイムデータの解析ルールを追加します(3.1.2で設定したModbus設定)。次に、「読み書きデータ」をクリックし、プラットフォームがデバイスに対して手動で行う読み書き操作のためのデータルールを作成します。ルールの作成は以下の通りです。 注:リアルタイムデータ:これは、DTUが設定されたModbus収集チャネル(上記の3.1を参照)に基づき、設定された収集間隔でスレーブデータを定期的に読み取り、プラットフォームに表示する内容です; データの読み書き:DTUでModbusの定時収集チャネルを設定する必要はなく、プラットフォームを通じて直接下位機器に対してデータの手動読み書き操作が可能です; EMCPプラットフォームにおけるすべての「レジスタアドレス」設定には、レジスタエリア識別子は必要ありません。例えば、「保持レジスタ」(機能コード03)内の40019のデータを読み書きする場合、プラットフォームのデータ規則にある「レジスタアドレス」に19を入力すればよいです(注:デバイスのModbusアドレスのカウントが0から始まる場合は、1を足して20と入力する必要があります)。アラーム設定では、作成したリアルタイムデータ内で【アラーム】オプションをクリックし、アラーム設定ページに進みます。このデータのアラームの上限・下限、アラーム内容、およびこのアラームを有効にするかどうかを設定できます。アラームを設定すると、そのデータがアラームの上限・下限を超えた際に、プラットフォームは自動的にアラームが発生した時間と値を記録します。同時に、プラットフォームはユーザーがログインしているAPPやWeChatにアラームメッセージを送信します。 3.3 新規機器の追加 バックエンド管理で、【機器管理】→【新規追加】を選択し、「S7-200SMART」という機器を新規作成します。新規機器の登録では、まず機器の基本情報を入力します。1つ目は、機器に合った画像を選択することです(ローカルからアップロードしてもよく、選ばなくてもシステムはデフォルトの画像を表示します)。2つ目は、モジュールのSNを入力し、紐付けたいSNのコードを入力します。このSNが以前に紐付けられていない場合は、紐付け用のウィンドウが表示されて紐付けを行います。3つ目は、先ほど作成したデータルールを選択します。4つ目は、「地図」ボタンをクリックして、機器がある地理的位置を選択します。完了したら【保存】をクリックしてください。 四、実験効果。 PLCプログラミングソフトウェアを起動し、PLCをオンライン状態にし、監視画面から現在のPLCのデータを監視します。以下の図の通りです。ユーザーはEMCPプラットフォーム(www.lfemcp.com)にログインし、「S7-200 SMART」デバイスの画像またはデバイス名をクリックしてデバイスにアクセスします。まず表示されるのは、PLCが定期的に収集するデータの表示(リアルタイムデータ)です。「データの読み書き」をクリックすることでPLCに対して読み書き操作を行い、「履歴データ」をクリックすると、装置が定期的に保存したデータの履歴報告書を確認できます。「アラーム記録」をクリックすると、アラーム情報の記録ページが表示されます。 スマートフォンに「雲連物通」アプリをインストールします(コンピュータのウェブページのログイン画面右上にあるQRコードをスキャンしてダウンロードするか、各アプリストアからダウンロード可能)。ユーザー名とパスワードでログインし、デバイス一覧に進んだら「S7-200 SMART」デバイスをクリックします。そうすると、リアルタイムデータ一覧画面または設定画面が表示されます(設定表示モードの場合)。右上のメニューバーにある【三本線のボタン】をクリックすると機能メニューが表示されるので、その中から【データの読み書き】をクリックしてデータの読み書き操作を行います。【履歴レポート】をクリックすると、デバイスの過去の保存データのレポートを確認できます。【履歴グラフ】をクリックすると、各データの過去の推移をグラフで確認できます。【アラーム情報】をクリックすると、そのデバイスのアラーム記録を確認できます。 五、補助機能の紹介 5.1 画面構成機能。 【バックエンド設定】→【データルール】→【設定】→【コンフィグレーション表示】という手順を経て、対応するデータルールを表示するためのコンフィグレーション表示形式を選択します。コンフィグレーション表示に切り替えると、ルールの画面コンフィグレーションオプションが利用可能になり、「画面コンフィグレーション」項目をクリックすると編集ページに移動します。コンフィグレーション編集ページを通じて、画像、テキスト、数値表示枠、ボタン、インジケーターライト、パイプ、機器など、空間内に自由に描画することができます。詳細な機能については、「EMCPプラットフォーム画面コンフィグレーション使用説明」http://www.lanfengkeji.com/h-col-135.htmlをご覧ください。 5.2 微信の機能。 微信で「EMCP物联网云平台」の公式アカウントをフォローし、案内に従ってプラットフォームアカウントを連携させれば、微信を使って機器を監視したり、警報情報を受信したりできます。機器の管理を容易にするため、「EMCP IoTクラウドプラットフォーム」の公式アカウントを「トップに固定」することをお勧めします。 5.3 データルールにおいて、通信アラームと一般ユーザーの権限付与機能を有効にする。 通信アラーム機能とは、DTUとPLCの通信に異常が生じた際に、対応する機器でアラームが発報されるもので、通信異常の原因に応じてアラーム内容に注記が加えられ、調整を容易にします。設定と効果は以下の通りです:5.4 装置公開機能。 デバイス管理において、デバイスの属性を公開に設定することができます。公開すると、そのデバイスに対応するURLリンクとQRコードが生成され、このリンクやQRコードを使えばログインせずにデバイスを開くことが可能です。また、デバイスをソーシャルネットワーク上で共有することもできます。 5.5 通常アカウントおよびデバイス認証の追加。 管理者アカウントでデバイスを作成した後、「一般アカウント」オプションを使って、ユーザーが所属するデバイスにアクセスできるよう、別のアカウントを作成することができます。この機能は、主にユーザー専用のアカウントを作成し、ユーザーが自分が所属するデバイスを確認できるようにするものです。 5.6 ビデオ監視機能。 EMCPプラットフォームによりフッ化カルシウムクラウドカメラを接続でき、これによってWeb、APP、WeChatなどの端末から現場の映像監視機能を利用できるようになります。詳細は「EMCP IoTクラウドプラットフォームビデオ利用説明書V3.6」をご覧ください