西门子S7-300入门级教程02-数据类型篇02

<a href=https://www.xmzyj.com/ximenzi>西门子</a>S7-300入门级教程02-数据类型篇02″ inline=”0″></p>
<p class=S7-300

实验二 复杂数据类型_1

1)目的

掌握复杂数据类型:ANY / ARRAY / STRING / UDT / STRUCT 。

2)实验内容

①建立UDT1,其元素依次为一个Byte、一个 Word、一个Bool、一个Dword和一个Real等类型的变量,名称自拟。

②建立DB10,要求包含一个6*10的二维数组,其元素类型为Byte,并设置初始化值。

③建立DB11,要求包含一个有8个字符串元素的一维数组,每个字符串长度均为20 。

④建立DB12,要求包含一个类型为UDT1的STRUCT。

⑤建立DB13,要求其包含150个WORD,将常量十进制数96赋给MB3,并且调用标准库\系统功能块中的SFC21填充DB13的从第一位起的300个字节。

3)实验流程

①建立UDT1

在Blocks中右键插入一个Data Type,设置名称和符号名,单击OK完成UDT1创建,如下图所示。

西门子S7-300入门级教程02-数据类型篇02

图1-Data Type

双击UDT1来打开,依次创建一个Byte、一个 Word、一个Bool、一个Dword和一个Real类型变量,并命名该变量,如下图所示。

西门子S7-300入门级教程02-数据类型篇02

图2-建立变量

②建立DB10

在Blocks中右键插入一个Data Block,设置名称和符号名,类型为共享DB,单击OK完成DB10创建,如下图所示。(因已经创建过DB10,所以名称一栏为报红)

西门子S7-300入门级教程02-数据类型篇02

图3-建立DB10

双击DB10来打开,创建一个6*10的二维数组,其元素类型为Byte,并设置初始化值,前20个字节赋值为5,后40个字节赋值为10,如下图所示。(如果每一个数据都不一样就只有手动1.2,4,2..)

西门子S7-300入门级教程02-数据类型篇02

图4-创建数组

通过VIEW->Data view来查看每个元素的初始值信息,如下图所示。

西门子S7-300入门级教程02-数据类型篇02

图5-初始值信息

然后可以在这个视图中实际值有针对性的修改或者赋值,但不能改初始值。

③建立DB11

同上所示,建立DB11,双击DB11来打开,创建一个有8个字符串元素的一维数组,每个字符串长度均为20 ,将默认的STRING[254]改为20,如下图所示。(STRING[20]实际是占用了22的字节,第一个字节用于储存字符串总长度20,第二个字节用于存储字符串实际长度)

西门子S7-300入门级教程02-数据类型篇02

图6-在DB11中建立一维数组

④建立DB12

同上所示,建立DB12,双击DB12来打开,创建一个类型为UDT1的STRUCT,如下图所示。(尽管自带STRUCT,还是建议自己建立一个STRUCT数据类型)

西门子S7-300入门级教程02-数据类型篇02

图7-在DB12中建立UDT1

通过VIEW->Data view来查看元素的信息,如下图所示。

西门子S7-300入门级教程02-数据类型篇02

图8-Data view

⑤建立DB13

同上所示,建立DB13,双击DB13来打开,创建包含150个WORD,如下图所示;

西门子S7-300入门级教程02-数据类型篇02

图9-在DB13中建立150个WORD

使用STL将常量十进制数96(16进制的60)赋给MB3,并且调用标准库\系统功能块中的SFC21(FILL指令)填充DB13的从第一位起的300个字节。如下图所示。

西门子S7-300入门级教程02-数据类型篇02

图10-编程逻辑

打开S7-PLCSIM,下载Blocks,进行测试,运行结果如下图所示。

西门子S7-300入门级教程02-数据类型篇02

图11-测试结果

也可以建立数据表VAT,把DB13中的输出来显示。

西门子S7-300入门级教程02-数据类型篇02

图12-数据表VAT

4)总结

1、 数据类型中数组最多能够用六维如:ARRAY[1..3,1..4,1..2,1..13,1..4,1..5]。

2、熟悉了STEP7中数据类型的存储空间、关键字、长度、常量以及变量表示方式,其中较为复杂的是二维数组的定义和赋初始值;UDT的建立和调用等。这是编程的重要基础(M1.1位,MB1字节,MW2字,MD4双字;其中MW2包括MB2,MB3,MD4中包括MB4,MB5,MB6,MB7;所以在命名是一定不要重合,考虑好字节长度,不要出现MD4,MD6,这就重合了一部分)。

敬请期待下一篇数据类型篇03-复杂数据类型_2

PS:友情提醒,所有文章都是一个系列,是连贯的,顺着看效果更好~

作者简介

谭俊豪:重庆大学机械工程学院学士,西门子中国公司培训生

本文为原创文章,于头条首发,欢迎转载,请注明出处和作者!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据