1.控制任务要求
用PLC采用PWM控制算法对加热炉迸行恒温控制。PWM控制的硬件环境与11.6节中乒乓控制是一样的,控制过程的要求也基本相同。其区别仅在于人机界面要使用PC机(PC机采用VB程序设计),输出量是宽度可调的脉冲。
人机界面的设计除了由PLC供应商提供的成套设备,如S7-200的TD 200和S7-300的WINCC等,还可以使用高级语言有针对性地设计,如应用VB、VC和C语言对具体控制系统迸行设计的人机界面也很多。
(1)人机界面设计的基本要求 人机界面整体设计的基本要求有如下几个方面:
1)整体界面设计。整体界面的设计要求功能比较全面,布局清晰合理,重点突出,操作方便。此外,还要考虑到系统控制的可靠性和安全性。
2)消息文本设计。消息文本界面的设计要满足要求,文宇清晰显著,颜色搭配合理。此外,还要考虑到文本的准确性和实时性。
①数据文本设计。数据文本界面的设计要满足要求,数据清晰显著,颜色搭配合理。此外,也要考虑到数据的准确性和实时性。
②动态画面设计。动态画面的设计要求画面清晰显著,颜色搭配合理。此外,也要考虑到画面的准确性、实时性、富于动感、形象和逼真。
③通信设计。从人机界面的整体设计到各个局部设计的要求可以看出,人机界面的消息、数据和动画都要求具有准确、可靠和快速的特点,这就意味着人机界面(通信中的主站)和PLC的CPU通信的无误性和快速性至关重要。
应用VB、VC和C等高级语言都可以方便快捷地解决人机界面设计中的问题。
(2)VB概述
1)VB特点。VB是用可视化Basic语言来迸行应用程序的开发。面向对象的设计思想、事件驱动的编程机制、可视化和事件驱动是VB的精髓。
2)VB功能。VB的主要功能如下:
①创建用户界面。通过VB可以建立多种用户界面,如文档界面、数据库管理界面和工业控制界面等。
②数据库处理。通过VB提供的数据访问控件或数据访问对象,可以很方便地实现对JET数据库、ISAM数据库以及ODBC等数据库的访问。
③程序开发。VB通过自己的控件和数据处理功能,可以很方便地编制一些现场控制的应用程序和办公自动化的管理程序,完成过程控制和系统管理程序的开发。
④多媒体程序设计。通过VB提供的控件,可以对电脑中的多媒体设备迸行控制,从而实现多媒体功能。
3)VB的主要控件
①界面设计的部分控件窗体。窗体是控件的载体,人机交互的界面。在人机界面设计中,一个窗体就可以是一个人机界面。如果需要多个画面,则可以由多重窗体构成。窗体的名称为Formx,其中x为窗体的编号。
a)图像控件。图像控件的功能是装入图像,可以装入bmp、ico、jpg和gif等类型的图像。在人机界面设计中,图像控件可以是一个人机界面的插图或一个人机界面的动态图像。如果需要多个图像,可以使用多个图像控件。图像框的名称为Imagex,其中x为图像框控件的编号。把C盘WINNT目录下的图片kP2008-1.bmp装入Image1,可以由下面的VB语句实现:Image1.Picture=Load picture(“c:\WINNT\kp2008-1.bmp”)。
b)图片框控件。图片框控件(Picture Box)除具有图像控件(Image Box)的全部功能之外,还可以被理解为图片框是窗体中的窗体,它可以接收其他控件,用以制作工具条和工具箱。图片框的名称为Picturex,其中x为图片框控件的编号。
c)命令按钮控件。命令按钮控件用于激活某一命令。在人机界面设计中,命令按钮控件可以是界面的启动按钮和控制开关。一个人机界面如果需要多个命令按钮,可以使用多个命令按钮控件。命令按钮控件的名称为Commandx,其中x为命令按钮控件的编号。
②文本设计部分控件
a)标签控件。标签控件用于显示某种注释信息和某些数据结果。在人机界面设计中,标签控件可以显示界面的消息和数据。一个人机界面如果需要多个消息和数据,可以使用多个标签控件。标签控件的名称为Labelx,其中x为标签控件的编号。
b)文本框控件。文本框控件可以用来显示某种注释信息和某些数据结果,也可以用来输入文本信息和某些数据。在人机界面设计中,文本框控件可以显示界面的消息和数据,也可以向PLC输入命令和数据。一个人机界面如果需要输入和输出多个消息和数据,可以使用多个文本框控件。文本框控件的名称为Textx,其中x为文本框控件的编号。
③动画设计部分控件和方法
a)定时器控件。定时器控件可以引发定时中断事件(Timer),实现定时执行代码,它的图标如图11-66所示。在动态画面设计中,定时器控件往往起到对动态图片的控制作用。如果人机界面的动态画面设计中需要多个定时执行代码,可以使用多个定时器控件。
图11-66 定时器控件
定时器控件的名称为Timerx,其中x为定时器控件的编号。定时器控件的定时间隔由Interval属性设置(单位ms),定时器控件的使能由Interval属性设置(数值为True或False)。
定时器控件的定时中断事件为Timer事件。需要受定时控制的程序可以写在中断事件Timer引发的中断服务程序中。
b)Cls方法。Cls方法的功能是清除Form和PictureBox生成的图像或文本。在人机界面设计中,它可以用来清除屏幕上的曲线和图像。
Cls方法的格式是:[对象.]Cls
c)Pset方法。Pset方法的功能是在窗体和图片(图像)框内画上指定颜色的点。在人机界面设计中,它可以用来绘制各种曲线。
Pset方法的格式是:[对象.]Pset(x,y),[color]
其中,(x,y)为点的坐标,Color为指定的颜色。
d)Paintpicture方法。Paintpicture方法的功能是在Form和PictureBox或打印机上绘制图形文件。
Paintpicture方法的格式是:[对象.]Paintpicture图形名,x1,y1,[Width1],[Heightl]
其中,x1和y1为目标坐标参数,widthl,Heightl为目标图形尺寸参数。
[例11-1]在窗体Form1的图片框Picture1中画一条正弦曲线。其中,start按钮(Command1)为启动按钮,end按钮(Command2)为结束按钮,如图11-67所示。
图11-67 用Pset方法绘制曲线
④界面设计的通信控件。通信控件的名称为Mscommx,其中x为通信控件的编号。通信控件的功能是利用串行口实现串行通信。在人机界面设计中,通信控件可以实现PC机和PLC的数据传送和命令的传送任务。它的图标如图11-68所示。
图11-68 通信控件
通信控件可以设置通信中的全部参数,如通信口(Commport)、通信参数(Settings)、通信口使能(PortOpen)、从缓冲区读取数据(Input)、向缓冲区写入数据(Output)、输入缓冲区计数器(InBuffer-count)和输出缓冲区记数器(OutBufferCount)等。
当缓冲区有数据时,通信控件可以引发中断事件(OnComm)。
[例11-2]在窗体Form1安装了通信控件MSComm1和定时器控件Time1,如图11-68所示。试用VB编写向PLC发送数据“1234”,并接收从PLC返回的数据的程序,并把返回数据存入共有变量ad1$中。
设定计时器控件Timer1在100ms中发生一次中断发送和接收数据。
(3)VB用于人机界面设计举例
1)PC机与S7-200通信及功能。设计一个如图11-69所示的人机界面,对界面的要求为:单击“通信开始”按钮,PC机将Text1所显示的数据通过PC机的COM1口发送出去。通过PC机和S7-200之间的通信电缆(485总线)将数据送到S7-200的自由口0。在S7-200收到数据后,S7-200首先把收到的数据保存,然后再从存储器中把这些数据取出,并从自由口发送到PC机。PC机收到S7-200返回的数据后,把数据在Text2上显示。
2)PC机的VB程序设计
①VB的窗体设计。根据要求,窗体设计如图11-69所示,应插入如下控件:
a)标签控件Label1。显示“微机发送命令到PLC”,由Label1的Caption属性实现。
图11-69 人机界面及VB窗体中的控件
b)标签控件Label2。显示“微机接收PLC的数据”,由Label2的Caption属性实现。
c)文本控件Text1。输入向PLC发送的数据,由Text1的Text属性实现。
d)文本控件Text2。输出由PLC返回的数据,由Text2的Text属性实现。
e)按钮控件Command1。执行开始通信命令。
f)按钮控件Command2。执行清除文本命令。
g)按钮控件Command3。执行结束通信命令。
h)定时器控件Timer1。执行定时中断任务。
i)通信控件MSComm1。执行通信任务。
②VB的程序设计如下:
(www.xing528.com)
3)PLC的通信程序设计
①PLC的程序结构。PLC的程序由主程序OB1、中断程序INT0、INT1和INT2组成。
②PLC的程序设计
a)OB1程序设计及说明。图11-70中的“Network1”程序说明:
框图1的作用是初始化,由SM0.1启动。初始化设定通信参数为自由口0,速率为9600bit/s(B#9送SMB30)。
框图2的作用是接收控制,为允许接收(B#16#B0送SMB87)。
框图3的作用是给出结束符“A”(十迸制的10即B#16#0A送SMB89)。
框图4的作用是给出最大宇符数为100(B#100送SMB94)。
框图5、6的作用是给出中断控制。设置INT0为端口0接收信息完成(事件23)中断入口,设置INT2为端口0发送宇符(事件9)中断入口。
框图7的作用是允许中断(ENI)。
框图8的作用是自由口0开始等待接收数据(RCV),接收到的数据被放到从VB199开始的单元等。
图11-70中的“Network2”程序说明:
框图1的作用是设定发送6个宇符(B#6送VB299)。
框图2和3的作用是指出发送数据源地址为VD200和VD204,发送区地址为VD299~VD304。
b)INT0程序设计及说明。图11-71中的“Network1”程序说明:
收到结束符(SMB86=B#16#20),定时中断0的中断时间设为10ms(B#10送SMB34),设置INT1为定时中断0的中断入口,中断返回。
没有收到结束符(SMB86≠B#16#20),继续接收数据(RCV)。
c)INT1程序设计及说明。图11-72中的“Network1”程序说明:定时中断0的中断时间到,断开定时中断0。自由口0从VB299的数据区开始发送数据到PC机。
图11-70 S7-200 OB1中的程序
图11-71 S7-200 INT0中的程序
图11-72 S7-200 INT1中的程序
d)INT2程序设计及说明。图11-73中的“Network1”程序说明:INT2为端口0发送宇符(事件9)的中断入口,“Network1”表明发送宇符后要启动接收指令。
本举例的运行状态如图11-74所示。
图11-73 S7-200 INT2中的程序
图11-74 运行中的人机界面
3.解决方案
(1)硬件设计
1)机型选择。在养护窑的PWM控制中,PLC机型的选择与乒乓控制相同,由CPU224主机和模拟量输入/输出模块EM235组成硬件系统。
由于控制任务要求使用PC机作为人机界面,故要选择一台工控机。PC机的COM1和PLC的通信口0由PC/PPI电缆相连,使用自由口协议通信,其目的是PC机接收PLC发送来的温度实测值和设定值参数。PC机利用VB程序采集这两个参数,并用曲线显示,PLC则不断地向PC机发送温度数据。其硬件设计如图11-75所示。
图11-75 温度PWM控制的硬件设计
2)内存变量分配表。根据温度控制系统的组态,做出养护窑温度PWM控制内存变量分配表,见表11-22。
表11-22 养护窑温度PWM控制内存变量分配表
(2)程序设计
1)PC机VB程序及其说明如下:
说明:VB语言中的撇“′”表示其后面的内容是注释。
2)PLC程序设计
①PWM控制程序OB1及其说明。PWM控制程序OB1如图11-76所示。
图11-76 PWM控制程序OB1
“Network1”的功能是上电后启动自由口通信,调用子程序SBR0(设置并启动定时中断)。
“Network2”的功能是当按下启动按钮时设置系统运行标志M0.0。
“Network3”的功能是启动系统运行计数器C0。SM0.4是“分”脉冲,C0的值达到600表示运行达到10h(控温时间);C0的值达到720表示运行达到12h(整体运行时间)。从图11-76中可以看出,只有上电或按下复位按钮才能使计数器再启动。
“Network4”的功能是根据运行时间来设置系统运行阶段标志。M0.1为控温流程标志,M0.2为排气流程标志,M0.3为结束标志,然后调用子程序SBR1。
“Network5”的功能是把PID算法求得的过程值转换成宽度可以改变的脉冲输出,用此调频脉冲来控制迸气阀门的开关,从而控制温度,使其满足工艺要求。
“Network6”的功能是停止处理。
“Network7”和“Network8”的功能是将检测的温度值转换成单位为“度”的数据,并送入指定的显示数据区。
“Network9”的功能是把需要显示的数据转换成ASCII码。
“Network10”的功能是把需要显示的ASCIIH码不断地从通信口0发送。
②PWM控制程序SBR0及其说明。SBR0的功能是启动定时中断,把10送入SMB34A中,表示定时中断的时间间隔为10ms,如图11-77所示。中断连接指令把中断程序0(INT0)和中断事件10(EVNT10)连接,表示设置的是定时中断巨中断服务程序在INT0中,ENI是开中断。
③PWM控制程序SBR1及其说明。SBR1的功能是系统运行的通风和排气控制,如图11-78所示。第一阶段(M0.1=1)要开风机(Q0.1=1);第二阶段(M0.2=1)要排气(Q0.2=1);第三阶段运行的结束阶段(M0.3=1)要关闭所有输出(Q0.0、Q0.1、Q0.2复位)。
图11-77 温度PWM控制程序SBR0
图11-78 温度PWM控制程序SBR21
④PWM控制程序INT0及其说明。INT0的功能是定时读取检测的温度,根据给定的PID系数迸行PID运算,对系统迸行控制。其程序如图11-79所示。
“Network1”的功能是读取AIW0的数据并将其转换为标么值,送入VD100中。
“Network2”的功能是把各个PID系数送入PID数据表中。
“Network3”的功能是迸行PID运算,其输出值存于VD108。
“Network4”的功能是将PID的输出转换为0~100的脉宽,送到VW304和VW310中,再由定时器输出。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。