




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品文档-下载后可编辑世纪星控件DBComm:小块作用大1引言
尽管组态软件已经具备了很强的功能,但是在很多场合同样有直接使用第三方代码的要求。组态软件,又称组态监控软件系统软件。译自英文SCADA,即SupervisoryControlandDataAcquisition(数据采集与监视控制)。它是指一些数据采集与过程控制的专用软件。它们处在自动控制系统监控层的软件平台和开发环境,使用灵活的组态方式,为用户提供快速构建工业自动控制系统监控功能的、通用层次的软件工具。组态软件的应用领域很广,可以应用于电力系统、给水系统、石油、化工等领域的数据采集与监视控制以及过程控制等诸多领域。在电力系统以及电气化铁道上又称远动系统(RTUSystem,RemoteTerminalUnit)。
组态软件在国内是一个约定俗成的概念,并没有明确的定义,它可以理解为“组态式监控软件”。“组态(Configure)”的含义是“配置”、“设定”、“设置”等意思,是指用户通过类似“搭积木”的简单方式来完成自己所需要的软件功能,而不需要编写计算机程序,也就是所谓的“组态”。它有时候也称为“二次开发”,组态软件就称为“二次开发平台”。
当然实现这种交换机制有很多传统的方法,如使用文件共享数据DDE数据和交换机制。传统的方法虽然能够达到数据交换的目的,但其使用方法较为烦琐。和使用文件共享数据就需要在组态软件和外部程序内部进行文件读取操作,这样不但麻烦而且处理速度也相对较慢,在要求实时性较好的工程中就显得力不从心。
2世纪星数据交换标准控件——DBComm
世纪星提供标准控件DBComm.ocx与外部第三方程序进行数据交换,其交换内容包括:
2.1实时数据交换
外部程序可以读取世纪星的系统变量、内存变量和IO变量;还可以改写世纪星的内存变量和IO变量。
相关函数如下:
DiscValue=tagReadDisc(Tagname)外部程序读取世纪星离散变量的当前值;
IntValue=tagReadInt(Tagname)外部程序读取世纪星整数变量的当前值;
FloatValue=tagReadFloat(Tagname)外部程序读取世纪星实数变量的当前值;
MessValue=tagReadMess(Tagname)外部程序读取世纪星信息变量的当前值;
tagWriteDisc(Tagname,DiscValue)外部程序改写世纪星离散变量的当前值;
tagWriteInt(Tagname,IntValue)外部程序改写世纪星整数变量的当前值;
tagWriteFloat(Tagname,FloatValue)外部程序改写世纪星实数变量的当前值;
tagWriteMess(Tagname,String)外部程序改写世纪星信息变量的当前值;
InitComm()DBComm初始化函数;
2.2历史数据读取
也就是说,外部程序可以按时间和变量名称读取世纪星的历史数据,相关函数如下:
TimeUINT=ConvertTime(Year,Month,Day,Hour,Minute,Second);
时间转换函数:
DiscResult=GetHistoryData(Tagname,StartTime,EndTime,DataArray,SizeOfArray,Interval);
根据指定的起止日期时间和世纪星的变量名称读取世纪星的历史数据。
3DBComm在VB6.0中的应用
3.1VB工程和世纪星工程数据交换示意图:
图1
下面是一个应用VB程序在外部计算PID输出功率的一个简单实验:
需要硬件:三菱FX2N系列PLC、FX2N-4AD-TC、加热器、S分度热电偶、固态继电器。
需要软件:世纪星组态软件7.22、VB6.0。
电器原理图如下图所示:
图2
上图是一个加热控制系统。PLC主模块负责控制继电器的通断(PID输出);,TC模块负责温度采集(PID输入);上位机世纪星部分负责温度设定、采集下位机信号、曲线显示、数据记录、数据检索等功能;上位机VB部分负责从世纪星获取设定温度SV、测量温度PV以计算PID输出(固态继电器的通断时间)。PLC=ProgrammableLogicController,可编程逻辑控制器,一种数字运算操作的电子系统,专为在工业环境应用而设计的。它采用一类可编程的存储器,用于其内部存储程序,执行逻辑运算,顺序控制,定时,计数与算术操作等面向用户的指令,并通过数字或模拟式输入/输出控制各种类型的机械或生产过程。是工业控制的部分。
3.2世纪星监控程序
首先,正确配置控制电路,将上位机与PLC相连,然后开发世纪星监控程序,创建相应的驱动,便能得到如下监控画面:
图3
3.3VB外挂程序开发
*创建一个VB标准工程。
*Projiec-Components-DBCommActiveXControl-Moudle。
*初始化DBComm
dbcomm_pid.InitComm
*从世纪星组态软件读取温度设定和实际值
SV=dbcomm_pid.tagReadFloat("sv")
PV=dbcomm_pid.tagReadFloat("pv")
*y0输出时间计算函数(根据P=0.5,I=0.5,D=0)
PrivateFunctionPIDCalc(ppAsPID,ByValNextPointAsDouble)AsDouble
DimdErrorAsDouble
DimErrorAsDouble
Error=pp.SetPoint-NextPoint
pp.SumError=pp.SumError+Error
dError=pp.LastError-pp.PrevError
pp.PrevError=pp.LastError
pp.LastError=Error
PIDCalc=pp.P*Error+pp.i*pp.SumError+pp.D*dError
EndFunction
3.4加热输出控制
根据2中计算的加热时间(时间百分比,x%*1s),对PLC的Y0进行输出控制。
YOON/OFF:tagWriteDisc("y0",1)/tagWriteDisc("y0",0),Y0脉宽调制如下图所示:
图4
3.5实验结果
本工程利用世纪星组态软件采集温度实际值(从PLC),通过在组
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 七下第五单元数学试卷
- 母婴年终活动策划方案范文(3篇)
- 工地特大溶洞施工方案(3篇)
- 小学守护戎装活动方案策划(3篇)
- 轻钢房施工方案(3篇)
- 零配件活动策划方案(3篇)
- 消防相亲联谊活动方案策划(3篇)
- 中基考试题库及答案
- 北京市门头沟区2023-2024学年九年级上学期第一次月考物理考试题目及答案
- 北京市昌平区2024-2025学年八年级下学期第二次月考语文题库及答案
- TCCEAS001-2022建设项目工程总承包计价规范
- 《植物生理学》课件第五章+同化物的运输
- 质量成长记-过程模式作业表
- 漆黑的魅影-精灵分布图鉴
- 工厂规章制度员工守则.doc
- 《只有一个地球》说课课件课件
- 医疗质量与安全分析报告范文
- 200T钻具点压校直机技术方案
- 挡土墙计算书(共19页)
- 供配电技术实验指导书(09318)
- 商铺销售基础知识培训
评论
0/150
提交评论