0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

MELSEC-Q 命令語 メモ

Posted at

命令語の要注意なポイントを記載します。

演算結果反転
INV
演算結果が反転する範囲は限定されることに注意しましょう
image.png

演算結果パルス化
MEP MEF
インデックス装飾したものやループ内で使用する場合はEGP EGFを使用しましょう
image.png

EGP EGFはエッジリレーと組み合わせて使用する
VOZ0の手前までの演算結果をエッジリレーは保持する
いわばパルスの記憶ができるリレー。
image.png

カウンタ
設定値が0の場合は1と同じ処理

PLS PLF
PLS命令実行後にCPUをRUN→STOP→RUNとしてもPLS命令は実行されない
image.png

FF ビットデバイス出力反転
ON OFFを切り替える場合に便利
image.png

ビットデバイスシフト
例えばM14と指定した場合はM13の値をM14にシフトしてきて、M13をOFFする動作となる
なのでビットシフトを行う場合は必ず大きな割付のビットから処理を行うこと

image.png

マスターコントロール
image.png

ビット比較 BKCMP ユニバーサルモデル Lのみ対応
image.png
image.png

CMP ユニバーサルモデル Lのみ対応
大小比較をまとめて行うことができる
image.png

+ー
引数が2個と3個の違い
2個の場合だと毎スキャン実行されるとどんどん加算・減算されるが3個だと代入の形になり
毎スキャンでどんどん増えていくことがない

ダブルワードの加減乗除
加算 減算 2ワード+2ワード=2ワード
乗算 除算 2ワード+2ワード=4ワード

16ビットデータ交換
ワードの値を入れ替えることができる
image.png

上下バイト交換
XCHはワード単位での交換だったが、SWAPは1ワード内の上位下位を交換する
MCプロトコルや上位リンクなど通信において上位下位の反転が必要な場合に便利

image.png

IOリフレッシュ
ダイレクト入出力でいいきがするが、どんなときに使うのだろう。。。
image.png

1相アップダウンカウンタ
第一引数にはXのみ指定可能
第一引数の指定デバイス+1のデバイスが
ON=アップカウント
OFF=ダウンカウント となる
カウントデバイスはリングデバイスとなっている
image.png

ティーチングタイマ
あるデバイスのONしている時間を計測するのに用いる
測定単位も指定可能
image.png

排他的論理和 XOR
比較対象でON OFFが異なっている箇所のビットがONする

否定排他的論理和 XNR
比較対象のON OFFが一致している箇所のビットがONする
一致さえしていればよく。OFF同士でもONする

右ローテーション
ROR RCR
キャリフラグをローテーション先に含めるか否かで分かれている
RORは含めない
image.png

image.png

image.png

ビットテスト TEST
ワードデバイスの特定のビットのON OFF状態を指定のビットに反映できる
ワードの接点指定と同じなので、あまり覚える必要はないのかもしれない
image.png

データサーチ SER
第一引数で指定された値をキーとして
第二引数からn点分のワードデータの中から検索します。
第三引数に最初に一致したデバイス番号の相対値(第二引数からの位置)
第三引数+1に一致した個数を格納する
image.png

ビットチェック SUM
指定したワード内でONしているビットの個数を数える
image.png

デコード DECO
バイナリ値→ビット位置ON
バイナリで6であれば、指定したワードの6ビット目をONする
第三引数のnは第一引数のバイナリ値の有効桁数を示す(3なら3ビットのバイナリ値 最大値7)
第三引数は0~8が指定できる
image.png

エンコード ENCO
ビット位置ON → バイナリ値
指定したワードに4ビット目がONしていれば、バイナリ値で4と出力する
第三引数は第一引数の有効ビット数を示す(3なら2^3=8ビットが対象となる)
第三引数は0~8が指定できる
image.png

16ビットの4ビットずつ分離させる命令
DIS
第三引数は0~4の範囲しか指定できない
n=1とした場合は、ワードの下位4ビットのみが取り出される
image.png

4ビットずつ結合命令
UNI
image.png

バイト単位の分離 結合
WTOB BTOW
通信の伝文組み立てに非常に便利
BTOWのとき上位バイトは無視されることに注意
image.png

最大値検索
MAX MIN
第一引数で指定されたデバイスから第三引数分最大値・最小値を検索して結果を第二引数に格納
image.png

並び替え
SORT
1スキャンでは完了しないことに注意
第一引数がソートする先頭デバイス
第二引数が先頭からデータの個数
第三引数が一度の実行で比較するデータ個数
実行完了までの回数は右の式で求まる 実行完了までの最大実行回数=(n)*(n-1)/2
例えばn=10ならば、45回かかる計算となる
そこで第三引数を2にすると45/2 = 22.5 → 23スキャンでよくなる
第四引数は並び替えが完了した時にONするビットである。
このビットは自動でOFFしないためユーザー側でOFFの面倒を見る必要がある
第五引数から2点分はシステムが占有する領域となる。使用していない領域を割り当てよう
image.png

ワードデータ合計値
WSUM
第一引数で指定したデバイスから第三引数分のデバイスの合計値を第二引数に格納します。
image.png

BREAK
第一引数にはくりかえり処理回数の残り数を格納する
ただしNEXTに到達して初めて回数が減るためBREAKしたときのループも残りとしてカウントされている
image.png
image.png

サブルーチンコール
CALL
ファンクションデバイスを用いることで引数や戻り値を受け取ることができる
その際にデバイスの占有範囲に注意が必要
image.png

ファンクションデバイスで予約されている領域をサブルーチン内で直で変更してしまうと
戻り値が反映されないため直で値の変更をおこなってはいけない
image.png

image.png
image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?