今回の記事では、【SCMP】(文字列比較命令)について紹介します。
【SCMP】文字列比較命令を用いることにより、文字列を比較/照合することが出来ます。CR2010などの演算フラグも用いることにより、その比較/照合結果が同等である/同等ではないという結果をラダーで作成することが出来ます。
SCMPについて
- 毎スキャン型 : SCMP
- 1スキャン型 : @SCMP
SCMP動作例
ラダーでは以下のような動作となります。S1,S2に格納された文字列を比較して、演算フラグを確認して、この比較が正しい、正しくないを判断します。
お互いの文字列を比較/照合すると各演算フラグが起動します。(基本的に、SCMPとCR2009~CR2011はセットだと思って下さい)
- CR2010 : S1,S2の全ての文字列が等しい場合にON
- CR2009 : S1の文字列n番目のアスキーコードがS2よりも小さい場合にON
- CR2011 : S1の文字列n番目のアスキーコードがS2よりも大きい場合にON
基本的には、SCMPの後ろにCR2010がON、またはOFFを見て判定をしています。
ラダー
では、例題としてSCMPを用いたラダー図を組んでみます。
例題の内容としては、S1とS2に保存した日付が同等か、同等ではないかを確認します。(今回の動作フラグは、常時ONとしています)
DM40、DM50に日付(文字列)を格納しました
上記のように、DM40とDM50が同等であれば、CR2010がONして照合OKと判定します。また、DM40とDM50が同等ではなければ、CR2010がOFFして照合NGと判定します。
さいごに
今回は、【SCMP】文字列転送について紹介しました。
- S1・S2に文字列または、文字列を格納したデータレジスタを指定する
- SCMPの後ろは、CR2009~CR2011を見て判定する