要素技術詳細
1. C#
C#とは、マイクロソフトが開発した開発言語。マイクロソフトの主力となる言語です。
元々ボーランドというMS-DOSやWindows用の開発ツールを作成・販売していた会社から引き抜いた、アンダース・ヘルスバーグやそのメンバが開発を行っています。
名前にCと付いているが、C言語やC++言語とは互換性が無く、書式はC言語系ではあるが、実際はアンダース・ヘルスバーグがボーランドで開発していたDeiphiに近い。
基本はオブジェクト指向言語ではあるが、関数型言語の機能なども含むマルチパラダイム言語となっています。
Windowsデスクトップ用、WEB用、最近では組み込み用のソフトも開発できます。
インフォテックでは、Windowsソフトの新規開発にはC#を使用しています。主力言語であるため、生産性の高い開発が行え、バージョンが上がるたびに効率の良い機能がどんどん組み込まれ、Windowsソフトの作成するのに最高の言語です。
2. VB
VisualBasic(以下VB)とは、マイクロソフトが開発した開発言語です。
VBは大きく分けると、VB6以前とVB.net以降に分かれ、2つに互換性はありません。
VB6以前の頃は、マイクロソフトの言語として、簡単なVBと難しいVC++が2大主力でした。が、VBとVC++の難易度や開発効率に大きな溝があったため、基本はVBで作成し、速度やメモリ量の要求が厳しい箇所だけVC++を使用する場合が多かったです。
簡単ではあるが生産性は高い良くできた言語でした。
VB.net以降は、ベースが.NET frameworkとなり、本格的なオブジェクト指向開発が行えるようになりました。
しかし、VB6以前との互換性が無かったため、VB.netではなくC#や他の言語に移行する開発者が多かったと思われます。
初期の頃は、C#と差別化をした言語開発が行われていたが、言語ごとの格差が発生していたため、現在はC#開発者のアンダース・ヘルスバーグが設計を行っています。
インフォテックでは、過去のソフトの保守を行う場合にVBを使用することがありますが、新規開発にVBを使用することはほとんどありません。
3. 画像処理
画像処理とは、カメラで撮影した画像をコンピュータで演算し、目的とする情報を導き出す処理です。
工場での製品検査、ロボットの物体認識、文字やバーコードの読み取り、製品組立時の位置あわせなど、計測制御ソフトではよく使用する技術です。
行いたい内容に応じた画像変換のアルゴリズムを実行し、最終的に必要な情報を導き出します。
インフォテックでよく行うシステム構成を以下に記載します。
1.PCで画像撮影をおこない、自社開発の画像処理ライブラリを使用して画像処理を行う。
PCを使用しているので自由度が高く、市販の画像処理パッケージでは困難な画像処理や外部連携など柔軟に対応できます。
2.PCで画像撮影をおこない、市販の画像処理ライブラリを使用して画像処理を行う。
3.画像処理専用のハードウェアで画像撮影と画像処理をおこない、結果だけをPCやPLCで処理する。
どのシステム構成も一長一短があるため、コスト・速度・拡張性などからベストな方法を提案いたします。
4. データベース
データベースとは、大量のデータの管理・検索・抽出・共有などを高速・安全に実行可能なシステムのこと。またはそのデータそのもの。
データの管理方法は、EXCELのように表形式で管理するリレーショナルデータモデルが現在の主流です。
計測制御ソフトでは大規模なデータベースを使用することは希ですが、工場内で使用する小規模なデータベースや、アプリケーションの設定や測定結果などの管理用にソフト内に組み込んで使用する軽量なデータベースは良く利用されます。
インフォテックで良く使用するデータベース管理システムとして、Microsoft SQL Server・Oracle・Access・MySQL・SQLiteなどがあります。
5. モータ制御
モータ制御(モーション制御・軸制御)とは、ソフトウェアによりモータを駆動し、位置移動や回転の制御を行うことです。
生産設備でのワークの搬送・検査装置でのワークのXY回転方向の位置決め・ロボットの制御などに使用されます。
モータの種類は、ステッピングモータやサーボモータなどがあり、用途に応じたモータを利用します。
PCの場合、モーションボードを使用してPCからモータドライバに駆動信号を出力します。
PLCの場合、モーションユニットを使用してPLCからモータドライバに駆動信号を出力します。
モータ制御(モーション制御・軸制御)は、制御ソフトでは非常に重要な部分になります。
インフォテックでは、制御に不備が無いかの確認や、問題発生時に早期解決が行えるよう、以下の実装を必ず行っております。
1.モータ等の装置が無い場合でも動作確認が行えるように、装置をソフト上でエミュレーションして実行する機能。
2.制御のタイミングや移動位置の確認が行えるように、モータ制御のログファイル出力機能。
3.現在位置をモニターで視覚的に把握できるように、現在位置のリアルタイムグラフィック表示機能。
6. I/O
I/Oとは、I/Oポート(アイオーポート)やデジタルI/O(デジタルアイオー)と呼ばれる、PCやPLCに入出力する0か1のデジタル信号のこと。
外部機器との状態取得や制御などに使用されます。
PCやPLCにI/OボードやI/Oユニットを取り付けることで入出力を行います。
I/OボードやI/Oユニットの種類により、8本や16本などのI/O信号をパラレルに制御することができます。
以下の用途に使用されます。
スイッチ押下監視・センサー状態監視・リレー駆動・LED点灯・シリンダ制御・電磁弁制御・PC-PLC間のデジタル信号インターフェイス
I/Oは、制御ソフトでは非常に重要な部分になります。
インフォテックでは、I/O制御に不備が無いかの確認や、問題発生時に早期解決が行えるよう、以下の実装を必ず行っております。
1.外部機器やI/Oボードなどの装置が無い場合でも動作確認が行えるように、装置をソフト上でエミュレーションして実行する機能。
2.制御のタイミングの確認が行えるように、I/O制御のログファイル出力機能。
3.現在のI/O状態をモニターで視覚的に把握できるように、I/O状態のリアルタイム表示機能。
7. PLC
プログラマブルロジックコントローラ(以下PLC)とは、工場などの自動機の制御に使用される制御装置です。シーケンサとも呼ばれています。
PLCのプログラム開発は、PCでの一般的な文字によるプログラム開発とは異なり、ラダー図という記号を組み合わせたプログラミング言語を使用して開発します。
ユニットを追加することで、I/O・A/D・D/A・モータ制御・イーサネット通信などを利用できます。また、ユーザインターフェイスとしてタッチパネルを使うことも多いです。
PLCメーカとしては、三菱・キーエンス・オムロンが有名です。メーカにより開発ソフトもラダー図も異なります。インフォテックではこれらのメーカのPLCプログラム開発を行うことが出来ます。
8. RS-232C
RS-232Cとは、シリアル通信インターフェイスの1つ。シリアルポートとも呼ばれる。
PC間やPC-機器間のデータの送受信に使用されます。
以前はモデムを繋いで通信インターフェイスとしてよく使われていました。
最高通信速度は115.2kbps。コネクタにはD-sub9ピンやD-sub25ピンが使われます。
通信方式が簡単で、インターフェイスとして普及しているため、計測器やPLCなどとの通信に今でも使われています。
最近はUSBやイーサネットを使用した通信インターフェイスが増えているので、今後は利用されなくなっていく規格です。
9. A/D
A/Dとは、アナログ信号をデジタル信号に変換すること。
温度・流量・トルク・振動など計測機器からの計測値は、電圧や電流のアナログ信号で出力されています。
アナログ信号のままではパソコン等のコンピュータで扱えないため、アナログ信号をデジタル信号に変換(A/D変換)してコンピュータに入力します。
A/D変換には専用のボードやユニットを使用します。変換速度・Ch数・分解能などにより使用する部材を選定します。
インフォテックでは、A/D制御に不備が無いかの確認や、問題発生時に早期解決が行えるよう、以下の実装を必ず行っております。
1.外部機器やA/Dボードなどの装置が無い場合でも動作確認が行えるように、装置をソフト上でエミュレーションして実行する機能。
2.制御のタイミングの確認が行えるように、A/D制御のログファイル出力機能。
3.現在のA/D入力値をモニターで視覚的に把握できるように、A/D入力値のリアルタイム表示機能。