はじめに国を挙げてデジタル体制の強化をめざす昨今、産業分野も例外ではありません。
各現場の機械もシステムも IoT 化が急速に進められています。
しかし、こうした動きに伴い、「ソフトウェアを開発したいのに、開発者が確保できない」といった悩みが増大しているのも事実です。
実際、弊社においても社内システムに割ける人材確保が課題になっていました。
どうしたら、こうした状況を打破できるのか。
弊社が出した答えが、短い習得期間で誰もが簡単に IoT 向けのソフトウェアを開発できるプログラミング言語 AJAN（えぇじゃん）です。
AJAN を使えば、FA から OA まで、弊社 I ／ O 製品を使った計測制御やフィールドネーク、Web、GUI といった IoT 化で必要なソフトウェアを、化で必要なソフ ウェ職（ソルドネットワーク、専門職
フトウェア開発者）に任せることなく、自部門が欲しいシステムを効率的に開発トウ開発者）せることなく、自部門が欲しいシステムに開するこ ができます。
することができます。
既に弊社でも、社内の基幹システムを AJAN
AJ N で開発し、運用しています。
で用しています既に弊社でも、社内の基幹システムをAJAN があればソフトウェア開発の悩みは解消する ――そこで我々は、この度、皆さまの一助を担うべく、AJAN の使い方を書籍にまとめることとしました。
本書は、AJAN シリーズの一冊目となります。
本書だけでは全てのコマンドを掲載しきれないため、今回は標準的なものだけを抽出しています。引き続き、ネットワークや I ／ O 計測制御、エッジサーバ（DB）、GUI、数学／統計などのコマンドリファレンスも出版する予定です。
その他、SuperCD を使った AJAN 入門編、オフィスで AJAN を活用する OA 編、生産現場で AJAN を活用する FA 編といった AJAN 関連書籍も続きます。
今後の展開にご期待いただければ幸いです。

株式会社インタフェース

代表取締役社長

國司 健

KHMT-23-100030-01 3

CONTENTS●はじめに3

1部

基本編

1章

AJAN って何？

SECTION 01

AJAN とは10SECTION 02

AJAN プログラミングの基本

12

2章

AJAN を動かしてみよう

SECTION 01

3章

AJAN の基本的な使用方法

14

AJAN のプログラミング

SECTION 01

基礎知識

SECTION 02

応用知識

48

SECTION 03

定数・変数・式・演算

69

SECTION 04

特殊記号について
記号につ84

SECTION 05
S

戻り値についてり値について

85

SECTION 06

特殊な構文
殊な構文

86

SECTION 07
S

制限事項

91

SECTION 08

コマンドリファレンスの説明
コマンドリファレ スの説明

93

4章

28

AJAN 統合開発環境の使い方

SECTION 01

AJAN 統合開発環境とは

96

SECTION 02

管理フォルダの階層構造

104

SECTION 03

プログラムの編集・検索・置換

109

SECTION 04

ファイル操作118

SECTION 05

プログラムの実行・中断・終了・コンパイル

123

SECTION 06

エクスプローラウィンドウ128

SECTION 07

ヘルプ機能132SECTION 08

アウトライン機能

137

SECTION 09

プログラムのデバッグ

139

SECTION 10

フィールドバス制御方法

145

SECTION 11

各種設定

148

5章

マルチスレッドプログラム

SECTION 01

マルチスレッドを動かす

152

SECTION 02

マルチスレッドのデバッグ

153

6章

AJAN 開発のお役立ち情報

SECTION 01

Tips

158

SECTION 02

AJAN 統合開発環境を使用せずに AJAN を実行する方法

163

2部

標準／拡張コマンドリファレンス

1章

コマンドリファレンス

SECTION 01

機能別コマンド一覧

170

SECTION 02

用途別全コマンド一覧

181

2章

関数と命令

SECTION 01

AJAN メイン操作に関する関数・命令

214

SECTION 02

数値・文字列に関する関数・命令

222

SECTION 03型の宣言や変換に関する関数・命令

274

04
SECTION 0

配列の宣言や操作に関する関数・命令の宣言や関する関数・命令

287

SECTION 05

配列演算に関する関数
演算に関数

310

SECTION 06

繰り返し・条件分岐に関する命令
り返し・条件に関する命令

330

SECTION 07

ファイル・フォルダに関する関数・命令
ファイル・フォに関する関数・命令

335

SECTION 08

サブルーチンに関する命令
サブルーチンに関 る命

347

SECTION 09

スレッドに関する関数・命令
スレッドに関する関数・命令

362

SECTION 10

プロセス連携に関する関数・命令

370

SECTION 11

Python 連携に関する関数・命令

376

SECTION 12

オーディオ入出力を使ったアナログ変換に関する関数・命令

381

SECTION 13

グローバル共有に関する関数・命令

384

SECTION 14

その他に関する関数

408

3章

基本コマンドサンプルプログラム

SECTION 01

サンプルプログラムについて

412

SECTION 02

サンプルプログラムと内容

413

3部

かんたんWebコマンドリファレンス

1章

Web アプリケーション

SECTION 01

AJAN Web アプリ

420

SECTION 02

AJAN Web アプリのプログラム

423

CONTENTS

2章

かんたん Web 部品コマンド

SECTION 01

かんたん Web 部品コマンド一覧

432

SECTION 02

グラフ

434

SECTION 03

テキストボックス

447

SECTION 04

テキストエリア（複数行テキストボックス）

452

SECTION 05

ラベル

455

SECTION 06

表458

SECTION 07

データグリッド

462

SECTION 08

ページ設定

467

SECTION 09

画像

469

SECTION 10

ページ移動

471

SECTION 11

メッセージボックス

472

SECTION 12

ボタン

473

SECTION 13

セレクトボックス（選択リスト）

476

SECTION 14

ラジオボタン

479

SECTION 15

チェックボックス

482

SECTION 16

ランプ

485

SECTION 17

イベントント488

SECTION 18

HTML
ML ／ JavaScript
Javt 直接記述
直接記

493

SECTION 19

カメラ接続（AJAN
メラ接続（A側カメラ）
側カメラ

495

SECTION
CTION 20

カメラ接続（ブラウザ側カメラ）
カメラ接続（ブザ側カメラ）

499

SECTION 21

メータ

507

3章

サンプルプログラムSECTION 01

4章

514

参考情報

SECTION 01

付録

サンプルプログラム

Web アプリ用画像の作成

518

エラーコード、よくあるお問い合わせ、アスキーコード

SECTION 01

AJAN の補足情報

522

SECTION 02

よくあるお問い合わせ

526

●用語索引
●コマンド索引●おわりに530
532536

部 基本編1

SECTION

01

AJANとはAJAN は、株式会社インタフェースが提供するIoT向けプログラミング言語です。
CD シリーズやインタフェースモジュール、CoolIOs シリーズを、末端のフィールドから上位クラウドのサーバまでつなぐ架け橋を担います。

1章

01.1

AJAN とは

2章
AJAN は、「えぇじゃん」と読みます。AJAN は、計測制御や製品検査、FA と OA の連携システムなどま3章

すます進化していく IoT などのプログラミングの課題を一挙に解決する、IoT 用プログラミング言語です。

4章
5章

01.2

6章

AJAN
AN の特長のＡＪＡＮって何？／AJAN の特の特長を紹介します。
紹介します。

01.2.1.1 平
平易なコマンド体系
なコマンド体AJAN は、は、平易なコマンドの組み合わせで目的のプログラムを作ることができます。実現したい機能ごと平易なコマンドの組み合わせで目的のプログ ムをきます。実現したい機能ごとにコマンドが用意されているので、複雑なプログラムを記述することなく処理を実現できます。また、コマンド名から機能を想像できるようになっています。

ＡＪＡＮとは01：

01.2.2 必要な機能が全てそろう
AJAN には、実行環境やプログラム作成に必要な機能が全てそろっています。このため、開発、テスト、現場運用の全てを行うことができます。無駄な追加作業が不要なので、コストと時間を省くことができます。

01.2.3 実用性の高いコマンドを用意
配列をそのまま I ／ O に出力したり、配列それぞれに演算を施したりと、これまでは別にプログラムを組む必要があった処理を、予めコマンドとして用意しています。このため処理したいことが、すぐに、効率よく、直感的に行えます。

01.2.4 かんたん Web アプリ作成機能AJAN で数行のコマンドを書くだけで、ネットワーク上で動作する高機能な Web アプリを簡単に作成できます。Web ブラウザから本 PC に接続すれば、ネットワーク上のどの PC からでも利用できます。

10

部 基本編1
01.2.5 高機能な AJAN 統合開発環境を装備
AJAN 統合開発環境は、「実行」ボタンをクリックすると自動でコンパイルなどを行い、プログラムが実行されます。難しくてわずらわしい操作を、意識する必要はありません。
プログラミング用のエディタやデバッガが内蔵されていますので、ステップ実行や変数の内容もすぐにチェックできます。また、入力中のコマンド候補を予測表示したり、コマンドの使用法を表示したり、目的から適切なコマンドを逆引きできる機能も備えています。

01.2.6 ビジュアルなアプリケーションを簡単に作成
AJAN は、ビジュアル的に美しい画面を簡単に作成できます。ボタンなどのグラフィカルな部品を使ってウィンドウを簡単に作成できるので、Windows のプログラムに引けを取らない美しい画面インタフェース

1章が実現します。

2章

01.2.7 コンパイラ方式を採用

3章
ソースファイルをコンパイルして実行ファイルを作成するため、高速処理が可能です。また実行ファイル

4章だけで動作するため、ソースファイルを非公開にできます。

5章

01.2.8 他言語連携
連携

6章
ＡＪＡＮって何？／AJAN から Web 画面などを表たり、Python などの他の言語を呼び出す連携構築できるた画面などを表示したり、Pythonなどの他の言語を呼び出す連携システムが構築できるため、応用範囲限に広がります
め、応用範囲は無限に広がります。

ＡＪＡＮとは

01：11

部 基本編1

SECTION

02

AJANプログラミングの基本

AJAN からコンピュータにさまざまな処理を実行（命令）させるには、AJAN コマンドを使います。

1章

02.1

コマンドとは2章
コンピュータは、人間が話す言葉を理解できません。このためコンピュータにさまざまな処理を実行（命令）3章させるためには、コンピュータが理解できる言葉（コマンド）で指示を伝える必要があります。
人と会話をする際、言葉をたくさん使える方が思っていることをより正確で端的に伝えることができます。それ4章と同じように正確で端的なコマンドをたくさん使えると、コンピュータにさまざまな指示を与えることができます。

5章

もちろん、一部のコマンドだけでもプログラムは書けます。プログラムを書いていくにつれて徐々に使え
もちろんマンドもプログラムは書けます。プログラムを いてて徐々に使えるコマンドは増えていきますので、最初から全てのコマンドを使える必要はありません。
るコマンドはいきますの最初から全てのコマン を使える必要はあ ませ

6章
ＡＪＡＮって何？／

02.2
2.2 コマンドのコマンドの書き方
書き方
AJAN は、1 行ごとにコマンドを記述します。各 1 行の記述は、コマンドの名前とコマンドに与える情報（パラメータ）で構成されます。
■基本ルール02：【例：文字列を表示するPRINTコマンド】

ＡＪＡＮプログラミングの基本・コマンドは大文字、小文字のどちらでも動作します
・変数名は大文字も小文字も同じものとして扱われます

PRINT "Hello,AJAN World!"↑半角スペース

・ファイルパスとファイル名は、大文字と小文字で区別されます
コマンドの名前とコマンドに与える情報（パラメータ）の間には、半角スペースを入れる必要があります。
パラメータには定数、変数の他、これらを組み合わせた式などを指定することができます。詳細な書式は、
2 部「標準／拡張コマンドリファレンス」（P.167）を参照してください。

02.3

プログラムとはプログラムとは、複数のコマンドをつなげたものです。複数のコマンドをつなげることで、コンピュータに意味のある動作を行わせることができます。プログラムは入力した時点では実行されることはなく、AJAN 統合開発環境から実行することで、プログラムが行番号の順番で処理されます。
詳細は、「3 章 AJAN のプログラミング」（P.27）を参照してください。

12

図 02-1

部 基本編1

SECTIO

N

01

AJAN の基本的な使用方法
AJAN コンパイラの統合開発環境（以降 IDE）の基本的な使用方法について説明します。

1章

01.1

AJAN を起動する

2章
デスクトップ画面上部のメニューバーから「アプリケーション」 →「Interface」 →「AJANPro」→「AJAN Pro」をクリック（図 01-1）
。

1

3章
4章

2

起動が完了すると、以下の画面が立ち上がります（図 01-2）。

5章
6章
ＡＪＡＮを動かしてみよう／

図 01-1

01.2

ＡＪＡＮの基本的な使用方法01：

図 01-2作成できるアプリケーション

AJAN は、AJAN 組込アプリと AJAN Web アプリの 2 種類のアプリケーションを作成することができます。
AJAN 組込アプリは Interface Linux System のローカル PC 上で動作するアプリケーションです。一般的なアプリケーションを作成する場合は、こちらの AJAN 組込アプリを選択します。
AJAN Web アプリは、Web ブラウザから使用するアプリケーションです。ネットワークを経由して遠隔地の状況を監視したり、ブラウザしかないクラアントから使用したりする場合は、AJAN Web アプリが最適です。

14