今回はPilz PSS4000 紹介の第2話です。今回はPSS4000からST Blocksを作成しPSSu PLCに実行してみようと思います。
PSS4000ではIEC61131 programmingをSupportしており、Function Block Type・POU Type・Function Typeを作成できます。今回紹介するプログラム手法は”Non-Safety-Related” のST Blocksで、そのST Blocksは”ST Resource”と”FT Resoure”にも実行できます。
そのST BlocksはPAS4000上で緑色に示し、逆FS BlockはPAS4000上で黄色に示しています。
注意するのは ST resource はセキュリティではなく、適用できるのはNon-Safety動作に限ります(たとえばStart/Stop信号)。もし該当する信号が機械の安全動作に影響するのであれば、必ずST resourceにその制御プログラムを作成しないでください。
Thanks!
この記事で使用するRevPI ConnectはPILZ JAPANが貸してくださった機材です。
PILZ
PILZは安全およびオートメーション技術のソリューションでトータルソリューションサプライヤとしてのFA現場を支え、人の安全だけではなく、機械、および環境の安全を保証し、機械や設備をいかに安全に稼働させます。ピルツは全世界に42の現地法人や支社を設置し、包装、自動車産業、ロボットアプリケーション、さらに風力発電、鉄道技術など様々な分野で活躍しています。
Office:
ピルツジャパン株式会社
〒222-0033
横浜市港北区新横浜3-17-5
いちご新横浜ビル 4階
HP
Reterence Link
ADD POU
PAS4000からIEC61131 programming>右クリック>New>Device>POUします。
4つのプログラム言語と3種類のプログラムTypeを設定できます。今回使用するのはSTL(Structured Text)、つまりSiemensのSCL・Beckhoff TwinCATのSTと同じです。
Typeは”Program”を設定しましたが、今度の記事はFunction BlockやFunction も紹介しますので楽しみしてください。
POU_1[PRG]が追加されました。
EDIT
POU_1をダブルクリックするとST Editorが表示されます。
Area1は変数の宣言エリアで、Area2はプログラムを作成するエリアになります。
VARとEND_VARの間にDINT Typeの変数myCounterを宣言します。となりに黄色のICONがついていますが、それは該当する変数がプログラム内に使用されていないWarningです。
次はArea2からmyCoutnerを毎Cycleに加算する、すごく基本的なプログラムを作成します。STL/ST/SCLを使用するよいところはVendorのPLCに拘らずすぐプログラムできるのはメリットだと私が思っています。
Build
Build>Build Allでプロジェクトをコンパイルします。
Task Configuration
次はPLC内に呼び出しのTask設定を行います。Hardware configuration>Device_0>ST resourceをクリックします。
Resource Assignment Editorが表示され、このEditorからプログラムの呼び出しやTaskのCycle Time調整などの設定ができます。
IEC61131 programming>POU_1(つまり先ほど作成したプログラム)を選んでそのまま右にあるResource >ST resourceにひっばります。
このような操作です。いまDevice_0にPOU_1を呼び出しするようになりました。
ProperiesではTaskの周期やTypeなどの設定を一覧できます。
Download
Target>Direct Project DownloadでProjectをCPUにDownloadします。
Download のPopupが表示され、”Start Download”のボタンをクリックしDownloadを開始します。
”I accept a change to the FS device projects”のCheckboxを入れ、ConfirmでDownloadします。
しばらく待ちます…
Done!
CPUのST RUNが点灯になります。
Monitor
次はプログラムをMonitorします。先程作成したPOU_1を右クリック>Dynamic program displayでProgramをMonitorします。
PAS4000ソフトの下にMonitor画面が表示されます。
右にある”Start dynamic program display”をクリックすればMonitorを開始します。
このような操作です。
Monitor画面下にも変数の現在値が表示されています。
Bonus 1-Show hide declaration
Monitor画面ではShow/Hide deleration partのボタンがあります。
それによりVAR ..END_AR変数の部分を非表示・表示することができます。
Bonus 2-Show Data in Other Format
次は変数のところに右クリックするとForamt Menuが表示され、Hex/Bin/Dec/Octで表示の切り替えもできます。
Bonus 3-Variable lists
最後はVariable listsです。おそらくこの機能は一番使うでしょう。右クリックでShow Instance Treeします。
いまST resourceにある変数がInstance Treeから表示されます。
Add Variable to variable ListでVariable listsに追加する変数を設定できます。
Variable lists VarList1にmyCounterの変数が追加されました。
現在値も直接Monitorできます。
Force/Control valueのFieldから変数の現在値を変更できます。
クリックするとForce/Control ValueのPop upが出てきます。
このように現在値を変更できます!
Variable listsのObjectをクリックすれば先ほど追加した変数が見えます。