top of page
カテゴリ
タグ
アーカイブ

Tech Blog/技術ブログ
当社のソフトウェアの裏側にあるテクノロジーや、開発チームが活用している技術情報について深く掘り下げて解説します。


インターンシップ リアクションボードの試作
株式会社アーチのトミーです。弊社では数年前からインターンシップを実施しています。 今夏のインターンシップでは、自分が担当講師の一人として課題の進め方、プログラムの内容を教えさせていただきます。課題は以下の3つの中から1つを選択し、体験していただけます。 「高精度計測のロジックを構築する!C#とPLCによる『反射神経測定システム』の開発」 【IoT入門】ビジュアルプログラミングで操る!「Raspberry Pi × IoT制御」 【システム構築】街の安全を守るロジック!「USB-IOで作る信号機制御」 今回のブログでは課題の1つである 【開発実録:C#とPLCを連携させた「反射神経測定システム」の構築プロセス】 の試作を行いましたので、その内容を紹介します。 課題の目的 PLCのI/O活用 PLC内レジスタの理解 ラダープログラムの作成 高精度タイマーの使用 PC・PLC間のデータ通信 実際に測定した時の動画 開発環境 Visual Studio 2026 (C#) GX Works3 (PLC) 使用するPLC 機種:FX5U-32MR/ES

トミー
7月17日


拡張性ばっちり!Wi-FiとMQTTを活用した「後付けIoT通報システム」のご紹介
こんにちは。株式会社アーチ 2K(にけ)です。 工場や倉庫、広い施設などの現場において、「現場から事務所へ、ボタン一つですぐに状況を知らせたい」というニーズは非常に多くあります。しかし、いざシステムを導入しようとすると、長いケーブルの配線工事が必要になったり、大掛かりな設置作業でコストが膨らんでしまったりと、ハードルが高いのが実情です。 今回は、現場の課題を解決するために弊社で考案・提案したシステム「配線不要で簡単にポン付けできる通報システム」の構成事例をご紹介します。 システムの概要 本システムは、現場に設置する「自作の通報ボタン(発信機)」と、通知を受け取りたい事務所などに設置する「受信機」の2つの筐体から構成される、シンプルかつ拡張性の高いIoTシステムです。 1. 既存のWi-Fi活用&マグネット設置で「配線工事ゼロ」 最大の特長は、導入にあたって大掛かりな工事が一切不要である点です。 現場に設置する発信機にはWi-Fiモジュールを搭載しており、お客様の環境にすでに整備されている自社無線LANにそのまま参加させることができます。そのため、

2K
7月7日


音声データをPythonの音声認識モデルを使用して文字起こし
こんにちは、あどりらです。 社内学習にてAIを学ぶきっかけがあり、何から学んでみるかと考えたときに、最初に目についたものが音声の文字起こしでした。 当時社内で会議における議事録作成の負担軽減を目的として、音声録音および変換ツールの導入を検討する意見が挙がっておりました。 そのような折、自作での構築が可能であれば非常に有用であると考え、「文字起こし」に関心を抱きました。 オープンソースとして公開されている複数のモデルを調査したところ、その中でも特に導入の障壁が低いと考えられた「Whisper」を採用し、構築を試みることにいたしました。 これはその時の備忘録です。 開発環境 開発言語:Python 開発エディタ:Visual Studio Code 仕様ライブラリ:whisper Pythonのインストール 公式HPからインストーラーをダウンロードしてください。 Releaseの最新バージョンのDownloadを選択します。 Windowsの64bit版をダウンロードします。 インストーラーをダブルクリックしてインストールを開始します。 「Add p

あどりら
6月9日


C#×RS-232C通信の振り返りと非同期処理について
はじめに こんにちは!【さん】です。 今回ブログを書くにあたり、数年前に開発した計測機器の検査ソフトのコードを読み返し、その時のことを備忘録として残そうと思います。 入社間もない頃、「RS-232C(シリアル通信)」という、弊社では最近触れる機会が少なくなった通信規格と格闘していました 。 改めて当時を振り返ると、泥臭く安定化させた「過去の実装」と、今だからこそ見える「これからの課題」が浮き彫りになってきました。 過去の自分が行った「通信安定化」の工夫 RS-232Cは、モダンな通信規格に比べると非常にシンプルですが、その分「データの受け取り方」に一工夫必要です。 私が実装の中で特に意識した、安定化のためのポイントを紹介します。 1. 受信完了まで「粘り強く待つ」リトライ構造 シリアル通信では、一度の読み込みで全てのデータが取得できるとは限りません。 そのため、受信バッファが空だったとしてもすぐに処理を諦めず、わずかな待機時間を設けて再確認する構造にしました 。 2. 徹底したバッファ管理 シリアル通信のバッファには、ノイズや前回通信の読み残しが

さん
5月26日


工程管理:スプレッドシートによる柔軟なシステム構築
こんにちはM.Oです。ブログ等を書くことがないため、いろいろおかしいところがあるかもしれませんが、優しく見守ってください。 さて、家では2匹の猫(姉妹)を飼っていますが、妹猫をワクチンのため病院に連れて行って帰ると、姉猫が妹猫に近づいてシャーっと何度も威嚇します。病院の匂いか、獣医さんの匂いがついているのか、気に入らないようです・・・ 妹猫もイヤイヤ行ってるのだから、もうちょっと優しく迎えてほしいところです。 と、関係のない話をしたところで、本題に入りたいと思います。 はじめに エンジニアとしてコードをガリガリ書く日々に、突然「管理」というミッションが加わったとき、皆さんはどう感じますか?「もっと効率化できるはずだ」「ツールを使えば一発だろう」……。私もそう思っていました。 先日、社内の工程管理を任されることになったのですが、そこで直面したのは「ツールの理想と現場の現実」のギャップでした。 今回は、エンジニアである私が、紆余曲折を経て辿り着いた「Googleスプレッドシートによる柔軟な工程管理システム」の構築記録を共有します。 1....

M.O
5月12日


MediaPipeを使用した手指検出
皆さん、はじめまして。プログラマーのCTです。 日々の業務に打ち込んでいるうちに、気づけば入社からそろそろ2年が経とうとしています。 この2年を振り返ると、最初は右も左も分からなかった状態から、少しずつ仕事を任せてもらえることや自力で解決できることが増えてきた実感があります。 とはいえ、学べば学ぶほど『まだまだ知らないことだらけだな』と痛感する毎日でもあります。 日々勉強中ではありますが、今回はそんな中でAI勉強会で使用したMediaPipeについて紹介できればと思います。 MediaPipeとは MediaPipeは、Googleが開発したオープンソースの機械学習フレームワークで、リアルタイムの映像・音声処理に特化しています。特に、人間の姿勢推定、顔認識、手の検出などのコンピュータビジョンタスクを、高速かつ高精度に実行できることが特徴です。 今回のアプリケーションでは、MediaPipeのHand Landmarker機能を使用しています。この機能により、カメラに映った手の21個の主要な点(指の関節や手のひらの位置)を3次元座標として検出します

CT
4月28日


WPFのFluentテーマでCheckBoxの幅が固定されてしまう問題と、その独自カスタマイズによる解決方法
こんにちは、株式会社アーチのT.Tです。 WPF (Windows Presentation Foundation) でモダンなUIを構築する際、.NETが提供する Fluentテーマ (PresentationFramework.Fluent) は、手軽に洗練された見た目を取り入れられるため非常に便利です。私自身、最近のプロジェクトでこのテーマを採用する機会が増えており、その恩恵を大いに受けています。 しかし実務で使い込んでいくと、その便利さの反面「かゆいところに手が届かない」といった細かなレイアウトの壁にぶつかることも少なくありません。例えば、「デフォルトの CheckBox の幅が固定されていて、思うように配置できない」と悩んだことはありませんか? 今回は、私の実体験から得た知見をもとに、この問題の背景と、GitHubで公開されている公式ソースコードを活用して独自にカスタマイズし、スマートに解決する方法について解説します。 CheckBoxの変更前、変更後のイメージ 1. 問題の背景:CheckBoxの幅が固定されてしまう WPFのFlue

T.T
4月14日


PLCラダー作成で身につけた技能
株式会社アーチのN-Sです。 弊社でPLCラダープログラム製作を主に担当して20年ほど経過しました。入社当初は触ったことすらなく、一から制作方法を学ぶこととなりました。 今回は開発をおこなう上で身についた技能についてお話しさせていただきます。 プログラム2巡目からの挙動予測 私がラダー作成で身についた技能が「プログラム2巡目からの挙動予測」でした。 ラダープログラムの特性で必ず同じプログラムを毎回処理することとなり、1巡目で考え通りの動作でも、2巡目では意図した動作とならないことがあるためです。 挙動事例 例えば、スイッチ操作にてモーター運転、停止指示を出すラダーがあります。また運転中に何らかの異常が検知された場合にモーターを停止させるラダーを作成しました。(下図) このラダーを実際に動作させ運転スイッチをオンしますが、モーターが運転できませんでした。 実際の動作は以下のものとなりました。 1巡目で運転指示を出して運転指令保持をオン、そのまま運転指令出力をオンします。 続く1巡目の処理でモーター動作確認の信号返答(運転アンサー)がオフのままの

N-S
3月24日


C#でプロセスごとのCPU使用率を算出してみる
はじめまして、この記事を書いているレイです。 入社してもう少しで半年になる一番社歴の浅いメンバーです。まだまだ未熟ではありますが日々新しい技術や知識を吸収しながら業務に取り組んでいます。今回は業務の中で気づいたことについて書いていきます。 先日、あるプロセスのCPU使用率が時間の経過とともに上昇し、パソコンの動作が重くなるという問題に遭遇しました。調査する中で、タスクマネージャーに表示されるCPU使用率は「一定時間の間に、そのプロセスがどれだけCPUを占有していたか」という割合から計算されていることを知りました。 OSやタスクマネージャーが「使用率」を算出する仕組みは一見複雑そうに見えますが、単純な時間の計算で求められているのであれば、自作のプログラムでも近い値を再現できるのではないでしょうか。今回は、その仕組みをもとに実際に検証してみます。 差分からもとめる C#では Processクラス の GetProcesses()メソッド を使うと、実行されているすべてのプロセスのリソース使用状況を取得できます。 今回はこの中の TotalProces

レイ
3月10日


トイレ使用状況の可視化システムの開発
こんにちは、トミーです。 今回は、私が弊社内での困り事解決に取り組んだお話をさせていただきたいと思います。 弊社では、事務所内からトイレのドアが直接見えないレイアウトのため、使用状況を確認するには毎回廊下まで見に行く必要がありました。 事務所にいてもトイレの使用状況がわかったらいいのに…そんな声が多く挙がり、この手間を解消するため、「事務所にいながらトイレの使用状況が一目でわかるシステム」を製作することになりました。そのシステムづくりを私と同僚CTの2名が担当することとなりました。 システムは、トイレの施錠・開錠や室内の人物を検知し、その情報をBLE(Bluetooth)を用いて事務所内の表示灯を制御させる仕組みです。 トイレ使用状況の可視化システム機器構成イメージ 各機器の構成と役割 システムは主に以下の3つのユニットで構成されています。 トイレドアに設置された送信器とスイッチ 蛍光灯に取り付けた光センサおよび人感センサを内蔵した送信器 事務所に設置された受信器と表示灯 それぞれの詳細を解説します。 1. トイレドア側ユニット(カギの状態検知)

トミー
2月24日
最新記事






bottom of page