EXOR#USBありなし検知と自動削除を設定しよう

今回の記事ではEXORのJMOBILE上でHMIやエッジデバイスがUSB抜かれたときの状態取得・そしてUSBメモリの容量低下するときに自動削除の設定を説明します。

さ、FAを楽しもう!

前書き

いつも私の技術ブログと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

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

Reference Link

http://soup01.com/ja/category/exor-ja/

USBドライブ変数

こちらはデバイスに接続された外部USBドライブに関する情報です。

変数説明データ型
USB Drive free space空き容量(バイト単位)uint64、読み取り専用
USB Drive NameUSBデバイスの名前string、読み取り専用
USB Drive SizeUSBポートに接続されたデバイスのサイズ(バイト単位)uint64、読み取り専用
USB Drive Status0 = USBドライブ未接続<br>1 = USBドライブ接続済int、読み取り専用

DeleteOldFiles

このマクロは、指定した日数より古いファイルを削除します。

PCではパスの使用に制限はありません。パネルでは、ダイナミックメディアおよびデータパーティション(/mnt/data)での使用が許可されています。

パラメータ説明
FolderPath削除するファイルを検索するフォルダ
FileTypes削除するファイルの種類をカンマ区切りで指定する。ワイルドカード使用可。<br>例:*.png, *.jpg
OlderDays変更がない最小日数

Implementation

それではJMOBILE Studioを開き、実際にプロジェクトを構築しましょう。

Protocol追加

今回の記事で作成した構成では、以下の2つのProtocolsを追加する必要があります。

  • System Variables:USB状態を取得するProtocolです。
  • Variables:画面の内部の変数です。

Tags追加

次は下図のようにUSB関連の変数を追加します。

  • USB Drive FreeSpace
  • USB Drive Size
  • USB Drive Status

EXORのJMOBILE RUNTIMEからアクセスするUSB変数はByte単位なので、Scalingを設定しBytes→GBに変換します。

下図のように現在値を1e+09に割ればGBに変換できます。

Popup

こちらはUSBが抜かれたときの表示POPUPです。

画面

こちらは今回の記事の画面です。

画面から以下の表示ITEMを追加しました。

  • USBのありなし表示
  • USBの現在容量
  • USBの削除リミット

警報設定

次はUSBが抜かれたあとのアラーム表示、そしてUSB容量が少ないときのアラーム表示を設定しましょう。

Alarm1

こちらはUSBメモリが抜かれたときのアラーム設定です。valueAlarmに設定し、Trigger値を0にします。

次はAlarmが発生したとき、ActionにShowDialogのイベントを追加します。

INFO-USB

次はUSB容量低下のアラームです。

こちらのlimitAlarmはタグ値が限界値を超えたときにトリガーされるアラーム、注意するのは値が限界値に達しただけではアラームはトリガーされません。

下記の[ ] 枠にTag名を入れると、アラームが発生したとき該当するTagの現在値を確認できます。

次はトリガーイベントですね。今回はUSBメモリ、.7zで、30日前のFILEを全部削除します。

結果

USBの容量などを確認できます。

下図の動画で動作確認しましょう。

シェアする

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

フォローする