監視パネルやスケジュール起動を使用すれば、オブジェクトを手動で操作したり、ある程度自動 的にオブジェクトを操作したりすることができますが、さらに柔軟に各種オブジェクトの操作や取 得データの情報処理などを行なうには、制御プログラムを作成することが必要です。
KARACRIXシステムで作成された制御プログラムは、“プログラムオブジェクト”としてシステム 上で扱うことができるようになるため、他のタイプのオブジェクトと同様の管理対象になります。 プログラムから作成済みの“プログラムオブジェクト”を制御したりすることも可能です。
KARACRIXでは、KCXライブラリを使用することでオブジェクトの情報を取得したり、オブジェク トに操作コマンドを発行したりすることが柔軟に行なえます。KCXライブラリは、C言語の関数ラ イブラリになっています。KCXライブラリの詳しい解説は「19章 KCXライブラリリファレンス」を、参照してください。
本章ではプログラムを作成して実行するまでの手順を説明します。
メインメニューから“制御プログラム”を選択し、「制御プログラム登録」画面を開きます。任 意の“プログラム名”欄を選択してプログラム名称を登録します。
図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-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でカーソルの後から文字を挿入します。
オブジェクトの制御ステップを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実行モニター部
編集ボタン
コンパイルボタン
実行モニタボタン
編集エリア