S7-1200使用数组实现间接寻址的方法

发布时间:2024-07-12  

S7-1200 从 固件版本 V2.0 开始就支持数组下标使用变量的方式,这就意味着数组是最方便的间接寻址的方法,通过改变下标变量实现各式各样的功能。

数组间接寻址通常有这么几种

DB 中数组,或者块接口、Static、Temp 的数组


字符串字符间接寻址

I、Q 的数组

FB 多重背景的数组

DB_ANY 的数组

下面就这几种情况分别介绍。

通常数组间接寻址都是使用 SCL 进行编程,因为这往往伴随着 FOR 循环方便实现,下面都是 SCL 的编程案例。但这不意味着 LAD 无法实现,可以在上面数组介绍中查看如何在 LAD 中实现变址。

1. 普通数组变量

普通数组变量就是一般常见的在 DB 块中直接定义的数组,或者在块接口中出现的,例如常见的 FB 静态变量的数组。

举例:从数组变量中找出最大和最小,然后剔除后按原顺序送入另一数组。整个过程如图 1、2、3、4 所示。

例子程序的源文件链接:源文件,使用链接的方式如下:使用方法。

以下例程仅供参考。

0ad374d6-2f3a-11ee-815d-dac502259ad0.png

图 1. 定义 FC 块接口

0afcea6e-2f3a-11ee-815d-dac502259ad0.png

图 2. 编写程序

0b3cb87e-2f3a-11ee-815d-dac502259ad0.png

图 3. 调用块

0b505b86-2f3a-11ee-815d-dac502259ad0.png

图 4. 监视结果

2. 字符串字符间接寻址

默认情况下,数据类型 String 和 WString 都包含 254 个字符,WString 最多可以定义 16382 个字符,这些字符可以通过下标进行读取,并且可以认为是数组实现变址寻址。

注意:字符下标是从 1 开始。

举例:将 String[8] 中的 0 - 9 和 A-F、a-f 以外的字符去掉,然后转换为一个 DWord 变量。整个过程如图 5、6、7、8 所示。

因为 FC 无法定义带长度的字符串参数接口,所以使用 FB。

例子程序的源文件链接:源文件,使用链接的方式如下:使用方法。

以下例程仅供参考。

0b755b0c-2f3a-11ee-815d-dac502259ad0.png

图 5. 定义 FB 块接口

0b968c28-2f3a-11ee-815d-dac502259ad0.png

图 6. 编写程序



图 7. 调用块

0bce43d4-2f3a-11ee-815d-dac502259ad0.png

图 8. 监视结果

注:如果对字符串不处理直接进行 ATH 转换,结果如图 9 所示。所有的不合规的字符都转换为 0。

0be22156-2f3a-11ee-815d-dac502259ad0.png

图 9. 监视结果

3. I、Q 的数组

在 PLC 变量表 I、Q 是不能直接定义为数组的,但是从 CPU V4.0 固件以后,I、Q 可以定义为 PLC 数据类型,这样在 PLC 数据类型中定义数组,间接的使得 I、Q 成为数组数据类型,方便的间接寻址,无需再使用 PEEK 指令。

举例:对 IW100 开始 16 个模拟量进行标定。整个过程如图 10、11、12、13、14 所示。

例子程序的源文件链接:源文件,使用链接的方式如下:使用方法。

以下例程仅供参考。

0bfc4e0a-2f3a-11ee-815d-dac502259ad0.png

图 10. 编写程序

0c15d0f0-2f3a-11ee-815d-dac502259ad0.png

图 11. 定义 PLC 数据类型

0c330b48-2f3a-11ee-815d-dac502259ad0.png

图 12. 定义 PLC 变量

0c4dce2e-2f3a-11ee-815d-dac502259ad0.png

图 13. 定义数据块

0c5976fc-2f3a-11ee-815d-dac502259ad0.png

图 14. 调用程序

4. FB 多重背景的数组

5. DB_ANY 的数组


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>