この記事のゴールはBeckhoff TwinCAT TF6100を使用しOPCUA Serverを立ち上げて、Simumatikと連携することです。SimumatikがOPCUA Client Driverを提供することで、更に多くのControllerと繋がれます。記事内で使用するPLC 8IO 4AIはSimumatikチームが作ったOPCUA Driver部品で、実際はUserが自分で部品を作成もできます。
OPC UA の変数Formatは、Codesysならns=4;s=yourVariables.nameでTIA Portal:ならns=3;s=”inputs” のように””があります。
実際に始めましょう!
Thanks!
この記事が出来上がるのはベッコフ日本法人ベッコフオートメーション株式会社さまから機材を貸してくださったおかけです。誠にありがとうございます。
ベッコフ日本法人ベッコフオートメーション株式会社
IPC6920-005はベッコフ日本法人ベッコフオートメーション株式会社さまが貸してくださったものです。Beckhoff Automationは1980 年会社設立、PCベースの制御技術をベースにしたオープンオートメーションシステム導入の先頭に立つドイツ企業です。
ベッコフ日本法人ベッコフオートメーション株式会社は、2011年に横浜に本社、2017年に名古屋オフィスを設立しました。
こちらはベッコフ日本法人ベッコフオートメーション株式会社様のホームページです。
どうぞよろしくお願いします。
https://www.beckhoff.com/ja-jp/
Reference Link
Implementation-1
まずWorkplaceからこのSystemを作成しましょう。
Create System
System>Createで新しいSystemを作成します。
System名を入力>OKします。
あなたのSystemが作成しました!
Add Assembly
次はSystemにAssemblyを追加します。MySystem_1の隣りにある…ボタンをクリックします。
Add Assemblyします。
Assembly名を入れ>OKします。
Add Component – OPCUA PLC
今回使用するのはそのOPCUA PLC 部品です。Component BrowserからControllers カタログを選択>PLC 16DIO 4AIO OPCUAを追加します。その部品はOPCUA DriversがDefaultついており他のPLCと通信することができます。(2 Bytes 16Port I/O、8 Bytes 4 Port アナログ入力)
electric Ports
- X1:24V Input
- X2:0V Input
- In_00-In_15:デジタル入力(0-24v)
- analog_in_0 – analog_in_3:アナログ入力
- out_00 – out_15:デジタル出力(0-24v)
- analog_out_0 – analog_out_3:アナログ出力
Variables
- url:OPC UA ServerのEnd-Point
- rpi:更新時間
- var_DI1..2, var_DO1..2:Byteデータで、OPC UA Serverの変数と紐つける
- var_AI1..4 and var_AO1..4:INTデータでOPC UA Serverの変数と紐つける
- voltage_range:電圧アナログの範囲
- Analog_range:PLCのアナログ信号範囲
部品名を入力>Okです。
OPC UA Driver付きのControllerが追加されました。
Add Component – Work Table
次はOtherカタログからWork Tableを追加します。
単なるのテーブルで特別な変数がありません。
部品を入れて>Okです。
Work Tableが追加され、適切な位置に調整しましょう。
Add Power Supply
Production LineからPower Supplyを追加します。
Power Supplyが追加され、適切な位置に調整しましょう。
Add Industrial Socket
Electric カタログからIndustrial socketを追加します。
Industrial Socketが追加され、適切な位置に調整しましょう。
Add Button
ElectrialからButtonを追加します。
Port13はボタンのInput、Port14はボタンのOutputです。
PortX1とX2はボタンのランプInputです。
今回の記事ではボタン3つありますので、右クリック>DuplicateでButtonを複製します。
Add Indicator Light
同じのElectric カタログからIndicator light部品を追加します。
ランプが追加されましたが、なんか方向が違いますね。Rotateをクリックします。
Change Position
このように部品の方向を調整できます。
このような感じでOKです!
Drawing
Portを接続する前、まず図面を確認しましょう。
Connection – Power Supply
まずはPower Supplyから始めます。
L1/NをIndustrial socketと繋がります。
Connection – PLC 24v DC
PLCの24v Port X1/X2を接続します。
X1は24+、X2は0VでOk。
Connection – Switch
次はSwitchです。13と14ですね。
13はPower Supplyの+側に接続します。
そしてPLCのIn_00をPort14に繋がります。それで完成!
Try!
Start EmulationでSimulationスタート!
すべてのPortにもMonitor Connection機能があります。
Monitor機能を有効にすると、各Portの現在値を確認できます。
例えばL1は230v、50Hzが入っているとか。
スイッチがちゃんと接続し、押すときに24vをPLCに入ってるかを確認したいので、PLCをクリックします。
in_00はいまVoltage 0ですね。
そしてButtonを押すとVoltageが24になり、つまり24vがPLCのin_00に流れています。
in_01,in_02も同じように接続して行きましょう。
Implementation-2
次はSimumatikとTwinCATを接続するためにOPCUA Serverサーバーを設置します。
TwinCAT Side
Download and Install TF6100 Packages
下記のLinkからTF6100 PackagesをDownloadし、Installしてください。
TF6100 OPC UA Server
そのPackageにはTwinCAT OPC UA Serverと簡単なClient機能が含まれています。
TF6100 OPC UA Configurator
そのPackagesはTwinCAT OPC UA Configuratorで、Visual Studioの拡張機能やStandaloneアプリケーションが含まれています。
TF6100 OPC UA Gateway
そのPackagesはTwinCAT OPC UA Gateway機能が含まれています。
Add PLC
PLCを追加します。PLC>Add New Itemします。
Standard PLC Projectを選び>Addします。
Add Connectivity Project
次はOPCUA 構築するプロジェクトを追加します。File>New>Projectします。
Empty TwinCAT Connectivity Projectを選び>Okします。
Connectivity Projectが追加されました。
View>Toolbars>TwinCAT OPC UA Configuratorを有効します。
Add Device Type
Data Access>Add Device Typeします。
ADS Portを851に設定し、AMS Net IDを設定>Createします。
Data AccessにPLC_1が追加されました。
Connect
Edit ServerlistのDrop-listからOPC UA接続Serverを追加します。
Server Configuration画面が表示されます。
Add ServerでServerを追加します。
UaServer URLをopc.tcp://localhost:4840のままでOKです。Downloadはまた後ほどでやります。
Add Variables
PLCにOPC UA Server用の変数を追加します。GVLs>Add>Global Variable Listをします。
DI/DOのByte変数を定義します。
Build
Build>Build SolutionでProjectをコンパイルしましょう。
Activate Configuration
Activate ConfigurationでHardware ConfigurationをRuntimeにDownloadします。
OKで進みます。
ライセンスが足りないと言われたら、Yesで進みます。
Popupで表示したSecurity Codeとおなじ文字入れたら、TrailライセンスがActivateになり、7日使用可能になります。7日過ぎたらまたSecurity Code入れればまたTrial ライセンスが生成されますので、TwinCATは基本的には無料です。
OKでRuntimeを再起動します。
Login
LoginでUser ProgramをDownloadします。
Yesで進みます。
Start
最後はStartボタンでRuntimeをRun Modeに切り替えます。
Download Connectivity Project
Connectivity ProjectをDownloadします。”Connect”でOPC UA Serverと接続しましょう。
Yesで進みます。
Yesで現在のConfigurationをOverwriteします。
Activate OPC-UA Server ConfigでServer構成を有効します。
Okで進みましょう。
YesでOPC UA Serverを再起動します。
Done!
Check the Connection
最後はConnectionをCheckします。
Admin UaGatewayを右クリックします。
UA EndPointのTabからEndpointのURLとSecurityを設定できます。
接続するためにUaExpertを起動し、Add ServerでOPC UA Serverを追加します。
Custom Discovery>Double Click to Add ServerをDouble Clickします。
Endpoint URLがを入力します。
よし、これでOK、実際接続できるかを確認できます。
Configure the OPC-UA Configuration
次はSimumatik側に戻り、OPC UA Driver付きのPLC部品をクリックします。
urlでOPC UA ServerのURLを設定できます。鉛筆のICONをクリックします。
Edit Urlの画面が表示されます。
UaExpertから先のOPC UA Serverを右クリック>PropertiesでServerの詳細を確認できます。
Endpoint URLは実際SimumatikのURLに該当します。
なので、そのURLにをそのまま貼り付けでOK。
Connect the GateWay
Gateway Not Founcになっていますが、そのICONをクリックします。
OKでGateayを起動します。
しばらく待ちます…
Gateway Connectedに変わりました!
Try!
もう一度Simulationスタート!
If Error..
もしOPC UA Serverと接続できない場合、infoはError Connecting..になり、StatusはERRORだと表示されます。
If OK
もし接続成功ならInfoはUPDATE Action..になり、StatusはRunningになります。
これでSimumatikとBeckhoff OPCUA Serverの接続成功です。
Implementation-3
次はSimumatikのOPC UA Driver付きのPLCにデジタル入力とBeckhoff OPCUA Serverと繋がります。
Configure the Input
PLCの部品から下にScrollし、var_DI1がありますね。
先ほどのImplementation2でGVL内でDI1が定義されましたね。そのNode IDが必要です。
右クリックCopy Valueします。
var_DIのFieldにある鉛筆ICONをクリックします。
先程CopyしたNode IDを貼り付ければOK。
Try!
よし、Button1を押すとDI1は1になり、Button2押すとDI=2、Button3押すとDI=4で、問題なしです。
Configure the Output
ついでにランプ出力も紐つけます。
Implementation-1で追加されたランプをクリックすると、x1とx2がありますね。
x1はPLCのOut_00に紐つけます。
x2はdc_nをつながればOkです。
次はvar_DO1をOPC UA ServerのNodeと紐つけます。
Implementation-2で定義した変数のNode-IDを入力しましょう。
Try!
DO1=1ならランプ1が光り、DO1=2ならランプ2が光り、DO1=4ならランプ3が光ります。
全部OKです!
Implementation-4
最後はTwinCAT側が簡単なプログラムを組んでButton1押すとランプ1がON…のような簡単なものを作成します。
TwinCAT
Main POUを開きます。
簡単プログラムを追加します。
ProjectをRuntimeにDownloadしましょう。
Try!
各Button押すと設定したDelay TimeにすぎるとランプがTrueになります。よし。
Save!
せっかくSystemを作ったので、System>…Button>Saveで保存しましょう。
System System1 uploadedのメッセージが表示されました!それで保存完了。
Create Thumbnail!
実は自分が作成したSystemにThumbnailを作ることができます。…Buttonをクリック>Create Thumbnailします。
Thumbnailエリアを設定し、Save!
これでOKです!
ではそのThumbnailは実際どこで使ってるでしょう。Loadボタンで他のSystemをLoadしてみましょう。
System1に小さな写真がついていますね!これはThumbnailを使うところです!