西门子PLC 7288 SMART 200 系列大量现货 13922952859
siemens西门子PLC专注西门子PLC 7288系列 SMART 200系列现货销售
全国咨询热线:13922952859
当前位置: 首页 > 知识课堂 > PLC知识

为什么不能以 FBD 或者 LAD 格式显示 STL 程序?

时间:2022-08-28 12:51:12 作者:admin 点击:

n

描述
下表说明了为什么不能以 FBD 或 LAD 格式显示 STL 程序的一些原因。虽然可以在 LAD/STL/FBD 编辑器中将视图设置为“FBD”或“LAD ”,但是程序代码仍然完全以“STL”方 式显示,或者部分程序段仍然以“STL”方式显示。

序号原因和补救措施1在一个程序段中编写了多个赋值
在 FBD 或 LAD 中支持显示使用 STL 语言编写的 STEP 7 程序。但是,在编写了 STL 程序之后,无法切换到 FBD 或 LAD。 n

造成此问题的一个原因可能是,在“S”或“R”赋值之后,又有一个新的赋值指令。 在 FBD 和 LAD 中,对于在每个“S”或“R”赋值之后会有新的程序段,因为一个程序段中只允许出现一个这样的赋值操作。 在 STL 中,可以编制具有任意长度和多个赋值的程序代码。图 01 给出了一个 STL 程序,在该程序中,在赋值语句“S M1.1”之 后接着便是下一个子程序(指令“U E1.3”)。这样便无法从 STL 转换成 FBD 或 LAD。n

为什么不能以 FBD 或者 LAD 格式显示 STL 程序?
图01n

补救措施
将 STL 程序分成相关的几个程序段,这样在每个赋值 (“S”、“R”) 之后重新起始一个新程序段。如果赋值“U E1.3”之后的程序代码是在第二个程序段中,如图 02 中所示,则便可以从 STL 转换成 FBD 或 LAD。n

为什么不能以 FBD 或者 LAD 格式显示 STL 程序?
图02n

另外可能的原因是在完成一系列的指令过程中,这些指令并不满足结构上的要求。在 STL 语言中对程序代码的编写要比其它语言自由得多。n

为什么不能以 FBD 或者 LAD 格式显示 STL 程序?
图03n

补救措施
使用结构化的顺序和括号来编写多条指令。n

为什么不能以 FBD 或者 LAD 格式显示 STL 程序?
图042在 STL 视图中插入了临时变量
当使用 LAD/FBD 语言编制程序时,编译器在某些结构中创建内部本地数据,如图 05 所示。 n

为什么不能以 FBD 或者 LAD 格式显示 STL 程序?
图05n

如果在 STL 视图的 TEMP 变量区中声明了一个变量,便会与程序中的绝对地址访问的本地数据相冲突。然后便会给出下列错误消息:n

为什么不能以 FBD 或者 LAD 格式显示 STL 程序?
图06n

然后,编译器创建的本地数据便会变成用户本地数据,这样便无法再切换到 LAD/FBD 视图。n

补救措施
在使用LAD/FBD 语言时,应该始终在 LAD/FBD 视图中声明本地数据变量。这样,当声明新的本地数据时,内部编译器会更改自己使用的本地数据地址。3地址类型检查
已经在 STEP 7 V5.0 中以功能块图 (FBD) 或梯形图 (LAD) 形式创建的程序段,在转换成 STEP 7 V5.1 (或更高版本) 时,程序段不能再以 FBD 或 LAD 格式显示,而只能以 STL 显示。 n

对于 V5.1 及更高版本的 STEP 7,会对显示类型“FBD”和“LAD”进行参数检查,这样如果存在不一致的参数声明,则会阻止程序段 以 FBD/LAD 的格式显示。在 STL 中并没有参数检查,所以可以显示。n

举例
在 STEP 7 V5.0 中,编制一个比较运算程序,用于检查两个地址之间的差异。通过使用语句“<>I”,该运算基于整数数据类型 (整数 :带符号的 2 字节数据)。为两个地址分配参数类型 WORD 是错误的 (字:2 字节数据) 。其结果是,在 V5.0 中,可以在 FBD/LAD 中显示。但是,从版本 V5.1 开始,就只能在 STL 中显示相关的程序段了。现在将被比较参数的数据类型从字改成整数,然后便可以再次在更高版本的 FBD/LAD 中显示程序段了。n

注意

  • 作为补救措施,也可以在 LAD/FBD 编辑器的“LAD/FBD”标签中的“Options > Customize”下关闭类型检查。在切换 之后,开始时没有激活类型检查。只有在删除了相关的数据,然后又重新输入它之后,类型检查才激活。n
  • 但是更好的方式是修正数据类型,因为数据类型检查是用于避免编程错误的。n
  • 块调用的类型检查是始终激活的,不能关闭。

为什么不能以 FBD 或者 LAD 格式显示 STL 程序?
图074丢失 NOP 语句
只有在 STL 语句为相关 LAD/FBD 元件提供了完整的参数,并且保持了规定的顺序时,才能将编程语言从 STL 切换成 LAD/FBD。在 STL 中未使用的参数将被设置为 NOP 0 (空操作,位组合是 16 个“0”)。图 08 给出了一个接通延迟的示例程序。 n

为什么不能以 FBD 或者 LAD 格式显示 STL 程序?
图08n

如果没有 NOP 0 语句,则将无法在 FBD 或 LAD 中显示。

n

关键字
数据一致性,显示选项,指令列表