今回の記事はIQ-RのRJ71PB91Vモジュールを利用しProfibus Masterを立ち上げ、Siemens社のCPU 315-2 DPと繋がります。
さ、始めよう!
Reference Link
RJ71PB91V?
今回記事で使用するRJ71PB91VはProfibusのClass 1 Master局として稼働でき、通信速度は
9.6kbps〜12Mbpsまで対応できます。また、1セグメントあたりに最大32台まで、1ネットワークは最大126台までのProfibusネットワークを構築できます。
RJ71PB91V本体は32点入出力占有点数があり、モジュール本体の制御をや状態取得できます。
IOデータ交換の機能は下図のようになります。
Software Requirment
こちらはRJ71PB91V を使用する場合のGXWORKS3 Version とツールVersionになります。
Wiring
こちらはProfibusのWiringになります。
Time Chart‐ Output Communication
Time Chart‐ Input Communication
Configuration Example
Maximum configuration of segment
こちらは1 Segmentの構成例になります。1 Segmentには最大32モジュールまです。
Maximum configuration of network (using one repeater)
Repeaterを使用すると、2つのSegmenetsを一つのNetworkとしてリンクできます。
Maximum configuration of network (using three repeaters)
こちらはRepeaterを3つのを使用した例になります。DPマスタとDPスレーブはFDLアドレス設定範囲内(0〜125)で接続可能できます。
Install Profibus Configuration Tool
下記のLinkから三菱RJ71PB91VのProfibus Configuration ToolをDownloadしましょう。
Setup.exeをダブルクリックし、インストールを開始します。
GXWORKS3は最低限3.1000Eが必要なので、三菱のHPからGXWORKS3のUpdate File Downloadし、インストールしてください。
Next>で進みます。
簡単な個人情報を入力し、Next>で進みます。
インストールの場所を設定し、Next>で進みます。
Installを開始します!
しばらく待ちます…
インストールが完了したらPCを再起動しましょう。
Done!
Download GSD File
今回記事で使用するProfibus SlaveはSiemens 社のCPU 315-2 DPなので、下記のLinkからCPU 315-2 DPのGSD FileをDownloadしてください。
https://support.industry.siemens.com/cs/document/113652/profibus-gsd-files-simatic?dti=0&lc=en-JP
Implementation
Siemens Side
Siemens CPU 315-2 DP側から構築始めます。
Hardware Configuration
S7300 Stationをダブルクリックします。
中にあるHardware項目を開きます。
こちらはS7-300などのCPUのHardware Configurationを構築する画面になります。
Configure DP
現在のCPU 315-2 DPのDP PortはProfibus Masterとして設定されています。今回記事で使用する三菱IQ-R RJ71PB91VはProfibus Masterのみ対応できますので、CPU 315-2 DPはSlaveとして設定する必要があります。DPをダブルクリックしてください。
こちらはDP Portの設定画面です。
Operating Mode
Operation ModeのTab開き、DP slaveを設定してください。
Done!
Node Address
いまDP PortはSlaveとして稼働していますが、Profibusのアドレスを設定する必要があります。General Tab>Propertiesを開きます。
Parameters TabにあるAddress項目からアプリケーションに合わせてProfibusのアドレスを設定してください。
Configuration
最後はConfiguration Tabを開いて、DP SlaveとMaster間で交換するデータMappingを定義しましょう。CPU 315-2 DPは固定なSlotなく、アプリケーションに合わせて入出力メモリ領域を自由設定できます。
Add Input Data
Newボタンをクリックし新しいデータ交換領域を定義します。
SlotのProperties設定画面が表示されます。
Address Typeはいま設定してるSlotは入力や出力を変更できます。
Addressは該当するSlotのアドレスOffsetを設定します。(I=Input、Q=Output)
Lengthは該当するSlotのメモリサイズです。
Unitは該当するSlotのデータ・タイプです。
下図では、Slotを入力として設定し、Addressは10から始め、合計4 Bytesの入力データになります。
Done!Slotが定義されました。
Add Output Data
次は出力データも先程と同様に設定しましょう。今度はAddress Typeを”Output”に設定します。
下図では、Slotを入力として設定し、Addressは10から始め、合計4 Bytesの出力データになります。
Done!
Save and Compile
次はHardware Configurationをコンパイルしましょう。
Download
最後はPLC>DownloadでHardware ConfigurationをCPUにDownloadしましょう。
今回記事で使用するCPU 315-2 DPを選択し、Okで進みます。
Viewで現在PCと接続してる機器を検索します。
Done!CPU 315-2 DPが見つかりましたので、OKをクリックしHardware ConfigurationをCPUにDownloadしましょう。
しばらく待ちます…
Done!YesボタンでCPUをRun Modeに切り替えます。
Mels Side
今度は三菱IQ-R側を構築します。
Module Configuration
Module ConfigurationでRJ71PB91Vを追加します。
Done!Module informationのFolderでRJ71PB91Vのがありまます。
Configure PROFIBUS Network
Profibus ネットワークを構築するため、Moduble Information>RJ71PB91V>PROFIBUS Module Settingをダブルクリックします。
PROFIBUS Configuration Toolがインストールされたたら自動的に別のソフトが起動されます。
Add GSD File
Profibus ネットワークを構築するにはGSD FileをImportする必要があり、Import Tasks>Add GSD FileでGSD Fileを追加しましょう。
Siemens HPからDownloadしたCPU 315-2 DP ZIP FileにいるFolderを設定し、GSEを選びます。GSE=English Versionになります。
GSEを選び>OpenでFileをImportします。
該当するGSD Fileをデータベースに追加しますか?Yesで進みます。
Done!
GSD Database>PLCに先ほど追加したCPU 315-2 DPがありました。
Add Siemens CPU
CPU 315-2 DPをProfibus Networkに追加しましょう。
Slave Settings
Slave Settingsの画面が表示されます。
FDL Address
FDL AddressはProfibus Slaveのアドレスになります。
今回の記事は先程Siemens側で設定した”1”に合わせます。
min T_sdr
min T_sdrは通信のWatchdog Timerを設定できます(Unit: 10ms)。
DP-Slave が指定時間内に DP-Master からデータを受信できなかった場合、DP-Slave は通信タイムアウトを検出します。
Group identification number
今回の記事では使用しませんが、Group identification numberは該当するSlaveのGroup番号を設定できます。
Group機能では、DP-Masterからマルチキャストでサービスを送信することにより、指定されたグループに属するDP-Slaveを同時に制御し、I/Oデータのホールド/クリアを行う機能です。それによって、指定されたグループに属するDP-Slaveは、受信したサービスに従って自動的にI/Oデータを保持/消去できます。
Slave Module
Nextボタンをクリックすると、今回はSlave Modulesの設定画面になります。
ですが、CPU 315-2 DPのSlotはバケ文字みたいで、一回Step7 ClassicからCPU 315-2 DPのGSD FileをImportし、中にどんなSlotあるかを見てみましょう。
Test GDS File In Step7
Step7 Classicを立ち上げ、Hardware Configuration画面からOptions>Install GSD Fileをクリックします。
GSDのInstall 画面が表示され、Browseをクリックします。
CPU 315-2 DP GSD Fileが格納されているFolderを選択し、Okで進みます。
Folder内にあるGSD Fileを認識できました。
ドイツ語などはわかりませんので、英語を選び>InstallでGSD Fileを追加しましょう。
Done!PROFIBUS DP>Additional Field Devices>PLC>SIMATIC>CPU 315-2 DPというCPUがあります。
別のプロジェクトを開き、CPUのDP PortをMaster Modeに設定し、CPU 315-2 DPをDP Networkに追加しましょう。
Okで進みます。
Done!CPU 315-2 DPが追加されました。
CPU 315-2 DPを選択すると、Default上でSlot 1,2,3がありました。なので、CPU 315-2 DPをProfibus Slaveとして稼働するには、最低限3つのSlotがあります。
それは1st general ID・2nd general ID・3rd general IDです。
Add Slots1
DP Configuration Toolに戻り、Slot1を1er identificatuer gxxxにDropします。
Done!
Slot1の1er identificatuer gxxxは1st General IDに該当します。
Add Slots2
Slot2を2nd identificatuer gxxxにDropします。
Done!
Slot2の2nd identificatuer gxxxは2nd General IDに該当します。
Add Slots3
Slot3を3rd identificatuer gxxxにDropします。
Done!
Slot3の3rd identificatuer gxxxは3rd General IDに該当します。
Add Slots4
Slot4は4 Bytesの出力Slotを定義するため、Master_S_Slave_E 4 o unitsをDropしましょう。
Done!
Add Slots5
Slot5は4 Bytesの入力Slotを定義するため、Master_S_Slave_S 4 o unitsをDropしましょう。
Done!Slot設定完了しましたので、Nextボタンで進みましょう。
Slave User Parameters
Slave Parameters画面が表示され、特に設定できる項目がありませんので、Finishで設定完了しましょう。
Finally
Done!CPU 315-2 DP Profibus Slave Stationを構築しました。
Update PROFIBUS Label
RJ71PB91VはProfinet IO Controller RJ71PN91モジュールと同様に、GXWORKS3が自動的にTool内で構築したSlave StationのデータをGlobal Labelの形で自動生成できます。
Setup Task>Update PROFIBUS Labelをクリックしてください。
注意するのは”Update PROFIBUS Label”が赤文字になった場合、Profibus StationのGlobal Labelを更新する必要があることを示しています。
Yesで進みます。
Done!Global Labelと構造体も更新されました。
Compile all
Convert>Rebuild Allでプロジェクトをコンパイルしましょう。
OKで進みます。
Done!すべてのGlobal Labelと構造体もエラーなくコンパイルされました。
Write to PLC
プロジェクトをCPUにDownloadするためWrite to PLCをクリックします。
プロジェクトDownload画面が表示されます。
”Select All”でDownload Optionsをすべて選択し、Executeで進みます。
Yesで進みます。
CPUに既存するプロジェクトを上書きするため、Yes to Allで進みます。
しばらく待ちます…
YesでCPUをRUN Modeに切り替えます。
Reset Power
もしCPUにエラー発生する場合、CPUの電源を入れ直してください。
Start PROFIBUS
Implementation1ではプログラムなしでPROFIBUS Configuration ToolsからPROFIBUSを起動する操作を紹介します。
Online Tasks>Start/Stop PROFIBUS でPROFIBUS Masterを起動します。
Result
最初はDiagnostics>Slave StatusでProfibus Slave状態を確認してみます。
1という数字がいま緑になっていて、RJ71PB91VとCPU 315-2 DPの通信が確立されました。
次はDiagnostics>Diagnosis Messagsを開きます。
Profibus Slaveの診断メッセージが赤枠の画面で確認できます。
今度はStep7 Classicから通信状態を確認するため、Online ボタンをクリックしましょう。
OKで進みます。
しばらく待ちます…
Done!現在Hardware Configurationには赤のエラーICONがありませんので、RJ71PB91Vと正常に通信してることを示しています。
Implemenation2
次のImplementationでは実際のプログラムを作成しましょう。
Siemens Side
Add OB
Step7 Classic>Program Blocks>右クリック>Insert New Object>Organization Blockを追加します。
こちらはOrganization Blockの設定画面になります。
Name FieldでOB86を入力し、OB86のエラー処理OBを追加しましょう。
Done!OB86が追加することにより、Rack Faultが発生してもCPUがStop Modeにならず済みます。
先ほどと同じ操作でOB82 IO Fault も追加しましょう。
Symbols
次はSymbols Tableを開き、入出力データの変数を定義しましょう。
こちらはSymbo Editorになります。
IW10 IW12とQW10 QW12を宣言しました。
IW10=InputデータOffset 10、16BItになります。
QW10=InputデータOffset 10、16BItになります。
Program
次はCPU 315-2 DPのデータをRJ71PB91Vに送信するためのプログラムを作りましょう。
OB1をダブルクリックしてください。
下図のSTLプログラムを追加します。
- Network1
- IW10(RJ71PB91Vから受信したデータ)をMW20に転送します。
- IW12(RJ71PB91Vから受信したデータ)をMW22に転送します。
- Network2
- 16進数データABCDをQW10(RJ71PB91V)に送信します。
- 16進数データF01AをQW12(RJ71PB91V)に送信します。
Download
次はS7 Stationを選択し、DownloadボタンをクリックしプロジェクトをCPUにDownloadしましょう。
Mels Side
Profibus Network Setting
Profibus Network の設定を行います。
Master Setting
RJ71PB91V Profibus Masterをクリックし、Profibus Masterのパラメータを変更します。
場合によってPROFIBUS-DPネットワークの通信速度をBaudrateで変更してください。すべてのSlaveにはこの通信速度と一致する必要があります。問題なければ、Nextで進みます。
CPU Device Access
CPU Device Acess画面ではPROFIBUSネットワークの送受信データのCPU メモリ番地を設定できます。下図ではUser CPU device D1000に設定されたので、PROFIBUS ネットワーク送受信データをD1000から始めることになります。
Slave Settings
Siemens CPUと三菱CPUのByte Orderが異なるので、どっちのデータのByte OrderをSWAPする必要があります。RJ71PB91Vでは各Slaveを実機によって自動SWAPするOptionをつけれます。
もし該当するSlaveがSWAPする必要がある場合は”Swap I/O Bytes In Master”のCheckboxをいれてください。
I/O Mapper
Setup TasksではI/O Mapperというツールがあり、実際PROFIBUSネットワークのデータメモリ番地を確認できます。
Project Documentation
Documentation>Project DoucmentionでRJ71PB91V構築したProfibus ネットワークのモジュール情報を確認できます。
Documentation of I/O Mapping
Documentation>Project DoucmentionでRJ71PB91V構築したProfibus ネットワークのIO Mappingを確認できます。
Byte Swap
各Devicesはアプリケーションによって自動Byte OrderをSWAPすることができます。
例えばSiemens CPUはIQ-RのByte Orderが異なりますので、Swap I/O Bytes in MasterのCheckboxを入れてください。
この機能によりI/Oデータの送受信時に、交換するデータの上位バイトと下位バイトをワード単位で入れ替えられます。それはDPマスターとDPスレーブでI/Oデータのワード構成が異なる(上位バイトと下位バイトが逆)場合に使用します(プログラムなし)。
Program
最後はRJ71PB91VとSiemens社のCPU 315-2 DPの通信プログラムを作成しましょう。
glRJ71PB91V_1.stMgmtOutputs_D.bDataExchStartRequest:= glRJ71PB91V_1.stMgmtInputs_D.bCommunicationReady AND glRJ71PB91V_1.stMgmtInputs_D.bModuleReady ; bDiagInfoDetected:=glRJ71PB91V_1.stMgmtInputs_D.bDiagInfoDetected; glRJ71PB91V_1.stMgmtOutputs_D.bDiagInfoClearRequest:=bReset; glRJ71PB91V_1.stMgmtOutputs_D.bDiagInfoReset:=bReset; glRJ71PB91V_1.vSLV001MOD003.outputs[0]:=1; glRJ71PB91V_1.vSLV001MOD003.outputs[1]:=2; ; |
Result
Done!RJ71PB91VがプログラムでProfibusを立ち上げ、CPU 315-2 DPと通信しています。そしてCPU 315-2 DPからにもデータ受信しました。
次はStep7 Classic側にも通信データを確認するため、Insert New Object>Variable Tableで変数Tableを作成します。
Symoblic NameのFieldで変数Table名を入力しましょう。
先ほど定義した変数をTableに入力し、メガネICONをクリックして変数の現在地を確認できます。
また、変数の表示Formatを変更したい場合は右クリックし>Hexadecimalなど他の表示Formatを設定しましょう。
Done!
こちらの動画では実際RJ71PB91VとCPU 315-2 DPでProfibusの通信状態を確認できます。