4 章
命 令 語
4 章
命 令 語
ワードシフト(WSFT) (@) FUN . 16
複数チャネルデータをチャネル単位でシフトします。
フラグの動き
D1:開始チャネル番号 D2:終了チャネル番号
入力がONのとき、チャネルデータが1チャネル 単位でシフトします。シフトすると、終了CH番 号にあるデータは消滅します。開始チャネル番 号には#0000が取り込まれます。
動作説明
データ内容
使用例
入力00000がONのとき、DM0000に#0000が取り込 まれ、DM0000のデータがDM0001に、DM0001の データがDM0002に移動します。DM0002のデータ は消滅します。@WSFT(16) DM0000 DM0002
0 0 0 0 0
C 2 0 F
DM0002
5 2 4 3
DM0001
2 9 0 1
DM0000
5 2 4 3
DM0002
2 9 0 1
DM0001
0 0 0 0
DM0000 消滅
#0000
(@)WSFT(16) D1
D2
エリア D1/D2
入出力、内部補助、特殊補助リレー 000〜252 保持リレー HR00〜99 補助記憶リレー AR00〜27
リンクリレー LR00〜63
データメモリ DM0000〜6143
間接指定 *DM0000〜6655
25503 ・D1、D2チャネルが同じデータエリアでない場合、
・*DM内容がBCDデータでない場合またはDMエリアを超える 場合、ON。
・上記以外の場合、OFF。
(注)25503がONのとき、命令は実行されません。
ON。
4 章
命 令 語
比較(CMP) FUN . 20
チャネルデータや定数を16進4桁で比較します。
動作説明
S1:比較データ1 S2:比較データ2
指定された2つのチャネルのデータや定数を、16進 4桁で比較します。比較結果は、特殊補助リレー 25505〜25507に出力されます(「付−5 特殊補 助リレーと命令語」参照)。
CMP(20) S1
S2
データ内容
エリア S1/S2入出力、内部補助、特殊補助リレー 000〜255 保持リレー HR00〜99 補助記憶リレー AR00〜27 リンクリレー LR00〜63 タイマ/カウンタ TIM/CNT000〜511 データメモリ DM0000〜6655 間接指定 *DM0000〜6655 定数(16進数) #0000〜FFFF
010チャネルの内容とHR19チャネルの内容を比較 します。
この例では、010チャネルの内容<HR19チャネル の内容、になるので25507がONします。
25507がONすると、出力10202がONします。
使用例
2 5 8 4
010CH
×103 ×102 ×101 ×100
4 3 1 6
HR19CH
×103 ×102×101 ×100 25505
25506
25507 C M P (20) 0 1 0 H R 1 9 00000
10200
10201
10202
フラグの動き
25503(ER) ・*DMの内容がBCDデータでない場合やDMエリアを超える場合、ON。
・上記以外の場合、OFF。
(注)25503がONのとき、命令は実行されません。
S1>S2 S1=S2 S1<S2
25505(>) 1 0 0
25506(=) 0 1 0
25507(<) 0 0 1
4 章
命 令 語
転送(MOV) (@) FUN . 21
転送先チャネルへ16ビット単位で出力します。
否定転送(MVN) (@) FUN . 22
データの内容を反転して転送先チャネルへ16ビット単位で出力します。
動作説明
●転送(MOV)S:転送データ D:転送先チャネル番号
MOV命令は、転送データを指定された転送先チャ ネル番号へ転送します。
(@)MOV(21) S D
●否定転送(MVN)
S:転送データ D:転送先チャネル番号
(@)MVN(22) S D
MVN命令は、転送データを反転(1→0/0→1)し て、指定された転送先チャネル番号へ転送しま す。
参 考 転送先チャネルにタイマ/カウンタを指定することはで きません。タイマカウンタの現在値をプログラム上で変 更する場合、
BSET
(71
)命令を使うと簡単にプログラ ムが作成できます。25503(ER) ・*DMの内容がBCDデータでない場合やDMエリアを超える場 合、ON。
・上記以外の場合、OFF。
(注)25503がONになったとき、命令は実行されません。
25506(=) ・Sデータが0000の場合、ON。
・上記以外の場合、OFF。
データ内容
エリア S D入出力、内部補助、特殊補助リレー 000〜255 000〜252
保持リレー HR00〜99
補助記憶リレー AR00〜27
リンクリレー LR00〜63
タイマ/カウンタ TIM/CNT 000〜511 ― データメモリ DM0000〜6655 DM0000〜6143
間接指定 *DM0000〜6655
定数(16進数) #0000〜FFFF ―
フラグの動き
4 章
命 令 語
使用例
①入力00000がONすると、001チャネルのデータをHR05チャネルに出力します。
②入力00001がONすると、定数F8C5を反転して DM0010チャネルに出力します。
@MVN(22)
#F8C5 DM0010 00001
@MOV(21) 001 HR05 00000
00100 00101 00102 00103 00104 00105 00106 00107 00108 00109 00110 00111 00112 00113 00114 00115
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
HR 0500 HR 0501 HR 0502 HR 0503 HR 0504 HR 0505 HR 0506 HR 0507 HR 0508 HR 0509 HR 0510 HR 0511 HR 0512 HR 0513 HR 0514 HR 0515
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 001 CHの内容 HR 05 CHの内容
00000 00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 00013 00014 00015
1 0 1 0 0 0 1 1 0 0 0 1 1 1 1 1
DM 001000 DM 001001 DM 001002 DM 001003 DM 001004 DM 001005 DM 001006 DM 001007 DM 001008 DM 001009 DM 001010 DM 001011 DM 001012 DM 001013 DM 001014 DM 001015
0 1 0 1 1 1 0 0 1 1 1 0 0 0 0 0 定数F8C5 DM 0010 CHの内容
4 章
命 令 語
S:変換データチャネル番号 D:変換結果出力チャネル番号
25503(ER) ・Sチャネルの内容がBCDデータでない場合、ON。
・*DMの内容がBCDデータでない場合やDMエリアを超える場 合、ON。
・上記以外の場合、OFF。
(注)25503がONになったとき、命令は実行されません。
25506(=) ・変換結果Dチャネルの内容が0000の場合、ON。
・上記以外の場合、OFF。
BCD→BIN変換(BIN) (@) FUN . 23
BCD4桁のチャネルデータをBIN16ビットに変換します。
動作説明
変換データチャネルの内容をBIN(2進化16進4桁)16ビットデータに変換して、変換結果出力チャネ ルへ出力します。
(@)BIN(23) S D
データ内容
エリア S D入出力、内部補助、特殊補助リレー 000〜255 000〜252
保持リレー HR00〜99
補助記憶リレー AR00〜27
リンクリレー LR00〜63
タイマ/カウンタ TIM/CNT 000〜511 ― データメモリ DM0000〜6655 DM0000〜6143
間接指定 *DM0000〜6655
フラグの動き
使用例
入力00000がONすると、LR11チャネルのBCDデータをBINデータに変換して、DM0012へ出力しま す。
@ B I N ( 2 3 ) L R 1 1 D M 0 0 1 2 00000
3 4 5 2
LR 11CH 103 102 101 100
0 0 1 1 0 1 0 0
103 102 101 100
3452 = 0×163+13×162+7×161+12×160
→ 0D7C
23 22 21 20 23 22 21 20
0 1 0 1 0 0 1 0
23 22 21 20 23 22 21 20
LR11CHの内容
0 0 0 0 1 1 0 1
163 162 161 160
23 22 21 20 23 22 21 20
0 1 1 1 1 1 0 0
23 22 21 20 23 22 21 20
DM0012CHの内容
4 章
命 令 語
BIN→BCD変換(BCD) (@) FUN . 24
BIN1チャネル(16ビット)のデータをBCDに変換します。
動作説明
S:変換データチャネル番号 D:変換結果出力チャネル番号
変換データチャネルの内容をBCD(2進化10進)4 桁データに変換して、変換結果出力チャネルへ出 力します。
(@)BCD(24) S D
0 0 0 1 0 0 0 0
163 162 161 160
10EC = 1×163+0×162+14×161+12×160
→ 4332
23 22 21 20 23 22 21 20
1 1 1 0 1 1 0 0
23 22 21 20 23 22 21 20
010CHの内容
0 1 0 0 0 0 1 1
103 102 101 100
23 22 21 20 23 22 21 20
0 0 1 1 0 0 1 0
23 22 21 20 23 22 21 20
LR20CHの内容
データ内容
エリア S D入出力、内部補助、特殊補助リレー 000〜255 000〜252
保持リレー HR00〜99
補助記憶リレー AR00〜27
リンクリレー LR00〜63
データメモリ DM0000〜6655 DM0000〜6143
間接指定 *DM0000〜6655
25503(ER) ・*DMの内容がBCDデータでない場合やDMエリアを超える場 合、ON。
・上記以外の場合、OFF。
(注)25503がONになったとき、命令は実行されません。
25506(=) ・Dチャネルの内容が0000の場合、ON。
・上記以外の場合、OFF。
フラグの動き
入力00000がONすると、010チャネルのBIN16桁 データをBCD4桁データに変換して、LR20チャネ ルへ出力します。
@BCD(24) 010 LR20
1 0 E C
010CH 00000
使用例
変換データが270Fを超える場合、出力チャネルは9999を超 え、この命令は実行されません。
参 考
4 章
命 令 語
1ビット左シフト(ASL) (@) FUN . 25
指定チャネルデータを左に1ビットずつシフトします。
1ビット右シフト(ASR) (@) FUN . 26
指定チャネルデータを右に1ビットずつシフトします。
動作説明
●左シフト(ASL
)D:データチャネル番号
●右シフト(ASR)
D:データチャネル番号
指定チャネル(16ビット)のデータを1ビットずつ 左(上位ビット側)へシフトします。
指定チャネル(16ビット)のデータを1ビットずつ 右(下位ビット側)へシフトします。
データ内容
エリア D入出力、内部補助、特殊補助リレー 000〜252
保持リレー HR00〜99
補助記憶リレー AR00〜27
リンクリレー LR00〜63
データメモリ DM0000〜6143 間接指定 *DM0000〜6655
フラグの動き
25503(ER) ・*DMの内容がBCDデータでない場合やDMエリアを超える場 合、ON。・上記以外の場合、OFF。
(注)25503がONになったとき、命令は実行されません。
25504(CY) ・キャリーに1がシフトされた場合、ON。
・キャリーに0がシフトされた場合、OFF。
25506(=) ・Dチャネルの内容が0000の場合、ON。
・上記以外の場合、OFF。 (@)ASR(26)
D (@)ASL(25)
D
CY
MSB LSB
00ビットのデータは CY(25504)へシフト されます。
0
15ビットへは0が シフトされます。
・・・・ ・・・・
CY MSB LSB
15ビットのデータは CY(25504)へシフト されます。
0
00ビットへは0が シフトされます。
・・・・ ・・・・
ASL
/ASR
命令を毎スキャン型で使用すると、入力条件がON
の間は毎スキャンごとに実行されます。1回だけシフトさせた いときは、入力微分型で使用するか、入力回路を微分命令で構 成してください。参 考
4 章
命 令 語 00000がONすると、DM0010の16ビットを1ビッ
トずつ左(上位ビット側)へ移動します。
00001がONすると、DM0010の16ビットを1ビッ トずつ右(下位ビット側)へ移動します。
使用例
・DM0010の内容
@ASR(26) DM0010 00001
@ASL(25) DM0010 00000
MSB
1 LSB CY 0 1 0 0 1 1 1 0 0 0 1 0 1 0 0 1
MSB 1
LSB CY
0 0 1 1 1 0 0 0 1 0 1 0 0 1 1 0
MSB LSB
1 0 0 1 1 1 0 0 0 1 0 1 0 0 1 1
4 章
命 令 語
1ビット左回転(ROL) (@) FUN . 27
指定チャネルデータにキャリーを含めた17ビットを左回転シフトします。
1ビット右回転(ROR) (@) FUN . 28
指定チャネルデータにキャリーを含めた17ビットを右回転シフトします。
動作説明
●左回転(ROL
)D:データチャネル番号
●右回転(
ROR
)D:データチャネル番号
指定チャネル(16ビット)にキャリーを含めた17 ビットのデータを1ビットずつ左(上位ビット側)
へ回転シフトします。
指定チャネル(16ビット)にキャリーを含めた17 ビットのデータを1ビットずつ右(下位ビット側)
へ回転シフトします。
(@)ROL(27) D
CY MSB
15 LSB
00
00ビットへシフトされます。
・・・・
・・・・
(@)ROR(28) D
CY MSB
15 LSB
00
CYへシフトされます。
・・・・ ・・・・
・
ROL
/ROR
命令を毎スキャン型で使用すると、入力 条件がONの間は毎スキャンごとに実行されます。1回 だけシフトさせたいときは、入力微分型で使用する か、入力回路を微分命令で構成してください。・
STC
(40
)/CLC
(41
)命令をROL
/ROR
命令の直 前に使用すると、キャリーの内容を強制的に1、0に変 更することができます。参 考
4 章
命 令 語
データ内容
エリア D入出力、内部補助、特殊補助リレー 000〜252 保持リレー HR00〜99 補助記憶リレー AR00〜27 リンクリレー LR00〜63 データメモリ DM0000〜6143 間接指定 *DM0000〜6655
フラグの動き
使用例
25503(ER) ・*DMの内容がBCDデータでない場合やDMエリアを超え る場合、ON。
・上記以外の場合、OFF。
(注)25503がONになったとき、命令は実行されません。
25504(CY) ・キャリーに1がシフトされた場合、ON。
・キャリーに0がシフトされた場合、OFF。
25506(=) ・Dチャネルの内容が0000の場合、ON。
・上記以外の場合、OFF。
00000がONすると、DM0010の内容を1ビットずつ左
(上位ビット側)へ移動します。LSBにはCYの内容 が移動し、MSBの内容はCYへ移動します。
@ R O L ( 2 7 ) D M 0 0 1 0 00000
CY MSB LSB
1 0 1 1 0 0 1 1 1 0 0 0 1 1 0 1 0
CY MSB LSB
1 0 1 1 0 0 1 1 1 0 0 0 1 1 0 1 0 DM0010の内容
00001がONすると、DM0011の内容を1ビットずつ 右(下位ビット側)へ移動します。
MSBにはCYの内容が移動し、LSBの内容はCYへ 移動します。
@ R O R ( 2 8 ) D M 0 0 1 1 00001
CY MSB LSB
1 0 1 0 1 1 0 0 1 1 1 0 0 0 1 1 0
CY MSB LSB
1 0 1 0 1 1 0 0 1 1 1 0 0 0 1
1 0
DM0011の内容
4 章
命 令 語
ビット反転(COM) (@) FUN . 29
指定チャネルのビット内容を反転します(1→0/0→1)。
動作説明
D:反転指定チャネル番号
指定されたチャネルのデータ(16ビット)の1/0を 反転します。
(@)COM(29) D
フラグの動き
25503(ER) ・*DMの内容がBCDデータでない場合やDMエリアを超える場 合、ON。・上記以外の場合、OFF。
(注)25503がONになったとき、命令は実行されません。
25506(=) ・反転結果が0000の場合、ON。
・上記以外の場合、OFF。
データ内容
エリア D入出力、内部補助、特殊補助リレー 000〜252 保持リレー HR00〜99 補助記憶リレー AR00〜27 リンクリレー LR00〜63 データメモリ DM0000〜6143
間接指定 *DM0000〜6655
使用例
00000がONすると、HR00チャネルのデータを16ビット単位で反転します。
@ C O M ( 2 9 ) H R 0 0 0 0 0 0 0
HR 0000 HR 0001 HR 0002 HR 0003 HR 0004 HR 0005 HR 0006 HR 0007 HR 0008 HR 0009 HR 0010 HR 0011 HR 0012 HR 0013
1 0 0 1 1 0 0 1 1 0 0 1 1 0
HR 0000 HR 0001 HR 0002 HR 0003 HR 0004 HR 0005 HR 0006 HR 0007 HR 0008 HR 0009 HR 0010 HR 0011 HR 0012 HR 0013
0 1 1 0 0 1 1 0 0 1 1 0 0 1
COM命令を毎スキャン型で使用すると、入力条件が
ONの間は毎スキャンごとに実行されます。1回だけ反
転させたいときは、入力微分型で使用するか、入力回 路を微分命令で構成してください。参 考