シーメンス#Scatter命令

今回はSiemensのCPUでByte,Word,DWordをBoolの配列・構造などに分解する命令を紹介したいと思います。もちろんVariable.%X0などの使え方にもありますが、まぁ、やり方が色々がありますよ~と。

Scatter

Online helpによりますと、

The “Parse the bit sequence into individual bits” instruction parses a tag of the BYTE, WORD, DWORD or LWORD data type into individual bits and saves them in an ARRAY of BOOL, an anonymous STRUCT or a PLC data type exclusively with Boolean elements.

いわゆるBYTE, WORD, DWORD, LWORDの変数をBoolの配列・構造・PLCデータ・タイプに分解することができる、と。

Blocks

SCATTER(IN := #SourceWord,

OUT => #DestinationArray);

Interface

S7-1200S7-1500
INByte,Word,DWordByte,Word,DWord,LWord展開したいの元データ
OUTArray[*] of Bool,
PLC構造体*の長さは8,16,32,64しかできません。
Array[*] of Bool,
PLC構造体*の長さは8,16,32,64しかできません。
展開先ですね。

例1-WordからBool Array

結果

例2-DWordからBool Array

結果

例3-ByteからBool Array

結果

例4-Wordから構造

結果

例5-PLC data typeから構造

PLC data typesにudt1を定義します。

中身は16Bitの構造です。

プログラムはこうです。

結果

はーい、お疲れ様です。

Simple Codeはこっちらです:

https://github.com/chwAmu/Siemens_TIA/blob/master/General/ScatterExample.zap15_1

Footer_Basic

Please Support some devices for my blog

Amazon Gift List

Find ME

Twitter:@3threes2
Email:soup01threes*gmail.com (* to @)
YoutubeChannel:https://www.youtube.com/channel/UCQ3CHGAIXZAbeOC_9mjQiWQ

シェアする

  • このエントリーをはてなブックマークに追加

フォローする