HTP#Part02_Junction BOX with Taskscript‐ Create new project

HTP Junction BOX PLCとTaskscriptのTutorial第2話です。今回は0からプロジェクトを作成し、なおかつTaskscriptに重要な部品を少しずつ説明しながらしていきます。

さ、はじめよう!

Reference Link

HTP#Part01_Junction BOX PLC Openbox

Communication Settings

PCとPLCBOXを繋がるための通信設定を行います。

View>Settingsを開きます。

Serial Interface>USB Newを選択します。

Network InterfaceにSubnetを設定しましょう。

IPが192.168.5.xの場合、Subnetを192.168.5.255に設定してください。

Discover ControllersでPLCBOXを検索します。

Done!PLCBOXが見つかりました。

BrowserからPLC BOXのIPを入力すると、該当するPLCBOXの情報を確認できます。

Create Project with Wizard

前回はSampleプロジェクトで試しましたが、今回は0から新規プロジェクトを作成していきます。File>New with WizardもしくはCtrl+w で新規プロジェクトを作成します。

Board Tpeの設定画面が表示されます。

Drop-listからBoard Typeを設定します。

設定するBoard TypeはさきほどのWEB画面から確認できます。

Done!

Configure the IOs

入出力の各点がわかりやすいよう、IO名を変更します。

下図のように入力・出力のICONを示しています。

次は入力Channel0の名前を変更してみます。

IO_I1をダブルクリックします。

Bit Inputの設定画面が表示します。

Variable Name

Variable Name欄で該当する変数の名前を変更できます。

i_ch_1に変更いたします。

Physical Allocation

こちらは該当するBit Inputデバイスと紐付けるHardwareアドレスを設定できます。

三菱のX0、X1のようなイメージです。

Array Size

該当するデバイスのArra Sizeを設定します。ScalarはSingleの変数になります。

Result

Done!変数名を変更しました。

Flow

こちらはTaskScriptに構築するFlowになります。

ロジックの部分は今回の記事で作りませんが、TaskScriptの中に大事な部品を少しずつ説明させていただきます。

Main Task

最初はMAIN Taskを構築します。

Taskscriptにあるmain Taskを右クリック>Open Task EditorでTask Editorを開きます。

こちらはMAIN Taskの内部です。

Task?

Taskというのは、モデルのモジュールを実現するためにある部品で、Taskは自己のロジック完結を実装するためにあり、なおかつFlowの中にInstance化することができます。

Taskの定義はContext EditoからTaskの名前とOptionsなどの設定できます。

Init Step

次はMAIN Taskの中にあるInitStepを構築します。

Taskは1つのEntry Pointあり(Initial Step、初期ステップ)、そして場合によってExit Pointなしも複数で設定できます。

Configure

InitStepをダブルクリックすると設定画面が表示されます。

今回はNameをmain1に変更します。

Done!

Update Name

Step名を変更したあとOpen task Editorをもう一回クリックし、Treeの表示を更新します。

Done!

Context Diagram Editor

プロジェクトFlow全体を確認したければ、Treeの一番上にあるICONを右クリック>Context Diagram:Your project nameをクリックします。

このように全体Flow画面に戻れます。

New Task Model

今度は新しいTask Model(赤枠のSubSeq)を追加します。

先程の操作で全体Flow画面に切り替えます。

右のToolbarからTask Modelをプロジェクトに追加します。

Done!新しいTask Modelが追加しました。

Task Modelをダブルクリックし、Task名を変更します。

Done!

Update View

Task Model名が変更されたら、もう一回該当するModelを選び>Open task EditorすればプロジェクトTreeが更新されます。

Done!

Add Parallel

次はInitStepのmain1からStepのmain2に移行する制御を作成します。

mainを右クリック>Open Task Editorします。

右のToolbarからParallel部品を追加します。

Done!

Parallel Fork/Synchronize?

Parallel Fork/Synchronizeは、2つまたは3つの並列計算スレッドを開いたり、同期して閉じたりするのに使われる。

下図のように、3本の平行Threadsが同時に実行されます。

beginのInitStepを実行したあと同時にWaitClk・user Task・all_OFF3つのThreadsが実行されます。注意するのはここのExampleではbegin Stepの移行条件がTrueだけで、アプリケーションによってロジックから判断することも可能です。

下の図は、上の二重バーとThreadsを同期する下の二重バーを両方とも同時に使用するExmapleです。つまり、Step Perc20と Step perc70の両方が有効になり、そして実行完了したらwaitX Stepに戻ります。

Align

TaskScriptは複数の部品を整列できます。下図ではInitStepとParallel部品をCtrlで複数に選択し>Aligh horizontallyをクリックすると、2つの部品を真ん中に揃えることができます。

Done!

Arrange Flow

InitStepが完了したあとにParallel 部品に移行するように設定するため、InitStepを右クリックしながらParallel部品に移動すればOkです。

下図のような操作です。

Done!

Add Step

今度はInitStepの次にあるStep main2を構築します。

右のToolbarにあるStep部品を追加します。

下図のような操作です。

Done!

先と同じ操作でStep main2とParallelを接続しましょう。

Add Task Instance

最後はSubSeqのTaskをMAIN Flowの中で実行するようにします。

右のToolbarにあるTaskを追加しましょう。

下図のような操作です。

Done!

Add Flow Control

main2 Stepが実行完了のあとTaskInstance Subseq01に移行するように設定します。

先ほど説明した操作で同じ部品を接続しましょう。

Model Name

Taskをダブルクリックし>Model NameのDrop ListからSubSeqw設定して下さい。

OKで進みます。

Task instance?

Task Instanceは、Taskの機能をモデル内部で使用できるようになります。PLCのIEC61131-3だとFunction BlockのInstanceだと理解していただければよいと思います。インスタンス化されたタスクが引数を持つ場合、引数を必要な変数に接続することで、引数を実体化することもできます。

下図のように、Task Instance名は任意の名前にすることができ、Model Nameではプロジェクト内で利用可能なモデルを定義すればよいです。

Validate

プロジェクト作成終わったので、ValidateボタンからプロジェクトのCheckを行います。

赤画面が出るのはプロジェクトにエラーがあることを示しています。

エラーメッセージはSubseqのTaskにInitial Stepがありません、と。

さきほども説明しましたが、Task内にInitial Stepは必ず必要です。

Add Init Step

Subseqを右クリック>Oopen task Editorします。

右のToolbarにあるInitial Stepを追加します。

Done!

もう一回Validateするとエラーがなくなりました。

Build

プロジェクトのソースコードを生成します。

Done!

Hold in Load Mode

HTPのPLC BoxをLoad Modeに切り替えます。

Upload and Run

Deloy>Upload and Run ControllerでプロジェクトをPLCにUploadします。

OKで進みます。

Done!

Connect 

Deloy>Connect to Physical ControllerでPCとPLCBOXと接続します。

Run

RunボタンでPLCをRun Modeに切り替えます。

Done!いま緑になったSubSeq01になって、つまりSubstep01 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

シェアする

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

フォローする