Ignition UDTタグからのコピー例
Ignition とは
「Ignition」は製造ラインや物流センターなどの統合監視・制御ソリューションです。サーバ、クライアント、デバイスから構成され、様々なオプションモジュールを用意しており、各顧客環境に細やかに対応可能な新しいSCADAシステムです。
生産現場での「見える化」に取り組む企業に浸透してきています。グローバル企業ほど進んでいますが、今後は日本企業にも採用されていくでしょう。
当社はIgnitionを導入サポート業務を担っているため、技術的な記事を備忘録の意味で後述します。
スクリプトを使ってUDTからTagへコピーしたい
- Ignitionでは、実行するスクリプトをPythonで記述していきます。
- またさまざまなDB、PLCに対応もしています。
- 集約されデータは「Tag」を介して表現してきいます。
- UDTとはTagのテンプレートみたいなものです。
- スクリプトでUDTからTagへコピーする際に、system.tag.copy() は使わず、 system.tag.configure()を使うというということがわかりましたので、以下に例を後述します。
スクリプト例
policy = 'o' # Overwrite and replace existing tag's configuration.
udtPath = "[default]_types_/IgnitionDtuTag"
basePath = "[default]IgnitionCustom/HogeHoge/"
createTag = basePath+'/'+PROCESS_ORDER
if system.tag.exists(createTag):
system.tag.deleteTags([createTag])
tagUDT = {'name': PROCESS_ORDER,
'typeId' : udtPath,
'tagType' : 'UdtInstance'}
system.tag.configure(basePath, [tagUDT], policy)