リレー制御とは
- onとoffを同期できる装置を使った回路のこと。
- リレーという電気部品がその由来。その実装としてはコイルに通電しているときはその誘導磁力でonになるが、通電していないときはoffになる装置のようなものがある。その逆も容易にできる。
- かつてのコンピュータがこれを使用していたように複雑に組み合わせればpcと同等の機能を持たせられる。
plc シーケンサとは
- 上のリレーを内部に多数(有限個)備えているプログラマブルな装置のこと。これにリレー回路を入力すれば、その通りに動く。
- 多くのものはメモリを持っていて、基本的にはレジスタが01でメモリ書き込みはパソコンのようにできるものだと考えればいい。
しかし、無駄な機能がのっていないため省電力でいい感じ。 - メモリ情報を外から読み出せる仕組みとかはメーカーが用意してくれている。
- メーカーがそのプログラム環境をビジュアルっぽくやそうでないようにも用意してくれているが拡張命令がそれぞれ違っているので、互換性はない。仕方ない気もする。
- プログラミング環境が高いい。。100000くらいするらしい。
FPGAとの違い
- FPGAは組み合わせ回路単位で表現可能。リレーまでは降りられない。多分
- FPGAはハードウェア記述言語で書く。verilogとか
- FPGAよりは単純で早くあるべきやつをplcではやる。
- plcは箱が頑丈!!
ラダー言語とは
- ビジュアルプログラミング言語のひとつ。
- ハードウェア記述言語のように組み合わせ回路全体に対応しているわけではなく、基本的に記述の単位はリレーとIOになる。しかし、各メーカーは拡張命令を追加しているので、プログラミング言語からif文だけを取り出したような感じ。
- アセンブリのようにコンパイラがいろいろ辻褄を合わせてくれたりするかは不明。
- 並列に書くと並列に動くのがいいところ。たぶん。。。
低水準言語を書く原則
- IOにどのIOレジスタを使っているかをすべて明記
- メモリの番地とその使用用途を全列挙
- 外部のハードウェアとつながるので遅延があることは前提
リレー制御の注意点
- リレー制御は走り続けている。pcのように一レイヤーはさんで調整してくれない。
- 自己保持回路を組むことで状態を保持できる。しかし、それは内部状態を持つことになるので必要であるが高レベルな意味を明記するべき
- 内部のクロックで時刻を測るので時々時刻合わせしてあげないと因果関係があいまいになる。
plcからデータを吸い出す手順
- plcからラダープログラムを吸い出し。
- IOの仕様書やメモリの使用データをもとにほしい情報をどこかに上書きしていく"リアルタイム"部を作る。ここでシリアルナンバーをつけることと時刻を追加しないといけない
- リアルタイム部を履歴部に書きこんでいく回路を追加。何件とかはここで書ける。
- あとは追記したラダーをplcに書き込んで、plcの仕様書からメモリのあるとこからあるとこまでを吸い出す。(通信の規格(イーサ)とかを使ったりする)