潘 登 钟国院 闫建国
(陕西北元化工集团有限公司化工分公司)
ECS-100控制系统程序设计应用实例
潘 登 钟国院 闫建国
(陕西北元化工集团有限公司化工分公司)
利用ECS-100控制系统中的梯形图(LD)语言、顺控图(SFC)语言和ST语言,设计了AI信号三取中、红绿灯和四路抢答器3个实例程序,并给出了相应的分析与说明。
ECS-100系统 图形编程
ECS-100控制系统内部提供了梯形图LD、顺控图SFC、功能块图FBD和ST语言4种编程方法,它们之间可以相互调用,为快速组态编程提供了极大的便利[1]。在此,笔者利用梯形图LD语言、顺控图SFC语言和ST语言设计了3个实例程序。
在自动化控制中,基于可靠性考虑,对关键AI信号通常采取三取中设计[2]。在此,笔者基于ECS-100控制系统设计了AI信号三取中程序[3]。启动编程软件AdvanTrol-Pro,在图形编程中创建ST段落,程序代码如下:
FUNCTION_BLOCK sfloat_middle
VAR_INPUT
IN1:sfloat;
IN2:sfloat;
IN3:sfloat;
END_VAR
VAR_OUTPUT
OUT1:sfloat;
END_VAR
VAR
END_VAR
IF (IN1>=IN2 AND IN1<=IN3) OR (IN1>=IN3 AND IN1<=IN2) THEN
OUT1=IN1;
END_IF;
IF (IN2>=IN1 AND IN2<=IN3) OR (IN2>=IN3 AND IN2<=IN1) THEN
OUT1=IN2;
END_IF;
IF (IN3>=IN1 AND IN3<=IN2) OR (IN3>=IN2 AND IN3<=IN1) THEN
OUT1=IN3;
END_IF;
END_FUNCTION_BLOCK
程序分析如下:
a. 创建FUNCTION_BLOCK sfloat_middle模块,建立IN1、IN2、IN3共3个输入变量,数据类型为半浮点数;建立OUT1输出变量,数据类型为半浮点数。
b. 通过执行语句“IF (IN1>=IN2 AND IN1<=IN3) OR (IN1>=IN3 AND IN1<=IN2) THEN OUT1=IN1;”,可以判定IN1是否为3个输入变量的中间值。
c. 判断IN2、IN3是否为3个输入变量中间值的语句和判断IN1的语句相同。
d. 在图形编程中创建功能块图FBD段落,在自定义模块中调用sfloat_middle模块。最后将3路AI信号(IN1、IN2、IN3)连接到各自定义的端子板上,OUT1连接到逻辑控制中。
都市道路车水马龙,所有交通秩序全部依靠红绿灯维持,因此,红绿灯在交通系统中具有关键性作用。在此,笔者基于ECS-100控制系统设计了一个红绿灯程序。启动编程软件AdvanTrol-Pro,在图形编程中创建顺控图SFC段落,程序如图1所示。
图1 红绿灯程序
程序中,P6_38为起始步、P6_39/40/41为常规步、P6_43为终止步。START为开始命令,数据类型为1字节变量。RESET为SFC控制变量中的复位变量,数据类型为1字节变量。timers[1]为红灯秒定时器、timers[2]为黄灯秒定时器、timers[3]为绿灯秒定时器。R_ST为红灯设定时间、R_RT为红灯剩余时间、Y_ST为黄灯设定时间、Y_RT为黄灯剩余时间、G_ST为绿灯设定时间、G_RT为绿灯剩余时间,这6个变量的数据类型均为2字节变量(无符号整数)。
程序分析如下:
a. 第1次执行程序时,在变量调试窗口中对RESET置位并启动START开始命令,程序由终止步P6_43跳转到P6_38起始步,顺控程序启动。
b. 进入起始步P6_38,执行RESET复位,红灯秒定时器timers[1]置0。
c. 程序第1个转换条件START在第1次执行程序时启动,程序进入第1步P6_39,点亮红灯。用红灯设定时间R_ST减去红灯秒定时器timers[1]时间,得到红灯剩余时间R_RT。如果红灯秒定时器时间等于红灯设定时间,则黄灯秒定时器timers[2]置0。第1步P6_39执行完成。
d. 当满足程序第2个转换条件timers[1]≥R_ST时,程序进入第2步P6_40,点亮黄灯。用黄灯设定时间Y_ST减去黄灯秒定时器timers[2]时间,得到黄灯剩余时间Y_RT。如果黄灯秒定时器时间等于黄灯设定时间,则绿灯秒定时器timers[3]置0。第2步P6_40执行完成。
e. 当满足程序第3个转换条件timers[2]≥Y_ST时,程序进入第3步P6_41,点亮绿灯。用绿灯设定时间G_ST减去绿灯秒定时器timers[3]时间,得到绿灯剩余时间G_RT。如果绿灯秒定时器时间等于绿灯设定时间,则第3步P6_41执行完成,并跳转至终止步。
f. 当满足程序第4个转换条件timers[3]≥G_ST时,程序进入终止步P6_43,RESET复位,程序由终止步P6_43跳转到P6_38起始步。
在某些竞赛活动中会使用到抢答器,在此,笔者根据自控程序中经常使用的首出原理,设计了一个四路抢答器程序[3]。启动编程软件AdvanTrol-Pro,在图形编程中创建梯形图LD段落,程序如图2所示。
图2 四路抢答器程序
程序中DI_01/02/03/04为四路抢答器输入信号,数据类型为数字量输入。RESET为复位信号,数据类型为1字节变量。FO为首出信号,数据类型为2字节变量(无符号整数)。TEMP为临时变量,数据类型为1字节变量。
程序分析如下:
a. DI_01/02/03/04四路抢答器输入信号均未触发,TEMP置位。
b. 若DI_01抢答器输入信号被触发,则SR触发器(P2_7)置位,首出FO置为1。
c. 若比较模块(P2_45)判断首出FO不小于1,则TEMP复位。此时即使其他抢答器输入信号被触发,对应的SR触发器也不能置位,首出FO不能赋值。
d. RESET复位,首出FO置0。程序恢复初始状态。等待下一轮抢答。
笔者基于浙江中控ECS-100控制系统,利用图形编程语言(梯形图LD语言、顺控图SFC语言和ST语言)分别设计了AI信号三取中、红绿灯、四路抢答器3个实例程序。希望为同行更加熟练地掌握ECS-100控制系统图形编程技术提供思路。
[1] 马铭宏,丁永允,房国成.基于DCS系统的自动电压控制设计[J].东北电力技术,2016,37(5):39~41.
[2] 刘文英,陆海霞,李莹.基于支持向量机的甲醇精馏预测控制器设计[J].石油化工自动化,2015,51(1):18~21.
[3] 刘娟.浅析化工生产中DCS自动控制的应用[J].中国化工贸易,2014,6(31):82~83.
ApplicationExamplesofProgramsDesignforECS-100ControlSystem
PAN Deng, ZHONG Guo-yuan, YAN Jian-guo
(ChemicalBranch,ShaanxiBeiyuanChemicalGroupCo.,Ltd.)
Through having ladder diagram (LD) language, sequence diagram (SFC) language and ST language in ECS-100 control system based, three example programs such as median-of-three of AI signals, four responders and traffic lights were designed and their corresponding analysis and descriptions were presented.
ECS-100 control system, graphical programming
TH865
B
1000-3932(2017)07-0690-03
2017-03-10,
2017-04-17)
潘登(1984-),工程师,从事化工自动化及仪表管理工作,pd_32@163.com。
(Continued from Page 672)
algorithm and the LabVIEW taken as development platform to dynamically simulate the level control of multi-effect countercurrent evaporation process was implemented, including establishment of the mathematical model for three-effect countercurrent evaporation level based on material balance and heat balance. Simulating the liquid level proves both adaptivity and robustness of this BPNN-based PID control system in liquid level control of the multi-effect evaporation process.
Keywordsliquid level control,BPNN-based PID control, LabVIEW, multi-effect evaporation