IFIX与EXCEL的连接

IFIX与EXCEL的连接
IFIX与EXCEL的连接

IFIX与EXCEL的连接

第一步,创建ODBC数据源,具体方法:启动控制面板中的数据源ODBC,单击“系统DNS”对话框,选择所需数据源的驱动,如:

“Microsoft excel driver (*.exl)”,单击“完成”按钮,弹出

“ODBC Microsoft excel 安装”对话框;在数据源名中定义一个数据源名称,数据库中“选择”中选择区县数据所在的数据库,此数据库的表至少有三个字段:时间字段、数据字段、毫秒字段。单击确定按钮,新创建数据源就添加到“系统DNS”列表中。

第二步,在IFIX中创建代码

ADO—在安装了MCROWIN BASIC 6.0 等软件就有了;

Private Sub CommandButton1_Click()

'注释: 1。该程序需要安装ADO 2.0目标库并在本机注册

' 2。Microsoft ActiveX Data Objects 2.1 Library 必须被引

用 (Office 2000)

' 3。Microsoft Excel 9.0 object libraries 必须被引

用 (Office 2000)

' 4。划===处可根据具体报表修改

Dim strQueryAvg As String

Dim c As Integer

Dim r As Integer

Dim Intyexcel As Excel.Application

Dim MyDate, MyMonth, MyDay, MyHour, MyMinute, MySecond

Dim StartTime, EndTime, Duration, DisplayDay, DisplayMonth As Str ing

'++============================================================== =====

'报表中的 TAG

Dim Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 As String

Dim Items As Integer

Tag1 = "TEST"

Tag2 = "TEST1"

Tag3 = " "

Tag4 = " "

Tag5 = " "

Tag6 = " "

Tag7 = " "

Tag8 = " "

'从历史库中取得域项, 2 - DATATIME, VALUE, TAG 共三项

Items = 2

'--============================================================== ======

MyDate = Now()

MyMonth = Month(MyDate)

MyDay = Day(MyDate)

MyHour = Hour(MyDate)

MyMinute = Minute(MyDate)

MySecond = Second(MyDate)

StartTime = "2000" & "-" & MyMonth & "-" & MyDay - 1 & " " & "00: 00:00"

EndTime = "2000" & "-" & MyMonth & "-" & MyDay - 1 & " " & "23:00 :00"

'++============================================================== ============

'查询,根据报表修改

strQueryAvg = "Select DATETIME, VALUE, TAG FROM FIX " & _

"WHERE MODE = 'AVERAGE' and (TAG='" & Tag1 & "' or TAG='" & T ag2 & "'" & _

" or TAG='" & Tag3 & "' or TAG='" & Tag4 & "' or TAG='" & Tag 5 & "'" & _

" or TAG='" & Tag6 & "' or TAG='" & Tag7 & "' or TAG='" & Tag 8 & "')" & _

"and INTERVAL = '01:00:00' and " & _

"(DATETIME >= and " & _

"DATETIME <= )"

'--============================================================== =============

Dim cnADO As New ADODB.Connection

Dim rsADO As Recordset

Set cnADO = New ADODB.Connection

cnADO.ConnectionString = "DSN = FIX Dynamics Historical Data; UID = sa; PWD = ;"

cnADO.Open "FIX Dynamics Historical Data", "sa", ""

Set rsADO = New ADODB.Recordset

rsADO.Open strQueryAvg, cnADO, adOpenForwardOnly, adLockBatchOpti mistic

'''如果执行上面的语句出错的话,则最大的可能性就是SQL语句有错误! r = 1

Set Intyexcel = New Excel.Application

Intyexcel.Visible = False

'++============================================================== ==============

'打开的报表文件名

Dim OutReportFile As String

Dim InReportFile As String

InReportFile = "C:\Dynamics\App\HIST1"

Intyexcel.Workbooks.Open InReportFile & ".XLS"

Intyexcel.Sheets("Sheet2").Select

Intyexcel.Columns("A:Z").Select

Intyexcel.Selection.ClearContents

Intyexcel.Range("A1").Select

While rsADO.EOF <> True

With Intyexcel.Worksheets(2)

For c = 0 To Items

If rsADO(c) <> "" Then .Cells(r, c + 1).Value = rsADO (c)

Next c

r = r + 1

rsADO.MoveNext

End With

Wend

Intyexcel.Sheets("Sheet1").Select

' Intyexcel.ActiveSheet.PageSetup.Orientation = xlPortrait ' xlLandscape

' Intyexcel.ActiveSheet.PageSetup.PaperSize = xlPaperA4

Intyexcel.ActiveSheet.PrintOut

Intyexcel.DisplayAlerts = False

Intyexcel.ActiveWorkbook.Save

OutReportFile = InReportFile & "_00" & MyMonth & MyDay

Intyexcel.ActiveWorkbook.SaveAs OutReportFile

Intyexcel.Quit

Intyexcel.DisplayAlerts = True

Set Intyexcel = Nothing

Set cnADO = Nothing

End Sub

4.2 iFIX中电厂日报表的生成[3]

总则:运用iFIX的调度器运行基于时间的VBA脚本来生成每天的EXCEL格式日报表。

1) iFIX中调度设置

在iFIX中新建时间调度,设置成间隔1小时的调度项,然后点击VB编辑器自定义脚本,如下图:

图 6 iFIX中调度设置界面

2) 初始变量定义

Dim ReportArray As Variant Rem 存放日报中所有要显示的参数的数组

Dim FirstPoint1 As Variant Rem 第一个变量

Dim tempvar As Variant Rem 中间变量

Dim strStartTime, strEndTime Rem 报表查询的时间范围

Dim Interval As Variant Rem 报表查询的间隔时间

Dim OutReportfile As Variant Rem 输出EXCEL表格的文件名

Dim TemplateName As String Rem 这个是日报表模板的文件名

3) 建立对EXCEL的引用,并打开报表的模板文件:

Set msExcel = CreateObject("Excel.Application")

With msExcel

.WindowState = xlMinimized

.Visible = False

.Workbooks.Open ReportTemplateName, , False Rem 打开报表的模板文件

.ActiveWorkbook.ActiveSheet.Select

.DisplayAlerts = False

.DisplayAlerts = False

.Wait (Now() + 0.00002)

End With

4) 创建SQL查询语句:

Dim rsADO As New ADODB.Recordset

Dim cnADO As New ADODB.Connection

Dim SQL0,SQL1 AS String

SQLO = "select FIX.value from FIX where FIX.interval=|" + Interval + "| and FIX.datetime>={ts|" + strStartTime + "|} and FIX.datetime<{ts| " + strEndTime + "|}" Rem FIX为本地节点名

SQL1 = SQLO & " and (FIX.tag=|" & FirstPoint1 & "|"

iTotalCols = 1

For Each tempvar In FirstReportPoints

iTotalCols = iTotalCols + 1

SQL1 = SQL1 & " or FIX.tag=|" & tempvar & "|"

Next tempvar

SQL1 = SQL1 + ")"

5) 执行对数据库的查询:

Set cnADO = New ADODB.Connection

With cnADO

Rem .CursorLocation = adUseClient

.Open "PROVIDER = Microsoft OLE DB Provider for ODBC Drivers;dsn=FIX Dynamics Historical Data;uid=sa;pwd=;"

.Execute (SQL1)

End With

6) 建立查询数据库后的记录集,并把数据写到EXCEL中后另存为EXCEL文件:

Set rsADO = New ADODB.Recordset

rsADO.CursorLocation = adUseClient

rsADO.Open SQL1, cnADO, adOpenForwardOnly, adLockReadOnly

If rsADO.BOF Then

rsADO.Close

cnADO.Close

With msExcel

DoEvents

.ActiveWorkbook.Close

.Quit

End With

Set msExcel = Nothing

Rem MsgBox "第一个表查询条件为空,请检查查询条件"

Exit Sub

Else

c = 1

While rsADO.EOF <> True

With msExcel.Worksheets(1)

For j = 1 To 24

If rsADO(0) <> "" Then

msExcel.Worksheets(1).Cells(j, c).Value = rsADO(0)

rsADO.MoveNext

End If

Next j

End With

c = c + 1

Wend

msExcel.ActiveWorkbook.SaveAs "d:\" & OutReportfile & ".xls" msExcel.Quit

msExcel.DisplayAlerts = True

msExcel.Visible = True

Set msExcel = Nothing

Set cnADO = Nothing

rsADO.Close

iFIX系统介绍教案

IFix培训资料 昆明阳光数字技术股份有限公司

1. iFIX3.5概论 (3) 2. Intellution Dynamics概述 (3) 3. 总体安装信息 (3) 3.1. 硬件需求 (3) 3.2. 硬件密匙 (4) 3.3. 软件要求 (4) 3.4. 支持的网络 (4) 4. IFIX功能介绍 (4) 进入编辑模式后,首先介绍如何修改画面。 (5) 4.1. 修改和创建画面 (5) 在介绍修改和创建画面之前,首先,介绍一些基本概念。 (5) 4.2.历史趋势 (18) 1.基本概念介绍 (18)

1.iFIX3.5概论 iFIX3.5版是一个工业自动化软件解决方案,它为用户提供了厂级的可视化过程、数据获取和监视控制功能。iFIX是Intellution DynamicsTM家族自动化解决方案的HMI/SCADA成员,能够在整个企业网络中传递生产信息。Intellution Dynamics的主要产品还包括高性能的批处理(batch)、软逻辑(softlogic)以及Internet应用的自动化方案。所有的应用可以进行无缝集成,对复杂的实时生产过程提供一个易于理解的动态的视窗,观察复杂的实时的产品过程。 Intellution Dynamics自动化解决方案广泛地应用于工业领域,包括离散/连续过程制造、日用消费品、食品和饮料业、石油和天然气、公用事业、化工、制药等。 2.Intellution Dynamics概述 Intellution Dynamics是第一个开放式的,基于组件技术的,完全一体化的自动化软件产品家族。它被设计成去除了软件包的约束,令工厂平台与商业系统之间易于集成与协同工作,正如Intellution Dynamics组件与第三方应用程序之间所体现的关系。针对Intellution早先的版本,增加了许多重要功能并改善了结构,包括: 强大的即插即用结构。组件化的对象结构。集成化的Intellution Wor kSpace?开发环境。 Microsoft VBA脚本。全面支持OPC、OLE和ActiveX?。增强了的安全性和可靠性。高级图形。 可扩展的配置向导结构;广泛的Internet支持;增强的报警。增强的网络性能;这些改善明显的减小了自动化工程设计时间,允许更快的和简化的系统升级和维护,在Intellution Dynamics和第三方的应用程序之间提供了无缝的集成功能,并且大大的增加了生产率。 Intellution Dynamics的开放式结构通过集成第三方组件和应用程序,可以让你自定义系统。这种即插即用结构允许你使用你自己的应用和对象很快并且很容易的增强,或在某种情况下替换Intellution Dynamics内嵌功能。这种强大的、灵活的结构有助于对连续过程的改善,通过建立和重新使用比以前更快的应用程序有效的降低集成成本。用Intellution Dynamics能快速容易的改变你的系统而不会简慢或中断你的现场过程。 3.总体安装信息 3.1.硬件需求

iFix中采用ODBC制作报表

在iFix中采用ODBC制作历史报表 具体步骤如下: Step 1: 打开SCU中的Task Configuration,增加HTC.EXE和WSQLODC.EXE两个任务,并将它们设置成为后台运行状态; Step 2: 启动iFix,点击工具栏上的按钮打开Historical Assign,添加所需监控的数据点,并设置历史数据的采样速度。 Step 3: 打开任务控制,查看是否已经启动HTC。

Step 4: 在Globals\User 下面添加三个字符型(vtString )变量,分别命名为strStartTime, strEndTime 和 Interval 。新建一幅画面,如图如示,在画面上布置3个DATALINK 分别指向strStartTime, strEndTime 和 Interval ,并设置成In place (即允许修改)。 Step 5: 为画面上的各个按钮写代码,最好先将各按钮注册——即将鼠标移到按钮上方, 按右键弹出菜单,选择Edit Script 。在VB Editor 的工具菜单中的Reference(引用) 中选中Microsoft Excel 9.0 Object Library 和Microsoft ActiveX Data Objects ,如下 图所示。然后在各按钮的处理程序中添加相应代码。内容如下(可将下列代码直 接COPY 到你的VB 编辑器中,覆盖因为注册产生的空代码):

‘运行状态画面初始化 Private Sub CFixPicture_Initialize() CommandButton1_Click CommandButton2_Click user.Interval.CurrentValue = "00:00:30" End Sub ‘组态状态画面初始化 Private Sub CFixPicture_InitializeConfigure() user.strEndTime.CurrentV alue = "报表结束时间" user.strStartTime.CurrentValue = "报表开始时间" End Sub '设当前时间为报表开始时间 Private Sub CommandButton1_Click() Dim curTime As String curTime = Now Dim curmonth, curday, curhour, curminute, cursecond As String curmonth = IIf(Month(curTime) < 10, "0" & Month(curTime), Month(curTime)) curday = IIf(Day(curTime) < 10, "0" & Day(curTime), Day(curTime)) curhour = IIf(Hour(curTime) < 10, "0" & Hour(curTime), Hour(curTime)) curminute = IIf(Minute(curTime) < 10, "0" & Minute(curTime), Minute(curTime)) cursecond = IIf(Second(curTime) < 10, "0" & Second(curTime), Second(curTime)) user.strStartTime.CurrentValue = Year(curTime) & "-" & curmonth & "-" & curday _ & " " & curhour & ":" & curminute & ":" & cursecond End Sub

IFIX中各种数据块

首页?iFIX技术文章? iFIX技术文章:各类型数据块的典型应用 iFIX技术文章:各类型数据块的典型应用 您可以在以下应用场景下使用对应的数据块: AA 模拟量报警(模拟报警块) ?以设定的时间间隔从I/O 地址(如PLC 寄存器)读写模拟值。 ?执行平滑、信号条件和报警限值检查。 ?为每个类型的报警定义报警值和优先级。 ?当报警发生时关闭数字块。 ?只要该数据块仍处于有效的报警状态或“重新报警时间”未禁用,即可在“重新报警时间”字段中定义的时间内重新发出报警。 ?根据过程条件暂停此块内或多个块内的报警处理,提供智能报警。 ?从远程站点确认报警。 ?当链接到PID 或开关控制块时,帮助诸如直接数字控制等控制情况。 ?通过“下一个块”一栏把值传递给其它块。 AI 模拟量输入(模拟输入块) ?以设定的时间间隔或基于例外事件从I/O 地址(如PLC 寄存器)读写模拟值。?执行平滑、信号条件和报警限值检查。 ?当链接到PID 或开关控制块时,帮助诸如直接数字控制等控制情况。 ?通过“下一个块”一栏启动其它块的处理。 AO 模拟量输出(模拟输出块) ?把值发送到I/O 地址。 ?连接到调制的控制阀门和电机速度控制器。 ?从操作员显示屏、多数初级、二级和控制块接收值,包括PID 和梯度变化块。?通过“下一个块”一栏把值传递给其它块。 ?AR 模拟寄存器(模拟寄存器块) ?对多个I/O 位置进行读写,只要那些位置共用相同的工程单位限制和信号条件。?当无需报警和背景监视时,减少系统内存要求。 ?从PLC 内存上传和下载不常查看的或半静态的值。

BB 开关控制(开关块) ?为诸如加热器或泵之类的项提供实际控制。 ?提供特别的报警处理。 ?通过“下一个块”一栏处理其它块。 BL 布尔(布尔块) ?执行二进制操作和计算。 ?计算复合的报警条件。 ?监视多个I/O 点以获得大设备的状态。 ?为同步和控制批处理程序创建状态环。 ?通过“下一个块”一栏处理其它块。 CA 计算(计算块) ?通过把一个计算块与另一个计算块或扇出块链接,执行复杂的或多等式计算。?通过对尺寸进行计算,确认已制造零件的有效性。您可以使用此特性对有缺陷的零件计数。 ?当大量传感器(模拟输入块)监视同一参数时,找到平均读数。例如,模拟输入块可以在需要保持相同温度的管道的多个点上测量流的温度。 DA 数字量报警(数字报警块) ?检测数字状态的条件(液位或转变)。 ?代表诸如限值开关、阀门、报警触点或电机辅助触点的项。 ?通过打开(标签)和关闭(标签)字段把描述性标签指派给数字值,使它们对操作员更有意义。 ?为块定义报警值和优先级。 ?当报警条件发生时关闭数字块。 ?只要该块仍处于有效的报警状态或“重新报警时间”未禁用,即可在“重新报警时间”字段中定义的时间内重新发出报警。 ?根据过程条件暂停此块内或多个块内的报警处理。 ?从远程站点确认报警。 ?当链接到PID 或开关控制块时,帮助诸如直接数字控制等控制情况。 ?通过“下一个块”一栏把值传递给其它块。

iFix的一种画面切换方法

iFix下的一种画面切换方法 在工业生产线上,一个大的生产系统往往由若干个子系统构成。其相应的监控画面也应该随之分成若干个画面组。这里就产生了一个问题,就是如何处理从一个子系统切换到另一个子系统时画面的切换,在一个子系统内由一个工艺画面切换到另一个工艺画面的问题。 一、画面构成 我们把屏幕分为四个部分: ⑴顶部,由标题和工艺功能画面切换按钮组成。标题可随工艺画面变化而变化,反映画面内容;工艺功能画面切换按钮用于切换子系统内不同的功能画面。绿色按钮代表工艺画面部分当前显示画面和该按钮一致,且禁止操作;灰色按钮代表工艺画面部分可以切换到该按钮指示的工艺画面。按钮上的标识为工艺小系统名;称或功能名称,按钮的数量和子系统有关。 该部分根据具体需要可以增加按钮和其它显示内容。 该部分一般不会被切换。 ⑵左侧含子系统切换按钮。也可以增加具体工程要求的其它按钮和数据、状态显示内容。工艺画面所属系统对应操作按钮颜色为绿色,且不能操作。其余

系统所对应按钮为灰色,可操作。按钮标识为子系统名称。 该部分一般不会被切换。 ⑶底部一般是公共报警或子系统报警 该部分可固定不切换,也可根据子系统的变化而切换。 ⑷中部这一部分是设备监控的主要部分。这是设备状态、过程数据显示及设备操作的区域。随子系统和工艺功能显示要求而切换。各子系统的工艺功能画面数量不等。 二、系统规划 2.1、子系统的划分 2.2、各子系统工艺画面、功能画面的内容确定 以上两项列出表格。 2.3、切换方法的规划设计 2.3.1、画面名称的构成 画面名称按下述格式构成: 工艺名称(功能名称)_子系统编号_工艺功能编号.grf 4汉字 1位数字1位数字 这样处理,便于系统的动画表示和工艺功能画面的动画表示。 2.3.2、辅助全局变量 其中: SYS_No—---子系统编号,整形数; GY_No------工艺单元、功能画面编号,整形数; Pic_Nm0----在显示工艺、功能画面名称,字符串; Pic_Nm1----待显示工艺、功能画面名称,字符串; 2.4、显示及切换规则 2.4.1、例:按钮“系统1”背景色为绿色,且禁止操作时,说明工艺、功能区显示的是1#子系统的设备运行情况。依此类推。 2.4.2、例:例:按钮“系统1”背景色为绿色,且禁止操作;顶部按钮“1”背

iFix中如何实现EXCEL报表

?iFix中如何实现EXCEL报表 ? 2007-01-31 16:59:58 作者:ifixonline来源: ?文字大小:【大】【中】【小】评分等级:3 在VBA中引用Microsoft Excel 11.0 Object Library和 Microsoft ADO 6.0 Library。在画面中添加个按钮。复制以下代码: ‘----------开始复制(不包括此行)--------------Option Explicit Dim rsADO As ADODB.Recordset Dim cnADO As ADODB.Connection Private Sub Command1_Click() Dim StrDir As String StrDir = "E:\" Dim i As Long Dim Sql As String Sql = "SELECT * FROM THISNODE" Set cnADO = New ADODB.Connection Set rsADO = New ADODB.Recordset cnADO.ConnectionString = "Provider = Microsoft OLE DB Provide r for ODBC Drivers;DSN=FIX Dynamics Real Time Data;UID=;PWD =" cnADO.Open rsADO.CursorLocation = adUseClient rsADO.Open Sql, cnADO, adOpenDynamic, adLockUnspecified, -1 If rsADO.RecordCount <= 0 Then MsgBox "无数据!", vbOKOnly + vbInformation, "信息..." Set cnADO = Nothing Set rsADO = Nothing Exit Sub End If Dim xlApp As Object Dim xlBook As Object Dim xlSheet As Object Set xlApp = New Excel.Application xlApp.DisplayAlerts = False xlApp.Visible = False Set xlBook = xlApp.Workbooks.Open(StrDir & "\报表.xls")'需要文件(E:\报表.xls) Set xlSheet = xlBook.Worksheets(1)

iFIX组态软件简介

iFIX组态软件简介 培训内容: →iFix的概述及结构 →系统配置 →I/O驱动器 →工作台及画面介绍 →过程数据库及数据库编辑器 →画面对象及动画 →历史数据及趋势图 →报警及安全 一. iFix的概述及结构 1.iFix软件介绍 ●iFix 是一套工业自动化软件,为用户提供一个过程化窗口 ●为操作人员和应用程序提供实时数据 2.iFix 的基本功能 ●数据采集 ---与工厂I/O设备直接通讯 ---通过I/O驱动程序,与I/O设备接口 ●数据管理 --- 处理、使用所取数据 --- 数据管理 包括过程监视(图形显示),监视控制,报警,报表,数据存档3.iFix的概述及结构(续) 1)节点类型 概念:一台运行iFix软件的计算机称为一个节点 类型: ▲按功能划分: SCADA服务器 iClient客户端(VIEW或HMI节点) HMI Pak ▲按区域划分: ●独立节点 ---与网络中其他节点不进行通讯的节点 ●本地节点 ---描述了本地正在工作的节点 ●远程节点 ---在一个分布式系统中,不同于本地节点的节点 2)网络节点图 ●iFix用于连接工厂中的过程硬件

3)I/O驱动器 ▲过程数据 ●iFix用于连接工厂中的过程硬件 ●传感器和控制器数据送入过程硬件中的寄存器(过程硬件一般包括 PLC、DCS、I/O设备) ●iFix软件从过程硬件中获取数据 ▲I/O驱动器 ●iFix与PLC之间的接口称为I/O驱动器 ●每一个I/O驱动器支持指定的硬件 ●I/O驱动器的功能 --从I/O设备中读(写)数据 --将数据传/输至驱动镜像表(DIT)中的地址中 ▲iFix数据流 ●I/O驱动器读取过程硬件 --- I/O驱动器从过程硬件的寄存器中读取数据 ---该数据传入DIT ---驱动器读取数据的速率称为轮询时间(poll) ●SAC扫描DIT ---SAC从DIT中读数 ---该数据传入过程数据库PDB ---SAC读数的速率称为扫描时间 ●(工作台)Workspace向PDB发出请求 ---图形显示中的对象显示PDB的数据 ---其他应用可以向PDB请求数据 ▲过程数据库 1)扫描、报警和控制(SAC) ●SAC主要功能 -- 从DIT中读取数据 -- 将数据传至数据库PDB

iFix配置教程

iFix_SCADA教程 来源:连邦IT服务平台编辑:黄燕飞发布时间:11-11-01 iFix_SCADA:通过SCADA Server实时采集各系统的数据,即可在调度室实现操作控制;数据上传矿信息网后,可实现在办公终端监视生产过程,供决策部门和管理部门掌握生产最新动态 一、配置SCADA冗余的前提条件: 1、两个SCADA SERVER又同样的过程数据库 2、相同的I/O DRIVER配置 3、连接到相同的设备 4、SCU配置成报警同步。 5、独立于IFIX软件外,两个SCADA服务器和客户端的机器在物理网络连接是通 的。 二、客户端配置 1、启动客户端IFIX软件,打开IFIX软件的SCU(系统配置程序),其画面如下: (确保禁用了SCADA支持) 启动客户端IFIX软件 2、打开系统配置的网络配置,打开的画面如图1:

图1 打开系统配置的网络配置 3、网络中选择网络连接的协议,如TCP/IP协议。 4、删除所有已经配置的远程节点 5、在远程节点名中输入用户定义的逻辑节点的名称。(在图中有标注)。关于远程逻辑节点名的使用是这样的,假设我们取的远程的节点名称是PROD_1,二两个SCADA 服务器的名称分别是 SCADA10P(主)和SCADA10B(备),那么在数据连接,VBA脚本,调度,动画的数据源中引用格式是FIX32.PROD_1.TANKEVEL.F_CV而不是 FIX32.SCADA10P_1.TANKEVEL.F_CV。 6、然后选择上图中的按纽,进入下面的画面如图2:

图2 远程节点配置 7、在上面的画面中的设置如下: 首先选中“启用逻辑节点名(E)”复选框,在主节点名中输入主的SCADA服务器的物理节点名,在备节点名中输入备用SCADA服务器的物理节点名,最后单击画面的“确定”按纽关闭画面,返回到画面(一),单击画面(一)的“确定”按纽,返回到SCU配置画面。 8、打开下面的画面如图3:(SCU-配置-本地启动) 图3 本地启动定义 选中“本地节点别名”,单击“确定”按纽,返回到SCU配置画面。 9、保存SCU配置,退出SCU配置。 10、修改系统的HOST文件,该文件的目录是WNNT:

IFIX报表

IFIX报表 IFIX报表常规的做法是采用IFIX内嵌的VBA语言,借助于OFFICE自带的ACCESS 和EXCEL 来做的。 例如我们要在IFIX画面上通过点击一按钮来察看某一天的数据,假如这有三个模拟量如tag1,tag2,tag3,数据间隔一小时归一次档,它主要分为四步: 一、创建一个ACCESS数据库如ReportDataBase.mdb,用来存放报表所需的数据。然 后就在这个数据库中建立一个表如ReporData,这样IFIX 就能以一定的时间间隔将数据写入此数据库刚才创建的表中。 ReportData的结构如下: 字段名类型 日期日期/时间 tag1 数值 tag2 数值 tag3 数值 二、创建ODBC数据源,用于IFIX与上步已建立的数据库和表进行联系。方法:控制面 板->管理工具->ODBC数据源,打开ODBC数据源管理器,建立一个“系统DSN”,点击“添加”,双击“Microsoft Access Drivers (*.mdb)”,出现“ODBC Microsoft Access 安装”对话框。 数据源名:MyReport 注:此名是任意的字符组合,但不能与数据库重名。 数据库:ReportDataBase.mdb,点击‘选择‘按钮选择第一步创建的Access数据库。 点击“完成”,退出控制面板

三、在IFIX 中创建一个“基于时间的调度”,如图 名称:任意合法的字符组合 触发信息:连续 间隔:1小时 详细代码如下: 点击“VB编辑器“进入VB编辑器 在“工具”菜单-〉引用“Microsoft ActiveX Data Objects x.x Library” Private Sub FixTimer3_OnTimeOut(ByVal lTimerId As Long) Dim cn As ADODB.Connection Dim res As ADODB.Recordset Dim StrSQL As String

ifix基于ACESS的操作记录

操作记录 按照图中示例进行配置,报警区域是在建立标签时设定好的。 配置前,在硬盘中建立数据库文件,及ODBC连接。图中:1—数据库类型,2—数据源名(ODBC),3—准备在数据库中创建的表名,4—表中所含数据名称。设置完成后点击“现在创建表”按钮即可。

显示 DTPicker1是VB日历控件,需要安装VB后才可使用,例程:Private Sub DTPicker1_Change() vxData1.QP1 = DTPicker1.Value End Sub vxData1控件和vxGrid1控件是iFIX的VX控件,要配合使用。vxData1控件配置过程:

声称SQL语句时使用向导,简单易懂。 使用时,注意属性中的含义。vxGrid1控件是副表,只要调用即可。

最终效果: 注意:操作记录是数据库记录的应用,需要定期清理数据库,所以在调度中还需编写删除相应数据记录的代码。 Private Sub FixTimer9_OnTimeOut(ByVal lTimerId As Long) On Error Resume Next Dim cn As ADODB.Connection Dim res As ADODB.Recordset Dim StrSQL As String Set cn = New ADODB.Connection Set res = New ADODB.Recordset cn.ConnectionString = "DSN=TL;UID=;PWD=;" cn.Open StrSQL = "delete from SOEDB where 日期<#" & Date & "#" res.Open StrSQL, cn, adOpenKeyset, adLockOptimistic res.Update res.Close Set res = Nothing Set cn = Nothing End Sub

iFIX系统配置指南

iFIX 系统配置指南 Version 1.0 2000/2/23 iFIX 系统配置指南 针对各种项目需求,为了帮助系统工程师和售前服务工程师更好地使用 iFIX 及其组件配置企业级系统,本材料在各个方面给出了详尽的说明和例子,以便项目相关人员使用参考。本材料所涉及的方面主要有如下几个主题:设备连接、iFIX 功能模块选取及数据库设计、网络设计、企业信息系统和资源调度系统集成及冗余系统设计。

第一章设备连接 设备连接是一个工厂数据采集系统需要解决的首要问题,iFIX 可以提供与世界上各种知名设备的方便连接方式,同时提供通讯程序的开发工具包以使用户能将自行开发的非标设备连接到 iFIX 监控系统。下面分几个方面阐述。 1.连接设备类型: iFIX 可以连接的设备种类有很多,主要类型有:DCS、PLC、控制器、远程模块、现场总线设备、条码阅读器、智能仪表、称重仪、其它计算机系统或特殊设备。 2.连接方式: iFIX 和设备的连接方式主要有如下几种:通过串行口连接,通过工业网络连接,通过标准以太网连接,其它方式如:电话拨号,微波设备,无线电传输,专线连接等。 3.使用的 iFIX 驱动程序: iFIX 驱动程序根据开发工具不同,分为 6.x 版本和7.x版本。 6.x版本的驱动程序使用驱动程序开发包 ITK 开发,可以在 WINDOWS 95/98 和 WINDOWS NT 上运行。6.x版本的驱动程序支持在同一台 PC 机上同时运行 8 个不同的驱动程序连接8 种不同设备。驱动程序内置冗余功能,详见冗余系统描述。 7.x版本的驱动程序使用 ASDK或 OSDK ( OPC Toolkit)开发,只能在 WINDOWS NT 平台上运行。7.x版本驱动程序提供 OLE Automation 界面,可以脱离 iFIX 单独运行,并能在 VB程序中引用其属性、方法。此驱动程序采用 COM/DCOM技术,可以以 C/S结构安装运行。即可以进行网络远程控制,如将 Client 部分安装在 iClient 上,通过网络控制 Server 部分的运行,进行远程驱动程序组态,控制运行及状态诊断。7.x驱动程序支持无限设备连接通道定义, 7.x驱动程序大部分同时也是 OPC Server,可以和标准的 OPC Client 连接。 Intellution IO驱动列表 参见: 4.使用第三方的驱动程序和 OPC Server Intellution 有大量的自动化合作伙伴(CAP),他们在工程中为 iFIX编写了大量商品化的驱动程序和 OPC Server。详情请参见如下网址查阅所需信息: 第三方OPC 驱动列表,参见:

基于ADO的IFIX历史数据报表

基于ADO的IFIX历史数据报表 黄重庆 (福建工程学院电子信息与电气工程系福州) 摘要:本次所使用的报表是基于ADO的IFIX历史数据报表,上位机采用组态软件iFix4.5,通过Visual Basic 6.0作为开发工具,运用模块化的方式,采集“智能仓储系统”和“冷却系统”所产生的数据,对各数据进行实时的监控和有效管理,同时可通过对不同信号的读取,采用本文介绍的方法设计的报表应用程序具有普遍性,通过简单修改可移植到其它工程中。 关键词:ADO;IFIX; 历史报表;VBA Based on the historical data report IFIX ADO HuangChongQing (FuJian University of Technology,Electronic information and electrical engineering,fuzhou) Abstract:This time uses the report form is based on the ADO IFIX historical data report form, the superior machine uses configuration software iFix4.5, 6.0 takes the development kit through Visual Basic, the utilization modulation way, the data which gathering “the intelligence warehousing system”and “the cooling system”produces, carries on the real-time monitoring and the effective management to various data, simultaneously may through to the different signal read, use the methods design report form application procedure which this article introduced to have the universality, may transplant through the simple revision to other projects. Key words:ADO;IFIX; HIM ;VBA

四种监控组态软件的性能比较

四种监控组态软件的性能比较 本文对4种主要监控软件从图形及组态方案、数据点管理、网络功能、通信功能、管理、加锁设计等6个方面作出比较。 以下内容中的技术参数来源于几家软件的内部参数,其中的看法只代表个人的经历和个人的观点,仅供参考。运行在工业现场、楼宇自动化的监控软件有很多种,各种监控软件都有着传统的功能,都是提供工业现场控制、楼宇控制的自动化解决方案,实现现场生产的远程可视化过程,现场数据获取和监控功能的工具;同时这些软件在监控中为了权衡矛盾,在软件设计中有所侧重,再加上各软件的设计方案不大一致,运用技术不同,因而在它们的功能反映上就有着自己的鲜明的特点。目前的监控软件有很多种,我就自己的工程运用把以下四种软件即:Intellution公司的iFIX(2.2)、GE公司的Cimplicity(4.01)、Wonderware公司的InTouch(7.1)以及Siemens公司的WinCC(4.02)作以比较,这其中Intellution公司和Wonderware公司是专门从事监控软件工作的,在市场占领绝大一部分份额;Cimplicity 和WinCC 是GE和Siemens公司自动化产品的配套产品,正努力推向市场。下面就把这四种主要软件从图形及组态方案、数据点管理、网络功能、通信功能、管理方面、加锁设计等六个方面作比较。 一、图形及组态方案 4种软件都是基于Object画面,都能实现对现场点的监视: iFIX:图形功能很强,支持多种图形格式,其追加的图形库,内容丰富,解决了原来图形过大的问题。可同时使用256种颜色,其中有64种颜色可用彩虹色调色,组成各种调色方案,嵌入图形中不会因放大缩小而失真。组态中提供树形结构图,能够浏览所画画面中的所有图形对象,组态信息,提供了全局性的变量组态方案,供画面组态调用,从而实现一改全改的功能,而且全局性的变量并不占用Tag点,对于画面中Group组内的对象组态并不改变,使状态变化丰富多彩,点数的扩展功能很强,有全面解决扩展点的报警、报警记录、历史记录的方法,有查找替换功能,可以替换整个图画以及画面中的对象的属性、组态点信息,对于同类型物体,避免重复组态。内嵌VBA,具有自己的内部函数,又有广泛的VB函数,功能扩展更为有利。支持双向OPC,支持所有类型的ActiveX、OLE,对不健全的控件所引发的错误进行保护,对控件的属性操作完全控制。编辑与运行是切换进行的,这有利于对现场生产安全的保障;有独立的报警监视程序,支持在线修改,具有画面分层功能,运行时可以根据程序很方便地更换对象的连接数据源,可以使控制更灵活。Cimplicity:图形功能最为强大,图库图形丰富多彩,它支持从画面到画面包含对象的颜色渐变,这是目前其他监控软件都不具备的功能,只是对插入的对象一定要进行格式转化,不然会有死机现象。一个画面一个进程,运行脚本是多线程的,所以图画虽然大,但运行速度很快。具有基于对象链接的拷贝功能,可以像iFIX一样避免对同一对象在多个画面中出现时修改的多次进行,但存在着运行时母板必须处于激活状态的缺憾。编辑与运行分开,有独立的报警、历史趋势运行管理程序,内嵌VBA,具有自己的内部函数,又有广泛的VB函数,组VBA与通用运用方式不一样,支持ActiveX、OLE插入,但对控件其中的一些属性进行了锁定。点的扩展功能与iFIX 一样强大,用之不竭的虚拟变量并不占用点数,但对于扩展点的报警设定比较难解决,输出问题,历史记录是没问题的。对数据节点的修改不是在线的,必须先停止工程,再启动工程。支持多条件组态,为组态方案提供了很好的解决方法。 InTouch:图形界面的美观性较差,粘贴位图操作较为繁琐,且引入的图形放大后的变形很大,自配的按钮文字不能变色,实现起来比较费事。支持ActiveX控件,但不具有第三方控件的出错保护,不健全的控件会造成系统出错。采用有限的内部函数,其功能也只是常用监控的功能,复杂一点的功能如报表就只能借助于其他工具。无论是否I/O点,包括全局变量,都占用Tag点数,点数的扩展只局限于模拟量读入,按位分解,比起iFIX、Cimplicity显得小气得多,常常会让设计者因为点数的不足而窘迫。支持组态对象的查找、替换功能。对象组合上存在着组合后原单个物体的组态都将消失、使得在状态变化设计上得另谋出路。 WinCC:图形功能如InTouch一样,调色板中可以同时使用的颜色有16种,提供的图库有限、不支持AutoCAD的图形格式,点数的扩展也同InTouch一样,只有模拟量读入,按位分解,WinCC提供公开的位操作手段,可以对模拟量中的位进行读取并进行报警设定,但没有直接的方法进行历史趋势记录,也没有直接的方法对位进行修改。有双向OPC支持,支持ActiveX。使用内部语言,环境如同C 语言。同样使得其功能扩展变得容易。 二、数据点管理 它们都提供了统一环境进行数据点的定义,InTouch与Cimplicity提供了为数不多的几种数据类型,但Cimplicity提供了对监控点的采样处理技术,没有别的功能块;WinCC数据类型相对多一些,而iFIX提供的数据类型最多,有很多现成的功能块;历史记录块、趋势块、计算块、PID块、计时块,这对于设备运行时间计算,数据转化等工作可以不必在画面中去做,同时iFIX还提供十多种信号发生器,在调试中帮助很大,实现非常方便。4种软件中iFIX的数据点管理是独立于画面运行的,直接反映现场信息,数据点一经设定就可以立即反映现场状态(如果通信是成功的),这是其他3种软件所不具备的特点。Cimplicity另外提供了一个查看点的信息平台,在运行时可以用来监视点状态,编辑时可以用来查看点组态信息,实现组态的替换。iFIX、Cimplicity都提供了数据管理库的输入、输出功能,可以把TAG信息输出到Excel这样一个网格文档操作最方便的工具中,可以在Excel中方便地完成繁琐的TAG点定义设置工作,再从Excel回

IFIX报表

Private Sub CFixPicture_Initialize() dtpTime.Value = Now End Sub Private Sub CFixPicture_KeyDown(ByVal KeyCode As Long, ByVal Shift As Long, ContinueProcessing As Boolean) End Sub Private Sub CommandButton1_Click() Dim strDate As String Dim strMonth As String strDate = Format(dtpTime, "yyyy-MM-dd") strMonth = Format(dtpTime, "yyyy-MM") '日报 If Me.optMonth.Value = False Then If Me.optDay.Value = True Then WebReport.Navigate "D:\REPORT\日报表\日报表" & strDate & ".htm" '显示 Else WebReport.Navigate "D:\REPORT\日报表\空白报表" & strDate & ".htm" '显示 End If End If '月报 If Me.optDay.Value = False Then If Me.optMonth.Value = True Then WebReport.Navigate "D:\REPORT\月报表\月报表" & strMonth & ".htm" '显示 Else WebReport.Navigate "D:\REPORT\月报表\空白报表" & strMonth & ".htm" '显示 End If End If End Sub

IFIX教程

F I X154基础培训

154培训介绍 ●为学员提供对iFix有较好的了解 ●以新用户的角度来设计课程 ●课程包括配置和应用iFix软件、建立应用程序的实验,通过使用软件中的大量组件开发应用程序 预备知识 ●熟悉个人计算机,特别是Windows NT和Windows 2000 ●过程控制应用的常识 ●熟悉intellution软件是有帮助的,但不是必要的 培训内容及课程安排 ●第1天 iFix概述和结构,系统配置,I/O驱动器,工作台及画面介绍 培训内容及课程安排 ●第3天 全局,调度,数据库编辑器,程序块,VBA介绍,趋势图

第一章概述●iFix产品概貌 ●Intellution Dynamics ●进行练习以巩固所学知识 ●iFix是一套工业自动化软件 ●“过程化窗口” ●为操作员和应用程序提供实时数据 节点:运行i F i x的计算机●SCADA节点 Supervisory Control And Data Acquisition ●iClient节点 VIEW / HMI

●HMI PAK = SCADA + iClient 网络节点类型 ●独立节点 ●本地节点 ●远程节点 其它节点类型

第二章i F i x结构 ●基本结构 ●I/O驱动器 ●过程数据库 ●图形显示 ●分布式结构 ●进行练习以巩固所学知识 I/O驱动器 ●iFix从过程硬件获取数据 PLC,DCS,简单I/O设备…… ●I/O驱动器是iFix与过程硬件之间的接口 ●I/O驱动器支持特定的硬件设备 ●I/O驱动器以poll记录格式收集数据,并传输至DIT D I T(D r i v e r I m a g e T a b l e) ●SCADA服务器内存中 ●存储I/O驱动器的轮询记录数据 ●轮询时间poll time I/O驱动器基本结构 S A C

五种组态软件的比较

五种组态软件Cimplicity、InTouch、WinCC、EC2000之比较 针对在国际市场占有大部分市场份额的几种监控软件,本文对4种国外监控软件和EC2000系统从图形及组态方案、数据点管理、网络功能、通信功能、管理、加锁设计等6个方面作出比较。 以下内容中的技术参数来源于几家软件的内部参数,仅供参考。运行在工业现场的监控软件有很多种,各种监控软件都有着传统的功能,都是提供工业现场控制、自动化解决方案,实现现场生产的远程可视化过程,现场数据获取和监控功能的工具;同时这些软件在监控中为了权衡矛盾,在软件设计中有所侧重,再加上各软件的设计方案不大一致,运用技术不同,因而在它们的功能反映上就有着自己的鲜明的特点。目前的监控软件有很多种,国外比较著名的四种软件即:GE-Intellution公司的iFIX、GE公司的 Cimplicity、Wonderware公司的InTouch以及Siemens公司的WinCC和EC2000作以比较,这其中GE-Intellution公司和Wonderware公司是专门从事监控软件工作的,在市场占领绝大一部分份额;Cimplicity和WinCC 是GE和Siemens公司自动化产品的配套产品,正努力推向市场。EC2000是南瑞自控公司的水电自动化监控软件,目前已应用于多个水电站和泵站、闸门。下面就把这五种软件从图形及组态方案、数据点管理、网络功能、通信功能、管理方面、加锁设计等六个方面作比较。 图形及组态方案 5种软件都是基于Object画面,都能实现对现场点的监视: iFIX的图形功能很强,支持多种图形格式,其追加的图形库,内容丰富,可同时使用256种颜色,其中有64种颜色可用彩虹色调色,组成各种调色方案,嵌入图形中不会因放大缩小而失真。组态中提供树形结构图,能够浏览所画画面中的所有图形对象,组态信息,提供了全局性的变量组态方案,供画面组态调用,从而实现一改全改的功能,而且全局性的变量并不占用Tag点,对于画面中Group组内的对象组态并不改变,使状态变化丰富多彩,有查找替换功能,可以替换整个图画以及画面中的对象的属性、组态点信息,对于同类型物体,避免重复组态。内嵌VBA,具有自己的内部函数,又有广泛的VB函数,功能扩展更为有利。支持双向OPC,支持所有类型的ActiveX、OLE,对不健全的控件所引发的错误进行保护,对控件的属性操作完全控制。编辑与运行是切换进行的,这有利于对现场生产安全的保障;有独立的报警监视程序,支持在线修改,具有画面分层功能,运行时可以根据程序很方便地更换对象的连接数据源,可以使控制更灵活。 Cimplicity:图形功能在四种国外软件中最为强大,图库图形丰富多彩,它支持从画面到画面包含对象的颜色渐变,这是目前其他监控软件都不具备的功能,只是对插入的对象一定要进行格式转化,不然会有死机现象。一个画面一个进程,运行脚本是多线程的,所以图画虽然大,但运行速度很快。具有基于对象链接的拷贝功能,可以像iFIX一样避免对同一对象在多个画面中出现时修改的多次进行,但存在着运行时母板必须处于激活状态的缺憾。编辑与运行分开,有独立的报警、历史趋势运行管理程序,内嵌VBA,具有自己的内部函数,又有广泛的VB函数,组VBA与通用运用方式不一样,支持ActiveX、OLE插入,但对控件其中的一些属性进行了锁定。点的扩展功能与iFIX一样强大,用之不竭的虚拟变量并不占用点数,但对于扩展点的报警设定比较难解决,输出问题,历史记录是没问题的。对数据节点的修改不是在线的,必须先停止工程,再启动工程。支持多条件组态,为组态方案提供了很好的解

IFIX连接SQL读写数据和制作excel报表图文教程

IFIX连接SQL读写数据和制作excel报表图文教程IFIX连接SQL数据库、制作excel报表详细教程 一、 IFIX连接SQL数据库读写数据 IFIX连接SQL数据库有多种方法,其中最为方便的两种方法是: (1)使用IFIX本身为SQL数据库提供的接口SQT和SQD; (2)VB+ADO。 下面分别介绍着两种方法的实现步骤。 1、使用SQT和SQD读写SQL数据库 1.1 安装SQL2008 (只列出关键步骤,其余直接点击“下一步”或“安装”) 打开SQL安装中心,点击“安装”; SQL2008简体中文版安装包下载链接: 点击“全新SQL Server独立安装或向现有安装添加功能”; 点击“输入产品密匙”,点击“下一步”:(根据版本选择) sql server2008密钥 Developer: PTTFM-X467G-P7RH2-3Q6CG-4DMYB Enterprise: JD8Y6-HQG69-P9H84-XDTPG-34MBB Microsoft SQL Server 2008 R2序列号密钥 开发版32位:MC46H-JQR3C-2JRHY-XYRKY-QWPVM 开发版64位:FTMGC-B2J97-PJ4QG-V84YB-MTXX8 工组版:XQ4CB-VK9P3-4WYYH-4HQX3-K2R6Q WEB版:FP4P7-YKG22-WGRVK-MKGMX-V9MTM 数据中心版32位:PTTFM-X467G-P7RH2-3Q6CG-4DMYB

数据中心版64位:DDT3B-8W62X-P9JD6-8MX7M-HWK38 企业版32位:R88PF-GMCFT-KM2KR-4R7GB-43K4B 企业版64位:GYF3T-H2V88-GRPPH-HWRJP-QRTYB 标准版32位:CXTFT-74V4Y-9D48T-2DMFW-TX7CY 标准版64位:B68Q6-KK2R7-89WGB-6Q9KR-QHFDW 功能选择界面,选择安装全部功能,点击“下一步”; 进入实例配置界面,选择默认实例,点击“下一步”; 进入服务器配置界面,启动类型均选为“自动”;点击“对所有SQL Server服务使用相同的账户”,在弹出的界面中选择第一个账户,密码不用填;返回服务器配置界面点击下一步; 进入数据库引擎配置界面,选择混合模式,输入自己设定的密码,点击“添加当前用户”,点击下一步,直至安装完成,关闭安装中心。 1.2 进入SQL server新建SQL登录名和数据库 打开SQL,以Windows身份验证登录; 连接完后,点击“安全性”-“登录名”,右击选择“新建登录名”: 在弹出的界面中,点击左上角的“常规” ,输入登录名、密码,不要勾选强制密码过期,之后点 击左上角“服务器角色”; 在弹出的界面中,根据需要勾选所需权限,这里全部勾选,再点击“用户映射”; 在弹出的界面中,“映射到此登录名的用户”内勾选所有数据库,并在每个数据库的“数据库角色成员身份”中勾选db_owner和public,而后点击“确定”,完成新建登录名。

相关文档
最新文档