FA電気設計ノート blog


はじめに
初めまして、電吉郎(denkichirou)と申します。
電気に携わって30年、FA(Factory Automation)における
電気設計 おこなっています。
電気設計 に携わっている皆様に
分かり易さをモットーに日々の体験談を交えながら
安心・安全で敏速な 電気設計 を実現して
頂く事を目的としております。
皆様のノート代わりにして拝見して頂ければ幸いと存じます。


2019年6月 6日

■ 立ち上りや立下り微分の接点とaやbの接点のシーケンスプログラム

PLCになって接点に立ち上りや立下り微分を使う機会が増えてきています。
良いときもあるし悪いときもあります。
皆さんは、どうされていますか。


私は、まずa接点とb接点の通常の接点を使ったシーケンスプログラムを考えます。
デバックしているとどうしても理不尽なタイミングに遭遇した場合に立ち上りや立下り微分を使うようにしています。

最近は、b接点の立ち上りや立下り微分の接点を良く使うようになりました。
使い過ぎるとわけのわからいシーケンスプログラムになります。


本来、シーケンスプログラムはリレーの接点からきたものですからプログラムができると思っています。


ただ、通常の接点できるのですが、立ち上りや立下り微分の接点を使うと簡単にできる場合があります。
あるいは、立ち上りや立下り微分の接点でしかできないシーケンスプログラムもあります。


自己保持のプログラムは、2つの接点が必要になります。一つは、自己保持用で一つは自己保持解除用です。
一つの接点で自己保持して自己解除をするには、立ち上りや立下り微分の接点を使うしかありません。

お蔭様で、このプログラムは、結構重宝しています。


コストダウンで釦の数を減らすことができます。
その分ソフトにしはよせがきてプルグラムのステップが多くなります。

ある程度、FB(ファンクションブロック)やサブルーチン、プログラムからコピペしてできるようにまとめ、直ぐに対応できるようにしておくと便利です。



 人気ブログランキングの 科学・技術(全般) ランキング に登録しています。  応援して頂けると幸いと存じます。


2019年5月28日

■ ビットがシフトするシフト命令

シフト命令は、ビット処理で文字通りビットが右や左にシフトする命令です。
三菱電機製のシーケンサですと右にシフトする命令をSFRで左にシフトする命令がSFLになります。
オムロン製のPLCですと右にシフトする命令をSHRで左にシフトする命令がSHLになります。


シフト命令は、キャリフラグがあるので注意が必要です。
だた、キャリフラグを使用するか使用しないかもあります。

私は、シフト命令で異常内容画面の検索に使用したことがあります。

異常がいくつも発生した場合に、該当する異常内容画面が表示されるというものです。

異常が発生したビットに異常データレジスタにビットに割付ます。


その異常データレジスタと検索データレジスタを比較して
そこにマッチしたら検索を止めて該当する異常内容の画面のビットをONして、異常内容画面を表示しました。


異常解除して他にもある場合は、検索を進めてマッチングしたらまた異常内容画面を表示しました。



 人気ブログランキングの 科学・技術(全般) ランキング に登録しています。  応援して頂けると幸いと存じます。


2019年5月22日

■ 転送命令の使い訳

三菱電機製のシーケンサには、転送命令としてMOVがありMOVの頭にDとB,FなどがついたDMOV,BMOV,FMOVなど命令語があります。
既にご存知かと思いますが、どれも転送命令です。


MOVは、16bitデーターで頭にDを付けるとDMOVは、32bitデーターに変わります。

それ以上のデーター転送を行いたい時は、BM0Vでおこないます。


BMOVは設定データで指定分のデーターを転送します。K5であれば5ワード分のデーターを転送します。
大量のデーターを転送する時に使います。


FMOVは、指定した同じデーターをn分転送します。データーを初期化する時によく使います。


他にもありますがデーターの種類が、浮動少数点,文字列データであったりします。それぞれEMOV,$MOVという命令語になります。



 人気ブログランキングの 科学・技術(全般) ランキング に登録しています。  応援して頂けると幸いと存じます。


2017年12月21日

■ パルスで位置決め

回転制御で0°とおよそ30°の角度で位置決めを行いました。
直線の単位は、[m]など長さの単位で表しますが、回転なので単位は、[°]で表します。


電子ギアの比がわからなかったので、まずJOGで1°がおよそ何パルスで動くかを確かめました。

分度器で少しずつ動かして確かめたり、iphoneにも分度器のアプリがあり分度器を忘れたときにアプリを使って確かめたりしました。だいだい同じようにできました。

目測なのでだいだいのパルス数になりますが、
およそ500パルスで1°動くことがわかりました。


他に機器にも展開してパラメーターを設定しました。



 人気ブログランキングの 科学・技術(全般) ランキング に登録しています。  応援して頂けると幸いと存じます。


2007年9月27日

■ セット優先,リセット優先の自己保持回路

自己保持回路は、文字通り「自己の力でON状態を保持する。」という事で、
頻繁にシーケンス制御に用います。


自己保持回路には大きく分けて2種類あり、
セット優先の自己保持回路とリセット優先の自己保持回路があります。


どのような違いがあるか、まず、セット優先の自己保持回路から説明致します。

  X0                         Y1  
|-] [------+----------( )-|
|             |
| Y1      X1   |
|-] [---]/[-+


これが、セット優先の自己保持回路です。


セット優先の自己保持回路は、入力のX0がONすればX1のON,OFFに関わらず、必ず出力のY1がONします。
すなわち、リセットするX1の状態にかかわらす、X0がONする事ができ、出力Y1がON状態で保持するためにセット優先と言われる理由です。


必ずセットしなければいけない回路に使用しますので、異常を検出する回路に使用します。
異常は、必ず検出する必要がある事からセット優先の自己保持回路として使用します。


  X0     X1                   Y1  
|-] [-+-]/[------------( )-|
|      |
| Y1    |
|-] [-+


これが、りセット優先の自己保持回路です。


リセット優先回路は、入力のX0が、ONすればX1がOFFの時しか出力のY1がONになりません。
このことから、リセットのX1がOFFでないと出力が保持しない事からリセット優先の自己保持回路と言います。


機械を動作する場合、動きだしてから止める方が優先になります。
確実に止めるためにもリセット優先の自己保持回路を使用します。


シーケンス制御の基本が自己保持回路になるので、自己保持回路を理解すればおのずとシーケンス制御も理解できまので、かんばりましょう。






 人気ブログランキングの 科学・技術(全般) ランキング に登録しています。  応援して頂けると幸いと存じます。


2007年9月10日

■ ちょっとしたタイミング

PLCでプログラミングしているとちょっとしたタイミングで動作したりしなかったりする場合があります。

今回、三菱製のQnAからQシリーズに変更しましたが、
案の定、動作が止まってしまったのです。

     M0   M1                 M100  
  |-] [--] [------------( )--|


M0とM1の条件がそろえば、M100がONする単純なAND回路です。

問題は、上位の回路にありました。

QnAの時は、スキャンタイムがおよそ60msで動作していました。
Qに変更して、スキャンタイムがおよそ20msで3分の1の時間で速く動作する事になりました。

4スキャンしてM1が、1スキャンしてON-OFFします。


スキャンの計算をすると
約60ms×4=約240ms
になります。


M0がONするために100msのタイマーがありました。
この時間差です。


Qに変更して
約20ms×4=約80ms
となりスキャンタイムが、速くなった分
ONするタイミングが速くONしまいます。


以前は、M0がONしてM1がONしていましたが、
M0がONする前にM1がON-OFFしてしまいM0がONする頃には、
M1がOFFになりM100は、永遠にONしないのです。
要するにONするタイミングが違う為です。


原因がわかれば、あとは簡単です。
今回は、M1を保持してM100がONしたらM1の保持を切る回路に変更して
ことなきを得る事ができました。





 人気ブログランキングの 科学・技術(全般) ランキング に登録しています。  応援して頂けると幸いと存じます。


2007年8月24日

■ BCD と HEX の違い

BCD (Binary-coded decimal )コードとは、2進化10進数です。
10進を1桁として4bit使用して、1桁が9(=1001)になると桁上げして使用します。
従って、最大が1001 1001 1001 1001となり9999になります。

HEX は、16進です。
16進を1桁として4bit使用して、1桁がF(=1111)となると桁上げして使用します。
従って、最大が1111 1111 1111 1111となりFFFFになります。

大きな違は、0から始まって9までは、同じですが
10になった時に始めて違いがでてきます。


 BCD            |    HEX
 00 |0000 0000   |   0 |0000
 01 |0000 0001   |   1 |0001
 02 |0000 0010   |   2 |0010
 03 |0000 0011   |   3 |0011
 04 |0000 0100   |   4 |0100
 05 |0000 0101   |   5 |0101
 06 |0000 0110   |   6 |0110
 07 |0000 0111   |   7 |0111
 08 |0000 1000   |   8 |1000
 09 |0000 1001   |   9 |1001
 10 |0001 0000   |   A |1010
 11 |0001 0001   |   B |1011
 12 |0001 0010   |   C |1100
 13 |0001 0011   |   D |1101
 14 |0001 0100   |   E |1110
 15 |0001 0101   |   F |1111


BCDの10は、0001 0000となり、HEXのAは、1010になります。


CC-link の局番を初めて設定した時のことです。
全てHEX形式で設定しました。

CC-link の局番を9番まで通信できるのでですが、
10番以降が通信ができません。

BCD 形式で設定しなければいけないところをHEX形式で設定していました。
取扱説明書を三度読み返して現場で2時あくせくし解決した覚えがあります。
些細な事ですが、思い込みが時間のロスタイムとなります。

当時は、DIPスイッチなので特に間違え易いと思いますが
最近は、ロータリスイッチになって分かり易くなっています。




 人気ブログランキングの 科学・技術(全般) ランキング に登録しています。  応援して頂けると幸いと存じます。


2007年6月30日

■ サーボモータの制御方法

サーボモータの制御方法には、
位置制御,速度制御,トルク制御の3種類があります。


位置制御は、ワークを決められた位置から別の決められた位置まで移動させる制御です。

サーボモータをカップリングでボールネジに直結して、
位置制御をした経験がありますが、
記憶した始点位置から終点位置にちゃんと移動した時は、感無量でした。


速度制御は、モータが回転速度を速くしたり遅くしたり調節する制御です。

ワークを一定の速度で連続で回転する制御をしましたが、
位置制御の方ばかりなので
パラメータの設定にまごついた覚えがあります。


位置制御は、位置の要素が重要になってきますが、
速度制御は、回転速度が重要になってきます。
従って、現在値(アドレス)の制御はしません。


トルク制御は、モータのトルク(モーメント力)を調整する制御です。

モータに負荷がかかってトルクが変化した時に、信号をだしモータの回転を止めた覚えがあります。





 人気ブログランキングの 科学・技術(全般) ランキング に登録しています。  応援して頂けると幸いと存じます。


2007年6月28日

■ サーボパラメータの設定

サーボパラメータは、サーボをどのうに動かすかをユーザ自身決めることができます。
それゆえに、動作の仕様を決めていかなければいけません。


上下の移動であれば、座標系を上をブラス方向にして下をマイナス方向にします。


お客様によっては、
動作する方向を+と考える場合がありますのでお気つけて。
ワークに向かう方向が、下の場合、この時は、+方向になります。


1回転あたりの移動量が、算出できればまず間違ありません。
サーボモータにボールネジが直結していれば、ボールネジのピッチで算出できます。


メカの構造できから動きがぎこちない時には、
台形駆動をやめS時駆動にすると良いでしょう。


実際、移動した時、どのくらいの精度で移動しているか測定しましょう。
0.1mmの精度であればノギスで測ると良いでしょう。





 人気ブログランキングの 科学・技術(全般) ランキング に登録しています。  応援して頂けると幸いと存じます。


2007年6月27日

■ 慣性モーメント比の設定

慣性モーメントとは、回転体における回りにくさを表す指標です。
慣性モーメントが大きいと回りのがむづかしく、小さいと回り易くなります。


フィギュアスケートの選手が、ターンをするのは見ていても綺麗ですが、
手を広げると回転が遅くなり、両腕を胸元に縮めたり、手を上に上げて回ると回転が速くなります。


これが、慣性モーメントから説明すると、
手を広げると回転が遅くなるのは、慣性モーメントが大きいからで
両腕を胸元に縮めたり、手を上に上げて回ると回転が速くなるのは、慣性モーメントが小さいからとなるのです。


但し、一度回転すると慣性モーメントが大きいと回り続けますが、
小さいと直ぐに止まってします。


従って、慣性モーメントが大きいとなかなか回りにくいですが、
一度回り出すと回り続ける性質があります。
慣性モーメントが小さいと簡単に回りますが、止まり安い性質があります。


フィギュアスケートの選手が、両腕を胸元に縮めたり、手を上に上げて速く回って止まるのは
このあたりから説明できるのではないでしょうか。


サーボパラメータで、負荷慣性モーメント比が大きいと
応答性が悪くなります。場合によっては振動を起こしたりします。


また、小過ぎても良いといものではありません。
たまに止まってしまいます。


通常、問題無く動作しているのですが、何かの拍子で動かなくなります。
立上当初は、ノイズの影響かと考えていましたが、サーボパラメータを見直して
分かりました。慣性モーメント比が小さ過ぎていました。


メカ設計からモータ軸換算負荷慣性モーメントの値とACサーボモータのメーカカタログから
サーボモータのロータ慣性モーメントの値から計算しました。
計算式は、下記の通りです。


M=JL/JM


  M:負荷慣性モーメント比
 JL:モータ軸換算負荷慣性モーメント
 JM:サーボモータのロータ慣性モーメント


今、思うとオートチューニングの機能が各メーカあるので一度実行していれば良かった
と反省しています。
オートチューニングできる条件があるので、できない場合はあきらめるしかありません。


時間があればの話ですが、
計算値とオートチューニングを2通りをためすと間違い無いでしょう。


タクトタイムを上げる為や、機敏な動きをさせるためには、応答性を良くするために
慣性モーメントが、大きいと対応できなくなります。
なるべく小さい値にする事をお勧めします。





 人気ブログランキングの 科学・技術(全般) ランキング に登録しています。  応援して頂けると幸いと存じます。


2007年6月26日

■ 空圧機器の動作端

本来、シリンダーの動作端のセンサーは、
動いている時にOFFで動作端にきたらONします。


すなわち、ON→OFF→ONとなります。
シリンダーに取り付けているオートスイッチであれば、まず大丈夫です。


シリンダーのオートスイッチでなく、近接センサーに変更する場合があります。
その場合に、ドグの取付によって動作している間にセンサーがONする場合があります。


すなわち、
動作している間に、センサーがON→OFF→ON→OFF→ONを繰り返します。


ソフトの作りは、動作端が、ONした時に次のステップにいくように
作っていますから、同然動作の途中から次のステップに行き、
本来と違う動きをします。


このような場合は、
メカを改造して頂ければ、大丈夫でしょうが、ソフトでもとりあえず直す事ができます。


動作端にきたらタイマーを入れて一定時間ONしていれば
動作端に到着とすれば良いのです。
このような対策をすれば、途中でONしても大丈夫です。


ラダーで書くと

     X0                   T0 K1
  |-] [-------------( )--|


ニーモニックでは、

LD X0
T0 K1

となります。





 人気ブログランキングの 科学・技術(全般) ランキング に登録しています。  応援して頂けると幸いと存じます。


2005年12月 1日

■ マイナス値の四捨五入

1軸の上下方向に移動する、
位置決めユニットのソフトを設計した時の事です。

位置決めの座標を決める為に演算した結果から有効桁数を少数点2位と決め、少数点第3位を四捨五入しました。

四捨五入とは、文字通り、数の位から1から4までを切り捨て、5から9までを切り上げます。


少数点第3位を四捨五入することは、

0.011から0.014までは、0.01で
0.015から0.019までは、0.02と

なります。


そこで、マイナスでは、どうなるか?


座標系で考えると
0を基準して+方向は、大きく-方向は、小さくすると考えます。

-0.011から-0.014までは、-0.01で
-0.015から-0.019までは、-0.02と

考えました。


数学的には、大丈夫かもしれませんが、
座標系の動きを考えた時には
マイナスの値は、絶対値をした上で四捨五入をしましょう。





 人気ブログランキングの 科学・技術(全般) ランキング に登録しています。  応援して頂けると幸いと存じます。


2005年10月 1日

■ GOT800のオンライン

古い設備の改造をする事になりました。
その設備の中に、Graphic Operation TerminnaでGOT800
三菱電機株式会社)がありました。

現在の最新機器は、GOT1000でその前がGOT900なので
2世代前の機種になろうかと思います。


早速、GOT800の画面データをバックアップする事になりました。

RS232Cケーブルを繋ぎ、パソコンを立ち上げて準備万端!
アップロード開始!
しかし、パソコン(Windows XP)は、ダンマリ。


「何故だ!!」と心の中で一言。


再度チャレンジしても結果は同じです。
自作だったRS232Cケーブルを、再度配線チェックして結果OK!
GOT800の画面ソフトで編集してみるがこれもOK!


ちょっと落ち着いて
古い機種で、古いソフトなので古いパソコンでは。
古いパソコンを捜す事に、するとWindows Meを発見!


アップロード開始!
通信OK
アップロード完了!!


ことなきを得て画面データをアップロードをする事ができました。
めでたしめでたし。


後日、メーカに問い合わせたところ
オンライン状態では、Windows3.1,Windows95までメーカ保障。
ただ、Windows 98も可能性があります。
オフライン状態では、Windows XP,Windows 2000も可能です。
と、ご親切な回答を頂けました。


古い設備を改造する時は、お気をつけて。


GOTは、三菱電機株式会社の登録商標です。
Windowsは、米国Microsoft Corporation.の米国およびその他の国における登録商標です。




 人気ブログランキングの 科学・技術(全般) ランキング に登録しています。  応援して頂けると幸いと存じます。



Copyright 2005~2019 (C) denkichirou All Rights Reserved