用語集

GLOSSARY
  • 英数字・記号
  • あ行〜わ行

ADO

ActiveX Data Objectsの略称。Windows環境で様々なデータベースを操作するための技術。ADOを使用することでAccess、ORACLE、MySQL、SQLite等の種類が異なるデータベースの差異を吸収して同一のインターフェースを使って接続することが出来るようになる。但し、ADOのインターフェース全てに対応しているかどうかはデータベースの種類により異なり、一部機能が動作しない場合もある。

Android

Googleが開発したスマートフォン、タブレット向けのOS。Linuxをベースに開発されており、オープンソースでメーカ毎に独自にカスタマイズを行うことができる。
アプリケーションの開発環境は主にJavaであるが、性能を求められる動作にはC/C++を使用することができる。

C2D

Microsoft Azureの機能の一つであるcloud-to-device(C2D)を意味する。
クラウドサーバと接続されたエッジデバイスに対してクラウドサーバ側から任意の要求や指令を出すことができる。
これを使用することで、クラウドサーバ側からエッジデバイスに対して設備操作等の指令を出すことができ、エッジデバイスとクラウドサーバが双方向にやり取りできるようになる。

C言語

プログラミング言語の一つ。コンパイル言語であり高速に動作する。古くからあるが現在においても現役であり、Linux系OSやドライバソフトウェアを製作する上では必須。また、コンパイル言語全般に言えることではあるが、動作させるためにエンジンなど他のソフトウェアを必要としない。

C++

オブジェクト指向を加えたC言語。クラスや継承などを使用出来る様になった。C言語と比べると低速だが他の言語よりも高速。理解しなければならない概念が多くあり学習コストは高い。
C言語、C++は非常に汎用性が高く、ハードウェアの制御には必須と言ってよい。

C#

Microsoftが開発したオブジェクト指向のプログラミング言語。C#で作られたソフトウェアを動作させるにはエンジンである.NET Frameworkまたは.NET Coreが必要になる。習得難易度は低いが低速で実現できない機能がある。(例:ハードウェアアクセス等)
画面は簡単に作れるため、C#で実現できる範囲のソフトウェアであれば選択の一つとして有りである。

DAO

ここではData Access Objectの略称として説明する。データベースへのアクセスを抽象化しデータベースの実体の形を意識せずにデータの操作に関する記述を簡易化するもの。
枯れた技術であるため、機能が足りないということが無く高速である。

FA

Factory Automationの略称。工場での生産工程を機械やコンピュータ等を使って自動化を行うことを指す。自動化にはFA機器と呼ばれる専用の機器が用いられる。機器の制御ではPLCと呼ばれるプログラミング可能な制御機器が使われる。

https

Hypertext Transfer Protocol Secureの略称。WEBブラウザとWEBサイト(ホームページ等)の間の通信を暗号化し、安全に通信するためのプロトコル。データの盗聴や改ざんを防ぐ。
古くはSSL3を使用していたが現在はTLS 1.2が主流となっている。TLS 1.3も2018年に仕様化されているが、現時点ではTLS 1.2がいまだ主流である。

IoT

Internet of Thingsの略称。モノのインターネットと呼ばれ家電、設備、建物など様々なモノをインターネットに繋げて情報交換を行う仕組みのこと。

IoTゲートウェイ

装置や設備のデータを集め、インターネット経由でクラウドへ送る役割を持った機器。
機器に直接SIMカードを挿入してIoTゲートウェイからインターネットへ接続することができる機器が多い。

Java

プログラミング言語の一つ。コンパイル言語であるが、動作させるためにはエンジンであるJavaVMが必要になる。そのためメモリ使用量が多く他の言語より低速でJavaVMがインストールされたコンピュータでなければ動作しない。メモリ管理はGC(Garbage Collection)により自動的に行われるが、GCの動作中はソフトウェアに遅延が発生する。

Kotlin

JetBrainsが開発したオブジェクト指向プログラミング言語。コトリンと読む。GoogleのAndroidアプリケーションの開発言語として採用された。Javaよりも簡易な記述でソースコードを記述できるため、Javaの問題点の一つであった冗長な記述が多くなるという欠点を改善している。Javaと100%の互換性がある。

LAN

Local Area Networkの略称。建物内やオフィス内など限られた範囲で構築されたネットワーク。
インターネット等外部に接続していない環境を指す。

Microsoft Visual C++(MFC)

Microsoftが開発したWindows用のGUI/CUIソフトウェア開発言語。開発には同社のVisual Studioが必要になる。Windowsと相性が良く高速に動作する。MFCで開発したソフトウェアは単体または再頒布可能パッケージがあれば動作する。.NET Framework等のエンジンが不要であるため、実行環境の構築が容易。

MODBUS-RTU

RS485/RS422を使用したMODBUSプロトコル。MODBUSは仕様が無償で公開されており、実装が容易であるため産業機器の通信でよく使用される。ASCIIで通信することも可能であるが、1バイトデータの送信に2文字必要(例:0x00→”00″)なため1回で送信できるデータ量は減る。
シリアル通信インターフェースを使用するため、マルチドロップ時(1対多)の伝送効率が悪い。

MODBUS-TCP

LANを使用したMODBUSプロトコル。MODBUS-RTUより高速に通信が可能で複数の装置と同時に通信することが出来る。一度の要求で渡せるデータは最大252バイト(126ワード)であるため、それを超えるデータがある場合は複数回要求を行う必要がある。

MQTT

IoT機器向けに作られた通信プロトコル。制約の多い機器での使用を想定して非常に軽量で通信量を抑えて通信することができる。パブリッシュ/サブスクライブモデルを使用しており、IoT機器は直接通信するのではなく、メッセージの送受信を中継するブローカを経由して通信が行われる。
パブリッシャ→ブローカ→サブスクライバの流れでメッセージが送信される。あらかじめブローカに登録されているサブスクライバにのみメッセージが送信される。

MQTT over WebSocket

WebSocketでコネクション(通信経路)を確立した後にMQTTを使用して通信を行う方式。TLS等の通信の上でMQTTの通信を行うのでMQTTより通信量は多くなる。メリットとしてはWEBブラウザでも動作するため、WEB上にUIを実装してIoT機器の状態確認または操作を行うように連携させることが可能。

Objective-C

C言語を拡張したオブジェクト指向プログラミング言語。macOSやiOSなどで動作するソフトウェアの開発で使用する。Cと銘打っているが、ソースコードの記述は独特でCやC++の経験者でも学習コストが必要。Swiftで実現できない機能を実装する際に使用することが多い。

ODBC

Open Database Connectivityの略称。Windows環境でデータベースにアクセスするための標準的なインターフェースを提供する。ODBCを使用するためにはWindows上でODBCデータソースの登録があらかじめ必要となる。古くから存在しているが、近年はADO(ActiveX Data Objects)に取って代わられつつある。

OpenSSL

TLS、SSLの通信を行うためのオープンソースソフトウェア。多くのLinuxディストリビューションにおいて標準採用されており、Windows版も提供されている。
WEBブラウザやhttps通信を使用する上では必須の機能を提供しており、非常に多くの利用者が居るため情報を集めやすい。

OS

Operating Systemの略称。パソコンやスマートフォン等のデバイスを動作させるために必要なソフトウェア。パソコン向けにはWindows、Linux(DebianやUbuntu等)、macOS等がある。スマートフォン向けにはAndroid、iOS等があり、一部Windowsも対応している。
その他装置向けに各装置に特化した組込向けOSが存在する。

Perl

プログラミング言語の一つ。インタプリタ言語のため低速だが他のインタプリタ言語より速度は速い。連想配列が使え、文字列に関する処理に強みがあり正規表現を使用することができる。ソースコードの記述が独特で同じ処理でも様々な記述の仕方が出来るため、ソースコードの難読化を助長する。

PHP

Hypertext Preprocessorの略称。インタプリタ言語でWEBサーバで動作し動的にWEBページを生成することができる。通販やWEB予約などに利用されている。ソースコードの記述はC言語に近い。インタプリタ言語であるため、処理が遅く大規模なシステムには向かない。

PLC

プログラマブルロジックコントローラの略称。PLCはラダー言語と呼ばれるリレー回路の様な言語が用いられている。近年では一般的なプログラミング言語でも製作可能となっているが、過去の設備の更新や長く運用されており技術が枯れている点等から現在もラダーが現役で使用されている。

Python

オープンソースのプログラミング言語。インタプリタ言語のため実行環境が必要で低速。
習得難易度が低く、ライブラリが豊富で機械学習やAIを開発する環境が簡単に準備できる。

RFC

Request for Commentsの略称。IETF(Internet Engineering Task Force)が発行しているインターネットに関連する仕様、運用について記載された文書。

RS232C

シリアル通信インターフェース規格。物理的にDサブ9ピン、Dサブ25ピンがありモデムやプリンタ等に利用されていた。古い規格であるため、現在はUSBやLANに置き換わっているが業務用途では現役で使用されている。

RS485/RS422

シリアル通信インターフェース規格。1対多(マルチドロップ)での通信が可能で伝送距離もRS232Cより長い。RS485は2線式(半二重)と4線式(全二重)が存在する。
マルチドロップ時は多側の装置のいずれかが通信中は他の装置は通信することができない。そのため接続された装置全ての通信を行う場合、接続台数が増えれば増えるほど低速になる。

Ruby

インタプリタ型のプログラミング言語の一つ。WEBアプリケーション開発に特化しており、ライブラリが豊富にある。小規模な開発ではライブラリを利用して開発期間を減らせるが、大規模な開発には向かない。Perlと同様に様々な記述方法ができるためソースコードの保守コストが高くなる。近年は新たな更新も無いためPython等他の言語に置き換わりつつある。

SSL

Secure Sockets Layerの略称。インターネットの通信を暗号化し、安全に通信するための技術。昔はSSLv3が使用されていたが、現在はよりセキュリティ性の高いTLSv1.2が主流となっている。
Windowsにおいても現在はセキュリティ上の理由からSSLの使用はデフォルトで無効になっている。
古い製品のインターネット認証に失敗する場合、SSLを使って通信している場合が多い。

Swift

Appleが開発したプログラミング言語。Objective-Cの代替言語として開発された。Swiftのバージョンを上げる際にはソースコードの修正が必要。互換性が完全に保たれている記述については修正不要。
定期的にバージョンが上がっているが、一部機能はObjective-Cでなければ実現できない。
外部ライブラリを使用している場合、Swiftの新しいバージョンに対応しているか確認が必要。
全く同じ開発環境を作ることが容易ではない。

TLS

Transport Layer Securityの略称。インターネットの通信を暗号化し、安全に通信するための技術。
TLSv1.0、v1.1、v1.2、v1.3と拡張が繰り返されている。現在はセキュリティ上の理由からv1.0、v.1.1の使用は推奨されていない。v1.3が最新であるが2025年時点ではまだv1.2が主流になっている。

TRON

リアルタイムOSの一つ。ITRONやμITRONなどいくつかの種類がある。リアルタイム性を保証するために関数の処理時間に制約がある。割り込みをトリガに各関数が動作するため、ソースコードの記述に連続性が無くスパゲティ化しやすい。割り込みが原因で不具合が起きた場合、現象の再現や原因の特定が困難になる。ソースコードの難読化、処理時間の制約、保守コストの増大など開発者への負担が大きい言語である。

UPS

Uninterruptible Power Supplyの略称。日本語では無停電電源装置と呼ばれ、停電や電圧低下等の電源障害が発生した場合、バッテリーから電力を供給することで一定時間の電力供給を行う装置。
電力供給を続ける、または電力供給中にシステムを安全にシャットダウンする用途で使われる。
病院やデータセンター、企業等の停電時にも電力供給を必要とする場所で使用されている。

VB

Microsoft Visual Basicの略称。VB6は2008年4月8日にサポートを終了しており後継のVB.NETへの移行を推奨している。Visual Basicと名前の付くものは全て別途実行環境のインストールが必要になるため、アプリケーションを動作させるには実行環境をあらかじめインストールしておく必要がある。
WordやEXCELでVBを使用できるVBAがある。

VDI

Virtual Desktop Infrastructureの略称。サーバ上に仮想デスクトップ環境を構築し、手元の端末からリモート接続して操作を行う。リモート接続できる環境があればパソコンを選ばずに同じ環境を使用することができる。シンクライアントとの違いはサーバ設備を新たに用意する必要がなくネットワークが繋がる場所であればどこからでも全く同じ環境を使用することができる点が異なる。
データは仮想デスクトップ環境上に保存され、操作端末には残らないのでリモートワーク用途で使用されることが多い。

Windows

Microsoftが販売しているパソコン、タブレット向けのOS。x86、x64向けのOSであったが、現在はARMでも動作するWindows for ARMも提供している。
個人用OSとしてWindows 1、2、3、NT、95、98、2000、ME(Millennium Edition)、XP、Vista、7、8、8.1、10、11の順に時代に合わせて新しいOSを提供している。
サーバ用途にはWindows Serverを提供している。個人用OSとの違いとしてActive Directoryやドメインコントローラ等のサーバ向け機能が充実している。
尚、WindowsはリアルタイムOSではなく、Microsoftが公表している精度は15.6msである。
リアルタイムOSにはTRON等がある。

WolfSSL

TLS、SSLの通信を行うためのソフトウェア。組込システム向けの小型かつ移植性の高いライブラリであり、OpenSSLの関数との互換インターフェースを提供している。商用利用にはライセンス購入が必要。

インストール

ソフトウェア、アプリケーションをパソコン、スマートフォン等の装置に導入して使用できる状態にすること。インストールするためのソフトウェアをインストーラと呼ぶ。装置からソフトウェア、アプリケーションを削除することをアンインストールと呼ぶ。

インターネット

世界中にあるコンピュータや通信機器を接続した、情報を共有することができるネットワークの総称。

エッジデバイス

ネットワークの末端にある、データを収集、処理して送信する役割を担うデバイス。IoTゲートウェイ等の装置が該当する。

組込Linux

特定の使用用途向けにカスタマイズされたLinuxOSの事を指す。家電や業務用機器等の特定の用途に使用される装置に使用される。パソコン向けのLinuxと比較して、低速な装置でも動作するよう軽量化が行われている。
LinuxはリアルタイムOSではないが、Linuxカーネル6.12以降からリアルタイムLinux(PREEMPT_RT)のコードが全てのLinuxディストリビューションに組み込まれた。

クラウド

主なクラウドサービスとしてMicrosoft Azure(Azure)、Amazon Web Services(AWS)、Google Cloud Platform(GCP)がある。
一般的に提供される環境はIaaS(Infrastructure as a Service)、Paas(Platform as a Service)となる。各サービスが提供する主な機能は以下の通り。

Microsoft Azure(Azure)
Microsoft製品と相性が良く、Office等と連携したシステムを構築できる。法人向けのサービスが充実している。Microsoft Azureは日本の法律が適用され、日本円での支払いが可能。
Azure Portal
Azure上のサービスの一括管理
Azure DevOps
プロジェクト管理ツール群。プロジェクトの開発や運用に関わる支援ツール群。
Microsoft Entra ID
企業アカウントの一括管理。旧名称はAzure Active Directory(Azure AD)。
Azure Functions
サーバ構築なしで関数を実行できるサービス。サーバーレスコンピューティングサービスの一つ。
Azure Storage
クラウドストレージサービス。OneDriveとは違い、データの種類に応じてBlob、Queue、Table、Files、Disk、Archive等様々な種類のデータを取り扱う事ができる。
Azure Virtual Machines
仮想サーバ環境の構築サービス。Linux系OSも構築可能。Azure Virtual Desktopを利用することでVDIを構築することができる。
Azure Information Protection
クラウドベースでのデータ管理、保護。データにラベルを付けて管理でき、アクセス制御が実現可能。
Azure AI
AIを使用できるクラウドサービス。機械学習モデルの構築をローコードで行う事が出来る。
Azure OpenAI Serviceを使用することにより、ChatGPT等の生成AIを組み込むことが出来る。
Amazon Web Services(AWS)
シェアが高く、システムの運用やアプリ開発に必要な機能が充実している。他サービスより早くから提供されているため、機能が豊富で情報が多い。
Amazon EC2
サーバ構築サービス。WEBサイトやファイルサーバ等
Amazon S3
バックアップやデータの保存。
Amazon RDS
データベースサービス。MySQL、OracleDB等のデータベースエンジンを利用可能。
Amazon Route53
DNS(Domain Name Service)サービス。
Elastic Load Balancing
WEBサービスの負荷分散。
Amazon WorkSpaces
仮想デスクトップサービス。クラウド上でWindowsが動作しPCとほぼ同じ操作、作業が可能。
AWS Direct Connect
AWSを外部からアクセスできない内部ネットワーク内に構築する。
Google Cloud Platform(GCP)
独自のサービスが多く高速で動作する。機械学習系のAIを使用したサービスやデータ分析、検索や広告等に強みがある。他サービスと比べてシェアが低く、必要な機能の提供があまりないためシステムの開発が必要になることが多い。
Compute Engine
仮想環境の構築サービス。Windows、Linuxどちらでも構築できる。
BigQuery
大規模データを取り扱うことができる。大量のデータを格納するだけではなく分析も高速に行うことができる。
Google Workspace
組織向けグループウェア。Gmail、Drive、スプレッドシート等のオンラインアプリケーション群。

計測器

電圧や電流、電力等を測定する専用の装置。メモリハイコーダやパワーアナライザ等の装置がある。
古い装置はGPIB等の信号線で計測器と通信していたが、現在ではLANでの通信が主流になっている。

シミュレーション

何らかのシステムやソフトウェアの動作を模擬すること。シミュレーションを行うことにより、ソフトウェアの試験精度が上がるので品質を向上することができる。

ソースコード

プログラミング言語を使用して記述したソフトウェアの設計図。パソコン等のコンピュータは機械語しか理解出来ないため、機械語でソフトウェアを作る必要がある。人間は機械語を理解するのは容易ではないため、人間が理解できる形式で記述したプログラミング言語が開発された。
アセンブラ、C言語、D言語、Java等様々な種類がある。プログラミング言語を機械語に翻訳するコンパイラ言語とプログラミングされた言語を逐次翻訳しながら実行するインタプリタ言語がある。
コンパイラ言語は高速に動作する。インタプリタ言語は低速だがデバッグが容易である。インタプリタ言語を動作させる場合はプログラミング言語に対応したエンジンが別途必要になる。
コンパイラ言語 :C言語、Java等
インタプリタ言語:Python、PHP等

太陽光発電出力制御

電力の需要と供給のバランスを保つために発電量を抑制する措置のこと。需要>供給の場合には発電量を上げ、需要<供給の場合には発電量を抑える。

ディストリビューション

IT業界ではLinuxカーネルを搭載したOSの種類のことを指す。Linuxカーネルのみでは実用できないため、企業や有志の人間が必要なソフトウェアやツールなどを集めて実用できる様にパッケージ化したもの。DebianやRedhat等様々なディストリビューションが存在し、ディストリビューション毎に入っているライブラリやソフトウェア、ツールは異なる。

パワーコンディショナ

直流電力を交流電力に変換する装置。太陽光発電などで発電された電気は直流であるため、一般の電線に流すために交流に変換を行う必要がある。

汎用基板

本ページ上では一般販売されている様々な用途に使用することができる基板のことを指す。有名なものとしてRaspberry Pi等。

表示器

タッチパネル付の小型液晶ディスプレイ。主な製品としてPro-face社製のGP、三菱電機のGOT等がある。

プロトコル

パソコンや通信機器がお互いにデータをやり取りするためのルールを規格化したもの。
各プロトコルの詳細についてはRFCを参照すると手順や仕様、運用について説明がある。

ラダー

PLCやシーケンサのためのプログラミング言語。リレー回路の様な記述方法でC言語等の一般的なプログラミング言語とは記述方法が異なる。プログラミング言語の経験者でも新たに学習コストが必要となる。

CONTACT

システム/ソフトウェアの開発や製作に関するお問い合わせは、こちらよりお願い致します。

お問い合わせ