浙大中控DCS系统AdvanTrol Pro软件培训-编程综合编程案例
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
七、自定义功能块
在SCcontrol中可以使用功能块编辑器或梯 形图编辑器来设计自定义功能块。 从编程角度看,自定义功能块相当于子程 序。 自定义功能块内部包含了用户定义的程序 逻辑,外部则由输入输出变量组成其框架。
基本步骤
1. 2. 首先,新建段落,并选择段类型 为“模块”。 其次,定义该模块的输入输出变 量。另外如果需要,也可定义私 有变量或全局变量等。 再次,根据工艺要求编写该模块 的内部算法。可以选择适合的编 程元素按算法要求组合在一起, 从而实现我们的控制要求。 最后,对该段落保存、编译。如 果编译成功,则回到组态软件中 进行联编;如果出错,则应查找 错误、修改程序直至编译成功。 新程序段
该模块的功能是产生一个单回路 PID控制。使用时与被控对象组 成回路,以MV作为被控对象的输 入,以被控对象的输出作为BSC 模块的输入—PV;并正确的设置 模块的内部参数,可使测量值PV 稳定地等于给定值。
单回路模块--BSCX
注:BSCX是BSC模块的扩展模块, 在BSC模块的基础上增加了该模块 的成员,便于用户使用。
累积函数--SUB_ACCUM
编程实例3
例3:流量信号FI001,量程0-1000,单位 M3/h,要求在开关KO305为ON时,实现流量 的累积;开关KO305为OFF时,停止累积, 并将原累积结果清零(分别用LD和FBD两种 编辑器实现)。
步骤
• 首先,我们定义一8字节累积量FIQ001,量程1000, 单位M3,系数3600
编程实例3
梯形图实现: 梯形图实现:
编程实例3
功能块实现: 功能块实现:
思考与说明
提问: FIQ001是什么变量,在哪里定义,如何定义? FIQ001是什么变量,在哪里定义,如何定义? 各参数如何设置? 如果要查看累积量FIQ001,应如何设置? 如果要查看累积量FIQ001,应如何设置?
单回路模块--BSC
编程实例2
提问: 程序中2000代表什么?TON模块在此处的使用有什么意 程序中2000代表什么?TON模块在此处的使用有什么意 义? 如果IO故障,KO302的状态是什么? 如果IO故障,KO302的状态是什么? 这里为什么用置位线圈,如果用普通线圈,会有什么结 果?
累积函数--TOTAL_ACCUM
观察D5、D6、D7、D8、D9、D10的状态变化。
练习时间
编程练习
练习1:某单回路控制:回路输入为TI301,回
路输出为FV106。当温度信号TI301(0~800℃) 高于640℃时回路输出由操作员手动控制;当 温度信号TI301(0~800℃)低于640℃时自动 控制。
编程练习
编程练习
图形化组态
浙江中控技术有限公司
六、综合编程应用
培训什么? • 主要内容: 主要内容:
一、编程实例 • TIMER定时器应用 • AIALM模块应用 • 流量累积和清零 • 自定义回路控制 • 自定义功能块 二、编程调试 1.编程调试步骤 2.调试注意事项
系统资源
编程实例1
例1:开灯程序,KOSTART为开灯信号。当 KOSTART为ON时要求灯(KO1001)开5秒关5 秒,交替闪烁。当KOSTART为OFF时灯 (KO1001)关。
注意事项: 保证网络通畅,上下位机组态一致 程序下载后,操作站只需连接主控卡,即可调试 调试位号时,注意位号成员的引用
模入量位号成员
动态调试
例1:实现对PI102的手工置值。
动态调试
例2:在以下梯形图程序中对开关量Y5手工置值。 打开变量调试窗口添加变量Y5、D5、D6、D7、D8、 D9、D10,并观察D5、D6、D7、D8、D9、D10的状 态。 把Y5置为ON,
单回路控制模块
编程实例4
例4:通过两个单回路分别控制液位LI201和 流量FI201;其中1#泵V1控制液位,2#泵V2 控制流量。当1#泵故障时,2#泵控制液位, 流量不再通过回路来调节。2个泵均正常时, NR为ON;1#泵故障时,NR为OFF。
编程实例4
新建自定义回路
编程实例4
系统资源
编程练习
谢谢!
• 在程序中我们可以使用系统变量g_bsc[n]来访问 自定义单回路
举例: 举例:
IF KO101=ON THEN g_bsc[0].SwAM=OFF; g_bsc[0].MV=0.4; END_IF;
思考与说明
提问:
NR和TEMP是什么变量,有什么作用,如何定义? NR和TEMP是什么变量,有什么作用,如何定义? N所对应的0和1有什么涵义? 所对应的0 除了在图形化编程中调用所需要的模块之外,组态 中是否需要其他操作?
编程实例1
思考与说明
提问:
定时器工作原理? 定时器对应的变量类型,定时器种类及数量? 定时器对应的时间单位? 如何实现取反操作? 如何在图形化编程界面中Biblioteka Baidu入文字注释?
报警模块--AIALM
模入量位号成员
编程实例2
例2:有一温度信号TI101,0-600摄氏度。温 度高于480度时,打开开关(KO302);温 度不高于480度时,开关(KO302)自由开 停。
练习2:某焦化厂冷鼓电捕工段一液氨槽液位 采用联锁保护,为安全起见,贮槽内液体 严禁溢出。液氨界面控制要求如下:联锁 投运,当液位(LT101)达到高高限时,自 动打开氨水界面控制开关阀(SV101);当 液位低于低低限时,需要自动关闭氨水界 面控制开关阀(SV101);联锁解除时,可 以手动操作阀门。
FBD LD
3.
段名称
4.
变量声明
自定义模块设计与使用
例1:要求制作一个名为“点灯模块”的自 定义功能块。当操作员按下按钮时以固定 的时间间隔点亮5盏电灯(要求使用FBD编辑 器制作)。
自定义模块设计与使用
自定义模块设计与使用
八、程序调试
程序调试
1.组态保存,编译,下载 2.再次打开图形化编程软件,连接、调试 3.打开变量调试窗口