個人の印象としては癖が強い印象のGx_Works3のユーザライブラリの使用方法について記事にします。
記事の流れは以下になります。
- ユーザライブラリの新規作成方法
- 部品選択ウィンドウへのユーザライブラリの登録方法
- ユーザライブラリの編集と上書き保存について
- 編集中のプロジェクトに更新したユーザライブラリを反映させる方法
1.ユーザライブラリの新規作成方法
プロジェクトファイルを開く
ライブラリ化したい部品が含まれたプロジェクトファイルや空のプロジェクトファイルなど、何でも良いので プロジェクトファイルをGx_works3で開きます。
圧縮してあったり、セキュリティの設定がしてあるものはユーザライブラリへエクスポートできません
詳細はGX Work3オペレーティングマニュアルを確認願います
「何でも良い」はちょっと言い過ぎでした
プロジェクトファイルをライブラリ形式のファイルにエクスポートする
「プロジェクト」-「ライブラリ操作」-「ライブラリのエクスポート」 でライブラリ形式のファイルにエクスポートします。
1つのフォルダに保存するユーザライブラリファイルは1つにすることをオススメします
2.部品選択ウィンドウへのユーザライブラリの登録方法
下記の2種類の方法があります。
- 「プロジェクト」-「ライブラリ操作」-「ライブラリ一覧に登録」 で登録
- 部品選択ウィンドウ上部の「ライブラリ一覧に登録」 ボタンで登録
これで部品選択ウィンドウからプロジェクトにユーザライブラリへ登録したプログラム部品を流用することができるようになります。
3.ユーザライブラリの編集と上書き保存について
部品選択ウィンドウ上に表示されているユーザライブラリを直接編集することはできません。
以下の手順で編集します。
ユーザライブラリファイルを開く
「プロジェクト」-「他形式ファイルを開く」-「GX Works3形式」-「ユーザライブラリを開く」 で名称未設定のプロジェクトファイルとして開きます。
開いたプロジェクトファイルを編集する
ユーザライブラリに多数の部品を登録すると一般的なプロジェクトファイルとしては整合性の無いものになっていきます。
なのでプロジェクトファイルとして開かれたユーザライブラリファイル上でプログラムを変換したり動作テストを行うようなことはしないことをオススメします。
私は別のプロジェクトファイルで動作確認を行った部品を名称未設定のプロジェクトファイルとして開いたユーザライブラリプロジェクトに貼り付けるという編集を行っています。
上書き保存する方法
一般的な操作で上書き保存しようとするとプロジェクトに名前を付けて保存する操作になってしまいます。
新規作成したときと同様に 「プロジェクト」-「ライブラリ操作」-「ライブラリのエクスポート」 で開いたユーザライブラリファイルを選択して上書きします。
複数のファイルがフォルダに保存されていると誤ったファイルに上書きする危険性が高くなります
ユーザライブラリを閉じる
名称未設定のプロジェクトファイルとして開かれているので閉じる際には保存するかどうか聞かれます
ライブラリへエクスポートしていれば不要なので構わず保存せずに閉じてください
セキュリティを設定した場合は名前を付けてプロジェクトとして保存するかどうか適宜判断してください
4.編集中のプロジェクトに更新したユーザライブラリを反映させる方法
ライブラリ表示情報の更新
プロジェクト編集中にユーザライブラリの更新を行った場合は、編集中のプロジェクトで下記の操作を行います。
「部品選択ウィンドウで更新したユーザライブラリを右クリック」-「ライブラリの表示情報更新」
ユーザライブラリ更新後に開いたプロジェクトには更新されたものが読み込まれます。
既にプログラム中に使用しているプログラム部品をライブラリで更新した場合
「部品選択ウィンドウで更新したユーザライブラリを右クリック」-「ライブラリ部品の更新」 を行います。
ライブラリでのFBの名称を変更したなどいくつかの場合で完全に更新されない場合があるので いったん保存してから 部品の更新操作を行うなど注意してください。
おわりに
ユーザライブラリは基本的にはプロジェクトファイルです。
わざわざユーザライブラリを使用せず、ひな形になるプロジェクトファイルをいくつか用意してそれから貼り付けるという方法でもある程度代わりが効くと思われます。
私の場合はiQ-Fで分散制御を行う際、FBや構造体などのプログラム部品を共通化させたいという考えがありました。
Melsoft Navigatorがその役目を担ってくれるのかと思ったのですが、そういうものでは無かったのでユーザライブラリを使用し始めました。
ユーザライブラリを更新した際、すでにプロジェクトに配置している部品を更新してくれる操作があるので、ただのプロジェクトファイルから貼り付ける方法よりも私の要望に合っていました。
現在、プログラム部品の作成が中心のプログラミングのワークフローは以下の様になっています。
- 新規プロジェクトでプログラム部品を作成して動作テストを行う
- テストが終わったプログラム部品をユーザライブラリに登録
- 各本番プログラムへユーザライブラリに登録したプログラム部品を適用
色々な資料でデフォルトでは画面右上のユーザライブラリに自由に部品を登録できるイメージ図を見ますがあれは嘘ですよね。
最初にも書きましたが、ちょっと癖が強い操作だと思います。