ホームページを開き直す

シーケンサ手控え

入門書

仕様

電線色別

シーケンスの書き方−全体構成

非常停止・電源回路

ブレーカ・MC・電線

接地・アースの引き回し

ラダー図とタイミングチャート

歩進を自己保持で書く

シーケンスの構造化

SFC

リフレッシュとダイレクト

動作の確認

落ち穂拾い

ラダーの見本は原則として三菱A流で書いて いますが、入出力が区別できるなど説明しや すいためで、どの機種でも共通の話しです。 出力を直接その場で出していますが、これも 説明の都合上です。

入門書

  シーケンサとはどんなものか、などの初歩の初歩は三菱やオムロンと
いったメーカが2日ぐらいの講習会を開いていますし、そのテキストも
出ています。テキストには一応定価が付いていますが、ディーラーに頼
むなり、場合によっては営業に電話するだけでも、無料で入手できます。
工業高校の電気科でも、最近はある程度やるようですね。市販の本もあ
りますが、だいたいどこかのメーカの講習会テキストを下敷きにしてい
るのが多いです。
  その後ですが、勉強しなければならないことは山程あります。手取り
足とり、気長に且つ親切に教えてくれる先輩が身近に入れば有り難いで
すが、いつまでたっても実力にはなりません。取り敢えず仕事にぶつか
って鍛えられるのが一番として、基本はやはり大切です。
  「AND回路、OR回路などは解ったが、じゃあ具体的にこの部分は
どういうシーケンスにしたら良いのだろう」となります。シーケンスの
基本、たとえば「スイッチを押すとON、もう一度押すとOFF」(い
わゆるトグル動作)など、基本手順をまとめたのが

  「プログラマブルコントローラ応用プログラム例集」
    −シーケンス演算編1−
       青木 正夫著 近代図書 3090円 1992年初版

です。著者は三菱電機の方ですが、どのメーカのシーケンサにも通用す
る内容です。
 もう少し進んで、「このメカを動かすには」の観点からは
  「必携シーケンス制御プログラム定石集」
     機構図付き
       熊谷 英樹著 日刊工業 2500円 2003年初版

  制御盤を作るためには、あるいは図面を書いて作ってもらうためには、
シーケンスソフトとはまた違った方面の「常識」が必要になります。特
に、盤製作を外に出す方でも、一回は自分で部品手配・板金・組立・工
事までやることをおすすめします。一冊上げれば

  「制御盤組み立ての手順と実際」
      佐藤 一郎著  技術評論社 1600円 1981年初版
  「図解 制御盤の設計と製作」
     佐藤 一郎著  日本理工出版会
                   3150円 2000年初版
      ※この二冊はほぼ同じ内容です

少し古いような気もしますが、教科書ですから。実際に盤を作るとなる
といろんなノウハウや約束事がありますが、理想をいうと一度自力で盤
を組んでみてから、ちゃんとした盤を改めて観察するといろんなことに
気が付くと思います。
たとえば、盤面に付くランプやボタン類について「床面からいくらから
いくらの高さまで」と仕様に書いてあることがありますが、要は作業者
が普通の姿勢で操作出来る必要がある訳です。
シーケンスは出来るが、初めて盤図を書いた人から、盤の中板の寸法が
盤の外形と一緒とか、扉面のぎりぎりまで器具を取り付ける(周りのフ
チを無視)などという図面をもらって往生した覚えがあります。

シーケンサというと、どうしてもソフト面が表に出ますが(最後まで手
間がかかるし、それなりにおもしろい仕事ではあるのですが)、現場で
動くものを作るためにはソフト以外の技術も必要です。
  工事については、電気工事士と同等以上の知識・技術ということにな
りますか。資格をとらないまでも、工事士受験用のテキストや有資格者
のための講習会テキストなどは必携です。
  そのほか、開発ソフト(最近はほとんどパソコン用)とか、図面書き
に必要なCADソフトを使いこなさなければなりません。  Windowソフ
トは、HELPファイルがでかくなってもよいので、オンラインヘルプでほ
とんど用が足りるようですが、私は「どこに書いてあるか」を記憶の隅
にとどめるため、必ず一度は印刷されたマニュアルを頭から尻尾まで一
晩(つまり一晩で可能なだけ)目を通すことにしていました。
このごろはインストール用のCDにPDF形式の詳細マニュアルがある
だけで印刷物がほとんど入っていないようですが、やはり私は手元に開
発ソフトとか関連部品の分厚いマニュアル/カタログがないと、どうも
落ち着きません。

パソコン(又は専用ツール)とともに、プログラミングコンソール(電
卓型の簡易ツール)も使えるようにしておいて下さい。
  もひとつ、入門書ではありませんし、個人で持つ本でもないですがこ
の世界の憲法ともいうべき内線規程については

  「電気管理技術者必携」 東京電気管理技術者協会
            2001年版の場合 オーム社 5300円

おりにふれて目を通すなり、せめて職場の本棚のどの辺にあるか
確認してください。

インターネットから情報を集め、広い世間の先輩達の知恵を借りるのも
大切なことです。
パソコン通信の時代からあるniftyのFAフォーラムは情報の宝庫
で、私はここの過去ログを丹念に読んで勉強しました。
現時点では、2ちゃんねるの「工学・機械板」が一番にぎやかなようで
す。ただ匿名・書き放題という方式ですから、これだけがすべてと思う
のはどうでしょう。
(少々口うるさいが)先輩にちゃんと教えを乞うやり方も身に付けるべ
きでしょう。このホームページのリンク集にも、質問の仕方をまとめた
サイトを紹介しています。
GOOGLEなどの検索サイトで調べる場合も同じですが、「そこを読んで終
わり」でなく関連したアドレスを紹介してあることが多いので、追って
行くときっと役に立つ情報が手に入ります。
掲示板にいろいろ書き込んであって、雑談のなかにキラリと光る記事が
見つかることもありますので、役に立ちそうなニオイを感じたら過去ロ
グを調べるのも良いでしょう。
 #何でも手当たり次第に読むのは、ある時期には必要ですが、いつま
 #でもやっていると、一生読むだけで終わるかも...
最初に戻る

仕様

  分厚い仕様書があり、その通りやればまったく問題ない場合は別です。
普通は、簡単な書き物だけもらったり、口頭の説明だけだったり、「ウ
チにこれまで入っているものと同じでいいよ」などということになりま
す。特に仕様が決まっていなくても「世間の常識」というのもあります。
ハード回りでは次のことなどを最低確認すべきでしょう。

   *電源電圧・種類
   *盤内部品の仕様・メーカー指定
   *機側器具(リミット・センサ・ソレノイド・モータ
    など)は、機械系の設計で決まるがその仕様・手配
   *盤内電源回路の線種、色
   *盤内制御線・入出力配線の線種、色
   *Y端子・R端子の使い分け、マーキング、端子台
   *盤外で接続がある場合の仕様
   *操作SW、表示灯の形状・色・銘板・位置
   *親盤・上流・下流とのやり取り・警報出力(あんど
    んなど)がある場合、接続方法(コネクタか端子台
    か)信号の種類(ドライ接点か電圧信号かなど)
   *盤内の安全対策(感電保護 どの範囲までやるか)
   *器具記号(盤内/機側)などの表示方法
   *予備線、シーケンサユニットの未使用部の処理
   *非常停止をかけた時の動作指定

もちろんこういった細かい話しの前に・どの範囲の仕事か(盤設計・部
品手配・組立・ソフト・据え付け...)・納期・見積もり といった
ことがあるわけです。
  余談ですが、ハード関係で私が今までアレ?と思った仕様は(亭主の
好きな赤烏帽子で、もちろん仕様通りにやったわけですが)

   *電源回路の3相の真ん中が赤
     F重工さんの群馬地区の仕様です。ちなみに同社の三鷹地区は
        世間並みです。
     このあと、別の現場に行って赤線が左側にあるのを見たら、間
        違っているように思えました。
   *センサのシールドは、センサ側と盤側の両方でアース
    に落とせ
     手間もさることながら、ループができるのはまずいですよ、と
        逆らってみたが..
      ==> この後の項目「接地・アースの引き回し」も参照
   *モータの配線はすべて2sq以上
     50Wのスピコンモータに2sqの多芯ケーブルを引くのは大変

 盤関係の規格はいろいろあります。またその会社独自の規格というの
も考えられます。「規格はずれ」でも、一度決まってしまうと以後はそ
れに従うしかないこともあります。(たとえば相順)
  3相3線式の場合、左から上から赤白青
  直流の場合 +赤 −青
というのが盤の世界の常識みたいではありますが、そうでない場合が上
記の例です。
 この次の項目で少し詳しく書きますが、東京電力の送電線の色別がそ
のまま低圧側に適用されたように思います。

最初に戻る

電線色別

制御盤の電源側・負荷側とも低圧(交流なら600V以下)の筈ですか
ら、電線色別については、まず
 JEM1134「交流の相及び直流の極性による器具及び導体の配置
 と色別」日本電機工業会
がお手本になります。
詳細は規格書を見ていただくとして、3相3線式の場合、上記のように
赤白青で、白は安全のため接地してあることが多いです。
そのほか、諸官庁仕様書というのがありまして
 #上記の規格の後ろに解説が付いている
・国土交通省「電気設備工事共通仕様書」をはじめ、・旧厚生省・旧郵
政省・防衛庁・旧文部省・都市基盤整備公団などいろいろです。
 ほぼ同じだが、一部違う部分もある

各電力会社の高圧配線色別というのもあります。
やはり赤白青が基本のはずですが、東京電力は黒赤白だそうですし、更
に電力会社によってはこれ以外が標準のことがあるようですし、「同じ
電力会社でも営業所によって違う」とか「引込部については需要家と相
談」とか「負荷バランスの調整などのため相順を入れ替える」こともあ
るようです。
最初に戻る

シーケンスの書き方_ラダー

  シーケンスは、原則として全サイクルスキャンですから構成をいい加
減にしても
 #自動と手動をごちゃ混ぜにするとか
 #実出力をあちこちに分散して書くとか
動くことは動きます。普通のソフトはBASICでもCでも、命令文の
順序を入れ替えると動作がおかしくなるのが普通ですが、シーケンスの
場合始めのほうに書いた文を最後に持っていっても平気な顔をして動い
てしまうことがあるのが、便利でもありおそろしいところでもあります。
  けれども、できるだけ統一しておいたほうが後でメンテする人のため
(数年後の作者自身かもしれない)です。法律で決まっているとかでは
ないですが、自動車関係や半導体関係などいろんなメーカーのシーケン
スを覗いた経験でも、ほぼ同じような構成になっています。プロたちの
業界標準といったところでしょうか。「オレが仕様書」という仕事をさ
れる方でも、なるべくこのスタイルを身につけることをおすすめします。

  ☆基本的・共通的な部分
  ☆手動と自動の切り替え
  ☆手動
  ☆自動
  ☆出力部

といったところです。
  メンテなどで、あとでシーケンスを追っかける基本手順は、あるモー
タがなぜ回らないのか(あるいは、なぜ余計なときに回るのか)を調べ
るのに、まず出力部から実際の出力命令を探し
 #I/O番号順に並べるのが常識
その出力命令を駆動している補助リレーを見つけて、という具合にさか
のぼります。なお、出力が一つの場所だけに出る場合でも、一度補助リ
レーで受けます。

  シーケンスを書く場合は、手動部・自動部それぞれに出力のための補
助リレーに出力し、それらをまとめて実出力を駆動します。予備の出力
も(まだ書いてない出力も)「常時OFF」の補助リレーで駆動する形
にします。また、それぞれの場所でどれぐらいの補助リレーやタイマ・
カウンタを使用するか見積もり、あらかじめ番号のブロックを割り当て
ておくと良いでしょう。大きなソフトで、手分けして書く場合はもちろ
ん必須ですし、一人で書く場合も後々助かります。
  後でもふれますが、現在のシーケンスは一本つなぎ(全サイクルスキ
ャン)が基本で、分割しにくいため、複数の人が分担したり、既製のル
ーチンをそっくり入れ込んだりしづらいです。
 #メーカーによってそれなりの工夫があり、まったくできないという
  #ことではない。
  ハード面から見ると、複数の頭(CPU)を持った装置が信号をやり
とりしながら共同作業をするのはごく普通で、ソフト(シーケンス)も
そういう方向へ進化しつつあるようです。コンピュータが生まれた当時
は、(高価な)CPUが中央に座り、入出力が取り囲むスタイルでした
が、ご存じのとうり今や分散処理の時代です。インターネットはその最
たるものでしょう。
最初に戻る

非常停止・電源回路

  非常停止は「ただちに停止することで、配線の断線や接触不良でも安
全側になるようB接点を使う」などと教科書に書いてあります。その通
りですが、どのへんを切るかは検討が必要です。
 制御盤が火を噴いているような状況なら有無を言わさず電源を切るべ
きですが、現場によっては「これ以上不良品を出さないための急停止」
に非常停止を使う場合もあります。

    *電熱を使った乾燥炉のため、OFF後2分は循環ファンを回して
      おく。
   *ワークを炉から出して焼き入れのため油に入れるが、入れっぱな
      しだと発火するので、必ず油から出た状態で止める。
  *正規の急停止だとサーボロックや電磁ブレーキが使えるが、電源
   が落ちるとメカがフリーになって、かえって危険な場合がある。

など、非常停止後も何らかの動作が必要な場合もあります。
  また、非常停止がかかったことを表示灯なりパトライトなりで表示す
る場合も多いので、DC電源やシーケンサ電源もむやみに切れません。
ロボツトと共同作業をする場合、ロボットコントローラのほうに非常停
止信号を送ります。たしかにロボットはただちに停止しますが、電源が
切れるわけではありません。
 #電源が切れると、原点復帰の手間が増える。
異常をとりのぞいたら、出来るだけ手間を掛けずに前の続きから作業を
再開出来るように要求されることも多いです。
  非常停止はB接点を直列に使うとして、「どの非常停止が押されたか
表示する」場合は、それぞれに別にA接点を付けることになります。配
線の工数を減らすため、多点伝送(いろんな規格が競り合っている)が
はやってきましたが、非常停止には御法度という所が普通です。そこま
では信頼性がないと言うことです。そのほか安全関係のものたとえば安
全プラグ
 #ロボットの稼働範囲に柵をして、作業者が中に入る時は、入り口で
 #プラグを抜き、持って入る。
なども非常停止に準じた扱いです。

 このあたりについては、関係者で意思統一して文書にして保管すると
言った配慮も必要になると思います。

  電源回路の入り口に、全体を切る主開閉器が入ります。言うまでもな
く、盤に手を入れる場合の安全のためなどですが、「電源表示灯」「盤
内照明」「サービスコンセント」などを主開閉器の入り口から取るか、、
出口から取るかは考え方の違う場合があります。自動車関連では、主開
閉器は必ず盤の外で鉄箱に入れるというのが多いようです。
  主開閉器は通常の作業では入れたままです。「運転準備」ボタンを押
すと、動力回路が入って運転可能になり、「停止」を押すと動力が落ち
て運転を止めます。運転準備のつぎに、セレクトスイッチなどで選択さ
れた自動モードなり手動モードに従って「自動起動」/「手動起動」(
個々の部分について)をかけて運転に入ります。
 #すこし複雑な回路では、自動運転に入るための条件がそろっている
 #かどうか=「原点表示」を付けます。
小規模の盤では運転準備=起動ということもあります。停止ボタンは特
に付けず、止めるときは非常停止を押すということもあります。
  「非常停止」で運転準備が落ち、非常停止ボタンをもとに戻しても、
再起動するまで運転は出来ないようにします。大がかりなラインで、ロ
ーカルの制御盤が何台もあり中央にライン全体を見る盤がある場合、起
動を個々の盤でやるか、中央でまとめてやるかの切り替えにすることが
あります。その場合「まとめて中央で起動」が標準です。

  異常についても

  *起動は出来ないが、運転中に発生したとき手動による復帰運転は
      可能
  *全体の運転が止まる
  *関係のある部分のみ止まる
  *注意表示だけ

などいろいろ対策が考えられます。シーケンスで(ソフトで)対応する
ことになりますが、特に重要な(安全に関する)ものは、ハードで(電
源回路で)対応します。
  電源回路のサンプルを書いておきます。お手本と言ったものではなく、
打ち合わせ/基本構想のたたき台として見て下さい。

最初に戻る

ブレーカ・MC・電線

(電線・突入電流はオムロンベスト制御機器14版による)
  シーケンサの設計というと、ソフトが表に出ます。ブレーカの容量と
か電線の太さなどはソフト屋の領分じゃないとばかり、「この出力がオ
ンしたときモータが回るようにしてくれればいいよ」などと電気図面は
人に任せ、I/O表だけをたよりにひたすらシーケンス・ロジックに集
中する向きもありますが(その昔の私です)、基本は大切です。
  #I/O表はワープロで、回路図はCADでと「同じことを二カ所に
  #書き、一方の修正が他方に自動的に伝わらない」やり方だと、後々
  #痛い目にあうおそれもあります。

  モータを回すことを考えます。
シーケンサの出力でMC(マグネット・コンタクタ)のコイルを働かす
わけです。直流出力で直接動かすとか、リレーを介するとかの話は置い
ておきます。カラ回りだとほとんど電気を食いませんが、負荷がかかる
と消費する電力がふえてきます。モータの出せる力以上の負荷=「過負
荷」がかかるとモータは拘束されて止まり、それでも電力が供給され続
けると煙が出て... となります。これを検知するのがサーマルリレ
ーです。動作原理からしてある程度の時間、設定以上の電流が流れ続け
たとき動作します。サーマルのB接点をMCのコイルに直列に入れると
いう定石はご存じの通り。

  インバータで回す場合は、サーマルに相当する回路が組み込まれてい
ると考えて、警報接点を使ってMCを切りますが、これは異常の場合だ
けで、通常の運転停止はインバータのコントロール入力を使います。
  モータの回り始めは「止まっているものを動かし始めるための大きな
電流」=突入電流が流れます。短時間のことなので、過負荷とは区別し
て考えます。激しく始動・停止(正転・逆転)を繰り返す場合は、モー
タやMCの寿命の点からも、モータは回りっぱなしにして電磁クラッチ
で受けたり、サーボモータにしたりします。突入電流を定常時に対して
どれぐらい見込むかの目安として
  ソレノイド   10倍
  白熱電球    10〜15倍
  モータ     5〜10倍
  リレー     2〜3倍
  コンデンサ   20〜50倍
  普通の抵抗負荷 1倍
インバータ駆動の場合、最近のものだとほとんど突入は考えなくとも良
いようですが、念のため技術資料を見てください。なお、半導体リレー
(SSR)はごく短時間のオーバーロードにも弱いことをお忘れなく。

  遮断器(ブレーカ)について考えます。電線などがショートすると大
きな電流が流れますからサーマルも働く理屈ですが接点が溶着してコイ
ルの電流が切れてもくっついたままということが起こります。ショート
に対しては瞬時に動作し、大電流を引き離すときのアーク(電気溶接と
同じ原理)に逆らって接点を引き離す必要があり、電磁引き離し方式を
使います。短絡の場合、いくら電流が流れるか(したがっていくらの定
格の遮断器が必要か)は、配電系統の根本の電源トランスの容量・電線
の太さ・長さなどから決まり「保護協調」の話になりますが、主任技術
者の領分ですから素人は遠慮しておきます。
 サーキットプロテクタはサーマルと同じバイメタル方式なので、安価
ですがすこし動作時間がかかり、あまり電力を食わないDC電源とかP
LCの頭などに入れます。

    過負荷はサーマル。短絡と突入はブレーカです。

  三相交流ですと3本の線で電気が送られるわけですが、正規のルート
以外に流れると危険です。
 #機械のフレームや作業者の体を伝って地面に流れるなど
これも監視しているのが漏電遮断器で、定格電流のほかに、定格感度電
流(15mAとか30mAとか漏電に対する規格)が決まっています。ふつうの
遮断器をNFB、漏電遮断器をELBという言い方をしますが「前者は
三菱電機、後者は富士電機の商品名。ウチではそう言わん!」とヘソを
曲げられたことがあります。念のため。
 電源容量はモータの場合、簡単には

  連続で回るモータは台数×定格
  時々回るのは最大の台数×定格

を合計して、その5倍程度の容量のブレーカをつけます。負荷の状況に
よってはこの半分ぐらいでも十分です。5倍というのは起動したときの
突入電流に備えているので、数秒の時間差をつけて起動するのが可能な
ら、大幅に減らせます。
  電線の太さについては、目安としてIV線の場合
  0.75sq   6A
  1.25sq  10A
  2.0sq   15A
  3.5sq   20A
といったところ。これはかなり余裕をもって引き回した場合なので、配
線ダクトにギュウと詰め込んだりしたら話は別です。
 #電力線を詰め込むというが土台まずい話ですが...
電流による発熱の問題ですから、常時流れる電流の大きさから決めるこ
とになります。
最初に戻る

接地・アースの引き回し

 工場の現場で使う設備に関わるようになった頃、電気工事屋さんとダ
ベっていてアースの話になったとき「特高受電所のアースにがっちりつ
ながってるから大丈夫です」と聞いて、「何か違うなぁ」と思いました。
私はラボで使うオモチャみたいな、というかオモチャそのものの手作り
からこの道に入りましたので、トラ技の記事とか伊藤健一氏のアースシ
リーズなどをそれなりに読んでいました。ノイズによる誤動作をいかに
防ぐか、が唯一最大の関心事であったわけです。
 接地(アース・グラウンド)は大別して次ぎの三つの目的があるとさ
れます
  1.雷からの保護
  2.ノイズによる機器の誤動作防止
      外からノイズが来るのと、自分が出すノイズのために
      他の機器に迷惑をかける場合の両方
  3.漏電などによる人の事故防止
 雷の直撃には避雷針ですが、法律で設置や点検が決まっていますから、
工場では主任者にお任せです。
住宅にせよ工場にせよ、屋内なら雷直撃はまあ無いはずですが、雷によ
って二次的に発生する雷サージ(電磁誘導によって発生)は面倒です。
アースしているから安心、と思っていると逆にアースからサージがしの
びこんだりします。この辺の対策は、動力線・信号線を問わず盤の外部
につながっている電線にしかるべき対策をとることになるでしょうが、
詳しくはエムシステムの資料などをご覧ください。

 シーケンサ周りに話を絞れば、「この運転条件で正常に働くか」がま
ず問題です。盤内外の結線を間違えたり、ソフトに不具合があると「動
かない」「誤動作する」のですぐ解ります。
ところがノイズの場合は「運転条件」がはっきりしない場合も多いので
す。「この大きなDCモータが回ると、近所のセンサが誤動作する」な
どは原因がはっきりして手も打ちやすいのですが、「何だか解らんがと
きどき誤動作する。ノイズではないか」となると面倒です。
接地がノイズ対策に重要なことは誰も異論かないのですが、ではノイズ
による誤動作を防ぐために具体的にどうするか、となると
 ・以前ノイズに悩まされたときこの方法が効いた
 ・とにかくこの現場はこの方法に限る
 ・昔からこう決まっている
 ・わざとアースしない
など、ローカルルール(技術蓄積あるいは迷信)がいろいろあります。
たまにしか発生しないことへの対策となると、その場で実証してみる訳
にもゆきません。

 接地に関しては、「法で決まっている」ことを守らなければならない
し、輸出する場合は現地で適用される規制を調べなければなりません。
適格な第一種接地だと言っても、ノイズ対策には不向きのこともあるは
ずです。

 「仕様」の項で書きましたが、私は「ノイズには一点アース」と信じ
てきましたが、先輩方のご意見やら信用できるサイト宮崎技術研究所
をみると、高周波では多点アースの方が良いようです。
一つの実験結果で数百kHzを境に、多点の方がノイズが少なくなると
言う結果が出ています。
要は、いろんな知識をベースに、その現場にもっとも適した方法を決め
るということでしょう。「やってみたらこれが良かった」が最後の決手
なので、他人からみると本当かなということもあるのですが。
ちなみに私は電研精機の信者でしてここのノイズカットトランスを使う
とピタリと効くと信じています。
 今「お前の好きなようにやれ」となれば次のようにします。
盤周りの接地は一点集中が理想ですが、銅のアースバーを設けここに集
中します。アース線は渡りを取らず全部単独でアースバーまで引きます。
 #盤屋さんに手間が増えると怒られそうですが
LG、FGも単独でアースバーに落とします。外部信号線のシールドも
ここに(ここだけに)落とします。
アースバーのどこに落としても一点アースと見なすわけですね。
こんなところかな。
最初に戻る

ラダー図とタイミングチャート

  シーケンスソフトで広く使われているラダー図は、もともと部品を組
み合わせて作る制御回路の動作をソフトで実現させるために作られまし
た。制御回路は配線で結ばれていますから、回路図の最初に書いてあろ
うと最後のページに書いてあろうと同時に動作します。一方、ラダーは
プログラムで動作するので、プログラムリストの始めから順々に実行し
てゆきます。細かいことを言うと、内部リレー・応用命令(計算・判断
など)はその時点で実行されますが、外部の入力・出力は後でまとめて
実行するのが普通です。この辺は追って。
  ラダーを一通り実行すると、始めに戻って繰り返します。全プログラ
ムスキャンしている訳です。私の経験した範囲では一回りの時間(スキ
ャンタイム)が100msec(0.1秒)を越えると、ボタンを押し
てから動作するまでに遅れを感じます。
 #制御する内容によって、もっと早い応答が必要なこともあるでしょ
  #う。

  スキャンタイムを短くするには、・CPUの速度を上げる・ソフトの
ほうで工夫して関係ないところは飛ばす(サブルーチンとかジャンプと
か)などの手がありますが、大きなシステムの場合、うまく分割して複
数のCPUで処理させるのも良い方法だと思います。現に、それほど大
きくないシステムでも、よく見ると・通信・温度調節・サーボ・タッチ
パネルといった機能は専用の頭(CPU)を持つユニットで処理し、必
要な信号をメイン盤とやりとりしています。
  説明のため以下のような制御を考えることにします。これは
  「プログラマブルコントローラの新しいプログラミング
   テクニック」
        青木 正夫著 近代図書 3960円
の40ページにある例題をもとに私が手を加えました。

  ☆左端の原点から出発する。
  ☆起動ボタンPBでモータMFで前進する。
  ☆前進端に着いたらソレノイドSUで上昇する。
  ☆上昇端に着いたらソレノイドSDで下降する。
  ☆下降端に着いたらタイマーで一秒待つ。
  ☆そのあとモータMRで後退する。
  ☆後退端に着いて終わり。

タイミング・チャートはこんな感じ

  たとえば「前進から上昇へ移るタイミング」は前進端だけ見ていれば
良さそうですが、全プログラムスキャンの場合はその条件が成立する場
面がほかにもあって、よけいなところで動作するおそれがあるので、他
の「直接関係はないが参照する信号(インターロック)」も条件に取り
入れることになります。現実の入出力だけでうまくインターロックがか
からなければ、別に内部リレーなどで作らなければなりません。どうし
ても必要なら、センサを増やすとか作業者が都度ボタンを押す場合も出
てきます。インターロックには

  ☆起動・停止など動作の入口/出口でだけ成立すればよい
  ☆動作中はずっと成立している必要がある

の2種類があります。
  これらの関係を見るのがタイミングチャートで歩進のラダーはこれが
出来ていれば問題ないはずですが、現実には動かしながら「あーでもな
い。こーでもない」といじりまくるのが立ち上げのかなりの手数になり
ます。タイミングチャートやインターロック条件など、ソフト設計上の
問題のほか、センサの選択や取り付け方法に関連して「感知したりしな
かったりする」「一度は感知するが他が動作するはずみにはずれてしま
う」などといったメカがらみの問題も出てくるのです。

  コンピュータの動作を分解してゆくと・記憶・演算・判断といった細
かい動作を順々に実行してゆくことになり、それを表現する方法として
フローチャートがあります。CPUの動作から、事務処理の流れを表現
するのにも用いられますし、メカ屋さんから「こういう動きです」と渡
されることもあります。
  その世界の共通語ですから一応読み書きを心得ている必要はあります
が、これだけではシーケンスは書けません。しつこいですが、シーケン
スの基本は全プログラムスキャンであり、このボタンを押したらあのモ
ータが回るといった作業をすべて並列に処理するのですから「順々に実
行」するためのしかけとしてインターロックなどがある訳で、フローチ
ャートだけでは表現しきれないのです。
  余談ですが、WINDOWプログラムはイベントドリブン(同時多発型)で
すから、個々の処理はともかく、全体構成は同じような理由でフローチ
ャートに乗りにくいでしょう。「順々に実行」を中心に表現する手段と
してSFCがあり、私も3本ほどこれで書いてみて気にいっているので
すが、これについても後ほど。
最初に戻る

歩進を自己保持で書く

  あるステップに移るきっかけは、前のステップを終了させる役目もし
ます。このように順々にアクティブになってゆくものをラダーで表現す
る手段として、「きっかけが発生するごとにONするリレーが隣に移っ
てゆく(シフト)」仕掛けが用意されていますが、私は使ったことがあ
りません。
  ステップをON/OFFするしかけとしてセット/リセットがありま
すが、特にベテランの方から御法度と言われることが多いです。これは
複数の場所に仕掛けられるので、シーケンスが見にくくなるためだと思
います。
  #自己保持以外のものは家風に合わんということかな?
特性を理解して、見通しの利く部分に使うぐらいは許される範囲じゃな
いかな。
  歩進には使わなくても、セット/リセットは有用です。例えば自動か
らぬけても、ワークがどこまで進んだか覚えておくとか、別の場所で何
が実行されていようと直ちに動作させること、たとえば異常処理などに
は強力です。要は複数の場所に仕掛けられることと、セットしたものは
意識的にリセットしなければならないという性質を心得ておけばよいの
です。くどいですが、次の項目で説明している「常時スキャンでない部
分」に書く場合は、特にご用心。たとえばMCマスターコントロールの
中に自己保持で書くと、MCが切れれば従って切れますが、セットで書
いた出力はそのまま残ります。

  リミット・センサ・押しボタンなどの信号を、上記のラダーではレベ
ルで(生の信号そのまま)使っています。これらを立ち上がり/立ち下
がりの1スキャンだけ、いわゆるパルス命令で使うと、論理がすっきり
して回路も簡単になることがあるのですが、これも御法度です。歩進回
路をデバッグしていて、順々にアクティブになっているはずが途中で止
まるというのがよくありますが、その際どこでつっかえているか後でト
レースできないと大変困ります。
  パルスだと、一発出たのか出ていなかったのかは、わかりにくいのが
嫌われる原因でしょう。上記のように書くと、途中で止まった箇所が保
持されている確率が高いのでトレースしやすいということです。
  そのほか、パルス命令はサブルーチンとかジャンプとかに関連して「
スキャンしたりしなかったりする可能性のある部分」に書くと予期せぬ
動作をすることがあるので要注意。
 #システムに起因します。それぞれのマニュアル参照。
とはいえ、パルス命令も有用です。

  ・自動から手動に切り替えたとき一斉に後始末をする。
  ・普通のA接点の押しボタンの入力からソフトでトグル動作させる

といった場合、パルスを使わないと面倒なことになります。
  上記の書き方は「リレーシーケンスからの蓄積をもとにプロ達がやっ
てきたやり方」の例のつもりです。年寄りの言うことは聞けといいます
から、新しくこの道に入った方も「なぜこういう書き方をするか」は理
解して一度はこのスタイルで書いて欲しいです。意味も考えずにただこ
うやればよいでは進歩がないでしょうし、普通のコンピュータソフトか
ら入った方は納得しにくい面もあるでしょう。(私もそうでした)
最初に戻る

シーケンスの構造化

  私がパソコンBASICにはまり出したころは、限られたメモリ容量のなか
で仕事するため、「スペースなど入れずつめて書く」「行番号をなるべ
く省略して複文で書く」「思い付いたらヒョイと飛ばす」といったスタ
イルが流行りました。やがて「ソースと実行形は別」で「メモリも豊富」
となってインデント(段下げ)があたり前になり、実行の流れもなるべ
く解りやすく書け、となりました。現在のプログラム言語はサブルーチ
ンとか関数とかいった「流れを見易くするためのしかけ」も豊富になっ
ています。プログラムの主な部分は変数とその処理ですが、さらに複雑
なプログラムにも対応して

  ・異なった種類の変数をひとまとめにして扱う
  ・変数の処理法もそのひとまとめの中に入れてしまう

といったやりかたも構造化の手段です。要は複雑なプログラムを見易く
書き易くして、個人差を無くし生産性/保守性を上げようということで
しょう。
  パソコンBASICでは、各人各様の書き方が出来たのに(大変な作業でし
たが、創意工夫を生かす余地も大きかった)、最近のプログラミングは
(結果として複雑巨大なものを書けるとはいえ)やたら規則に縛られま
す。それに従っている間はちやんとものができますが、何等かの都合で
規則の外に出ようとすると
 #たとえば「ボタンでピッ」というのは与えられたやり方で簡単にで
  #きるが、そのボタンに表示する文字の色を黒以外にしたい
大変な手間で「猛烈な風圧に耐える」ことになります。
  ちょっと脱線しました。シーケンスソフトの場合、「見易くする仕掛
け」はある程度用意されていますが、どう書くかはほぼ「心掛けしだい」
ということです。
 #従来型のラダー図での話です。

  コンピュータソフトでは、作るのも使うのも保守するのも自分一人と
いう場合「動けば良い」ので、書き方などもやりたいようにやれます。
それ程でなくても、ソースは普通のユーザには縁がありません。一方制
御装置は、配線図や部品表と同様にラダー図も一緒に納入するのが普通
で、現場に設置されてからどんどん書き換えられて行きます。プログラ
ムの見やすさ、保守しやすさが重要な品質なのです。
  「オレが仕様書」の仕事から、お客様の仕様に基づいて仕事するよう
になったとき、最初に気付かされたのは「シーケンスは多くの人の手に
掛かる」ということです。現場に納入し、火を入れて試運転をはじめま
した。不具合を家で修正して翌日もっていったら、昨日最後に取り込ん
でいったラダーと少し変わっています。異常表示とか前後装置との取り
合いなどについて、客先の保全担当が夜の内に手を入れ始めていたので
した。従って「その職場で決められた標準作法」によって作らないと各
方面に迷惑をかけることになります。別の言い方をすると「こういう書
き方のほうが見やすく保守も楽だと思いますが、お宅ではダメですか.
.」ということにもなるのですが。
  つぎに示すのは、ある会社の仕事をやったとき「ウチの標準スタイル
はこうだから」と示されたものです。どの回路にもこのまま適用できる
訳ではありませんが、考え方の一つとして出しておきます。

  見易くする仕掛けとして・マスターコントロール(オムロンならイン
ターロックですが)・サブルーチンがありますが、これらは動作が違い
ます。
  マスターコントロールは、コントロールする接点(下の図ではX0)
がコントロールする範囲の各回路の頭(X1,X2)に入っているのと
同じです。スキャンはX0にかかわらず実行されるので、X0がオフし
た(マスーコンロールが切れた)場合、Y11,Y12は切れます。
  一方、サブルーチンではX3がオフするとその部分がスキャンされな
いので、Y14,Y15の状態は「以前のままで変化しない」ことにな
ります。つまりX3オンでサブルーチンに入ってX4,X5オンだとY
14,Y15はオンになる訳ですが、X3を切ってもY14,Y15は
オンのままです。もちろんX4,X5をオフにしてもそのまま変化しま
せん。再びX3が入ったときX4,X5を見てオフならY14,Y15
もオフになります。



  こういう特性があるので

   *自動ブロック,手動ブロックなどの区切りにはマスターコントロ
      ールを使う
   *計算ルーチンのように一回限りでスキャンタイムの長そうなもの
      はサブルーチンを使う

といったことになります。私が駆け出しのころ、自動をサブルーチンで
書いたため自動が切れたときの後始末に往生した覚えがあります。
 #自己保持などが残ってしまう。
なんとかまとめて、その後10年以上24時間稼動の現場で動いていま
すが、ああ恥ずかしい...
最初に戻る

SFC

  私の経験した三菱MELSAPUで話を進めます。

  構造化の一つの道具として、SFCがあります。SFCはラダー図と
か命令リストといった言語の種類ではなく、制御の流れを記述したもの
です。
 #フローチャートは「そういう制御を実現するためのコントローラの
  #処理」を中心にしたもので、少し違います。
例題をSFCで書くと、下のようになります。SFCは各ステップが順
々に活性化(アクティブ)してゆきます。言い換えると、活性化してい
るステップは必ず一つだけなので、インターロックが大幅に減り、簡単
になります。


  例題では、<1>から<5>までの動作のどれかを実行しているので
単純な流れになりますが、実際の装置だと・A処理・B処理・C処理が
あってAが終わってワークがBにゆくと、Aは次のワークを受け入れる
という具合に、一つのシーケンスが受け持つ中で複数の動作が実行され
ることもありますが、その場合は「それぞれの歩進動作する部分」をブ
ロックとします。

 これも三菱での話しですが・ラダーの部分・SFCの部分の順に実行
されます。ラダーの部分では

   *立ち上げ時に一回だけ実行すればよいもの
   *SFCを有効とするかどうか
   *毎スキャン見て必要なら即実行する必要のある異常処理や通信な
      ど
   *実出力

などを書きますが、歩進するところがなければ、つまりどの部分も・入
力あれば即実行の並列処理 ならSFCは不要ということです。SFC
は、処理ステップごとに条件に応じてあちこちへジャンプさせるような
流れを表現するのは得意でない、とものの本に書いてありますが、私は
そういうのにぶつかったことがないのでよくわかりません。経験の範囲
では、歩進を表現するのに便利な道具であり「自分の道具箱に入れてお
いて」役にたつものだと思います。

最初に戻る

リフレッシュとダイレクト

  システムが立ち上がったときの初期化などを別にすると、シーケンサ
は上図のように3つの仕事を繰り返して実行しています。実際の入力(
つながっているセンサやスイッチなどの状態)を取り込み、実際の出力
(つながっているソレノイドやモータなど)を動かすのは、1スキャン
に一回まとめてという方法です。これをリフレッシュ式といいます。
  そのほかに都度(プログラムのその部分が実行されるとき)入出力す
るのをダイレクト式といって、入力/出力を丸ごとダイレクトに出来る
機種もありますが、普通は「必要なら限られた部分だけ指定して」ダイ
レクトにします。ダイレクトのほうがスキャンタイムが延びるため、リ
フレッシュ式のほうが標準です。
  リフレッシュ式の場合、例ではX0がオンになったとシーケンスが認
識するのは、その前のリフレッシュの時点でオンになった場合ですから、
最悪1スキャン分の時間だけ遅れる理屈です。このシーケンスだと、X
0がオンすると同時にY10がオンするようになってますが、実際に出
力が働くのは、この回のシーケンスが終わってリフレッシュしたときで
す。ただし次の行でY10を接点で見ていますが、ここではY10はち
ゃんとオンしたことになります。
  またM0は、このスキャンのPLS M0以降の行から、次のスキャ
ンのPLS M0の直前までオンします。リフレッシュ式で、実入力か
ら計算して(シーケンス処理して)実出力すると、最悪2スキャン遅れ
る理屈です。

  実入力はチャタリングよけのため10msecほど入力が続いてはじめて感
知するようにしてありますし、
  #リレーシーケンスでは問題にならなかったことですが、スイッチと
 #かリレー接点とかの入力は、接触する部分でばねのため何度もはず
 #みます。電子回路だと処理速度=検出速度が速いため「一度しか押
 #してないのに何回も押したように認識される」現象が出ます。
マグネットやソレノイドも機械動作を伴うため通電してから本当に動く
まで多少遅れますから、「リフレッシュ動作による遅れ」は、あまり気
にしなくても構いません。ただ、私の乏しい体験では、特殊ユニットの
入出力命令でリフレッシュ式のためか、入出力で理屈に合わない動作を
されたことがある気がします。

最初に戻る

動作の確認

  入力しているのにONしないとか、出力しているのに出ないという「
故障」や「配線や器具などシーケンサの外側の不具合」などは、プロコ
ン(プログラミング・コンソール)でも簡単にチェックできます。いわ
ゆるIOチェックですね。こういう仕事には、本格的なツールより適し
ています。ここで取り上げるのは、「こういうシーケンスで本当に動く
のか」というシーケンスの確認です。実機を組み上げた場合、盤は完成
したが入出力をつないでない場合、シーケンスだけが出来上がっている
場合などが考えられます。

  シーケンサには入力・出力の確認のためにLEDなどが付いています。
実際に運転出来る場合もそうですが、最小限シーケンサの実機があって、
入力のためのトグルSWなど付ければこれをたよりに動かしてみること
ができます。試運転用のトグルとランプがずらりとならんだパネルが用
意されているのを見たことがあります。盤を開けなくても良いようにタ
ッチパネルに一覧をつける場合も(メーカ仕様で組み込まれてることも
)あります。シーケンサ入門教育はこういう感じでしよう。
  そのほか「自動」とか「原点復帰」といった重要な状態についても一
目でわかるように盤面に表示させるのもよくやる手です。

  仕事でラダーをあつかうのはパソコンが普通ですから、シーケンスの
動きもモニタリングできますが、一画面で見る範囲は限度がありますし、
手でトグルをパチパチもそう複雑な組み合わせやタイミングは出来ませ
ん。更にパソコンとのデータ通信もタイミング的にきびしい場合があり
ます。レガシーな方法ですし、まず身に付けるべき技術ではありますが、
別の便利な道具も使えるようにしておいたほうが良いと思います。以前
は「GPP一台あれば世界を股に掛けて一生食ってゆける」などと豪語
される先輩もいらっしゃいましたが...

  モニタしたいデバイスを指定してON/OFF状態や現在値をスキャ
ンごとに記録してタイミング・チャートにして検証する方法があります。
記録はシーケンサの内部メモリを使うのですが、入出力に記録装置を外
付けすることも出来ます。昔懐かしいペンレコから始まってデジタルオ
ッシロ、ロジックアナライザ等です。最近はパソコンにすこし付加装置
を付けただけで、専用装置と変わらない性能を得ることができるように
なりました。

  一昔前、私は動作確認のため別のシーケンサで試運転用のラダーを組
んで出力を変化させてターゲットの入力に入れ、ついでに複数のポテン
ショを切り替えてアナログも変化させたことがあります。いまは上記の
パソコン応用ツールで同様のことが出来るようです。Win機では複数
のプログラムが平行して走るので・目的のシーケンス・試運転するため
に入力を変化させるシーケンスを一台のパソコン上で走らせることが出
来ます。つまり実機なしでシーケンスのチェックが出来る訳です。最近
の三菱のツールを使った体験では、この方法も充分実用になると感じま
した。

  シーケンサには普通のI/Oのほかに、いわゆるインテリジェントな
(CPU=頭を持った)装置をつなぐことがあります。シーケンサの専
用バス直結なら基本的なことはメーカー保証ですが、通信ポート経由な
ら使用者責任になります。232Cの上り下りのデータをモニタするチ
ェッカはこの種のシステムを組み保守するための必需品です。どちらか
片方にパソコン利用のターミナルを入れて、もよくやる手ですが、キー
ボードから直接出せないバイナリデータを表示したり送信したり出来る
と便利です。複数の発信/受信元が参加するLANの場合はさらに複雑
になり、イーサネットにはスニッファといった専用のツールがあります。
  シーケンサが登場したとき、従来型のリレー盤のベテラン方の反応と
して「それでもいいだろうがオレはこれで充分」などいうのがありまし
た。(たぶん)あなたはシーケンサのベテランでしょうが、現在自分の
使える道具だけにこだわりませんように。

最初に戻る

落ち穂拾い

☆大原則
 図面から具体化するとき、つまり中板に器具を配置したり、線番を付
 けたりするとき、・上から下へ・左から右へです。
☆モータの回転方向
  汎用モータの回転方向を2本入れ替えて逆にするのはよくやりますが、
このとき真ん中の線(V相)は動かさず、両側のU相W相を盤の出力端
子台で入れ替えます。V相は中性線(安全のためアースしてある)なの
で入れ替わるのは避ける訳です。スピコンモータなどはコントローラの
正転指図・逆転指図をつなぎ替えます。いうまでもないことですが、サ
ーボモータは線の入れ換えは絶対だめで、ソフトの正転指図・逆転指図
を変更します。

☆左右
  機械に方向があるとき(たいていそうですが)盤をどこにおくかが盤
面の配置に影響します。ゾーンが三つあれば温調や手動のSW・ランプ
は当然機械の配置と同じ方向に並べることになります。最初から機械に
固定する盤はともかく、独立して設置する盤の場合、据え付けの段階に
なって「実は反対側に置きたい」などというのを何回も経験しています。

☆器具番号
  センサやモータ・ソレノイドなど機械につける器具の番号を表示して
おくのが普通です。油やほこりのひどい現場では、プレートに刻印して
リベット止めしたりしますし、テプラ程度で認められる現場もあります。

☆分割
  設置後、場所の移動などで分割される可能性があるときは、機体配線
も分割しやすいように中継BOXを付けたりしておきます。

最初に戻る

ひとまず終わります。