シーケンス制御講座

98861

シーケンス制御講座
楽しく情報交換しましょう。分からない事は質問して、分かる方は答えてあげてください。ただし営利目的な書き込みは予告無く削除いたします。

名前
件名
メッセージ
画像
メールアドレス
URL
文字色
編集/削除キー (半角英数字のみで4~8文字)
プレビューする (投稿前に、内容をプレビューして確認できます)

一括リセット命令について - めるせっく

2016/12/31 (Sat) 15:43:07

FX3Gシリーズでは ZRST M0 M1などと記述しますが、
MELSEC Lシリーズではそれだと命令として受け付けてくれません。三菱のマニュアルをPDFで見たのですが、一括リセットがみあたりませんでした。2つの補助リレーを1つの記述でリセットする命令をおしえてください。よろしくお願いいたします。

Re: 一括リセット命令について - あ

2017/01/05 (Thu) 07:23:37

BKRST M0 K2でどうですか?
取説の応用命令/ビット処理命令記載です。

Re: 一括リセット命令について - めるせっく

2017/01/06 (Fri) 19:49:45

あ様、回答ありがとうございました。

命令の記号の意味 - りょう

2016/12/28 (Wed) 20:08:05

ラダー図にある命令の意味について、
例えば[<> R2018 K1]
の<>の意味など、
何か一覧表のようなものがあると助かります。

一覧表のあるURLの場所等、ご存じの方がいれば教えて下さい。

Re: 命令の記号の意味 - 圓空

2016/12/29 (Thu) 17:01:00

cならここ

http://www.c-lang.org/operator.html

PL c なら命令語の本にないですか?

Re: 命令の記号の意味 - りょう

2016/12/30 (Fri) 17:07:44

ありがとうございます。

命令語の本にはどんなものがありますか?
島津のPLCにも対応しているものが欲しいです。
出来れば、フローチャートの記号の意味も網羅していると嬉しいです。

あるいは、メーカーに直接問い合わせて資料を貰うのが手っ取り早いですか?

Re: 命令の記号の意味 - 圓空

2016/12/31 (Sat) 00:57:25

命令語のリファレンスマニュアルは
PLCメーカで貰えますよ。
(金取るところのありますが)
Siteからもダウンロードできるのでは?

フローチャートは、言語とは次元が違うものですからねぇ。
PLCのマニュアルで解説してるものは、少ないのではないでしょうか。。。

ネット検索するか、「CQ出版」や「技術評論社」の書籍を探してみたらどうでしょう。


島津のPLCは見た事ないです。

Re: 命令の記号の意味 - りょう

2016/12/31 (Sat) 22:30:36

かしこまりました!
探してみます。
有意義なご回答、ありがとうございました。

シュミレータの使い方 - イノ

2016/12/11 (Sun) 11:17:34

初めまして、イノと申します。
急遽、三菱のシーケンサ制御を行う必要があり、勉強を開始した所であります。

サイトのスーパーテクニックでもご説明があります、MX Componentを使用する際、シーケンサがない状態での作成となりますので、シュミレータを使用したいと思います。
GX Developer + GX Simulatorの体験版をインストールしてみましたが、使用方法がまったく分かりません。

マニュアルを読みましたが、素人には起動方法する分からない状態で困っております。

本当に丸投げみたいな質問で申し訳ありません。
お恥ずかしい限りです。よろしくお願いします。

Re: シュミレータの使い方 - seg

2016/12/14 (Wed) 11:05:12

起動はデスクトップにアイコンが出来てるはずなのでダブルクリックで実行してください。

その他のマニュアルで解らない所は、サポートで聞いてください
懇切丁寧に教えてくれますよ

http://www.mitsubishielectric.co.jp/fa/support/spec/index.html

Re: シュミレータの使い方 - イノ

2016/12/28 (Wed) 11:37:46

返信が遅くなり、申し訳ありません。
ご回答ありがとうございました。
サポートに電話連絡してみたのですが、繋がりませんでした。
お忙しいのでしょうね。
もう少し自力で頑張ってみます。
ありがとうございました。

位置決め制御 - アラム

2016/11/22 (Tue) 11:48:31

おはようございます。

私アラムと申します。
最近ラーダーを勉強初めてます。
これからキーエンスの位置決め制御(SVシーリズ、4軸)をやらなければならないですが何処から手をつければ良いのか分からない。ネットで参考になるものを探してましたが当てにならないです。とりあえずKVーMOTINOでの基本的な設定の仕方と運転などの参考できる資料あるいはウエブサイトご存知でしたら教えて頂けませんか?キーエンスのウエブサイトでe-ラニングを探してましたがありませんでした。

すみませんが爆戦とした質問で申し訳ないです。まぁ、位置決めの基本的な設定とラーダーを参考になるようなものがあれば宜しくお願いします。

Re: 位置決め制御 - 圓空

2016/11/23 (Wed) 02:23:19

Keyence Site には沢山資料ありますよ。
それと、電話1本で営業マンが飛んできます。

フリーダイアルに電話すると
最寄の営業所に繋がります。

その時
担当が不在なら、技術から。
または、追って連絡ありますから。


思う軸制御。出来たら。
サブプロシージャにまとめて下さい。
引数を介して制御できる汎用的なルーチンに仕上げて下さい。

Re: 位置決め制御 - seg

2016/11/24 (Thu) 17:06:03

横入りすみません。

気になったので質問させてください。

圓空さん、引数ってどのように渡されてますか?
私の場合、例えばM0~M3を引数にしてどれが立っているかで判断していますが
なんとなく不細工な気がします。

 引数ON ⇒ コール のような感じです

もっとスマートな方法があるのでしょうか?

ご教示ください。

Re: 位置決め制御 - 圓空

2016/11/24 (Thu) 18:51:16

seg さま


横やり。無理やり。思いやり?

マクロやファンクションブロックでないと
引数って綺麗に渡せませんよねぇ・・・
変数を羅列して渡せませんもんね。


サブルーチン呼び出す時は面倒ですが、仕方ないです。
私も引数の数が多い時はテンポラリメモリで渡します。
数値変数1個の場合はレジスタで渡す場合が多いです。
呼出す方はレジスタに読み込むだけですし、
続けてサブ側で演算する場合もコードが少なく済みます。



アドレス渡しはしませんねぇ・・・
あたいは値でわたします。

あたいのやり方はこんなもんですかねぇ。

Re: 位置決め制御 - seg

2016/11/25 (Fri) 13:12:31

圓空さんは、返信時に必ず1ボケくれるのですね笑

>数値変数1個の場合はレジスタで渡す場合が多いです。

ありがとうございます、勉強になりました!

初心者 hiro

2016/11/14 (Mon) 22:21:38

こんばんわ 
仕事である回路を作らなければ成らず勉強の為このサイトにたどり着きました。

光電センサーを使いセンサーの上を物が通過しその間の(センサーを遮っている)時間を測り 次に物が通過した時 最初の時と時間に差(±1秒位)があると警報を出す それを繰り返す様な回路を考えてます

このサイトに書いてある事の応用で出来そうですが、どこから手を付けていいのか・・・

まだまだ勉強中ですがヒントなど頂けないでしょうか?
こんな命令を使えば良いとか、このページ書いてあるとか?

シーケンサーは三菱のFXシリーズを考えてます

Re: 初心者 - 圓空

2016/11/15 (Tue) 10:07:09

PLCの説明書にサンプルプログラムは載ってませんでしたか?

精度が不要なら、掃引内プログラムで、
精度が要るならinterruptプログラムで記述したらええと思います。

どの部分をお悩みでしょうか?

Re: 初心者 hiro

2016/11/16 (Wed) 19:41:31

圓空さん Re:ありがとうございます

簡単なラダーなら見れるので簡単だろうと思い始めてみましたが良く分かりません どの部分でお悩みでしょうか?と聞かれて全然判らないことが分かりました こちらから質問していて何なんですが、もう少し基本を勉強して サンプルプログラムあたりから探してみます
その時また質問さていただきます ありがとうございました 

そんな複雑な動きじゃ無いので簡単だろうと思ったのですが大間違いでした 言うのは簡単なんですが(笑)

Re: 初心者 - 圓空

2016/11/17 (Thu) 00:34:50

まず。簡単に流れ図の様な物でも書いて、動作を整理してみてはどうでしょう。

とにかく、何をどうするかを整理する事です。
これはPLCプログラムに限らず、どの高級言語も同じですよ。

それと、良いアルゴリズムを考える事が重要です。
後はそのアルゴリズムやフローに沿ってコーディングして行くだけです。

Re: 初心者 - seg

2016/11/17 (Thu) 11:47:39

初心者に毛が生えた程度のスキルですが、私も最初どうしていいか
まったく解らなかったのでお役に立てれば幸いです。
(ちなみにこれは正解ではありませんので圓空さんが訂正してくれるかも笑)

基本構造:
*********************************************

;初期設定
|M8002|--------------()

;入力情報の取得(センサとか)
|X001|---------------(M001)
;センサ踏んだらタイマON
|M100|---------------(T001 K10)

;時間の計測や、時間超過したときの処理
|T001|--------("時間が1秒たったから警報ON")

*********************************************

頑張ってください^^

Re: 初心者 hiro

2016/11/17 (Thu) 19:45:54

segさん 圓空さん ありがとうございます

光電センサーONでタイマー作動、
センサーOFFで、タイマー切り
その時間を計測して、それを一時記憶①(3秒~10秒位)
次のセンサーONでタイマー作動、
センサーOFFで、タイマー切り
その時間を計測して、それを一時記憶②
①と②を比較して一定以上(±1秒位)あったら出力をだす
次もセンサーONでタイマー作動、
センサーOFFで、タイマー切り
その時間を計測して、それを一時記憶③
②と③を比較して一定以上(±1秒位)あったら出力をだす
これを ③と④、④と⑤ とくりかえす

2分以上センサがONされないとリセットされ最初に戻り、次センサーONで①から始まる


流れとしてはこんなかんじで出来ると思うのですが
ラーダーにするとなるとさっぱりです

Re: 初心者 - 圓空

2016/11/18 (Fri) 12:12:36

お~~~~~~hiroさん

フロー大正解!!
ここまで解ってるなら98%できたも当然じゃないですか

Re: 初心者 - 圓空

2016/11/18 (Fri) 20:27:19

Key**** PLCなら
詳しく教えてあげられるのになぁ・・・

Re: 初心者 - 圓空

2016/11/20 (Sun) 03:57:06

hiro様

若い衆の教育用サンプルにもなりますので、
取り敢えずサンプルコード書いてみました。


三菱は使い物にならないので、私は使っていません。
KeyenceのCodeで記述します。ま、参考にして下さい。

三菱を使うと大変なので使わない方が得策ですね。



■ 定数/変数説明

[定数]
・Threshold:アラーム判断の閾値(1000ms)
・INI:リセットされる時間(1200ds)
・RING:データを保存するバッファの最大値(FFhex)
(今回はとりあえず256個のメモリを確保)

[変数]
・■SENSE:センサ入力
・■ALARM:警報出力
・COUNT:計測値
・CLK:計測用1msClock
・FINI:計測終了Flag
・DM0000~DM0255:データ蓄積用リングバッファ


初期値はSubroutineに記述


■ 動作説明
[計測Routine]
①センサ検知の立上がりでカウンタとアラームをリセット
(実際のアラームリセット方法は考えて下さい)
②センサ検知中Clockをカウント
③センサOFFの立下りで計測値をメモリに書込み,終了Flagを発行
④比較動作完了後,ポインタをインクリメント

[シーケンスRoutine]
①初期計測1回待ち
②通常計測終了で今回書込まれたポインタから1回前のポインタを計算
③|今回値-前回値|>Threshold ならアラーム発行
※アラームのワークと次のワークを比較すると,
次のワークが正常な場合,またアラームが発行されるので,
初期に戻しています。
④INIで設定された時限を過ぎると,初期動作へ戻る


■ 今後自分でCodingする時のために…
・履歴は多いほど良い場合があるので256個以上が良い。
・何故リングバッファを使うのか、何故バッファ数は2のn乗なのか
考えてみて下さい。
・定数はCodeに直接記述せず、変数に代入し、その変数を
Codeの中で使いましょう。何故か考えて下さい。
・実際にはカウンタのオーバーフロー処理も必要です。

Re: 初心者 hiro

2016/11/20 (Sun) 20:53:10

おお 圓空さんありがとうございます

三菱ダメですか? 三菱のシーケンサなら古いのが有るので使えるかと思ったのですが Keyenceももしかしたらあるかも・・・

サンプルありがとうございます 見てもまだ良く分かりませんが一つずつ追って行って理解したいと思います

”若い衆の教育用”って事は教える立場にあるのですね

私は結構、歳行ってますが最近設備に配属されて、前からあったらいいなっと思っていた回路を作ろうと思ったのですがシーケンサわかる人が会社に居らず(シーケンサ一杯有るのに)此処にたどり着きました

 宿題もいくつか出てますし(笑)わからない所はまた教えてください 

Re: 初心者 - 圓空

2016/11/20 (Sun) 23:01:38

hiro様

今日は朝からキリがかかって、見通しが悪かったです。


あぁ。三菱ですか。。。
エディタが馬鹿げてるのと言語仕様が悪いですね。

Keyenceなら3分で出来るところ。
三菱なら3日かかります。(笑)

サンプルはビルディングタイプの言語仕様で記述してますが
パッケージタイプでも同様な動作は可能です。


かの、太陽電池を作っている会社も
「キーエンス使ったら、他のメーカー使えませんよねぇ」と言ってはりました。
その工場は、設備制御を全てキーエンスにしています。

ま。でも。コーディングのやりかた次第なのですね。
うちが以前納品した装置のコードを見ましたが。
…悲しかったです。

ラダーの書き方 - seg

2016/11/11 (Fri) 10:31:02

私がそろそろ1人でソフトを作成できるようになったこの頃
他社のラダーを踏襲しながら機能を追加して欲しいとの要望を
受けました。その抜粋が添付資料です。

私には衝撃でした、”読む気になれない”のです。

私は、高級言語を経てこの業務を一時的に行ってる素人です。
だからなのですが【論理回路にいまいちピンとこない】です。
AがONされてBがONされてA,Bが、、が理解できないのです
(できるのですが解り難い)

なので私は根本的にコイルという概念を無くし、変数M100をON
という概念でプログラムしています。set,rstをガンガン使い
(X001)---------------------(M001)
くらいしか、直接コイルは結びません。

A,BがONしたからフラグM100はON
B,CがONしたからフラグM100はOFF

というように、【この条件だからフラグON】という考え方です

ですが企業様的には【昔から使われているこの手法】と
いうことから離れません。
誰にでも読めるこのオーソドックスな形(誰でも保守できる)
ということなのですね。

長くなりましたが、私のようなプログラミング手法はやはり
受け入れられないものなのでしょうか?

処理速度が速く、構造化プログラミングとしても可読性に
優れていても”皆が知っているオーソドックスな形”には
勝てないのでしょうか?

Re: ラダーの書き方 - 圓空

2016/11/11 (Fri) 12:13:20

seg様

毎度おおきに。



これはPLCに対する思想の問題だと思いますが・・・

PLCをメカリレーの焼き直しと考えるなら
【昔から使われているこの手法】でまあまあ良いのでは?
(でも実際リレーの焼き直しではないのですね。並列動作ではないので。)

私の考えは。。。
PLCは計算機なのでCodeを順番に処理していきますよね。
segさんの考え方でええと思います。

【昔から使われているこの手法】の方が便利な時もありますけど。


最近ではファンクションブロックもありますね。
スクリプト言語も使えますし。
構造化プログラミングの方がええと思いますぜ。

古い考え、硬い頭の人間は放っておきましょう。


ま。ケースバイケースで最善な記述をすればええと思います。
SETは:Q=True
RESETは:Q=False
OUTは:Q=直前のロジック状態
と言うだけの話なのですから。


余談ですが・・・
PLCで言うところのリレーですが
これはコイルではなく、Boolean なメモリデバイスなので
1つのアドレスを至る所で使いまわしする事もあります。
考え方は、テンポラリメモリですね。


Re: ラダーの書き方 - seg

2016/11/11 (Fri) 14:32:22

圓空さん

前回は本当にありがとうございました。

私のラダーの先生は圓空さんであり、提示いただいたコードが
まさに私の想像するものだったので、未熟ながらにも似たような
作り方をさせて頂いております。
(当然、圓空さんはTPOに合わせて作成されますが)

>SETは:Q=True
>RESETは:Q=False
>OUTは:Q=直前のロジック状態
>と言うだけの話なのですから。

このQというのは、どういうことなのですか?

私はイマイチ、set,rstを使わないべき論が解っておらず
リレー(訂正ありがとうございます)を結んでいく方が
よいパターンが思いつかないのです。

例えば

| m1 |---------------------(m2)
| m2 |--┘

このような自己保持回路も、

| m1 |-----------------(set m2)

とします。

前者のやり方ではどうも利便性が悪く感じてしまうのです。

Re: ラダーの書き方 - 圓空だよ~ん

2016/11/11 (Fri) 19:55:08

seg様

毎度、毎度。


まず最初に

Qの件ですが・・・
「世界の果てまでイッテQ!」ではありません。
お間違えの無きように。

私も何気に使っていますが、改めて調べてみました。
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1389332398
seg様。良い質問です。Good job!


で。本題ですが。。。
SETコマンド、使ってもええんちゃいますか?

| m1 |---------------------(m2)
| m2 |--┘

の様な簡単なCodeなら追いかけやすいですが、
何か条件が一杯ある時は追いかけるのが嫌になりますね。
5分くらい S/R Latchだと気づかなかったりします(笑)

SETならSET条件だけ。
RESETならRESET条件だけで分離した方が
分かりやすい事もありますね。

逆に解りにくくしたい時は
それなりに書いて遊びます。

Re: ラダーの書き方 - seg

2016/11/17 (Thu) 11:32:41

圓空さん

返信おそくなりました;

イッテQのせいで仕事中に吹いてしまいました。。。笑

リンクありがとうございました
>SETは:Q=True
私も合理的なのでとても納得いく内容を頂きました。

>SETならSET条件だけ。
>RESETならRESET条件だけで分離した方が
>分かりやすい事もありますね。

確かにそうですね、私は意識してるつもりでしたが
見通しのいいコードは書けてなかったです。

いつもありがとうございます、勉強させていただきました!

ラダー回路 - めるせっく

2016/09/18 (Sun) 16:01:19

添付画像のラダー回路を組もうとしています。
緑ランプの動作がうまくいきません。
x001の2買い目の立下り(INCPを使用)で1サイクルのみのフリッカ動作はどのようにすればよいでしょうか?
ソフトは三菱のデベロッパーを使います。見本の回路を
お願いします。

Re: ラダー回路 - めるせっく URL

2016/09/18 (Sun) 17:31:32

緑ランプが消灯しなくて困っています。

Re: ラダー回路 - あ

2016/09/19 (Mon) 10:33:53

OUT Y10にある接点Y6を補助コイル利用して切れるようにしないと...

LD M1
AND T3
PLS M2
LD Y006
LDP Y006
OR M1
ANB
ANI M2
OUT M1
LD M1
OR M20
ANI M10
OUT Y010

Re: ラダー回路 - めるせっく

2016/09/21 (Wed) 06:49:28

ありがとうございました。

コネクタ接続について チャロ

2016/08/31 (Wed) 15:45:42

PLCに速度センサーとモーターコントローラーを接続し速度制御をしたいと考えてます。速度センサーの端子がBNCコネクタになっているので接続方法がわかりません...
どのようにしたらベストか教えてください。
ちなみにPLCは、まだ購入していません。
ど素人な質問ごめんなさい

Re: コネクタ接続について - 圓空

2016/09/03 (Sat) 17:50:26

速度センサーの出力スペックが無いと
解りません

セグメント表示器 - はじめ

2016/07/30 (Sat) 11:39:31

質問です。正論理セグメント表示器と接続するDOユニットはQY82P(正論理)になるのでしょうか。

Re: セグメント表示器 - 圓空

2016/08/04 (Thu) 12:52:19

正論理/負論理と言うより

ソースかシンクかと言う問題ではないでしょうか。


NPNオープンコレクタ出力のユニットでも、
プルアップして
出力デバイスの前段にインバータを入れてやれば
ま。正論理と言える??かな。


ソースかシンクかでユニットを決めてください。
トーテンポール出力ならどちらでも繋げますけど。

操作方法を教えて下さい。 - えんくう

2016/08/01 (Mon) 13:34:45

GX Works2 Version 1.11M
にて

たとえば添付画像の

283行目を
ステートメント「この下*************」と
その直下の266行目の間に移動させるには
どうすれば良いのでしょうか。

Re: 操作方法を教えて下さい。 - take

2016/08/02 (Tue) 22:04:51

266行目とステートメントを切り離すことはできないみたいです。
たぶんですが、ステートメントは266行目のブロックの一部として扱われていると思います。ステップ数を見れば分かると思いますが、266の次は283になっています。これだけの接点とコイルで17ステップも使用しません。これはステートメントもステップ数に含まれているからだと思われます。そのブロックのタイトルたいな感じでしょうか。
そのためステートメントをたくさん記述すると予想外に全体のステップ数が大きくなってしまいますので注意が必要です。コメントとは扱いが違うみたいです。
(このステートメントによってスキャン速度に影響があるのかは不明ですが)
私のやり方ですが、ステートメントの上の行にコピーして、最後にステートメントを移動します。
さらに言うと
-----[NOFLF]-
とラダーを記述して。上記のブロックに対してステートメントを書きます。NOPLFは何もしない命令です。

Re: 操作方法を教えて下さい。 - えんくう

2016/08/03 (Wed) 09:12:48

早速回答ありがとうございます。

M社は絶対使うまい。と、思いつつ使わざるを得ない時があります。

真にもって開発工数のかかるコードエディタですね。

ステートメントの移動は
「ステートメント/ノート一括編集」
でするのでしょうか?
その中の「移動」では、すべてのステートメントが
移動してしまいます。
これの使い方も良く分りません。


次回のコーディングからNOP命令を山ほど書いておきます。
ただ、他人から預かったコードは大変ですねぇ。

皆さんよくM社を使ってると思います。
感心します。



Re: 操作方法を教えて下さい。 - take

2016/08/03 (Wed) 13:58:15

うっかり「移動」と書いてしまったのですが、移動ではなく新規にステートメントを作り内容をコピーしています。
人それぞれやり方が違うかもしれませんが、メニュー内の編集→文章作成→ステートメント編集でモードを変更できると思います。
私の場合
①「Alt」キー→「E」「O」「S」と入力してモードを切替
②移動したいステートメントを選択「エンターキー」→内容コピー
③移動先でエンターキーを押して新規製作→内容ペースト
④移動元を消す
⑤ステートメントモードを元に戻す
こんなかんじですべてキーボードのショートカットキーを駆使して行っています。
これは単純に慣れの問題で、この方法が本当に正しいのかは不明ですが・・・。

Re: 操作方法を教えて下さい。 - えんくう

2016/08/03 (Wed) 14:31:01

またまた。ありがとうございます。


> うっかり「移動」と書いてしまったのですが、移動ではなく新規にステートメントを作り内容をコピーしています。

私も悩んだ結果。そうしました。


K社なら当たり前に難なくできる事が・・・
こんな複雑だなんて(泣)


これからも宜しくお願いいたします。

不思議な名称 - えんくう

2016/08/04 (Thu) 07:58:33

このM社の言うステートメント・・・
実質リマーク文であって
ステートメントではないのに
何故「ステートメント」と言うんでしょうね?


Copyright © 1999- FC2, inc All Rights Reserved.