6ES7223-1HF22-0XA8使用方式
随着PLC技术的不断发展,越来越显示其强大的核心控制功能,PLC和其他设备之间的连接已经从比较烦琐的传统I/O方式向越来越受欢迎的简洁先进的通信方式过渡,不仅为设计者节省了大量的硬件成本,更能为远程控制,组网提供了可能,使控制系统更加无缝地融为一体。
本文主要通过艾默生PLC和多台变频器组网通信(以MODBUS协议方式)为例,说明PLC和多台变频器网络控制的通信程序的设计方法。
一、MODBUS协议简要介绍
Modbus协议由美国的MODICON公司提出,通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信,不同厂商生产的控制设备可以连成工业网络,进行集中监控,它已经成为一通用工业标准。控制器通信使用主—从技术,即仅一设备(主设备)能初始化传输(查询)。其它设备(从设备)根据主设备查询提供的数据作出相应反应。典型的主设备:IPC,HMI,PLC等;典型的从设备:各种仪表,PLC,变频器等。主设备可单独和从设备通信,也能以广播方式和所有从设备通信。如果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则不作任何回应。Modbus协议建立了主设备查询和从设备回应的格式:设备(或广播)地址、功能代码、所有要发送的数据、错误检测域。Modbus协议支持RTU模式和ASCII模式,RTU模式对应的帧格式如下:(ASCII模式介绍省略)
更详细的说明请查阅MODBUS协议的有关资料(或登陆网站 www.modbus.org)。
二、艾默生PLC集成的MODBUS协议功能
艾默生EC20系列PLC的通信口COM 1集成了MODBUS主站协议,在编程时先在编程软件的系统块里进行设置具体如下:系统块—>“通信口”菜单—>“通信口1参数设置”菜单—>选“MODBUS协议”—> 进行“MODBUS设置”—> 进行通信参数和(主模式)站号等设置即可。
利用MODBUS指令进行编程-----------MODBUS (S1) (S2)(S3)各参数含义如下:
S1 指定的通讯通道;
S2 发送数据起始地址;
S3 接收数据起始地址;
MODBUS指令发送过程中,自动加上所需的起始字符,结束字符和校验和;发送的数据,不需设定发送的数据长度,系统会根据功能码自动按系统内部设定长度进行发送。
2个重要的通信标志:SM135--MODBUS的通讯成功标志位,通讯成功时置位,不会自动复位,在发送数据的时候要进行一次复位;SM136—MODBUS的通信错误标志位,通信错误(包括从设备没有回应)时置位,不会自动复位,在接收数据的时候要进行一次复位;
三、艾默生变频器通信协议
艾默生公司生产的EV系列变频器都集成MODBUS协议,且提供RS232C和RS485通信口供用户选择,通过PLC和变频器通信的方式完成控制比较简单经济,显得系统比较,下面简单介绍其协议:
1. 支持MODBUS RTU和ASCII格式;
2.参数的MODBUS协议地址影射规则:变频器的功能码参数、控制参数和状态参数都映射为Modbus的读写寄存器。变频器功能码的组号映射为寄存器地址的高字节,组内索引映射为寄存器地址的低字节。变频器的控制参数和状态参数均虚拟为变频器功能码组。功能码组号与其映射的寄存器地址高字节的对应关系如下:F0组:0x00;F1组:0x01;F2组:0x02;F3组:0x03;F4组:0x04;F5组:0x05;F6组:0x06;F7组:0x07;F8组:0x08;F9组:0x09;FA组:0x0A;Fb组:0x0B;FC组:0x0C;Fd组:0x0D;FE组:0x0E;FF组:0x0F;FH组:0x10;FL组:0x11;Fn组:0x12;FP组:0x13;FU组:0x14;变频器控制参数组:0x32;变频器状态参数组:0x33。例如变频器功能码参数F3.02的寄存器地址为0x302,变频器功能码参数FF.01的寄存器地址为0xF01。
3. 支持的功能码如下:
4. 具体的协议介绍请参考艾默生变频器用户手册;
四、程序流程图
主设备对从设备的消息查询命令主要分为2大类,连续命令序列和随机命令序列。
连续命令序列:主设备需要定时或连续向从设备发送的命令序列.特点是周期性,连续性.如PLC对变频器读取运行频率命令,运行状态命令等。
随机命令序列:主设备不定时或随机向从设备发送的命令序列.特点是不定时性,随机性.如PLC对变频器的启停控制,改写频率或其他参数等。
五、 程序清单:( 子程序和主程序)
本程序主要介绍1台EC20PLC(作为主站)按照MODBUS协议网络对3台变频器(从站号分别是2,3,4)进行通信控制的简单范例,本例中:
连续命令序列 包括对2,3,4号变频器的运行频率的读取;
随机命令序列 包括对2,3,4号变频器进行启动,停止,更改频率的命令操作;
1) “变频器正转”子程序清单如下:
//主程序中用M1993作为各发送辅助使能,主要用于 MODBUS指令的上升沿触发无其他用
LD LM0 //位输入参数型—发送辅助使能
RST SM135 //复位成功标志
RST SM136 //复位失败标志
LD SM0 //运行标志
MOV Z0 V9 //保存Z0值到V9
LD SM0 //运行标志
MOV V0 V10 //从机地址
MOV 16#6 V11 //功能码
MOV 16#32 V12 //寄存器地址高字节
MOV 16#0 V13 //寄存器地址低字节
MOV 1 V14 //写入数据高字节
MOV 16#C7 V15 //写入数据低字节
//以下把发送数据转移到D7940-D7945里
LD SM0
MOV 0 Z0
LD SM0
FOR 6
LD SM0
MOV V10Z0 D7940Z0
LD SM0
INC Z0
NEXT
//发送接收数据,数据放在D7970开始区域
LD LM0
MODBUS 1 D7940 D7970
RST LM0 //马上复位发送辅助使能
//无论成功失败都还原Z0值
//当然这里省略了错误报告的处理
LD SM135
OR SM136
EU //上升沿
MOV V9 Z0
2) “停机”子程序(省略)
3) “设定频率”子程序(省略)
4) “读取运行频率”子程序(省略)
5) 主程序清单:
//******以下为通信逻辑处理部分******
LD SM1 //运行周期脉冲
//***这里省略了检查从机准备好否的环节***
//***程序里设计了3个连续命令序列***
RST M6 //复位连续命令序列1使能标志
RST M7 //复位连续命令序列2使能标志
RST M8 //复位连续命令序列3使能标志
ED //下降沿
//置位连续命令序列1使能标志,以开始第1条连续命令执行
SET M6
//***程序里设计了共9个随机命令序列***
//只要有至少1个随机命令, // M1000=ON,表示有随机命令等待,这样在连续命令切换时优先执行随机命令系列.
LD M0 //随机命令序列1使能标志
OR M1 //随机命令序列2使能标志
OR M2 //随机命令序列3使能标志
OR M3 //随机命令序列4使能标志
OR M4 //随机命令序列5使能标志
OR M5 //随机命令序列6使能标志
OR M9 //随机命令序列7使能标志
OR M10 //随机命令序列8使能标志
OR M11 //随机命令序列9使能标志
SET M1000
//所有随机命令都处理完成后, M1000=OFF,表示随机命令完成,则连续命令可以正常切换。
LDI M0
ANI M1
ANI M2
ANI M3
ANI M4
ANI M5
ANI M9
ANI M10
ANI M11
RST M1000
//任何1个连续命令未完成时,M1001=ON,标志连续命令在进行,如果有随机命令必须等待。
LD M6
OR M7
OR M8
SET M1001
//连续命令处于切换状态时,M1001=OFF,标志连续命令完成,如果有随机命令可以进行。
LDI M6
ANI M7
ANI M8
RST M1001
//每1个连续命令完成且无随机命令等待时,启动延时T0 100MS,以便切换下1个连续命令执行
LD M100 //连续命令1完成标志
OR M101 //连续命令2完成标志
OR M102 //连续命令3完成标志
ANI M1000
TON T0 1 //启动延时T0 100MS
//******************************************
//**********以下为3个连续命令序列**********
//调用“读取运行频率”子程序-2#站,频率存在D1000里;
//通信成功或失败都复位连续命令序列1使能标志M6,置位完成标志M100,以便进行切换。当然这里省略了失败的处理子程序;
//延时T0时间后,执行连续命令2序列,置位连续命令2序列使能标志M7;
LD M6 //连续命令序列1使能
MPS
EU
SET M1993 //发送前置位发送辅助标志
MRD
CALL 读取运行频率 2 M1993 D1000
//参数注释:站地址,发送辅助位,频率存放地址
MPP
LD SM135
OR SM136
ANB
RST M6
SET M100
LD T0
AND M100
EU
RST M100 //复位连续命令1完成标志
SET M7
//调用“读取运行频率”子程序-3#站,频率存在D1001里;
//通信成功或失败都复位连续命令序列2使能标志M7,置位完成标志M101,以便进行切换。当然这里省略了失败的处理子程序;
//延时T0时间后,执行连续命令3序列,置位连续命令3序列使能标志M8;
LD M7 //连续命令2序列使能
MPS
EU
SET M1993 //发送前置位发送辅助标志
MRD
CALL 读取运行频率 3 M1993 D1001
//参数注释:站地址,发送辅助位,频率存放地址
MPP
LD SM135
OR SM136
ANB
RST M7 //复位使能标志
SET M101 //置位完成标志
LD T0
AND M101
EU
RST M101 //复位连续命令2完成标志
SET M8 //置位连续命令3使能标志
//调用“读取运行频率”子程序-4#站,频率存在D1002里
//通信成功或失败都复位连续命令序列3使能标志M8,置位完成标志M102,以便进行切换。当然这里省略了失败的处理子程序;
//延时T0时间后,重新执行连续命令1序列,置位连续命令1序列使能标志M6;
LD M8 //连续命令3序列使能
MPS
EU
SET M1993
MRD
CALL 读取运行频率 4 M1993 D1002
//参数注释:站地址,发送辅助位,频率存放地址
MPP
LD SM135
OR SM136
ANB
RST M8
SET M102
LD T0
AND M102
EU
RST M102
SET M6
//******************************************
//**********以下是9个随机命令序列***********
//9个随机命令思路都一样;
//随机命令使能标志置位后,若连续命令处于切换状态,则可进入发送状态,否则只有等待;
//发送时先置位发送辅助位M1993,调用子程序进行发送和接收;
//无论通信成功或失败都复位各自的随机命令使能标志,当然这里仍然省略了通信错误处理程序;
//如果所有的随机命令都完成,则随机命令等待标志M1000=OFF;
//调用“频率设定”子程序-2#站
LD M9 //随机命令序列7使能标志
ANI M1001 //判断连续命令处于切换状态时
MPS
EU
SET M1993 //置位发送辅助位
MRD
CALL 运频设定 2 D1100 M1993
//参数注释:站地址,设定频率,发送辅助位
MPP
LD SM135
OR SM136
ANB
RST M9 //复位随机命令序列7使能标志
//调用“频率设定”子程序-3#站
LD M10 //随机命令序列8使能标志
ANI M1001 //判断连续命令处于切换状态时;
MPS
EU
SET M1993 //置位发送辅助位
MRD
CALL 运频设定 3 D1101 M1993
//参数注释:站地址,设定频率,发送辅助位
MPP
LD SM135
OR SM136
ANB
RST M10
//调用“频率设定”子程序-4#站
LD M11 /随机命令序列9使能标志
ANI M1001
MPS
EU
SET M1993
MRD
CALL 运频设定 4 D1102 M1993
//参数注释:站地址,设定频率,发送辅助位
MPP
LD SM135
OR SM136
ANB
RST M10
//调用“正转开机”子程序-2#站
LD X11 //开机按扭
EU
SET M0 //随机命令序列1使能标志
LD M0
ANI M1001
MPS
EU
SET M1993
MRD
CALL 正转开机 2 M1993
//参数注释:站地址,发送辅助位
MPP
LD SM135
OR SM136
ANB
RST M0
//调用“正转开机”子程序-3#站
LD X12 //开机按扭
EU
SET M1 //随机命令序列2使能标志
LD M1
ANI M1001
MPS
EU
SET M1993
MRD
CALL 正转开机 3 M1993
//参数注释:站地址,发送辅助位
MPP
LD SM135
OR SM136
ANB
RST M1
//调用“正转开机”子程序-4#站
LD X13 //开机按扭
EU
SET M2 //随机命令序列3使能标志
LD M2
ANI M1001
MPS
EU
SET M1993
MRD
CALL 正转开机 4 M1993
//参数注释:站地址,发送辅助位
MPP
LD SM135
OR SM136
ANB
RST M2
//调用“停机”子程序-2#站
LD X14 //停机按扭
EU
SET M3 //随机命令序列4使能标志
LD M3
ANI M1001
MPS
EU
SET M1993
MRD
CALL 停机 2 M1993
//参数注释:站地址,发送辅助位
MPP
LD SM135
OR SM136
ANB
RST M3
//调用“停机”子程序-3#站
LD X15 //停机按扭
EU
SET M4 //随机命令序列5使能标志
LD M4
ANI M1001
MPS
EU
SET M1993
MRD
CALL 停机 3 M1993
//参数注释:站地址,发送辅助位
MPP
LD SM135
OR SM136
ANB
RST M4
//调用“停机”子程序-4#站
LD X16 //停机按扭
EU
SET M5 //随机命令序列6使能标志
LD M5
ANI M1001
MPS
EU
SET M1993
MRD
CALL 停机 4 M1993
//参数注释:站地址,发送辅助位
MPP
LD SM135
OR SM136
ANB
RST M5
六、 程序说明:
例程设计时实际在连续命令序列切换的间隙停留了100MS的时间,这就是说程序中的连续序列是间歇性的;如果要采用非间歇性的连续序列,把中间的延时部分去掉就可以了。
本例程所阐述的通信序列逻辑处理的方法在笔者的一些项目中得到实际应用,效果也达到预期设想,运行比较稳定,这种PLC通过通信的方式对多台变频器通信的方法在实际应用中有很大的参考价值,不仅能够充分利用EMERSONPLC和变频器的硬件资源达到节省成本的目的,更易于进行整个系统的整合。
一、前言
在城市集中供热系统中,热力站作为热网系统面对系统热用户后一级调节单元,热力站的控制效果直接决定热用户的采暖效果。太原市热力公司所辖城市热网包含400余座热力站,供热面积覆盖太原市总采暖面积的60%,所有热力站均采用间连型热力换热站。
在间连热网热力站中,二次网供回水压力、温度及liuliang均是影响供热效果的重要因素,而二次网各供参数的调节主要是依靠对二次网循环泵及补水泵的控制。传统的热力站控制中,循环泵与补水泵一般都采用工频泵,系统在设计选型时已经决定了系统二次网的主要参数,相对的,系统的适应性、扩展性及各参数的jingque调整均受到极大限制。
太原热力公司自99年起,开始逐步对太原集中供热热网的各个热力站进行自动控制化改造。对于原有的热力站,统一增加自控仪表、PLC及变频设备;对于新建的热力站,在设计时即在工艺系统基础上引入自控设备。自控系统辅助将热力站的控制jingque化,结合热网中控室全网平衡系统及通讯网络系统,进行全网均匀调节,达到较好的控制效果。本文着重介绍自控系统及变频器在热力站控制中的应用。
二、热力站自控系统构成
间连型热力站自控系统按设备类型分,可分为:温度、压力变送器,liuliang计,电动调节阀,循环泵及补水泵;按控制回路分,则可分为:一次网liuliang控制回路、二次网循环控制回路、二次网定压回路。
在热力站自控系统中,一次网liuliang控制回路主要通过调节一次回水调节阀来实现。二次网的调节回路则是通过调节二次网循环泵及补水泵转速来实现。一次网的控制指令主要由热网调度中心根据全网平衡算法下发,而二次网循环泵及补水泵变频器转速则由站内PLC系统依据各热力站所带热网的实际情况计算得出。
热力站自控系统结构如下图。
图1 典型热力站系统结构图
三、系统控制思想
在集中供热工程中由于各用户的建筑面积、暖气片性能及房屋保温质量各不相同,很难确定一组典型的室内温度作为直接被控量,而供、回水的平均温度从整体上反映了各用户暖气片的平均温度,一般的供热系统都是根据室外环境温度及不同的供热时段来控制供、回水平均温度的方法来间接控制用户室温。
在太原各热网控制中,由于在进行热力站自控改造的对热网调度系统也进行了调整。目前太原各个热力分公司热网调度中心都加设了全网平衡系统,调度中心通过与个热力站进行通讯,获取热网数据,并根据室外温度情况对全网热力站的供热效果进行均匀调整。
各热力站从控制中心获取对应的二次网供回水平均温度,站内系统将独立控制回路分为二次网供回水平均温度控制回路和一次网liuliang控制回路,根据平均温度的偏差确定一次网liuliang的设定值,调节阀门开度使liuliang达到设定值。
站内的控制系统还根据热力站的实际情况对二次网循环泵及补水泵进行调速,
系统根据二次网供、回水平均温度的温差,通过变频器自动调节循环泵的转速,实现对系统总liuliang和温度的调节。使循环水泵按照实际负荷输出功率,减少不必要的电能损失,实现小liuliang大温差的运行模式。通过此举,可以及时地把liuliang、扬程调整到需要的数值上,消除多余的电能消耗,从而达到良好的节能效果。通常热力系统会设计两台变频泵,这不仅是为了系统备用,也是为了防止系统超调。如果负荷不够,则泵的转速加大,达到100%时还不满足要求,则启动第二台泵。系统还可以根据运行时间自动切换各循环泵,也提供低水压保护和连锁功能。
控制系统的二网供、回水压力是热网安全运行的重要参数。供水压力过高可能造成热水管道及用户暖气片的破裂;供、回水压力过低,使得部分热用户无法的到足够热量。恒压控制的佳方案是对补水泵进行变频调速控制,但考虑此处对压力的稳定性要求并不高,只要压力不超出某一范围即可,也可以采用开关补水控制方案。
四、热力站控制系统的实现
1、一网回路控制:
热力站的一次网回路控制,主要是热负荷控制。通过控制调节一次网回路上的电动调节阀,来调节流过热力站的一次热水的liuliang。在全网控制系统中,全网控制中心根据目前室外温度情况,参考热源的运行情况及各热力站反馈的二次网运行数据,计算出各热力站一次网控制阀门的开度指令或二次网目标控制温度。热力站系统根据全网控制中心下发的指令,调节一次网liuliang调节阀,从而实现全热网的热资源均匀分配。
一次网回路控制中主要的参考对象为热力站一、二次网供回水温度;一网控制的对象为一次网调节阀;控制目的为提供热力站必须的供暖热量。
2、二次网循环泵控制:
热力站系统二次网循环泵是通过变频器来调速。
传统热力站系统循环泵通常采用工频泵,循环泵选定后,热力站二次网的liuliang无法进行调整,从而造成热力站系统无法根据室外温度及实际供热需求来调整,造成热力及电力资源的浪费。大功率的工频泵在起停时会对电网造成冲击。
目前,热力系统自控改造中,对15KW以上的循环泵普遍使用变频控制。一般的循环泵均采用压差控制方式,即循环泵的转速受二次网供回水压差调整。压差控制的方式可以通过调节循环泵转速,调节二网liuliang以满足供热需求,从而减少浪费。
在热力站循环泵控制中,我们采用供回水温差结合供回水压差控制的方式。
热力站控制系统根据各系统的实际情况,设定一个供回水压差目标值。设定此供回水压差值以满足二次管网的供暖水循环。在此基础上,热力站PLC系统通过测量二次网供回水温差来对循环泵进行修正。当二网供回水温差偏大时,则需tigao循环泵转速,加大二网liuliang,tigao二网回水温度,改善供热效果;当二网供回水温差过小时,需适当降低循环泵转速,减小二次网的liuliang,实现小liuliang大温差的运行模式。这种调整可以起到节约电能及热能的效果,在大型热网中,这种节能手段就能取得可观的效果。
3、二网定压补水控制:
二次网的补水控制采用的是定压控制,传统热力站中往往采用压力表电节点控制。随着城市集中供热的发展,系统的热负荷越来越大,热力站系统所带的供暖面积都比较大,并且供热网条件不一,二网系统的水力损失较大。严重的水力损失使得二次网的补水系统压力加大,补水频繁。而传统的工频补水泵的频繁起停,容易造成二次管网压力的波动。
在热负荷较大的系统中,我们采用补水泵变频控制,对补水系统进行jingque的微调。当系统失水时,二网压力下降,系统会通过变频器控制补水泵以一定的转速进行补水,补水泵的转速根据当前压力与目标压力的差值均匀调整,从而避免补水泵在启动和停止时对二次网系统的冲击。
4.现场人机界面
在现场人机界面上,可以通过操作面板任意调节系统所需的各种运行状态,例如:一、二次网供回水温度及温差,变频器大小运行频率等,并可随时查阅以往运行记录。根据用户要求可将当前参数以画面、曲线、报表的形式在屏幕上显示。
五、热力站自控系统的优点
在热力站中使用变频器及可编程控制器,充分发挥变频器的调速和节能的优点及可编程控制器配置灵活、控制可靠、编程方便的优点,使整个系统的稳定性有了可靠保障。
通过热力站自动控制系统的投运,过去主要依靠人工调节的控制手段得到了彻底改善,热网的运行得到合理控制,失调现象得到了有效地解决,消除了热网中各站冷热不均的现象。按需供热、节能降耗,改变了不合理的小温差大liuliang运行方式,既保证了远端客户的供热需要又避免了近端用户的过热现象直接tigao了热网的供热效果。