OMRON#Sysmac StudioのStackIns関数を使ってみよう

こちらのシリーズではSysmac Studioの様々なFC・FBをプログラム例付きで解説します。今回はStackInsという関数を紹介します。

さ、FAを楽しもう。

Reference Link

http://soup01.com/ja/category/omron%e3%82%aa%e3%83%a0%e3%83%ad%e3%83%b3/sysmac-studio-instruction-list/

前書き

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

技術は独り占めせず、届けるもの

私たちは工場の生産技術や制御に関する技術情報を、ブログや動画などで無料公開しています。「知識は誰でもアクセスできるべき」という信念のもと、現場で役立つ具体的なノウハウやトラブル事例などを発信してきました。すべて無料で続けているのは、「知らなかったせいで困る人」を少しでも減らしたいからです。

また、もしあなたの現場で…

  • 「このPLCとデバイスの組み合わせ、ちゃんと動くのかな?」
  • 「EtherCAT通信でうまくいかない部分を検証してほしい」
  • 「新しいリモートI/Oを試したいけど社内に検証環境がない」

など、困っている構成や試してみたいアイデアがあれば、ぜひお知らせください。機器の貸出や構成の共有が可能であれば、検証し、記事や動画で発信します(ご希望に応じて匿名対応も可能です)。

支援のかたち

現在、私達の活動はほぼ無償で続けており、記事や動画の制作には、時間と検証環境の整備が必要です。この活動を継続的にコンテンツを提供するためには、皆様の温かいご支援が大変重要です。

メンバーシップ(ラジオの応援)

Fullさんとのラジオをより充実させるための支援プランです。

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

Amazonギフトリスト

コンテンツ制作に必要な機材・書籍をリストにしています。

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

Patreon(ブログ・動画活動への応援)

月額での小さなご支援が、記事の執筆・検証環境の充実につながります。

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

Paypal

小さな支援が大きな力になります。

https://paypal.me/soup01threes?country.x=JP&locale.x=ja_JP

知ってたら助かること、届けたいだけです

あなたの応援が、知識の共有をもっと自由で持続可能なものにしてくれます。これからもどうぞよろしくお願いします。

soup01threes*gmail.com

https://x.com/3threes2

技術はひとりじゃもったいない。

StackIns

StackIns 命令は、スタック配列 InOut[] に Num 個の要素が格納されていると想定しています。In(挿入値)は、Offset で指定された InOut[Offset]の位置に挿入されます。

すべての上位要素、すなわちInOut[Offset]からInOut[Num-1]までの各要素は、スタック配列の次の上位要素に移動されます。そして、Num変数が加算されます。

Size(スタック要素の数)には、スタックに使用するInOut[]要素の数を指定してください。

変数

Meaning

I/O

Description

Valid range

Unit

Default

In

挿入値

Input

スタックに挿入する値、構造体、または構造体メンバー

Depends on data type.

*1

Size

スタック要素数

スタック配列の要素数

1

Offset

オフセット

スタックに挿入する位置

0

InOut[] (array)

スタック配列

In-out

スタックとして機能する配列

Depends on data type.

Num

保存要素数

スタックに格納されている要素数

Out

戻り値

Output

常にTRUE

TRUEのみ

Implementation

次はStackIns関数を使用し配列にデータの挿入を実装します。

変数

こちらは今回プログラム例で定義した変数です。arrstDataは実際StackInsを使用し操作するデータになります。

プログラム

こちらは今回の記事のプログラムになります。注意するのは今回StackIns関数を呼び出すときには@マークがついてるため、EN入力xStackInsが立ち上げのみで、関数を実行します。

結果

こちらが結果です。今回はxStackIns=TRUEで、StackInsOffset=2のことで、arraDataの2つ目のデータにmyDataが挿入されます。

そしてuiStackNo2は現在arrDataに存在してるデータ数を表しています。

myDataの現在値は以下になります。

下図の通り、Index2にはMyDataの値が挿入されました。

シェアする

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

フォローする