浙大中控DCS图形化编程
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
➢ 控制模块 ➢ 通讯辅助模块 ➢ 累积模块 ➢ 输入处理 ➢ 系统模块 ➢ 文本代码模块 ➢ 辅助计算 ➢ 电量转换 ➢ 信号选择模块 ➢ 浮点处理模块
FBD编辑器-辅助模块库
FBD编辑器-自定义模块库
➢ 自定义模块库收集了 当前工程所编辑的所 有模块。
FBD编辑器-附加库
附加库主要包括一些特殊模块、锅炉模块、造气模块、DEH模块、 智能通讯卡模块供用户使用。
定义); 4. 输入变量与输出变量(“对象”菜单下“变
量定义”中定义);
变量声明
变量作用范围
SCControl中可以使用的变量有四类: ➢ 组态中定义的变量 作用范围:整个组态,包括图形化工程和SCX语言
程序、操作组态 ➢ 全局变量 作用范围:整个图形化工程,包括各个段落 ➢ 私有变量 作用范围:只在该段落起作用 ➢ 输入变量与输出变量 作用范围:只在自定义段落起作用
首先,新建浮点型变量BIZHI。 其次,图形化编程如下:
算术运算-MOVE
算术运算-MOVE
这个模块相当于赋值的功能。例如,我们将位 号TI101的报警高限设定为0.9,则图形化编程如下:
比较运算--GT
比较运算--GE
• 例如,当压力PT101(0~10KPa)超过80%时要求打 开电磁阀KO101。
菜单 栏
工程栏
信息栏
状态栏
编译出错提示
软件操作界面
工具栏 编辑区
编译成功提示
帮助
菜单项简介
二、图形化编程基础
培训什么?
• 主要内容:
1. 工程、段落、区段 2. 编程基本步骤 3. 程序运行原理及执行次序 4. 工程管理 5. 数据类型 6. 变量 7. 系统资源
工程、段落、区段
工程
➢SControl用一个工程(Project)描述一个控制 站的所有程序。 ➢每个工程唯一对应一个控制站,工程必须指定 其对应的控制站地址。
段落
➢工程包含一个或多个段落(Section)。 ➢SControl通过任务管理来管理多个段落文件, 在工程文件中保存配置信息 。 ➢段落是通常意义上的一个文档,是组成工程 的基本单位。 ➢新建段落时必须指定段落的编辑类型和程序 类型。
区段
➢区段指在同一段落中有数据信号相连的元素的总和。
➢一个段落可以包含一个或多个区段(SFC段落只有一个 区段)。
变量查找
根据所查找目标数据源的分类(当前段、当 前工程)进行变量、位号以及模块的查询。
系统资源
➢ 位号 ➢ 系统变量 ➢ 单回路控制模块 ➢ 串级回路控制模块 ➢ 冷热启动及下载组态标
志
模入量位号成员
开入量位号成员
名称 类型 VAL BOOL
说明 测量值
MAN
MVAL FLAG
BOOL 手自动切换 开关
OFF:自动 ;ON: 手动
BOOL 手动输入信 号值
BOOL 质量码
系统变量
单回路控制模块
串级回路控制模块
串级回路控制模块
冷热启动及下载组态标志
• BOOL g_bHotStartup 热启动标志,热启动时为ON,需要编程清0;
• BOOL g_bColdStartup 冷启动标志,冷启动时为ON,需要编程清0;
定义的算法才被执行。 ➢ ENO = EN
FBD程序结构
➢ FBD段落:即一幅FBD图 ➢ FBD区段:有链路相连的元素的组合 ➢ 区段起始模块:那些输入只连接变量的模块 ➢ 区段启动模块:位置最上的起始模块 ➢ 一个FBD段落可以包含一个或多个FBD区段
FBD执行次序
➢ 区段的执行从启动模块开始。 ➢ 区段内的执行次序由区段内的数据流决定。 ➢ 段落中区段间的执行次序由区段的启动模块的
• g_bDownUsrPrgFlag 下载用户程序标志,下载了用户程序之后为ON, 需要编程清0;
• g_bDownCfgFlag 下载组态标志,下载了组态(包括硬件组态、用 户程序组态)后为ON,需要编程清0。
提问
• 需要在流程图上显示累积量,在哪里定义?
三、功能块图(FBD)语言
培训什么?
位置决定。执行次序由上到下。
执行次序
FBD编辑器-组态元素
选择 连接线 取反 最近选择的功能块 功能块选择 注释文本 调试文本 跳转按钮
➢ 算术运算模块 ➢ 比较运算模块 ➢ 转换运算模块 ➢ 计数器模块 ➢ 逻辑模块 ➢ 数学模块 ➢ 选择模块 ➢ 定时器模块 ➢ 触发器模块
FBD编辑器-IEC模块库
选择模块--MAX
选择模块--MAX
• 例:某装置有3个温度测点,分别为TI101 (0~600℃)、TI102(0~600℃)、TI103 (0~600℃),要求将最高的温度信号作为连锁程 序的判断条件。当温度超过其量程的90%时打开电 磁阀KO101。
TON定时器模块
TON定时器模块
定时器的基准为控制周 期,定时时间必须设置 为运行周期的整数倍。
• 变量按结构分为:
1. 基本变量:基本数据类型(如BOOL、 SFLOAT、INT等)构成的变量称为基本变量。
2. 复合变量:复合数据类型(如结构体、数 组等)所对应的变量为复合变量。
变量分类
• 变量按作用范围分为:
1. 组态中定义的变量; 2. 全局变量(“工程”菜单下“变量编辑器”
中定义); 3. 私有变量(“对象”菜单下“变量定义”中
• 主要内容:
1. 功能块图(FBD)概述 2. 功能块图的程序结构和执行次序 3. FBD的编程元素
模块库介绍 常用模块介绍 4. 控制策略的FBD实现 5. FBD编程注意事项
FBD概述
➢ FBD是一种图形化的编程语言 ➢ FBD用功能和功能块来构建控制策略 ➢ FBD直观、易于维护 ➢ IEC61131-3标准定义了FBD编程语言要素
一、图形化软件概述
图形化组态的作Βιβλιοθήκη ?编写自定义控制方案,如精馏、联锁反应、燃烧等
四种编程语言
➢ 梯形图( LD ) ➢ 顺控图(SFC) ➢ 功能块图( FBD ) ➢ ST语言
启动方式
1. 推荐方式:通过单击组态软件的算法,弹出自定义控制算法设置对话框,
2.
点击图形编程中的“编辑”,启动图形化编程软件;
例:某连锁控制程序,要求当温度TI105(0~1000℃) 超过600℃时打开电磁阀KO102。
TOFF定时器模块
TOFF定时器模块
• 注意,当延时时间到达之后输出 为OFF状态。
• 定时器的基准为控制周期,定 时时间必须设置为运行周期的整 数倍。
例:要求当电机KT101跳闸时(由ON变为OFF),延时5 秒种后点亮报警指示灯TT。
➢区段只是一个表示段落中元素间关系的概念,新建区 段不会生成任何新文件。
工程、段落和区段的关系
工程 段落 区段
组态文件说明
软件(产生文件) SControl软件
文件扩展名 .PRJ .FBD .LAD .SFC .BIN .C .H .EXP .EXT
文件说明 工程文件 FBD文件 LAD文件 SFC文件 二进制代码文件 临时文件 临时文件 模块导出文件
• 参考程序如下:
转换运算—SFLOAT_TO_FLOAT
转换运算—SFLOAT_TO_FLOAT
• 例:求温度TI101(0~600℃)和TI102(0~800℃) 的平均值,并将计算结果存放到自定义变量TT (0~700℃)中。
逻辑运算--AND
逻辑运算--AND
• 例:要求当三个开关KI101、KI102和KI103都打开 时(为ON)启动电机KT101,否则关闭KT101。
➢ 用户还可通过操作“移到队首”、“上移”、 “下移”、“移到队尾”等操作设置同一运行周 期各程序运行的优先级,即排在队列靠前的同一 运行周期程序比排在队列靠后的程序优先执行。 不同运行周期的程序之间的优先级无法比较。
• 可以对每个段落设置密码进行保护 只有当编辑界面打开后,才可以进行设置密码和删除密码的操作。
• 例1:求温度TI101(量程0~600℃)和 TI102(量程0~600℃)的平均值,并将
运算结果存放至自定义变量TT中。
算数运算--DIV
算数运算--DIV
• 除法运算时应注意其运算结果应在半浮点 数据类型的表示范围内。
例:要求计算流量FI101(0~500M3/h)和FI102 (0~600M3/h)的比值。
注:DEH模块、智能通讯卡模块只供ECS-100X系统使用。
➢ 下面我们介绍几个较常用的模块,其他模块的使 用可以参考相应的帮助文档。
算术运算-ADD
1.在使用这个模块的时候,要注意模块的输入、输出 变量的数据类型。 2.该模块可以有多个输入参数,我们可以用鼠标拖动 模块下方的黑点来增加或减少输入变量 。 3.可以通过点击“显示EN/ENO”隐藏EN/ENO引脚。 4.可以通过点击“帮助”按钮来查看该模块的使用说 明。
练习
请大家花5分钟的时间: 1、熟悉软件界面 2、新建一个工程 3、使用不同的编辑器建立几个段落 4、改变段落的执行周期 5、调整段落的执行次序
数据类型
图形化软件提供的变量数据类型
半浮点——2字节
三
12
符 位小
位
号 整数
小
位 数点
数
数据类型编辑器
SControl内置数据类型编辑器,用户可以用数据类型 编辑器生成自己的数据类型,并可以在任何编辑变量 类型的地方使用。
数学函数--ABS
数学函数--ABS
• 例:要求当流量FT101(0~6000M3/h)超过或低于 某个设定值的30%时产生报警(变量BJT=ON),该 设定值为半浮点变量FF(0~6000M3/h)。
选择模块--SEL
选择模块--SEL
• 例:当操作员将开关(一字节变量KT)打至OFF时, 选择测点一(位号TI101)作为控制回路的输入信 号;当操作员将开关(一字节变量KT)打至ON时, 选择测点二(位号TI102)作为控制回路的输入信 号。
文件保存路径
一个组态的相关文件 必须保存在正确的文件夹 下,否则在组态中进行联 编时会出错。 1. 段落文件须保存在工程文 件夹下; 2. 工程文件与工程文件夹须 保存在组态文件夹下的 “Control”文件夹下; 3. “Control”文件夹须保存 在组态文件夹下。
编程基本步骤
基本步骤
1. 建立图形化组态工程并与系统组态软件建立关 联;
FBD概述
➢ 功能块指包含内部状态的程序块 ➢ 功能块分为基本功能块和自定义功能块 ➢ FFB都可用EN输入和ENO输出进行配置 ➢ FFB由带有输入和输出的图形框来描述
EN和ENO(使能)
➢ EN是功能块的缺省的第0号输入。 ➢ ENO是功能块缺省的第0号输出。 ➢ 可以隐藏EN和ENO引脚。 ➢ 如果当调用功能块时EN值等于ON时,则由FFB
定时器--TP
定时器--TP
• 该模块用于产生持续时间一定的脉冲。
定时器的基准为控制周期,定时时间必须设置为运行周期 的整数倍。
• 例:请利用TP模块制作一个自复位按钮,要求当 按下按钮KT101后(即为ON)延时5秒种后将KT101
复位(即为OFF)。
RS触发器模块
RS触发器模块
RS 模 块 常 用 于 连 锁 程 序 的 编制。
2. 根据控制方案的特点及需要选择合适的编辑器 在建好的工程中新建段落,在段落中编写程序, 编写的过程中进行保存;
3. 程序编写完毕后,通过编译检查程序语法错误, 修改程序至程序编译无误;
4. 将程序下载到主控卡,联机调试程序,使程序 运行时符合控制方案的要求;
程序运行原理及执行次序
• 图形化自定义程序下载到控制站后,每隔 一个运行周期运行一次。 控制站执行程序时,先判断段落的执行次序 ,
系统内已预定义了部分数据类型,这些数据类型只读, 用户无法修改删除。
问题?
• 模拟量输入信号数据类型? • structAI • 模拟量输入信号的PV成员数据类型?
SFLOAT • 开关量输入信号数据类型? • structDI • 开关量输入信号的VAL成员数据类型? • BOOL
变量分类
对于段落中的执行次序,先判断区段的执行次 序,然后再判断区段中各个编程元素的执行次序。
新建工程
工程与组态关联
段落新建及保存
程序类型和段类型
• 按编辑类型可将段落分类为 FBD段落 LD段落 SFC段落 ST语言段落 • 按程序类型分可将段落分类为: 程序段落 模块段落
任务管理
➢ SControl以系统组态软件中设置的控制周期为 1Ts,即:如果在系统组态软件的组态过程中设 置了控制周期为0.1s,则1Ts = 0.1s.