1.外部からの設定値変更
このカテゴリーではPLCをどのように扱えばよいかについて説明をしています。前の記事まででPLCのかなり基本的な使用方法について解説しています。内容としては配線接続,ソフトウェアの立上げからPLCラダー(プログラム)内へのアナログデータの取込みと利用までをこれまで説明してきました。
これだけでも広い範囲での制御設計ができますが、取込んだアナログのデータに対する設定値の変更に自由度が不足していますし、設定データの可視化という面でも不利です。
ですので今回は外部から自由に設定変更ができるようにしたうえで、取込んだアナログデータとの比較などに使えるようにすることを目的に、設計の進め方を説明します。
2.デジスイッチの使用
まず、外部から設定値を変更するといってもどのような部品を使って変更するか考えます。
今回はシンプルに「デジスイッチ」というものを使用します。デジスイッチは別名「サムロータリースイッチ」ともよばれ、その上下に「-」「+」の押しボタンスイッチがあり、これらを押すことで表示部が回転しながら「0」〜「9」までを表示するスイッチです。更に同時に一桁当たり4つの接点が数値に合う様に導通するという仕組みのものです。
以下に入力先頭番号を「X0」とした接続例を図示します。ここでは二桁で「0」〜「99」までの設定が可能となるよう設計することとなります。
ちなみに表示部と接点の動作は「BCD(2進化10進数)」という考え方を利用したものになっています。この部分は後述のPLCラダーの説明で、使い方とともに理解した方が早いと考えますので、ここでは「HEX(16進数)」のうち「10」~「15」を表現した「A」~「F」を省きかつ10で桁上がりする数という説明に留めておきます。
また、デジスイッチにダイオードが接続されています。これに関して以前筆者は開閉サージ等による影響の防止であるのではという認識の間違いがありました(疑問に思った時の調べ方に問題があったために生じた間違いです)。読者の方からのご指摘により間違いに気づきました。
このダイオードには「接点:負荷」が「1:n」また「n:1」そして「n:n」など複数の接点と負荷を接続するときの信号の回り込みを防止することが大きな目的であるということですので訂正をしておきます。具体的には、例えばどのような回路でどのような回り込みが起きるのかがわかり次第追記します。
さらに、このダイオードには極性の間違いを防止するという目的もあるとのことです。万が一、逆に接続してしまった場合でも機器の破損を防止するという目的もあるということです。これも大きな利点です。
3.PLCラダー
デジスイッチからの、一桁あたり4つの接点入力をPLCに各々接続したときに作成すべきPLCラダーについて記載します。先の結線図のときと同様に二桁分のPLCラダーを作成します。末尾に紹介の、デジスイッチのような2進化10進数で入力されたものを即座に「BIN(2進数)」に変換し格納する方法もありますが、ここでは機械(コンピューター)がどのようにして人間の扱う数を理解しているのかも含めて解説できるようにするために、敢えて動作の一つずつをPLCラダーに書込むこととします。
途中、KV STUDIOでは「ブックマーク」や「行コメント」が、GX Works2では「ステートメント」や「ノート」が出てきます。これらはPLCラダー中の注記のようなものであり動作には影響を与えません。
いずれのものも「メニュー」の「編集」から選択が可能です。
KV STUDIOでのブックマーク記述は「編集」内の「ブックマーク」を選択することで編集可能で、行コメントは同じく「編集」内で「挿入」を選択し更に「行コメント」を選択することで編集可能となります。
GX Works2では「編集」内で「文書作成」を選択すると「ステートメント編集」や「ノート編集」を選択可能となりますので、これらを選択して編集作業を行います。
1)KV STUDIO
例のごとく「XYM」表記を使用したPLCラダーです。このカテゴリーで新たに出てくる「加算命令」と「乗算命令」の記述方法以外のさらに基本的な項目については以前の記事でソフトウェアの立上げから説明していますのでそちらを参照してください。
では以下に作成したPLCラダーの説明をしていきます。
説明画像はクリックやタップで拡大可能です。そのままでは分かりづらいと思いますので適宜拡大してご覧ください。
以下の画像はデジスイッチ一桁分をPLCに接点で取込む回路です。「X0(パルスアップ)」が入力されたら「D0」に「1」を転送します。同様に「X1(パルスアップ)」なら「D2」に「2」を、「X2(パルスアップ)」なら「D4」に「4」を、「X3(パルスアップ)」なら「D6」に「8」を、という具合にPLC内部で処理をします。各々の接点入力が失われたら対応するワードデバイスには「0」が再転送されるようになっています。
ここで、「入力していく数値では、どうして「1」から順番に扱わないのだろう。どうして「1」「2」「4」「8」などと飛び飛びなのだろう。」と思われる人もいるかもしれません。そうですよね。本来その方が分かりやすいですよね。
その理由を簡単に説明すると、コンピューターは通常ONかOFFでしか判断ができません。そのコンピューターが、間違うことなく大きな桁の数であっても処理できるという形がこの2進数での考え方になります。「1」「2」「4」「8」を組み合わせて用いることで10進数の「0」〜「15」までが表現でき、かつコンピューターが理解できるということです。例えば10進数の「7」を入力したい場合、「X0」「X1」「X2」をPLCに対して入力するとPLC内部で「1+2+4」を実行するように組上げていくというものです。
そして2進化10進数では「10」以上の数値は桁上がりとして扱うので使用しない取決めになっています。デジスイッチではそれらのような入力ができないように設計されています。
以下の画像の一枚目は先のものと同じ画像ですが、「デジスイッチ「一の位」計算開始」の行コメント以降に注目してください。ここでは転送された各々デバイスの加算を開始する条件が記述されています。ここでは接点(入力)の状態に変化があったら、まず「一の位」の合計値となる「D10」を「0」でリセットしその後計算開始フラグを立てなさいという内容の命令が記述されています。
加算命令は接点や比較演算による条件が揃ったら開始される出力命令のような扱いです。
入力方法は「Enter」キーを押すことで表示される「命令値/マクロ/パックパレット」の中から「LDA」を選択し、足される数のデバイスを「D○○」と記述します。以降も同様に 「命令値/マクロ/パックパレット」を使用します。「ADD」を選択し足す数のデバイスを「D□□」と記述し、最後に加算結果の記述として「STA」を選択し「D△△」と入力します。演算に関して定数を扱う場合は「K●●」と入力します。このときの「K」は「10進数」といい、通常人間が扱う10ずつで桁上がりする数のことです。
直接記述では開始命令となる接点入力などの記述に繋げて、各々左側から「LDA␣D○○」「ADD␣D□□」「STA␣D△△」と続けて入力します。
以下の画像では実際に加算処理が次々と行われるように記述しています。
接点入力「X■■」を開始条件とする場合を例にとり、先程の入力を日本語で表現すると以下のようになります。
【「X■■」が入力されたら「D〇〇」の中に入っている数と「D□□」の中に入っている数を足し合わせ、「D△△」に結果の転送をしなさい。】
上記が加算命令の意味となります。この場合は加算となりますが、減算(引き算)も乗算(掛け算)も除算(割り算)も当然のことながら存在し、各々「SUB」「MUL」「DIV」で命令できます。ただし、浮動小数点は表現できませんのでご注意ください。
以下の画像は先ほどの「一の位」の処理と同じ要領で数値を取得し、加算していくための記述です。基本的な処理は同じですが、「十の位」ですので後述の10倍処理が付加されます。
すでに前の画像内に見えてはいますが、先ほど少し触れた10倍処理が以下の画像内の記述となります。
これまで加算命令で使用してきた「LDA」と「STA」の間に、「ADD」ではなく「MUL」を記述することになります。
最後に各桁で計上した値を合算すると、デジスイッチからの二桁数値設定の完了となります。前の画像と同じではありますが、以下に載せておきます。画像内の「D100」に二桁処理後の結果が転送されることとなります。「二桁合算処理」のブックマーク以下で「一の位」と「十の位」を合算しています。
以上がKV STUDIOでのデジスイッチ利用による数値入力処理となります。設定値として「D100」を後の動作の条件などに利用します。
2)GX Works
GX Works2におけるデジスイッチからの設定をするためのPLCラダーを以下に記載します。
説明画像はクリックやタップで拡大可能です。そのままでは分かりづらいと思いますので適宜拡大してご覧ください。
四則演算命令に関する入力のきっかけや表記の様子は違いますが、意味としては先のKV STUDIOと全く同じになります。是非KV STUDIOでの説明文も合わせて確認してください。また、処理方法における考え方も先のKV STUDIOのときと全く同じで、「一の位)「十の位」各々でデジスイッチからの入力受付部分,演算開始フラグ,演算実行部があり、「十の位」特有の10倍処理、最後に二桁合算処理をするという流れです。
以下、「一の位」におけるデジスイッチ入力部です。
次に、「一の位」における数値リセット(「D10」)と演算開始フラグです。前の画像と被る部分があります。
次は「一の位」における演算実行部となります。加算処理をします。
GX Works2での加算処理命令は応用命令である「F8」キーを最初に入力して始めます。その後「ADD␣D○○␣D□□␣D△△」と記述します。
【「D○○」に「D□□」を足し合わせ「D△△」に転送しなさい。】
という意味の命令なります。
以下、「十の位」におけるデジスイッチ入力部です。「デジスイッチ「十の位」」ステートメント以降に注目してください。
次に、「十の位」における数値リセット(「D30」)と演算開始フラグです。前の画像と被る部分があります。画像中央右側に緑色で記述されている「デジスイッチ「十の位」計算開始」のノート以降に注目してください。
次は「十の位」における演算実行部となります。加算処理をします。
以下、10倍処理の画像内の記述となります。
これまで加算命令で使用してきた「ADD」の記述の代わりに「MUL」を記述することになります。ここでは定数で10倍という意味の「K10」を使用しています。
最後に二桁合算処理をしています。
加算した結果を「D100」に転送しています。
以上がGX Works2でのデジスイッチ利用による数値入力処理となります。KV STUDIOと同様に設定値として「D100」を後の動作の条件などに利用します。
4.専用命令も活用
途中でも触れたとおり、このデジスイッチからの数値設定に関してはどちらのソフトウェアでも専用の命令が存在します。KV STUDIOでは「TBIN命令」、GX Works2では「BIN命令」を使うことでデジスイッチの入力状態を一発で変換し読込むことができます。
ですが今回は処理のひとつひとつを記述していくことでデジスイッチからの入力をどのように利用すれば思いどおりの設定ができ、またPLCラダー内でどのように処理すべきかが理解できたということであれば幸いです。
カーボンの美しさと堅牢性!
使いやすさで有名なThinkPad
さらに、シーケンス制御を効率よく学びたい方へ、筆者も実践した方法を記事にまとめました。時間的コストと金銭的コストのバランスが非常に良い方法であることを説明しています。以下からどうぞ。