故事作者:Zane

最近创作

看看TA的故事

【Zane说编程】之Slice片段访问与AT覆盖变量的使用区别

已锁定

Zane

西门子1847工业学习平台

  • 帖子

    19330
  • 精华

    377
  • 被关注

    1234

论坛等级:至圣

注册时间:2003-06-06

钻石 钻石 如何晋级?

【Zane说编程】之Slice片段访问与AT覆盖变量的使用区别

15060

9

2014-12-20 20:52:36

Slice片段访问与AT覆盖变量的使用区别

 

1. Slice片段访问

TIA Portal 编程中,针对S7-1200/1500控制器,允许用户对已定义的字节(Byte),字(Word),双字(DWord),长字(LWord)等数据类型,允许以更小的变量长度单位来独立访问,可以访问宽度为 1 位、8 位、16 位或 32 位的区域,这就是Slice片段访问。

Slice片段访问不支持对常数变量的访问。

 

1Slice片段访问结构示意图

 

2Slice片段访问的语法结构

 

2.       AT 覆盖变量

用户程序要访问声明变量内的数据区域,可以通过附加声明来覆盖所声明的变量。 这样,可以选择对不同数据类型的已声明变量进行寻址。例如,可以使用 BOOL ARRAY WORD 数据类型变量的各个位寻址。

要覆盖变量,直接在待覆盖的变量后声明附加变量,并用关键字“AT”加以标识

对于变量覆盖可适用以下通用规则:

·         STLLADFBD GRAPH 中,S7-1200 S7-1500 允许变量覆盖。

·         SCL 支持在所有 CPU 系列中覆盖。

·         可以在以下块中覆盖变量:

o    在标准访问的代码块中

o    在可优化访问具有保留设置“ IDB 中设置”的变量的代码块中

·         覆盖变量数据宽度必须小于等于被覆盖变量的数据宽度。

·         不可以覆盖 VARIANT INSTANCE 数据类型的变量。

·         无法覆盖库中声明为接口中参数的块。

·         无法覆盖接口中声明为参数的结构化 PLC 变量

S7-1200/1500: 在 FC 中使用 AT

对于 S7-1200/1500 中的 FC,覆盖变量和被覆盖变量的数据长度必须相同。如果无法通过程序实现,则可通过 .X.B.W .D 语法对现有变量中的区域进行寻址。

 

3AT 覆盖变量示例

 

3. Slice片段访问与AT覆盖变量的使用差别

对比项

Slice 片段访问

AT 覆盖变量

S7-300/400

×

√(SCL

S7-1200/1500

√

√

符号访问

√

√

全局访问

√

×

局部访问

√

√

优化数据访问

√

√(Set in IDB

HMI访问

×

×

数据长度

最大64位

不限

额外变量声明

不需要

需要

程序效率

程序可读性

 

 

 

【Zane说编程】之Slice片段访问与AT覆盖变量的使用区别 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

网友专栏

共有3233条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。