2.2 STEP 7-Micro/WIN编程软件的使用

2.2.1 STEP 7-Micro/WIN编程软件的启动

打开STEP 7-Micro/WIN软件通常有三种方法,分别介绍如下。

①单击“所有程序”—“Simatic”—“ STEP 7-Micro/WIN V4.0.6.35”—“ STEP 7-Micro/WIN”,如图2-1所示,即可打开软件。

图2-1 打开STEP 7-Micro/WIN软件界面

②直接双击桌面上的STEP 7-Micro/WIN软件快捷方式,也可以打开软件,这是较快捷的打开方法。

③在电脑的任意位置,双击以前保存的程序,即可打开软件。

2.2.2 STEP 7-Micro/WIN编程软件的界面

STEP 7-Micro/WIN软件的主界面如图2-2所示。其中包含菜单栏、工具浏览条、工具栏、指令树、程序编辑器、输出窗口等。

图2-2 STEP 7-Micro/WIN软件的主界面

(1)菜单栏 菜单栏包括文件、编辑、查看、PLC、调试、工具、窗口和帮助8个菜单项。用户可以定制“工具”菜单,在该菜单中增加自己的工具。

(2)工具浏览条 工具浏览条显示编程特性的按钮控制群组。它在编译程序时是非常有用的,尽管其功能在菜单中同样可以实现,显然使用工具浏览条更为方便。

工具浏览条中有“查看”和“工具”两个视图。“查看”视图显示了程序块、符号表、状态表、数据块、系统块、交叉引用及通信工具。“工具”视图显示了指令向导、文本显示向导、位置控制向导、EM253控制面板和调制解调器扩展向导等工具,工具浏览条的“工具”视图中的按钮功能与菜单栏中的“工具”菜单的功能相同。工具浏览条中还提供了滚动按钮,方便用户查看对象。

(3)指令树 指令树提供所有项目对象和为当前程序编辑器(LAD、FBD或STL)提供所有指令的树形视图。用户可以右击指令树中的“项目”节点,插入附加程序组织单元(POU);可以右击单个POU,打开、删除、编辑其属性表,添加密码保护或重命名子程序及中断例行程序。可以右击指令树中“指令”节点或单个指令,以便隐藏整个树。展开指令树中的节点,可以拖放单个指令,或双击指令系统自将所选指令拖入程序编辑器中的光标位置。用户可以将指令拖放在“偏好”节点中,排列经常使用的指令。界面如图2-2所示,具体功能如下。

①可借助交叉引用(也称交叉参考)检程序的交叉引用和组件使用信息。

②可借助数据块显示和编辑数据块内容。

③可借助“状态表”窗口允许将程序的输入、输出结果或变量置入图表中,以便追踪其状态。可以建立多个状态图,以便从程序的不同部分检视组件。每个状态图在“状态表”窗口中都有自己的标签。

④符号表/全局变量表窗口允许分配和编辑全局符号(即在任何POU中使用的符号值,不只是建立符号的POU)。可以建立多个符号表。可以项目中增加一个S7-200系统符号预定义表。

⑤输出窗口在编译程序时提供信息。当输出窗口列出程序的错误信息时,双击错误信息,会在程序编辑器窗口中显示适当的网络。

⑥状态栏显示进行STEP 7-Micro/WIN操作时的状态信息。

⑦程序编辑器窗口包含用于该项目的编辑器(LAD、FBD或STL)的局部变量表和程序视图。如果需要,拖动分割条,扩展程序视图,并覆盖局部变量表,若在主程序一节(OB1)之外,建立子程序或中断例行程序时,标记出现在程序编辑器窗口的底部。可单击该标记,在子程序、中断和OB1之间移动。

⑧局部变量表包含读者对局部充数量所作的赋值(即子程序和中断例行程序使用的变量)。在局部变量表中建立的变量使用暂时内存,地址赋值由系统处理,并且变量的使用仅限于建立此变量的POU。

(4)工具栏 工具栏为常用的操作提供便利的访问。用户可以定制每个工具栏的内容和外观。

①标准工具栏 标准工具栏如图2-3所示。其中,“编译程序或数据表”按钮和“全部编译”按钮的区别是,前者在任意一个激活窗口中编译程序块或数据块,是局部编译,而后者则是对程序、数据块和系统块的全部编译,建议多使用“全部编译”按钮,“上载”按钮是将项目从PLC上载至STEP 7-Micro/WIN(有的称为“上传”或“读入”),而“下载”按钮是将项目从STEP 7-Micro/WIN下载至PLC(也有的称为“写出”)。

图2-3 标准工具栏

②调试工具栏 调试工具栏如图2-4所示,在调试程序时非常有用。共中,“运行”按钮是将PLC设置成“运行”模式,调试时使用比较方便,也可以直接将PLC上的旋钮拨到“运行”模式。“停止”按钮是将PLC设置成“停止”模式,准备将程序下载到PLC之前,应将PLC设置成“停止”模式,也可以直接将PLC上的旋钮拨到“停止”模式实现。

图2-4 调试工具栏

③常用工具栏 常用工具栏如图2-5所示。其中,“插入网络”按钮最为常用,单击此按钮可以在程序中插入一个新网络。

图2-5 常用工具栏

④指令工具栏 指令工具栏如图2-6所示。在输入梯形图指令时,可以使用指令工具栏中的按钮。

图2-6 指令工具栏

2.2.3 创建新工程

新建工程有2种方法,一种方法是单击菜单栏中的“文件”—“新建”,即可新建工程,如图2-7所示,另一种方法是单击工具栏中的图标即可。

图2-7 新建工程

2.2.4 保存工程

保存工程有2种方法,一种方法是单击菜单栏中的“文件”—“保存”,即可保存工程,如图2-8所示,另一种方法是单击工具栏中的图标即可。

图2-8 保存工程

2.2.5 打开工程

打开工程有3种方法,一种方法是单击菜单栏中的“文件”—“打开”,如图2-9所示,找到要打开的文件的位置,选中要打开的文件,单击“打开”按钮即可打开工程,如图2-10所示。第二种方法是单击工具栏中的图标即可打开工程,第三种方法是直接在工程的存放目录下双击该工程,也可以打开此工程。

图2-9 打开工程(1)

图2-10 打开工程(2)

2.2.6 系统块的设置

S7-200 CPU提供了多种参数和选项设置以适应具体应用,这些参数和选项在“系统块”对话框内设置。系统块必须下载到CPU中才起作用。有的初学者修改程序后往往不会忘记重新下载程序,而在软件中更改参数后却忘记了重新下载,这是不对的。

单击工具浏览条的“查看”视图中的“系统块”图标,或者使用菜单栏中的“查看”—“组件”—“系统块”命令打开“系统块”对话框,如图2-11所示。

图2-11 “系统块”对话框

(1)设置通信端口 在“系统块”对话框中,单击“系统块”节点下的“通信端口”,可打开“通信端口”选项卡,设置CPU的通信端口属性,如图2-12所示。

图2-12 设置通信端口

PLC的默认地址为2,但PLC通信时,通信端口的地址不能重复,通信端口4 地址必须是唯一的(同一台PLC的两个端口的地址一般相同),因此需要更改PLC的地址。波特率必须和开始设置的传输率一致。更改完成后,必须下载到CPU中才起作用。当然,使用指令“SET-ADDR”也可以更改通信端口的地址,但必须运行程序。

(2)设置断电数据保持 在“系统块”对话框中,单击“系统块”节点下的“断电数据保持”,可打开“断电数据保持”对话框,如图2-13所示。断电数据保持设置就是定义CPU如何处理各数据区的数据保持任务。在数据保持设置区中选中的就是要保持其数据内容的数据区。所谓“保持”就是在CPU断电后再上电,数据区域的内容是否保持断电前的状态,在这里设置的数据保持功能依靠如下几种方式实现。

图2-13 设置断电数据保持

①CPU的内置超级电容,在断电时间不太长时,可以为数据和时钟的保持提供电源缓冲。

②CPU上可以附加电池卡,与内置电容配合,长期为时钟和数据保持提供电源。

③设置系统块,在CPU断电时自动保存M区中的14字节的数据。

④在数据块中定义不需要更改的数据,下载到CPU内可以永久保存。

⑤用户编程使用相应的特殊寄存器功能,将数据写入EEPROM永久保存。

如果将MB0~MB13共14字节范围中的存储单元设置为“保持”,则CPU在断电时会自动将其内容写入EEPROM的相应区域中,在重新上电后用EEPROM的内容覆盖这些存储区。如果将其他数据区的范围设置为“不保持”,CPU会在重新上电后将EEPROM中的数值复制到相应的地址;如果将数据区的范围设置为“保持”,一旦内置超级电容(+电池卡)未能成功保持数据,则会将EEPROM的内容覆盖相应的数据区,反之则不覆盖。

如果关断CPU的电源再上电,观察到V存储区的相应的单元内还保存有正确的数据,则可说明数据已经成功地写入CPU的EEPROM。

(3)设置密码 通过设置密码可以限制对S7-200 CPU的访问。在“系统块”对话框中,单击“系统块”节点下的“密码”,可打开“密码”选项卡,设置密码保护功能,如图2-14所示。密码的保护等级分为4个等级,除了“全部权限(1级)”外,其他的均需要在“密码”和“验证”文本框中输入起保护作用的密码。

图2-14 设置密码

要检验密码是否生效,可以进行以下操作。

①停止Micro/WIN与CPU的通信1min以上。

②关闭Micro/WIN程序,再打开。

③停止CPU的供电,再送电。

如果忘记了密码,必须清除CPU的内存才能重新下载程序,执行清除CPU指令并不会改变CPU原有的网络地址、波特率和实时时钟;如果有外插程序存储卡,其内容也不会改变。清除密码后,CPU中原有的程序将不存在。要清除密码,可按如下3种方法操作。

①在Micro/WIN中选择“PLC”—“Clear”,选择程序块、数据块和系统块,并按“OK”按钮确认。

②另外一种方法是通信程序wipeout.exe来恢复CPU的默认设置。这个程序可在STEP 7-Micro/WIN安装光盘中找到。

③此外,还可以在CPU上插入一个含有未加密程序的外插存储卡,上电后此程序会自动装入CPU并且覆盖原有的带密码的程序,然后CPU可以自由访问。

西门子公司随编程软件Micro/WIN提供的库指令,指令向导生成的子程序、中断程序都进行了加密。加密并不妨碍使用它们。加密的程序会显示一个锁形标记,不能打开查看程序内容。将加密的程序下载到CPU中,再上传后也保持加密状态。

关键点:PLC的软件加密比较容易被破解,不能绝对保证程序的安全,目前网络上有一些破解软件可以轻易破解PLC的用户程序的密码,编者强烈建议读者在保护自身权益的同时,必须尊重他人的知识产权。

2.2.7 数据块

数据块用于为V存储器指定初始值。可使用不同的长度(字节、字或双字)在V存储器中保存不同格式的数据。单击工具浏览条的“查看”视图中的“数据块”图标,或者单击菜单栏中的“查看”—“组件”—“数据块”命令打开“数据块”窗口。在图2-15中输入“VB0 100”和“VW2 100”两行数据,实际上就是起初始化的作用,与图2-16中的梯形图程序的作用相同。

图2-15 “数据块”窗口

图2-16 初始化程序

数据块必须下载到CPU中才起作用,数据块保存在CPU的EEPROM存储单元中,因此断电后仍然能保持数据。

2.2.8 程序调试

程序调试是工程中的一个重要步骤,因为初步编写完成的程序不一定正确,有时虽然逻辑正确,但需要修改参数,因此程序调试十分重要。Micro/WIN提供了丰富的程序调试工具供用户使用,下面分别介绍。

(1)状态表 使用状态表可以监控数据,各种参数(如CPU的I/O开关状态、模拟量的当前数值等)都在状态表中显示。此外,配合“强制”功能还能将相关数据写入CPU,改变参数的状态,例如可以改变I/O开关状态。

单击工具浏览条的“查看”视图中的“状态表”图标,弹出“状态表”窗口,单击菜单栏中的“查看”—“组件”—“状态表”命令也可以打开,如图2-17所示,在其中可以设置相关参数,单击工具栏中的“状态表监控”按钮可以监控数据。

图2-17 “状态表”窗口

(2)强制 S7-200系列PLC提供了强制功能,以方便调试工作。在现场不具备某些外部条件的情况下模拟工艺状态。用以对数字量(DI/DO)和模拟量(AI/AO)进行强制,强制时,运行状态指示灯变成黄色,取消强制后指示灯变成绿色。

如果在没有实际的I/O连线时,可以利用强制功能调试程序,先打开“状态表”窗口并使其处于监控状态,在“新值”数值框中写入要强制的数据,然后单击工具栏中的“强制”按钮,此时,被强制的变量数值上有一个标志,如图2-18所示。

图2-18 使用强制功能

单击工具栏中的“取消全部强制”按钮可以取消全部的强制。

(3)写入数据 S7-200系列PLC提供了数据写入功能,以方便调试工作。例如,在“状态表”窗口中输入Q0.0的新值“0”,如图2-19所示,单击工具栏上的“全部写入”按钮,或者单击菜单栏中的“调试”—“全部写入”命令即可更新数据。

图2-19 写入数据

利用“全部写入”功能可以同时输入几个数据。“全部写入”的作用类似于“强制”的作用。但两者是有区别的:强制功能的优先级别要高于“全部写入”,“全部写入”的数据可能改变参数状态,但当与逻辑运算的结果抵触时,写入的数值也可能不起作用。

(4)趋势图 前面提到的状态表可以监控数据,趋势图同样可以监控数据,只不过使用状态表监控数据时的结果是以表格的形式表示的,而使用趋势图时则以曲线的形式表达。利用后者能够更加直观地观察数字量信号变化的逻辑时序或者模拟量的变化趋势。

单击调试工具栏上的“切换趋势图状态表”按钮可以在状态表和趋势图形式之间切换,趋势图如图2-20所示。

图2-20 趋势图

趋势图对变量的反应速度取决于Micro/WIN与CPU通信的速度以及图中的时间基准。在趋势图中单击可以选择图形更新的速率。当停止监控时,可以冻结图形以便仔细分析。

2.2.9 交叉引用

交叉引用表能显示程序中元件使用的详细信息。交叉引用表对查找程序中数据地址的使用十分有用。在工具浏览条的“查看”视图下单击“交叉引用”图标,可弹出如图2-21所示的界面。当双击交叉引用表中某个元素时,界面立即切换到程序编辑器中显示交叉引用对应元件的程序段。例如,双击“交叉引用表”中第一行的“I0.0”,界面切换到程序编辑器中,而且光标“方框”停止在“I0.0”上,如图2-22所示。

图2-21 交叉引用表

图2-22 交叉引用表对应的程序

2.2.10 工具浏览条

Micro/WIN的工具浏览条中有指令向导、文本显示向导、位置控制向导、PID控制面板、以太网向导和EM253控制面板等工具。这些工具很实用,使用有的工具能使比较复杂的编程变得简单,例如,使用“指令向导”工具的网络读写向导,就能将较复杂的网络读写。如图2-23所示。

图2-23 使用Micro/WIN的帮助