メーカ別 応用命令語 比較一覧(三菱 iQ-R/KEYENCE KV/OMRON CS/CJ)
三菱電機 MELSEC iQ-R、キーエンス KVシリーズ、オムロン CS/CJシリーズの応用命令を機能別に並べた対応表です。機種移行や他社PLCのプログラムを読むときの参考にしてください。記号の意味はページ末尾の凡例を参照してください。
比較演算
| 機能 | 三菱 MELSEC iQ-R | KEYENCE KV | OMRON CS/CJ | 備考 |
|---|---|---|---|---|
| 比較接点(BIN 16/32ビット) | LD□(_U) AND□(_U) OR□(_U) LDD□(_U) ANDD□(_U) ORD□(_U) | LD□/AND□/OR□(.U/.S/.D/.L) | LD□/AND□/OR□ (S/L/SL) | □は =,<>,>,<=,<,>=。OMRONは無印が符号なし、S=符号付、L=倍長。三菱は無印が符号付、_U=符号なし |
| 比較接点(実数) | LDE□ ANDE□ ORE□ LDED□ ANDED□ ORED□ | LD□/AND□/OR□(.F/.DF) | LD□F/AND□F/OR□F LD□D/AND□D/OR□D | |
| 比較接点(文字列) | LD$□ AND$□ OR$□ | SCMP | LD□$/AND□$/OR□$ | KVのSCMPは接点型ではなく、比較結果を演算フラグ(CR2010等)に出力 |
| 比較接点(日付・時刻) | LDDT□ ANDDT□ ORDT□ LDTM□ ANDTM□ ORTM□ | — | LD□DT/AND□DT/OR□DT | |
| カレンダ・ウィークリ接点(期間指定) | — | LDCAL ANDCAL ORCAL LDCALB ANDCALB ORCALB LDWK ANDWK ORWK LDWKB ANDWKB ORWKB | — | 指定した年月日/曜日・時刻の範囲でON/OFFする接点 |
| データ比較(結果をビット出力) | CMP(P)(_U) DCMP(P)(_U) | CMP(.U/.S/.D/.L)R | CMP CMPL CPS CPSL | 出力先が異なる:三菱=指定ビット3点、KV=演算フラグ(CR)、OMRON=コンディションフラグ |
| 帯域(ゾーン)比較 | ZCP(P)(_U) DZCP(P)(_U) | ZCMP(.U/.S/.D/.L)R | ZCP ZCPL ZCPS ZCPSL | |
| ブロックデータ比較(2ブロック間) | BKCMP□(P)(_U) DBKCMP□(P)(_U) | BCMP(.S/.D/.L) | MCMP | OMRONのMCMPは16CH同士の一致比較のみ |
| 1データとブロックの一括比較 | BKCMP□(P)(_U) | BCMPI(.S/.D/.L) | TCMP | 三菱はBKCMPの(s1)に定数を指定して実現。OMRONのTCMPは16CHとの一致比較 |
| 上下限テーブルとの範囲比較 | — | — | BCMP BCMP2 | OMRONのBCMPは名称が同じでもKVのBCMPと機能が異なる |
| 連続ビットデータ比較 | — | BBCMP | — |
算術演算
| 機能 | 三菱 MELSEC iQ-R | KEYENCE KV | OMRON CS/CJ | 備考 |
|---|---|---|---|---|
| BIN加算 | +(P)(_U) D+(P)(_U) | ADD(.U/.S/.D/.L)R CAL+(.U/.S/.D/.L) | + +L | KVのADDは内部レジスタ方式、CAL+は3オペランド方式。三菱は2/3オペランド両対応 |
| BIN減算 | -(P)(_U) D-(P)(_U) | SUB(.U/.S/.D/.L)R CAL-(.U/.S/.D/.L) | - -L | |
| BIN乗算 | *(P)(_U) D*(P)(_U) | MUL(.U/.S/.D/.L)R CAL*(.U/.S/.D/.L) | * *L *U *UL | OMRON:無印=符号付、U=符号なし |
| BIN除算 | /(P)(_U) D/(P)(_U) | DIV(.U/.S/.D/.L)R CAL/(.U/.S/.D/.L) | / /L /U /UL | |
| キャリー付きBIN加減算 | — | — | +C +CL -C -CL | |
| インクリメント(+1) | INC(P)(_U) DINC(P)(_U) | INC(.U/.S/.D/.L) | ++ ++L | |
| デクリメント(-1) | DEC(P)(_U) DDEC(P)(_U) | DEC(.U/.S/.D/.L) | -- --L | |
| ブロックデータ加減算 | BK+(P)(_U) BK-(P)(_U) DBK+(P)(_U) DBK-(P)(_U) | — | — | |
| 符号反転(2の補数) | NEG(P) DNEG(P) | NEG(.U/.S/.D/.L)R | NEG NEGL | |
| 絶対値 | — | ABS(.L)R | — | 三菱は汎用FUN(ABS)で対応(本表対象外) |
| BIN平方根 | SQRT(P) DSQRT(P) | ROOT(.U/.S/.D/.L)R | ROTB | |
| BINべき乗 | — | POW(.S/.D/.L)R | — |
BCD演算
| 機能 | 三菱 MELSEC iQ-R | KEYENCE KV | OMRON CS/CJ | 備考 |
|---|---|---|---|---|
| BCD加算 | B+(P) DB+(P) | — | +B +BL | KVはBCD演算命令なし(TBIN/TBCDで変換して演算) |
| BCD減算 | B-(P) DB-(P) | — | -B -BL | |
| キャリー付きBCD加減算 | — | — | +BC +BCL -BC -BCL | |
| BCD乗算 | B*(P) DB*(P) | — | *B *BL | |
| BCD除算 | B/(P) DB/(P) | — | /B /BL | |
| BCDインクリメント/デクリメント | — | — | ++B ++BL --B --BL | |
| BCD平方根 | BSQRT(P) BDSQRT(P) | — | ROOT | OMRONのROOTはBCD、KVのROOTはBIN/実数 |
| BCD三角関数 | BSIN(P) BCOS(P) BTAN(P) BASIN(P) BACOS(P) BATAN(P) | — | — | |
| 浮動小数点除算(BCD) | — | — | FDIV |
論理演算
| 機能 | 三菱 MELSEC iQ-R | KEYENCE KV | OMRON CS/CJ | 備考 |
|---|---|---|---|---|
| 論理積(AND) | WAND(P) DAND(P) | ANDA(.U/.D)R CAL&(.U/.D) | ANDW ANDL | |
| 論理和(OR) | WOR(P) DOR(P) | ORA(.U/.D)R CAL|(.U/.D) | ORW ORWL | |
| 排他的論理和(XOR) | WXOR(P) DXOR(P) | EORA(.U/.D)R CAL^(.U/.D) | XORW XORL | |
| 否定排他的論理和(XNOR) | WXNR(P) DXNR(P) | ENRA(.U/.D)R | XNRW XNRL | |
| ブロックデータ論理演算 | BKAND(P) BKOR(P) BKXOR(P) BKXNR(P) | — | — | |
| ビット反転(同一デバイス) | — | COM(.U/.D)R | COM COML | 三菱はCMLで転送元と転送先に同じデバイスを指定して実現 |
| 否定転送(ビット反転して転送) | CML(P) DCML(P) | CAL~(.U/.D) | MVN MVNL | |
| 1ビット反転転送 | CMLB(P) | — | — |
ビット処理
| 機能 | 三菱 MELSEC iQ-R | KEYENCE KV | OMRON CS/CJ | 備考 |
|---|---|---|---|---|
| ワードデバイスのビットセット/リセット | BSET(P) BRST(P) | BSET BRES | SETB RSTB | KVのBSET/BRESは基本命令(ビット出力命令) |
| ワード内指定ビットの判定 | TEST(P) DTEST(P) BON(P) DBON(P) | BLD BLDB BAND BANB BOR BORB | TST TSTN | KV/OMRONは接点型。KVのBLD等は基本命令 |
| 範囲一括リセット | BKRST(P) | ZRES | RSTA | 三菱のワード一括クリアはFMOVで対応 |
| 範囲一括セット | — | — | SETA | |
| ONビット数カウント | SUM(P) DSUM(P) | BCNT(.U/.D)R | BCNT | 三菱の命令名はSUM(ビットチェック) |
シフト・ローテーション
| 機能 | 三菱 MELSEC iQ-R | KEYENCE KV | OMRON CS/CJ | 備考 |
|---|---|---|---|---|
| ワード内nビット右シフト | SFR(P) | SRA(.U/.D)R CAL>>(.U/.S/.D/.L) | NASR NSRL ASR ASRL | OMRONのASR/ASRLは1ビット固定 |
| ワード内nビット左シフト | SFL(P) | SLA(.U/.D)R CAL<<(.U/.S/.D/.L) | NASL NSLL ASL ASLL | OMRONのASL/ASLLは1ビット固定 |
| 算術シフト(符号保持) | — | ASRA(.S/.D/.L)R ASLA(.S/.D/.L)R | — | |
| 桁(4ビット)単位シフト | — | — | SLD SRD | |
| シフトレジスタ(入力信号取込み型) | SFT(P) | SFT | SFT SFTR ASFT | 三菱のSFTはシーケンス命令(ビットデバイスシフト) |
| nビットデータのビットシフト(右) | BSFR(P) SFTBR(P) | BSR(.U/.D) | NSFR | |
| nビットデータのビットシフト(左) | BSFL(P) SFTBL(P) | BSL(.U/.D) | NSFL | |
| ワード(ブロック)シフト(右) | DSFR(P) SFTWR(P) DDSFR(P) SFTDWR(P) | WSR(.U/.D) | WSFT | OMRONのWSFTは1CH単位で上位方向へシフト |
| ワード(ブロック)シフト(左) | DSFL(P) SFTWL(P) DDSFL(P) SFTDWL(P) | WSL(.U/.D) | — | |
| 実数データのシフト | ESFR(P) ESFL(P) EDSFR(P) EDSFL(P) SFTER(P) SFTEL(P) SFTEDR(P) SFTEDL(P) | — | — | |
| 右ローテーション(キャリーを含まない) | ROR(P) DROR(P) | RRNCA(.U/.D)R | RRNC RRNL | OMRONは1ビット固定 |
| 左ローテーション(キャリーを含まない) | ROL(P) DROL(P) | RLNCA(.U/.D)R | RLNC RLNL | OMRONは1ビット固定 |
| 右ローテーション(キャリーを含む) | RCR(P) DRCR(P) | RRA(.U/.D)R | ROR RORL | 同名でも意味が違う:OMRONのROR/ROLはキャリー付き、三菱のROR/ROLはキャリーなし |
| 左ローテーション(キャリーを含む) | RCL(P) DRCL(P) | RLA(.U/.D)R | ROL ROLL | 同上 |
データ変換
| 機能 | 三菱 MELSEC iQ-R | KEYENCE KV | OMRON CS/CJ | 備考 |
|---|---|---|---|---|
| BIN→BCD変換 | BCD(P) DBCD(P) | TBCD(.U/.D)R | BCD BCDL | |
| BCD→BIN変換 | BIN(P) DBIN(P) | TBIN(.U/.D)R | BIN BINL | |
| 符号付きBIN⇔BCD変換 | — | — | BCDS BDSL BINS BISL | |
| ブロック単位のBIN⇔BCD変換 | BKBCD(P) BKBIN(P) | — | — | |
| 整数型の変換(符号有無・16/32ビット) | INT2UINT(P) INT2DINT(P) INT2UDINT(P) UINT2INT(P) UINT2DINT(P) UINT2UDINT(P) DINT2INT(P) DINT2UINT(P) DINT2UDINT(P) UDINT2INT(P) UDINT2UINT(P) UDINT2DINT(P) | EXT(.S/.U/.D/.L)R | SIGN | KVはサフィックスによる自動変換も可。EXT/SIGNは16→32ビット拡張 |
| BIN→実数変換 | INT2FLT(P) UINT2FLT(P) DINT2FLT(P) UDINT2FLT(P) INT2DBL(P) UINT2DBL(P) DINT2DBL(P) UDINT2DBL(P) | FLOAT(.S/.D/.L/.U)R DFLOAT(.S/.D/.L)R | FLT FLTL DBL DBLL | |
| 実数→BIN変換 | FLT2INT(P) FLT2UINT(P) FLT2DINT(P) FLT2UDINT(P) DBL2INT(P) DBL2UINT(P) DBL2DINT(P) DBL2UDINT(P) | INTG(.U/.S/.D/.L)R ROUND(.S/.D/.L)R DINTG(.S/.D/.L)R DROUND(.S/.D/.L)R | FIX FIXL FIXD FIXLD | 丸めが異なる:三菱=四捨五入、KVはINTG=切り捨て/ROUND=四捨五入 |
| 単精度⇔倍精度実数変換 | FLT2DBL(P) DBL2FLT(P) | FTODFR DFTOFR | — | |
| BIN→グレイコード変換 | GRY(P)(_U) DGRY(P)(_U) | GRY(.U/.D)R | BIN_GRAY BIN_GRAYL | |
| グレイコード→BIN変換 | GBIN(P)(_U) DGBIN(P)(_U) | RGRY(.U/.D)R | GRAY_BIN GRAY_BINL GRY | OMRONのGRYはグレイコード→BIN/BCD/角度変換 |
| BIN→10進ASCII変換 | BINDA(P)(_U) DBINDA(P)(_U) | DASC(.U/.S/.D/.L) | — | |
| 10進ASCII→BIN変換 | DABIN(P)(_U) DDABIN(P)(_U) | RDASC(.U/.S/.D/.L) | — | |
| BIN→16進ASCII変換 | BINHA(P) DBINHA(P) INT2ASC(P) | ASC(.U)R HASC(.U/.D) | ASC STR4 STR8 STR16 | |
| 16進ASCII→BIN変換 | HABIN(P) DHABIN(P) ASC2INT(P) | RASC(.U)R RHASC(.U/.D) | HEX NUM4 NUM8 NUM16 | |
| BCD⇔10進ASCII変換 | BCDDA(P) DBCDDA(P) DABCD(P) DDABCD(P) | — | — | |
| BIN→文字列変換(小数点指定付き) | STR(P)(_U) DSTR(P)(_U) | — | — | |
| 文字列→BIN変換(小数点指定付き) | VAL(P)(_U) DVAL(P)(_U) | — | — | |
| 実数→文字列変換 | ESTR(P) | FASC | FSTR | |
| 文字列→実数変換 | EVAL(P) | RFASC | FVAL | |
| 実数の仮数・指数分解/結合 | EMOD(P) EREXP(P) | DISF UNIF | — | 三菱はBCD形式、KVは2進の仮数・指数 |
| デコード | DECO(P) | DECOR MPXR | MLPX | |
| エンコード | ENCO(P) | ENCOR DMXR | DMPX | |
| 7セグメントデコード | SEG(P) | SEG(.U/.D)R | SDEC | |
| 4ビット単位の分離/結合 | DIS(P) UNI(P) | DISN(.U/.D) UNIN(.U/.D) | — | |
| 任意ビット数の分離/結合 | NDIS(P) NUNI(P) | — | — | |
| バイト単位の分離/結合 | WTOB(P) BTOW(P) | DISB(.U/.D) UNIB(.U/.D) | — | |
| ビット列⇔ビット行変換 | — | — | LINE COLM | |
| Unicode⇔シフトJIS変換 | WS2SJIS(P) SJIS2WS(P) SJIS2WSB(P) | — | — |
データ転送
| 機能 | 三菱 MELSEC iQ-R | KEYENCE KV | OMRON CS/CJ | 備考 |
|---|---|---|---|---|
| データ転送 | MOV(P) DMOV(P) | MOV(.U/.S/.D/.L) DW(.U/.S/.D/.L) | MOV MOVL | KVのDWは定数の格納専用 |
| 桁(4ビット)単位転送 | SMOV(P) | — | MOVD | |
| ブロック転送 | BMOV(P) BMOVL(P) | BMOV(.U/.D) | XFER | |
| 同一データ一括転送(フィル) | FMOV(P) FMOVL(P) DFMOV(P) DFMOVL(P) | FMOV(.U/.S/.D/.L) | BSET | OMRONのBSETはブロック設定(三菱のBSETはビットセット) |
| データ交換 | XCH(P) DXCH(P) | XCH(.U/.D) | XCHG XCGL | |
| ブロックデータ交換 | BXCH(P) | — | — | |
| 上下バイト入替え | SWAP(P) DSWAP(P) | SWAP(.U/.D)R BSWAP | SWAP | KVのBSWAP、OMRONのSWAPは複数ワードを一括入替え |
| 1ビット転送 | MOVB(P) | — | MOVB | |
| 複数ビット転送 | BLKMOVB(P) | BBMOV PMOV(.U/.D) | XFRB | |
| オフセット指定転送(分配/抽出) | — | — | DIST COLL | 三菱・KVはインデックス修飾で実現 |
| バイト順入替え転送 | — | BYBMOV BYLMOV | — | |
| 内部レジスタとの転送 | — | LDA(.U/.S/.D/.L/.F/.DF)R STA(.U/.S/.D/.L/.F/.DF)R PLDA(.U/.D)R PSTA(.U/.D)R | — | KV固有(内部レジスタ方式の命令と組み合わせて使用) |
| デジタルトリマ値の取込み | — | TMINR | — |
プログラム制御
| 機能 | 三菱 MELSEC iQ-R | KEYENCE KV | OMRON CS/CJ | 備考 |
|---|---|---|---|---|
| ジャンプ | CJ SCJ JMP | CJ NCJ SCJ GOTO LABEL | JMP JME CJP CJPN JMP0 JME0 | OMRONのジャンプ命令はシーケンス制御命令に分類 |
| END(プログラム終端)へジャンプ/途中終了 | GOEND | RETURN | — | |
| サブルーチン呼び出し・復帰 | CALL(P) RET FCALL(P) XCALL | CALL SBN RET | SBS SBN RET | |
| プログラム間(グローバル)サブルーチン | ECALL(P) EFCALL(P) | ECALL | GSBS GSBN GRET | |
| マクロ呼び出し | — | MCALL MSTRT MEND | MCRO | |
| 繰り返し(FOR~NEXT) | FOR NEXT | FOR(.U/.D) NEXT | FOR NEXT | |
| 繰り返し強制終了 | BREAK(P) | BREAK | BREAK | |
| 割込み禁止/許可 | DI EI IMASK SIMASK | DI EI DIC | DI EI MSKS MSKR CLI | OMRONのDI/EIは割込タスクの実行禁止/解除 |
| 割込みプログラムからの復帰 | IRET | INT RETI | — | OMRONは割込タスク単位のため復帰命令なし |
| ウォッチドッグ(サイクル監視) | WDT(P) | — | WDT | 三菱はWDTリセット、OMRONは監視時間の延長 |
| プログラム(タスク・モジュール)の実行/停止 | PSTOP(P) POFF(P) PSCAN(P) | MDSTRT MDSTOP | TKON TKOF | |
| 工程歩進(ステップ/ステージ) | — | STP STE STG JMP ENDS W-ON W-OFF W-UE W-DE | STEP SNXT | 三菱はSFCで対応(本表対象外) |
| ブロックプログラム(IF/WAIT/LOOP等) | — | — | BPRG BEND BPPS BPRS IF ELSE IEND WAIT LOOP LEND EXIT TIMW TIMWX CNTW CNTWX TMHW TMHWX | |
| ファンクションブロック/ファンクション呼出し | — | FB FEND FUN FBCALL FBSTRT | — | 三菱はFB/FUNをラベルで呼び出し(命令なし) |
テーブル処理
| 機能 | 三菱 MELSEC iQ-R | KEYENCE KV | OMRON CS/CJ | 備考 |
|---|---|---|---|---|
| FIFO/LIFO 書込み | FIFW(P) | FIFOW(.U/.D) LIFOW(.U/.D) | SSET PUSH | OMRONはSSETでスタック領域を設定してから使用 |
| FIFO 読出し(先入れ先出し) | FIFR(P) | FIFOR(.U/.D) | FIFO | |
| LIFO 読出し(後入れ先出し) | FPOP(P) | LIFOR(.U/.D) | LIFO | |
| テーブルへのデータ挿入 | FINS(P) | FINS(.U/.D) | SINS | |
| テーブルのデータ削除 | FDEL(P) | FDEL(.U/.D) | SDEL | |
| テーブルデータの参照/上書き | — | FWRIT(.U/.D) | SNUM SREAD SWRIT | |
| レコード型テーブル操作 | — | — | DIM SETR GETR |
データ処理
| 機能 | 三菱 MELSEC iQ-R | KEYENCE KV | OMRON CS/CJ | 備考 |
|---|---|---|---|---|
| データサーチ | SERDATA(P) DSERDATA(P) | SER(.U/.D)R DSER(.U/.D) | SRCH | |
| 一致データ数のカウント | — | DCNT(.U/.D)R | — | 三菱のSERDATAは一致数も出力 |
| 最小・同一・最大値の同時サーチ | SERMM(P) DSERMM(P) | — | — | |
| レコード検索 | — | — | RSRCH RSRCH2 RSRCH4 | |
| 最大値検索 | MAX(P)(_U) DMAX(P)(_U) EMAX(P) EDMAX(P) | MAX(.U/.S/.D/.L/.F/.DF)R | MAX MAXL MAXF MAXD | 実数を含む |
| 最小値検索 | MIN(P)(_U) DMIN(P)(_U) EMIN(P) EDMIN(P) | MIN(.U/.S/.D/.L/.F/.DF)R | MIN MINL MINF MIND | 実数を含む |
| ソート | SORTD(_U) DSORTD(_U) SORTTBL(_U) SORTTBL2(_U) DSORTTBL2(_U) | SORT(.U/.S/.D/.L) SORTN(.U/.S/.D/.L) | RSORT RSORT2 RSORT4 | |
| 合計値算出 | WSUM(P)(_U) DWSUM(P)(_U) | WSUM(.U/.S/.D/.L/.F/.DF)R BSUMR | SUM | OMRONのSUMはテーブルのサム値(バイト/ワード加算) |
| 平均値算出 | MEAN(P)(_U) DMEAN(P)(_U) | AVG(.U/.S/.D/.L/.F/.DF)R | AVG | OMRONのAVGは指定サイクル回数の移動平均 |
| CRC算出 | CRC(P) | CRCR | — | |
| チェックコード(水平パリティ・サム) | CCD(P) | — | FCS | |
| 乱数発生 | RND(P) SRND(P) | RND | — |
データ制御
| 機能 | 三菱 MELSEC iQ-R | KEYENCE KV | OMRON CS/CJ | 備考 |
|---|---|---|---|---|
| 上下限リミット制御 | LIMIT(P)(_U) DLIMIT(P)(_U) | LIMIT(.U/.S/.D/.L) | LMT | |
| 不感帯制御 | BAND(P)(_U) DBAND(P)(_U) | BANDC(.S/.L) | BAND | |
| ゾーン制御 | ZONE(P)(_U) DZONE(P)(_U) | ZONE(.S/.L) | ZONE | |
| スケーリング/折れ線近似 | SCL(P)(_U) DSCL(P)(_U) SCL2(P)(_U) DSCL2(P)(_U) | APR(.U/.S/.D/.L/.F/.DF) | SCL SCL2 SCL3 APR | |
| 傾斜信号(ランプ) | RAMPQ | RAMP | — | |
| 進み遅れフィルタ | — | LLFLT | — | |
| PID制御 | PID PIDINIT(P) PIDCONT(P) PIDSTOP(P) PIDRUN(P) PIDPRMW(P) S(P).PIDINIT S(P).PIDCONT S(P).PIDSTOP S(P).PIDRUN S(P).PIDPRMW | PID | PID | |
| オートチューニング付きPID | — | PIDAT | PIDAT | 三菱はPID命令の制御データでオートチューニングを指定 |
| 時分割比例出力/PWM | PWM | TPOUT | TPO PWM | OMRONのPWMは内蔵パルス出力を使用 |
浮動小数点
| 機能 | 三菱 MELSEC iQ-R | KEYENCE KV | OMRON CS/CJ | 備考 |
|---|---|---|---|---|
| 実数加算 | E+(P) ED+(P) | ADD(.F/.DF)R CAL+(.F/.DF) | +F +D | |
| 実数減算 | E-(P) ED-(P) | SUB(.F/.DF)R CAL-(.F/.DF) | -F -D | |
| 実数乗算 | E*(P) ED*(P) | MUL(.F/.DF)R CAL*(.F/.DF) | *F *D | |
| 実数除算 | E/(P) ED/(P) | DIV(.F/.DF)R CAL/(.F/.DF) | /F /D | |
| 実数比較出力 | ECMP(P) EDCMP(P) | CMP(.F/.DF)R | — | OMRONは比較接点(LD□F等)で対応 |
| 実数帯域比較 | EZCP(P) EDZCP(P) | ZCMP(.F/.DF)R | — | |
| 実数転送 | EMOV(P) EDMOV(P) | MOV(.F/.DF) | MOVF | |
| 実数符号反転 | ENEG(P) EDNEG(P) | NEG(.F/.DF)R | — | |
| 実数絶対値 | — | ABS(.F/.DF)R | — | |
| 三角関数(SIN/COS/TAN) | SIN(P) COS(P) TAN(P) SIND(P) COSD(P) TAND(P) | SIN(.F/.DF)R COS(.F/.DF)R TAN(.F/.DF)R | SIN COS TAN SIND COSD TAND SINQ COSQ TANQ | OMRONのSINQ等は高速版 |
| 逆三角関数 | ASIN(P) ACOS(P) ATAN(P) ASIND(P) ACOSD(P) ATAND(P) | ASIN(.F/.DF)R ACOS(.F/.DF)R ATAN(.F/.DF)R ATAN2(.F/.DF)R | ASIN ACOS ATAN ASIND ACOSD ATAND | KVのATAN2は座標(X,Y)から角度を算出 |
| 角度→ラジアン変換 | RAD(P) RADD(P) | RAD(.F/.DF)R | RAD RADD | |
| ラジアン→角度変換 | DEG(P) DEGD(P) | DEG(.F/.DF)R | DEG DEGD | |
| 実数平方根 | ESQRT(P) EDSQRT(P) | ROOT(.F/.DF)R | SQRT SQRTD | |
| 指数演算 | EXP(P) EXPD(P) | EXP(.F/.DF)R | EXP EXPD | |
| 自然対数 | LOG(P) LOGD(P) | LOG(.F/.DF)R | LOG LOGD | |
| 常用対数 | LOG10(P) LOG10D(P) | LOG10(.DF)R | — | |
| べき乗 | POW(P) POWD(P) | POW(.F/.DF)R | PWR PWRD |
文字列処理
| 機能 | 三菱 MELSEC iQ-R | KEYENCE KV | OMRON CS/CJ | 備考 |
|---|---|---|---|---|
| 文字列転送 | $MOV(P) $MOV(P)_WS | SMOV | MOV$ | |
| 文字列結合 | $+(P) | SADD | +$ | |
| 文字列長検出 | LEN(P) | LEN | LEN$ | |
| 右側からの取出し | RIGHT(P) | SRGHT | RGHT$ | |
| 左側からの取出し | LEFT(P) | SLEFT | LEFT$ | |
| 任意位置からの取出し | MIDR(P) | SMID | MID$ | |
| 任意位置の置換え | MIDW(P) | SRPLC | RPLC$ | |
| 文字列検索 | INSTR(P) | SFIND SFINDN | FIND$ | |
| 文字列挿入 | STRINS(P) | SINS | INS$ | |
| 文字列削除 | STRDEL(P) | SDEL | DEL$ | |
| 文字列交換 | — | — | XCHG$ | |
| 文字列クリア | — | — | CLR$ | |
| 文字列の前後空白削除 | — | STRIM | — | |
| バイト単位⇔ワード単位の文字列変換 | — | DISS UNIS | — | |
| デバイスコメント読出し | — | RCOM | — |
デバイス操作
| 機能 | 三菱 MELSEC iQ-R | KEYENCE KV | OMRON CS/CJ | 備考 |
|---|---|---|---|---|
| インデックスレジスタ退避/復帰 | ZPUSH(P) ZPOP(P) | ZPUSH(.S/.L) ZPOP(.S/.L) | — | |
| 間接アドレスの取得・操作 | ADRSET(P) | ADRSET ADRINC ADRDEC ADRADD(.S/.L) ADRSUB(.S/.L) | MOVR MOVRW | OMRONはインデックスレジスタへ実アドレスを設定 |
| ファイルレジスタ(拡張DM)バンク切替え | RSET(P) QDRSET(P) | FRSET | EMBC | |
| ファイルレジスタの1バイト読出し/書込み | ZRRDB(P) ZRWRB(P) | — | — | |
| ファイルレジスタのメモリカード保存/読込み | — | FRSTM FRLDM | — | |
| 変数サイズ・配列要素数の取得 | — | ACNT WSIZE BSIZE | — |
タイマ・カウンタ
| 機能 | 三菱 MELSEC iQ-R | KEYENCE KV | OMRON CS/CJ | 備考 |
|---|---|---|---|---|
| アップ/ダウンカウンタ(1相・2相) | UDCNT1 UDCNT2 | — | — | KVのUDCは基本命令 |
| ティーチングタイマ/特殊機能タイマ | TTMR STMR | — | — | |
| パルス密度測定/定周期パルス出力 | SPD PLSY | — | SPED | KVは内蔵機能命令(CPUユーザーズマニュアル参照) |
| タイミングパルス発生 | DUTY | — | — | |
| 時間計測/アワーメータ | TIMCHK HOURM | — | — | |
| フリーランカウンタ更新 | — | RFSFRC | — | |
| 入力時定数・割込みエッジ設定 | — | HSP IEDGE | — |
特殊入出力
| 機能 | 三菱 MELSEC iQ-R | KEYENCE KV | OMRON CS/CJ | 備考 |
|---|---|---|---|---|
| ロータリテーブル近回り制御 | ROTC | — | — | |
| マトリクス入力 | MTR | — | MTR | |
| キー入力(10キー/16キー) | — | HKEY | TKY HKY | |
| デジタルスイッチ入力 | — | — | DSW | |
| 7セグメント表示出力 | — | — | 7SEG |
時計
| 機能 | 三菱 MELSEC iQ-R | KEYENCE KV | OMRON CS/CJ | 備考 |
|---|---|---|---|---|
| 時計データの読出し | DATERD(P) S(P).DATERD | — | — | KVは特殊デバイス(CM)、OMRONは補助エリア(A351~)を参照 |
| 時計データの書込み(時刻設定) | DATEWR(P) | WTIME | DATE | |
| 時計データの加減算 | DATE+(P) DATE-(P) S(P).DATE+ S(P).DATE- | — | CADD CSUB | |
| 時分秒⇔秒変換 | TIME2SEC(P) SEC2TIME(P) | — | SEC HMS | |
| 日時⇔秒変換 | DATE2SEC(P)(_U) SEC2DATE(P)(_U) | SEC RSEC | — | KVのSECはOMRONのSEC(時分秒→秒)と内容が異なる |
| 時刻比較出力/時刻帯域比較 | TCMP(P) TZCP(P) | — | — | |
| 時計の±30秒補正 | — | AJST | — |
ユニットアクセス
| 機能 | 三菱 MELSEC iQ-R | KEYENCE KV | OMRON CS/CJ | 備考 |
|---|---|---|---|---|
| I/Oリフレッシュ | RFS(P) | RFSX RFSY | IORF | KVのRFSX/RFSYは基本命令(ダイレクト入出力) |
| ユニット/ネットワークのリフレッシュ | COM(P) S(P).ZCOM | RFSCI RFSCO | FIORF DLNK | 三菱のCOMは選択リフレッシュ(KV・OMRONのCOMはビット反転) |
| ユニットのバッファメモリ読出し | FROM(P) DFROM(P) FROMD(P) DFROMD(P) | UREAD(.U/.S/.D/.L/.F) | IORD | |
| ユニットのバッファメモリ書込み | TO(P) DTO(P) TOD(P) DTOD(P) | UWRIT(.U/.S/.D/.L/.F) UFILL(.U/.S/.D/.L/.F) | IOWR | |
| ユニット形名・情報の読出し | TYPERD(P) UNIINFRD(P) | IS_□□□ | — | KVは指定ユニットの種別を判定 |
| バッファメモリ確保 | — | UMALLOC | — |
ファイル操作
| 機能 | 三菱 MELSEC iQ-R | KEYENCE KV | OMRON CS/CJ | 備考 |
|---|---|---|---|---|
| ファイル読出し | SP.FREAD | MREAD MREADL | FREAD | |
| ファイル書込み | SP.FWRITE | MWRIT MPRINT | FWRIT TWRIT | OMRONのTWRITはテキスト(CSV等)書込み |
| ファイル削除 | SP.FDELETE | MDEL | — | |
| ファイルコピー | SP.FCOPY | MCOPY | — | |
| ファイル移動 | SP.FMOVE | MMOV | — | |
| ファイル名変更 | SP.FRENAME | MREN | — | |
| ファイル状態取得 | SP.FSTATUS | MSTAT | — | |
| フォルダ作成/削除 | — | MMKDIR MRMDIR | — | |
| 空き容量取得 | — | MFREE MFREEK | — | |
| データメモリへの読出し/書込み | S(P).DEVLD SP.DEVST | — | — |
通信
| 機能 | 三菱 MELSEC iQ-R | KEYENCE KV | OMRON CS/CJ | 備考 |
|---|---|---|---|---|
| ソケット通信(TCP/UDP) | SP.SOCOPEN SP.SOCCLOSE SP.SOCRCV S.SOCRCVS SP.SOCSND SP.SOCCINF SP.SOCCSET SP.SOCRMODE S(P).SOCRDATA | — | — | KVはユニット専用命令(U_SOPEN等)で対応(本表対象外) |
| 他局へのメッセージ送信(SLMP/FINS) | SP.SLMPSND | — | SEND SEND2 RECV RECV2 CMND CMND2 | |
| 登録プロトコル/プロトコルマクロ実行 | SP.ECPRTCL | — | PMCR PMCR2 | |
| シリアルポート送受信 | — | — | TXD RXD TXDU RXDU STUP | 三菱・KVはユニット専用命令で対応(本表対象外) |
| CIP(EtherNet/IP)メッセージ | — | CPMSET CPMGET CPSASC RCPSASC | EXPLT EGATR ESATR ECHRD ECHWR | |
| FTPクライアント | SP.FTPPUT SP.FTPGET | — | — |
診断・デバッグ
| 機能 | 三菱 MELSEC iQ-R | KEYENCE KV | OMRON CS/CJ | 備考 |
|---|---|---|---|---|
| エラー表示・アラームのリセット | LEDR | ARES | — | |
| 運転継続異常(ユーザ異常) | PALERT(P) | — | FAL | |
| 運転停止異常(ユーザ異常) | PABORT | — | FALS | |
| 故障点検出 | — | — | FPD | |
| トレースメモリサンプリング | — | — | TRSM |
その他
| 機能 | 三菱 MELSEC iQ-R | KEYENCE KV | OMRON CS/CJ | 備考 |
|---|---|---|---|---|
| メッセージ表示 | — | AWNUM AWMSG AWSHOW AWHIDE | MSG | KVはアクセスウィンドウに表示 |
| メモリスイッチ設定 | — | MEMSW | — | |
| キャリーフラグのセット/クリア | — | — | STC CLC | |
| コンディションフラグの退避/復帰 | — | — | CCS CCL | |
| 周辺サービスの禁止/解除 | — | — | IOSP IORS | |
| CV⇔CSアドレス変換 | — | — | FRMCV TOCV |
該当する命令が見つかりませんでした。
凡例
| — | 該当する命令なし(本ページの対象範囲内) |
|---|---|
| 三菱 (P) | 付けるとパルス(立上り)実行型。例:MOV(P) = MOV / MOVP |
| 三菱 (_U) | 付けると符号なしデータとして扱う |
| 三菱 D~ / E~ / ED~ | D=32ビット、E=単精度実数、ED=倍精度実数 |
| KV サフィックス | .U=16ビット符号なし(省略時)、.S=16ビット符号付、.D=32ビット符号なし、.L=32ビット符号付、.F=単精度実数、.DF=倍精度実数 |
| KV @ | 命令の先頭に@を付けると微分実行(多くの命令で使用可) |
| KV R | 内部レジスタ方式の命令。LDA(読込み)→ 演算 → STA(格納)の組み合わせで使用 |
| OMRON L / S / U / F / D | L=倍長(32ビット)、S=符号付、U=符号なし、F=単精度実数、D=倍精度実数(命令による) |
| OMRON @ / % / ! | @=立上り微分、%=立下り微分、!=都度リフレッシュ(使用可否は命令ごとに異なる) |
| □ | 比較記号(=, <>, >, <=, <, >=)が入る |
行のまとめ方
- 機能ごとに1行にまとめています。16/32ビット・符号有無の違いは同じ行に記載しています。
- 実数(浮動小数点)の四則演算・関数は「浮動小数点」として別の行にしています。最大値・最小値・合計・平均などは実数版も同じ行に含めています。
対象範囲
- 接点・コイル・タイマ・カウンタ・マスタコントロール・END等のシーケンス命令を除く命令を対象としています。ただし、比較接点とワード内ビット操作(KV BSET/BLD、OMRON TST/SETB等)は含めています。
- 三菱:二重化・安全・SFC・データベース・プロセス制御・マルチCPU・ロギング/レコーディング・ルーチング情報の各命令、汎用FUN/FB、ユニット専用命令は対象外です。
- KV:内蔵位置決め/高速カウンタ命令、ユニット専用命令(U_~)、センサ設定命令、ユニットプログラム命令は対象外です。
- OMRON:SFC関連・機種変換用・FB用特殊命令、高速カウンタ/パルス出力命令(PWM・SPEDを除く)、NC/アナログユニット専用命令は対象外です。
- 命令の仕様・使用可否はCPUの機種やバージョンによって異なります。実際の使用にあたっては各社のマニュアルを確認してください。
出典
- 三菱電機:MELSEC iQ-R プログラミングマニュアル(CPUユニット用命令/汎用FUN/汎用FB編)SH(名)-081226-AF
- キーエンス:KV-8000/7000/5000/3000/1000シリーズ・KV Nanoシリーズ 命令語リファレンスマニュアル 084681(2021年10月)
- オムロン:CS/CJ/NSJシリーズ CPUユニット コマンドリファレンスマニュアル Man.No. SBCA-351N(2018年12月)
