«前の日(12-25) 最新 次の日(12-27)» 追記

一往確認日記


2016年12月26日

_ Escalator - 命令のデコード(2)

Escalatorというのは、各種PLCがメーカーや機種毎にプロジェクトデータが異なるため互換性がなく、移植するのが大変なのを解決しようとするものです。

ここのescalatorのカテゴリーを見てもらえると今までの経緯を見てもらうことができます。

プログラムデータから1byte読み込む部分です。 ここはサブルーチンとして実装しています。

program_counterが現在読み込もうとしている位置になります。 PLCはワード単位で格納しているので、バイト位置を出すために2で割ってprog_index[0]に入れています。 prog_index[1]には偶数か奇数かを入れていて、偶数なら上位バイトを取り、奇数なら下位バイトを取りFD0に入れています。

program_counterを1進めます。

https://gyazo.com/622550d64e194dc73878ee9c3295a96b