PLCNEXT#Communicate with Beckhoff TwinCAT PN Devices

PLCNEXT Tutorialの続きです。今回はTwinCAT TF6720とPLCNEXT AXC F2152をProfinetでリアルタイム通信します。TwinCAT側はDeviceでPLCNEXT AXC F2152はControllerになります。よろしくお願いします。

参考Link:

PLCNext#PLCNEXT Engineer Download/Installation
PLCNEXT#Connect PLC to your PC
PLCNEXT#First Project with Local variables

TwinCAT Side

まず下記の記事では基本のセットアップ方法を書いています。

Beckhoff#TwinCAT3 TF6270 Profinet RT Device立ち上げよう

Point1-Cycle Time

うまくつながってないときはCycle timeを調整してみてください。

I/O>Devices>Your Profinet Device

Sync TaskのTab開き、ProfinetIO専用のTaskを設定し、Cycle ticksを調整しましょう。

Point2-Device Name

Profinet通信するにはDevice NameのAssignが必要です。

最初に通信テストするときいきなりControllerからAssignなど少しややこしいことでやるより、TwinCATのProjectで設定したStation Nameをそのまま流用しましょう。

DeviceのTab開いて、Get Station Name from TreeのCheckboxを入れます。

Point3-Link to variable

もちろん、IOをUser programとLinkするも忘れずに。

Programming

Profinetの通信テストなので難しいプログラムなくてもOKです。

最初の0Btye目と最後の63 Byte目を数字を書き込めばよいです。

PLCNEXT Side

Import GSDML

Profinet通信にはGSDML Fileが必要になります。そのGSDLMLは先のStepでTwinCATから生成することが可能です。

PLCNEXT Engineerを立ち上げ、File>Import>Import GSDML Files(s)をクリックします。

GSDML Fileを選択します。

ImportのCheckboxを入れ、OKします。

Inert RT Device

PLCNEXT側はControllerなので、BeckhoffのProfinet RT Deviceを追加します。

Profinetをクリックします。

#0のとろこにSelect type hereのFieldをクリックします。

TwinCATのGDSML File Importされましたので、Devices>Local>Devices>Beckoff Automation>TwinCAT Profinet I/O>TwinCAT Device V2.3.1 Port Rev >= 1/V1.6.0を選択します。

自動的に交換するデータ領域や各Slotが追加されました。

Update Task setup

ProfinetのUpdate cycle を設定します。

Profinetをクリックします。

Settings>Update Tasks>IO Controller System and global VariablesとIO Device system variablesをESMで追加したTaskに割り付けます。

Update Cycle setup

次は更新周期です。

TwinCAT Device V2.3.1 1portをクリックします。

Settings>Reduction ratio(symmetric/inputs)を調整してください。


Device name/IP

Device名とIPを設定します。

Profinet>tcpniodevice(この名前はGSDMLにより違いので)をクリックします。

Settings>Ethernetを開きます。

IP address assignment modeをManualします

IP addressはTwinCAT側のNetwork adapterに合わせてください。

Define the variable

Profinetネットワークを構築したら次はProfinet IOをプログラム変数と紐つけます。

NewProgramをクリックします。

4つのExternal変数を定義しました。


Assign

Profinet>1:64 Byte In and Output(1)>1:64Byte In and Outputを開きます。

Profinet /1/1/1 Byte InputやProfinet /1/1/1 Byte Outputなどを割り付けましょう。

Programming

簡単なプログラムを書きます。TwinCAT側と同じく0Byte目と63Byte目に数字を書き込みます。

Download

設定が終わりましたら、CPUにDownloadします。


Verification

最後にネットワークを検証します。

Project>your PLCをクリックします。


If OK

診断情報を確認してみます。NotificationのTabをクリックし>Arp t PnC ArReadyのメッセージが見えます。Selectすると、Connection to device established tcpniodeviceのメッセージが表示されます。

つまりデバイス名tcpniodeviceのPN IO Deviceと接続成立しました。

If Fault

NotificationのTabをクリックし>Arp t PnC PnStationStateChangedのメッセージが見えます。Selectすると、Led state changed Arp to Pnc(Controller),BF=On、SF=oFFのメッセージが表示されます。

つまPN IO Deviceと接続成立できないってことです。

Result-TwinCAT Side

TwinCAT側は64,65が0番目と63番目に格納されます。それはPLCNEXTから受信したデータです。そしてTwinCAT側0番目と63番目のByteに98と99を送信します。

Result-PLCNEXT Side

PLCNEXT SideでもTwinCAT側から送信されたデータみえます。

WireShark

もちろん、WireSharkからもPNIOのPacketが交換してるとわかります。

LED Status

最後はCPUのLED statusを説明します。実機ではBF-CとBF-DのLEDがあり、Profnet Controllerの状態とProfinet Deviceの状態を示しています。

BF-C

詳しく説明しませんが、BF-Cは赤LED OFFにすれば、ControllerとしてDeviceと通信が確立すると示しています。

BF-D

BF-Dが赤LED OFFにすれば、Deviceとして上位のPN Controllerと通信が確立すると示しています。

Footer_Basic

Please Support some devices for my blog

Amazon Gift List

Find ME

Twitter:@3threes2
Email:soup01threes*gmail.com (* to @)
YoutubeChannel:https://www.youtube.com/channel/UCQ3CHGAIXZAbeOC_9mjQiWQ

シェアする

  • このエントリーをはてなブックマークに追加

フォローする