新闻详情

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

发布时间: 2024-04-12

在tia portal 编程中,针对s7-1200/1500控制器,允许用户对已定义的字节(byte),字(word),双字(dword),长字(lword)等数据类型,允许以更小的变量长度单位来独立访问,可以访问宽度为 1 位、8 位、16 位或 32 位的区域,这就是slice片段访问。

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


图1:slice片段访问结构示意图


                                   图2:slice片段访问的语法结构

at覆盖变量

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

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

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

1.在 stl、lad、fbd 和 graph 中,s7-1200 和 s7-1500 允许变量覆盖。

2.scl支持在所有 cpu 系列中覆盖。

3.可以在以下块中覆盖变量:

4.在标准访问的代码块中

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

6.覆盖变量数据宽度必须小于等于被覆盖变量的数据宽度

7.不可以覆盖 variant 和 instance 数据类型的变量

8.无法覆盖库中声明为接口中参数的块

9.无法覆盖接口中声明为参数的结构化 plc 变量

s7-1200/1500:在 fc 中使用 at

对于 s7-1200/1500 中的 fc,覆盖变量和被覆盖变量的数据长度必须相同。如果无法通过程序实现,则可通过 .x、.b、.w 或 .d 语法对现有变量中的区域进行寻址。


图3:at 覆盖变量示例

slice片段访问与at覆盖变量的使用


展开全文

供应商
广东湘恒智能科技有限公司
联系电话
15903418770
手机号
15915421161
联系人
张经理
所在地
惠州大亚湾澳头石化大道中480号太东天地花园2栋二单元9层01号房
我们的新闻
咨询 在线询价 拨打电话