在TIA Protal中Slice片段访问与AT覆盖变量的使用区别
在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号房