7
西门子模块6ES7216-2BD23-0XB8速发
1 引言
使用S7-200的自由口模式与上位计算机通信,其硬件,适应性强,但编程较困难。本文根据自定义的通信规约编制通信程序,实现了上位计算机对各PLC从站存储器中字节、整数或双整数数据的读写操作。
2 通信规约
通信采用单主站方式,一台计算机作为主站,多台PLC作为从站。计算机采用广播方式主动向所有PLC发送包含从站站址的读/写命令帧,每次被计算机站址的一台PLC收到后返回响应帧。
通信波特率为19.2k bit/s,串行数据格式为1位起始位,8位数据位,1位停止位,无奇偶校验,采用异或校验方式,校验码为除它本身外所有字节的异或值。计算机使用事件驱动方式接收数据;PLC用XMT(发送)指令发送数据,用字符中断方式接收数据。
图1是通信帧的格式,用阴影表示数据区。帧起始标志占3个字节,定义为十六进制数BEBEBE。站址是计算机要读写的从站的编号。读命令字节为CCH,写命令字节为DDH,PLC响应帧中的命令字节与接收到的命令字节相同,写命令的响应帧没有“读取的数据”部分。
除了帧起始标志、读写区的地址和读写的数据外,帧中其余各部分均只占一个字节。图1中当PLC对接收到的一帧数据校验无误而且命令字节为CCH或DDH时,响应帧中的“PLC接收正误标志”为1,否则为0。
命令帧中的读写区地址为PLC内读写区域的起始字节地址的数字编码,PLC接收到命令帧后可以将其作为指针,使用循环指令读写计算机的连续区域。经作者反复实验,得到了PLC内部多种存储区域地址的数字编码规律。该数字编码为双字,高字表示存储区类型(见表1),低字表示偏移量。根据寻址区域和偏移量就可以得到地址编码,例如MB3的地址编码为0200 0003H,它等同于PLC程序中的&MB3,只是表示方式不同而已。在通信帧中使用地址的数字编码可以简化PLC的程序。
表1 几种存储器区域地址高字编码
如果PLC接收时,PLC重新进入接收状态;如果计算机接收时,重发3次命令帧,若3次均时,发出报警信息。
3 PLC通信程序设计
3.1 接收程序和发送程序的设计
PLC作为从站,只有接收到计算机的命令帧后才返回响应帧,不会主动发送数据。
PLC使用多个字符中断服务程序,顺次接收命令帧各部分的内容。在接收帧起始标志的中断服务程序中,只有接收到连续3个BEH,PLC才认为是一帧的开始,否则重新接收帧起始标志。在接收站地址的中断服务程序中,将接收到的站址与本站站址相比较,如果相同,继续接收命令帧其余的字节,否则重新接收帧起始标志。这样每次只有一台PLC接收整个命令帧,避免了其余的PLC进行不必要的接收。在接收数据区的中断服务程序中,通过比较接收到的“数据区字节数”和实际接收到的字节数来判断数据区接收是否完成。接收完数据区后再接收到一个字节的校验码,则一帧接收完成,置发送允许标志位。
主程序检测到发送允许标志位为1时,进行异或校验并检查命令字节,若接收正确,判断是读命令还是写命令。如果是读命令,将计算机要读取的数据送入发送缓冲区;如果是写命令,将计算机提供的数据写入的存储区地址;后计算异或校验码并将它送入发送缓冲区;组织好发送帧后将它发送出去。
3.2 读写PLC存储区
从接收缓冲区中取出读写区,存入符号地址为Address的双字中,用循环程序实现对多个字节的读写。读写PLC存储区的语句格式为
MOVB *pFrom, *pTo
计算机读存储区时,pFrom指向Address开始的m个字节的连续区域,pTo指向发送缓冲区,循环次数m为要读取的字节数。写存储区时,pFrom指向接收缓冲区中要写入的n个字节的连续区域,pTo指向Address开始的连续区域,循环次数n是要写入的字节数。
3.3 接收缓冲区和发送缓冲区
使用XMT指令时每次多可以发送255个字节。由于PLC不能同时发送和接收数据,为了节省通信程序占用的存储空间和简化程序,接收缓冲区和发送缓冲区共用VB100~VB355这片区域。接收数据时,只存储命令帧中的命令字节及其后的内容。
VB100是XMT指令发送缓冲区的字节,即要发送的字节数,响应帧从VB101开始存放。对于某一从站来说,帧起始标志和站址都是固定值,可以在PLC扫描时将它们送入发送缓冲区。PLC响应帧中的命令字节与接收到的命令字节相同,因此PLC在生成响应帧时,只需生成除帧起始标志、站址和命令字节以外的部分。经分析可知,计算机每次多可以从PLC读取247个字节,向PLC写入244个字节的数据。
4 计算机程序设计
计算机通过PLC响应帧中返回的站址号和命令字节判断是哪个从站对何种命令作出的响应,并结合PLC接收正误标志作出相应的处理。
4.1 接收及通信出错处理
计算机采用串口事件方式接收PLC发出的响应帧。计算机将接收到的每个字节顺次放入接收缓冲区(动态字节型数组),通过数据区字节数判断对响应帧的接收是否结束。
接收完成后,计算机对接收到的数据作异或校验,如果校验无误,命令字节为CCH或DDH,而且PLC接收正误标志为1,计算机认为接收正确。如果计算机异或校验判断接收有误或PLC返回的接收正误标志为0,将重发同样的命令帧,若连续重发3次后均出错,则提示用户。
4.2 命令帧的生成
在计算机中命令帧用字节型数组来表示。设要读取1号站PLC中MB6开始的3个字节的数据,MB6的地址代码0200 0006H应放在PLC接收缓冲区的VB107~VB110。根据S7-200的寻址方式,VB107~VB110各字节中的值分别为02H、00H 、00H、06H,PLC接收到的字节从低地址开始存放,所以在计算机中只需将以上4个字节顺次存放于命令帧数组即可。本例从VB101开始的读命令帧为:BE BE BE 01 06 CC 02 00 00 06 03 72(十六进制数),后一个字节(72H)为异或校验码。
4.3 读写整数和双整数的方法
整数占用一个字,双整数占用连续的两个字。由于PLC和计算机中整数和双整数的存储方式相同,计算机可以把它们分别拆成2个字节和4个字节后发送,亦可将接收到的多字节组合成整数或双整数。
读PLC中连续的n个整数时,可以转换为读连续的2n个字节,计算机接收到后将每相邻的2个字节组合成1个整数;同样的,读n个双字可以转化为读4n个字节,计算机接收到后将每相邻的4个字节组合成1个双整数。
将n个字或双字写入PLC时,可将它们拆分成2n个字节或4n个字节,按高字节在前,低字节在后的顺序放入发送帧中。拆分操作可用位逻辑运算来实现。例如,欲将256和-1两个整数写入PLC的MW6和MW8,将它们分别拆分为2个字节01H ,00H和FFH, FFH,设站号为1,则写命令帧为BE BE BE 01 09 CC 02 00 00 06 01 00 FF FF 7F(十六进制)。
5 实验及结论
经多次实验表明,本文介绍的通信程序运行稳定,能满足工程实用的要求。该程序的通用性好,计算机可以读写PLC中的多种存储区域,可设置读写的起始地址和字节数,每次多可读写240多个字节,数据可以按字节、整数和双整数来读写。
通过帧起始标志、PLC接收正误标志和异或校验保证了通信的性,接收出错和时出错重发送机制进一步提高了通信的性能
1 引言
莱钢轧钢厂中小型车间加热炉为步进炉,用来对连铸坯进行加热。使用燃料为高炉和焦炉混合煤气,钢坯需要经五段加热区加热到适当温度后出炉。加热炉燃烧介质各参数的稳定运行非常重要,它直接影响到烧坯的质量,并涉及着生产等重大问题。在生产过程中对加热炉炉压和温度的稳定有严格的要求,比如燃气的流量和温度等等。要想实现这些参数的稳定,并且达到较好地配比有不同的方法可以实现。炉区仪控的热工检测控制量共573点,其中模拟量输入98点,模拟量输出24点,开关量输入261点,开关量输出190点。调节回路16套,分别对加热炉的煤气、空气的流量、压力,炉内温度,换热器的保护等进行控制。
随着微电子技术的发展,PLC产品在其功能和性能指标上都大大地丰富和完善,因此,我们就应用PLC的一些特殊功能模块和一些普通的I/O模块对加热炉的各个参数进行自动控制,包括提到的各种参数、以及通过PLC和变频器的通讯实现对变频器输出频率的控制。
2 系统构成
本系统上选用一台上位机MASTER VIEW,一台监控站Operate Station520配以ABB ADVANT BUILD软件包,PLC部分选用ABB MASTER PIECE200/1,它具有、运行、功能较强的特点。本系统大致可以分为三个部分;
(1) 仪控系统以及PID调节部分;
(2) 双交叉限幅燃烧系统;
(3) PLC和变频器的通讯部分。
系统构成框图如图1所示。
图1 系统配置图
3 仪控系统组成及控制功能
现仪控系统16套自动调节回路中,均采用PID调节,操作方式分为自动、手动方式,执行机构有14套电动方式、2套液动方式。操作站实行对炉子的状态监控、意外事件报警等功能。
3.1 仪控系统的检测
入炉煤气、空气的流量检测由管路孔板检测差压,经差压变送器转换成标准信号(4~20mA)进PLC。入炉煤气、空气的压力从管路出压口取煤气压力与大气压力比较所得差压信号,经差压变送器转换成标准信号进PLC。炉子的炉温(S型)、换热器处温度(K型)由热电偶检测进PLC。所有信号经PLC分别计算转换后,参与控制,并可在操作站显示。
3.2 加热炉压力控制
为保证助燃空气与煤气压力保持稳定、使炉内燃烧顺利进行,煤气和空气的压力进行控制。加热炉炉内压力过高,过低都不恰当,过高会使炉门喷火并损伤炉子设备,过低会使加热炉吸入冷空气,影响加热炉燃烧质量及效果,炉内压力的控制也很重要。
(1) 助燃空气压力控制
助燃空气压力的大小,是保证喷嘴正常工作的重要条件。助燃空气压力调节是PID调节。如果设定值与反馈值存在偏差,PID调节开始进行,尽可能在短时间内使偏差小。当反馈值大于设定值,经PID运算后向阀门输出控制信号,使阀门关小,于是压力下降,当反馈值小于设定值,经PID运算向阀门输出信号,使阀门开大,压力升高。
(2) 煤气压力控制
煤气压力控制阀主要起保护作用,煤气和空气若是出现低压,将会出现事故。所以在煤气和空气主管道上,分别装有两个低压开关,在换热器前后也各装有一个。任意一个低压开关动作,将会使煤气主关断阀都会自动关闭,停炉,保护加热炉。
(3) 加热炉炉内压力控制
炉内压力一般要求保持微正压控制。炉压滞后大,时间常数小,因此采用前馈—负反馈调节。系统调节方块图如图2所示。
图2 系统调节方块图
3.3 换热器保护
常温的煤气、空气通过换热器后以300-4000C进入炉内燃烧。换热器的温度不能过高,也不能过低。过高损坏设备,过低会使煤气结露,生成弱酸腐蚀换热器。
3.4 PlD调节
PID调节部分共16路,包括预热段、加热上段、加热下段、均热上段、均热下段煤气、空气的温度、流量等参数的控制。PID控制主要通过PID控制单元,该单元主要有以下特性:
(1) l00ms高速采样周期,实现了高速PID控制;
(2) 输入信号的抗干扰
滤波器衰减输入噪音,控制输入意外干扰,使PID控制成为有效的快速响应系统;
(3) 多种输出规格可供选择;
(4) 八组数据设置;
八个数值(如设(SP)和报警设置值)可以预置在八个数据组中;
(5) 可以用数据设定器输入和显示当前值;
(6) 可以用PLC程序输入和检索数据。
同时我们通过PLC的程序实现加热炉的双交叉限幅燃烧系统控制,从而实现了加热炉的稳定运行。
PID控制可以分为本地控制和远程控制两种模式,远程控制即通过PLC实现的控制,又有自动和手动两种方式,自动控制即由PLC进行全自动控制,不需要进行人工干预。手动控制即在上位机上给定一个阀位输出值,通过PLC对阀位进行控制。在正常情况下都是在远程控制模式下的自动状态进行,并且每个PID控制回路的SV值、PV值、OUT值都可以在上位机上用棒图显示出来,非常直观。
同时在上位机上可以很方便地修改各燃烧介质温度、压力以及每个控制回路的PID参数,如设定值(SV)、“P”值、“I”值、“D”值,并且操作界面非常友好,操作方便。
4 双交叉限幅燃烧系统
加热炉所用空气、煤气流量波动频繁,同时煤气的热值等因素也会影响燃烧效果。对这些不利因素,所用燃烧控制系统由温度控制和流量控制组成,在控制系统中设计了高、低选择器、系统运算单元和一些平衡换算单元,并辅有的温压补偿,加热区上下段的主副控制。
4.1 温压补偿
在气体流量控制中,由于气体所处的温度、压力不同,需进行温压补偿。在本加热炉燃烧控制中,空气温压补偿设为K1计算公式如下:
按式(1)计算出的数值K1放在AOC149中,各空气流量变送器测的实际数值乘以此稳压补偿,在参与计算与控制。
煤气温压补偿设为K2,
按式(2)计算出的数值K2放在AOC150中,各煤气流量变送器测的实际数值乘以此稳压补偿,在参与计算与控制。
4.2 双交叉限幅燃烧控制与实现
炉内分预热段、上加热段、下加热段、上均热段、下均热段。煤气、空气流量调节系统共有十路,由于控制原理基本相同,现仅以均热上段的燃烧控制为例进行说明。
(1) 燃烧控制系统原理
在煤气流量调节回路中,炉温PID的输出A1与根据实测空气流量折算成需的煤气流量之后,分别乘以一个偏置系数K3,得到信号A2,乘以一个偏置系数K4得到信号A3,A1、A2、A3三者经过高低选择器比较,选中者作为煤气流量PID的设定值。空气流量调节回路中,炉温PID的输出B1,与根据实测煤气流量折算成所须空气流量之后,分别乘上一个偏置系数K1得到信号B2,乘上偏置系数K2得到信号B3,B1、B2、B3三者经高低选择器比较,选中者乘量补偿系数,送到空气PID作为设定值。
其系统组成原理图如图3所示。
图3 双交叉限幅燃烧控制原理
(2) 系统调节过程及特点
在系统稳定状态时,温度PID的输出以A1送到煤气 流量调节回路PID作为设定值,以B1送到空气流量调节回路PID作为设定值。
在负荷剧增(温测<温给)时,温度PID的输出剧增.对于空气流量调节回路,随着B1开始增加时,B1<B2,低选器选中B1,空气增加,当B1正跳变到B1>B2时,低选器选中B2,B1被中断,同时B3<B2,高选器选B2,B2作为该回路PID的设定值,使空气流量随着煤气的增加而增加,交叉限制作用开始,当B2增加到B2>B1时,低选器又选中B1,B1又作为该回路PID设定值,交叉限制作用结束,系统稳定。对于煤气流量调节回路,随着煤气的增加,高选器选A1,而低选器中,开始时选A1作为该回路PID的设定值,煤气增加,A1>A2时,低选气选A2,A1被中断,煤气随着空气增加而增加,交叉限制作用开始,当A2增加到A2>A1时,低选器又选A1,此时A1>A3,使交叉限制作用结束,系统恢复稳定。负荷剧减时相反。
可见负荷增加过程中,先开空气后开煤气,煤气和空气交替逐渐增加,从而保证充分燃烧,不产生黑烟。负荷减少时,先关煤气后关空气,空气和煤气交替逐渐减少,保证合理燃烧,不会空气过剩,带走热量。
一般取:K1/K3=0.9,K2/K4=1.1。在运行时再根据炉子结构,煤气热值加以修正。
5 结束语
该系统应用加热炉后运行稳定,也降低操作者的劳动强度,受到生产厂家的;该系统的操作也非常方便,凡是需要修改的参数都可以在上位机或者监控站上直接输入,如变频器的起/停、基准频率、每个PID控制回路的参数值等;另外,该系统价格低,投资少,降低了产品成本,效益显著。
PLC控制系统的基本作用如下:
2.1 联锁控制、保护
按照细纱机的工艺要求实现自动控制,包括低速运行、高速运行、吹吸风、落纱等过程。落纱分为自动落纱和中途落纱两种方式。中途落纱是为了方便操作工中途休息、吃饭等而设置的,是一项 “暂停工作”的功能;自动落纱分为定长落纱和定时落纱,定长落纱就是当纺纱长度达到预设值的时候自动进行落纱,定时落纱就是当纺纱的时间达到预设值的时候自动进行落纱。自动落纱的方式以及落纱时间或者长度均可以在文本显示器上进行设置并能够在PLC中掉电保持。
另外,根据实际情况在程序中增加了各个过程、设备之间的联锁保护功能,使生产过程加。
2.2 工艺参数计算
在生产过程中对各种工艺参数自动进行计算,包括锭子转速、牵伸倍数、细纱号数、细纱捻度、千锭小时产量等。计算得到的参数都实时送往文本屏进行显示,以便于对生产情况进行监控。
2.3 生产管理
为了适应厂家采用轮班生产的方式,在PLC内预设了甲、乙、丙、丁四个班组。操作工在生产之前通过文本屏登录并选定自己的班组。各个班组的累计产量以及所有班组的累计总产量均由PLC自动进行实时计算并送往文本屏显示。
所有的产量数值均在PLC中实现了掉电保持。
3、 总结
KDN-K3系列PLC此次在纺织机械中的大批量应用既源于用户对其性能指标、性等的认可,重要的是它能够为用户带来的利润。
此次配置的K306-24AR型CPU采用交流供电,电压范围宽达AC85V—AC265V,能够适应于供电电压波动严重的地区;CPU本身提供了DC24V电源输出,文本显示屏、扩展模块以及所有的DI信号均用此电源供电,用户再配置DC24V的电源;此次使用的K323-08DTX模块是凯迪恩公司推出的一种有特色的DIO模块,模块上每一个点均可以作为DI或者DO点,这样此次用户在选型配置时就节约了一个DO扩展模块。