プレ2000年問題:マイクロチップの日付認識機能の誤動作(無牙 記)


 8月22日、NOMIのGPSを稼働させてみたけど、やっぱり正常に機能しなかった。 古野電気(株)「超小型VIDEO GPS G-1500」 1990年4月発売の製品です。

GPS(全地球測位システム:Global Positioning Sysytem)で年月日時分秒を割り出す方法。

 規則的なGPS衛星放送から直接入手するのですが、それぞれの基準値をもとに週数(最大1023)を数え、その週内の秒数から現在の日付と時刻を算出します。 この週数を数えるマイクロチップ内の Week Number Field が9bit(桁)なので、基準値から1024週目にロールオーバー(桁あふれ)して最初の週に戻ってしまうのです。 1024週目にあたるのが日本では8月22日9 AM(グリニッジ標準時の8/22 00時)なので、NOMIのGPS受信装置も1980年1月6日0時0分0秒(基準値)にロールバックしてしまいました。(ちなみに 9桁なのに何故1024で桁あふれか?というと、コンピュータは0か1の2進数で認識するので「111111111」は10進数での1023です。 1024週目にあたる8/22になると「000000000」に戻ってしまい0週目と認識してしまうのです。) (この問題は、正確には西暦2000年問題とは言いいません・・・。 また、世間では1999年9月9日も危険日といわれていますが、これはコンピュータプログラムでお終い・最終の意味でAll’9’を、比較する桁等に入れるプログラマーが多かったので年月日が99年9月9日の日付が「999999」お終いと誤認されることから様々な不具合の発生が予想されます。 

この辺りからコンピュータに興味のない人は 下の●へ飛んで下さい

(本当は99年9月9日は「990909」ですが、プログラムの中では記憶装置の容量を節約する習慣から0が削除(ZeroSuppres)され「9999」と認識されます)

 凡にボクの様な賢いプログラマーはその当時からall「9」は嫌いで(99年9月9日がこの世に存在するので)「High-value」と言うall「F」を使っていました。 Fは16進数の15です。コンピュータは0か1の2進数と言いましたが電気(磁気)が流れるか流れないか等、たった2つの状態から積み上げて行くのがコンピュータの原理です。

 この最小の単位が bit(ビット)。 8bits集まった単位を1Byte(バイト)と言って文字を表す単位です。 1Byteのうち左4bitsと右4bitsを分けた組み合わせで数字からアルファベット・漢字も表す(割り当てる)のです。 そこでは4bitsで表される「0000」から「1111」の16の組み合わせが考えられるのでコンピュータのプログラムの世界は16進数が理解できないとあかんかったのです。

 8bitsで表現すると冗長になりしかも人間が判りにくいので4bitsづつ「0から9,A(10),B(11),C(12),D(13),E(14),F(15)」に置き換え表示します。 数字を表すのは左の4bitsはF(1111)と決められてあり右の4bitsで0(0000)〜9(1001)まで使います。 1Byte(1文字)の数字0〜9を、ボクたちは F0〜F9と表現して実際の各bitsが0か1を理解してプログラムを考えるのです。 (実際にはプログラムを考えるのではアリマセン、プログラムが実際に稼働して不具合でABEND(Abnormal end):異常終了したときに解析するリストは0からF迄の文字の羅列で(Dump list)これを解読して異常箇所を発見出来なければ一人前にはなれません。 ちなみにDebugg(虫取り)と言います。

(但し、これは今をさる20年とか前の[COBOL」「ASSENBLER」時代の事で今のにいちゃん、ねえちゃん方には「生きていくのに必要のない知識」です)

 2bytes(2文字)の99は(「1111100111111001」)です。 All「F」(FF)とは(「1111111111111111」)でこれより大きな値はありませんし、変換すべき文字も割り当てられていません。 だから、プログラムでデータとして入力されるはずのない値として認識するのに最適なのは  all「9」ではなくて all「F」なのです。 「あたり前田のクラッカーです」 ボクは、all「9」なんて使用していたプログラマーはアホだと思います。

おまけ:2進数は麻雀好きの方は得意ですね。 1,2,4,8,16,32,64,128,256,512,1024 です。 ねっ 9桁で1023が終わるでしょ) 

NOMIGPSは ROMチップ交換で修理可能です。
 「メーカーへ梱包送付(又は持っていく)
 「現在なら チップの在庫があるので 2-3日で修理可能
 「着払いで返送。
 「費用は15千円。 
    1990年の製品なので、購入者が金を支払うのは妥当でしょう。
   (註1)

 662−1110 西宮市芦原町9−52
 古野電気株式会社 関西支店 大西 様
 TEL 0798(65)1110

●このまま使う方法もありますが・・・・・。
 電源オン
 設定?       「8」入力
 コールドスタート? 「1」入力
 衛星番号?     「受信」入力

 ・・・・40分程度掛かるが、衛星から情報を取り直す
     日付・時間表示はデタラメですが機能としては使えます

 しかし、面倒なので修理しましょう。

註1:カーナビのパイオニアなんかは無償でチップの交換をしていますが、無償か有償かは法的にもいろんな要素を複合して判断されますが、一番簡単に言ってしまうと 1995年7月1日施行の「製造物責任法:PL法」の前か後かです

NOMIに関係ないですが、カーナビの世界では

■パイオニア
  92年から96年末に製造した「AVIC―G10」など
  16機種で不具合発生対象が合計27万台に及ぶ。 
 15億円を投じて982月から無償で部品交換している。 
  822日時点で約5万台がまだ未交換。

■日本ビクター
  94年に発売した「KZ―N1」1機種について、
  200011日から229日までの間に限って誤作動する
 恐れがあることがわかった。 1500台を出荷している。

■パリダカに影響
  「パリダカ」のスタートがGPS問題で繰り延べに――。
  毎年元日スタートが恒例になっている世界一過酷な砂漠の自動車ラリー、
 「パリ―ダカール」ラリーが2000年は16日にセネガルのダカールで
  競技を開始することになった。 GPSに絡む2000年問題に配慮した結果だ。 
  パリダカに参加する競技車・オートバイには通常、市販のカーナビと同じ
  衛星を使ったGPS装置が配布され、サハラ砂漠などを横断する参加者は
 自分の位置やゴール地点を確認する。 
  11日についてはGPS衛星に問題はないとされているが、
  受信システムなどが2000年問題で誤作動する可能性がある。 
  特に砂漠で自分の位置が確認できなくなると生命の危険につながるだけに、
 「危険な選択はできない」(ユベール・オリオール運営委員長)
  という結論に至った。

とさ、やっぱり年末年始はじっとしていることです。(無牙)

PS.
 新しいGPS、魚群探知機能付のヤツ買って貰えない誤航様は複雑な心境。 
 しかし、今年も電線切ったりして物いりなので修理して使いましょうネ

08/22/1999


 Nomi Gazette へ戻る

 ノミガゼット へ戻る

 Yachting へ戻る

 ちゅーやんのページ へ戻る