6ES7212-1BB23-0XB8使用方式
在我国经济建设飞速发展的,综合国力增强,更加关注民生问题,越来越多的中小城镇的供水管网正着手进行技术改造,高昂的自动化控制系统费用往往令决策者两难。随着计算机技术、通讯技术以及控制技术日新月异的发展,高可靠性、低成本的控制解决方案越来越多,本文将针对中小城镇供水管网的特点,运用先进可靠的GEMDS数字通信技术、施耐德PLC控制技术来组建中小城镇水司管网SCADA监控系统。本系统具有较高的性价比,可在中小城镇水司广泛推广应用。该水司供水管网SCADA监控系统包括:在自来水供水总公司设置调度中心(主站)、管网干线调压站有人职守站、管网压力测控无人职守站以及水源地监控站。中小城镇供水管网的监控重点是管线的压力和liuliang。该水司SCADA系统采用无线通信方式,调度中心的上位机软件采用力控6.0组态软件网络版,采用施耐德公司M340系列PLC作为主控设备,调压站等监测站下位机采用施耐德Twido系列PLC,通信设备采用美国GEMDS公司EL705数字电台,通信协议采用Modbus协议,系统构成具有较高的性价比。由于施耐德公司M340系列PLC支持更具开放性的TCP/IP以太网,并支持Modbus协议,在水司调度中心采用其作为通信控制器,向上连接以太网交换机,向下连接GEMDS数传电台。采集来的数据由M340处理后直接送入服务器数据库,确保数据的可靠性和及时性。为取得较高的性价比,tigao系统的可靠性以及现场的维护便利,现场监控站点下位机采用Twido可编程控制器,连接GEMDS数传电台,轮流向水司调度中心发送监测数据,如liuliang、压力、电机启停、电机状态等,降低了系统总投资。系统结构见下图:
水司供水管网SCADA系统网络拓扑图 本方案结构简单,采用基于GEMDS数字电台的无线SCADA系统解决方案,并综合运用了Modicon M340系列及Twido 系列PLC产品以及XBT触摸屏小型显示器等,系统性价比较高,系统总造价低。 目前该管网SCADA监控系统已经在水司及水厂水源地控制系统成功应用,实现了供水管网监控和水处理工艺的自动化运行,从而大大减少了运行人力资源,降低了运行维护的工作量,节约了运行成本,系统方案采用了开放的网络设计,为水厂以后的信息化管理提供了扩展平台。
1 概述
随着机电一体化技术的发展,对系统的可靠性要求越来越高,PLC具有控制可靠、组态灵活、体积小、功能强、速度快、扩展性好、维修方便等特点,在机床电气控制中获得了广泛的应用。本文简要介绍了采用F1—40MR型PLC改造卧式镗床电气控制线路的应用实例。
2卧式镗床继电器控制工作原理简介
图1是卧式镗床继电器控制电路图。ZQA、FQA分别是正转、反转起动按钮,ZSA、FSA分别是正转、反转点动按钮;TA是主轴停止按钮。卧式镗床的主轴电机是双速异步电动机,中间继电器ZJ和FJ控制主轴电机的启动和停止,接触器ZC和FC控制主轴电机的正反转;接触器1DSC、2DSC和时间继电器SJ控制主轴电机的变速,接触器DC用来短接串在定子回路的制动电阻。1JPK、2JPK和1ZPK、2ZPK是变速操纵盘上的限位开关,1HKK、2HKK是主轴进刀与工作台移动互锁限位开关。SDJ为速度继电器,GSK控制主轴高速运转,热继电器RJ在电机过热时断开供电线路。
图1 卧式镗床继电器控制电路图
3用PLC改造卧式镗床的电气控制线路
根据原有的继电器控制电路图来设计PLC控制梯形图,以实现卧式镗床的PLC控制改造。这种方法没有改变系统的外部特性,但却克服了机械动作时中间继电器可靠性低、维修困难等缺点。对于操作人员来说,除了控制系统的可靠性tigao以外,改造前后对系统的操作没有什么区别,它们不用改变长期形成的操作习惯。这种设计方法一般不需要改动控制面板和它上面的器件,可以减少硬件改造的费用和工作量。
图2和图3分别是实现与图1相同功能的PLC电气控制系统的外部接线图和梯形图
图2 PLC电气控制系统外部接线图
图3 PLC电气控制系统梯形图
在控制主轴电机正反转的继电器电路中,为了防止控制正反转的两个接触器(如图1中的ZC和FC)动作造成三相电源短路,设置了接线复杂的连锁电路,即将某一接触器的常闭触点与另一个接触器的线圈相串联,在梯形图中也设置了相应的连锁电路,它只能保证PLC输出模块上两个对应的硬件继电器不动作。如果因主电路电流过大或接触器质量不好,某一接触器的主触头被断开主电路时产生的电弧熔焊,使其线圈断电后主触间仍然接通,这时如果另一接触器的线圈通电,仍将会造成三相电源短路事故。为了防止出现这种情况,图2中在PLC外部增设了连锁电路。假设接触器ZC主触点被电弧熔焊,这时与FC线圈串联的ZC辅助常闭触点断开,FC的线圈不可能得电,从硬件上tigao系统的可靠性。
图1中ZC、FC、1DSC、2DSC都要受TA、1ZPK、1JPK、ZC和FC的触点并联电路的控制,在梯形图中设置了与上述并联控制电路对应的辅助继电器M202,它类似于图1继电器电路中的中间继电器。
1 引言
随着plc技术的不断发展,越来越显示其强大的核心控制功能,plc和其他设备之间的连接已经从比较烦琐的传统i/o方式向越来越受欢迎的简洁先进的通信方式过渡,不仅为设计者节省了大量的硬件成本,更能为远程控制,组网提供了可能,使控制系统更加无缝地融为一体。
本文主要通过艾默生plc和多台变频器组网通信(以modbus协议方式)为例,说明plc和多台变频器网络控制的通信程序的设计方法。
2 modbus协议简要介绍
modbus协议由美国的modi-con公司提出,通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信,不同厂商生产的控制设备可以连成工业网络,进行集中监控,它已经成为一通用工业标准。控制器通信使用主—从技术,即仅一设备(主设备)能初始化传输(查询)。其它设备(从设备)根据主设备查询提供的数据作出相应反应。典型的主设备:ipc,hmi,plc等;典型的从设备:各种仪表,plc,变频器等。主设备可单独和从设备通信,也能以广播方式和所有从设备通信。如果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则不作任何回应。modbus协议建立了主设备查询和从设备回应的格式:设备(或广播)地址、功能代码、所有要发送的数据、错误检测域。modbus协议支持rtu模式和ascii模式,rtu模式对应的帧格式如下:(ascii模式介绍省略)。
3 艾默生plc集成的modbus协议功能
艾默生ec20系列plc的通信口com1集成了modbus主站协议,在编程时先在编程软件的系统块里进行设置具体如下:系统块→“通信口”菜单→“通信口1参数设置”菜单→选“modbus协议”→进行“modbus设置”→进行通信参数和(主模式)站号等设置即可。
利用modbus指令进行编程——modbus (s1) (s2)(s3)各参数含义如下:
s1指定的通讯通道;
s2发送数据起始地址;
s3 接收数据起始地址;
modbus指令发送过程中,自动加上所需的起始字符,结束字符和校验和;发送的数据,不需设定发送的数据长度,系统会根据功能码自动按系统内部设定长度进行发送。
图1 rtu模式对应的帧格式
2个重要的通信标志:sm135—modbus的通讯成功标志位,通讯成功时置位,不会自动复位,在发送数据的时候要进行一次复位;sm136—modbus的通信错误标志位,通信错误(包括从设备没有回应)时置位,不会自动复位,在接收数据的时候要进行一次复位。
4 艾默生变频器通信协议
艾默生公司生产的ev系列变频器都集成modbus协议,且提供rs23-2c和rs485通信口供用户选择,通过plc和变频器通信的方式完成控制比较简单经济,显得系统比较,下面简单介绍其协议:
(1) 支持modbusrtu和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) 支持的功能码如下(见表1);
(4)具体的协议介绍请参考艾默生变频器用户手册。
5 程序流程图
主设备对从设备的消息查询命令主要分为2大类,连续命令序列和随机命令序列。
连续命令序列:主设备需要定时或连续向从设备发送的命令序列。特点是周期性,连续性。如plc对变频器读取运行频率命令,运行状态命令等。
随机命令序列:主设备不定时或随机向从设备发送的命令序列。特点是不定时性,随机性。如plc对变频器的启停控制,改写频率或其他参数等(见图2)。
图2 程序流程图
6 程序清单
本程序主要介绍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 z0v9 //保存z0值到v9
ld sm0 //运行标志
mov v0v10 //从机地址
mov 16#6v11 //功能码
mov 16#32v12 //寄存器地址高字节
mov 16#0v13 //寄存器地址低字节
mov 1v14 //写入数据高字节
mov 16#c7v15 //写入数据低字节
//以下把发送数据转移到d7940-d7945里
ld sm0
mov 0 z0
ld sm0
for 6
ld sm0
mov v10z0d7940z0
ld sm0
inc z0
next
//发送接收数据,数据放在d7970开始区域
ld lm0
modbus 1 d7940 d7970
rst lm0 //马上复位发送辅助使能
//无论成功失败都还原z0值
//当然这里省略了错误报告的处理
ld sm135
or sm136
eu //上升沿
mov v9z0
(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个随机命令思路都一样;
//随机命令使能标志置位后,若连续命令处于切换状态,则可进入发送状态,否则只有等待;
//发送时先置位发送辅助位m199-3,调用子程序进行发送和接收;
//无论通信成功或失败都复位各自的随机命令使能标志,当然这里仍然省略了通信错误处理程序;
//如果所有的随机命令都完成,则随机命令等待标志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
7 程序说明
例程设计时实际在连续命令序列切换的间隙停留了100ms的时间,这就是说程序中的连续序列是间歇性的;如果要采用非间歇性的连续序列,把中间的延时部分去掉就可以了。
8 结论
本例程所阐述的通信序列逻辑处理的方法在笔者的一些项目中得到实际应用,效果也达到预期设想,运行比较稳定,这种plc通过通信的方式对多台变频器通信的方法在实际应用中有很大的参考价值,不仅能够充分利用emersonplc和变频器的硬件资源达到节省成本的目的,更易于进行整个系统的整合。