一、程序结构
SIEMNES S7-200SMART PLC中的程序结构分为三种:
(1)线性化编程
(2)功能块化编程
(3)结构化编程
线性化编程:就是把所有的程序全写在MAIN(主程序)中;不适合做程序的调试和修改,实际应用中我们不常用且不推荐
功能块化编程:也称之为子程序;在实际的程序编写中,根据控制任务进行结构划分,每个子程序完后一个功能(工艺要求),然后根据条件去调用相应的子程序来实现对应的功能运行;可让程序结构清晰,明了;也方便调试和程序的修改。在实际应用中是我们常用的方式之一。
结构化编程:又称为带形式参数的子程序;在功能块化编程的基础上再一次优化,可生成库指令调用,当功能指令赋予不同的实参反复使用,并且适合项目的移植。
二、程序特点
子程序可以把整个用户程序按照功能进行结构化的组织。一个“好”的程序总是把全部的控制功能分为几个符合工艺控制规律的子功能块,每个子功能块可以由一个或多个子程序组成。
这样的结构也非常有利于分步调试,以免许多功能综合在一起无法判断问题的所在;而且,几个类似的项目也只需要对同一个程序作简单的修改就能使用
子程序特点如下:
1、更好的组织程序结构,便于调试和阅读;
2、子程序在执行到末尾时自动返回,不必加返回指令;
3、子程序不能使用跳转语句跳入、跳出;
4、S7-200 SMART CPU最多可以调用128个子程序;
5、子程序可以嵌套调用,即子程序中再调用子程序,一共可以嵌套8层
6、子程序可以带参数调用,在子程序的局部变量表中设置参数的类型
7、子程序分为带参数的子程序和不带参数的子程序
8、带参数的子程序会使用局部存储器L来建立变量
9、子程序在调用时,系统会给子程序分配想要的局部存储器
10、子程序在调用结束后,局部存储区会释放出来,但不会对其进行初始化
三、子程序接口区定义
需要建立带参数的子程序,则在编写子程序时,需要在子程序的变量表里面编写相应的形式参数变量,编写完成后,在填写程序时使用编写的形式参数变量进行编程
输入变量 (IN ):可读变量(只能对它的数据进行读取,不能修改它的状态)用于外围的数据或状态传入到子程序的对应形参中以便后续运算
输入输出变量 (IN/OUT):可读可写变量,子程序被调用时先把子程序的初始值传入到子程序内部运算,运算完后,再把运算结果放回到该地址中存储,以便下一次使用。
输出变量(OUT ):运算结果就该变量输出给外围的实参变量
临时变量(TEMP):用于暂存中间的运算结果,该变量若用于运算时,首先要知道其确定的值。
变量表的地址就是局部存储区L,其根据符号和数据类型自动生成,无需手动添加;
联系客服