2.4 编写用户程序与使用变量表

2.4.1 编写用户程序

1.在项目视图中生成项目

如果勾选了图1-11中的复选框“打开最近的项目”,启动STEP 7后,将自动打开上一次关闭软件之前打开的项目的项目视图(见图2-20)。

978-7-111-57703-4-Chapter02-47.jpg

图2-20 项目视图中的程序编辑器

执行菜单命令“项目”→“新建”,生成一个新的项目,项目名称为“电动机控制”。

2.添加新设备

双击项目树中的“添加新设备”,添加一个新设备。单击打开的对话框中的“控制器”按钮(见图1-10),选中右边窗口的“CPU 1214C”文件夹中的某个订货号。单击“确定”按钮,生成名为“PLC 1”的新PLC,该设备只有CPU模块。

图2-20中标有⑧的编辑器栏中的按钮对应于已经打开的编辑器。单击编辑器栏中的某个按钮,可以在工作区显示单击的按钮对应的编辑器。

3.系统简介

图2-21是异步电动机星形-三角形降压起动的主电路和PLC的外部接线图。起动时主电路中的接触器KM1和KM2接通,异步电动机在星形接线方式运行,以减小起动电流。延时后KM1和KM3接通,在三角形接线方式运行。

停车按钮和过载保护器的常开触点并联后接在I0.1对应的输入端,可以节约一个输入点。输入回路使用CPU模块内置的DC 24V电源,其负极M点与输入电路内部的公共点1M连接,L+是DC 24V电源的正极。

978-7-111-57703-4-Chapter02-48.jpg

图2-21 电动机主电路与PLC外部接线图

4.程序编辑器简介

双击项目树的文件夹“\PLC 1\程序块”中的OB1,打开主程序(见图2-20)。选中项目树中的“默认变量表”后,标有②的详细视图显示该变量表中的变量,可以将其中的变量直接拖拽到梯形图中使用。拖拽到已设置的地址上时,原来的地址将会被替换。

将鼠标的光标放在OB1的程序区最上面的分隔条上,按住鼠标左键,往下拉动分隔条,分隔条上面是代码块的接口(Interface)区(见图2-20中标有⑦的区域),下面标有③的是程序区。将水平分隔条拉至程序编辑器视窗的顶部,不再显示接口区,但是它仍然存在。

程序区的下面标有④的区域是打开的程序块的巡视窗口。标有⑥的区域是任务卡中的指令列表。标有⑤的区域是指令的收藏夹(Favorites),用于快速访问常用的指令。单击程序编辑器工具栏上的978-7-111-57703-4-Chapter02-49.jpg按钮,可以在程序区的上面显示收藏夹。可以将指令列表中自己常用的指令拖拽到收藏夹,也可以用鼠标右键快捷菜单中的命令删除收藏夹中的指令。

5.生成用户程序

按下起动按钮I0.0,Q0.0和Q0.1同时变为1状态(见图2-22中的梯形图),使KM1和KM2同时动作,电动机按星形接线方式运行,定时器TON的IN输入端为1状态,开始定时。8s后定时器的定时时间到,其输出位"T1".Q的常闭触点断开,使Q0.1和KM2的线圈断电。"T1".Q的常开触点闭合,使Q0.2和KM3的线圈通电,电动机改为三角形接线方式运行。按下停车按钮,梯形图中I0.1的常闭触点断开,使KM1和KM3的线圈断电,电动机停止运行。过载时I0.1的常闭触点也会断开,使电动机停机。

下面介绍生成用户程序的过程。选中程序段1中的水平线,依次单击图2-20中标有⑤的收藏夹中的978-7-111-57703-4-Chapter02-50.jpg978-7-111-57703-4-Chapter02-51.jpg978-7-111-57703-4-Chapter02-52.jpg按钮,水平线上出现从左到右串联的常开触点、常闭触点和线圈,元件上面红色的地址域978-7-111-57703-4-Chapter02-53.jpg用来输入元件的地址。选中最左边的垂直“电源线”,依次单击收藏夹中的按钮978-7-111-57703-4-Chapter02-54.jpg978-7-111-57703-4-Chapter02-55.jpg978-7-111-57703-4-Chapter02-56.jpg,生成一个与上面的常开触点并联的Q0.0的常开触点。

选中图2-22中I0.1的常闭触点之后的水平线,依次单击978-7-111-57703-4-Chapter02-57.jpg978-7-111-57703-4-Chapter02-58.jpg978-7-111-57703-4-Chapter02-59.jpg按钮,出现图中Q0.1线圈所在的支路。

输入触点和线圈的绝对地址后,自动生成名为“tagx”(x为数字)的符号地址,可以在PLC变量表中修改它们。绝对地址前面的字符%是编程软件自动添加的。

S7-1200使用的IEC定时器和计数器属于函数块(FB),在调用它们时,需要生成对应的背景数据块。选中图2-22中"T1".Q的常闭触点左边的水平线,单击978-7-111-57703-4-Chapter02-60.jpg按钮,然后打开指令列表中的文件夹“定时器操作”,用鼠标双击其中的接通延时定时器TON的图标,出现图2-23中的“调用选项”对话框,将数据块默认的名称改为“T1”。单击“确定”按钮,生成指令TON的背景数据块DB1。S7-1200的定时器和计数器没有编号,可以用背景数据块的名称来作它们的标识符。

978-7-111-57703-4-Chapter02-61.jpg

图2-22 梯形图

978-7-111-57703-4-Chapter02-62.jpg

图2-23 生成定时器的背景数据块

在定时器的PT输入端输入预设值T#8s。定时器的输出位Q是它的背景数据块“T1”中的Bool变量,符号名为"T1".Q。为了输入定时器左上方的常闭触点的地址"T1".Q,单击触点上面的978-7-111-57703-4-Chapter02-63.jpg,再单击出现的小方框右边的978-7-111-57703-4-Chapter02-64.jpg按钮,单击出现的地址列表中的"T1"(见图2-24中左图),地址域出现“’T1’.”。单击地址列表中的“Q”,地址列表消失,地址域出现"T1".Q。

978-7-111-57703-4-Chapter02-65.jpg

图2-24 生成地址"T1".Q

生成定时器时,也可以将收藏夹的978-7-111-57703-4-Chapter02-66.jpg图标拖拽到指定的位置,单击出现的图标中的问号,再单击图标中出现的978-7-111-57703-4-Chapter02-67.jpg按钮,用下拉式列表选中TON,或者直接输入TON。可以用这个方法输入任意的指令。

选中最左边的垂直“电源线”,单击978-7-111-57703-4-Chapter02-68.jpg按钮,生成图2-22中用"T1".Q和I0.1控制Q0.2的电路。

与S7-200和S7-300/400不同,S7-1200的梯形图允许在一个程序段内生成多个独立电路。

单击工具栏上的978-7-111-57703-4-Chapter02-69.jpg按钮,将在选中的程序段的下面插入一个新的程序段。978-7-111-57703-4-Chapter02-70.jpg按钮用于删除选中的程序段。978-7-111-57703-4-Chapter02-71.jpg978-7-111-57703-4-Chapter02-72.jpg按钮用于打开或关闭所有的程序段。978-7-111-57703-4-Chapter02-73.jpg按钮用于关闭或打开程序段的注释。单击程序编辑器工具栏上的978-7-111-57703-4-Chapter02-74.jpg按钮,可以用下拉式菜单选择只显示绝对地址、只显示符号地址,或同时显示两种地址。单击工具栏上的978-7-111-57703-4-Chapter02-75.jpg按钮,可以在上述3种地址显示方式之间切换。

即使程序块没有完整输入,或者有错误,也可以保存项目。

6.设置程序编辑器的参数

用菜单命令“选项”→“设置”打开“设置”编辑器(见图2-25),选中工作区左边窗口中的“PLC编程”文件夹,可以设置是否显示注释。如果勾选了右边窗口的复选框“IEC检查”,项目中所有的新块都将启用IEC检查。执行指令时,将用较严格的条件检查操作数的数据类型是否兼容。

978-7-111-57703-4-Chapter02-76.jpg

图2-25 程序编辑器的参数设置

“助记符”选择框用来选择使用英语助记符(国际)或德语助记苻。

选中“设置”编辑器左边窗口的“LAD/FBD”组,图2-25的右图是此时的右边窗口的部分内容。“字体”区的“大小”选择框用来设置程序编辑器中字体的大小。“视图”区的布局单选框用来设置操作数和其他对象(例如操作数与触点)之间的垂直间距,建议设置为“紧凑”。

“操作数域”的“最大宽度”和“最大高度”分别是操作数域水平方向和垂直方向可以输入的最大字符数。如果操作数域的最大宽度设置过小,有的方框指令内部的空间不够用,方框的宽度将会自动增大。需要关闭块后重新打开它,修改后的设置才起作用。

2.4.2使用变量表与帮助功能

1.生成和修改变量

打开项目树的文件夹“PLC变量”,双击其中的“默认变量表”,打开变量编辑器。选项卡“变量”用来定义PLC的变量,选项卡“系统常数”中是系统自动生成的与PLC的硬件和中断事件有关的常数值。

在“变量”选项卡最下面的空白行的“名称”列输入变量的名称,单击“数据类型”列右侧隐藏的按钮,设置变量的数据类型,可用的PLC变量地址和数据类型见TIA博途的在线帮助。在“地址”列输入变量的绝对地址,“%”是自动添加的。

符号地址使程序易于阅读和理解。可以首先用PLC变量表定义变量的符号地址,然后在用户程序中使用它们。也可以在变量表中修改自动生成的符号地址的名称。

图2-26是修改变量名称后项目“电动机控制”的PLC变量表。

2.变量表中变量的排序

单击变量表表头中的“地址”,该单元出现向上的三角形,各变量按地址的第一个字母从A到Z升序排列。再单击一次该单元,三角形的方向向下,各变量按地址的第一个字母从Z到A降序排列。可以用同样的方法,根据变量的名称和数据类型等来排列变量。

978-7-111-57703-4-Chapter02-77.jpg

图2-26 PLC变量表的“变量”选项卡

3.快速生成变量

用鼠标右键单击图2-26的变量“电源接触器”,执行出现的快捷菜单中的命令“插入行”,在该变量上面出现一个空白行。单击“接触器”最左边的单元,选中变量“接触器”所在的整行。将光标放到该行的标签列单元978-7-111-57703-4-Chapter02-78.jpg左下角的小正方形上(见图2-26),光标变为深蓝色的小十字。按住鼠标左键不放,向下移动鼠标,在空白行生成新的变量“接触器1”,它继承了上一行的变量“接触器”的数据类型和地址,其名称、数据类型和地址QB1是自动生成的。如果选中最下面一行的变量,用上述方法可以快速生成多个同类型的变量。

4.设置变量的保持性功能

单击工具栏上的978-7-111-57703-4-Chapter02-79.jpg按钮,可以用打开的对话框(见图2-27)设置M区从MB0开始的具有保持性功能的字节数。设置后变量表中有保持性功能的M区的变量的“保持性”列的复选框中出现“√”。将项目下载到CPU后,M区的保持性功能起作用。

978-7-111-57703-4-Chapter02-80.jpg

图2-27 设置保持性存储器

5.设置变量表中地址的显示方式

与程序编辑器相同,可以用978-7-111-57703-4-Chapter02-81.jpg978-7-111-57703-4-Chapter02-82.jpg按钮来选择显示绝对地址、符号地址或同时显示两种地址。右键单击TIA博途中某些表格灰色的表头,执行快捷菜单中的“调整所有列宽度”命令,可以使表格各列的排列尽量紧凑。

6.全局变量与局部变量

PLC变量表中的变量可以用于整个PLC中所有的代码块,在所有的代码块中具有相同的意义和唯一的名称。可以在变量表中,为输入I、输出Q和位存储器M的位、字节、字和双字定义全局变量。在程序中,全局变量被自动添加双引号,例如“起动按钮”。

局部变量只能在它被定义的块中使用,同一个变量的名称可以在不同的块中分别使用一次。可以在块的接口区定义块的输入/输出参数(Input、Output和Inout参数)和临时数据(Temp),以及定义FB的静态数据(Static)。在程序中,局部变量被自动添加#号,例如“#起动按钮”。

7.设置块的变量只能用符号访问

用右键单击项目树中的某个全局数据块、FB或FC,选中快捷菜单中的“属性”,再勾选打开的对话框的“属性”视图中的“优化的块访问”复选框,此后在全局数据块、FB和FC的接口区声明的变量在块内没有固定的地址,只有符号名。在编译时变量的绝对地址被动态地传送,并且不会在全局数据块内或在FB、FC的接口区显示出来。变量以优化的方式保存,可以提高存储区的利用率。只能用符号地址的方式访问声明的变量。例如用"Data".Level2访问数据块Data中的变量Level2。

8.使用帮助功能

为帮助用户获得更多信息和快速高效地解决问题,STEP7提供了丰富全面的在线信息和信息系统。

(1)弹出项

将鼠标的光标放在STEP 7的文本框、工具栏上的按钮和图标等对象上,例如在设置CPU的“周期”属性的“循环周期监视时间”时,用鼠标单击文本框,将会出现黄色背景的弹出项方框(见图2-28),方框内是对象的简要说明或帮助信息。

设置循环周期监视时间时,如果输入的值超过了允许的范围,按回车键后,出现红色背景的错误信息(见图2-29)。

978-7-111-57703-4-Chapter02-83.jpg

图2-28 弹出项

978-7-111-57703-4-Chapter02-84.jpg

图2-29 弹出项中的错误信息

将光标放在指令的地址域的<???>上,将会出现该参数的类型(例如IN)和允许的数据类型等信息。如果放在指令已输入的参数上,将会出现该参数的数据类型和地址。

(2)层叠工具提示

下面是使用层叠工具提示的例子。将光标放在程序编辑器的收藏夹的978-7-111-57703-4-Chapter02-85.jpg按钮上(见图2-30),出现的黄色背景的层叠工具提示框中的978-7-111-57703-4-Chapter02-86.jpg表示有更多信息。单击978-7-111-57703-4-Chapter02-87.jpg图标,层叠工具提示框出现图中第2行的蓝色有下划线的层叠项,它是指向相应帮助主题的链接。单击该链接,将会打开帮助,并显示相应的主题。

978-7-111-57703-4-Chapter02-88.jpg

图2-30 层叠工具提示框

(3)信息系统

帮助又称为信息系统,可以通过以下方式打开信息系统(见图2-31)。

1)执行菜单命令“帮助”→“显示帮助”。

2)选中某个对象(例如程序中的某条指令)后,按<F1>键。

3)单击层叠工具提示框中层叠项的链接,可以直接转到信息系统中的对应位置。

单击图2-31信息系统工具栏上的“显示/隐藏目录”按钮978-7-111-57703-4-Chapter02-89.jpg,可以显示或隐藏左边的导航区域。使用信息系统的“索引”和“搜索”选项卡,可以快速查找到需要的帮助信息。也可以通过目录查找到感兴趣的帮助信息。单击“收藏类”选项卡的“添加”按钮,可以将右边窗口打开的主题保存到收藏夹。

978-7-111-57703-4-Chapter02-90.jpg

图2-31 信息系统