· 

No.0664 デバイスメモリのトラブル事例

デバイスメモリのトラブルに遭遇!

共有します!

 

・デバイスメモリの中でも

ファイルレジスタ拡張設定です

 

問題に遭遇してから

原因追求に1日かかりました

 

原因はシミュレーションで使用する

ファイルレジスタのアドレス変更でした

 

変更前はR4000~R5999

変更後はR24000~R25999

 

GX-Worksのデバッグメニューで

シミュレーションテストではOK

 

ファイルレジスタの

使用設定範囲内でOKであったが

 

GOT表示が出来なくなった

 

現象は、GOTが表示しない

ファイルレジスタの内容が空白です

 

(1)なぜか?

 

1.デバイスNoが不正という

 

R4000~のデバイスへアクセスすると

「デバイスNo.不正」のエラーが発生

 

原因は不明

R24000~のアドレスはOKのはず

 

 

2.Rアドレスが大きくなると

メモリーへの読み出し書込みが

できなくなっていた

 

3.ファイルレジスタは

拡張設定で使いますが

 

従来からのアドレス範囲内で

使用している

 

 

(2)ポイントは何か?

 

1.ファイルレジスタは

R32767までを1つのブロック

 

それ以上は、切り替えて使うか

連番のデバイス名に変更が必要

 

 

2.連番のデバイス名とは

ZRになり、

ZR32767までは同じです

 

 

3.RレジスタはR32768以上を

使う場合は、

ブロック切替えして使う

 

切替は、

プログラムで行う必要がある

 

今回は、R24000からに

変更したので切替は不要のはず

 

 

(3)どうやるのか?

 

1.R32767以下でも

デバイスNoが不正になるので

エラーになる

RレジスタのNoを探索

 

2.R16384~がエラーになる

R32767の半分

R0~R16383まではOK

 

3.原因は不明です

GX-Worksデバッグによる

シミュレーション中のためか?

 

 

 

このような事例が

現場でも発生します

 

 

ハードウェアの要素も

加わるので常に先行で

調査&テストができると

いいですね

 

 

現場でハマる

トラブルは

時間との戦いです

 

応急処置が精一杯

 

真の原因を探索するには

時間を要します

 

 

現場に行く前に

小さいテストをする

 

このような事例ベースの

経験を蓄積することは、

 

大きな財産になるので

共有していきましょう