ここから本文です

解決済みの質問

知恵コレに追加する

タッチパネル(GOT)でPLCのエラーをモニタしたい

he_is_taller_than_iさん

タッチパネル(GOT)でPLCのエラーをモニタしたい

仕事でシーケンス回路の改修を依頼されました。
なかなか上手くいかず困っております。

環境
PLC:Q2ASH(三菱)
GOT:A970(三菱)
両間はバス接続されています。
ハードウェアの変更はケーブル含め出来ません。

行いたい動作としてはPLCにエラーが起こるとGOT上で異常を知らせるランプを点灯したいということです
この異常というのは例えば「バッテリ電圧の低下」であるとか「I/Oカードのエラー」などを指します。
エラーの詳細まではモニタする必要はありません。
当初CPUから出ている特殊リレー「SM1:自己診断エラー」をGOT側で受けてランプを点灯させようとしました。
この場合バッテリー低下は見れたのですが、I/Oカードを抜くとモニタ出来ませんでした。
メーカーに問い合わせたところ「SM1で見れるはずです!」と断言されたのですが、色々尋ねると「バス接続ではカードを抜くとGOTとの通信が出来なくなるのでモニタ出来ない」と言われました

仕方なく、色々調べてみるとGOT上で「スクリプト」という機能がある事を知りました
PLCから常時1Hzのチェックパルスを出して、このパルスが固まったら「エラー」という事にしたらどうかという考えです。(単純ですが…)
そこでGOTの特殊レジスタに「GS7:1秒バイナリカウンタ」というタイマーの代わりになりそうなものを見つけたのですが、C言語も組んだことのない私にとってはもうこれ以上進むことができなくなってしまいました。

私自身知識が乏しい上、三菱製のシーケンサを触るのが今回が初めてでして困っています
スクリプト機能の上手い使い方や、他にいい方法などあれば知恵お貸しください。m(_ _)m
よろしくお願いします

違反報告

ベストアンサーに選ばれた回答

plee_ah_thesさん

GOTの 「プロジェクト」のスクリプトに、「トリガ常時」で、下記スクリプトを記述しておけば、
M0が5秒以上変化しないと、GB201 がON になります。
GB201 で タッチパネルのランプ表示すればよいでしょう。
リセットはマルチアクションのタッチスイッチで「GS7に0を書き、GB201はRSTにしてください。

GB200 は、M0の立ち上がり検出の補助です。
M0の立ち上がりで、GS7 を0にしています。
「([w:GS7]>5」の「5」は5秒(GOT内部1秒クロックを5カウント)の意味です。

ところで、バス接続でPLCがダウンすると、GOTは「ホストとの通信ができません」のエラーメッセージを表示してフリーズするのでは?(最近使わないので、おぼえていない)

以下3行がスクリプトです。

if(([b:M0]==1)&&([b:GB200]==0)){[w:GS7]=0;}

[b:GB200]=[b:M0];

if([w:GS7]>5){[b:GB201]=1;}

この質問・回答は役に立ちましたか?
役に立った!

お役立ち度:お役立ち度 5点(5点満点中)1人中 1人が役に立つと評価しています。

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。

お客様自身の責任と判断で、ご利用ください。

ただいまの回答者

22時56分現在

3736
人が回答!!

1時間以内に7,377件の回答が寄せられています。