こちらはIndusol社のネットワーク機器記事の第2話を展開していきます。PROmesh P10+がProfinetデバイスとして稼働でき、今回はS7-1500と一緒にProfinetネットワークを構築し、ネットワークの診断機能を紹介します。
さ、FAを楽しもう。
Reference Link
Implementation
Indusol Side
それではまずIndusol側から構築します。
System Informaton
System InformatonにはPROmesh P10+のProfinet Station Nameが記載されています。
Download GSDML
PROmesh P10+のGSDL FileをDownloadするため、Profinet>Addition information>DownloadでPROmesh P10+のGSDML FileをDownloadしましょう。
Siemens Side
次はSiemens側を構築します。
New Project
TIAを起動し、Start>Create new project>プロジェクト名を入力し、Createで新規プロジェクトを作成しましょう。
Project viewをクリックします。
こちらはTIAをのプロジェクト作成画面になります。
Add PLC
Project>Add new devieで新しいシーメンスのPLCを追加しましょう。
現在使用しているCPUの型式がわからない場合、Unspecified CPU 1500を設定しましょう。
Done!次は”Detect”でネットワークにあるS71500 CPUを検索しましょう。
Start Searchをクリックし、ネットワークにあるデバイスを検索します。
そして適切なCPUを選びましょう。
Connectで進みます。
Security Setting
TIA V18からCPUに関するセキュリティ設定を事前に設定する必要があります。今回は実際の運用ではありませんので、すべてのセキュリティ設定を無効にします。
Protects the PLC configuration data from the TIA..のCheckboxを外し、Next>>で進みます。
Only allow secure.. のCheckboxを外し、Next>>で進みます。
PasswordなしのFull accessに設定し、Next>>で進みます。
最後にもう一度確認し、Finishで設定を保存します。
Result
Done!S71516F-3が追加されました。
Install GSDML
Options>Manage general Station description files(GSD)をクリックします。
GSDMLの管理画面が表示され、…ボタンをクリックします。
先ほどHPからDownloadしたGSDML Fileをインストールしましょう。
Done!
Configure Network
次はProfinet ネットワークを構築し、Promesh P10+をプロジェクトに追加します。
Done!IndusolのPromesh P10+が追加されました。
IP
Profinet デバイスのIPアドレスを変更します。
各デバイスのIPアドレスはアプリケーションに合わせて設定していきましょう。
Assign Profinet
次はIndusolのPromesh P10+とS71500と同じネットワークに設置するため、No assigned>Profinetネットワークを選択します。
Done!
Assign Name
今度はPromesh P10+のデバイス名を割り付けるため、Promesh P10+>右クリック>Assign Device nameをクリックします。
Update listでネットワーク内にあるProfinetデバイスを検索します。
Done!Promesh P10+を選択し、Assign nameでDevice名を割り付けましょう。
Done!
Slots
Promesh P10+には診断用のSlotがDefaulrで全部追加されました。
Define DUT
Indusol社のPromesh P10+の通信データを構造体としてまとめます。
dut_Array57Bytes
こちらはIndusol社のPromesh P10+の57 Bytes配列の入力データです。
dut_Indsol
こちらはIndusol社のPromesh P10+ ネットワークスイッチの57Bytes配列をでDecodeします。
Define Tags
Indusol社のPromesh P10+ ネットワークスイッチの入力データTagを定義します。
DB_InduSolData
プロジェクトにData Blockを先程定義したdut_Indsolを宣言します。
Program
次は簡単なPLCプログラムを作成します。
FB_InduSol_PROmeshP10Plus_QValityValuePort
こちらはIndusol社のPromesh P10+ ネットワークスイッチの入力データ(0-7Bytes)各PortのQuality Value値です。
FB_InduSol_PROmeshP10Plus_NetloadPort
こちらはIndusol社のPromesh P10+ ネットワークスイッチの入力データ(8-17Bytes)各PortのNetload値です。
FB_InduSol_PROmeshP10Plus_ErrorsOfPort
こちらはIndusol社のPromesh P10+ ネットワークスイッチの入力データ(28-37Bytes)各PortのError Port値です。
FB_InduSol_PROmeshP10Plus_DiscardPort
こちらはIndusol社のPromesh P10+ ネットワークスイッチの入力データ(18-27Bytes)各PortのPort Discard 状態です。
FB_InduSol_PROmeshP10Plus_DiagnosticPort
こちらはIndusol社のPromesh P10+ ネットワークスイッチの入力データ(47-56Bytes)各PortのPort Diagnostic 状態です。
FB_InduSol_PROmeshP10Plus
最後は先程定義したFBを呼び出します。
こちらはIndusol社のPromesh P10+ ネットワークスイッチのLeakage CurretのRMS/Peak値になります。
こちらはIndusol社のPromesh P10+ ネットワークスイッチの電源供給値になります。
こちらはIndusol社のPromesh P10+ ネットワークスイッチの温度値です。
OB1
最後はFB_InduSol_PROmeshP10Plus FBを呼び出します。
Download
プロジェクトをCPUにDownloadしましょう。
Result
Done!CPUとPromesh P10+がProfinetで接続できました。
Promesh P10+のWebn ServerからSystem InformatonのMenuにアクセスすると、PROFINETのStatusが”Offline”から”Online”に変わりました。
Implementation2
Profinetデバイスは1つだけでは検証にはなりませんので、ET200SPも追加します。
Indusol Side
Configure the Time
Promesh P10+ ネットワークスイッチの時間設定を行います。System Configuration>Time Settings>Manual Tabを開きます。
下記の赤枠で時間設定を行います。
PCの時間と同期しますので、時間設定MenuからTODAYをクリックします。
NOWをクリックしPCの時間を取得します。
次はTime Zoneを設定します。
最後はApplyをクリックし設定を適用します。
Done!
Siemens Side
次はTIA プロジェクトにET200SPを追加します。
Configure ET200SP
Profinet内にET200SPを追加し、S71516-Fと接続するようにします。
Define Tags
ET200SPの出力モジュールのTagを定義します。
Program
最後は簡単な検証プログラムを作成します。
OB1
ET200SPに出力を1つずつシフトし出力します。
Result
Done!ET200SPにもS71516-FとProfinetで接続できました。次はWeb Serverにアクセスし、ネットワーク診断を見てみましょう。
Port Status画面のOverview Tabで各Portの現在状態を確認できます。
Detail Viewでは、これらのパラメータが表示されます:
- Mains load per s
- Discards
- Errors
- Line quality value
Leakage current overview には、RJ45ポートとデバイスのtop-hat rail間の電流値が表示されます。 ピーク値(peak)と実効値(RMS)、またはこの表示を切り替えることが可能です。 この情報により、干渉電流が早期に可視化され、直接的な通信障害につながる可能性があります。
Line diagnosis機能でポート1〜10に使用できます。接続品質は周期的(毎秒)にチェックされ、 回線品質は100〜0%の間で設定できます。
0%はケーブルに欠陥があり、データ交換ができないことを意味します。
bar chart グラフ では1本の棒に3つの値が表示され、これまでの接続で最悪の品質値を示しています。緑-黄-赤の信号には:
- グリーン: 回線品質は正常であり、対策は必要ない。
- 黄色: 30%のしきい値に達しなかった。 回線品質が十分ではありません。次回のメンテナンス時に接続を確認する必要があります。
- 赤: これ以上のデータ交換はできません。 プラグの接点とデータラインをチェックしてください。
Notifications
こちらは各Portの異常通信などを一覧できます。
Leakage current monitoring
漏れ電流モニタリングは、デバイスを経由して等電位ボンディングシステムに放出される PROFINET ラインのすべてのシールド電流の合計を記録し、評価することができます。
PROmesh シリーズはこの機能で EMC 干渉やカップリングを検出するメカニズムを提供します。
また、frequency spectrumをDownloadできます。
Network statistics
Network statisticsは、各ポートのトラフィックに関する情報を提供します。 この情報は、診断目的やネットワークに問題が発生した場合に役立ちます。
Network statisticsは以下の情報が提供される:
- Received data packets
- Data packets sent
- Maximum mains load
- CRC error (破棄されたTelegram)
- Discards (データ量が多すぎて廃棄されたTelegram)
Detailed port statistics
こちらは個々のパケットのサイズは、統計詳細の様々な閾値(最大64、127、255、511、1023、1518バイト)まで統計的に記録されます。
また、送信されるパケットは以下のように区別されます。
- Number of unicast packets (packets to one receiver)
- Number of non-unicast packets
- The received packets are distinguished between:
- Number of all packets
- Total bytes received
- Number of received fragments
Packets up to bytesの行は、異なるサイズのパケット数を示し、63、127、255、511、1023、1518バイトまでのサイズのパケットを受信した数を記録できます。
Neighbourhood detection (LLDP)
LLDP (Link Layer Discovery Protocol) は、 ベンダに依存しないレイヤ 2 プロトコルであり、 隣接するデバイス間で情報 (アドレス、 名前、 記述) を交換する機能を提供します。LLDP エージェントは、 LLDP をサポートするすべてのデバイス上で動作し、 定期的に自身の状態に関する情報を送信したり、 近隣デバイスからの情報を受信したりします。
LLDP では、 次のような情報をまとめて送信します:
- Port name
- Device name
- IP address
- Device description
MAC table
Forwarding databaseは、どのMACアドレスがスイッチのどのポートに接続されているかという情報を提供できます。