GX Works3 における iQ-F シリーズシーケンサのパラメータ省力設定に向けた開発
名古屋事業所ＦＡエンジニアリングソフトウエア統括部

第一技術部

エンジニアリングソフトウエア開発第三課

・平良賢一

・大石修司

・林晃良



要旨

MELSOFT GX Works3（以下 “GX Works3” という）とができる製品である。

は国際規格 IEC61131-3 準拠の高水準言語によるプログ

GX Works3 では一般的なプログラミングの変数にあラミング環境とコンパイラ・デバッガの機能を備え，“ 書たるラベルを使うことができ，プログラムの可読性を高くから選ぶ ” をコンセプトに操作性及び部品化・構造化めることができる。

を強化した三菱電機（株）のシーケンサエンジニアリング

ラベルはシーケンサのメモリエリア内のラベルエリアソフトウェアである。に格納される。iQ-F シリーズは小規模向けに低コストシーケンサは工場自動化（Factory Automation）をを実現した製品であり，他のシリーズと比べメモリエリ実現する制御機器であり，GX Works3 が対応するシーアのサイズが小さい。このため，確保できるラベルエリケンサには三菱電機（株）の MELSEC iQ-R シリーズ

アも小さく，ラベル使用量増加に伴いラベルエリアの空および MELSEC iQ-F シリーズ（以下 “iQ-F シリー

き容量が不足する頻度が高い。

ズ ” という）がある。本稿で述べる iQ-F シリーズは，ラベルエリアの空き容量が不足した場合，シーケンサEthernet やアナログ，SD メモリカードスロットなど多のパラメータを変更することでラベルエリアを増やすこ

彩な内蔵機能を備えた小規模・スタンドアロン向けマとができる。ラベルエリアを増やすには現在のラベル使イクロシーケンサである。また，iQ-F シリーズは “IoT用量などの情報を収集した上で，複数のパラメータ変更に使える機能 ” として製造ライン同士の情報を共有するが必要であり，手順が煩雑という課題があった。

シンプル CPU 通信機能，離れた場所からアクセスする

本稿では，ラベルエリアを増やす場合の GX Works3

FTP サーバ機能や Web サーバ機能，トラブル対策とし

iQ-F シリーズメモリエリアパラメータ省力設定の開発てデータロギング機能やリアルタイムモニタ機能などもで取り組んだ技術，工夫した点について述べる。

有しており，製造ラインの IoT 化の第一歩を実現するこ

GX Works3 ラベルメモリエリアパラメータの省力設定図

20

１．まえがきMELSOFT GX Works3（以下 “GX Works3” という）は国際規格 IEC61131-3 準拠の高水準言語によるプログ
ラミング環境とコンパイラ・デバッガの機能を備えたシーケンサエンジニアリングソフトウェアである（図１）。

図２．iQ-F シリーズ
（三菱電機カタログ “MELSEC iQ-F 総合カタログ ”
L（名）08394-L より引用）

iQ-F シリーズ向けに，煩雑なパラメータ変更手順を改善する機能を開発したので，本稿で詳細を説明する。

２．ラベルを利用したプログラミングの課題
GX Works3 における制御システム開発の流れを図３

図１．IEC 準拠の主要なプログラミング言語にに示す。本稿で述べる図３の「２）プログラミング」工対応した GX Works3

程では，シーケンサの入力インタフェースおよび出力イ（三菱電機カタログ “ シーケンサエンジニアリングソフトウェア
GX Works3”L（名）08333-C より引用）

ンタフェースを用いた制御システムを実現するプログラ
ムを作成する。

シーケンサは工場自動化（Factory Automation）を実現する制御機器であり，GX Works3 が対応するシーケ

シーケンサの入力インタフェースには押ボタンスイッ

ンサには MELSEC iQ-R シリーズ（以下 “iQ-R シリー

チや切換えスイッチなどの入力機器，出力インタフェー

ズ ” という）および MELSEC iQ-F シリーズ（以下 “iQ-F

スには信号灯やデジタル表示器などの出力機器を接続すシリーズ ” という）がある。iQ-R シリーズは中・大規る。シーケンサは入力機器の状態を入力インタフェース模向けにビルディングブロックタイプの特徴を持つシーの X デバイスで保持し，出力機器への信号は出力インケンサであり，iQ-F シリーズは，Ethernet やアナログ，タフェースの Y デバイスを介して制御する。また，プSD メモリカードスロットなど多彩な内蔵機能を備えたログラムの演算結果などの数値データを格納する D デ

小規模・スタンドアロン向けマイクロシーケンサであるバイスなどがある。

（図２）。

図３．GX Works3 による制御システムの開発

21

GX Works3 ではこれらデバイスの代わりに一般的なメモリエリア全体のサイズは，例えば iQ-F シリーズ

プログラミングの変数にあたるラベルを使うこともできの FX5U は 63K ワード固定である。iQ-F シリーズは小る。ラベルはラベルエディタにてラベル名やデータ型を規模・スタンドアロン向けに低コストを実現した製品で指定することで，ラダー言語や ST 言語などのプログラあり，他のシリーズと比較してメモリエリア全体のサイムに記述することができ，プログラムの可読性を高めるズが小さい。このため確保できるラベルエリアも小さく，ことができる（図４）。

ラベルを多く使うとラベルエリアの空き容量が不足してくる。ラベルエリアの空き容量が不足した場合，ユーザはデバイス，ラベルの使用量を収集した上で，シーケンサの各機能を設定する CPU パラメータに含まれるメモリエリアパラメータを変更し，ラベルエリアを増やす必要がある。このラベルエリアを増やす手順が煩雑である課題があった。本課題を解決するため，メモリエリアパラメータ省力設定の開発を行った。

３．メモリエリアパラメータ省力設定の開発
ラベルエリアを増やす場合，デバイスエリアを減らしてメモリエリア全体の空き容量を確保した上でラベルエ

図４．ラベルを利用したプログラミング

リアを増やすパラメータの変更が必要となる。デバイス（三菱電機カタログ “ シーケンサエンジニアリングソフトウェア
GX Works3”L（名）08333-C より引用）

エリアを減らすには各デバイス点数を削減するパラメー
タの変更も必要である。これらラベルエリアを増やす一シーケンサにはデータを保持するメモリエリアがあ連のパラメータ変更手順を図６の手順１〜４に示す。

る。メモリエリアは，デバイスエリアとラベルエリアで図６の手順を実施することでデバイス点数を削減した構成されており，各エリアのサイズは変更可能である（図分だけラベルエリアを増やすことができる。どのデバイ５）。

スをどれだけ削減するかは，ユーザのシステムによって異なる。そのユースケースを表１に示す。

図５．iQ-F シリーズのメモリエリアのイメージ

図６．ラベルエリアを増やすパラメータ変更手順22

表１．デバイス点数削減でのユースケース
ユースケース１）今後制御システムの機能追加を予定しており，使用予定のデバイス点数を確保した上で不要なデバイス点数を削減する
例えば D デバイスは現在未使用だが今後使用予定のため8,000 点分確保し，他の未使用デバイスはすべて削減するな
ど，削減対象デバイスや削減量を個々に判断して削減する。
ユースケース２）現在のデバイスの使用状況に合わせて不要なデバイス点数を削減する
削減対象デバイスや削減量を個々に判断せず，未使用のデバイスから優先して削減する。

図７．デバイス／ラベルメモリエリア使用状況画面

表１のユースケース１において，手順１の「デバイス，ラベルの使用状況確認」で課題があり対策を実施した（表本機能は今後拡充が見込まれる機能であったため，保２）。

守性や拡張性を確保することを目的に，表４で示す非機能要件とした。

表２．手順１の使用状況確認における課題と対策
表４．デバイスラベルメモリエリア

課題）パラメータ変更に必要な情報の収集が煩雑

使用状況機能の非機能要件

パラメータを変更する際，現在のデバイスの使用量やラベルの使用量を把握する必要がある。これら情報を収集するためには，GX Works3 の「デバイス使用一覧」でデバイス使用量を確認する，プログラム変換結果からラベル使用量を確認するなど，個々に確認する必要があった。

要件１）デバイス種別の増減に耐えうる設計とすること
シーケンサのシリーズによってデバイス種別が異なるため，別シリーズのシーケンサにも対応する必要がある。画面に表示するデバイス数が異なっても，容易に表示を変更できる設計とすること。

対策）デバイス／ラベル使用状況一覧画面を開発
画面上のボタンワンクリックでデバイスやラベルの使用状況を一覧表示する機能を開発した。これにより，パラメータ変更に必要な情報収集の手間が大幅に削減可能となった。（詳細は 3.1 節を参照）

要件２）画面サイズの変更に耐えうる設計とすること
今後，表示するデバイス数が増えた場合，画面サイズも大きくなるため，画面サイズを変更する必要が想定される。このため，将来，画面サイズを容易に変更できる設計とすること。

表１のユースケース２では，手順１〜４全体で課題があり対策を実施した（表３）。

３．１．１

表示対象の増減を容易に実現するソフトウェア設計

表３．手順１〜４のパラメータ変更における課題と対策

今後デバイス種別の増減に耐えうる設計とするために課題）パラメータの変更手順が煩雑次の（１），（２）の手法を取り入れ，保守性や拡張性を削減対象デバイスや削減量を個々に判断する必要がないにも関わらず，手順１〜２をデバイスごとに繰り返し実施した上で，手順３〜４を実施する必要があり，煩雑であった。

（１）View コントロールの部品化・階層化向上させた。
UserControl を利用することで，独自のカスタムコン対策）メモリエリア一括設定機能を開発

トロールを作成した。今後対応するデバイスが増えた場

画面上のボタンワンクリックで手順１〜４を自動で実行する機能を開発した。これにより，ラベルエリアを増やす手間が大幅に削減可能となった。（詳細は 3.2 節を参照）

合でも容易に追加設計できるように，デバイス単位で簡単に使用できる表示部品を用意した。
加えて，デバイス／ラベルメモリエリア使用状況画面

３．１

デバイス／ラベルメモリエリア使用状況一覧機能の構成を以下の階層構造として設計した（図８，図９）。

デバイス，ラベルの使用状況が確認できる機能を開発した（図７）。

23

（２）Factory Method パターンによるアーキテクチャ設計
今後表示するデバイス種別の増減が想定されるため，この拡張性を確保するために Factory Method パターンを採用した（図 10）。

図 10．Factory Method パターン概要
表示データについて，データオブジェクトの生成手順

図８．View コントロールの種類のみ定義する Creator クラスとデータ自体の Product クラスに分離した。データ生成の処理とデータ自体が持つ処理を明確に分けることで，今後表示対象データが増えた場合でも処理を複雑化せず容易に追加設計できるアーキテクチャとした。
３．１．２

グラフのサイズ変更を容易に実現するソフトウェア設計

今後画面サイズ変更に伴いグラフの表示幅を変更することを容易にするため，次の（３）の手法を取り入れ拡張性を向上させた。
（３）グラフの表示幅に合わせた描画処理
今後画面サイズや各グラフの表示幅を任意に変更できるよう，常にグラフの表示幅に合わせて使用状況を描画するよう設計した。
ラベルのグラフは使用量を表示する（図 11）。
図９．View コントロールの階層構造
各 View を階層構造にすることにより，今後表示するデバイスやエリアが増えた場合でも，まとめて追加する場合と単一で追加する場合のそれぞれで柔軟に追加でき

図 11．ラベル使用状況のグラフ表示るようにした。

このため，グラフ表示幅に対して先頭から使用率分の色変更を行う処理にて実現した。
一方，デバイスのグラフは使用箇所を表示する（図12）。

24

表５．メモリエリア一括設定機能の機能要件要件）ユーザによるパラメータ見直しを必要としない一括設定であること
デバイスやラベルの使用状況を解析し，ユーザが期待する結果を算出するアルゴリズムであること。

図 12．デバイス使用状況のグラフ表示
具体的には，設定されたデバイス点数のうち，どのア３．２．１

ドレスを使用しているかサマリ表示する。デバイス設定

ユーザによる手動設定を想定したアルゴリズム設計

点数に応じて1ピクセルあたりの表示点数を算出し，使一括設定機能はユーザが期待する結果とならなければ用しているデバイスアドレスをマッピングして色変更すならない。例えば一括設定機能によりユーザが必要とする処理で実現した。
このため，今後画面サイズを任意に変更できる仕様にるデバイス点数が削減され，期待よりもラベルエリアがなった場合，画面サイズ変更後に各グラフの再描画処理増えてしまうとパラメータの見直しが必要となる。このを実行するだけで変更後の画面サイズに合わせたグラフため，ユーザが手動で変更することを想定したアルゴリ表示が可能となった。

ズムが必要となった。
ラベルエリアの増加量の制御については，空き容量の３．
２

メモリエリア一括設定機能

しきい値を指定する一括設定オプションを取り入れることで，必要以上に増加しない設計とした。例えば空き容メモリエリアパラメータを自動変更する一括設定機能

量しきい値が「20% 以上」の場合，ラベルエリアの空きを開発した（図 13）。

容量が 20% 以上を満たす最小サイズまでエリアを拡大するアルゴリズムとした。
デバイス点数削減については，各デバイスの設定点数と使用点数を比較し，余剰なデバイス点数を算出する必要がある。対象デバイスは 13 種類あり，使用状況はそれぞれのプログラムで異なる。このため，未使用点数の多いデバイスを少量ずつ削減するアルゴリズムとした（図 14）。

図 13．デバイス／ラベルメモリエリア設定画面
本機能は画面上のボタンをワンクリックするだけで図５のパラメータ変更手順１〜４を自動で実行するため，ラベルエリアを増やす手間を大幅に削減できる。
本機能は使用容易性向上を目的に，表５で示す機能要件とした。

図 14．余剰デバイス点数削減フロー

25

商標・登録商標について

これにより，比較的余剰のあるデバイスから少しずつ削減するため，未使用デバイスがすべて削除される可能■ Ethernet は，富士フィルムビジネスイノベーション性が低い。また，未使用点数の少ないデバイスは削減さ株式会社の登録商標です。

れないため，パラメータ見直しの頻度を下げることがで■ MELSEC iQ-R, MELSEC iQ-F, MELSOFT，GXきる。

Works は，三菱電機株式会社の登録商標です。

デバイス設定点数はデバイス毎に異なり少ないものは16 点，多いものは 32,768 点となる。このため，1回の執筆者紹介 

削減点数を固定値にするのではなく，設定点数の5% を削減することで，未使用点数の多いデバイス群を設定点平良数に応じて均等に削減するアルゴリズムとした。

2017年入社

賢一

シーケンサの周辺ソフトウエア開発に従事。現在，名古屋事業所 FAエンジニアリング
ソフトウエア統括部 第一技術部 エンジニアリング

４．むすび

ソフトウエア開発第三課
大石

本稿では，GX Works3 における iQ-F シリーズシーケンサのパラメータ省力設定に向けた開発技術について述

2018年入社

グループリーダー
修司

シーケンサの周辺ソフトウエア開発

べた。GX Works3 ではラベルを活用した「直感的なプに従事。現在，名古屋事業所 FAエンジニアリング

ログラミング環境による開発コスト削減」をコンセプト

ソフトウエア統括部 第一技術部 エンジニアリングとしており，お客様の開発コスト削減に寄与する機能をソフトウエア開発第三課開発した。今後も GX Works3 のコンセプトの実現をさ林らに進めることでお客様の開発コスト削減に寄与してい2020年入社

きたい。

晃良

シーケンサの周辺ソフトウエア開発に従事。現在，名古屋事業所 FAエンジニアリング

最後に，本開発にあたり，ご指導・ご支援いただいた

ソフトウエア統括部 第一技術部 エンジニアリング

三菱電機（株）名古屋製作所 ソフトウエアシステム部のソフトウエア開発第三課

関係各位に深く感謝の意を表する。

26