06西门子博图传送指令解读
日期:2024-03-12 00:06:24   来源:数据传输类

  传送指令将 IN 输入操作数中的数据传送给 OUT1 输出的操作数中。一直沿地址升序方向进行传送。

  输入数据能够能够传送给多个输出数据,点击图中4方位“星号”能增加多个数据。下面实在的操作参阅下图程式:设“数据块_1”中数据为5,当EN条件成立时,“数据块_1.INT_2”和“数据块_1.INT_3”中的数据将悉数变为5。

  (1)也能够正常的运用“移动值”指令将字符串的各个字符传送到数据类型为 CHAR 或 WCHAR 的操作数。操作数称号旁的方括号内指定了要比较的字符位数。例如,“MyString[2]”将比较“MyString”字符串中的第二个字符。它还能够将数据类型为 CHAR 或 WCHAR 的操作数传送到字符串的各个字符中。还可运用其它字符串的字符来替换该字符串中的指定字符。

  (2)仅当输入 IN 和输出 OUT1 中操作数的数组元素为同一数据类型时,才能够传送整个数组 (ARRAY)。

  PS:假如输入 IN 数据类型的位长度超出输出 OUT1 数据类型的位长度,则源值的高位会丢掉。假如输入 IN 数据类型的位长度低于输出 OUT1 数据类型的位长度,则方针值的高位会被改写为 0。其他数据类型可查阅手册了解,不常用。

  能够运用“移动块”(Move block) 指令将某个存储区(源区域)的内容移动到另一个存储区(方针区域)中。运用输入 COUNT 能够指定将移动到方针区域中的元素个数。可经过输入 IN 中元素的宽度来界说元素待移动的宽度。

  下面以数据块方法树立数据展现,数组ARRAY元素中数据类型能自行界说,电机图中3方位可指定数据类型,及数据数量个数,也可用于BOOL类型,如4方位所示:

  下面看如下实例所示:将以ARRAY[0]为首地址的5个整数传送处以ARRAY[6]为首地址的5个整数中,此指令大多数都用在批量传送数据。

  运用“MOVE_BLK_VARIANT:移动块”指令将一个存储区(源区域)的数据移动到另一个存储区(方针区域)中。也能够将一个完好的 数组(ARRAY) 或数组(ARRAY )的元素仿制到另一个相同数据类型的数组(ARRAY)中。源数组(ARRAY) 和方针数组(ARRAY) 的巨细(元素个数)可能会不同。能够仿制一个数组(ARRAY) 内的多个或单个元素。能够指定单个元素数据移动,也能够指定一个数组中的多个元素数据移动,也能够整个数组一同移动。

  SRC:指令要履行移动的数据源,留意是仿制,也就是指令履行不会改动其本身的值。

  COUNT:依据SRC数据源决议,假如指定只要一个数据,COUNT的值就必须设定1;假如没有设定,数据源是一个数组(ARRAY)则COUNT的值为要仿制的数据个数(设定值不行超出数组内要传送的个数)。

  (1)SRC为数组的情况下,设定COUNT仿制位数为1,经过SRC_INDEX 和DEST_INDEX指定数组内要仿制的数据位号。

  以上为部分传送指令介绍,传送指令在日常编程中使用广泛,技巧也许多,运用妥当能够让程序简单明了,可读性高。