SelmoStudio#自動リセットのモデルを作成しよう

今回の記事ではSelmo StuidoにLogic Layerに自動リセットのモデルを作成し、自動生成されたコードをBerghof ControllerにImportします。また、EtherCAT IOと直接繋がったり、SimumatikのSimluation Platfromと連携します。

さ、FAを楽しもう。

Reference Link

http://soup01.com/ja/category/selmostudio/

http://soup01.com/ja/category/berghof/

http://soup01.com/ja/category/simumatik/

前書き

いつも私の技術ブログとYouTubeチャンネルをご覧いただき、心より感謝申し上げます。また、いまFullさん(full@桜 八重 (@fulhause) / X)と共に毎週水曜日の夜にお届けしている「高橋クリス」ラジオ番組を運営しています。

現在、私達の活動はほぼ無償で続けており、より多くのコンテンツを提供するためには、皆様の温かいご支援が大変重要です。もし可能であれば、以下のリンクから応援していただけると大変嬉しく思います。

高橋クリスのメンバーシップ

こちらはFullさん(full@桜 八重 (@fulhause) / X)と共にやっているラジオにメンバーシップを登録いただけます。

https://note.com/fulhause/membership/join

AMAZON ギフトリスト

こちらは自分のブログのコンテンツ制作や設備の充実に大いに役立てさせていただきます。

https://www.amazon.co.jp/hz/wishlist/ls/H7W3RRD7C5QG?ref_=wl_share

Patreon

こちらは自分のブログのコンテンツ制作や設備の充実に対する小さな応援の気持ちのPatreonです。

https://www.patreon.com/user?u=84249391

皆様のサポートが、私たちの活動をより充実させる力となります。

どうぞよろしくお願いします。

メールアドレス

soup01threes@gmail.com

X

https://x.com/3threes2

Selmo operands 

Selmo Operandsは、システムがどのステップでどの状態を持つべきか、あるいはシステムがどの状態を取るべきかを定義するために使われます。 機械状態を正しく定義する方法と、各オペランドが何をするかが示されています。

  • 0 – don´t care
  • I – Interlock Check
  • S – Sequence Check
  • D1 – Decision Path 1
  • D2 – Decision Path 2
  • M – Monitoring Check
  • J – Jump
  • C – Cancel

対応するゾーン、ステート、オペランド、モニタリングが定義されると、その後のプログラミングの基礎が作られます。

つまり、オペランドはプロセスの流れを制御・監視し、各ステップで機械の状態が正しく定義されていることを保証します。

Implementation

Selmo Side

今回Logic Layerに自動リセットのモデルを作成します。システムは、スイッチが一度オンになった後、スイッチが再びオフになるまで連続的に動作するように設計されています。 このため、ジャンプ・コマンド(Jump)を使用します。

Logic Layer

こちらは今回記事で作成したLogic Layerになります。

  • S01:SW OFF、スイッチがOFFの状態であります
  • S02:SW ONスイッチがONになるまで待ち
  • Step3:何かの動作
  • Step4:何かの動作
  • Step5:LAMP出力
  • Step7:タイマー:5秒待ち
  • Jump7:Jumpコマンドが実行、SW02:SW ONに戻る

Jumpコマンドは”Add Step”のところにあります。

Jumpコマンドを実行するときのジャンプ先を設定するには、部品をそのまま線をDropすればOKです。

System Layer

こちらは今回の記事のSystem Layerです。

#7のJump7ではJ オペランドを使用しジャンプ動作を実行します。

#6 Step7は遅延TimerがONになるまでランプ出力し続けます。

HMI OPC Setting

次はSelmoの自動生成HMIを使用するには、OPC UA接続を設定するために、Target Systemを開き>Select Target Systemを”Custom OPC UA”を選択します。

OPC UA Base Identifierの項目にCPUのOPC UA Server URLを入力してください。

uaExpert からApplicationのAddress Spaceまでアクセスしてください。

Attributes>IdentifierのPathをCopyに、先程の項目に貼り付けましょう。

Generate PLC-Code

最後はGenerate>Generate PLC-CodeでPLCコードを生成します。

Codesys Side

次はBerghof CPU側を構築します。

Import Library

Selmo LibraryをCodesysプロジェクトにImportします。

Import PLC Code

先程Selmo側でExportしたPLCコードをCodesys プロジェクトにImportしてください。

OKで進みます。

Done!Selmo Studio側で生成したコードをImportできました。

Configure EtherCAT IO

Berghof のRaspberry PIにインストールしたIOを構築します。

DUT

こちらは8BITをまとめた構造体になります。

gIOMapping

こちらはEtherCAT IOとMappingするための変数を定義します。

Mapping

EtherCAT I/O Mappingを開き、今回記事で使用した入出力をGlobal Variables Listと紐つけます。

Selmo Stuidoで生成したコードは、InputMappingとOutputMappingだけは手動で行う必要があります。こちらはSequenceの入力MappingのGVLです。

こちらはSequenceの出力MappingのGVLです。

Call Program

最後はMAINプログラムにSelmo Stuidoで生成したGlobalControl()とGlobalUtilities() POUを呼び出します。

Login

Online>LoginでプロジェクトをCodesys RuntimeにDownloadします。

Result

Generate HMI and start the executableをクリックしSelmo HMIを立ち上げます。

こちらの動画からSelmo Stuidoで生成したコードを実行する結果を確認できます。

Selmo.Playing with Berghof CPU‐ With monitor operation in Selmo Studio

次はSimumatikのPlatfrom上で動作を確認します。

こちらの動画からSelmo Stuidoで生成したコードとSimumatikを連携した結果です。

それはボタンを押す>>Objectが生成>>5秒待ちの繰り返しになります。

Selmo Playing with Simumatik and Berghof CPU

また、SelmoのHMIにはSingle Modeがあり、動作Flowを一時停止し、HMIのボタンを押したら次のStepに進むような、Debugに役に立つモードがあります。

こちらの動画からSingleモードの動作を確認できます。

Selmo.Playing with Single Step Mode

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

シェアする

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

フォローする