MELSEC-QのPCパラメータ デバイス設定 についての話です。
デバイス設定は活用していますか?人によってはラッチ設定以外触ったことがないというかもしれません。
使用できるデバイスの個数は可変なので使い方によって個数を増やしたり減らしたりすると便利ですという話。
全体の容量は決まっているが個々のデバイスの点数は変えれます。
そのため使わないデバイスがあるのであれば減らしてよく使うデバイスに点数を振ると便利です。
ホームセンターで売ってる仕切りの位置が変えれる小物ケースのイメージですね。
各デバイスの説明はここに書いています
MELSEC-Qのデバイス解説
デフォルト設定(Q06UDVCPUの場合)
下記はデフォルトの場合です。
例ではQ06UDVCPUを想定しています。ファイルレジスタは拡張SRAMカセットを使用せずに内蔵を全点(384K点)ZRに割り付けています
ケース1 増加:M,L 減少:F,V,S,T,SB,SW
M,Lを増やして私が思う使用頻度が少ないデバイスを減らしています。
Fは使うことが少ないです。
Vはループ内でパルス命令を処理する場合しか使わないので減らします。
SはSFC使わないので減らしています。(0点にすると警告がでてめんどくさいので最小設定です)
Tは1点につき1.125Word+2Bitを使用します。(T/C/STも同様)
そのためタイマ使用量を減らすと空きがたくさん増えます。
SB/SWは512点あればMELSECNET/H通信ユニット2枚分なので十分かと思います。
ケース2 増加:M,L,B,V,T,C,D,W 減少:F,S,SB,SW,ZR
もっと欲張りなケースです。
ビットデバイスとワードデバイス両方ともたくさん欲しいという場合ですね。
ポイントはデータレジスタ,リンクレジスタを0点にして他のデバイスに振って、
拡張データレジスタ,拡張リンクレジスタを使ってるところです。
拡張データレジスタ,拡張リンクレジスタとは
ZRが大量にあっても使わないけどD,Wがたくさんほしいということはあるかもしれません。
ファイルレジスタをD,Wとして使う機能がユニバーサルモデルから追加されています。
拡張データレジスタ,拡張リンクレジスタを使う場合はデータレジスタ,リンクレジスタは0点にした方が良いです。
マニュアルにも書いてありますが、内部デバイスと拡張デバイスの境界線をまたぐような処理をするとまずいからです。(境界をまたいでの指定はOPERATION ERROR(エラーコード: 4101)になります。)
[SH-080802 QnUCPUユーザーズマニュアル(機能解説・プログラム基礎編)/4.8 拡張データレジスタ(D),拡張リンクレジスタ(W)参照]
[SH-080804 MELSEC-Q/Lプログラミングマニュアル(共通命令編)/3.6 プログラミング時の注意事項]
残念なのは拡張データレジスタ,拡張リンクレジスタに自動割付デバイス設定はできません。そういう仕様だそうです。
ラッチ(1),ラッチ(2)
ラッチ(1)はラッチ操作でクリア可能なラッチ範囲
ラッチ(2)はラッチ操作でクリア不可能なラッチ範囲
ということでラッチクリア操作可能か否かで区分されるようです。
ラッチクリアは古いCPUであればCPUのユニット前面スイッチ(L.CLR)でクリアすることが出来ましたがユニバーサルモデルはリモート操作のみになりました。