控制软件

在STEP 7 (TIA 博途)中,如何初始化S7-1500 的优化存储区?

2025China.cn   2013年10月23日

  描述

  优化块临时数据区中的变量在每次调用块时被用缺省值初始化(如,INT 的缺省值是 0)。下列内容不会被初始化:

   ● 声明为数组的变量。

   ● 非优化块中声明的变量。

  在 STEP 7 (TIA 博途)中, 对西门子S7-1500 的优化存储区中的结构体可以用用户自定义的值进行初始化。

  如果要把定义的值加载到结构体中的独立元素,只能先初始化临时结构体,再分配给静态结构体。在SCL中使用FOR循环可以在运行时用很少的代码初始化大量区域(数组结构)。

  图. 01 是一个DB块结构中有两个DB变量的示例。第二个DB变量的PLC数据类型使用的是 "Array [1..10] of motor data type".

  图. 01

  使用 "MOVE" 指令(复制值) 可以完整的初始化结构体 InOut 变量 "Motor". 在下面的例子中,临时变量"tmp_Motor" 的内容传到了 InOut 变量 "Motor". 在 LAD/FBD 中, 位信号通过slice访问复制到了状态字(图. 02).

  图. 02

  临时变量和InOut变量必须具有相同的数据类型或相同的结构体数据类型。图. 03 说明了在SLC中编程实现完整初始化 InOut 变量 "Motor" 和单个元素的位到位访问。

  图. 03

  下面的例子说明初始化DB变量 "Motor field". 在SCL中使用 FOR 指令,循环程序重复执行只要运行变量 "tmp_Counter" 在指定的范围内。由于PLC数据类型是 "Array [1..10] of motor data type", 程序循环必须执行10次("1 TO 10 DO") 来初始化结构体变量中的所有数组元素。

  图. 04

  注意

  在 UDT中,可以通过声明定义初始值,这样基于UDT的每一个变量都有其初始值。只有对运行中的设备做程序复位时才需要初始化结构体变量。当 STOP/RUN 切换时,就会从从装载存储区提取初始值,这相当于一次复位。

(转载)

标签:西门子 TIA 博途 PLC STEP 7 我要反馈 
什么是新一代机器人界面(HMI)?
ABB协作机器人,自动化从未如此简单
优傲机器人下载中心
即刻点击并下载ABB资料,好礼赢不停~
西克
专题报道