このProjectではBeckhoff TwinCAT3とSiemens S210 Servo Driveを立ち上げからプログラムまでを分けて説明する記事です。Part1はまずSiemens S210 を立ち上げ、TwinCAT3からControl Panelを動かしてみようと考えています。よろしくおねがいします。
Thanks!
この記事が出来上がるのはベッコフ日本法人ベッコフオートメーション株式会社さまとMana Design worksさまから機材を貸してくださったおかけです。誠にありがとうございます。
ベッコフ日本法人ベッコフオートメーション株式会社
IPC6920-005はベッコフ日本法人ベッコフオートメーション株式会社さまが貸してくださったものです。Beckhoff Automationは1980 年会社設立、PCベースの制御技術をベースにしたオープンオートメーションシステム導入の先頭に立つドイツ企業です。
ベッコフ日本法人ベッコフオートメーション株式会社は、2011年に横浜に本社、2017年に名古屋オフィスを設立しました。
こちらはベッコフ日本法人ベッコフオートメーション株式会社様のホームページです。
どうぞよろしくお願いします。
https://www.beckhoff.com/ja-jp/
Mana Design Works
Siemens SINAMICS S210はMana Design Worksさまが貸してくださったものです。
Mana Design Worksは大阪に本社あるSiemensの正式なソリューション パートナーで、Siemens製のCPU・HMI・Drive・Motion Controller・SCADAから国産メーカまで常に最適な提案ができます。
こちらはMana Design Works 様のホームページです。
どうぞよろしくお願いします。
Video-Japanese
Video-English
PROFIdrive
PROFIdrive profiesはProfinet/Profibusの補足で、デバイスのデータを統一した環境や技術にドライブ情報をアクセスでき、つまり装置を構築や設計するときにエンジニアコストが下がります。さらに異なるメーカーでも同じ関数からOpen-loopとClosed-loopを制御することが可能で、ドライブ制御のプログラム設計するときにかかる時間やDebugも大幅削減できる。
最後、ドライブメーカの視点には標準なProfile定義のおかけで開発コースを削減できます・
Base Model
PROFIdrive には3クラスの基本要素があります。
Controller
Controllerはドライブを制御するためのデバイスです。自動システムからみるとそのControllerはPLCやMotion Controllerが対象です。
P-Device
P-Device (peripheral device) はドライブのホストデバイス(Closed-loop制御、Inverter)です。そのP-DevicesはControllerとProfinetで接続してます。
Supervisor
SupervisorはP-DevicesのパラメータやConfiguraitonの管理するエンジニアリングツールです。SiemensならStarter/SIMOTION、TwinCAT3ならそのIDE、シュナイダーならSomachineのようなイメージです。
Communication network
PROFIdrive デバイスは装置の中のStationのコンポーネントの1つだに位置付けられます。各StationにはNetwork interfaceのConnectorがあり、該当するStationをNetworkと物理的に接続し、デバイスにCommunication servicesを提供します。
Functional Object
PROFIdrive Deviceには一つや複数のFunctional Objectsが含まれて、それらのFunctional Objectsは自動システム中には特別な機能を示すlogical Objectsとして表現します。
例えば下図のように PROFIdrive Deviceによって複数のFunctional Objectsが構築されています。そのデバイスがP-Devicesであれば、P-Devies>Drive Objectの中にFunction Objectsが入っています(Motor、Inverter、Closed loop Current、速度制御、Input/Output)。
Object Model
下図はPROFIdriveのObject Model図です。各StationにNetwork interfaceと一つや複数のデバイスが入っています。そのNetwork InterfaceはProfinetネットワーク内の他の機器と繋がっています。先もいったのですが、デバイスはController、 P-Device and Supervisorと分かれています。
もし該当するStationはP-Devicesであれば、そのP-Devicesは一つや複数のDrive Units(DU)があり>そのDrive Units(DU)にまた一つや複数のDrive Objects(DO)が並列しています。Communication Object (CO)はNetwork interfaceでHost Controllerと通信し、Function Objectと連合しています。
Layer Model
PROFIdriveは2つのLayerに分かれています。それはCommunication Layer と Application Layerです。下図のようにApplication LayerではDrive Objectだけで、Communication Layer は通信関係のTaskを行います。
Communication services
PROFIdrive Base Modelでは以下のCommunication servicesを定義します。そのCommunication servicesはデバイスから提供され、Function Objectが使用します。
注意するのはデータはbig-endian formatになります。
Cyclic Data Exchange
Cyclic communicationは指定するタイムスロットに事前定義したIOデータを転送することです。Cyclic communicationはControllerとデバイス間で指定するタイムスロット内にIO データを交換するとは非常に重要になり(例えばControll/Status Word、Setpoint/Actual Value)、
その通信関係は”Controller —–>P-Devices”と”P-Devices—–>Controller”の2つになります。Cyclic Data ExchangeチャンネルはCommunication ObjectのEnd-Pointsと関連します。
Acyclic Data Exchange
Cyclic communicationと違ってacyclically通信はパラメータやFirmwareのDownloadなど、あまり時間性に厳しくない機能を使用します。そのAcyclic Data Exchangeも“Controller—– P-Device”と“Supervisor – P-Device”2つあります。Acyclic Data ExchangeチャンネルはCommunication ObjectのEnd-Pointsと関連します。
Alarm Mechanism
Alarm Mechanism serviceでは、Devicesのアラーム情報をControllerに上げます。そのServicesはDemand-baseでControllerに最新のStatus MessageをKeepできます。Alarm Mechanism serviceは “Controller – P-Device”です。
Clock Synchronous Operation
Clock Synchronous Operation serviceは異なるDevicesやFunctional ObjectにあるTaskも同じ時間で実行することを保証します(Input/Outputの抽出時間、最小のjitter )。さらにClock Synchronous Operation serviceはCommunication Cycle内に確実なタイミングで絶対に転送するように制御します。
Drive技術では clock cycle synchronous communication はドライブ同期の基本で、Bus SytemだけではなくDrive内部のアルゴリズム(Close lopp speed Controlなど)をDrive内のControllerとHigh-LevelのControllerと同期する役割もあります。
Siemens S210 Servo Drive
SINAMICS S210 Servo Drviesは、 SIMOTICS S-1FK2 サーボモータと、 モータとド
ライブへの接続に適したワンケーブル接続 (OCC) ケーブルで構成の一軸 AC/AC サーボドライブシステムです。
サーボドライブは電源電圧 200 … 240 V 1 AC で、 SIMOTICS S-1FK2 サーボモータは、 出力範囲は0.05 … 0.75 kW 、制御システムへの接続のための PROFINET 通信インターフェースが搭載されています。
OCC Cable
本来 2、 3 本のケーブルが使用されていたモーターケーブルは、 いま1 本のケーブルだけで接続されます。 このワンケーブル(OCC) 方式により、 電力供給、 エンコーダ信号やブレーキ信号の伝送が単一ケーブルで実行されます。
Web Server
ドライブのウェブサーバからパラメータ割り付けがもっと簡単になります。
ドライブの機能に基づく試運転が可能になり、 数回クリックするだけで稼働させることができます。さらにSystemがSIMOTICS S-1FK2 サーボモータの電子銘板の読み出しにより、 エンコーダは自動検出されるため、 ワンボタンチューニングでのコントローラの自動最適化など、 オペレータの操作が最小限になります。
- ウェブサーバにもコントローラから PROFINETを介して直接アクセスでき、 アクセスが難しい場所でも楽に試運転できます。
- 追加のソフトウェアなしに、 診断機能を提供
- 試運転および診断も、 ラップトップ PC、 スマートフォンやタブレット から ケーブルなしでも実行可能です。
Diagnose
故障や警告ははS210のDisplayから表示されるだけではなく、ウェブサーバを介して診断情報を確認できます。
Safety Integrated
S210は内蔵セーフティ機能により、 人と機械装置に対してアプリケーション固有の保護を提供します 。 ドライブの Fail-safe digitalinput (STO と SS1 のみ ) または PROFIsafe 対応 PROFINET を経由して使用できます。
Safety Integrated Basic functions
- Safe Torque Off (STO)
- Safe Brake Control (SBC)
- Safe Stop 1 (SS1)
Safety Integrated Extended functions1)
- Safe Stop 2 (SS2)
- Safe Operating Stop (SOS)
- Safely-Limited Speed (SLS)
- Safe Speed Monitor (SSM)
- Safe Direction (SDI)
Profinet
SINAMICS S210 サーボドライブには 制御システムへの接続用で PROFINET 通信インターフェースが搭載されています。RT および IRT での上位コントローラへの接続用の標準化されたプロファイルがサポートされています。
- PROFIdrive プロファイルおよびセーフティ関連通信用
- PROFIsafe プロファイル Shared Device
- リング冗長性
- PROFIenergy などの機能も使用可能です。
Configuration
Siemens S210 Side
Login to Web Server
パソコンとLANで赤矢印のX127を接続します。
Web browserから169.254.11.22にアクセスします。
もしIPアドレスがわからないのであれば、Wiresharkを立ち上げ、LLDPのプロトコルからも調べることができます。
Web browserからこのような画面が表示されます。
Loginします。
S210のWeb ServerがLoginできました。
Control Panel
実際にTwinCAT3と通信するまえに、まずWeb Serverから動かしてみます。
右下にあるControl Panelをクリックします。
Control Panelが表示され、Take ControlボタンをクリックしWebserverからDriveの操作権を取得します。(常にProfinet通信で繋がってる場合はこの機能は使えないので一旦Profinetケーブルを抜いて通信を切る必要があります。)
確認画面が出てきます。Confirmで続きます。
Control Panelが少しオレンジになり、いまはWebserverが操作権を持ってることを示しています。
Speed setpointのところをクリックします。
Speed setpointを調整できる画面が出てきます。
Speed setpointを入力し、Hold to Rotateのボタンで正回転や逆回転をしみます。
よし、動いてますね。
最後はReturn ControlボタンやXボタンをクリックし操作権を返します。
確認Windowsが表示され、Confirmボタンで進みます。
DiagnosticsMessage
Auto Tuning
Commissioning >TuningでAuto Tuningを行うことができます。
Take ControlでWeb serverから操作権を取得します。
Confirmで進みます。
Start TuningでAuto Tuningを始めます。
Auto Tuningのとき最大の回転角度を入力しOKで進みます。
このような感じです。
One Button Tuning successfulのMessageが表示されればOKです!
Save changesで設定を保存します。
Saveで進みます。
しばらく待つと完了です。
TwinCAT3 Side
Downlaod GSDML
下記のLINKからSiemens S210 Servo DriveのGSDML FileをDownloadしてください。
Add Profinet Controller
I/O>Devices>Add New Itemします。
Profinet I/O Controller(RT)を選び>Okします。
Profinetとして使用するEthernet interfaceを選び>Okします。
これでOKです。
Configure the PN Controller
次はPN Controllerを設定します。まずSync Task Tab開き>Special Sync Taskを選択し>Create new I/O Taskします。
新しい更新Taskを作成し、Sync TaskのCycle Ticksを2-Baseで設定します。(1,2,4,8,16…)
Settings TabでControllerのIPを設定し>Set Ip addressingsをクリックします。
必要の場合はPNIO Controllerの名前を変更してください。
Add Siemens S210 Drives
今度はS210を追加します。I/O Devices>Devices>Devices1>Add New Itemします。
いままでのTutorialではMiscellaneousからGSDMLをImportしますが、今回はPROFIdrive MC(DPV2/PNIO)を開いて>PROFIdrive Msic[PROFIENT IO RT/IRT]を選び>Okします。
先程DownloadしたGSDMLをImportします。
SINAMICS S210 PN V5.1とSINAMICS S210 PN V5.2があります。実機のFirmwareと合わせてください。今回V5.1を選択し>Okします。
Siemens Sinamics s210が追加されました。
Configure the S210
Sinamics-s210-pnをクリックします。
まずGeneral>NameでDevices Nameを変更します。
次はDevices TabでIPアドレスをアプリケーションに合わせて変更します。
Download
Activate ConfigurationでHardware ConfigurationをDownloadします。
OKします。
ライセンスが足りないであればYesでライセンス入力画面に切り替えます。
このCodeを入力すれば7日のTrailライセンスが追加されます。7日過ぎたらまたCodeを入力すればよいです。
TwinCAT Systemをリセットします。
よし、これでOKです。
Scan PNIO Devices
最後はS210にDevices名を振り分けます。
Profinet Controller>PROFINETのTab開いて、Scan PNIO Devicesをクリックします。
TwinCAT3がProfinetネットワーク内のPN DevicesをScanします。Siemens s210 Servo Drivesがみつかりました。
StationnameをConfigurationを入力し、Set StationnameをでDevice nameを設定します。
Stationnameは変更OKです。
Rescan Devicesをすると、Device Nameはmys210drivesに変わり、IPもConfiguration通りに192.168.3.120に変わりました。
Box StatesからみるとNo ErrorでCommunication establishedになります。
通信成功です!
Add Axis In your Project
Motion>Add New Itemします。
NC/PTP NCI Configurationを選び>OKします。
Axesが追加されました。
Add NC Axis
先ほど追加したAxesを右クリック>Add New itemします。
Axesの名前を入れ、Okします。
Axis1が追加されました。
Mapping
PROFIdriveの実機デバイスとAxisを紐つけます。SettingsのTabを開き、Link to I/Oをクリックします。
ProDriveを選び>Okします。
いまSiemensのDriveと紐付けられました。
Parameters
次はいくつかのパラメータを設定します。
Drive
Driveをクリックし、Drive側のパラメータを設定します。
Invert Motor Polarity
実機に繋がくと実際は回転が逆になることもなり、そのパラメータをTRUEすることでMotorのFeedback方向を反転します。
FALSE: データが正回転するとFeedback値が大きくなる。
TRUE:データが正回転するとFeedback値が小さくなる。
Reference Velocity
DriveのLimit 速度をアプリケーションに合わせて設定しましょう。
at Output Ratio[0.0..1.0]
そのパラメーターは機械がまだ立ち上がってる段階で非常に役に立ちます。つまり実際のReference Velocityの?%を出力をLimitすることができます。
PROFIdrive
PROFIdriveをTab開きます。まずEnconderをAbsに変更します。
モーターについてるEncoderがAbsなので。
次はP979,2・P979.4をS210から読み出し、Calculate Output Scale>パラメタをDownloadします。
Enc
こちらはEnconderの設定をします。
Invert Encoder Counting Direction
FALSE: モータの方向とEncoderのCount方向は同じです。
TRUE:モータの方向とEncoderのCount方向は逆です。
Scaling Factor Numerator and Scaling Factor Denominator (default: 1.0)
Scaling Factorは分子と分母に分かれていて、非常にわかりやすい設定項目になります。その2つのパラメーターの組み合わせでEncoder のCountからUser unitに変換する役割ができます。
360mm=1rev、22Bit Encoderなので、360と41944304.0と設定します。
Limit Switches
Software Limitが必要な場合は設定してください。
Axis
最後はAxisのパラメータを設定します。
Cycle Time(ms)
Settings Tab>Cycle Time(ms)で更新周期を変更できます。
Maximum Velocity
次は最大速度を設定します。
Default Dynamics
こちらのパラメータはプログラムのMC_XX Function Blockを使用するとき、Defaultのパラメータを設定した場合はこれらの値になります。
Manual Motion and Homg
こちらのパラメータはControl Panelを使用するときの設定になります。
それはControl Panaelですね。
Position Lag/Position Range/Target Position Monitoring
機械が立ち上がってる段階でそれのMonitoringのことでエラーが頻繁に出ますので、最初にはFalseしておきましょう。
Position Lag Monitoring
Position LagはSetpointとActual Valueの差を比較し、Limitを超えたらエラーになります。MaxとMinは少しずつ調整して行きましょう。
Position Lag Errorは現在位置を現在Setpoint位置にマイナスする。
- TRUE: Position Lag Monitoring 機能を有効にします。
- FALSE: Position Lag Monitoring 機能を無効にします。
Position Range Monitioring
Variable Axis.Status.InPositionArea:
Axis.Status.InPositionAreaがTrueになる条件を設定する。
現在値がTarget値のPosition Range Windows以内にいるとTrueになります。
Target Position Monitoring
Axis.Status.InPositionAreaがTrueになる条件を設定する。
現在値がTarget値のPosition Range Windows以内にいるとTrueになります。
Controller Kv-Factor
Kv FactorはPosition Control内Loop Gainに組み込む大事な変数です。つまりその変数は
Target positionと現在PositionのPosition Errorを0にするように速度を調整する。
Kvが大きくなればなるほどシステムの調整が高速になりますが、大きすぎると逆に不安定になることもあります。
下図のようにパラメーターには2つの定数Pがあり、Standstill範囲と移動範囲を定める値になります。それらの値は移動中のトルクと別で起動のトルクとBrakingトルクをDriveに与えることができます。Kv FactorとVelocityのしきい値は0.0 (0%) から1.0 (100%)まで設定できます。
下図のように、Velocity のRamp は敷礼値50%までLimitされます。t1とt3のKv Factorはt2のKv Factorと違ってもOKです。
TwinCATのControl Panelでも直接にController Kv-Factorを調整することが可能です。
Control Panel
Online tabでTwinCATのDrive TwinCAT Panelを開きます。
Reset
F8青いボタンでDriveをリセットできます。
Enable Axis
AxisをEnableします。EnablingのSetボタンをクリックします。
Controller Checkbox:AxisをEnableする
Feed Fw Checkbox:Axisを正回転Enableする
Feed Bw Checkbox:Axisを逆回転Enableする
StatusがReadyのCheckがあれば、AxisがEnableされた状態です。
Jog+/-
F2とF3で低速Jogの正回転と逆回転操作ができます。
このようです。
Jog++/–
F1とF4で高速Jogの正回転と逆回転操作ができます。
このようです。
Go to Target Postiion
Target Positionを入力>Target Velocityを入力>最後はF5をクリックすれば位置決めTaskを実行します。
このようですね。
Stop
最後に実行中のTaskをStopしたい場合、F6を押してください。
Summary
今回の記事ではSiemensのS210を立ち上げ、そしてTwinCATのプロジェクトでHardware Configurationを設定しControle Panelを動かし、重要なパラメーターを設定しました。
次回も楽しみ!