目次へ  /  次へ


9章 制御プログラム


監視パネルやスケジュール起動を使用すれば、オブジェクトを手動で操作したり、ある程度自動 的にオブジェクトを操作したりすることができますが、さらに柔軟に各種オブジェクトの操作や取 得データの情報処理などを行なうには、制御プログラムを作成することが必要です。

KARACRIXシステムで作成された制御プログラムは、“プログラムオブジェクト”としてシステム 上で扱うことができるようになるため、他のタイプのオブジェクトと同様の管理対象になります。 プログラムから作成済みの“プログラムオブジェクト”を制御したりすることも可能です。

KARACRIXでは、KCXライブラリを使用することでオブジェクトの情報を取得したり、オブジェク トに操作コマンドを発行したりすることが柔軟に行なえます。KCXライブラリは、C言語の関数ラ イブラリになっています。KCXライブラリの詳しい解説は「19章 KCXライブラリリファレンス」を、参照してください。

本章ではプログラムを作成して実行するまでの手順を説明します。

9.1 プログラム作成手順

(1)プログラム名称の登録

メインメニューから“制御プログラム”を選択し、「制御プログラム登録」画面を開きます。任 意の“プログラム名”欄を選択してプログラム名称を登録します。

図9-1 プログラム名称の決定

(2)プログラムの作成編集

「制御プログラム登録」画面の“プログラム編集”欄を選択して 「プログラム編集」画面を開き、プログラムを編集します(「9.2編集エディタの使用法」を参照)。

この時、新規作成の場合には、制御プログラムのテンプレートが編集画面に表示されます。外部 作成ファイルを取り込んだ場合には、そのファイルの内容が表示されます(「18章 リソースファイルの入出力」を参照)。

図9-2 プログラム編集

(3)プログラムのコンパイル

「プログラム編集」画面の“コンパイル”ボタンを押すと、画面に表示されているプログラムソー スコードのコンパイル作業が行なわれます。

図9-3 プログラムのコンパイル

プログラムの記述ミスなどで、コンパイルのエラーが発生した場合には、「コンパイル」画面に エラーメッセージが表示されますので、メッセージを参考にしてプログラムを修正し、エラーメッ セージがなくなるまでコンパイル作業を繰り返します。

図9-4 コンパイルエラー表示画面

コンパイルが成功すると、“生成状態”インジケータが 赤色に変化します。

(4)プログラムの実行

コンパイルが成功したら、“ENT”ボタンを押して「制御プログラム登録」画面に戻り、“実行”欄 を選択して下さい。実行確認のため、「確認」ダイアログが表示されますので,“YES”を選択する とプログラムを実行します。

なお、「9.3プログラムの実行モニタ」で説明する「プログラム実行」画面でも実行できます。

図9-5 プログラムの実行

プログラムを実行すると「制御プログラム登録」画面の“実行”欄に、「RUN」と表示されます。 このほかにもプログラムの実行状態がこの欄に表示されますが、その意味は表のとおりです。

表9-1 実行欄の表示

(5)プログラム作成日の確認

プログラムの編集が終わり、コンパイルも正常に終了すると図9-6のように「制御プログラム登 録」画面の“プログラム編集”欄に、作成したソースプログラム(src)とオブジェクト(実行プ ログラム(obj))の生成された日付が表示されます。

図9-6 実行プログラム生成の日付

コンパイルを行なっていない場合、または、コンパイルが正常に終了しなかった場合には、実行 プログラム(obj)の日付欄は図9-7のように空欄になります。

図9-7 実行プログラムが作成されていない場合

9.2 編集エディタの使用法

プログラムの作成編集は、普段お使いのエディタ(vi、muleなど)をご利用して作成して頂く のが最も効率的です。作成したプログラムは、KARACRIXの制御プログラムとしてインポート(取 り込む)する機能(「18章 リソースファイルの入出力」を参照)をお使い下さい。インポートし たプログラムの小規模な変更や編集には、KARACRIXに付属の簡易エディタ機能をお使い頂くと便 利です。

「プログラム編集」画面の簡易エディタ機能を以下に説明します。

※プログラム実行中の場合、編集は出来ませんのでご注意下さい。

画面を表示した時点では、プログラムを参照するモードになっています。

“編集”(黒)ボタンを押すと“編集中”(赤)になりテキストの入力や編集を行なうことができ ます。

プログラム編集エリアでプログラムを作成します。

(※以下の説明中で使用するカーソルの意味は、マウスカーソルではなく、編集領域での文字入 力位置を示すカーソル(緑色反転)を示します。)

図9-8 制御プログラム作成環境

(1)文字の入力

文字はキーボードから入力します。最大編集行数は 2000行、1行あたり半角で104文字(改行含む)まで入力できます。

●キー操作について

文字以外のキー入力については次のものが有効です。

表9-2 キー操作の機能一覧

※スクロールは、画面上のスクロールバーからでも行なえます。

●日本語の入力

日本語を入力したい位置にカーソルを進め、そのカーソルの位置する同じ行をマウスでクリック すると図のように文字入力ダイアログが表示されます。ここで日本語を入力します(kinput2が起 動されている必要があります)。

図9-9 日本語の入力

(2)文字列の編集

●行をコピーする

コピー元の行へカーソルを進め、行コピーボタンを押します。

コピー先の行へカーソルを進め、行ペーストボタンを押します。

●行を削除する

削除したい行へカーソルを進め、行削除ボタンを押します。削除したものはバッファに残ってい ますのでコピーと同じようにペーストすることができます。

●操作をやり直す

やり直しボタンを押すと編集操作前(1回前)の状態に戻ります。

(3)リスト印刷

ボタンを押すとソースプログラムのリストを印刷します。

※プリンタの設定が正しくされている必要があります(「2.7 印刷環境の設定」を参照)。

(4)画面テキスト編集

viエディタライクな使い方ができます。使用方法は次のとおりです。

viエディタについてはUNIXのドキュメントをご覧ください。

●編集モードと入力モードの切り替え

“編集”ボタンを押した“編集中”の初期状態ではテキストの色が 濃紺色で表示され、入力モードになっています。キーボードからエスケープキーを押すと入力モードから編集モードに切り替わ ります。

編集モードにするとテキストは黒色表示になります。

●カーソルの移動

h,j,k,lキーが使用できます。

●やり直し

uで1回のみのやり直しができます。

●行コピー

yyで1行のみのバッファへのコピーができます。

●行削除

ddで1行のみの行削除ができます。削除した内容はバッファに残ります。

●行ペースト

pでバッファの内容をペースト(貼りつけ)します。

●編集モードへの移行(濃紺色表示)

iでカーソルの前に、aでカーソルの後から文字を挿入します。
 

9.3 プログラムの実行モニタ

プログラムモニタを使用して、作成したプログラムの実行状況をソースレベルでモニタすること ができます。ステップ実行も可能になっています。

オブジェクトの制御ステップを1行ずつ確認できるのでデバッグにも有効です。

(1)画面構成

図のように操作部と実行モニター部およびデータ表示部の3つで構成されています。

図9-10 プログラム実行モニタ画面

@操作部

6つの操作ボタンで構成されます。ボタン上部にLEDが配置され、プログラムの動作状態に応じ て操作可(緑色)、操作不可(無色)、現在のプログラムの状態(赤色)で変化します。

A実行モニター部

モニタ中のプログラムソースが表示されます。現在実行中の行が黄色で表示されます。

外部対話型入力コマンド(kcxstr_scanfm()関数)を実行すると“入力待”欄に“*”が表示さ れます。

Bデータ表示部

KCXライブラリのkcxstr_printm()関数が出力したデータが行番号0番から順に表示されます。

ライブラリの使い方は「19章 KCXライブラリリファレンス」をご覧ください。

(2)プログラムの操作

プログラムの操作は操作部で行います。プログラムの実行の仕方は大きく分けて フリーラン(Free RUN)と、ステップラン(Step RUN)の2種類があります。フリーランはプログラムを連続 して実行します。これに対しステップランは1行ずつ順々に実行します。

図9-11 操作部

●フリーラン(FreeRUN)

ボタンを押し、(停止中の)プログラムを先頭からフリーランします。

●ステップラン(StepRUN)

ボタンを押し、(停止中の)プログラムを先頭からステップランします。

●プログラムの停止(STOP)

ボタンを押し、プログラムを終了します。

●プログラムの一時停止(PAUSE)

ボタンを押し、プログラムを途中で一時停止します。

●データ入力(INPUT)

プログラム実行中に、対話型入力コマンド(kcxstr_scanfm()関数)を実行すると、ボタンの機能が有効になります。ここでボタンを押すと文字入力ダイアログが表示されますので、文字入力 をすることにより実行中のプログラムに文字型データ として取り込むことができます。

●実行位置を先頭へ移動(TOP)

プログラム停止時に、ボタンを押すと、プログラムの実行位置を先頭に戻します。

@操作部

Bデータ表示部

A実行モニター部

編集ボタン

コンパイルボタン

実行モニタボタン

編集エリア



Copyright(C) All Rights Reserved. by S.I.Soubou,Inc.