システムカウンタファンクションブロック

Control FPWIN Proでは、旧バージョンのプロジェクトをコンパイルすると、次のエラーメッセージが表示されます。

「エラー:コンパイラが使用する保持型カウンタが足りません。システムレジスタNo.5、No.6を変更してください。」「エラー:アドレス計算中のエラーです。詳細はメッセージを参照してください。システムレジスタNo.5、No.6を変更してください。」

この原因は以下のとおりです。V2.3.56以降では、ファンクションブロックインスタンスを保持型または非保持型のメモリに割り付けられるようになりました。コンパイラは、ファンクションブロック"CT_FB"のVAR_RETAINインスタンスに対して、FPシリーズPLCのカウンタを、「タイマ/カウンタ保持型メモリエリア」の範囲で、「保持型メモリエリアの最終アドレス-1」から先頭アドレス(システムレジスタNo.6で設定)に向かって、順に割り付けていきます。VARインスタンスに対しては、「タイマ/カウンタ非保持型メモリエリア」の範囲で、非保持メモリエリアの最終アドレス(システムレジスタNo.6の値-1)からカウンタの先頭アドレス(システムレジスタNo.5で設定)に向かって順に割り付けていきます。システムレジスタNo.5またはNo.6が割り付け不可能な場所にある場合、上記のエラーメッセージのいずれかが表示されます。したがって、システムレジスタNo.5またはNo.6の割り付けを変更するか、ファンクションブロックインスタンスのクラスを変更する必要があります。

V2.3.56より前のバージョンでは、保持型メモリに置かれたカウンタの番号が3071に割り付けられていました。V2.3.56以降は、コンパイラがカウンタを非保持型メモリに割り付けようとしますが、システムレジスタNo.5、No.6により制限されます。

対策: システムレジスタ5および6を変更し、非保持エリアを広げる。

または

プログラムヘッダのクラスを変更し、インスタンスを保持エリアに割り付ける。

最終修正日: 2020-09-23このページに関するフィードバックお問い合わせ窓口