水电之家讯:下表说明了为什么不能以 FBD 或 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。
图01 补救措施
将 STL 程序分成相关的几个程序段,这样在每个赋值 (“S”、“R”) 之后重新起始一个新程序段。如果赋值“U E1.3”之后的程序代码是在第二个程序段中,如图 02 中所示,则便可以从 STL 转换成 FBD 或 LAD。
图02 另外可能的原因是在完成一系列的指令过程中,这些指令并不满足结构上的要求。在 STL 语言中对程序代码的编写要比其它语言自由得多。
图03 补救措施
使用结构化的顺序和括号来编写多条指令。
图04
2在 STL 视图中插入了临时变量
当使用 LAD/FBD 语言编制程序时,编译器在某些结构中创建内部本地数据,如图 05 所示。
图05 如果在 STL 视图的 TEMP 变量区中声明了一个变量,便会与程序中的绝对地址访问的本地数据相冲突。然后便会给出下列错误消息:
图06 然后,编译器创建的本地数据便会变成用户本地数据,这样便无法再切换到 LAD/FBD 视图。 补救措施
在使用LAD/FBD 语言时,应该始终在 LAD/FBD 视图中声明本地数据变量。这样,当声明新的本地数据时,内部编译器会更改自己使用的本地数据地址。
3地址类型检查
已经在 STEP 7 V5.0 中以功能块图 (FBD) 或梯形图 (LAD) 形式创建的程序段,在转换成 STEP 7 V5.1 (或更高版本) 时,程序段不能再以 FBD 或 LAD 格式显示,而只能以 STL 显示。 对于 V5.1 及更高版本的 STEP 7,会对显示类型“FBD”和“LAD”进行参数检查,这样如果存在不一致的参数声明,则会阻止程序段 以 FBD/LAD 的格式显示。在 STL 中并没有参数检查,所以可以显示。 举例
在 STEP 7 V5.0 中,编制一个比较运算程序,用于检查两个地址之间的差异。通过使用语句“<>I”,该运算基于整数数据类型 (整数 :带符号的 2 字节数据)。为两个地址分配参数类型 WORD 是错误的 (字:2 字节数据) 。其结果是,在 V5.0 中,可以在 FBD/LAD 中显示。但是,从版本 V5.1 开始,就只能在 STL 中显示相关的程序段了。现在将被比较参数的数据类型从字改成整数,然后便可以再次在更高版本的 FBD/LAD 中显示程序段了。 注意 作为补救措施,也可以在 LAD/FBD 编辑器的“LAD/FBD”标签中的“Options > Customize”下关闭类型检查。在切换 之后,开始时没有激活类型检查。只有在删除了相关的数据,然后又重新输入它之后,类型检查才激活。 但是更好的方式是修正数据类型,因为数据类型检查是用于避免编程错误的。 块调用的类型检查是始终激活的,不能关闭。
图07
4丢失 NOP 语句
只有在 STL 语句为相关 LAD/FBD 元件提供了完整的参数,并且保持了规定的顺序时,才能将编程语言从 STL 切换成 LAD/FBD。在 STL 中未使用的参数将被设置为 NOP 0 (空操作,位组合是 16 个“0”)。图 08 给出了一个接通延迟的示例程序。
图08 如果没有 NOP 0 语句,则将无法在 FBD 或 LAD 中显示。
水电之家为您提供最全面的管材,管件,水电,电线,电工,管材水电品牌的装修知识点和各种管材水电的导购与在线购买服务,拥有最便宜的管材水电价格和最优质的售后服务,每天都有秒杀的抢购活动哦!敬请登陆水电之家:http://shuidian.jc68.com/
电工知识|为什么不能以FBD或者LAD格式显示STL程序?
2025-05-15 浏览:58

-
上一篇:暂无信息