2017-09-15 10 views
1

Beckhoff EL6002のボーレートの設定方法が見つかりません。私はそのためにCoeWriteブロックを使用すべきであるというヒントを得ましたが、私はTwinCATを少し熟知しているので、正しい機能ブロックを見つけることができません。誰かが(構造化テキストの)コード例を送信する方法を教えてください。TwinCAT3 PLCのボーレートをEL6002またはEL6001に設定する方法は?

答えて

1

別の解決策は、IO構成とCOE-オンラインタブの下でそれを変更することです。そこに更新すると、常に値が記憶されます。

コードでは、CoE(Can over EtherCAT)でも更新できます。設定変数のインデックス番号はdocumentationです。チャネル1の場合、8000:11のようにインデックス= 8000、サブインデックス= 11となります。

Tc2_EtherCATライブラリのメールボックスライターブロック(FB_EcCoESdoWriteEx)を使用すると、そのパラメータに値を書き込むことができます。したがって、PLCプログラムが起動したら、変数を希望のボーレートに更新するコードを実行してください。例えば

、このような何か:

TargetValue := 1; //WORD, Check documentation for correct value 

//MailBoxWriter = Instance of FB_EcCoESdoWriteEx 
MailBoxWriter(
     sNetId:= **AmsNetId of the EtherCAT master**, 
     nSlaveAddr:= **Serial interface terminal port**, 
     nSubIndex:= 11, 
     nIndex:= 8000, 
     pSrcBuf:= ADR(TargetValue), 
     cbBufLen:= SIZEOF(TargetValue), 
     bExecute:= TRUE, 
     tTimeout:= T#500MS, 
     bCompleteAccess:= FALSE, 
     bBusy=> , 
     bError=> , 
     nErrId=> 
    ); 

sNetIdは、EtherCATのバスマスターのAmsNetIdです。これはIO構成からリンクできます。Master->Infodata->AmsNetIdを参照してください。

nSlaveAddrは、EL6002の端末ポートであり、IO設定からリンクできます。Terminal->InfoData->AdsAddr->portを参照してください。

2

プログラミングの代わりに、IO構成を介して直接構成することもできます。スタートアップ値を追加すると、IOが指定された状態から別の状態に変わるたびに設定されます。以下の写真では、Pre-OpからSafetyに移行するときを意味します。したがって、IOを置き換えても機能します。

Setting IO Startup values

関連する問題