シーケンサー(PLC)とタッチパネルとの信号取り合いで
制御プログラムが大きくなるとタッチパネルとの通信が遅くなったー
そんな時に、リフレッシュ命令(COM)を利用すると解決できるかも
ども、きしゃネコです
もくじ
リフレッシュ命令(COM)とは
プラグラムの処理を一時中断してEND処理時の一般データ処理および
インテリジェント機能ユニットの自動リフレッシュ(リンクリフレッシュ含む)と
同様の処理を行います。
- SM775がOFFの時
自動リフレッシュと外部機器との交信を行う - SM775がONの時
外部機器との交信を行う
処理の内容はSD778のビット状態により選択が可能です。
(ONで有効、OFFで無効)
ビット | 処理内容 |
---|---|
b0 | IOリフレッシュ |
b1 | CC-Linkのリフレッシュ |
b2 | CC-Link IEコントローラーネットワーク MELSECNET/Hリフレッシュ |
b3 | インテリジェント機能ユニットの自動リフレッシュ |
b4 | マルチCPUシステムのQCPU標準エリアを 使用した自動リフレッシュ マルチCPUシステムのグループ外の 入力/出力の取込み |
b5 | マルチCPUシステムのマルチCPU間高速通信エリアを 使用した自動リフレッシュ |
b6 | CC-Link IEフィールドネットワークのリフレッシュ |
b7~14 | 常に0 |
b15 | サービス処理 (プログラミングツール、GOT、またはその他外部機器との交信) |
ざっくりしたイメージは、
通常ではプログラムの最後で、変化した信号が更新されます。
リフレッシュ命令(COM)を使用すると、プログラムの途中で更新されます。
どんな時に使う
まずは、プラグラムのステップ数が大きくなって、スキャンタイムが大きく
タッチパネルなどと通信している場合に、表示操作レスポンスの改善に使用します。
特に、タッチパネルなどでEthernet接続の場合は、通信がサイクリック通信でないため
PLCと1:1であれば問題なくても、1:nなど複数との通信となった場合に
通信の偏りなどで、レスポンスが落ちる場合があります。
そんな時に、リフレッシュ命令(COM)を利用すると改善されることが期待できます。
他には、スキャン時間よりも高速でデータが変化する外部機器の精度を上げる
場合などにも使用します。
リフレッシュ命令(COM)の使い方
使い方は特に条件もないので、プログラム途中で交信したい箇所に
リフレッシュ(COM)を記入するだけです。
|-----------------[ COM ]-|
リフレッシュ命令(COM)はプログラム中での使用回数の制限もないので
プログラム中に複数実行することが可能です。
デメリット
リフレッシュ命令(COM)を使用することのデメリットは
スキャンタイムが延びてしまう事です。
プログラムを一時中断して交信するので、当然といえば当然なのですが注意が必要です。
特に、スキャンタイムが大きくなるほどのプログラムの場合
複数個所にリフレッシュ命令(COM)を使用してスキャンタイムが延びたことで
ウォッチドックタイマー時間をオーバーしエラーとなってしまう事もありえます。
まとめ
リフレッシュ命令(COM)について解説しました。
外部機器や通信の遅れで問題がある場合などで上手く使えば
期待以上に効果があるかもしれないので試す価値はあるかと思います。
命令の追加もそんなに手間がかからないので
試しやすいと思います。