6ES7211-0BA23-0XB0多仓发货

供应商
浔之漫智控技术-西门子PLC代理商
认证
手机号
15221406036
经理
聂航
所在地
上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
更新时间
2024-05-08 07:10

详细介绍

6es7211-0ba23-0xb0多仓发货

1  引言

在供水系统中,恒压供水是指在供水网系中用水量发生变化时,出口压力保持不变的供水方式。本文采用计算机(pc)、可编程控制器(plc)、变频器组成变频恒压供水监控系统,通过变频调速实现恒压供水、满足节能降耗的要求,而且有利于实现生产的自动化及远程监测。用水量变化具有随机性,用水高峰时水压不足,低谷时又造成能量浪费。变频恒压供水系统根据公共管网的压力变化,通过plc和变频器自动调节水泵的增减、水泵电机的运行方式及电机的转速,实现恒压供水,既防止了能量空耗,又避免出现电机启动时冲击电流对设备的影响。


2  工作原理

变频恒压供水系统采用一台变频器拖动两台大功率电动机,可在变频和工频两种方式下运行;一台低功率的电机,作为辅助泵电机。

启动方式:为避免启动时的冲击电流,电机采用变频启动方式,从变频器的输出端得到逐渐上升的频率和电压。启动前变频器要复位。

变频调速:根据供水管网流量、压力变化自动控制变频器输出频率,从而调节电动机和水泵的转速,实现恒压供水。如设备的输出电压和频率上升到工频仍不能满足供水要求时,plc发出指令1号泵自动切换到工频电源运行,待1号泵完全退出变频运行,对变频器复位后,2号泵投入变频运行。

多泵切换:根据恒压的需要,采取无主次切换,即“先开先停”的原则接入和退出。在plc的程序中,通过设置变频泵的工作号和工频泵的台数,由给定频率是否达到上限频率或下限频率来判断增泵或减泵。在用水量较小的情况下,采用辅助泵工作。

为了避免一台泵长期工作,任一泵不能连续变频运行超过3小时。当工频泵台数为零,有一台运行于变频状态时,启动计时器,当达到3小时时,变频泵的泵号改变,即切换到另一台泵上。当有泵运行于工频状态,或辅助泵启动时,计时器停止计时并清零。

故障处理:能对水位下限,变频器、plc故障等报警。plc故障,系统从自动转入手动方式。


3  plc控制电路

系统采用s7-200plc作下位机。s7-200plc硬件系统包含一定数量的输入/输出(i/o)点,同时还可以扩展i/o模块和各种功能模块。输入点为6个,其中水位上、下限信号分别为i0.0、i0.1。输出点为10个,o0.0-o1.0对应plc的输出端子。对变频器的复位是由输出点o1.0通过一个中间继电器ka的触点来实现的。根据控制系统i/o点及地址分配可知,系统共有5个开关量输入点,9个开关量输出点;1个模拟量输入点和1个模拟量输出点。可以选用cpu224plc(14di/10do),再扩展一个模拟量模块em235(4ai/1ao)。


4  plc通信程序

s7-200plc硬件功能完善,指令系统丰富。可为用户提供多种通讯方式:ppi方式,mpi方式,自由通讯口方式等。应用自由通讯口方式,使s7-200plc可以与任何通信协议已知,具有串口通讯的智能设备和控制器(如打印机、变频器、上位pc机等)进行通信,也可以用于两个cpu之间简单的数据交换。该通信方式使可通信的范围大大增大,使控制系统配置更加灵活、方便。

采用plc自由通讯口方案,plc工作于从站,pc处于主站模式,plc从站只响应来自主站的申请。主站向plc从站发送指令格式的报文,读指令00为向从站plc申请产生于plc的数据,读取水压,频率,变频泵号,工频台数,辅助泵状态等数据;写指令01为向plc传送产生于主站的数据,包括压力设定值和控制器输出值。在自由口通信模式下,通信协议完全由用户程序控制。通过设定特殊存储字节smb30(端口0)或smb130(端口1)允许自由口模式,用户程序可以通过使用发送中断、接收中断、发送指令(xmt)和接收指令(rcv)对通信口操作。

应用发送指令(xmt),可以将发送数据缓冲区(tbl)中的数据通过指令指定的通信端口(port)发送出去,发送完成时将产生一个中断事件,数据缓冲区的个数据指明了要发送的字节数。应用接收指令(rcv),可以通过指令指定的通信指定端口(port)接收信息并存储与接收数据缓冲区(tbl)中,接收完成也将产生一个中断事件,数据缓冲区的个数据指明了要发送的字节数。

初始化程序:

ld sm0.0  //开机始终为on

movb  16#9,smb30     

file://自由口通信,选择9600波特,8位数据位,无校验

movb   16#2, vb0file://预设plc地址

movd   &vb1000,vd20 

file://设置接收缓冲区,将其首地址传给指针vd20

movd   &vb1200,vd30 

file://设置发送缓冲区,将首地址传给vd30

movd   vd20, vd24file://指针值保存

movd   vd30,vd34

movb   8,smb34 

file://设置8ms的定时器0时基中断

atch   0,8

file://接收字符连接到中断0,连接静止线定时器和接收器

atch   1,10  

file://定时中断0,连接到中断1

eni   file://开中断

为了保证通讯接收的可靠性,程序采用前导符,plc地址,静止线接收,结束字符。首字符的确认可通过设置前导符来完成,并且通过比较还可以剔除部分干扰字符。首字符确认:

network 1  file://判断前导符

ld    sm0.0

ab<>   smb2,16#40 

file://不是前导符则跳出中断

reti

network 2  file://终止定时中断

ld     sm0.0

dtch   10  file://断开时基中断

network 3  

file://是前导符则连接中断3

ld     sm0.0

ab=     smb2,16#40

atch    3,8

静止线是通讯过程中的一个检测用时间,即设定的数据传输过程中无任何数据的任意2点的间隔时间。静止线的设计和处理包括长度的确定及定时器和接收器的设计。

int_   //静止线定时器

ld   sm0.0

atch 1, 10    

file://静止线定时器采用8ms的时基中断。

int_1   //静止线接收器

ld   sm0.0

atch 2, 8 file://开始接收字符

尾字符的确认和校验处理:

network 1  //接收及计算校验码

ldn m0.0

ldb<>    smb2, 16#2a 

// 判断是否为个结束符

movb    smb2,*vd24 

file://不是则保存数据并计算异或值

xorw     smw1,ac0

incd     vd24

incd     vb40

network 2   

file://如果是个结束符,则对m0.0置位,并跳出中断,

file://接收下一个字符,看是否为第二个结束符

ldn     m0.0

ab=    smb2,16#2a

s  m0.0, 1

movb   smb2,ac1

reti

network3

ld m0.0

ab<> smb2, 16#0a   

file://判断第二个结束符,如不是则继续执行

ab<>smb2,16#2a  

file://判断又是个结束符?不是则执行保存数据,

file://异或运算,并对m0.0复位。

xorw   ac1,ac0

movb   vb300,*vd24

incd   vd24

movb   smb2,*vd24

xorw   smw1,ac0

incd   vd24

incd   vb40

incd   vb40

r  m0.0, 1

reti

network 4  

file://如果又是个结束符,则上一个是有用的数据,需要保存

ld m0.0

ab= smb2, 16#2a

xorw ac1, ac0

movb vb1300, *vd24

incd vd24

movb smb2, ac1

reti

network 5   

file://如前一个为2a,现在接收到0a,则接收完毕,启动延时中断

ld     m0.0

ab= smb2, 16#0a

dtch   8

file://断开接收状态,准备组织发送

movb   20,smb34

atch    5,10  

file://连接中断5,根据接收到的信息组织数据发送

对不方便设置尾字符的,可以采用计数的方式对中间字符进行接收,计数到则执行一个专门中断程序来执行接收结束的处理。对尾字符的判断处理采用以下流程进行处理。校验采用从plc地址号开始,与数据(不包括两个连续的尾字符)进行异或校验。每接收一个字符就进行尾字符判断,如果不是尾字符则在接收的同时进行异或校验。


5  监控程序设计

上位机的程序流程图如图1所示。根据接收到的数据进行判断,如接收到的是读写错误,则要求重发。如为写成功,则开启定时器1,定时采样;如读成功,接收到的是采样数据则进行显示和调用神经网络进行数字处理,处理完毕发送频率和设定压力值,并开启定时器2,等待响应。

系统主窗体四个按钮控件,分别为参数设置、实时监测、启动和关闭系统。参数设置界面如图2所示。用户可根据实际情况修改压力设定值。

主要控件功能包括:

(1)压力设定值:压力设定值范围:0.30-0.60mpa。

(2)校正系数:主要是对压力显示进行校正,使压力显示与压力表显示一致。

(3)复位按钮:运行中按下,将使系统重新启动,各参数回到初始设置。

(4)设定按钮:在文本框输入压力设定值和校正系数后,按下此按钮,压力设定值和校正系数才能通过串口发送给下位机。




图1    上位机流程图




图2    供水系统参数设置界面




图3    供水系统实时监测界面



图3所示为系统实时监测界面,可显示当前的实际水压和频率值;三个指示灯主要接收plc回送的信息,实时监测各泵的运行情况,正常显示为绿色;故障时,相应的控件变成红色显示。

1 引言

与其它工业控制系统相比,plc控制系统具有可靠性高、抗干扰能力强等突出优点,因而广泛应用于工业控制领域。对于那些不必采用上位机监控+plc现场控制的简易控制系统,操作面板的完善与否直接影响到整个系统的智能化程度高低。对小型控制系统而言,在满足功能的前提下,高性价比一直是设计人员追求的目标,若采用触摸屏(如siemens的tp270)+组态软件(如protool)的方式组成人机界面,势必使整个系统的性价比大为降低,因此,提出基于plc的矩阵式键盘设计方案具有较大的实际意义。


2 矩阵式键盘工作原理

矩阵式键盘是相对于独立式键盘而言的,也叫行列式键盘,是当键数较多时为节省i/o点而采取的一种结构。在微机系统中,矩阵式键盘的构成方式如图1所示。




图1 矩阵式键盘结构图



首先,判断整个键盘上有无键按下。方法是:将列全输出为0,然后读入行的状态,如果行读入的状态全为1,则无键按下,不全为1则有键按下。

其次,若有键按下则逐列扫描。方法是:依次将列线送低电平0,检查对应行线的状态;若行线全为1,则按键不在此列;若不全为1,则按键必在此列,且是与0电平行线相交的那个键。后,确定键值,并进入键处理程序。


3 矩阵式键盘硬件设计

在plc系统中设计矩阵式键盘不仅要用到输入口,而且也要用到输出口,因此,了解plci/o口内部电路的结构以及工作原理是十分重要的。下面以s7-200的dc输入、输出模块为例,简要说明其工作原理。

3.1 输入模块

如图2所示,为plc的dc输入模块,其中,k1-输入开关;m-公共端;i0.0-输入点;r1、r2的典型值为5.6k、1k。




图2 直流输入模块电路图



工作原理:若输入开关k1闭合,则输入信号经rc滤波和光电隔离后,转换为plc的cpu所需的电平(一般为5v),再经过输入选择器与cpu的总线相连,从而将外部输入开关的“on”状态输入到plc内部,此时输入指示灯亮,且与该输入点对应的输入映像寄存器为“1”。若输入开关断开,则信号没有形成通路,此时输入指示灯不亮,表示为“off”状态。

3.2 输出模块

如图3所示,为plc的dc输出模块,其中,l+接dc24v;q0.0-输出点。




图3 直流输出模块电路图



工作原理:若用户程序将输出置为“on”状态,则在刷新输出阶段cpu将“on”信号送给输出锁存器,再经过光电耦合送给场效应管,使之饱和导通,此时输出指示灯亮,且通过场效应管将dc24v和负载连通,从而使得负载获得工作电流。反之,若用户程序将输出置为“off”状态,则输出指示灯不亮,情况与上述相反。


3.3 键盘的硬件设计

由以上分析可知:plc的i/o口内部电路与一般的计算机系统(如单片机系统)有较大的不同,这就决定了在plc系统中设计矩阵式键盘也有其特殊性。首先,由于输入模块中有rc滤波电路,其滤波延迟时间可以通过编程软件设置,即其本身存在硬件消抖动的功能,因此不再需要软件延时消抖动;其次,由于用到了plc的输出口,它本身可以输出对m端有dc24v的电压,因此不再需要外接电源;后,由于plc的输入口有6k左右的输入电阻,因此可以将dc24v的电压直接加上,若为了延长i/o口的使用寿命,一般按照输入模块的技术指标来配置限流电阻,经查阅输入电流的典型值为4ma,一般取r1=r2=r3=0.5k即可。如图4所示为3行3列矩阵式键盘的结构图。




图4 3×3键盘结构图



4 矩阵式键盘软件设计

4.1 plc的扫描工作方式

当plc处于“run”工作模式下时,除上电初始化外,其它程序都采取周而复始的循环扫描方式,称之为“plc的扫描工作方式”,其执行流程如图5所示:




图5 plc的扫描工作流程



在设计键盘时可暂不考虑通信和自诊断,则在一个扫描周期内剩下以下三个主要阶段:

(1)输入采样阶段,cpu将所有物理输入点的状态存入对应的过程映像寄存器中,到下次输入采样前,过程映像寄存器的内容均保持不变;

(2)程序执行阶段,cpu按照从左到右、从上到下的顺序执行程序,将运算结果写到输出映像寄存器或数据存储区内;

(3)输出刷新阶段,在程序执行完后,cpu将过程输出映像寄存器的状态几乎同时的更新到物理输出点。

4.2 键盘的软件设计

矩阵式键盘的软件设计相对较为复杂,但无非是实现微机系统中所描述的键盘扫描程序的四个功能:

(1) 判断有无键按下;

(2) 去机械抖动;

(3) 求按下的键号;

(4) 键闭合一次仅进行一次键功能操作。

4.3 键盘设定及程序设计

再结合微机系统中矩阵键盘的原理,设计3×3矩阵式键盘,特做如下设定:

(1)设定0~8号键分别与m0.0~m1.0对应,键按下,对应的位存储点为“1”,键松开则为“0”;

(2)设定i0.0、i0.1、i0.2对应键盘的第0列、第1列、第2列,q0.0、q0.1、q0.2对应键盘的第0行、第1行、第2行,m1.1为“有键按下”标志位;

(3)按图4所示的方式构成3行3列矩阵式键盘,流程图如图6。




图6 键盘程序流程图


为增强程序的可读性,利用step7-micro/winv4.0编程软件,用符号地址替代地址,编制3×3键盘的stl程序如下所示。

network 1 判断有无键按下

ldn 有键按下

s 第0行, 3 //全行扫描

ld 第0列

o 第1列

o 第2列 //全列读入

an 有键按下

s 有键按下, 1//有键按下,置标志位

jmp 0

ldn 有键按下

movw 0, mw0//无键按下,清零跳出

jmp 9

network 2 散转程序

ld 有键按下

a 第0行

jmp 10 //跳至第0行

ld 有键按下

a 第1行

jmp 11 //跳至第1行

ld 有键按下

a 第2行

jmp 12 //跳至第2行

network 3 逐行扫描

lbl 0 //第0行处理

ld 有键按下

ri 第0行, 3

si 第0行, 1 //立即置位q0.0

jmp 9

lbl 10

ld 第0列

= key_0 //0键

jmp 9

ld 第1列

= key_1 //1键

jmp 9

ld 第2列

= key_2 //2键

jmp 9

lbl 1 //第1行处理

ld 有键按下

ri 第0行, 3

si 第1行, 1 //立即置位q0.1

jmp 9

lbl 11

ld 第0列

= key_3 //3键

jmp 9

ld 第1列

= key_4 //4键

jmp 9

ld 第2列

= key_5 //5键

jmp 9

lbl 2 //第2行处理

ld 有键按下

ri 第0行, 3

si 第2行, 1 //立即置位q0.2

jmp 9

lbl 12

ld 第0列

= key_6 //6键

jmp 9

ld 第1列

= key_7 //7键

jmp 9

ld 第2列

= key_8 //8键

jmp 9

ld 有键按下

r 有键按下, 1

//无键按下,清标志位

network 4 软件延时

lbl 9

ld 有键按下 //有键按下才延时

for vw0, 1, 500

nop 0

next

4.4 程序的说明

(1)程序采用了立即置位、复位指令si和ri,是为了更及时的置位复位输出点,使程序的执行不受扫描周期的影响,也可用字节立即写指令mov_biw来实现,但应该考虑对其它未用点的影响。

(2)程序的后采用了软件延时,是为了解决程序指令执行时间与输入输出滞后时间的不匹配。利用编程软件step7-micro/winv4.0中的system block下的bbbbbfilters选项可以设置输入滤波时间,默认为6.4ms,减少滤波时间可以相应的减少软件延时次数,但若滤波时间太小又达不到消抖动的目的。

(3)程序中没有考虑多键同时按下的问题,在现有的程序中,若不同行有多个键按下,均以先按下的那个键为准进行响应,但若同一行上有多个键按下,则又分要几种情况,因此在应用时,应加强对按键的限制条件,避免由于误操作而造成生产设备的损坏。

(4)程序中对每个按钮的响应均是按下该键,则对应的存储位为“1”,放开该键,则为“0”,没有其它较为智能的功能。若键盘中有“加速”、“减速”等类似键时,往往希望有连续加减的功能,即按下“加速”一定时间后(如500ms),按照每规定时间(如100ms)增加一个单位的速度值,此时可以利用两个定时器实现,其stl程序如下。

ld 加速

ton t37, 5

ld 加速

eu

= 加速上升沿

ld t37

an 每100ms通电一次

ton t38, 1

ld t38

= 每100ms通电一次

ld 每100ms通电一次

o 加速上升沿

eu

+i 1, 速度存储值


5 结束语

本文提出了在plc系统中设计矩阵式键盘的一般方法并给出了3×3键盘的硬件连线图和stl程序。在键数较多时,矩阵式键盘可以大大节省plc的i/o点数,但程序设计的复杂度也随之增加,因此使用时应在系统的硬件成本和实时性之间加以均衡考虑。此外,本文的设计思路具有通用性,只需稍加变动,就可移植到其它品牌的plc中。文中的stl程序均已通过s7-200的编程软件step7-micro/winv4.0在cpu226 dc/dc/dc上调试通过,说明了本文设计方法的可行性。


西门子代理商,西门子模块代理商,西门子一级代理商,西门子PLC代理,西门子中国代理商
展开全文
我们其他产品
我们的新闻
优质商家推荐 拨打电话