1983年の回路に学ぶ

下の回路です。
サイズ変更再露出DSCN7616.JPG
見るからに外部と絶縁しノイズ対策を意識した I/F ですよね。
向かって左側の IN が外部、右側 OUT がロジック回路側です
私が注目したのは C1,R2,R4,D1,C2, がそれぞれ持つ意味です
直感的に ノイズ対策 だと判りますよね

先ず明らかなのは R4,D1,C2,です
PH1がOFFの時はC2はほぼVccに近い電圧値に成っています
PH1がONするとR4,とC2,が形成する積分回路で時間差を置いて0Vに成ります
PH1が再びOFFに成ると R3→D1→C2 の流れで急速充電され、やがてR4で
Vccに近い電圧値に上昇します、C2の充放電時定数はほぼ一緒に成ります。

つまり、もしスパイク状のノイズが IN から侵入し PH1 がONしてしまった時
R3,R4,C2,の構成する時定数以内であればキャンセルされるという事ですね

C1ですが此れは、INから侵入したスパイク状のノイズをバイパスさせる
目的であることが判ります、然かも 1uF とは結構大きいですね

さて、よく判らないのが R2なんです
もし、PH1が破壊されフォトカプラの一次側のLEDが切れているとしましょう
その時のR2の電流値はおよそ 10mA です、LED1の Vf=1.4 で計算しました
従ってR2の電圧降下はおよそ 1V です
これに何の意味があると思いますか?判らないのです
追伸
判りました、なぁーーんだって感じですよね。
つまりフォトカプラがONした時、C1は充電される訳です
次にフォトカプラがOFFした時、C1の放電要素は無いのです、何故なら
フォトカプラの一次側の内部LEDのVfはカタログ値1.15V、ここでPH1が
無いと仮定した時、LED1のVfを1.4VとすればR2の両端の電圧値は・・・

先ず電流値は
(24-1.4)/(2K+100)≒11mA
従ってR2の両端の電圧値は
100 x 0.011=1.1V

・・・この結果からPH1の一次側(内部LED)の電圧値1.15Vとの差は0.05Vです
実際には両者は並列接続ですから実際に測定してみないと判りませんが
1.1V以下であることは確かで、両方共同電位で動くことになります
入力がOFFに成ったときPH1の入力側へC1の電荷が流れ込むかと思えば
そうでは無く内部LEDのVf(1.15V)以下の電圧値には成れない

この状態ではC1は放電できない、従ってR2を使って放電させている
と言うことですね、速く復帰させるために100Ωにしたのでしょう、設計者に
依っては4.7Kとか10Kとか100Kとか意見の分かれるところだと思います。

保守するがわの立場に立つともしPH1が壊れて一次側のLEDが切れていた
と成ればこの回路ではLED1は発光します、R2が無ければ発光せず
何か変だぞ?と判別出来ますよね、なんで入れたのでしょうか

当時は未だ機械制御の制御盤に沢山のリレーを使用していました
私の記憶ではAC200Vのリレーなんてザラに使われていました
従って、5Vで動くロジック回路はその制御盤内に埋め込まれたとき
猛烈なノイズの中で動かざるを得ない状況に置かれます
フォトカプラを使用するのはその為に大変有功でした

それでもグランドから這い上がってくるノイズも悩まされたものです
徹底的に外部からのノイズを遮断したい、という考えがこのI/Fから
読み取れますね、苦労は如何ほどか、プログラムもUV-PROMでしたから
書き直しには紫外線消去ボックスが必要でした、H8もPICも無い時代
ディスプレイにキャラクタを表示するのでさえ、アナログ・ビデオ回路と
ロジック回路を合体させ表示したものです、必然的に H/V信号、ブランキング
信号を生成してCRTに出力させて居ました。

MPLAB X IPE 電源の問題、供給不能 No options are available

私は下記を使っています。

・書き込みツール、PICKIT3
・プログラミング・ソフト、MPLAB X IDE v5.35
・書き込み・ソフト、MPLAB X IPE v5.35

問題は書き込み・ソフト、MPLAB X IPE v5.35を使ってPICマイコンに
電源無しで書き込み出来ないのです。
No options are available
この様なコメントが出てきます。↓
bandicam 2020-08-24 15-38-20-570.jpg
本来ならばPC→USB→PICKIT3→PICマイコン、の流れで電源供給出来る
様に成って居るのです、ネットを検索すると海外のサイトで下記のような
記事が出てきます。
>You can keep multiple versions of MPLABX installed.
Just use the 5.00 version IPE until Microchip get this fixed.

これですね、試しに IPE v5.00 をインストールして立ち上げたらもうアイコン
も古くて心配だったのですが善く使う PIC16F88 は問題無く使えそうです
未確認ですが確かに電源供給のプルダウンメニューが出てきます。↓
bandicam 2020-08-25 06-11-39-211.jpgbandicam 2020-08-25 08-55-39-546.jpg

ですが結局使用出来ませんでした、理由は使用するCPU は PIC16F18456
なのですがこれが登録されて無いのです、諦めました。

然し乍ら新しいバージョンのIPEは電源供給出来ないと成れば選択肢は二つです
1・MPLAB X IPE v5.35で電源を用意して別電源で書き込む
2・MPLAB X IDE v5.35で電源供給モードで書き込む

此処では、2・でやってみようと思います。

MPLAB X IDE v5.35を起動します、予め用意して置いた HEX ファイルを
読み込ませます↓
bandicam 2020-08-24 15-39-52-656.jpg

ファイルを指定します↓
bandicam 2020-08-24 15-40-15-573.jpg

CPUを確定します↓
bandicam 2020-08-24 15-40-35-287.jpg

PICKIT3を指定します↓
bandicam 2020-08-24 15-40-43-641.jpg

FINISHをクリック↓
bandicam 2020-08-24 15-41-00-282.jpg

画面左に現れた CPU を右クリックしPropertiesをクリック↓
bandicam 2020-08-24 15-44-06-208.jpg

左の項目の Pickit 3 をクリックし、中央上の Memories to Program の
プルダウンメニューから Power を選択します↓
bandicam 2020-08-24 15-44-18-039.jpg

Power target circui from PICKIT3 のチェックボックスを入れます
電圧は 5V にします↓
bandicam 2020-08-24 15-44-34-326.jpg

コンパイルしないので書き込みのアイコンからプルダウンメニューで
Programmer To Go PICJIT3/PICKIT4(project ******)をクリック
これで書き込みが始まります↓ 
bandicam 2020-08-24 15-46-14-732.jpg

ところが上記のように測定した電圧値は4.75Vだから止めたよ、みたいなエラー
が返ってきて結局書き込み出来ません
ならば最初から4.75Vにして置けばよいのです↓
bandicam 2020-08-24 15-48-01-999.jpg
bandicam 2020-08-24 15-48-11-281.jpg

再度
コンパイルしないので書き込みのアイコンからプルダウンメニューで

Programmer To Go PICJIT3/PICKIT4(project ******)をクリック↓

bandicam 2020-08-24 15-49-42-614.jpg

はい、書き込めました。
つまり何が言いたいかと成れば・・・
・MPLAB X IPE v5.35を使うなら外部電源が要る
・MPLAB X IDE v5.35で電源供給して書く事は出来るが電圧値は4.75Vに設定せよ
 但し書き込み時 verify はするが改めて読み出しはエラーが出る(電源無しで)
・・・という事ですね。

で、書き込み出来たからと読み出すと読めません、エラー出ます
面倒ですが読み出すには、MPLAB X IPE v5.35を必要とします↓
bandicam 2020-08-24 16-02-34-772.jpg
Verify してみました OK です。

以上ですがど素人の私のヤル事なので持って回ったやり方かも知れません
ただ、バージョンの新しい MPLAB X IPE は外部電源無しでは書けない
ことが判ったという事です、Microchip さんも過去からのソフトウェアで
機能を完全に消さなかったのか消せなかったのか、ひとつ確かに言えることは
No options are available としか表示されないのは余りにも不親切だと
言うことです、解決策をちょっとぐらい書けよ、と言いたいですね。

電源が在れば書けて当たり前↓
サイズ変更DSCN7572.JPG

To Go で書いてます、電源はUSB→PICkit3→CPU ↓
サイズ変更DSCN7577.JPG

Apache2.2 の access log を Excel で読みやすくする

私の事務所のレンタル・サーバーISPは so-net 時々変なメールが来る
 
同時アクセス可能数超過レポート
開いてみるとこんな内容だ↓
bandicam 2020-07-30 17-35-33-047.jpg
だからどーせいと言うのか・・・・自分のサーバーのアクセス超過は
自分で何とかしろよと言いたい、料金払ってんだから
www サーバーOSは Apach2.2 と判明、従ってログファイルは apache logって訳だ
と言う訳で FTP でログインして access.log をダウンロードしてみた
こんな感じで不審なアクセスが続いている
bandicam 2020-07-30 17-21-35-041.jpg
これが判って閉鎖したがスケジュール機能の掲示板が踏み台にされて
居たのだった、まぁ判って善かったが閉鎖した後、数ヶ月経由しても
今尚、401で弾かれているにもかかわらずやって来るのは相手は
ロボット徘徊だと思う
それはさておき ****.log ファイルを editor MIFES で読み出すとき
アクセス成功の 200 だけ読みたいというのが人情だ、従って 200だけ
ソートしたいと思って色々ネット検索してソフトウェアを探して居たら
Apache viewer 成るソフトウェアが在って、これだ、と思ってインストール
したのだが無料だと機能が限定的で使えないと判った
こんなもん Excel で読めないのかと捜したところ読めるんだよね
Excelの Query 成る機能を使えば出来る、私の office 2013 だと
インストールしたままでは Query は入っていない、なので
本家 Microsoftからダウンロード、無料
bandicam 2020-07-30 16-38-25-511.jpg
インストールして Excelを開くとツールバーに POWER QUERY が現れる
のでこれをクリック
bandicam 2020-07-30 16-39-43-152.jpg
データベースから をプルダウン↓
bandicam 2020-07-30 16-40-57-575.jpg
 accessデータベースからクリック
 
 全てのファイル
 
 ****.log を開く
 
 区切り記号を スペース にする
 
 一覧が現れる↓
bandicam 2020-07-30 18-13-27-446.jpg
めっちゃ見やすくなったがこのままではダメ、右下 編集 クリック↓
bandicam 2020-07-30 16-47-22-689.jpg
 Excel に展開される
 
 閉じて読み込む クリック
 
 この時点でファイルとしてセーブ可能となる
 
 場所を指定してセーブ
 
 セーブされたファイルは ***.xlsx
これらの作業に依って  200 / 401 / 301 などでソートが掛けられる
不審なIPは .htaccess でブロックする、これを続けて居たら敵も知恵
を働かせるのか他国の proxy を通してやって来る、何故か中国とロシア
が多い、日々コツコツとブロックして三ヶ月、やっと静かに成って来た
ただ、弊害もある「ホームページ視られないんだけど」というクレーム
矢鱈にブロック出来ない、或る程度IPの範囲を指定してきめ細やかに
管理しなければならない、って、あーー面倒だ。