無題 - メロンカー
2017/09/14 (Thu) 17:23:25
当方、PLC初心者のメロンカーと申します。
現在、Keyence製KV-7500を用いた新規のシステム開発を検討しているのですが、拡張データメモリ(EM)を使用すべきか否かの判断で迷っています。
今回の案件自体は用意されているデータメモリ(DM)の容量で十分です。
また、当該CPUユニットのユーザマニュアルを確認する限り、これらのメモリ間で仕様差異が見受けられませんでした。
その為、拡張データメモリ(EM)は使用しない方向で開発を進め様と考えているのですが『こんな使い方をすると可読性・保守性・拡張性が向上するよ』・・・といったTipsがありましたら是非ご教授頂けますでしょうか?
宜しくお願いします。
ちなみにメーカに問合せたのですが残念ながらTipsは得られませんでした。
Re: 無題 - 圓空 URL
2017/09/14 (Thu) 19:14:37
メロンカー様
アクセスありがとう御座います。
DMやEMメモリの使い方は自由なので、自分なりの決まりを作っておけば良いと思います。
しかし、特殊ユニット等に割り当てるのはDMでないと不可の様です。
なので、私はユニットとのI/FにDMを、内部のメモリやタッチパネルとのI/FにEMを使う事が多いですね。
また、定数的な使い方(初期化時に定数を代入)をDM。実行中に値が変化するデバイスをEMに割り当てたりします。
(気分で逆もあり)
レシピデータや演算係数なんかはFMに置いています。
「応用編 デジタルフィルタ」にあるフィルタの係数なんかも
本来FMから呼出してTMに代入しています。
それと、通常、ローカル変数(ローカルデバイス)を多用しています。
各モジュールとのI/Fとタッチパネルやリアルタイムチャートモニタ用の変数はグローバルです。
ローカル変数は、上手く初めに変数宣言しておかないとRUN中書込みできませんが・・・
FMのローカル変数とローカルラベルは、ローカルワーク領域を使うので、FMの領域を食われる事はありません。
以上。くだらん知恵ですが、お役にたてれば。
Re: 無題 - メロンカー
2017/09/15 (Fri) 09:21:32
圓空様
早速のご回答、誠にありがとう御座います。
アドバイスを受け、システム開発後に特殊ユニット等を追加する事を考慮しEMを積極的に活用する事にしました。
また、「応用編 デジタルフィルタ」のラダー図を拝見させて頂きEM・FM・TM等の使い方を勉強したいと考えます。
<追記>
経験を踏まえた『できる男』の貴重なアドバイス、大変勉強になります。
今後も質問させて頂きたいと考えますので、その際は宜しくお願い致します。
Re: 無題 - 圓空
2017/09/15 (Fri) 15:11:19
メロンカー様
こちらこそ宜しくお願いいたします。
書き忘れましたが、FMのローカル変数(@FM)やローカルレベルは揮発しますので
お忘れなく。(停電保持設定からも出来なかったはず・・・)
デバイス種によるアクセス速度の差も、機種によってある様です。
「KV に関する情報」の”KVシリーズで命令語のS(ソース)にDMを使用した場合と、VMを使用した場合の速度差は?”
を参照してください。
ワーク領域(VM)はFMのローカル変数(@FM)やローカルラベルで使用されます。
Re: 無題 - メロンカー
2017/09/19 (Tue) 17:16:33
圓空様
度々のアドバイス、誠にありがとう御座います。
重ねてお礼申し上げます。