大家好,欢迎来到IT知识分享网。
STEP 7 为 S7-1200 提供以下标准编程语言:
- LAD(梯形图逻辑)是一种图形编程语言。它使用基于电路图的表示法。
- FBD(功能块图)是基于布尔代数中使用的图形逻辑符号的编程语言。
- SCL(结构化控制语言)是一种基于文本的高级编程语言。 创建代码块时,应选择该块要使用的编程语言。 用户程序可以使用由任意或所有编程语言创建的代码块。
梯形图 (LAD)
电路图的元件(如常闭触点、常开触点和线圈)相互连接构成程序段。
要创建复杂运算逻辑,可插入分支以创建并行电路的逻辑。 并行分支向下打开或直接连接到电源线。 用户可向上终止分支。
LAD 向多种功能(如数学、定时器、计数器和移动)提供“功能框”指令。STEP 7 不限制 LAD 程序段中的指令(行和列)数。
说明
每个 LAD 程序段都必须使用线圈或功能框指令来终止。
创建 LAD 程序段时请注意以下规则:
- 不能创建可能导致反向能流的分支。
- 不能创建可能导致短路的分支。
功能块图 (FBD)
与 LAD 一样,FBD 也是一种图形编程语言。 逻辑表示法以布尔代数中使用的图形逻辑符号为基础。
要创建复杂运算的逻辑,在功能框之间插入 并行分支。算术功能和其它复杂功能可直接结合逻辑框表示。STEP 7 不限制 FBD 程序段中的指令(行和列)数。
SCL
结构化控制语言 (SCL, Structured Control Language) 是用于 SIMATIC S7 CPU 的基于 PASCAL 的高级编程语言。 SCL 支持 STEP 7 的块结构 。 可以使用以下三种编程语言之一将程序块包括到项目中:SCL、LAD 和 FBD。
SCL 指令使用标准编程运算符,例如,用 (:=) 表示赋值,算术功能(+ 表示相加,- 表示相减,* 表示相乘,/ 表示相除)。 SCL 也使用标准的 PASCAL 程序控制操作,如 IF-THEN-ELSE、CASE、REPEAT-UNTIL、GOTO 和 RETURN。 SCL
编程语言中的语法元素还可以使用所有的 PASCAL 参考。 许多 SCL 的其它指令(如定时器和计数器)与 LAD 和 FBD 指令匹配。 有关特定指令的更多信息,请参见基本指令 和扩展指令章节中的特定指令。
SCL 程序编辑器
可以在创建该块时指定任何块类型(OB、FB 或 FC)以便使用 SCL 编程语言。 STEP 7
提供包含以下元素的 SCL 程序编辑器:
- 用于定义代码块参数的接口部分
- 用于程序代码的代码部分
- 包含CPU支持的 SCL 指令的指令树 可以直接在代码部分输入指令的 SCL 代码。
编辑器包含用于通用代码结构和注释的按钮。 要了解更复杂的指令,只需从指令树拖动
SCL 指令并将其放入程序中。 也可以使用任意文本编辑器创建 SCL程序,然后将相应文件导入 STEP 7 中。
在 SCL 代码块接口部分,可以声明下列类型的参数:●Input、Output、InOut 和 Ret_Val: 这些参数定义代码块的输入变量、输出变量和返回值。 执行代码块期间局部使用此处输入的变量名称。 通常不会使用变量表中的全局变量名称。●Static(仅适用于 FB,上述示例适用于 FC): 代码块使用静态变量在背景数据块中存储静态中间结果。 块会一直保留静态数据,直到多个周期后被覆盖。 块的名称(此块将其作为多重背景调用)也存储在静态局部数据中。●Temp:这些参数是执行代码块期间使用的临时变量。●Constant:这些是为代码块指定的常数值。如果从其它代码块调用 SCL 代码块,该 SCL 代码块的参数会显示为输入或输出。
本示例中,“Start”和“On”变量(来自项目变量表)相当于 SCL程序声明表中的“StartStopSwitch”和“RunYesNo”。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/161992.html