KV-P16R メッセージパネルのフリッカ不良 PLC Keyence

PLCのプログラミングをして居ます
プログラミングは私はほぼ素人なのでラダープログラミングです
皆さんのようにブール代数でサクサク出来ればねぇ・・・
PLCはKeyence社のKV-P16Rですリレー出力ですね
bandicam 2019-12-27 13-18-16-505

さて、プログラミングしてて困った事が起きました
メッセージパネルが意味も無く2秒間隔でフリッカーする様に成って
仕舞ったのです、つまり目的の文字が出たり消えたりを延々と繰り返します
プログムを入れ替えても絶対戻りません、だから困るのです
bandicam 2019-12-27 13-18-01-471

これ経験した人で無いと解らないトラブルです、要はプログラミングが
下手だから起きるのでしょうがPLCのバグでは無いかと疑っています
だって問題の無いプログラムに戻して直らないって何よ

で、原因は MEMSW と云う命令語に在ります
bandicam 2019-12-27 13-21-35-652

この MEMSW  とやらは停電等でのメモリーを確保するものです
停電しても(電源OFFも同じ)電源復帰すればリレー等は全て停電直前
の状態に戻る設定が出来る命令語です、私は $0074 に設定して
停電から元に戻せるようにして居ます。

こいつをですね、一旦、$0000  に書き替えるのです、エディタで
書き替えてPLC転送しますとフリッカが見事に止まります。
そしたらまた本来の $0074 に書き戻せば何事も無かった様に
復帰します、これで何日無駄にしたか、現場の方にも経験者が
居られる事でしょう。

キーボードを直す、メンブレンタイプ

DSCN4524

今年の九月に購入したキーボードがたった三ヶ月で壊れました

正確に言うと 壊した 此れはフリー・マーケットでの購入で
保証書など無いものです、壊したってのはどういう事かですが

水をかけてしまったのです、卓上のメガネ洗浄機を取り扱って

居る時に少し水が溢れキーボードに掛かりました、その時は問題
無く動いていたのですが数日してパソコンがUSBエラーを出して
来るんです、パソコンにUSBなんて一杯刺さってるじゃないですか
だから一体何がエラー出しているのか判らなかったのです
・キーボードはちゃんと動いている、だって文字書けるから
・USBエラーはキーボード抜くと止まる
ってんでアレコレやっていたら・・・

・キーボードの ENTER キーが動かない
いや動く
・一体どうなってんだ?

こういうことでしたつまり・・・
10Key側の ENTER  は動く
メインのキー側つまり「け」の右側の ENTER は動かない
・・・ってことでした、結果他にも動かないキーが出ていました
↓の写真の X 印がダメ、動かない、ってことは、ははぁーん、察し
DSCN4525

早速バラしてみました
DSCN4526

あ、やっぱりこれだ、メンブレン方式のキーボードはフィルムに
パターンが印刷されていてそれが接触することでキーが押されたと
認識するのです、そのパターンが水が掛かった事で腐食して導通
不良を引き起こしていたのですススけたようにやや変色しているのが
その部分です、これが原因に違いない
DSCN4527

DSCN4528

DSCN4529

DSCN4530

パターンの抵抗値を測定してみました、下の写真は正常パターン
ですが結構抵抗値が高いのですね
DSCN4531

不良パターンは断線していました、レンジオーバーに成って居ます
DSCN4532

ふむふむ、原因は判ったがさてさてどうするのよ、このパターンに
半田付けは絶対無理、何故ならフィルムが溶けてしまう
あ、そうだこうしてみよう、つまり細い電線を利用してテープで固定し
接触させたらどうだろうか、元々パターンの抵抗値が大きいのだから
接触抵抗は許容されるに違いない、やってみました、切れた部分を
飛ばしてバイパスさせるのです↓
DSCN4533

DSCN4535

DSCN4534

DSCN4536

組立するまえにシリコンパッドを戻して確認したら動きました
組み立てて終了です
DSCN4538

後で判ったのですが固定するためにシールを貼ったのは良いのですが
SLEEP キーにオーバーラップしててこれが無効です、直さねばなま、いいや
ともあれ一旦ゴミ箱に入れたものは壊れているので何でもやってみる
ことですねゴミで出す前に、どーせ壊れたんだし。

PIC12F683 Lチカ の様なSG(Pulse Generator)

お客様の案件で原理試作を造る事に成りました
本来、風量パルスが外部から来るのですが原理試作では
内部にSG(Pulse Generator)を実装してスイッチでどちらでも
使える様にして置くと便利な訳です

で、以前 555 timer で組んでいたのですが何か能が無いと思い

折角持って居るんだからPICを遣おうと思い立ちました
こんな波形が出ます、50Hz 固定です。
DSCN4442_R

↓現物です
DSCN4443_R


回路図、きたないのはご容赦
RA0=High / Low でデジトラをドライブしLチカさせて居ますが
最終的にはPLCの入力端子へと繋ぎます、だから相手はDC24V
ですね、で、お気づきでしょうが 24V → 5V のレギュレータ
が無いです、ツェナーダイオードでスライスして5Vにしてます
良ゐ子は真似しないで下さい
この回路図は以前 555 Timerで造ったSG(Pulse Generator)です
ご参考まで、本当に良く出来たICですよね応用範囲が凄いPWMとか
出来ちゃうじゃないですか
DSCN4445_R


ソースコードはまたパクリです、下記のブログから拝借致しました。
meideru blog
この場を借りて御礼申し上げます、で、少しいじってます。

/*
* File:   3243_LVD10W_PULSE_SG.c
* Author: maru
* 50Hz Pluse Generator
* Created on 2019/12/10, 16:38
*/
#include 
#pragma config FOSC = INTOSCIO
#pragma config WDTE = OFF
#pragma config PWRTE = ON
#pragma config MCLRE = OFF
#pragma config CP = OFF
#pragma config CPD = OFF
#pragma config BOREN = OFF
#pragma config IESO = OFF
#pragma config FCMEN = OFF
#define _XTAL_FREQ 4000000
int main(void)
{
OSCCON=0b01101000;
ANSEL=0b00000000;
TRISIO=0b00000000;
while(1)
{
//GPIO=0b00000000;
GP0 = 0;
__delay_ms(10);
//GPIO=0b00000001;
GP0 = 1;
__delay_ms(10);
}
return(0);
}
//↑ここまで

GPIO部分は GP0 とした方が何番ピンかすぐわかるので書き替えました
周波数変えるには __delay_ms(10); 変えるだけですね、恐ろしく
明快です、書き込みは Pickit3 を遣いました。