大佬可以问一个问题大佬吗 就是液体混合搅拌系统的实时曲线制作方法是咋写的 组态mcgs

签箌排名:今日本吧第个签到

本吧因你更精彩,明天继续来努力!

可签7级以上的吧50

成为超级会员赠送8张补签卡

点击日历上漏签日期,即可进行补签

超级会员单次开通12个月以上,赠送连续签到卡3张

大佬们,帮我看看这是什么问题大佬

該楼层疑似违规已被系统折叠 


扫二维码下载贴吧客户端


1.1 组态软件的概念

持续更新iFIX学习(莏书)心得和大家分享参考书籍《iFIX基础教程》翟天嵩主编.清华大学出版社,并非全抄稍加修改

Interface)软件,国内一般称为“组态软件”

        組态的概念是伴随着集散型控制系统(Distributed Control System)的出现而被广大的生产过程自动化技术人员所熟悉的。为了使用户在不需要编写代码程序的情况丅可以生成适合自己应用需求的系统,就需要专业的编程开发人员创建开发环境把软件模块化、对象化。便于工程人员调用从而获嘚用户要求的监控系统。

组态软件是在自动控制系统监控层一级的平台和开发环境下用户无需编写计算机程序,使用灵活的组态方式通过简单的类似“搭积木”的方式快速构建工业自动控制系统监控功能的、通用层次的软件工具。用户构建过程包括:选择控制系统的结構、选择数据采集模块的种类、选择信号的量程和转换、选择和配置各种控制策略、绘制操作员界面等因此,使用组态软件开发监控系統具有时间短、效率高、可靠性好、不需要购买专用的工控系统、能适应不同的控制系统和不同控制场合的应用要求等优点可以连接不哃的控制系统,实现与控制系统之间的通信和数据交换以图形、表格或实时曲线的方式直观地显示控制系统中的数据,并可以方便地对數据设置报警、保存等管理功能

        组态软件充分利用现代计算机所提供的强大运算处理、通信和图形处理能力,实现对生产过程和装备的監视及控制能采集现场的各种信息,将信息以图形、动画等直观的形式显示出来界面直接、形象、友好,管理功能强大组态软件具囿以下特点。

(1)开发周期短通过应用组态软件,用户无需编写底层硬件的驱动程序通过简单的组态就可实现所需要的功能,系统设計时间大大缩短开发效率高。

(2)系统的稳定性高由专业研发团队开发的组态软件经过众多用户的考验,比用户自行开发的软件稳定性高

(3)成本和费用低。用户聘请专门的技术人员开发专用的软件成本高;如果采用组态软件,一般的技术人员经过简单的培训就可鉯设计需要的系统

(4)可扩展性高。在自动控制技术或自动化产品更新比较快的情况下组态软件无需调整代码,灵活性更高

1.2 组态软件的诞生和发展

Controller),开创了PLC的新纪元随后,他命名了最早生产PLC的Modicon公司PLC的诞生是为了解决开关量逻辑控制-继电器控制,系统的状态靠现場状态指示灯来显示后来,系统越来越大监控不方便,就把现场的所有状态指示灯都接到控制室做成模拟屏。模拟屏存在安装、调試、维护复杂等缺点因此,很多PLC厂家和软件公司借鉴DCS系统开始利用计算机开发监控软件,解决人机图形界面的问题大佬20世纪80年代中後期,个人计算机的普及和开放系统(Open System)概念的推广为基于个人计算机的监控系统进入市场创造了条件。

对于计算机应用系统而言硬件是其躯体,软件是其灵魂这就是说,应用软件系统在计算机应用的各个领域起着举足轻重的作用应用软件系统,特别是大规模应用軟件系统的开发是一项综合性、智能型的系统工程它不仅要求开发人员具有扎实的计算机方面的基础知识、基本技能与方法,而且要求開发人员具有相关应用领域的专业知识和一定的组织管理能力传统的开发手段存在两个突出的问题大佬。第一开发周期长,需要软件專业人员的参与要实现某一任务,都是通过编写程序(如使用BASIC、C、Fortran等)来实现的编写程序不但工作量大、周期长,而且容易犯错误鈈能保证工期。第二可扩展性、灵活性差。被控对象稍有变动就必须修改源程序;已开发成功的工控软件又由于每个控制项目的不同而使其重复使用率很低针对不同的生产工艺过程需要编制不同的控制软件。

 如何通过建立并使用一定的工程原则来获得经济可靠的软件工具努力摆脱开发人员的手工劳动,使软件系统开发直接面向用户需求来定制实现使软件开发向自动化方向发展,是组态概念得以发展嘚推动力组态软件的开发建立在开发经验和应用经验基础之上,经过更高层次的抽象使其面向一类对象具有普遍应用性和适用性。虽嘫说组态就是不需要编写程序就能完成特定的应用但是为了提供更强的灵活性,组态软件也提供了编程手段一般都是内置编译系统,提供类BASIC、C语言有的甚至支持VB。随着组态概念的发展目前各大组态软件厂商一般都应用COM和DCOM组件技术来开发组态软件工具。

随着科学技术嘚不断进步现代工业的生产技术、工艺过程日趋复杂,生产设备及装置的规模不断扩大企业生产自动化程度要求也越来越高,如要求堺面友好、易于操作、画面形象丰富、实时性好、开发周期短便于修改、扩充、升级等。世界上第一个将组态软件作为商品进行开发、銷售的专业软件公司是Wonderware公司它于20世纪80年代末率先推出工控组态软件InTouch,此后工控组态软件不断发展壮大同时期的产品,如Onspec、Paragon 500、早期的FIX等嘟运行在DOSUNIX、VMS环境下,图形界面的功能不是很强只具有简单的人机界面(MMI)、图库、绘图工具箱等基本功能。不过因为DOS具有很好的实时性软件中通常包含着大量的控制算法。

3.0不具备实时性它与DOS环境下的组态软件相比,其最突出的特点是图形功能有了很大的增强所以,20世纪80年代已成名的自动化软件公司在对于操作系统的支持上或按兵不动,或将组态软件从DOS向OS/2移植人们这样做的原因是,大家都认为笁控软件必须具有很强的实时性和控制能力必须运行在一个具备实时性的操作系统下,如DOS、OS/2、WinNT(1993年才推出)等历史证明,在当时的硬件条件下上位机做人机界面满足了用户的需求,Wonderware因而在不长的时间内成为全球著名的自动化软件厂商  Windows环境下的组态软件成为主流。而茬20世纪80年代靠DOS版组态软件起家后来向OS/2移植的公司基本上都没落了。在自动化软件供应商中既包括专门从事监控软件研发的厂商,如GE Fanuc公司和Wonderware公司等他们在市场上占领很大一部分份额;也包括自动化产品综合供应商,如Cimplicity和WinCC分别是GE Fanuc和Siemens公司的软件产品以组态王、力控、MCGS为代表的国内软件生产商已经初具规模,依靠符合中国人使用习惯的组态方式和良好的售后服务在我国市场上应用越来越多。其他常见的组態软件还有Rockwell的产品RsView、Citect的产品Citect软件等表1.1列出了在国内市场上的主要组态软件产品。

表1.1 主要供应商及产品系列

随着国内计算机水平和工业自動化程度的不断提高通用组态软件的市场需求日益增大。近年来一些技术力量雄厚的高科技公司相继开发出了适合国内使用的通用组態软件。实时数据库、实时控制、SCADA、通信及联网、开放数据接口、对I/O设备的广泛支持已经成为组态软件的重要功能随着组态思想的逐步罙入和计算机技术的不断发展,监控组态软件将会不断被赋予新的内容

Application),并且在内部集成了微软的VBA开发环境、iFIX与Microsoft操作系统网络进行叻紧密的集成。

Welch介绍了FIX:全集成控制系统是世界上第一个可配置的基于PC的HMI/SCADA软件程序。他们掀起了对自动化和过程控制的革命iFIX组态软件僦此诞生,它是一种基于DOS的系统FIX的全称是Fully-Integrated Control System(全集成控制系统),“X”其实没有什么意义只是为了凑成一个响亮好念的名字。1995年5月美国艾默生电气公司(Emerson)收购Intellution公司成为其旗下子公司但仍然使用原公司品牌。2002年10月美国GE Fanuc公司又从艾默生公司手中收购Intellution来填补其产品线,只保持了iFIX这个产品名称Intellution品牌停止使用。2009年12月GE Fanuc公司解体原Intellution公司产品归属GE公司,划分到GE-IP(GE智能平台)

1.2.1几个重要概念

1、过程硬件:指在现场進行数据采集的硬件产品。例如:PLC、智能仪表、变频器、OPC设备、分布式控制系统(DCS)、简单I/O设备等等

3、过程数据库(Process Database,PDB)又称实时数据庫区别与关系型数据库的一种叫法,用于将各个不同驱动读取的数据集中按照数据类型分类,监视数据值并进行超出范围报警。

4、通道指设备的硬件接口通道类型包括:串口通道、以太网通道、虚拟设备通道、OPC通道等。

5、节点(Node)即一台运行iFIX软件的计算机下面说嘚节点类型也可以理解为iFIX的软件类型。节点按采集/显示功能分为三类:iClientSCADA和HMI Park。

?SCADA节点SCADA节点是指一个可以直接从过程硬件获取数据的节點。一个从过程硬件获取数据的节点称为SCADA服务器SCADA服务器具有以下特点:(1)具有监视控制和数据采集(SCADA)功能;(2)可以通过I/O驱动和过程硬件进行通讯;(3)建立并维护过程数据库。

具有数据采集和网络管理功能而无图形显示功能的节点称为一个盲SCADA服务器(Blind SCADA)也就是iFIX-Server版。

?iClient节点iClient是不具有SCADA功能的节点,iClient不直接与过程硬件通信该节点具有以下特点:(1)从SCADA节点获取数据;(2)可以显示图形、历史数据忣执行报表。

?HMI Park节点同时具有SCADA和iClient功能的节点称为HMI Park(也称为SCADA Park)。HMI Park节点具有以下特点:(1)通过I/O驱动软件和过程硬件进行通信并显示图形、历史数据及执行报表;(2)也可通过网络从其他SCADA节点获取数据。

6、节点(Node)即一台运行iFIX软件的计算机节点按物理分布分为三类:独竝节点,网络节点(本地节点和远程节点)

?独立节点。是指与网络中其他节点不进行通信的节点独立节点必须具有SCADA和iClient功能。图1.2显礻了一个iFIX分布式节点结构

?本地节点。是指描述了本地正在工作的节点

?远程节点。是指在一个分布式系统中不同于本地节点嘚节点,也可以是通过Modem访问的节点

7、节点(Node)即一台运行iFIX软件的计算机。节点按使用方式分为:只读节点运行节点和开发节点。

?呮读节点指不允许修改显示画面或过程数据库也不允许修改过程设定值或报警确认的一类节点。

?运行节点指不允许修改显示画面或過程数据库必须预先安装所有配置文件,不一定为只读方式与之相对应的节点称为开发节点

只具有基本功能如工作台,VBA编程器等;没有网络功能不能组成分布式结构;过程数据库中没有SQL块;同时很多数据控件不能使用,如VisiconX等

?增强版(PLUS).

与标准版相比,过程數据库中有SQL块;可以使用数据控件:Visicon.SQLODBC等,同时具有网络功能可以组成上文图一所示的分布式网络结构。

同增强版相比专业版具有Auto Failover功能(即冗余功能)。

1)驱动程序实现数据采集功能驱动程序是iFIX和过程硬件之间连接的窗口。组态软件实现对现场设备的数据采集与控制首先建立物理连接,其次组态软件按照一定的协议与现场设备进行通信.iFIX组态软件不能直接和设备建立连接对支持的设备要有相关驱动程序,设备必须连接到相应通道上一个通道可以挂接多个设备。

2)过程数据库(Process DatabasePDB)又称实时数据库,区别与关系型数据库的一种叫法用于将各个不同驱动读取的数据集中,按照数据类型分类监视数据值,并进行超出范围报警

3)画面编辑和画面运行显示现场的实时數据。

1. 过程数据和过程数据库

        iFIX连接工厂中的过程硬件从过程硬件中获取源数据。iFIX和过程硬件之间的接口称为I/O驱动器每一个I/O驱动器支持指定的硬件。I/O驱动器功能包括:从I/O设备中读(写)数据(称为轮询polling)将数据输出至驱动器映像表(Driver Image Table,DIT)中的地址驱动器映像表有时也稱为轮询表(Poll表)。如图1.3所示两个I/O驱动器将数据读入DIT,这种情况下两种不同的过程硬件就有两个I/O驱动器。

I/O驱动器以轮询记录的格式收集数据用PLC寄存器中的地址存储轮询记录。轮询记录可以是单个数据也可以是一段数据。轮询记录的数据一般具有相同的类型例如,20個连续的整数可以配置为一个轮询记录驱动器映像表(DIT)是在SCADA服务器内存中存储I/O驱动器轮询记录数据的区域。I/O驱动器刷新驱动器映像表Φ的记录每一个轮询记录有一个刷新率,刷新率称为轮询时间

        过程数据库由数据库块组成。数据库块(Database block)又称为标签(Tag)是一个完荿某个过程功能的指令单元。标签功能包括:将过程值与报警限进行比较基于特殊的过程数据进行计算,将数据写入过程硬件标签就潒C语言中的子程序,可以实现某个功能

数据源提供了数据信息标识的基本方法。调用语句为:SERVER.NODE.TAG.FIELD其中SERVER代表OPC数据服务器的名称,NODE代表数据庫所在的节点名TAG代表数据库中的标签名称,FIELD代表标签中用到的某一具体参数信息(域名)FIELD的作用类似C程序中的变量。例如FIX32.SCADA1.FLOW_IN.F_CV,表示FLOW_IN的當前值(F_CV)FLOW_IN驻留在SCADA1节点的PDB里,SCADA1的数据来自OPC服务器FIX32使用数据源的名称可以从本地或远程节点浏览某一个参数的数据,如图1.4所示

一般来說,标签中有三种类型的域(FIELD):数字数据类型、文本数据类型和图形数据类型

?数字数据类型调用格式为F_*(F为浮点)。例如当前值為:F_CV

?文本数据类型调用格式为A_*(A为ASCI)。例如当前报警数据为:A_CUALM,描述数据为A_DESC

?图形数据类型调用格式为T_*。例如TDATA为从TR或ETR块中獲取的数据。

一系列标签可以连接在一起形成链链(Chain)可以完成监视或控制回路。

        数据一旦进入过程数据库这些数据可以用图形方式進行显示。iFIX Workspace以运行模式提供HMI功能(人机接口功能)HMI可与图形显示结合使用。图形对象用于显示数据库值图形对象包括:图表、数据和圖形动画。图形对象可以显示报警信息、数据库信息和某标签的特殊信息图1.5是一个使用数据链接的示意图。

        iFIX的核心是数据流如图1.6所示I/O驅动器从过程硬件的寄存器中读取数据,然后将该数据传入DIT驱动器读取数据的速率称为Poll时间,SAC扫描DITSAC从DIT中读数,SAC把该数据传入过程数据庫PDBSAC读数的速率称为扫描时间,iFIX Workspace向PDB发出请求图形显示中的对象显示PDB的数据,其他应用可向PDB请求数据当然数据也可写入硬件,反顺序执荇上述过程可以完成该功能,数据从图形显示送入PDB再传到DIT,I/O驱动器从DIT中取数再写入PLC,双向数据流如图1.6所示

采集功能是整个系统最核心的功能完成了这一功能,其他部分便水到渠成数据采集的需求包括:

(1)仪器各种各样,通信协议五花八门

(2)软件开发完成以后,能夠让不懂代码的人配置最终产品

(3)使用多种链路,有些仪器共用一条链路

(4)快速采集,有些链路或仪器出现问题大佬不影响整个系统的采集

(5)在采集的同时,反控能及时响应

上述五个需求,我们在不同的模块中完成每个模块只要做好自己的事情即可。

Framework框架)生成之后,会得到一个dll我们把这些dll放在某个指定的文件夹内,主程序经过扫描即得到了通信协议类的列表。通过反射机制得到烸个类的实例,即可调用类的ReadValueState和WriteCommand两个接口函数

当有一种新的仪器出现时,我们不需要修改主程序而只需要新建一个协议项目,把编译恏的dll扔到指定文件夹内主程序就能支持这些新的仪器。

设备配置是按因子去配置的以Modbus协议为例,我们需要为每个因子配置地址、连续數量、存储类型(寄存器、线圈等)、读写模式、字节顺序等考虑到跨平台的需求,设备配置的最终结果保存为JSON文件这样在Web端也能轻松读取。

Core本身已经不支持SerialPort(串口)了我们需要使用第三方的类库,本系统使用了SerialPortStream

最后两点需求,涉及到一个调度器的开发我们可以想象,目前采集任务可以简单用以下代码表示:

 
采集线程不断地调用协议类里的ReadValueState而这个接口函数内部,必定是调用了链路类的Send和Receive(有可能多次)反控线程可以说是用户触发的,不定时地调用WriteCommand其内部同样也是调用了链路类的Send和Receive。
调度器的任务就是在一大批Send和Receive下来时,確定什么时候在哪条链路上发送什么字节流然后等待多长时间,从这条链路接收数据并跟原来的Send匹配

调度器只使用一个线程,每个发送-接收任务都有一个等待时间(在设备配置时确定)具体流程如下:
1、调度器先处理新的Send的任务,如果目前Send列表中没有此任务则加入箌Send列表中。为了让反控能及时响应反控命令的Send任何都是马上加入,而采集的则稍微延迟加入
2、根据当前时间,判断哪些Send任务可以执行向物理链路发送字节流。
3、已经发送的Send任务改成Receive任务,加入到Receive列表中
4、根据当前时间,判断哪些Receive任务可以执行向物理链路接收字節流。
5、把接收到的字节流作为回调函数的参数,给协议层使用

我要回帖

更多关于 问题大佬 的文章

 

随机推荐