1.2 认识西门子PLC的程序开发过程
实例2:电动机的启停控制
实例说明
本实例主要实现电动机的启停控制。通过本实例,认识西门子PLC控制系统的硬件连接及程序开发过程。
实例实现
图1-4是电动机启停控制的主电路,电动机启停由继电器KM来控制。继电器线圈的通电与否,由启动按钮(SB1)、停止按钮(SB2)通过PLC来控制。图1-5是电动机启停控制PLC 接线图,按一下启动按钮(SB1),电动机启动;按一下停止按钮(SB2),电动机停止运转。在PLC控制中,还需要开发控制程序才能实现规定的控制功能。
图1-4 电动机启停控制主电路
图1-5 电动机启停控制PLC接线图
实例分析
电动机的启停控制的关键除了硬件接线外,还需要开发控制程序。该实例可用在对生产环境需要通风的风机控制上。如果将按钮抽象成一种条件,其应用范围更广。
1.2.1 PLC的程序开发环境
开发S7-200系列PLC用户程序需要一台编程器,并将其和CPU模块连接起来。编程器可以是专用编程器,也可以是装有编程软件的PC,后者更普遍一些。如图1-6所示就是一个常见的PLC用户程序开发系统。它由一台PC、CPU模块和将二者连接起来的PC/PPI通信电缆组成。
图1-6 S7-200 PLC用户程序开发系统
西门子S7-200系列PLC使用的是STEP 7-Micro/WIN系列编程软件。其操作界面如图1-7所示。各部分主要功能简介如下:
图1-7 STEP 7-Micro/WIN操作界面
(1)浏览条
浏览条显示编程特性的按钮控制群组。
“视图”按钮控制群中主要有程序块、符号表、状态图、数据块、系统块、交叉引用及通信显示等按钮控制。
“工具”按钮控制群中主要有显示指令向导、TD200向导、位置控制向导、EM253控制面板和调制解调器扩充向导等按钮控制。
(2)指令树
指令树以树形视图的形式为用户列出所有项目对象和当前程序编辑器(LAD、FBD 或STU)所需的全部指令。通过用鼠标右键单击指令树中相应的文件夹可以进行插入附加程序组织单元(POU)、设置密码保护、打开/删除/编辑 POU 属性表,以及重新命名子程序及中断程序等操作。
(3)菜单栏
菜单栏允许使用鼠标或快捷键执行操作。可以定制“工具”菜单,在该菜单中增加自己的工具。
(4)工具条
工具条为最常用的STEP 7-Micro/WIN操作提供便利的鼠标存取。可以定制每个工具条的内容和外观。
(5)数据块
数据块允许用户显示和编辑数据块内容。
(6)状态表
状态图窗口允许用户将程序输入、输出或变量置入图表中,以便追踪其状态。可以建立多个状态表,以便从程序的不同部分检视组件。每个状态图在状态表窗口中有自己的标记。
(7)交叉引用
交叉引用允许用户检视程序的交叉引用和组件使用信息。
(8)符号表
符号表窗口允许用户分配和编辑全局符号(即可以在任何 POU 中使用的符号值,不只是建立符号的POU)。可以建立多个符号表,可以在项目中增加一个S7-200系统符号预定义表。
(9)程序编辑窗口
程序编辑窗口包含用于该项目的编辑器(LAD、FBD或STL)局部变量表、程序和视图。如果需要,用户可以拖动分割条,扩充程序视图,并覆盖局部变量表。当用户在主程序一节(OBI)之外建立子例行程序或中断例行程序时,标记出现在程序编辑器窗口的底部。可单击该标记,在子程序、中断和OBI之间移动。
(10)状态栏
当在STEP 7-Micro/WIN中操作时,状态栏会提供操作状态信息。
(11)输出窗口
当编译程序或指令库时,输出窗口会提供信息。当输出窗口列出程序错误时,双击错误信息,会在程序编辑器窗口中显示适当的网络。
(12)局部变量表
局部变量表包含对局部变量所进行的赋值(即子例行程序和中断例行程序使用的变量)。在局部变量表中建立的变量使用暂时内存。地址赋值由系统处理,变量的使用仅限于建立此变量的POU。
1.2.2 电动机启停控制程序的开发
前面对PLC开发的软、硬件环境进行了介绍,下面针对实例2进行PLC用户程序的实际开发。
1.建立新项目
双击“STEP 7-Micro/WIN”快捷方式图标,或者在“开始”菜单中选择“SIMATIC”→“STEP 7-Micro/WIN”命令,启动应用程序,系统自动打开一个新“STEP 7-Micro/WIN”项目,如图1-8所示。
图1-8 STEP 7-Micro/WIN新建项目
2.程序输入
步骤1:根据PLC接线图在符号表(Symbol Table)中输入I/O注释,如图1-9所示。
图1-9 输入I/O注释
步骤2:双击指令树中的程序块(Program Block),再双击主程序(MAIN)子项,然后在右侧的状态图窗口中逐个输入本例中的控制指令,如图1-10所示。
图1-10 电动机启停控制程序
在该程序中,当按下开机按钮时,I0.0导通,由于关机按钮是常开导通状态,此时输出端子Q0.0使能,接触器KM1线圈上电,电动机启动。同时,由于Q0.0使能,其常开触点闭合,所以开机按钮被屏蔽。也就是说松开开机按钮后,电动机仍保持运转。当按下关机按钮时,常闭触点I0.1断开,Q0.0禁能,接触器KM1线圈失电,电动机停止运转。同时,常开触点Q0.0断开,对开机按钮的屏蔽被解除。至此一个工作周期结束。
程序指令输入完毕后,单击工具栏中的编译按钮进行程序编译,如果程序中有不合法的符号、错误的指令应用等情况,编译就不会通过,出错的详细信息会出现在状态栏里。可根据出错信息更正程序中的错误,然后重新编译。编译通过后状态栏里的信息提示如图1-11所示。
图1-11 编译通过提示信息
3.程序的执行
要执行编译好的程序就要将程序传送到PLC中。首先将上位机软件与PLC主机之间的通信建立起来,然后将编译好的程序下载到PLC中执行,下面是程序下载的具体步骤:
步骤1:将PLC的运行模式设置为“停止”模式。可以通过工具条中的“停止”按钮,或者通过菜单选择“PLC”→“停止”命令。
步骤2:单击工具条中的“下载”按钮,也可以通过菜单选择“文件”→“下载”命令启动下载对话窗口,如图1-12所示。
图1-12 程序下载命令提示信息
步骤3:根据默认值,在初次执行下载命令时,“程序块”、“数据块”和“CPU配置”(系统块)复选框被选择。如果不需要下载某一特定块,可以清除其对应的复选框。
步骤4:单击“确定”按钮,开始下载程序。如果下载成功,弹出一个确认框显示以下信息:下载成功。
步骤5:如果在程序开发软件STEP 7-Micro/WIN中设置的PLC类型与实际的类型不匹配,则会显示以下警告信息:“为项目所选的 PLC 类型与远程 PLC 类型不匹配。继续下载吗?”。
步骤6:如果要更改PLC类型选项,选择“否”,终止程序下载。
步骤7:从菜单中选择“PLC”→“类型”命令,调出“PLC类型”对话框,如图1-13所示。在下拉菜单中选择与实际PLC相匹配的PLC类型,或者单击“读取PLC”按钮,由软件自动读取正确的数值。单击“确定”按钮,关闭对话框。
图1-13 “PLC类型”对话框
步骤8:重复步骤2重新下载程序。
步骤9:程序下载成功后,在运行PLC程序之前,将PLC从STOP(停止)模式切换到RUN(运行)模式。单击工具条中的“运行”按钮,也可以从菜单中选择“PLC”→“运行”命令,使PLC转换到RUN(运行)模式。
至此,电动机启停控制程序的开发过程全部结束。本节中所涉及的 STEP 7-Micro/WIN程序开发软件的具体应用可参考西门子 S7-200 PLC 编程手册。本实例所实现的功能在工业自动控制中很常见,读者可以举一反三,在实际工程中灵活应用。