メモリカセットとの照合
ポート 1 、 2 のパルス出力状態の読み出し
ポート1、2のパルス出力状態(通常のパルス出力と、可変デューティ比パルス出 力の両方とも)の読み出しには、次の2つの方法があります。
CQM1の関連するエリアを読み出す方法 PRV命令を使用する方法
[CQM1の関連するエリアを読み出す方法]
ポート1、2からのパルス出力に関連するCQM1のエリアは次のようになっていま す。このエリアを読み出すことで、パルス出力の状態を知ることができます。
236、237CH:ポート1パルス出力量現在値(BCD8桁、237CHが上位4桁)
238、239CH:ポート2パルス出力量現在値(BCD8桁、239CHが上位4桁)
AR0408〜0415:動作状態
00 :正常
01、02 :ハードウェア異常 03 :PCシステム設定異常 04 :パルス出力中に運転が停止
ポート1 ポート2 機能 意味
AR0512 AR0612 減速指定 0:指定なし 1:指定あり
AR0513 AR0613 出力量設定 0:設定なし 1:設定あり
AR0514 AR0614 出力完了 0:未完了 1:完了
AR0515 AR0615 出力状態 0:停止中 1:出力中
[
PRV
命令を使用する方法]PRV命令を次のように使用することで、パルス出力状態を読み出すことができます。
P(BCD3桁) 001=ポート1 002=ポート2
Dには、出力状態を格納するチャネル番号を指定します。
Dチャネルに格納されるパルス出力状態は、ビットによって次のようになっていま す。
ビット 機能 意味
4 減速指定 0:指定なし 1:指定あり
5 出力量設定 0:設定なし 1:設定あり
6 出力完了 0:未完了 1:完了
7 出力状態 0:停止中 1:出力中
ビット0〜3、8〜15は、0になります。
参 考
PRV命令を使用すると、CQM1のサイクルタイムに関係
なく、最新の状態を読み出すことができます。
(@)PRV(62) P 001 D
パルス出力機能使用時の留意点
形CQM1-CPU43-V1のパルス出力は、500kHzのソースクロックを整数値の分周比で 分周して出力パルス周波数を作り出しています。そのため、設定周波数と実周波 数に差が生じることがあります。
実周波数の算出については以下の計算式を参考としてください。
[パルス出力のしくみ]
設定周波数 :ユーザが命令にセットする出力周波数
分周比 : 設定周波数の出力パルスを発生させるために、分周回路にセット する整数値
実周波数 :分周回路から作り出される実際の出力パルスの周波数
計算式:実周波数(kHz)=500(kHz)/INT(500(kHz)/設定周波数(kHz))
INT :整数値を得る関数
INT(500/設定周波数) :分周比 設定周波数と実周波数との差は高周波数になるほど大きくなります。
例)
パルス発生用 クロック
500kHz
分周回路
出力パルス(実周波数)
ユーザの設定周波数により 分周比(整数)をセット
設定周波数(kHz) 実周波数(kHz)
45.46〜50.00 50.00
41.67〜45.45 45.45
38.47〜41.66 41.67
: :
31.26〜33.33 33.33
29.42〜31.25 31.25
27.78〜29.41 29.41
: :
20.01〜20.83 20.83
19.24〜20.00 20.00
18.52〜19.23 19.23
: :
10.01〜10.20 10.20
9.81〜10.00 10.00
9.62〜9.80 9.80
: :
5.01〜5.05 5.05
4.96〜5.00 5.00
4.90〜4.95 4.95
: :
3.02〜3.03 3.03
3.00〜3.01 3.01
2 章
P C シ ス テ ム 設 定 と C Q M 1 の 機 能
CQM1
の割り込み機能についての設定と、割り込み機能の使用方法について説明します。
割り込みの種類
CQM1には、次の割り込み処理方法があります。
入力割り込み(P.2-27)
CPUユニットに内蔵の接点(0〜3)への入力がONになったとき割り込み処 理を行います。
インターバルタイマ割り込み(P.2-34)
0.1msの精度を持つインターバルタイマで割り込み処理を行います。
高速カウンタ割り込み
高速カウンタの現在値に応じて割り込み処理を行います。高速カウンタに は、次の3種類があります。
・ 高速カウンタ0(P.2-38)
CPUユニットに内蔵の接点(4〜6)へのパルス入力をカウントします。
2相で2.5kHzまでのパルスをカウントできます。
・ 高速カウンタ1、2(形CQM1−CPU43(−V1)のみ)(P.2-45)
CPUユニットに内蔵の専用ポート1、2へのパルス入力をカウントしま す。2相で25kHzまでのパルスをカウントできます。
・ アブソリュート形高速カウンタ1、2(形CQM1−CPU44(−V1)のみ)(P.2-53)
CPUユニットに内蔵の専用ポート1、2へのアブソリュート形ロータリエ ンコーダのコードをカウントします。
割り込みが発生すると、指定された割り込み処理ルーチンを実行します。
割り込みの優先順位は、次のようになっています。
割り込み処理中に優先順位の高い割り込みが発生したときは、処理中のルーチン を中断して新たな割り込み処理に移り、そのルーチン終了後に以前の処理ルーチ ンに戻ります。
割り込み処理中に優先順位が同じか低い割り込みが発生したときは、処理中の ルーチンを最後まで実行してから新たな割り込み処理を実行します。
同じ優先順位の割り込みが同時に発生したときは、次の順に処理されます。
・ 入力割り込み0→入力割り込み1→入力割り込み2→入力割り込み3→高速カウン タ1割り込み→高速カウンタ2割り込み
・ インターバルタイマ0→インターバルタイマ1→インターバルタイマ2(高速カ ウンタ0割り込み)
入力割 = 高速カウンタ1、2割 > インターバル = 高速カウンタ0割り り込み り込み(ポート入力) タイマ割り込み 込み(接点入力)
2 章
P C シ ス テ ム 設 定 と C Q M 1 の 機 能
形CQM1−CPU43−V1/44−V1では、通常のプログラム領域でパルス入出力や高 速カウンタの制御を行う命令を実行中に割り込みがかかったときは、割り込みプ ログラム内の以下の命令が実行されません(25503がONになります)。
INI、PRV、CTBL、SPED、PULS、PWM、PLS2、ACC
次のような処理を行うと、このような事態を回避することができます。
[回避方法1]
通常プログラム領域で、全割り込みの 禁止をして命令を実行する
I N T ( 8 9 ) 1 0 0 0 0 0 0 0 0 P S L 2 0 0 1 0 0 0 D M 0 0 1 0 I N T ( 8 9 ) 2 0 0 0 0 0 0 0 0
[回避方法2]
通常プログラム領域で、実行できな かった命令を再実行する
(通常プログラム領域)
P R V ( 6 2 ) 0 0 1 0 0 2 D M 0 0 0 0 C T B L ( 6 3 ) 0 0 1 0 0 0 D M 0 0 0 0 RSET LR0000 LR0000
SBN(92) 0 0 0 C T B L ( 6 3 )
0 0 1 0 0 0 D M 0 0 0 0 25313
25313
LR0000
( 割 り 込 み プ ロ グ ラ ム 領 域 )
・割り込み処理ルーチンは、通常のサブルーチンと同様 に、メインプログラムの後ろで
SBN
(92
)命令とRET
(93)命令で定義します。
・割り込み処理ルーチン実行時に、指定範囲の入力リレー をリフレッシュ(最新の状態に更新)することができま す。
・割り込み処理ルーチンを定義しているときは、プログラ ムチェック時に「
SBS
なしエラー」になりますが、正常 に実行されます。参 考
2 章
P C シ ス テ ム 設 定 と C Q M 1 の 機 能
入力割り込み
CPUユニットに内蔵の入力接点(00000〜00003)を、外部からの入力による割り 込みに使用できます。入力割り込み0〜3が、それぞれ00000〜00003に対応しま す。
入力割り込みでは割り込みルーチンの番号が決まっていて、入力割り込み0〜3 が、それぞれサブルーチン番号000〜003を呼び出します。
●処理の概要
入力割り込みには、次の2つのモードがあります。
入力割り込みモード : 外部入力によって割り込みがかかります。
カウンタモード : 外部からの信号を高速でカウントし、一定回数ごと に割り込みがかかります。
入力割り込みを使用していないときは、サブルーチン番 号
000
〜003
は通常のサブルーチンとして使用できます。・入力割り込みモードでは、信号の長さが100μs以上の信 号を検知できます。
・カウンタモードでは、1kHzまでの信号をカウントできま す。
参 考
参 考
2 章
P C シ ス テ ム 設 定 と C Q M 1 の 機 能
●使用前の準備(PCシステム設定)
プログラムを実行する前に、プログラムモードで次のように設定しておきます。
割り込み入力の設定(
DM6628
)ビット
入力割り込み3の設定 入力割り込み2の設定 入力割り込み1の設定 入力割り込み0の設定
0:通常入力 1:割り込み入力
(初期状態:「0000」すべて通常入力)
0 15
DM6628
割り込み入力の設定を行っておかないと、入力割り込み機能は使用できません。
入力リフレッシュチャネルの設定(DM6630〜6633)
ビット
入力割り込み0:DM6630 入力割り込み1:DM6631 入力割り込み2:DM6632 入力割り込み3:DM6633
チャネル数(BCD2桁) 00〜16 開始チャネル(BCD2桁) 00〜15
(初期状態:「0000」すべて入力リフレッシュなし)
0 15
DM6630〜6633
入力リフレッシュが必要なときに、設定してください。
例:DM6630=0100→入力割り込み0実行時に000チャネルをリフレッシュする
入力割り込みの要因となる接点でも、割り込み時に入力リフ レッシュしないと、割り込み処理ルーチン内で
ON
になりま せん(例:入力割り込み0の割り込み処理ルーチン内の接点00000
)。このような回路が必要なときは、入力リフレッシュを行う か、
25313
(常時ON
接点)で代用してください。参 考
2 章
P C シ ス テ ム 設 定 と C Q M 1 の 機 能
●使用手順
プログラム内で、次の手順で使用します。
[入力割り込みモードの場合]
<入力割り込みモードで割り込みをマスク解除・マスク設定するとき>
INT命令で、入力割り込みマスクを解除・設定します。
(@)INT(89) 000 000 C2
<マスク中に入力された割り込みをクリアするとき>
マスク中でも、入力割り込みに対応する入力接点が立ち上がると、入力割り込み が記憶され、マスクを解除するとすぐに入力割り込みがかかります。マスクを解 除したときに、マスク中に入った入力割り込みが実行されないようにするには、
割り込みの記憶をクリア(消去)します。
INT命令で、入力割り込みの記憶をクリアします。
(@)INT(89) 001 000 C2
<マスクの状態を読み出すとき>
マスクの設定状態を読み出します。
INT命令で、入力割り込みマスクの状態を読み出します。
(@)INT(89) 002 000 C2
入力割り込み0〜3に対応する、C2のビット0〜3に、1を設定する と、入力割り込みの記憶をクリアします。
0:入力割り込み記憶保持 1:入力割り込み記憶クリア
記憶されるのは、1回分の割り込みだけです。
入力割り込み0〜3に対応する、C2のビット0〜3で設定します。
0:マスク解除(入力割り込み許可)
1:マスク設定(入力割り込み禁止)
運転開始時には、すべての入力割り込みにマスクがかかっ ています。入力割り込みモード使用時は、INT命令でマスク を解除してください。
C2チャネルに格納されたデータの最下位桁(ビット0〜3)の 状 態が、マスクの設定状態を表します。
0:マスク解除中(入力割り込み許可中)
1:マスク中(入力割り込み禁止中)
参 考
参 考