的西门子S7-1500可编程控制器门市价的西门子S7-1500可编程控制器 或LAD 格式显示 STL 程序的一些原因。虽然可以在 LAD/STL/FBD编辑器中将视图设置为“FBD”或“LAD ”,但是程序代码仍然完全以“STL”方式显示,或者部分程序段仍然以“STL”方式显示。
序号 | 原因和补救措施 |
1 | 在一个程序段中编写了多个赋值 在 FBD 或 LAD 中支持显示使用 STL 语言编写的 STEP 7 程序。但是,在编写了 STL 程序之后,无法切换到 FBD或 LAD。 造成此问题的一个原因可能是,在“S”或“R”赋值之后,又有一个新的赋值指令。 在 FBD 和 LAD中,对于在每个“S”或“R”赋值之后会有新的程序段,因为一个程序段中只允许出现一个这样的赋值操作。 在 STL中,可以编制具有任意长度和多个赋值的程序代码。图 01 给出了一个 STL 程序,在该程序中,在赋值语句“S M1.1”之 后接着便是下一个子程序(指令“U E1.3”)。这样便无法从 STL 转换成 FBD 或 LAD。 补救措施 另外可能的原因是在完成一系列的指令过程中,这些指令并不满足结构上的要求。在 STL语言中对程序代码的编写要比其它语言自由得多。 补救措施 |
2 | 在 STL 视图中插入了临时变量 当使用 LAD/FBD 语言编制程序时,编译器在某些结构中创建内部本地数据,如图 05 所示。 如果在 STL 视图的 TEMP变量区中声明了一个变量,便会与程序中的地址访问的本地数据相冲突。然后便会给出下列错误消息: 然后,编译器创建的本地数据便会变成用户本地数据,这样便无法再切换到 LAD/FBD 视图。 补救措施 |
3 | 地址类型检查 已经在 STEP 7 V5.0中以功能块图 (FBD) 或梯形图 (LAD) 形式创建的程序段,在转换成 STEP 7 V5.1 (或更高版本) 时,程序段不能再以FBD 或 LAD 格式显示,而只能以 STL 显示。 对于 V5.1 及更高版本的 STEP7,会对显示类型“FBD”和“LAD”进行参数检查,这样如果存在不一致的参数声明,则会阻止程序段 以 FBD/LAD的格式显示。在 STL 中并没有参数检查,所以可以显示。 举例 注意
|
4 | 丢失 NOP 语句 只有在 STL 语句为相关 LAD/FBD 元件提供了完整的参数,并且保持了规定的顺序时,才能将编程语言从 STL 切换成LAD/FBD。在 STL 中未使用的参数将被设置为 NOP 0 (空操作,位组合是 16 个“0”)。图08 给出了一个接通延迟的示例程序。
|