下图是一个简单的数字量控制系统──鼠笼型电动机串电阻进行降压启动的控制系统的应用实例。
按下启动按钮SB1后,电动机的定子接触器KM1串联启动电阻进行降压启动,设启动时间为5s,启动结束后,短接接触器KM2将启动电阻短接,电动机全压运行。按下停止按钮SB2后,电动机停车。该系统具有热继电器FR做过载保护,过载后FR的动断触点断开,也会使电动机停止运行。
首先在断电的状态下,用PC/PPI电缆连接好计算机与PLC,然后为计算机与PLC通电,打开编程软件STEP 7Micro/WIN32,创建一个项目(Project)。用菜单命令“PLC→类型(Type)”设置PLC的型号,如CPU222。用菜单命令“工具(Tools)→选项(Options)”,在弹出的对话框中单击“通用(Genenal)” 按钮,选择SIMATIC编程模式和梯形图编辑器。由于这是一个很简单的数字量控制程序,可以没有子程序、中断程序和数据块,不使用局部变量表L,全部程序都在主程序中。一般的数字量控制程序通常都采用这种程序结构,图4-3为此实例的PLC梯形图。
图 4-2 串电阻降压启动的原理图及PLC外部接线图
图 4-3 串电阻降压启动的PLC梯形图 图 4-4 显示符号地址的梯形图
Ⅰ
由于控制系统对CPU和输入/输出特性没有特殊的要求,可以全部采用系统块的默认值。
为了使程序有良好的可读性,且便于高调试,可以使用符号表编程,尤其是当系统的控制规模较大时,一般都要采用符号表编程。在此例中,编写的符号表如下表所示。
符号表
元件符号 SB1 SB2 I0.0 编程元件地址 启动 启动按钮的动合触点 I0.1 停止 停止按钮的动合触点 FR I0.2 过载 热继电器的动断触点 KM1 Q0.0 电源 接通交流电源的接触器 KM2 Q0.1 短接 短接启动电阻的接触器
编写控制程序时,可以输入编程元件的符号地址,也可以输入编程元件的绝对地址。使用编程元件的绝对地址时,会被自动转换为符号地址,在梯形图程序中也将显示符号地址。
在下装操作进行之前,应设置好计算机与PLC的的通信参数。在确认控制程序正确的前提下,即用户程序全部编译成功后,在STOP的工作模式下,使用菜单命令“文件→下装(Download)”,将计算机中的的信息下装到PLC中。初次下装时,可选择下装程序代码块和系统块。
下装成功后,可进行模拟调试。
1 将I0.2端子与DC24V的L+端连接,模拟热继电器的动断触点在正常运行
Ⅰ
编程符号 注 释 T37 启动延时 延时5s
时的状态。
2 将I0.0端子与DC24V的L+端连接一下并随即断开,模拟按下启动按钮又松开,观察Q0.0的LED灯是否为ON。
3 5s后,观察Q0.1的LED灯是否为ON。
4 将I0.1端子与DC24V的L+端连接一下并随即断开,模拟按下停止按钮又松开,观察Q0.0、Q0.1的LED灯是否为OFF。
5 再次将I0.0端子与DC24V的L+端连接,模拟系统再次启动,观察启动过程是否正常。
6 断开I0.2端子与DC24V的L+端的连接,模拟热继电器过载动作,动断触点断开,观察Q0.0、Q0.1的LDE灯是否为OFF。
(3)数据块的使用
1在数据块中对地址和数据赋值
数据块用于对变量寄存器V赋初值,可用字节、字或者双字赋值。数据块中的典型行包括起始地址以及一个以上的数据值。数据块中的第一行必须包含明确的地址,以后的行可不包括明确的地址。如果在单地址后面键入多个数据,或者键入只包含数据值的行时,由程序编辑器根据前面的地址和数据长度(字节、字、双字),自动进行地址赋值。数据块编辑器接收大小写字母,并允许用逗号、制表符或空格作为地址和数据的分隔符号,例如,一个从VB3到VB13数据块中的数据如下:
VB3 -25 ∥从VB3开始的字节数据(只占用VB3一个字节) VD4 100.5 ∥从VD4开始的双字实数数值(占用VB4~VB7的4个字节)
VW8 3,4,56 ∥从VW8开始的3个字数值(占用VB8~VB13的6个字节)
2输入错误的显示与处理
如果数据块位于激活窗口,可以用菜单命令“PLC→编译”进行编译,如果数据块不在当前激活窗口,可以用菜单命令“PLC→全部编译”进行编译。
在对数据块进行编译时,如果编译器发现错误,将在输出窗口显示错误。双击错误信息,则在数据块窗口显示有错误的行。
如果在对数据块赋值过程中,某行出现输入错误,当在行尾键入回车键后,将在错误行的左边出现一个叉号,显示输入错误。改正后还要重新进行编译,直到改正所有的错误。
Ⅰ
4.4.5 用编程软件监视与调试程序
(1)用状态表监视与调试程序 ●打开和编辑状态表
在程序运行时,可以用状态表来读、写、强制和监视PLC的内部编程元件。单击指令树中的状态表图标,或者用菜单命令“检视(View)→状态表(Status Chart)”均可打开已有的状态表,并可以进行编辑。如果一个项目中有多个状态表,可以用状态表底部的标签按钮进行切换。
在启动状态表前,可在状态表中输入监视的编程元件的地址和数据类型,定时器和计数器可按位或者按字进行监视。如果按位监视,显示的是它们输出位的1/0状态;如果按字监视,则显示的是它们的当前值。
用菜单命令“编辑插入”,或者用鼠标右键单击状态表中的单元,可以在状态表当前光标位置的上部插入新的行。也可以将光标置于最后一行中的任意单元后,单击向下的箭头键,将新的行插在状态表的底部。在附表中选择编辑元件,并将其复制到状态表中,可以加快创建状态表的速度。
●创建新的状态表
可以将要监视的编程元件进行分组监视,分别创建几个状态表,用鼠标右键单击指令树中的状态表图标,就弹出一个窗口,在窗口中选择“插入状态表”选项可创建新的状态表。
●启动和关闭状态表
当计算机与PLC的的通信连接成功后,用菜单命令“调试(Debug)→状态表(Status Chart)”打开状态表,或者用鼠标单击调试工具条上的“状态表”图标“ ”来启动状态表。再操作一次就可以关闭状态表。
启动状态表以后,编程软件从PLC中收集状态信息,并对表中的数据更新,还可以根据需要强制修改状态表的数据。
●单次读取状态信息
状态表被关闭时,用菜单命令“调试(Debug)→单次读取(Single Read)”,可以从PLC中读取当前的数据,并在状态表中显示当前数值,在执行用户程序时对状态表中的数值不进行更新。
(2)用状态表强制改变数值
当PLC工作在RUN模式下,可对程序中的某些变量进行强制性的赋值操作。S7-200CPU允许强制性地给所有的I/O点赋值,此外还可以改变最多16个内部寄
Ⅰ