ACTIVE TOUCH FAQ

ACTIVE TOUCHについてよくある質問をまとめました。
最終更新日:2014/07/02 
1.セットアップ関係
2.開発関係
3.実行関係
4.デバッグ
!--2017/08/04追加--
1. セットアップ関係
1-1ACTIVE TOUCHのライセンスキー入力方法について
1-2ACTIVE TOUCHv5.9以降(64bit版)について
1-3開発環境PCから実行環境PCへ移行する場合ライセンスキーを移行するにはどうすればいいですか?

2 .開発関係
2-1分散グラフを表示することは可能ですか?
2-2ページをモーダル表示できませんか?
2-3eStepに記述したコメントや関数を複数コピーできないのか?
2-4ページタブの抑止は行えますか?
2-5リングバッファにあるデータをnバイト分取得してトレンドグラフにを表示できますか?
2-6Titleコントロールの文字の色を変更できますか?
2-7トレンドグラフにデータを一括でまとめて設定できますか?
2-8タイトルコントロールのブリンク表示の設定を内部的に行えますか?
2-9コントロールを非表示にしたい場合、画面(ページ)の切り替え時に何か制御をしてあげる必要がありますか?
2-10Windows7でプロジェクト設定(PC起動時の自動起動の有無、更新周期など)、ライセンス入力が反映されない。
2-11メニューバーを表示できますか?
2-12ボタンを押したときに任意のページを表示することはできますか?
2-13ユーザー名とパスワードを設けて、プロジェクトの編集や実行を制限することはできますか?
2-14ユーザー毎にアクセスできるページを制限することはできますか?
2-15各初期値をファイルから読むことは可能ですか?
2-16実行時に、部品の位置を設定ファイルの情報を元に変更できますか?
2-172つのページで同じデータを表示することはできますか?
2-18CSVファイルの内容を表(グリッド)に表示できますか?
2-19[Title]コントロールの文字色を実行中に変更できますか?
2-20正常時と異常時など、状態によって違う画像を表示することはできますか?
2-21値をCSVファイルに保存して、定期的に別の場所にバックアップ(コピー)したいです。
2-22分毎に処理を実行することはできますか?
2-23CSVの使用方法はどんな方法がありますか?
2-24HMI Web Camera Controlとはどういうものですか?
2-25「コントロールの追加と解除」で一覧表示されている、ACTIVE TOUCH以外のコントロール(OCX)は使用出来ますか?
2-26HMITableExコントロールに共有メモリのデータの割付け方を教えてください。
2-27変数の一括登録が出来ますか?
2-28ACTIVE TOUCHでユーザーが作成した「部品」の再利用ができますか?
2-29データリンクやeStepの実行タイミングは何のタイミングですか?
2-30HMITableExと共有メモリの読み書きを行う場合、定周期で表示を更新し書込みイベントでメモリ書き込みを行うにはどうすれば いいですか?
2-31CSVファイルを変数配列に読み込み、その読込んだデータを別コントロールで使用するにはどうすればいいのでしょうか?
2-32ローカル変数を作るにはどうすればいいのでしょうか?
2-33INplc内のローカル変数へもアクセスできますか?
2-34INplcのMエリアのデータの変化に応じて、表示部品に表示されている数値も変化させたいのですが、どのように設定すればいいですか?
2-35入力用の部品に数値をタッチパネルから入力するとき、テンキーのような>ウィンドウを表示して入力することはできますか。
2-36INpMac Controlという部品をは画面ページ上から消すことはできますか?
2-37変数名の制限は有りますか?
2-38ヘッダーページやフッターべージを作成する事は出来ますか?
2-39エディットコントロールをタッチしたイベントは取れますか?
2-40外部(PLCなど)からページの切り替えは出来ますか?
2-41言語の切り替え機能は有りますか?
2-42データを表示する際にフォーマットを決められますか?(小数点2桁表示など)
2-43INpMacは最大いくつまで使用可能ですか?

3.実行関係
3-1実行環境をインストールしたPCを起動すると自動でACTIVE TOUCHが起動しますが、手動で起動することはできますか?
3-2実行環境で開発環境のようにプロジェクト設定の変更(例えば、更新周期設定)は可能ですか?
3-3ACTIVE TOUCHを起動してからWindowsAPを起動した場合、INpMacWin.OCXは正常にRead/Writeできますか?
3-4INpMacWin.OCXが正常にRead/Writeできる状態からWindowsAPで共有メモリを削除して、また生成した場合、正常にRead/Writeで きますか?
3-5開発環境で開発したプロジェクトを実行環境で動作できるようにするには、どうすれば良いですか?
3-6動作ログ(HmiViewLog.txt)の出力設定を変更する方法
3-7Windows10に実行環境をインストールしてもPC起動時に自動で画面が表示されません
3-8実行すると画面の操作ができません(アプリフリーズのような現象)

4.デバッグ
4-1ウォッチウインドウは、リアルタイムに表示されますか?

1. セットアップ関係

1-1 ACTIVE TOUCHのライセンスキー入力方法について
○ACTIVE TOUCH-SDKの場合

メニューバーの「ヘルプ(H)」から「バージョン情報(C)」を選択します。出てくる画面の右下に「ランセンスキーを入力>>」というボタンがありますので、それを押すことでライセンスの入力画面になります。
   


○ACTIVE TOUCH-RTの場合

プロジェクトの画面上で右クリックするとメニューが出ます。このメニューの「バージョン情報(C)」を選択すると右下に「ランセンスキーを入力>>」というボタンがありますので、それを押すことでライセンスの入力画面になります。

   

1-2 ACTIVE TOUCHv5.9以降(64bit版)について
ACTIVE TOUCH v5.9以降は、64bit OS上でのみ動作可能です。
32bit OS上で利用したい場合は、弊社営業にご相談ください。
なお、以前のバージョンで作成したプロジェクトは、基本的にそのままご使用いただけます。
※ 標準ではないOCXをご利用の場合は、64bit版が必要になります。
※ アドオン機能(DLLの利用や動的配列の作成等)はご利用いただけません。
1-3 開発環境PCから実行環境PCへ移行する場合ライセンスキーを移行するにはどうすればいいですか?
ライセンスキーに関するご質問は担当の営業へお問合せ下さい

2. 開発関係

2-1 分散グラフを表示することは可能ですか?
可能です。 標準部品の「X-Yグラフコントロール」が使用できます。ただし、eStepを使用する必要があります。
2-2 ページをモーダル表示できませんか?
モーダル表示機能は実装されていませんが、PageSetEnable関数を使用する事によりモーダル表示に似た動作をさせる事は可能です。
2-3 eStepに記述したコメントや関数を複数コピーできませんか?
複数選択はできません、代わりにIF文(条件無し)の中に、必要な部分をまとめておけばそのブロックをコピーできます

複数コピー代替方法 例:

   // コメント_1
   処理A  
   // コメント_2
  処理B
  処理C
  処理D

処理A~処理Cまでの4行をコピーしたい場合、下記のようにif(条件無し)を使ってブロック化すれば、if(条件無し)をコピーすることで、中の処理が一気にコピーできる。

  // コメント_1
  if(条件なし)
   処理A
  // コメント_2
     処理B
     処理C

  処理D
2-4 ページタブの抑止は行えますか?
ページタブは、ACTIVE TOUCH本体の機能なので、抑制はできません
2-5 リングバッファにあるデータをnバイト分取得してトレンドグラフにを表示できますか?
HMI Treand(Ex) Graph Controlを使用することで可能です。
※メソッド;EnterArrayDataStep()を使用する 。
2-6 Titleコントロールの文字の色を変更できますか?
SetTitleColor関数で変更できます。引数は、下記のように色を整数で指定します。 例  0xBB GG RR (Bは青、Gは緑、Rは赤)
2-7 トレンドグラフにデータを一括でまとめて設定できますか?
HMI Treand(Ex) Graph ControlのEnterArrayDataStepメソッドを使用するとで、引き数に設定した配列データを任意のタイミングでグラフに表示する事ができます
2-8 タイトルコントロールのブリンク表示の設定を内部的に行えますか?
メソッドを使う時に、すべてのメソッドを参照(B)のチェックをONにしておくことで、隠しメソッドが表示されます。
SetBlink()で可能になります
2-9 コントロールを非表示にしたい場合、画面(ページ)の切り替え時に何か制御をしてあげる必要がありますか?
画面切り替え時に表示を初期化するには、ページのeStepに”OnPageEvent”の条件式を作成して、”visible”変更の初期化処理を 記述する必要があります。
2-10 Windows7でプロジェクト設定(PC起動時の自動起動の有無、更新周期など)、ライセンス入力が反映されない。
ACTIVE TOUCH Editerを起動する時に「管理者として実行」で起動する。 または、ACTIVE TOUCH Editerを起動するショートカットのプロパティで「互換性」タブにある「特権レベル」の「管理者としてこのプログラムを実行する」にチェックを入れて起動してください。 これでプロジェクト設定、ライセンス入力が反映されるようになります。
   



2-11 メニューバーを表示できますか?
メニューバーは実装されておりません。


2-12 ボタンを押したときに任意のページを表示することはできますか?
ページ表示関数[ShowPage()][ShowPageByID()]を使用することで実現可能です。
2-13 ユーザー名とパスワードを設けて、プロジェクトの編集や実行を制限することはできますか?
メニューバーの[セキュリティ]から、ユーザー管理やデフォルト ログオンなどを設定できます。
2-14 ユーザー毎にアクセスできるページを制限することはできますか?
ページのプロパティから設定可能です。
2-15 各初期値をファイルから読むことは可能ですか?
できます。レシピ機能を使用することで、容易に変数にセットすることができます。
2-16 実行時に、部品の位置を設定ファイルの情報を元に変更できますか?
事前に部品のプロパティに変数を設定しておくことで実現可能です。レシピ機能を使用することで容易に設定することができます。
2-17 2つのページで同じデータを表示することはできますか?
グローバル変数を使用することで別ページで同じデータを表示できます。
2-18 CSVファイルの内容を表(グリッド)に表示できますか?
[Table EX]コントロールを使用することで容易に表示できます。
2-19 [Title]コントロールの文字色を実行中に変更できますか?
[TitleColor]プロパティの値を変更することで実行中でも文字色の変更が可能です。
2-20 正常時と異常時など、状態によって違う画像を表示することはできますか?
[ランプ]コントロールを使用することで、2つの画像を切り替えることができます。
2-21 値をCSVファイルに保存して、定期的に別の場所にバックアップ(コピー)したいです。
標準関数として、CSVファイル操作関数[FileOpen(),FileRead(),FileWrite()・・・]、ファイルコピー関数[FileCopy()]などがあります。
2-22 分毎に処理を実行することはできますか?
[日時取得]関数または[Clock]コントロールのイベントを利用することで秒・分・時・日・月・年毎の処理を実行できます。
2-23 CSVの使用方法はどんな方法がありますか?
CSVファイルの読み込み方法は2種類あります。
①レシピ機能を使用し読込む方法
②ファイルのオープンからリードまで自由に読込む方法

①レシピ機能を使用し読込む方法について
eStepにてRecipe_SetFile関数でCSVファイルを読込む事が出来ます。
②と違い上記関数のみで読込む事が出来ます。

●CSVファイルの命名書式
  特にファイル名の書式はありませんが、「C:\ACTIVETOUCH_PRJ\NfDisk」以下にファイルを置く必要が有ります。

●CSV形式の各列の内容
  [CSVファイル フォーマット]
  “アイテム名”,データ,“コメント”(改行)
  “アイテム名”,データ,“コメント”(改行)
  ※コメントは省略することができます。

 例:
   “SQL_DATA1”, 1,“SQL集計結果のデータ1”
   “SQL_DATA2”, 0,“SQL集計結果のデータ2”

②ファイルのオープンからリードまで自由に読込む方法について
eStepにてFileOpen関数やFileRead関数を使用しお客様の自由に読込む事が出来ます。
ただしeStepを使用して細かいプログラムングが必要となります。

●CSVファイルの命名書式
  ファイル名は、ドライブ名とパスを付加したフルパスで指定します。
  また、長いファイル名を使用することもできます。

●CSV形式の各列の内容
  FileRead関数を使用し順番にデータを読み込みます。
  各列の内容はお客様がどのアイテムに代入するかeStepにて記述してください。
2-24 HMI Web Camera Controlとはどういうものですか?
MJPEG形式で動画を配信するWeb Cameraの映像を表示するコントロールです。
※USB接続のカメラでは表示はされません。

下記のカメラが対応しております。
  ・AXIS社AXIS 205
  ・Panasonic社KX-HCM1
  ・HIKVISION社DS-2CD892PF
2-25 「コントロールの追加と解除」で一覧表示されている、ACTIVE TOUCH以外のコントロール(OCX)は使用出来ますか?
ACTIVE TOUCHの部品やACTIVE TOUCH用に作られてたOCX以外はコントロールを登録一覧に表示されておりますが動作確認されていない為対応しておりません。
2-26 HMITableExコントロールに共有メモリのデータの割付け方を教えてください。
HMITableExコントロールのSetCellValueメソッドを使用し共有メモリの値をセットする必要が御座います。
  詳細はこちらをご覧ください。
2-27 変数の一括登録が出来ますか?
ACTIVE TOUCHの「レシピ機能」を利用することによって、変数に対しての値の一括入力をすることが可能となります。
2-28 ACTIVE TOUCHでユーザーが作成した「部品」の再利用ができますか?
出来ます。
  eStepを含めた機能ごと部品化してギャラリーに登録して、後日再利用が可能となります。
2-29 データリンクやeStepの実行タイミングは何のタイミングですか?
データリンクやeStepの実行タイミングは2つの方法が御座います。

1. 動作イベントによる実行

プロパティウィンドウの赤い文字のイベントとは、ある条件を満たしたときに発生します。
全部品共通(青色)なものと各部品専用(黒色)なものもありますがイベントは発生しません。

2. 基準スキャン周期

ここで設定された時間は、各部品のデータ出力周期やeStepの実行周期になります。

「動作イベントによる実行」と「基準スキャン周期の設定の違い」は、「イベント駆動でeStepの実行設定」の設定の有り無しです。
2-30 HMITableExと共有メモリの読み書きを行う場合、定周期で表示を更新し書込みイベントでメモリ書き込みを行うにはどうすればいいですか?
共有メモリに対し読み書きを行う場合は、下記の方法で行ってください。

● 読み込み用のeStepは基準スキャン周期で行う必要が有ります。
● 書き込み用のeStepは動作イベントで行う必要が有ります。
● しかし、一つのコントロールに基準スキャン周期で行うeStepと動作イベントで行うeStepを記述する事が出来ません。したがって各コントロールにeStepを分ける必要が御座います。

①動作イベントはコントロール内でしか受け取れない為、書き込み用のeStepはHMITableExのChengeValueで行ってください。

②読み込み用のeStepはHMITableExとは別に基準スキャン周期を行う為の非表示コントロール(HMI Title Controlなど)を用意して頂くか、eStepを記述していないコントロールに記述してください。
2-31 CSVファイルを変数配列に読み込み、その読込んだデータを別コントロールで使用するにはどうすればいいのでしょうか?
1つのeStep内で処理が完結するのであれば変数配列にCSVのデータを読み込み使用する事が出来ます。
しかし、配列はグローバル変数に宣言する事が出来ない為、別コントロールでは使用できません。

代替案として非表示のHMITableExを使用した手順を例としてご案内いたします。

① 非表示のHMITableExを作成してください。
② HMITableExには読み込むデータ量の行を設定してください。
③ FileOpne関数を使用し、データが入ったCSVファイルのハンドルを取得してください。
④ 繰り返し処理を作成し、読込むデータ数分処理を繰り返してください。
⑤ FileRead関数を使用しローカル変数に読込んだデータを保持してください。
⑥ HMITableExのセルに読込んだデータをセットしてください。
⑦ 繰り返し処理が完了したらFileCloseでファイルを閉じてください。
⑧ HMITableExセルに読込んだデータを各コントロールで使用してください。
2-32 ローカル変数を作るにはどうすればいいのでしょうか?
変数名の最初の文字が「.」では無い場合はグローバル変数となります。
たとえば「mdata」はグローバルです。

変数をローカル変数として宣言する場合は変数名の前に「.」を付けてください。
「.mdata」とすればローカル変数となります。
2-33 INplc内のローカル変数へアクセスできますか?
ACTIVE TOUCHはOPCクライアントの機能を持っています。
INplcオプションのINplc-OPCサーバーと合わせてご利用頂く事でINplc内のローカル変数へのアクセスが可能となります。
INplc側の設定はOPCクライアントにアクセスさせたい変数のOPC設定にチェックを入れて頂く事でその変数への読み書きをする事が出来ます。
2-34 INplcのMエリアのデータの変化に応じて、表示部品に表示されている数値も変化させたいのですが、どのように設定すればいいですか?
INplc Mエリアのデータを表示方法
1)INpMac Controlをページに張り付け準備します。
2)INpMac Controlをダブルクリックしプロパティ画面を表示
3)モード「Mエリアの情報を読み込む」を選択
4)データ型・オフセットの位置を設定しOKボタンで設定しプロパティ画面を終了します
5)INpMac ControlのプロパティウィンドウのValueプロパティを選択し、Mエリアの読み込んだ情報を入れる為の変数をデータリンクに指定し入出力方向を指定してください。
 ※プロパティから変数へのアウトプットなので「O」表示となります。
6)表示部品の「Value」または「TitleText」プロパティに5)でデータリンクした変数を設定し入出力方向を指定してください
 ※変数からプロパティへのインプットなので「I」表示を指定します。
2-35 入力用の部品に数値をタッチパネルから入力するとき、テンキーのようなウィンドウを表示して入力することはできますか?
入力テンキーはHMI Edit Control場合で有れば、ページに張り付けたHMI Edit Controlをダブルクリックして表示されるプロパティ画面の拡張タブを選択して頂き「ソフトキーボードボタンを表示」項目にチェックを入れてください。
2-36 INpMac Controlという部品をは画面ページ上から消すことはできますか?
開発時はINpMacのControlはエディタ上には表示されますが、実行時には表示されません。
開発時のエディタ上でも邪魔な場合は、ページ画面の見えない位置(ページサイズ外の位置)に張り付けてください。
2-37 変数名の制限は有りますか?
●変数名は英数字のみ使用できます。
●変数の文字数は31文字まで。
●変数は英字で始まる必要が有ります。
※_,-,@などは使用出来ません
2-38 ヘッダーページやフッターべージを作成する事は出来ますか?
ヘッダー用フッター用などのページに関する設定は御座いません。
ヘッダーフッターページにかぶらないように他の表示ページの位置・サイズ設定を行い ヘッダーフッターページ分の上下空きスペースを作って頂く事で他のページクリック時でも ヘッダーフッターページを表示する事が出来ます。
2-39 エディットコントロールをタッチしたイベントは取れますか?
エディットボックスにタッチした時のイベントが無い為タッチした時イベントを取得する事が出来ません。
例えば、タッチした時に何かを実行したい場合は、代替案としてはエディットボックスの横にボタンを 設置しボタンの「OnButtonStatus」イベントで実行してください。
2-40 外部(PLCなど)からページの切り替えは出来ますか?
外部からの情報をもとにページ表示関数[ShowPage()][ShowPageByID()]を使用することで実現可能です。
2-41 言語の切り替え機能は有りますか?
言語の切り替え機能は有ります。

1)切り替える言語毎に表示するメッセージを言語の編集ツールを使用して登録します。



2)関数[SetLanguage()]を使用して言語の切り替えを行います。
2-42 データを表示する際にフォーマットを決められますか?(小数点2桁表示など)
関数[DataToStrFormat()]を使用する事により数値をフォーマット付けの文字列に変換できます。

2-43 INpMacは最大いくつまで使用可能ですか?
INpMacの最大使用可能数はPCのスペックと標準スキャン周期にもよりますので下記のPCスペックと使用可能最大数を参考にしてください。
最大使用可能数を超えると画面処理が間に合わない為、画面動作が著しく重くなったり画面の操作が出来なくなります。
その場合はWidnowsタスクマネージャーでACTIVE TOUCHを終了してください。


[PCスペック]
CPU:Intel Core i5-2400 CPU3.10GHz
メモリ:8GB
OS:Widnows 10 Pro 64ビット

[ACTIVE TOUCH]
Ver.5.9.23(64bit)

標準スキャン周期1ms設定時3つのINpMacの利用が可能です。
上記結果から計算すると標準スキャン周期500ms設定時は約150個のINpMacの利用が可能と言う事になります。

ページのプロパティ->「スタイル2」タブ->「ページ非表示の設定」->「ページ内のeStep/データ交換処理を停止する」の機能を有効にすることで非表示中のページはINpMacを使用しなくなるので、表示中ページ合計のINpMac使用可能最大数となります。



3. 実行関係

3-1 実行環境をインストールしたPCを起動すると自動でACTIVE TOUCHが起動しますが、手動で起動することはできますか?
レジストリから次の項目を削除することで自動起動を解除できます。
※ レジストリの変更は、自己責任で行ってください。   

○ 32bit OSの場合:
   [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
   "StartActvieTouch"

○ 64bit OSの場合:
   [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run]
   "StartActvieTouch"
3-2 実行環境で開発環境のようにプロジェクト設定の変更(例えば、更新周期設定)は可能ですか?
できません。
変更するには、開発環境で設定してから、実行環境へ移す必要があります。
3-3 ACTIVE TOUCHを起動してからWindowsAPを起動した場合、INpMacWin.OCXは正常にRead/Writeできますか?
できます。
3-4 INpMacWin.OCXが正常にRead/Writeできる状態からWindowsAPで共有メモリを削除して、また生成した場合、正常にRead/Writeできますか?
できます。
3-5 開発環境で開発したプロジェクトを実行環境で動作できるようにするには、どうすれば良いですか?
開発環境をインストールしたときに「C:\ACTIVETOUCH_PRJ\NfDisk」に生成されるので、 そのプロジェクトをフォルダごとコピーし、実行環境のPCの同フォルダに貼り付けてください。

さらに「C:\ACTIVETOUCH_PRJ\NfDisk」にある「HmiView.ini」で

[Project]
 DefaultPath=\NfDisk\
 DefaultName=\NfDisk\Opening.HPF

上記の部分を実行させたいプロジェクトのパスに変更することで 開発環境で開発したプロジェクトを実行環境で動作させることができます。
3-6 動作ログ(HmiViewLog.txt)の出力設定を変更する方法
※ v5.9.23から対応
ACTIVE TOUCHを実行して停止した際に、動作ログ[HmiViewLog.txt]が[C:ACTIVETOUCH_PRJ\NFDisk]出力されます。
レジストリへ次の項目を追加することで、出力先の変更または出力を停止できます。
※ レジストリの変更は、自己責任で行ってください。   
キー[HKEY_LOCAL_MACHINE\SOFTWARE\CONTEC\HmiView]
値の名前HmiViewLog
値の種類REG_SZ(文字列値)
○ 出力先を指定する場合・・・[HmiViewLog]のデータとして出力先パス(フルパス)を指定してください。
 設定値例:C:\Temp2\HmiViewLog.txt
○ 出力を停止する場合・・・[HmiViewLog]のデータを空にしてください。
※ レジストリに[HmiViewLog]項目が無い場合は[C:ACTIVETOUCH_PRJ\NFDisk]に出力されます。
3-7 Windows10に実行環境をインストールしてもPC起動時に自動で画面が表示されません
Windows10の環境でPC起動時にACTIVETOUCH HmiViewを起動ささせるにはタスクスケジューラに下記のタスクを追加してください。
主な設定内容は下記のとおりです。

[全般]タブ
名前ACTIVETOUCH HmiView自動起動
セキュリティオプションユーザーがログオンしている時のみ実行
最上位の特権で実行する☑チェック
[トリガー]タブ
タスクの開始ログオン時
設定任意のユーザー
[操作]タブ
操作プログラムの開始
プログラム"C:\Program Files\ACTIVETOUCH\HmiView.exe"
3-8 実行すると画面の操作ができません(アプリフリーズのような現象)
スキャン周期が早すぎると画面の描画間に合わない場合画面の操作が出来なくなる場合が御座います。
スキャン周期設定を一度遅くしてご確認ください。

4. デバッグ

4-1 ウォッチウインドウは、リアルタイムに表示されますか?
ウォッチウインドウはリアルタイムで表示はされません。
変数をウォッチウインドウに追加した時の値が表示され続けます。
ウォッチウインドウの値を更新するにはeStepのブレイクポイントを使用し停止したタイミングで更新されます。
また、コントロールのプロパティにリンクしている変数であれば、プロパティとデータリンクウィンドウ(プロパティ画面)のプロパティを選択する事により現在の値が確認出来ます。