Codesys#Tasklocal Global Variables List

Codesys ではglobal variable list はよく使われてると思いますが、次はglobal variable list (takslocal) というオプションもあると知ってますか?今回の記事ではこの機能を紹介したいと思います。global variable list (takslocal) というのはそのGlobal Varable List内で定義されてた変数は指定したTask以外に現在値を変更することができません。

Create Global Variable List(tasklocal)

Application 右クリックしadd object > Global Variable List(takslocal) を作成します。

Takes with write access の項目が出来ています。つまり、設定されたtask だけ、そのglobal variable list 内の変数の現在値を変更できます。

では試しにプログラムをもう一つ作ってみましょう。

Add Task

Takes Configuration>Add Object>Task を作成します。

Task の名前は適当でokてす。

次はそのタスクに実行するPOUを設定します。Add Call をクリックします。

 先程追加されたPLC_Task2を選びます。

それでokです。

Configuration

最後にはgloal variable list (task local) をもう一度追加して、task with write access にはさっき作成したタスクを選択し作成します。


その変数リストを開くとtaka with write access の項目が出てきます。作成したリストもあとからアクセス可能なタスクを変更できます。

では中で変数を定義してみますね。

Test

そして比較できるように普通のglobal variable list も作っておきます。

中でも同じ変数を定義します。

PLC_PRGのPOUをさきに開きます。

普通のgvl 内の変数を書き込んでみます。

次はtaka local のgvl も書き込むのプログラムを作成。

Build > Generate Code プロジェクトをコンバインします。

PLC_PRGにエラーが出てきましたね。

View>Message で情報を確認します。

]

TasklocalGVL_PLCTask2.b1に赤い線がついてます。

エラーは該当するTaskがそのGlobal変数を書き込みする権限がありません、と。

つまり変数は読みがよいが、現在値を変更するのはTask localで定義されてたTaskのみになります。

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

シェアする

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

フォローする