工艺模块CPU模块S7-1500工艺模块CPU模块S7-1500工艺模块CPU模块S7-1500
西门子PLC模块6ES7512-1SM03-0AB0西门子PLC模块6ES7511-1FL03-0AB0
西门子PLC模块6ES7513-1FM03-0AB0 西门子PLC模块6ES7515-5FN03-0AB0
西门子PLC模块6ES7516-3FP03-0AB0
1.生成功能块
选中SIMATIC管理器左边窗口中的“块”图标,用鼠标右键点击右边窗口,执行出现的快捷菜单中的“插入新对象”→“功能块”,生成一个新的功能块。在出现的功能块属性对话框中,采用系统自动生成的功能块的名称FB1,选择梯形图(LAD)为默认的编程语言。点击“多情景标题”前面的复选框,使其中的“√”消失(没有多重背景功能)。点击“确认”按钮后返回SIMATIC管理器,可以看到右边窗口中新生成的功能块FB1。
2.局部变量
双击生成的FB1,打开程序编辑器。将鼠标的光标放在右边的程序区Zui上面的分隔条上(见图4-13),按住鼠标的左键,往下拉动分隔条,分隔条上面是功能块的变量声明表,下面是程序区,左边是指令列表和库。将水平分隔条拉至程序编辑器视窗的顶部,不再显示变量声明表,它仍然存在。
在变量声明表中声明块专用的局部变量,局部变量只能在它所在的块中使用。
变量声明表的左边窗口给出了该表的总体结构,选中某一变量类型,例如“IN”,在表的右边显示的是输入参数Start等的详细情况。
由图4-13可知,功能块有5种局部变量
1)IN∶输入参数,用于将数据从调用块传送到被调用块。
2)OUT输出参数,用于将块的执行结果从被调用块返回给调用它的块。
3)IN_OUT(输入_输出参数)参数的初值由调用它的块提供,块执行后由同一个参数将执行结果返回给调用它的块。
4)TEMP(临时变量)暂时保存在局部数据区中的变量。临时变量区(L堆栈)类似于没有人管理的公告栏,谁都可以往上面贴告示,后贴的告示将原来的告示覆盖掉。只是在执行块时使用临时变量,执行完后,不再保存临时变量的数值,它可能被同一优先级中别的块的临时数据覆盖。
5)STAT(静态变量)从功能块执行完,到下一次重新调用它,静态变量的值保持不变。
选中变量声明表左边窗口中的输入参数“IN”,在右边窗口中生成两个BOOL变量和一个INT变量(见图4-13)。用类似的方法生成其他局部变量,FBI的背景数据块(见图4-15)中的变量与变量声明表中的局部变量(不包括临时变量)相同。
块的局部变量名必须以字母开始,只能由英语字母、数字和下划线组成,不能使用汉字,在符号表中定义的共享数据的符号名可以使用其他字符(包括汉字)。
在变量声明表中赋值时,不需要指定存储器地址根据各变量的数据类型,程序编辑器自动地为所有的局部变量指定存储器地址。
块的输入参数、输出参数的数据类型可以是基本数据类型、复杂数据类型、Timer(定时器)、Counter(计数器)、块(FB、FC、DB)、Pointer(指针)和ANY等。
3.生成梯形图程序
图4-13的下面是功能块FBI的梯形图程序。用起保停电路来控制发动机的运行,功能块的输入参数Start和Stop分别用来接收起动命令和停止命令。输出参数Engine_On用来控制发动机的运行。用比较指令来监视转速,检查实际转速Actual_Speed是否大于等于预置转速Preset_Speed。如果满足比较条件,Bool输出参数#Overspeed(超速)为1。
STEP7自动地在程序中的局部变量前面加上“#”号,符号表中定义的共享符号被自动加上双引号。
SIEMENS | 模块 | 6ES7288-2DT16-0AA0 |
SIEMENS | 模块 | 6ES7288-3AR04-0AA0 |
SIEMENS | 交换机 | 6GK7277-1AA10-0AA0 |
SIEMENS | 模块 | 6ES7288-5AQ01-0AA0 |
SIEMENS | 模块 | 6ES7288-5CM01-0AA0 |
SIEMENS | 网线 | 6XV1840-2AH10 |
SIEMENS | 电源 | 6EP1333-2BA20 |
SIEMENS | 底座 | 6ES7193-6BP00-0DA0 |
工艺模块CPU模块S7-1500工艺模块CPU模块S7-1500工艺模块CPU模块S7-1500工艺模块CPU模块S7-1500工艺模块CPU模块S7-1500工艺模块CPU模块S7-1500工艺模块CPU模块S7-1500工艺模块CPU模块S7-1500工艺模块CPU模块S7-1500