操作方法 – SCADA –
- Tagリスト編集は、Wonderware 社InTouch、System Platform(Galaxy)共に同様の処理フローになります。
処理フローのポップアップから当該の機能を直接起動できます。 - また、フロー図中央に記載の、Fix/iFix → InTouch、InTouch → InduSoftのTag変換機能もサポートしています。
- TagデータベースからCSVファイルを出力
- CSVファイルをExcelシートに読み込み(分割)
(Galaxyの場合は、UnicodeからシフトJISへのコード変換が事前に必要です) - Tagリストを編集(プロパティのインポート/エクスポート、文字列の連結/解除、置換等を使用)
- Tagリスト比較にて変更内容を確認(必要時)
- ExcelシートからCSVファイルを生成(マージ)
- CSVファイルをデータベースにロード
・特にGalaxyの場合は、テンプレートのプロパティ数が数千になることも多いので、プロパティのインポート/エクスポート機能は大変有効です。特定のプロパティ(Inputsource、アラーム、Historian等)を抽出して扱いやすくします。
・ロードの際にエラーが発生した場合は、SMC(System Management Console)にてエラー内容を確認します。Tagデータベースが元々バグを持っていて、それらがロードの際のチェックで引っかかる場合があります。アナログTagの初期値のレンジ外設定、特殊文字の使用等です。その場合は、Excelシートにて修正した後に再度マージしてロードします。
・Galaxyで対規模なTagを扱う場合は、「メモリエラー」が出るときがあります。その場合は、Excel/64ビット環境でのご使用をお願い致します。SCADA関係の処理は実行環境によって処理時間が大きく左右されます。特にExcelを起動した状態で連続処理する場合は、1分で完了する処理が10分以上かかったりする可能性があります。その場合は、躊躇せずに「Ctrl + Break」で強制終了させ、一度Excelを再起動してから再度実行下さい。あっさりと完了してしまうことが多い感じです。
InTouch Tag変換 **
- InTouchのTagデータベースから出力したCSVファイルをExcelへ読込(Tagのタイプ毎にシートを分割)ます。
- また、ExcelファイルからDBLoad用CSVファイルをマージ出力します。
(1)DBDumpファイルをタグタイプ毎にシート分割
- 「タグ変数の種類毎にシート分割」を選択して、対象CSVファイルを読み込んだ後に分割を実行します。
- CSVファイルは、InTouchからのDBDump実行時に「タグタイプ毎にグループ出力」を必ずONにします。
- 「CSVファイル読み込み」の際に「Tagデータベースのタグ名一覧/プロパティ一覧の生成」をサポートしました。
- ポップアップで「はい」とすると、ブランクシートに一覧を記載します。
(2)複数シートをマージしてDBLoadファイルを生成
- マージ対象のExcelファイルをオープン状態にして、当該機能のボタンをクリックします。
- 「複数シートをマージ」を選択して実行します。
- 出力オプションのmodeは通常「replace」にします。
- InTouchのバージョンが2012よりも古い場合は、下記のポップアップが表示されます。
- 「はい」をクリックするとそのままのフォーマットでマージ処理されます。
- 全シートについて確認されます。
Galaxy Tag変換 **
- System PlatformのGalaxy TagデータベースからGalaxy Dump出力したCSVファイルをExcelへ読込み、
Tagのテンプレート毎にシートを分割します。 - また、ExcelファイルからGalaxy Load用CSVファイルをマージ出力します。
(1)Template毎にシート分割
- 当該機能のボタンをクリックします。
- Galaxyの場合は、Excelシートへの取り込みの単位が、タグ変数の種類毎ではなくTemplate毎になります。
- GalaxyDumpしたCSVファイルは文字化け防止のために、シフトJISに変換しておきます。
- 「文字コード変換」をクリックしてFCCheckerを起動します。
- エクスプローラから対象のGalaxyDump CSVファイルをドラッグアンドドロップします。
- 文字コードを「Shift-JIS」にして変換をクリックします。
- 実行モードを「Template毎にシート分割」にして、「CSVファイルの読み込み」をクリックします。
- 先ほどShift-JISに変換したCSVファイルを開きます。
- タグ名一覧/アトリビュート一覧を生成する場合は、下記で「はい」をクリックします。
- 完了ポップアップで「OK」、さらに「実行」をクリックします。
- 目次付のテンプレート別シートを含んだExcelファイルが生成されました。
- タグ名一覧/アトリビュート一覧のファイルは名前を付けて保存して下さい。
- シート名にはテンプレート名が使用されますが、Excelのシート名がMax31文字なのに対して
Galaxyのテンプレート名はMax32文字なので、テンプレート名が32文字の場合はExcelのシート名が代わりの別名称になります。 - その場合は、当該のテンプレート名が目次の備考欄に記載されます。
- このような事情がありますので、Galaxyのテンプレート名はMax31文字以内に収めて頂くのが適切です。
- Tag名についてもExcelとの関係で同様にMax31文字以内に収めて頂くことをおすすめ致します。
(2)複数シートをマージしてGalaxyLoadファイルを生成
- ExcelシートをマージしてGalaxyLoadファイルを生成します。
- 実行モードを「Template毎にシート分割」にして、「実行」をクリックします。
- 生成されたCSVファイルがエクスプローラでフォーカスされます。
- このCSVファイルは「UTF-16」なのでそのままIDEでGalaxyLoad可能です。
(3)シート分割ファイルから特定Tag抽出 (Tagリスト指定)
- ExcelファイルからTagリストを指定して当該Tag情報のみ抽出して別ファイルを生成します。
- (1)で生成したExcelファイルとTag名を記載したシートをオープンしておきます。
- 「Tag名をセル範囲で指定」をクリックしてセル範囲を入力します。
- セル範囲は、オートフィルタをかけての選択OKです。
- 「実行」をクリックします。
- 別名のファイルが生成されて、目次の後ろのレポートシートで抽出結果を確認できます。
- 「抽出結果」がNGの場合は、元のファイルに対象タグ名が存在しなかったときになります。
- このシートは(2)のGalaxyLoad用CSVファイル生成において目次と共にマージ対象外になります。
- レポートシートがそのまま残っていてもマージ処理に影響しません。
(4)シート分割ファイルから特定Tag抽出 (Tagに含まれる文字列指定)
- ExcelファイルからTagに含まれる文字列を指定して当該Tag情報のみ抽出して別ファイルを生成します。
- (1)で生成したExcelファイルをオープンしておきます。
- 下記のようにTagに含まれる文字列を指定します。この例では、「_a」を指定してみます。
- 別名のファイルが生成されて、目次の後ろのレポートシートで抽出結果を確認できます。
- このシートは(2)のGalaxyLoad用CSVファイル生成において目次と共にマージ対象外になります。
- レポートシートがそのまま残っていてもマージ処理に影響しません。
Tag比較 *
- 上記のExcelファイルについて編集前後のファイルの詳細比較結果をレポートします。
- Tagの追加/削除/変更を分類レポートし、変更はTagのプロパティの変更前後の値を表示します。
- Tagはソートされてから比較されますので出現順はランダムでも問題ありません。
- これによりTagデータベースの履歴管理が可能になります。
- 他のSCADA(InduSoft等)のTagリストやドライバーシート(PLCのIOリスト)等にも利用可能です。
- シートのフォーマットが、左側にTag名、右側にプロパティであれば適用可能です。
- Excel2013以降は、本機能の実行完了後、レポートを表示するウィンドウがフリーズ状態になる場合があります。
- この場合は、他のウィンドウに一旦移ってから戻って下さい。
(1)InTouchのTagリスト比較
- 比較対象のExcelファイルをオープンにして当該機能のボタンをクリックします。
- Tag名の開始セルとして「InTouch(A2固定)」を選択します。
- 目次とmodeは比較対象から外します。
- 比較結果のファイルが生成されます。
- 「比較結果」シートには、変更前のファイルと比較してシート毎に、add/delete/updateのTag数が表示されます。
- 変化のあったシートは、A列に変化の内容が表示されます。
- updateの場合は、変化のあったプロパティが強調表示されます。
- 強調表示色は、「カスタマイズ」機能で好みの色を指定可能です。
(2)InduSoft Web StudioのTagリスト比較
- 比較対象のExcelファイルをオープンにして当該機能のボタンをクリックします。
- Tag名の開始セルとして「任意」を選択します。
- Tag名の開始セルを指定します。この例では、「$A$2」になります。
- 複数のシートを比較する場合は、この開始セルが同一であることが前提になります。
プロパティのインポート/エクスポート **
- InTouch/GalaxyのTagリストから複数の任意のプロパティ値をエクスポート、
また編集したリストのプロパティ値をTagリストにインポートします。 - 特にGalaxyの場合はプロパティの種類が3桁になりますので、この機能は大変有効です。
- エクスポート機能を使用してTag、コメント、PLCアドレスの情報のみを全Tagについて抽出して一覧にする等の用途にも有効です。
- 本機能につきましては日進月歩で多数の機能を追加サポートしています。
- その関係で本サイトへのタイムリーな反映が困難となっており、開発者も半分あきらめています(笑)。
- YouTube動画等でご確認頂けたらと存じます。実際にさわってみて下さい。
プロパティのエクスポート
- プロパティをセル範囲で指定可能
- Inputsource指定(Galaxy)
- Historian指定(Galaxy)
- アラームコメント/プライオリティ指定(Galaxy)
- アナログレンジ指定(Galaxy) (V7.01)
- ユーザ登録プロパティの指定(Galaxy) (V7.08)
- 面倒なGalaxyのインスタンスのブラッシュアップ(各種プロパティの登録)がこの機能で簡単・確実に行えます!!
プロパティのインポート
- 機能が色々あって、正直よく覚えていません(笑)
- ご興味のある方は、個別にお問い合わせください。
SCADA間Tag変換(InTouch/iFix/InduSoft)
Fix/iFix → InTouch **
- Fix/iFixのTagリスト(CSVファイル/GDBファイル)から、InTouch DBDumpフォーマットのExcelシートを生成します。
変換対象となるブロックタイプ
- 対象外のブロックタイプの内Tag生成が必要なものは、生成されたファイルからマニュアルにて別途InTouchシートへ反映して下さい。
InTouchのTagタイプとの対応
- 「IOAccess」は、各ブロックタイプの「A_IODV」に記載の値を転記します。
- 但し、”SIM”は除きます。
InTouchのプロパティへの変換仕様
- 仕様に関して誤り等がございましたらご教示頂きますと幸甚です。
InTouch → InTouch Edge HMI(InduSoft)**
- InTouchのTagリストから、InTouch Edge HMI(InduSoft)用の
Tagリスト、ドライバーシート、アラームシート、トレンドシートを生成します。
- ドライバーシートは、I/OTagが対象になります。
- アラームシートは、「AlarmState」が「On」のTagが対象になります。
- トレンドシートは、「Logged」が「Yes」のTagが対象になります。
- SCADAアプリのInTouchからInTouch Edge HMI(InduSoft)へのポーティングや
InTouchアプリをInTouch Edge HMI(InduSoft)のデータベーススパイ機能を使用してI/Oテストする際に有効です。
- 対象のInTouch Excelファイルをオープン状態にして、当該機能のボタンをクリックします。
<InTouch Edge HMI(InduSoft)のタグ名命名ルール>
・255文字以内の英数字、「_」(アンダースコア)
・先頭は英字
・禁止文字(` ~ ! @ # $ % ^ & * ( ) – = \ + \ [ ] { } < > ?)
- 出力ファイル名を指定して「実行」をクリックします。
- 「InTouch Tagリストからのオリジナル値抽出シートを残す」を指定すると、InTouchのオリジナル値を後で確認することができます。
<InTouch Tagリストからのオリジナル値抽出シート>
- 抽出対象のプロパティを持たないタグタイプの該当セルはグレー表示になります。
- 出力ファイル内に、残り4つのシート(InduSoft _Tag、InduSoft_DriverSheet、InduSoft_Alarm、InduSoft_Trend)が生成されています。
<InduSoft_Tag>変換仕様
- 名前:InTouchの「TagName」の値をそのまま記入します。
InTouch Edge HMI(InduSoft)のタグ名ルールにマッチしない場合もありますので、その際は編集下さい。 - 配列:全て「0」が記入されます。
- 型:InTouchの「TagType」の値を反映します。
- 説明:InTouchの「Comment」の値をそのまま記入します。
- 有効範囲:全て「サーバ」が記入されます。
- スタートアップ:InTouchの「InitialValue」の値をそのまま入します。
- 最小:InTouchの「MinValue」or「MinEU」の値をそのまま記入します。
- 最大:InTouchの「MaxValue」or「MaxEU」の値をそのまま記入します。
- 単位:InTouchの「EngUnits」の値をそのまま記入します。
- 値の保持:InTouchの「RetentiveValue」の値を反映します。
- パラメータの保持:記入しません。
- デッドバンド:InTouchの「Deadband」の値をそのまま記入します。
- スムージング:記入しません。
- 間接Tagについては、Tag名の先頭に識別子「@」が付加されます。
<InduSoft_DriverSheet>変換仕様
ドライバーシートは、I/OTagが対象になります。
- タグ名:InTouchの「TagName」の値をそのまま記入します。
InTouch Edge HMI(InduSoft)のタグ名ルールにマッチしない場合もありますので、その際は編集下さい。 - 位置:InTouchの「AccessName」の値を仮値としてそのまま記入します。
- I/Oアドレス:InTouchの「ItemName」の値を仮値としてそのまま記入します。
- アクション:InTouchの「ReadOnly」の値を反映します。
- スキャン:全て「常時」が記入されます。
- 除算:生値に対してスケーリングがかかっている場合は、その倍率が記入されます。
- 追加:生値に対してオフセットがかかっている場合は、その値が記入されます。
- 「位置」、「I/Oアドレス」は、仮値となっていますので別途適正な値に編集して下さい。
- InTouch「IODisc」の「Conversion」(正逆反転)のプロパティがInduSoftには存在しませんので、
値が「InDirect」のときには反映されません。
<InduSoft_Alarm>変換仕様
アラームシートは、「AlarmState」が「On」のTagが対象になります。
- タグ名:InTouchの「TagName」の値をそのまま記入します。
InTouch Edge HMI(InduSoft)のタグ名ルールにマッチしない場合もありますので、その際は編集下さい。 - 型:InTouchの「AlarmState」の値を反映します。デジタルTagの場合は、「Hi」を記入します。
- 限界値:InTouchの「AlarmValue」の値を反映します。デジタルTagの場合は、「1」を記入します。
- メッセージ:InTouchの「AlarmComment」の値をそのまま記入します。但し、空欄の場合は、「Comment」の値を代わりに記入します。
- 優先度:InTouchの「AlarmPri」の値を仮値としてそのまま記入します。
- 選択:記入しません。
- 「優先度」は、仮値となっていますので別途適正な値に編集して下さい。
<InduSoft_Trend>変換仕様
トレンドシートは、「Logged」が「Yes」のTagが対象になります。
- タグ名:InTouchの「TagName」の値をそのまま記入します。
- InTouch Edge HMI(InduSoft)のタグ名ルールにマッチしない場合もありますので、その際は編集下さい。
- デッドバンド:InTouchの「LogDeadband」の値をそのまま記入します。