2.4 编写用户程序与使用变量表
2.4.1 编写用户程序
1.在项目视图中生成项目
如果勾选了图1-11中的复选框“启动过程中,将加载上一次打开的项目”,启动STEP 7后,将自动打开上一次关闭软件之前打开的项目(见图2-18)。
图2-18 项目视图中的程序编辑器
执行菜单命令“项目”→“新建”,生成一个新的项目,项目名称为“电动机控制”。
2.添加新设备
双击项目树中的“添加新设备”,添加一个新设备。单击打开的对话框中的“控制器”按钮(见图1-10),选中右边窗口的“CPU 1214C”文件夹中的某个订货号。单击“确定”按钮,生成名为“PLC_1”的新PLC,该设备只有CPU模块。
图2-18中标有⑧的编辑器栏中的按钮对应于已经打开的编辑器。单击编辑器栏中的某个按钮,可以在工作区显示单击的按钮对应的编辑器。
3.系统简介
图2-19和图2-20是异步电动机星形-三角形降压起动的主电路和PLC的外部接线图。起动时主电路中的接触器KM1和KM2接通,异步电动机在星形接线方式运行,以减小起动电流。延时后KM1和KM3接通,在三角形接线方式运行。
停车按钮和过载保护器的常开触点并联后接在I0.1对应的输入端,可以节约一个输入点。输入回路使用CPU模块内置的DC 24V电源,其负极M点与输入电路内部的公共点1M连接,L+是DC 24V电源的正极。
图2-19 电动机主电路
图2-20 PLC外部接线图
4.程序编辑器简介
双击项目树的文件夹“\PLC_1\程序块”中的OB1,打开主程序(见图2-18)。选中项目树中的“默认变量表”后,标有②的详细视图显示该变量表中的变量,可以将其中的变量直接拖拽到梯形图中使用。拖拽到已设置的地址上时,原来的地址将会被替换。
将鼠标的光标放在OB1的程序区③最上面的分隔条上,按住鼠标左键,往下拉动分隔条,分隔条上面是代码块的接口(Interface)区(见图2-18中标有⑦的区域),下面标有③的是程序区。将水平分隔条拉至程序编辑器视窗的顶部,不再显示接口区,但是它仍然存在。
程序区的下面标有④的区域是打开的程序块的巡视窗口。标有⑥的区域是任务卡中的指令列表。标有⑤的区域是指令的收藏夹(Favorites),用于快速访问常用的指令。单击程序编辑器工具栏上的按钮,可以在程序区的上面显示或隐藏收藏夹。可以将指令列表中自己常用的指令拖拽到收藏夹,也可以右击收藏夹中的某条指令,用弹出的快捷菜单中的“删除”命令删除它。
视频“程序编辑器的操作”可通过扫描二维码2-1播放。
二维码2-1
5.生成用户程序
按下起动按钮I0.0,Q0.0和Q0.1同时变为1状态(见图2-21),使KM1和KM2同时动作,电动机按星形接线方式运行,定时器TON的IN输入端为1状态,开始定时。8s后定时器的定时时间到,其输出位"T1".Q的常闭触点断开,使Q0.1和KM2的线圈断电。"T1".Q的常开触点闭合,使Q0.2和KM3的线圈通电,电动机改为三角形接线方式运行。按下停车按钮,梯形图中I0.1的常闭触点断开,使KM1和KM3的线圈断电,电动机停止运行。过载时I0.1的常闭触点也会断开,使电动机停机。
下面介绍生成用户程序的过程。选中程序段1中的水平线,依次单击图2-18中标有⑤的收藏夹中的、和按钮,水平线上出现从左到右串联的常开触点、常闭触点和线圈,元件上面红色的地址域用来输入元件的地址。选中最左边的垂直“电源线”,依次单击收藏夹中的按钮、和,生成一个与上面的常开触点并联的Q0.0的常开触点。
选中图2-21中I0.1的常闭触点之后的水平线,依次单击、和按钮,出现图中Q0.1线圈所在的支路。
输入触点和线圈的绝对地址后,自动生成名为“tag_x”(x为数字)的符号地址,可以在PLC变量表中修改它们。绝对地址前面的字符%是编程软件自动添加的。
S7-1200使用的IEC定时器和计数器属于函数块(FB),在调用它们时,需要生成对应的背景数据块。选中图2-21中"T1".Q的常闭触点左边的水平线,单击按钮,然后打开指令列表中的文件夹“定时器操作”,双击其中的接通延时定时器指令TON,出现图2-22中的“调用选项”对话框,将数据块默认的名称改为“T1”。单击“确定”按钮,生成指令TON的背景数据块DB1。S7-1200的定时器和计数器没有编号,可以用背景数据块的名称来作它们的标识符。
图2-21 梯形图
图2-22 生成定时器的背景数据块
在定时器的PT输入端输入预设值T#8s。定时器的输出位Q是它的背景数据块“T1”中的Bool变量,符号名为"T1".Q。为了输入定时器左上方的常闭触点的地址"T1".Q,单击触点上面的,再单击出现的小方框右边的按钮,单击出现的地址列表中的"T1"(见图2-23),地址域出现"T1".(见图2-24)。单击地址列表中的“Q”,地址列表消失,地址域出现"T1".Q。
图2-23 生成地址"T1"
图2-24 生成地址"T1".Q
生成定时器时,也可以将收藏夹中的图标拖拽到指定的位置,单击出现的图标中的问号,再单击图标中出现的按钮,用下拉式列表选中TON,或者直接输入TON。可以用这个方法输入任意的指令。
选中最左边的垂直“电源线”,单击收藏夹中的按钮,生成图2-21中用"T1".Q和I0.1控制Q0.2的电路。
与S7-200和S7-300/400不同,S7-1200的梯形图允许在一个程序段内生成多个独立电路。
单击图2-18中工具栏上的按钮,将在选中的程序段的下面插入一个新的程序段。按钮用于删除选中的程序段。和按钮用于打开或关闭所有的程序段。按钮用于关闭或打开程序段的注释。单击程序编辑器工具栏上的按钮,可以用下拉式菜单选择只显示绝对地址、只显示符号地址,或同时显示两种地址。单击工具栏上的按钮,可以在上述3种地址显示方式之间切换。
即使程序块没有完整输入,或者有错误,也可以保存项目。
视频“生成用户程序”可通过扫描二维码2-2播放。
二维码2-2
6.设置程序编辑器的参数
用菜单命令“选项”→“设置”打开“设置”编辑器(见图2-25),选中工作区左边窗口中的“PLC编程”文件夹,可以设置是否显示程序段注释。如果勾选了右边窗口的复选框“代码块的IEC检查”,项目中所有的新块都将启用IEC检查。执行指令时,将用较严格的条件检查操作数的数据类型是否兼容。
图2-25 程序编辑器的参数设置
“助记符”选择框用来选择使用英语助记符(国际)或德语助记符。
选中“设置”编辑器左边窗口的“LAD/FBD”组,图2-25的右图是此时右边窗口下面的部分内容。“字体”区的“大小”选择框用来设置程序编辑器中字体的大小。“视图”区的“布局”单选框用来设置操作数和其他对象(例如操作数与触点)之间的垂直间距,建议设置为“紧凑”。
“操作数域”的“最大宽度”和“最大高度”分别是操作数域水平方向和垂直方向可以输入的最大字符数。如果操作数域的最大宽度设置过小,有的方框指令内部的空间不够用,方框的宽度将会自动成倍增大。需要关闭代码块后重新打开它,修改后的设置才起作用。