1、图形化组态图形化组态六、综合编程应用六、综合编程应用 一、编程实例 TIMER定时器应用 AIALM模块应用 流量累积和清零 自定义回路控制 自定义功能块二、编程调试1.编程调试步骤2.调试注意事项 主要内容:主要内容:培训什么?系统资源编程实例1例1:开灯程序,KOSTART为开灯信号。当KOSTART为ON时要求灯(KO1001)开5秒关5秒,交替闪烁。当KOSTART为OFF时灯(KO1001)关。编程实例1思考与说明报警模块-AIALM模入量位号成员编程实例2例2:有一温度信号TI101,0-600摄氏度。温度高于480度时,打开开关(KO302);温度不高于480度时,开关(KO30
2、2)自由开停。编程实例2累积函数-TOTAL_ACCUM累积函数-SUB_ACCUM编程实例3例3:流量信号FI001,量程0-1000,单位M3/h,要求在开关KO305为ON时,实现流量的累积;开关KO305为OFF时,停止累积,并将原累积结果清零(分别用LD和FBD两种编辑器实现)。步骤 首先,我们定义一8字节累积量FIQ001,量程1000,单位M3,系数3600 编程实例3编程实例3思考与说明单回路模块-BSC 该模块的功能是产生一个单回路PID控制。使用时与被控对象组成回路,以MV作为被控对象的输入,以被控对象的输出作为BSC模块的输入PV;并正确的设置模块的内部参数,可使测量值P
3、V稳定地等于给定值。单回路模块-BSCX注:BSCX是BSC模块的扩展模块,在BSC模块的基础上增加了该模块的成员,便于用户使用。单回路控制模块编程实例4例4:通过两个单回路分别控制液位LI201和流量FI201;其中1#泵V1控制液位,2#泵V2控制流量。当1#泵故障时,2#泵控制液位,流量不再通过回路来调节。2个泵均正常时,NR为ON;1#泵故障时,NR为OFF。编程实例4新建自定义回路编程实例4 在程序中我们可以使用系统变量g_bscn来访问自定义单回路 系统资源举例:举例:IF KO101=ON THEN g_bsc0.SwAM=OFF;g_bsc0.MV=0.4;END_IF;思考与
4、说明七、自定义功能块七、自定义功能块 在SCcontrol中可以使用功能块编辑器或梯形图编辑器来设计自定义功能块。从编程角度看,自定义功能块相当于子程序。自定义功能块内部包含了用户定义的程序逻辑,外部则由输入输出变量组成其框架。基本步骤1.首先,新建段落,并选择段类型为“模块”。2.其次,定义该模块的输入输出变量。另外如果需要,也可定义私有变量或全局变量等。3.再次,根据工艺要求编写该模块的内部算法。可以选择适合的编程元素按算法要求组合在一起,从而实现我们的控制要求。4.最后,对该段落保存、编译。如果编译成功,则回到组态软件中进行联编;如果出错,则应查找错误、修改程序直至编译成功。新程序段新程
5、序段FBD LDFBD LD段名称段名称变量声明变量声明自定义模块设计与使用 例例1 1:要求制作一个名为“点灯模块”的自定义功能块。当操作员按下按钮时以固定的时间间隔点亮5盏电灯(要求使用FBD编辑器制作)。自定义模块设计与使用自定义模块设计与使用 八、程序调试程序调试1.组态保存,编译,下载2.再次打开图形化编程软件,连接、调试 3.打开变量调试窗口 模入量位号成员动态调试例1:实现对PI102的手工置值。动态调试 例2:在以下梯形图程序中对开关量Y5手工置值。打开变量调试窗口添加变量Y5、D5、D6、D7、D8、D9、D10,并观察D5、D6、D7、D8、D9、D10的状态。把Y5置为ON,观察D5、D6、D7、D8、D9、D10的状态变化。练习时间 编程练习练习1:某单回路控制:回路输入为TI301,回路输出为FV106。当温度信号TI301(0800)高于640时回路输出由操作员手动控制;当温度信号TI301(0800)低于640时自动控制。编程练习 编程练习练习2:某焦化厂冷鼓电捕工段一液氨槽液位采用联锁保护,为安全起见,贮槽内液体严禁溢出。液氨界面控制要求如下:联锁投运,当液位(LT101)达到高高限时,自动打开氨水界面控制开关阀(SV101);当液位低于低低限时,需要自动关闭氨水界面控制开关阀(SV101);联锁解除时,可以手动操作阀门。编程练习 谢谢!