JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

西门子SCL语言编程——数组(西门子scl2维数组怎么赋值)

wys521 2024-11-16 01:45:13 精选教程 29 ℃ 0 评论


数组(array),由多个数目固定且数据类型相同的元素组成的数据结构,这些元素可使用除 ARRAY 之外的所有数据类型。数组中的变量称为“元素”,元素的序号称为“索引”。从这句话可以总结出几个数组的特征:

1、数组中的元素具有相同的数据类型;

2、数组中的元素个数是确定的,各元素以索引的方式进行访问;

3、数组的定义要标明其下限及上限,下限必须小于或等于上限;

4、数组可以定义成多维(最多可包含六个维度)。

数组的声明:

可以在FB/FC的变量声明区或者DB块中声明数组。数组命名规则与普通变量相同,但是数据类型命名规则稍有不同:

当然如果是熟悉TIA平台的工程人员可以直接在第二步一次性的全部输入这些数据类型以及上下限,格式为:Array [lo..hi] of type。

  • 一维 ARRAY 的示例:
  • 一维 ARRAY 的 ARRAY 固定限值,由两个全局用户常量组成:
  • 三维 ARRAY 的示例:

数组有关的指令:

1、MOVE_BLK(块移动):将一个存储区(源范围)的数据移动到另一个存储区(目标范围)中。使用参数 COUNT 可以指定将移动到目标范围中的元素个数。可通过 IN 参数处的元素宽度来指定待移动元素的宽度。

MOVE_BLK指令与LTD语言的MOVE非常相似,只是MOVE移动的是单个数据,而MOVE_BLK移动的多个数据。示例如下:

源范围和目标范围的数据类型相同时,才能执行该指令。

2、MOVE_BLK_VARIANT(块移动):与MOVE_BLK指令类似,但更复杂,可以无需确定 ARRAY数组,源和目标将使用 VARIANT 进行传输。具体使用方法及VARIANT数据类型在后续中做介绍。

如果复制的数据多于可用的数据,则不执行该指令。

3、UMOVE_BLK(不可中断的存储区移动):UMOVE_BLK指令与MOVE_BLK的参数及用法都相同,只是UMOVE_BLK指令在执行过程不会被中断。

有关数组的指令比较多,比如ReadFromArrayDB(从数组数据块中读取)、WriteToArrayDB(写入数组数据块)、ReadFromArrayDBL(从装载内存的数组数据块中读取)、WriteToArrayDBL(写入装载内存的数组数据块中)等。

另外,还有一种比较特殊的数组即可变数组(ARRAY[*]),后续篇章中详细的介绍。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表