M社製PLC(Qタイプ-Qモード)で、伝送ユニットを使用しマルチメーターのデータを読み取りを行っています。
しかし、稀にその伝送ユニットのエラーランプが点灯し伝送系が停止してしまいデーターが更新されなくなってしまいます。
伝送ユニットのエラー原因を探るとエラーコードより、パリティエラー発生という事が判明しました。
そこで、ご質問ですが、
(1)そもそもパリティエラーとは何なのでしょうか?
(2)また、そのエラーの発生原因の主な理由は何なのでしょうか?
尚、伝送系が停止する直接的な理由はバッファフルというエラーが原因のようですが、そのエラーの発生原因をパリティエラー発生(バッファフル発生までに数回パリティエラー発生している)によるものと、現状考えております。
もし、ご質問内容に不明な点がありましたら捕捉要求お願いします。
以上、宜しくお願い致します。
No.1
- 回答日時:
PLCの知識はほとんどありません。
(1)パリティエラーとは、データ伝送する際に、そのデータがうまく伝送されたかどうか調べるために付加するものです。例えば、8ビット(1または0)のデータがあるとして、8ビットのデータの中で1であるビットの数が奇数ならば1、偶数ならば0を伝送します。つまり全部で9ビット伝送することになり、1の数は常に偶数になります。
伝送しているうちにノイズなどで、間違ったデータが送られた場合に発見し易くなります。(受信側で1の数を調べ、偶数でなければエラーだとわかります。)
この方法が、2ビットがおかしくなってもエラーだと検出できません。(2ビットがおかしくなっても、1の数は偶数ですので。)
以上は偶数パリティの話です。逆に奇数パリティにする場合もあります。
(2)データの伝送がおかしい、ということです。0であるビットが1に、1であるビットが0に変化してしまっているということです。信号系にノイズが混入しているか、電気系では接触不良、ケーブルの断線しかけ、なども考えられます。
バッファフルで停止する前にパリティエラーが数回出ているのですから、まずはパリティエラーを無くすべきですね。
伝送はシリアルですか?(RS-232C・EIA-232)
シリアルでパリティエラーが起きるということは、スタートビットの誤発生もあり得るわけで、想定外の早い周期でデータを受信しているのかもしれません。→それでバッファフルになってしまう。
ケーブルの長さはどのぐらいですか。
通信速度はどのぐらいですか。
コネクタのところにフェライトコアによるノイズフィルタを入れることも可能です。ノイズが多い環境ならばRS-422による平衡伝送が良いかと思います。
この回答への補足
伝送ラインの用途は、特高変電所の高圧ファーダーのM/M(電流&力率)データーで、ひとつの伝送ラインに7個のM/Mがぶら下がっています。
ケーブル長は、一番遠いM/M部で約40m位です。
通信速度は、9600bpsです。
伝送は、RS-485です。
伝送ラインをモニタしてみた所、PLCの呼びかけ→M/Mからのデータ送信を7個分繰り返しており、各周期の間は20msあいていました。
ただ、7個目から1個目に帰る時は5msしかなかったのですが・・・
ちなみに、異常を発するM/Mは4番目にあたります。
接続方法は、2芯シールドで各M/Mを数珠つなぎにしています。
一応、現状ではノイズ、細かく言えば、静電誘導ではなく電磁誘導によるものと考えていますが、異常発生時は特に電流を多く使用している負荷もなく、高圧側電路とは完全に離隔していますので、何とも言えません・・・
ただ、気になるところは同バンクに所内電源変圧器があり、その負荷に変電所制御用直流電源(バッテリー)があることなんですが・・・まだ、その気にしている事をロジックに説明できないので何もしようがないのですが(^_^;
nano_cat様、ご回答下さりありがとうございます。
(1)はよく理解できました。ありがとうございます。
これは、1が0又は0が1にノイズ等の要因で化けてしまった時に本来1の個数が偶数であるはずが奇数個になり、それを検出→パリティエラーとなるが、2個化けてしまった場合1の数が必然に偶数になってしまうので、検出不可と言う事ですね。
次に(2)の事についてですが、すみません(ToT)よくわかりません。大変申し訳ありませんが、再度回答お願いできますでしょうか?
”(2)データの伝送がおかしい、ということです。0であるビットが1に、1であるビットが0に変化してしまっているということです。”
この場合、0であるビットが1に・・・で、0であるとわかっているのはなぜでしょうか?
と、言うのは受け側はデーターを受け取るだけなので、このデータは0であるはずと知るよしもないかなぁと思いまして・・・
No.2
- 回答日時:
(2)につきましては、私の書き方が悪かったです。
kohremさんのお考えの通り、受信側ではどのビットがおかしかったのか知る術はありません。電気的にはRS-485とのこと、通信速度も9600bpsと速くないので40mぐらいの長さでしたらそう大きな問題はなさそうです。
数珠繋ぎになっている(PLC 1台に7個のM/Mぶら下がっているのですね)のに、4台めだけパリティエラーになるというのはフに落ちません。ライン上にノイズが乗っているのなら、4台めだけ、と限らないと思います。4台めが送信する際に同期して、何か機械が動き出すといったことはないのでしょうか。
もしかしたら4台めのM/Mが故障(気味)ということはないでしょうか。他のM/Mと交換してみるとか。
nano_cat様ご回答ありがとうございます。
確かに現状から考えるとM/Mの異常が一番可能性が高いものと思われます。しかしながら、私にはそれだけとはどうしても思えないのです。
その理由は、
(1)この現象は前にも出てまして、出方も今回と同じようで時には頻発(1回/日)で時には沈黙でと・・・ちなみに、その時は3番目のM/Mでした。結局確かな原因がわからず結局重要度の低い回路であったことからM/Mを取り外した。結果、異常は出なくなった・・・かに思えましたが数ヵ月後また異常が頻発しだした(4番目の現在)ちなみに、1度M/Mを交換したのですが、その時は効果無しでした(ToT)
(2)異常は常時ではなく何らかのタイミング?で発生している(故障気味かもしれませんが)PLCエラーリセットで復帰し正常に伝送できる。
その他にもあるんですが、とりあえず、言えることは現状、前のことを考えると何か単純じゃないような・・・単純のようなです・・・
今度5/4停電日ですので、そこで交換はして見ます!!
No.3ベストアンサー
- 回答日時:
No.1のM/MからPLCへデータを送信。
PLCからNo.2のM/Mにデータ要求する。
No.2のM/MからPLCへデータを送信。
・
・
・
PLCからNo.7のM/Mにデータ要求する。
No.7のM/MからPLCへデータを送信。
最初に戻る
複数のM/Mから同時送信するということはないでしょう
か。No.4にデータ要求したのに、他のM/Mもデータを送
信したら、No.4がおかしいように見えますね。この場合、
PLCの送信データが化けていることも考えられます。
(複数のM/Mが、自分へのデータ要求だと思ってしまっ
ている。)
1日1回程度の誤動作ではなかなかその瞬間を見ている
のは難しいですね。ノイズ対策してもその効果がなかな
か確認できません。
対症療法ですけど、PLC側のソフトで逃げられないでしょ
うか。パリティエラーが出たら、しばらく(1秒ぐらい?)
待って、いったん受信バッファをクリア。もう一度データ
要求する、というような。
nano_cat様、いつもご回答頂きありがとうございます。
ご教示頂いた内容ですが、発生しだした時にレコーダーを以下の条件で仕掛けました。
(1)1chに伝送ライン入力
(2)2chにPLC伝送ユニットエラーでYリレー(PLC接点出力)ON
(3)”(2)”でトリガかけ、トリガかかる1.5s前より伝送ライン波形を印刷
その結果、7回路中6回路は正常(PLC呼掛け→M/Mデータ伝送)に動作し、問題の回路はPLCが呼びかけしている物の返答無しでした。尚、5s返答無いと次のM/Mに
滑っていきます。
また、ノイズのようなものは見られませんでした。しかし、印刷されたのは1.5s前までであり、実際にはもっと以前に停止されたものと思われその停止したところは見えてません・・・
この現象で考えられるのが、
(1)M/Mの異常
(2)呼掛けのアドレスが間違っている
(正常の時もありますので、何らかのタイミングや
PLCソフト演算の間違い?)
かと、今の所思っています。
現状の仮処置として、4番目のM/Mに呼掛けしないようソフトで処置しています。(処置後4日経ちますが異常でず)
対処療法のソフトで逃げる・・・のは、私も同感です!しかしながら、一度パリティエラーがでると、伝送ユニットのエラーランプが点灯してしまいますが、これは内外部からリセットできず、リセットするにはCPUごとリセットするしかないようです・・・(ToT)
これまで、nano_cat様には大変貴重なご回答を多々頂き為になりました。今後ご教示頂いた事を活用し異常の完全復旧に取り組みます。
ありがとう御座いましたm(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- その他(メールソフト・メールサービス) PCでメールは発信について 6 2022/08/13 09:23
- livedoor Blog(ライブドアブログ) blogger で次の様なエラーが発生しました。 Dnsに使う?IPアドレスってどうすればいいんです 1 2023/01/09 19:39
- その他(パソコン・スマホ・電化製品) 現在、Q-SL2を使用しています。Q-H1を接続しようとすると本体ソフトウェア確認中にエラーが発生し 1 2023/03/04 23:14
- プリンタ・スキャナー キャノンmp490プリンター【エラー番号5400】で【プリンタートラブルが発生しました。電源を入れ直 2 2023/07/24 17:45
- HTML・CSS htmlについて質問です コードを打ったあと画像が表示されないので調べる svg ファイルが写真のよ 1 2023/07/11 10:53
- Visual Basic(VBA) IBM Notes9のメールをExcelVBAにて送信するコードについての質問です。 以下のコードを 3 2023/06/21 17:58
- FX・外国為替取引 MQL5にて謎のエラーが発生!だれか対処を教えてください! 1 2023/03/25 15:59
- コーヒーメーカー・電気ケトル・電気ポット デロンギ マグニフィカ ESAM1500DKのエラーについて。 使用していたら『ナイブヨゴレ』と『チ 1 2022/07/30 22:15
- Instagram Instagramで自分が他人にしたコメントを確認しようとした所、何らかのエラーが発生しました。後ほ 1 2023/08/10 07:33
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
hdmiはパラレル?シリアル?
-
ubuntuで デイスク/deb/loopと...
-
VB.netでDLLを読み込んで実行す...
-
リユーザブル,リエントラント...
-
スタックフレームの消滅
-
プログラムの規模を表す単位「k...
-
ライン数とステップ数の違いに...
-
タッチタイピング
-
パソコンでインターネット接続...
-
この二つの問題とける人いませ...
-
サブネットマスクが255.255.255...
-
エクセルのHLOOKUP関数の検索範...
-
タイピングを上達させたいので...
-
アイソレータとはなんですか?
-
初級シスアドの問題ですが。。。
-
Excel VBA マクロ処理 リンク先...
-
リフレッシュ処理の意味を教え...
-
169.254.・・.・・ のIPの機器...
-
MoveNextの処理速度は?
-
関数呼び出しでのスタック消費量
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
hdmiはパラレル?シリアル?
-
15パズルゲームについて
-
TCPではなく、UDPが音声や動画...
-
PLCのエラー内容
-
友達の質問に回答したいんです...
-
7bitのデータ列に1bitのパリテ...
-
パソコンでインターネット接続...
-
プログラムの規模を表す単位「k...
-
ubuntuで デイスク/deb/loopと...
-
ライン数とステップ数の違いに...
-
Macと iPadの違いについて 今現...
-
命令口調について
-
VB.netでDLLを読み込んで実行す...
-
ステップ数について
-
最大スタックサイズを大きくす...
-
エラー?メッセージ
-
サブネットマスクが255.255.255...
-
ステップ数??
-
Ic-PcAn はどこのこと?
-
社内LANのネットワークトラフィ...
おすすめ情報