2008 年 12 月 18 日

ATSチャイムの制御プログラム その3

Filed under: パソコン,日記,鉄道 — わぴこ @ 1:54 AM

今日は部品が届いたので仮の回路を組み立てました。
まずは部品のチェックです。
早速やってしまいました_| ̄|○
RS-232Cのポートの基板側が穴空き基板と合いませんヘ(゚∀゚ヘ)アヒャ
プリント基板用でした。
基板に無理矢理穴をあけて解決♪
リレーは思っていたよりもちっちゃい奴で心配になりました_| ̄|○
説明書とにらめっこするとRS-232CドライバーもNOT回路とありましたΣ(゚Д゚;エーッ!
想定外の事態多すぎですね・・・←ダメ人間の証拠

次にリレーのチェックです。
実はリレーを扱うのは初めてなのでピンアサインをチェックしておかないと
ミス=死亡・火事
の可能性が高いのでチェックしまくりです 。
説明書とあわせてなんとかピンアサインを確定させることが出来ました。
次にRS-232CレベルやTTLレベルでコイルが作動するかテストしましたが
3V仕様のリレーでも予想通り動かず_| ̄|○

トランジスタスイッチで電源の5Vをコイルに供給することにしました。

それでもとにかく組み立てです。
RS-232Cポートを植えてRS-232CドライバのICソケットを植えて配線。
リバースケーブル仕様に配線ミスしかけました。(激汗
ストレートケーブルで使うので入出力を反対にしないといけません。
回路図を見て一つ気づきました・・・1μF_| ̄|○
0.1μFの積層セラコンと思い込んでいたので・・・またやっちゃったヘ(゚∀゚ヘ)アヒャ
ぐぐってみると電解コンデンサーでいいみたいなので
PC-486のジャンクMBからコンデンサーを剥ぎ取って植えました。
リレーを植えてその他の配線を済ませてとりあえずリレーのテストをしました。

配線が悪いのかなかなかうまく動きませんでした。
半田付けしなおしてカチカチ言うようになったので
実際にプログラムを動かしてテストしました。
74LS04がないと期待通り動作しないので追加しました。
リレーの動作を確認したらいよいよ本番です。

DC100Vラインの配線をしてから電源ON
とりあえず何事もおこりませんでした。
ATSテストモード ON♪
ATS起動
ジリリリリリリ・・・キンコンキンコン・・・
ATS確認
キンコンキンコン・・・
ATSチャイム消し
シーン・・・

キタ━━━━━━(゚∀゚)━━━━━━!!
キタ━━━━━━(゚∀゚)━━━━━━!!
キタ━━━━━━(゚∀゚)━━━━━━!!
目覚し時計モードでも無事に起動しました。
でも再起動の時間調整が必要かもしれません。
ついでにソフトウェアATS確認ボタンなども装備してテストしました。
というわけで今日のテストはここまでです。

W-ZERO3 esでとった動作ムービーです。
そんなもの作れるわけが無いという疑い深い人は見てください(笑

今後の予定
1.今の状態ではPCがないと何も出来ないので
基板だけで遊べる単体動作モードを用意する。
2.先行量産型の製作(嘘
3.制御装置が量産のあかつきには連邦n(ry

鉄道部品
というわけで最近手に入れたものです。

JR西日本のデジタル温度計とトイレの中にあるプレートと寝台のプレートです。
デジタル温度計は部屋が暗くても朝日に反応して表示しますが
蛍光灯下ではほとんど使い物になりません。
しかもアホなのでアナログ式よりかなりでたらめな温度を表示します。
実際の車内の奴もアホになっているものがあるかもしれません。
実用性が欲しい人は迷わずアナログ式にしましょう。
トイレのプレートは受け狙いで(笑
寝台のプレートは20系や583系のものだったらいいなあ・・・程度です。
583系はほとんど「寝台内は禁煙」だったので583系の可能性は低いかも・・・

2008 年 12 月 17 日

ATSチャイムの制御プログラム その2

Filed under: パソコン,日記,鉄道 — わぴこ @ 1:36 AM

というわけでGUIベースのプログラムを数日掛けて作りました。
ダイアログベースのMFCスケルトン??を元にぐぐりまくりました。
この辺の用語はVC(C)初心者なのでまったく分かりません。

まずは設定画面です。というか設定画面しかありません(爆
数値を入力してかえるという方法を試してみましたがうまくいきません (つД`)
とりあえずiniファイルを読み書きする機構をぐぐって取り付けました。
その後も数値変更のためにいろいろやってみるもことごとく失敗_| ̄|○
ふとリソースエディタを見てみるとスピンボタンなるものを(・∀・)ハケーン!!
早速試してみましたがエディットボックスとくっつかないのでプロジェクトごと破棄(爆

2回目はデザインからはじめました。
今度はスピンボタンの取り付けに成功。
いろいろやっているうちに悟りを開き
数値変更によるリアルタイム設定値更新はあきらめました。
OKボタンで設定更新をするようにしました。

次にATSの制御関係です。
基本的には前回書いたソースを移植しただけなので省略♪

OKボタンを押すと終了するのが気に食わないので抹殺しました。
ついでにATSテストボタンを追加しました(笑
一応完成しました。

しかしっ、動作させると操作を受け付けなくなることに気が付きました(爆
というわけでマルチスレッド化することに・・・
いったんはあきらめましたががんばってマルチスレッド化に成功しました(^^)v
まだまだ問題があります。終了処理です。
終了されるとバックグラウンドで動いているATS制御ルーチンが強制終了されます。
何の処理もしていないのでメモリリークすると思われます。
終了処理を変更しましたがこれがなかなかうまくいきませんでした。
ぐぐりまくって先ほど完成しました。

あとはアイコン化したいのですがそれはまた別の機会に・・・
まだソフト上にATS確認ボタンとかつけてみたいですし。
(本来はATS装置側に確認ボタンをつけますが
ソフト上にもテスト用に用意しておこうかと・・・)

部品を注文したので早く届かないかなあ・・・

俺様メモ
グローバル変数の設定
ヘッダーに
extern int ats_on;
本体(cpp)に
int ats_on;
と書くべし。

他のファイル?クラス?の変数などにアクセスする場合。
ATS::on -> X
ATS.on -> X
—————–
ATS ats;
ats.on -> OK

他の関数から戻り値が欲しいとき
int atskakunin(){
return (1);
}

void型はだめかも??? void以外だと戻り値必須???

2008 年 11 月 16 日

8086はだめぽ(´・ω・`)ショボン

Filed under: パソコン,日記 — わぴこ @ 2:44 AM

PC-9801F3が到着したので早速分解(何
F2との違いは中のスロットにSASI I/Fが入っています。
Cバスの一番上は2DD I/Fとマウス I/Fの複合ボードが入っています。
このボードは分解しないとはずせません。
Cバスの2番目はメモリボードが入っていますが交換されていました。
スロット番号にMとかいてあってメモリ専用みたいです。
もっとも普通のCバスのボードも入るでしょうけど・・・
HDDにはDISK BASICが入ってました。とりあえず放置ヘ(゚∀゚ヘ)アヒャ
1MB I/Fが動作することを確認して手持ちのPIO-9100と交換しましたが
やっぱり動作しないのでPIO-9100はダメなようです。
一番下のスロットしか1MB I/Fが使えないみたいです???
他のスロットだとなぜかハングしました。

ここで驚愕の事実が発覚しました。
なぜかEPSONのDOSが起動しません。
もともとあった9801Fでは動くのに・・・差を考えるとCPUしかありません。
もとの9801FにはCPUコレクションの都合でV30がさしてあります。
今回の9801F3はもとのuPD8086のままです。
どうやら起動するにはuPD70116(V30)以降のCPUが必要なようです。
多分EPSON PCシリーズらは8086機が無いからでしょう。
8086機でEPSONのMS-DOSが立ち上がった人がいたら教えてください。


真中の手前のフラットが伸びているボードがSASI I/Fです。奥は漢字ボード??分かりません。

PIO-9100のさらに続き
今日も調べまくりました。
BIOSの領域を調べ上げたところフラグがうまくたっていませんでした。
55 AAとなるべきところがD5 AAとなっていました。
BIOS ROMを一つずつさしてみると単体では55 AAと出ているので
基板の汎用ロジックが壊れている可能性が出てきました。
BIOS ROMなしでD000-DA000までのぞいてみると
FFで埋まっていないといけない場所が別の数値で埋まっていました。
どうりでこいつをさすだけで2DD側から起動できないわけだ・・・_| ̄|○
PIO-9100のROM領域を別のと移動すると運がよければ起動します。
常時か特定のアドレスに反応してゲートが開いているのかなあ・・・
これで原因がわからなくなったので復活はあきらめました。

ちなみにまともなほうのBIOSをFDから別領域にロードして
フラグをいろいろと書き換えてアクセスしてみると
アクセスランプが光って1MB FDD側にアクセスしましたが
結局そのまま固まってしまいました。
もうちょっと研究すればいける??

初代PC-9801のキーボードの話(つづき?)
RAM ERROR 1
で落ちるタイミングが大体分かりました。
リターンキーを押したときに落ちます。必ず落ちるわけではないみたいです。
もしかしたらピンアサインが違うのかもしれません。
現に98のキーボードでは未使用のピンに5Vがきていたので
専用のキーボードを用意しないと実質使い物にならないのかもしれません。
もしかしたらシリアルコントローラーが壊れていて
変な領域にアクセスしたりするのかもしれませんが・・・
あいかわらずDOSもDISk BASICも起動しません。・゚・(ノД`)・゚・。 うえええん

真中のROMが大量に刺さっているのがBIOSボードです。
初代PC-9801はこのボードがないと何も出来ません。
右は多分グラフィック関係のサブボードです。

俺様メモ(作業メモ)
某本にも無い2DD/2HD I/F混在の時のフラグ状況
0000:0040 2C 08 80 FD 2C 08 80 FD-54 05 00 D6 58 03 00 D7
00 D7が2HD 00 D6が2DD
0000:04B0 00 00 00 00 00 00 00 D6-00 D7 00 00 00 00 00 00
0000:04D0 00 00 00 00 00 00 C7 C9-00 00 00 00 00 00 00 00
C7が2DDでC9が2HD

DEBUGのファイルの扱い方
-n ファイル名
-r cx
CX=ファイルの大きさ
-w xxxx:xxxx
書き込み
-l xxxx:xxxx
読み込み

« 前ページへ次ページへ »

HTML convert time: 0.524 sec. Powered by WordPress ME