首页 百科知识 程序的编写与调试

程序的编写与调试

时间:2022-10-26 百科知识 版权反馈
【摘要】:在编写一个控制程序之前,首先应该创建一个项目。在进行PLC编程之前,应正确地设置CPU型号。控制三相异步电动机定子降压启动的PLC外部接线图和梯形图如图7-6所示,输入电路使用CPU模块提供的DC 24V电源。双击某一条错误,将会显示程序编译器中该错误所在的网络。程序下载至PLC之前,用户必须使PLC处于STOP模式。成功下载程序后,将PLC的工作模式开关拨到RUN位置,“RUN”LED亮,用户程序开始运行。

7.2 程序的编写与调试

本节学习编程软件的重点内容,STEP 7-Micro/WIN V4.0版编程软件提供了三种程序编辑器:梯形图、语句表和功能块图。选择“查看”菜单,单击“语句表”图标、“梯形图”图标或“功能块图”图标便可进入相应的编辑器。

7.2.1 编程的准备工作

1.创建项目或打开已有的项目

在编写一个控制程序之前,首先应该创建一个项目。这可以执行菜单“文件”→“新建”命令,也可以单击工具栏最左边的“新建项目”按钮img262,生成一个新的项目。执行菜单“文件”→“另存为”命令,可以修改项目的名称和项目文件所在的文件夹。

执行菜单“文件”→“打开”命令,或者单击工具栏上对应的img263按钮,可以打开已有的项目。项目存放在扩展名为.mwp的文件中。

2.设置PLC的类型

在进行PLC编程之前,应正确地设置CPU型号。执行菜单“PLC”→“类型”命令,在出现的对话框(见图7-5)中设置PLC的类型。如果已经成功地建立了PLC的通信连接,单击对话框中的“读取PLC”按钮,可以通过通信读取PLC的类型与CPU的版本号。单击“确认”按钮,启用新的类型和版本。

如果设置的PLC类型与PLC的实际类型不一致,则不能把程序下载到PLC上,此时必须对PLC类型设置进行修改。

3.选择编程语言和指令助记符集

执行菜单“工具”→“选项”命令,将弹出“选项”对话框,选中左边窗口的“常规”图标,在“常规”选项卡中选择语言、默认的程序编辑器的类型。还可以选择使用SIMATIC编程模式或IEC 61131—3编程模式,LAD或FBD编辑器能使用SIMATIC 和IEC 61131—3指令集,而STL编辑器只能使用SIMATIC指令集,一般选择SIMATIC编程模式。

img264

图7-5 设置PLC的型号

对于初学者,建议用梯形图进行编程。如果编程正确,可以执行菜单“查看”→“STL”或“FBD”命令,将程序转化成语句表或功能块图形式。

4.确定程序结构

一般简单的数字量控制程序只有主程序,而功能复杂的程序除了主程序外,可能还有子程序、中断程序和数据块。

下面通过一个简单的例子,介绍怎样用编程软件来编写、下载和调试梯形图程序。

控制三相异步电动机定子降压启动的PLC外部接线图和梯形图如图7-6所示,输入电路使用CPU模块提供的DC 24V电源。

img265

图7-6 电阻降压启动控制的PLC外部外部接线图和梯形图

按下启动按钮后,I0.0常开触点闭合,输出点Q0.0变为1状态,QA1的线圈通电,电动机定子绕组串接电阻后接到三相电源上,串接的电阻使电动机绕组上的电压下降,以减小启动电流;同时定时器T37开始定时,10s后T37的定时时间到,使Q0.1变为1状态,QA2线圈通电,启动电阻被短接,电动机开始全压运行。

按下停止按钮后,I0.1常闭触点断开,Q0.0变为0状态,使QA1的线圈断电,电动机停止运行;同时T37被复位,其常开触点断开,Q0.1变为0状态,使QA2的线圈也断电。

这是一个简单的数字量控制系统,程序全部在主程序中,没有子程序、中断程序和数据块,不使用局部变量表。一般的数字量控制程序都可以采用这种程序结构。子程序和中断程序结构参见第6章。

5.用系统设置PLC的参数

本例对CPU模块和I/O特性没有特殊的要求,可以全部采用系统块的默认值。

7.2.2 用户程序的编写与传送

1.定义符号地址

对于较简单的程序,可以不用定义符号表,即可省略这一步。对于较复杂的程序,为了方便程序的调试和阅读,可以用符号表来定义变量的符号地址。双击指令树的“符号表”文件夹的“用户定义1”图标,打开自动生成的符号表;单击符号表中的某一行,可输入相应的内容;右击符号表中的某一行,执行弹出的快捷菜单的“插入”→“行”命令,可以在所选行的上面插入新的一行,执行“插入”→“新符号表”命令,可以生成新的符号表;输入行最后一行的注释后按回车键,将会在该行下面自动生成新的行。图7-6所示梯形图程序的符号表如图7-7所示。

img266

图7-7 符号表

2.编写用户程序

选择梯形图编写用户程序。梯形图程序被划分为若干网络,一个网络中只能有一块独立电路,有时一条指令(例如SCRE)也算一个网络。如果一个网络中有两个独立电路,在编译时将会显示“无效网络或网络太复杂无法编译”的提示。

正确的梯形图可转换成语句表。语句表允许将若干独立电路对应的语句放在一个网络中,但是这样的网络不能转换为梯形图。语句表按梯形图的网络顺序编写指令,也可转换为梯形图。

用梯形图编程时,在窗口的上方有一个工具栏:img267

img268触点——代表各种触点开关,单击后将出现一个下拉列表。

img269线圈——代表输出或各种线圈,单击后将出现一个下拉列表。

img270方框——即指令盒,代表当使能位有效时,执行指令盒中的功能,如定时器、计数器或数学运算等。

单击工具栏上的触点按钮中的任一个,在矩形光标所在的位置放置一个触点,在出现的窗口中选择触点的类型,也可以用键盘输入触点的类型;单击触点上面或下面的红色问号,设置该触点的地址或其他参数。用相同的方法在梯形图中放置线圈和方框指令。单击工具栏中带箭头的线段,可以生成触点间的连线。

3.编译程序

没有定义符号表所编写的降压启动控制梯形图程序如图7-8所示。

img271

图7-8 降压启动控制梯形图

程序编写完成以后,执行“PLC”菜单的“编译”命令,也可以单击工具栏的“编译”按钮img272或“全部编译”按钮img273,可以分别编译当前打开的程序或所有的程序。编译后在屏幕下部的输出窗口将会显示程序中语法错误的个数、每条错误的原因和错误在程序中的位置。双击某一条错误,将会显示程序编译器中该错误所在的网络。必须改正程序中所有的错误,编译成功后,才能下载程序。

如果没有编译程序,在下载之前编程软件将会自动地对程序进行编译,并在输出窗口显示编译结果。

4.程序下载

计算机与PLC建立起通信连接后,可以将程序下载到PLC中去。程序下载至PLC之前,用户必须使PLC处于STOP模式。如果PLC未设为STOP模式,单击工具栏的“停止”按钮img274,或选择“PLC”菜单中的“STOP”命令。

单击工具栏的“下载”按钮img275,或者执行菜单“文件”→“下载”命令,将会出现下载对话框(见图7-9)。用户可以用多选框选择是否下载程序块、数据块、系统块、配方和数据记录配置,单击“下载”按钮,开始下载数据。

单击“选项”按钮,可以打开或关闭图7-9所示下部的选项对话框。

5.程序上载

如果希望将PLC中的程序导入计算机,则需要进行程序上载。上载前在STEP 7-Micro/WIN V4.0中建立一个空项目来保存上载的块,项目中原有的内容将被上载的内容覆盖。

img276

图7-9 下载对话框

单击工具栏中的“上载”按钮img277,或者执行菜单“文件”→“上载”命令,将打开上载对话框。上载对话框与下载对话框的结构基本相同,用户可以用多选项选择是否上载程序块、数据块、系统块、配方和数据记录配置。单击“上载”按钮,开始上载过程。

6.程序的运行和调试

在PLC主机的前面板上,有一个手动选择操作模式的开关,可以选择运行模式RUN、停止模式STOP或终端模式TERM。成功下载程序后,将PLC的工作模式开关拨到RUN位置,“RUN”LED亮,用户程序开始运行。工作模式开关在RUN或TERM位置时,可以用编程软件工具栏上的RUN按钮img278和STOP按钮img279进行PLC操作模式的切换。

在RUN模式下,用接在端子I0.0和I0.1上的小开关可以模拟按钮发出的启动信号和停止信号。如将启动信号开关I0.0接通后马上断开(模拟按钮的操作),观察Q0.0和Q0.1对应的LED的状态变化是否正确;再将停止信号开关I0.1接通后马上断开,观察Q0.0和Q0.1对应的LED的状态变化是否正确。

如果PLC运行结果正确,表示程序正确;如果结果不正确,要对程序进行修改,再下载到PLC并运行程序,直到结果正确为止。这个过程就是程序的模拟调试。

7.对网络的编辑

图7-10所示的是使用符号地址的电阻降压启动控制梯形图中的第一个网络。单击程序区左边的灰色部分,对应的网络被选中,整个网络的背景变为蓝色。通过拖曳鼠标或使用SHIFT键和UP(向上)、DOWN(向下)键,用户可以选择多个相邻的网络,用于剪切、复制、粘贴或删除(按DELETE键)选中的网络中的元件。

当用户单击程序编辑器中的空单元格时,会出现一个方框,显示用户已经选择的单元格。用户可以使用弹出菜单在空单元格中粘贴一个选项,或在该位置插入一个新行、列、垂直线或网络。用户也可以从空单元格位置删除网络,或者用剪贴板复制和粘贴它。

8.符号的显示

执行菜单“查看”→“符号寻址”命令,可以在程序中切换符号地址或绝对地址的显示。如图7-10所示,在符号地址显示方式输入地址时,可以输入符号地址或绝对地址,输入的绝对地址将被自动转换为符号地址。

img280

图7-10 梯形图编辑器中的注释与符号表

执行菜单“工具”→“选项”命令,选中“选项”窗口左边的“程序编辑器”图标,在“程序编辑器”选项卡中,可以选择“只显示符号”或“显示符号和地址”。

9.注释与符号信息表

单击工具栏上的“切换POU注释”按钮img281或“切换网络注释”按钮img282(见图7-1)可以打开或者关闭对应的程序注释。也可以在网络的标题行输入信息。POU是程序组织单元的简称。

单击工具栏上的“切换符号信息表”按钮img283,可以打开或关闭各网络符号信息表(见图7-10下部)。符号信息表列出了网络中使用符号地址的有关信息。

7.2.3 帮助功能的使用与出错处理

1.使用在线帮助

选中想要得到的在线帮助的菜单项目,打开某个对话框,或者在指令树中选择某个对象,按F1键可以得到与它们有关的在线帮助。

2.从菜单获取帮助

可以用下面的各种方法从菜单获取帮助。

(1)用菜单“帮助”→“目录与索引”命令打开帮助窗口,借助目录浏览器可以寻找需要的帮助主题,窗口中的索引部分提供了按字母顺序排列的主题关键词,可以查找与某一关键词有关的帮助。

(2)执行菜单“帮助”→“这是什么”命令,出现带问号的光标,用它单击画面上的用户接口(例如工具栏中的按钮、程序编辑器或指令树上的对象等),将进入相应的帮助窗口。

(3)执行菜单“帮助”→“网上S7-200”命令,可以访问为S7-200提供技术支持的产品信息和西门子网站。

3.出错处理

使用菜单“PLC”→“信息”命令,可以查看错误信息,例如,错误的代码等。

1)致命错误

致命错误可以使PLC无法执行某一功能或全部功能。CPU检测到致命错误时,自动进入STOP模式,点亮SF(系统错误)的LED(发光二极管)和STOP的LED,并关闭输出。在消除致命错误之前,CPU一直保持这种状态。

在消除了引起致命错误的原因后,必须用下面的方法重新启动CPU。

(1)将PLC断电后再通电;

(2)将工作模式开关从TERM或RUN扳至STOP位置。

如果发现其他致命错误,CPU将会重新点亮系统错误指示灯LED。

2)非致命错误

非致命错误会影响CPU的某些性能,但是不会使它无法执行用户程序和更新I/O。有以下几类非致命错误。

(1)运行时间错误。

在RUN模式下发现的非致命错误会反映在特殊标志位存储器(SM)上,用户程序可以监控这些位。上电时CPU读取I/O配置,并存储在SM中。如果CPU发现I/O配置变化,就会在模块错误字节中设置配置改变位。I/O模块必须与保存在系统数据存储器中的I/O配置符合,CPU才会对该位复位。它被复位之前,不会更新I/O模块。

(2)程序编译错误。

CPU编译程序成功后才能下载程序,如果编译时检测到程序违反了编译规则,则不会下载,并在输出窗口生成错误代码。CPU的EEPROM中原有的程序依然存在,不会丢失。

(3)程序执行错误。

程序运行时,用户程序可能会产生错误。例如,一个编译时是正确的间接地址指针,因为在程序执行过程中被修改,可能指向超出范围的地址。可以用菜单“PLC”→“信息”命令来判断错误的类型,通过修改用户程序来改正这些错误。

某些错误条件相关的信息存储在特性标志位存储器(SM)中,用户程序可以用它们来监控和处理错误。例如,可以使用SM5.0(I/O错误)的常开触点控制STOP指令,即在出现I/O错误时,将CPU切换到STOP模式。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈