温湿度計

弊社で作成する検査ソフトや計測ソフトなどは、結果情報として室温も一緒に測定して残しておくような場合が良くあります。

この場合の室温は厳密な測定値ではなく、一般的な温度計で測定した結果で良いのですが、なかなかベストな機器がなくいつも悩んでいました。
工業用などではあるのですが、高機能で高価な製品ばかりです。
安価なものになると基板剥き出しでRS232Cの結線を行うものばかりになり、このままお客様に収めるには見た目がいまいちです。

そんな中、switchbotの温湿度計を見つけました。安価(2000円くらい)で見た目も良いです。

通信は「Bluetooth LE」を使用します。
まだ案件で使用したことはないのですが、今後のために1台購入して試してみたところ、温度と湿度が測定でき問題なさそうです。
以前にも他のswitchbot製品と通信したことはあるので、実装は簡単に行えました。

今後の温湿度計の部材選定では一番使用することになりそうです。

かんたん見積

ご希望の依頼内容を入力頂くと、最短1時間以内に「かんたん見積金額」をご連絡する「かんたん見積」サービスを開始致しました。
無料で見積をさせて頂きますので、初めてのシステム開発でも気兼ね無く安心してご依頼頂けると考えております。

「工場の生産ラインで使用する検査ソフトを作成したい」、「研究に使用する画像処理ソフトを作成したい」、「既存設備のソフトに機能追加を行いたい」など、ご要望がございましたら、まずは「かんたん見積」で見積のご依頼をお願い致します。

アライメントの画像処理

ウェハなどの対象ワークの検査を行う前に、位置や傾きのアライメント(位置合わせ)を行うことが良くあります。
アライメントを画像処理で行う場合、調整する4点を求めて射影変換を行うことが多いです。

今回行った案件では、2点だけ求めて簡易なアライメントを行うため、アフィン変換を使用しました。

社内ライブラリで内部的にアフィン変換を使用することはありましたが、ライブラリのAPIとして外部から実行出来るようになっていなかったので、今回APIに追加を行いました。1点から3点の任意点数でアフィン変換が行えるようになっています。

工場の検査設備PCソフトのリプレイス

先週末にお客様工場のPCソフト更新に行ってきました。

以前に別会社さんが作成されたPCソフトの出来が良くないため、インフォテックで全てリプレイスを行った案件です。

同じような設備が4台あり、元々は設備ごとに微妙に異なるPCソフトを使用していましたが、インフォテックが作成したソフトでは、1種類のソフトで全ての設備が動作するようにしました。バラバラのソフトにすると保守に無駄に時間とコストがかかり、お客様の不利益になるので良くないです。

今回は最後の4台目の設備のPCソフト更新でした。
さすがに4台目になると慣れたもので、旧部材の撤去・新PCの設置・ADとI/Oの配線変更・動作検証などスムーズに進みました。

モバイルアプリ開発完了

長らく行っていましたモバイルアプリ開発が無事に完了しました。

工場向けの生産監視アプリで、設備の稼働状況などを表示したり、設備の設定を行えたりします。
以前にiOS用にXamarinで作成したアプリを、Xamarinサポート終了に合わせて全て作り変えました。
今回はiOSとAndroidの両対応で、フレームワークにMAUIを使用しています。

MAUIがまだ成熟していないので、出来ないことが多かったり、ネット上の情報が足りていなかったりと、想定以上に大変ではありましたが、無事に出来上がりました。

この開発のお陰で、.net6以降用の社内ライブラリと、MAUI用の社内ライブラリが出来上がり、今後の開発の基盤がだいぶ出来上がりました。

KOM-MICSの紹介動画

インフォテックがコマツ様と協力して作成している「工場見える化システム KOM-MICS」に関する、ものづくり太郎さんの紹介動画がアップされました。
https://www.youtube.com/watch?v=PSxVDmUP5hw

インフォテックの作成するソフトは普段はあまり表に出ないため、このような紹介動画が作られるのは初めてです。

KOM-MICSは、工作機械や溶接機などから稼働データや加工データなどの各種データを収集し、分析することで工場の稼働状況を可視化し、最適化に向けた施策立案を支援します。
生産プロセスの見える化と最適化により、コマツグループの生産性向上に大きく貢献しています。もし工場の見える化や改善活動に興味がある方は、ぜひ動画をご覧いただければと思います。

また、インフォテックのKOM-MICSサイトにも情報を記載しております。
https://www.infortec.co.jp/lp_kom-mics.php

スイッチボットによる設備のレトロフィット

スイッチボットは、家庭の照明スイッチに貼り付けて、スマートホーム化に使用されるIoTデバイスです。
一般的にはリモコン操作や遠隔操作で照明や家電を制御できるようになります。

最近の案件で、工場の既存の生産設備にスイッチボットを取り付けて、遠隔操作を行う案件を行いました。
スイッチボット自体は低価格で手軽に導入でき、ソフト開発の費用も最初の1台分だけなので、複数台の既存設備に簡単安価にレトロフィットすることが可能です。

WEBアプリに関するメモ

先日、iPhoneアプリのGUIを「ASP.NET Core MVC」に置き換える仕事を行いました。
今まで苦手であったWEB(HTML+CSS)の開発が人並みには出来るようになったと思います。

最近は工場向けの案件でもスマホでIoT見える化を行い、設備の稼働状態表示やエラー通知を行うなどのニーズなどがあるので、弊社のような制御系ソフト会社でもWEBアプリの知識が必要になってきています。

いくつか今後の開発のためにメモを残しておこうと思います。

・UI要素の配置に困ったらflexを使う

 今までWEBでのUI要素の配置が思うようにいかず、デスクトップアプリより柔軟性がないと思っていましたが、flexを使用するとほぼデスクトップアプリと同じ間隔で配置できるようになりました。
 まずはflexを使用し、うまくいかない場合だけ他の方法を使用するのがよさそうです。

・スクロール位置の復元

 クライアントからサブミットしてサーバに一旦戻して再描画するとスクロール位置が上に戻ってしまいます。
 これはサブミット前にスクロール位置をinputタグに格納し、再描画時に同じスクロール位置に戻せば解決します。
 これを各ページで行うのではなく、全てのページで共通実装にするのが良いです。

・アイコンライブラリ

 アイコンライブラリを使用して簡単にアイコンが表示できます。
 https://icons.getbootstrap.jp/

・Bootstrapの機能をもっと活用

 以下のBootstrapの目次を見た感じだと、スピナー、トースト、ツールチップあたりは導入しやすくすぐに役立ちそうです。
 https://bootstrap-guide.com/outline

WEBからダウンロードしたファイルのセキュリティブロックを解除する方法

WEBからダウンロードしたファイルはセキュリティブロックされており、「Microsoft Defender SmartScreen」の確認画面が表示されたりします。

このセキュリティブロックを解除するには、代替データストリームのZone.Identifierを削除する必要があります。

C#で解除する拡張メソッドを作成しました。
以下のUnblockメソッドを実行すると解除できます。


[DllImport("kernel32", CharSet = CharSet.Unicode, SetLastError = true)]
[return: MarshalAs(UnmanagedType.Bool)]
private static extern bool DeleteFile(string name);

public static void Unblock(this FileInfo file) {
    file.IsReadOnly = false;
    DeleteFile(file.FullName + ":Zone.Identifier");
}

VSTOによるOfficeアプリの拡張

業務で久しぶりにVSTOを使用しました。

VSTOは、EXCELやWordなどのOfficeアプリケーションをカスタマイズし、機能を拡張するためのフレームワークです。これは、EXCELマクロ(VBA)の代替として使用され、以下の点で優れています。

1. C#で実装:VSTOはレガシーなVBではなく、C#でアプリケーションを拡張できます。
2. .NETのフル機能:VSTOは.NETフレームワークの全機能を利用できます。
3. GUI:WindowsFormsやWPFを使用して、Officeアプリケーションのユーザーインターフェースをカスタマイズできます。
4. コードの隠蔽:VSTOを使用することで、コードを隠蔽してアプリケーションを保護できます。

お客様がEXCELのVBAを使用して、工場内の設備の出来高や計測結果の集計などをされている場合がよくあります。
このようなVBAマクロをVSTOに置き換えることは、ユーザにとって新たな価値が生まれる可能性があります。

今後もVSTOを使用して効率的な開発を進めていきます。