TE1111はEtherCAT Simulationです。これ使って既存のプロジェクトからEthercatのIO ConfigurationをExportし他のTwinCATプロジェクトでEtherCAT SimulationをImportすることができます。Importされたあとに”Mirrored Image“ができて、このImageをTwinCATのモジュールと接続することもできます。例えばTE1400のSimulink Target・TE1420・あと普通のPLC Process IOにもLinkできます。つまり:
- Mirrored Image IOが他のモジュールとLinkできます
- リアルのデバイスとSimulationのデバイスを混在することができます
- AOE/SOE Support(?勉強不足でまだわかりません)
- COEパラメタSupport(?COEはまたなんなん…)
- Fault Simulation
ちなみに、Demoライセンスは30分一回すべてのSimulationIOが無効になります。
使用CASE1
Virtual CommissioningでEtherCAT Simulationを使う。構成は以下のようになります。
EtherCAT Master DeviceはControl PCで本来の装置を制御する、最後には実機とつながるものです。
EtherCAT Simulation DeviceはSimulation用のIPCで中にEtherCAT Simulation TE1111が入ってるものです。
そして2つのIPCではEtherCATのStandard Cablesつながっています。
使用CASE2
こちらはEtherCAT間で同じIPCでSimulationする構成になります。
例えばLogicのテスト・Virtual Commissioningの前のDebugなどはこっちの構成行きます。
今回のExampleはこっちの構成ですー
使用CASE3
CX のEtherCAT MasterとTE1111が入ってるの構成になります。
今回はやりませんので詳しく説明しません(自分もCXやったことありません)
使用CASE4
CU2508構成です。使ったことありませんので…
Example
今回は使用CASE2に使用します。
Real-Hardware Project側
まずEtherCAT MasterとCouplerが構成されてるプロジェクトを開きます。
Devices> Devices 1(EtherCAT)をクリックします。
EtherCATのTabでExport Configuration File..でいまの構成をExportします。
Fileの名前や保存先を選択します。
保存したら、このようなxml Fileが出てきます。
EtherCAT Simulation Project側
新しいプロジェクト作成します。
I/O>Devicesで右クリック>Add New Item…します。
EtherCAT>EtherCAT Simulationを選択し、OKします。
それでEtherCAT Simulationが作成されました。
次はそのDevice 1に右クリックし、Import ENI Fileします。
先のProjectからExportされたxmlを選び、Openします。
同じの構成がそのSimulation TwinCAT Projectも出てきます。
Activate Configurationします。
XAEからWarning Popup出てきます。
そのEtherCAT SimulationがMasterと同期する必要がありますので、最低限1つの変数を実際Taskで使用してる変数とLinkしてください、と。
もちろん、それでもTwinCAT Systemが無事に起動はできますよ。
では、変数をEtherCAT SimulationのInputモジュールとOutputモジュールをLinkしてみましょう。新しいPLC Objectを追加します。
POUの中にProcess IOの変数を定義します。
そしてBuild Solutionします。そのStepはすごく大事です。
BuildしないとLinkできません。
EL1008
ではEL1008のChannel1のInput をクリックします。
VariableのTabへ行きます。
Linked to..のボタンを押します。
先のTerm2_IN_2を選択肢、OKします。
なぜQ?だと思う人がいるかもしれませんが、モジュールにとって自分のINPUTは他のデバイスからのOutputですからね。
EL2008
次はOutputモジュールも同じの作業します。
今度はIのほうを選び、OKします。
テスト
まずPLC側のQをTrueしてみます。
そうするとEL1008のINPUT Channel1がTrueに変わりますね。
逆にEL2008のChannel 1を確認します。
Channel1をTrueにします。
そうすると、IのほうがTrueに変化しました。
はーい、お疲れ様です。
本来はTE1400と繋がるのは一番ですが…今回でCOE、AOE、SOEなどのたくさん新しいものが出てきて、EtherCATのことも勉強しないと!と思っていますので、先こっちが優先させていただききますー
もしなにか質問あれば、メール・コメント・Twitterなどでもどうぞ!
Twitterのご相談:@3threes2
メールのご相談:soup01threes*gmail.com (*を@に)