この記事ではPLCNEXT Controller AXC-F-2152をProfinet通信する設定などについて書いています。AXC-F-2152はProfinet IO Devicesで上位がSiemens S7-1200 ControllerのCaseとTwinCAT TF6721のControllerのCaseになります。
よろしくお願いします。
*注意するのは現在 AXC-F-2152が固定で512BytesのIn/Outputになっていることです。
Reference Link
TwinCAT
Codesys
PLCNEXT
http://soup01.com/ja/category/plcnext/
Download GSD File
下記のLinkにアクセスします。
https://www.phoenixcontact.com/en-us/products/controller-axc-f-2152-2404267
Device DescriptionのところでGSDML Fileをダウンロードできます。
Softwareライセンスに同意し>Downloadします。
このようなGSDLMLがDownloadされます。
PLCNEXT Side
Profinet Variables
AXC-F-2152 ControllerではProfinetネットワーク状態を表示する変数があります。
PNDのDはDevicesです。
LIST
PND_S1_PLC_RUN | BOOL | Profinet上位Controllerの現在Statusです。 1=上位 ControllerがRun状態(PND_S1_VALID_DATA_CYCLEがTrueの前提状態) |
PND_S1_VALID_DATA_CYCLE | BOOL | Profinet上位ControllerがPLCNEXT ControllerとProfinet ネットワーク接続状態です。1=Conectionがあり、なおかつデータ交換してる |
PND_S1_OUTPUT_STATUS_GOOD | BOOL | Profinet上位Controllerと交換してるInputデータが有効かどうかを示しています。1=Data有効です。 |
PND_S1_INPUT_STATUS_GOOD | BOOL | Profinet上位Controllerと交換してOutputデータが有効かどうかを示しています。1=Data有効です。 |
PND_S1_DATA_LENGTH | WORD | PROFINETデータ交換SIZEです。 |
PND_S1_OUTPUTS | PND_IO_512 | PLCNEXTのProfinet Outputデータエリア |
PND_S1_INPUTS | PND_IO_512 | PLCNEXTのProfinet Inputデータエリア |
PND_IO_DRIVEN_BYPLC | INT | redundancyのProfinet Controller 数です。 0=None 1=Profinet Controller A 2=Profinet Controller B |
Test Program
0番目と511番目のデータに与えを書き込むのプログラムです。
Play with Siemens
Import GSDML
まずTIAを起動し、PLCNEXTのGSDML FileをImportします。
Options>Manage general station description files(GDS)します。
Source Pathのところで…のたんをクリックします。
GSDFILEにあるDirectoyを選択します。
PLCNEXTのGSD Filesが検索されます。
Checkbox入れ>Installします。
しばらく待ちます…
よし、OKです。
Hardware catalogがUpdateします。
Profinet Network Configuration
次はProfinet Networkを設定します。
TIAでDevices&Networksをクリックします。
右にあるHardware catalogからAXCを検索します。
先ImportされたAXC F 2152が見えるはずです。
そのAXC F 2152を選択したまま左にDropします。
PLCNEXTのAXC F Controllerが追加されました。
Assign to Siemens Controller
先ほど追加したAXC-F-2152にある”Not assigned”をクリックし>Profinet Networkを選択します。
これでOK。
Search the Profinet devices
もし複数のAXC F Controllerがあれば、確認する方法がいっぱいあります。
その一つはaccessible devicesです。
PG/PC Interfaceを選び>Start serachします。
Profinet Network上のDevicesを検索し一覧できますので。
Device Settings
次はは先AssginしたProfinet devicesをクリックします。
Property>PROFINET Interface[X1]>Ethernet addressに行きます。
IP Address is set Directly at the deviceのCheckboxを入れます。
S7-ControllerからPLCNEXTのIP変更させたくないので。
次はGeneratre PROFINET Device name automaticallyのCheckboxを外します。
実機に合わせて設定しましょう。accessible devicesやPLC Engineering上でいまPLCNEXTのProfinet device名を確認できますので。
IO Numbers
最後はIO番号ですね。Deviceをクリックし>Deview viewに切り替えます。そしてDeviceを選択します。
IO addressのところでIO番号変更が可能です。
ここでわかりやすいように、400から始まりとします。
これで準備OKです。
Test Program
Add Error OB
まずProfinet DeviceとConnectionないだけでCPUがStopになるのは嫌なので、Error OBを追加します。
Add Data type
次はデータ交換のためのData Typeを作成します
PLC data types>Add new data type.
User data typeの名前を入れてOKします。
中に長さ512のByte配列を定義します。
Define the tag
Data Type作成が終わったら次はIOのTag定義します。
PLCtags>Default tag tableをクリックします。
このようにInとOutを先追加されたData Typeを定義いし、AddressはIO番号合わせてください。
Test
Variables
If OK
If Fault
Result
Play with TwinCAT
Add Profinet IO Controller
まずProfinet IO Controllerを追加します。
I/O>Devices>右クリック>Add New Itemします。
Profinet>Profinet I/O Controller(RT)を選択し>OKします。
Network Intefaceを選び>OKします。
Add Devices
次はProfinet IO Devicesを追加します。先追加したDevice>右クリック>Add New Itemします。
Miscellaneous>PROFINET IO Device選択し>OKします。
自動的にGSDMLをImportするPop upが出てきます。
先DownloadしたPLC NEXT Controllerを選び>Openします。
それでProfinet IO Deviceが追加されました。
APIにGSDMLに準じるTermも全部含まれています。
Define Process IO
PLC追加し、ProcessI/Oを定義します。
Assign Input Link
毎回も同じの操作ですが、Input変数をUser programとLinkさせます。
512 Digitale..を選択>右クリック>Change Link..します。
先ほど追加した変数を選び、Okします。
Linkされた変数は[X]にXがついています。
Assign Output Link
OutputにもUser Programの変数とLinkします。
右クリック>Change Link..します。
User Programの変数とLinkさせ、OKします。
Linkされた変数は[X]にXがついています。
Device Name
Profinet通信にはDevice Nameが必要です。
追加したProfinet Device>your deviceをクリックします。
General のTabでNameをアプリケーションに合わせてください。
Device IP
次はIPです。
PLCNEXT 実機に合わせてください。
Download
最後はDownloadすれば終わりです!
LED
ProfinetIO Controllerとつながってない状態の場合、BF-DのLEDが赤点灯になります。
ProfinetIO Controllerとつながってない状態の場合、BF-DのLEDが消えます。