iFIX




from https://www.faweb.net/product/opc/scada/ifix

iFIXの起動

スタートメニューから「プログラム」⇒「iFIX」⇒「Intellution iFIX 3.5」をクリックし、iFIXを起動します。 OPCに関する設定を行うためにツリーから「システム構成設定」をクリックします。
システム構成ユーティリティの「構成設定」メニューから「SCADA」を選択します。

SCADA構成設定

デフォルトでは、OPCが使用できる環境になっておりませんので、「I/Oドライバ名」で「?」ボタンを押して「OPC - OPCClient」を選択し、追加ボタンを押します。「I/Oドライバ名」にOPCクライアントドライバが表示されます。 次に「構成設定」ボタンを押します。

OPC構成設定



「Use Local OPC Client Driver」を選択し、「Connect」ボタンを押すと、OPCパワーツールが起動します。

OPCサーバー/グループ/アイテム定義

「Edit」メニューから「Add Server」をクリックすると、OPCサーバーリストが表示されますので、 OPCサーバーのProgID(Takebishi.Dxp)を選択します。 「Enable」のチェックボックスを「ON」にしておきます。
「Edit」メニューから「Add Group」をクリックし、「Enable」のチェックボックスを「ON」にしておきます。
「Edit」メニューから「Add Item」をクリックし、「Item Name」を「D0」、「Item ID」を「Device1.D0」と入力します。 「Enable」のチェックボックスを「ON」にしておきます。

最後に、「Edit」メニューから「Add Item to iFIX Database」を選択し、定義したOPCのタグ情報をiFIXに追加します。

実行








from https://sites.google.com/site/nyosawu/zi-kong-kai-fa-bei-wang/ifix%E9%80%A3%E6%8E%A5sql%E8%AE%80%E5%AF%AB%E8%B3%87%E6%96%99%E5%92%8C%E8%A3%BD%E4%BD%9Cexcel%E5%A0%B1%E8%A1%A8

IFIX連接SQL讀寫資料和製作excel報表

大概記錄一下流程免忘,原理其實很簡單,都是設定,無限的設定生涯:
1.最基本的安裝sql,創建管理員,創建資料庫還有設置,本處重點記錄:安裝時選用伺服器驗證登入,密碼要記住,伺服器名要記住,後邊要用上
2.打開windows控制台的管理工具,找到obdc數據源,把創建好的sql資料庫連接進去。
3.在iFix的組態工具裡打開Alarm到obdc的功能,就可以使用了。
原理很簡單 sql <=> obdc <=> ifix
有空再圖片記錄
沒空記錄可以參考csdn的,寫的很詳細

記錄1,使用IFIX中的tag連接sql資料庫:
框架:sql腳本語法寫在表裡,ifix透過tag觸發sql腳本執行取得結果
資料在下方:IFIX中將資料記錄通過ODBC保存到SQL SERVER

記錄2,使用vba直接連sql資料庫:
框架:引用 microsoft activeX Data objects 2.X library;'引用microsoft activeX Data objects recordset 2.X;引用Microsoft excel 15.0 object library
本頁元件有輸入起始日期和結束日期的功能,一個生產報表的按鈕,一個顯示HTML檔的控制項,檔名report.grf 儲存在網盤的原始程式碼目錄
代碼:
Option Explicit
'引用microsoft activeX Data objects 2.X library
'引用microsoft activeX Data objects recordset 2.X
'引用Microsoft excel 15.0 object library
    
Dim a As String '定義中間變數,用來暫存從資料庫中取出的資料
Dim b As String
Dim c As String
Dim d As String
Dim enddayplus1 As Integer

Dim rsADO As ADODB.Recordset '定義連接資料庫的ADO變數
Dim conn As New ADODB.Connection
Public CmdTruck As New ADODB.Command
Public dbUpdata As New ADODB.Command
Public rstUpdata As New Recordset

Private Sub CommandButton3_Click() '點擊按鈕的回應函數
    Fix32.AB_FIX.SDAY.A_CV = Fix32.AB_FIX.Year.A_CV + "-" + Fix32.AB_FIX.Month.A_CV + "-" + Fix32.AB_FIX.Day.A_CV
    enddayplus1 = Val(Fix32.AB_FIX.EDay.A_CV) + 2
    Fix32.AB_FIX.ENDAY.A_CV = Fix32.AB_FIX.EYear.A_CV + "-" + Fix32.AB_FIX.EMonth.A_CV + "-" + Str(enddayplus1)
    Call showbb '調用顯示報表的函數showbb
    Call closeDB1 '調用關閉資料庫的函數
    closeDB1
End Sub

Private Sub showbb()
    Dim COL1 As String
    Dim COL2 As String
    Dim COL3 As String
    Dim COL4 As String
    COL1 = "ALM_NATIVETIMEIN"
    COL2 = "ALM_TAGNAME"
    COL3 = "ALM_VALUE"
    COL4 = "ALM_DESCR"
    Dim Rs As New ADODB.Recordset '定義連接資料庫的ADO變數
    openDB1 '打開DB1資料庫,該函數在後面有定義
    CmdTruck.ActiveConnection = conn
    CmdTruck.CommandText = "SELECT ALM_NATIVETIMEIN, ALM_TAGNAME, ALM_VALUE, ALM_DESCR FROM FIXALARMS WHERE ALM_NATIVETIMEIN Between " + "'" + Fix32.AB_FIX.SDAY.A_CV + "'" + " AND " + "'" + Fix32.AB_FIX.ENDAY.A_CV + "'" + " And ALM_TAGNAME! = '' "    '按需求生成ADODB.recordset
    
    Dim xlApp As Object '定義報表物件
    Dim xlBook As Object
    Dim xlSheet As Object
    Dim e As String
    Dim f As String
    Dim g As String
    Dim h As String
    Dim i As Integer
    i = 2  'ADODB.recordset要寫入EXCEL的ROW數,從ROW2開始寫,ROW1留給中文說明標題了
    e = "報警時間"
    f = "報警點"
    g = "狀態"
    h = "說明"
    'On Error GoTo errorhandle
    Set xlApp = New Excel.Application
    Set xlBook = xlApp.Workbooks.Open(System.ProjectPath & "\app\temp.xls")     '打開報表範本此範本可以調整樣式,不要放值就好,輸出的報表就會按設計的樣式輸出
    Set xlSheet = xlBook.Worksheets(1)
    xlApp.DisplayAlerts = False  '警告禁用
    xlApp.Visible = False 'EXCEL隱藏
    xlSheet.Cells(1, 1) = e & ""    '第一行的標題文字說明
    xlSheet.Cells(1, 2) = f & ""
    xlSheet.Cells(1, 3) = g & ""
    xlSheet.Cells(1, 4) = h & ""
    
    Set Rs = CmdTruck.Execute   '執行SQL語句生成ADODB.RecordSet
    While (Not Rs.EOF)           '只要不是指向ADODB.RecordSet最後一筆資料將讀出來的數據傳給變數a、b、c、d
        a = Rs(COL1)
        b = Rs(COL2)
        c = Rs(COL3)
        d = Rs(COL4)
        xlSheet.Cells(i, 1) = a & ""      '將變數的值寫到對應excel的儲存格
        xlSheet.Cells(i, 2) = b & ""
        xlSheet.Cells(i, 3) = c & ""
        xlSheet.Cells(i, 4) = d & ""
        Rs.MoveNext '指向下一條ROW
        i = i + 1
    Wend
    xlSheet.SaveAs System.ProjectPath & "\app\report.htm", FileFormat:=xlHtml '工作表另存為html
    xlSheet.SaveAs System.ProjectPath & "\app\report.xls" '工作表另存為xls
    xlApp.DisplayAlerts = True '警告使能
    xlApp.Quit
    Me.WebBrowser1.Navigate System.ProjectPath & "\app\report.htm" '在WebBrowser控制項上顯示報表
    xlApp.Quit
    Set xlSheet = Nothing '釋放記憶體
    Set xlBook = Nothing
    Set xlApp = Nothing
    Set CmdTruck = Nothing
    Set Rs = Nothing
Exit Sub
errorhandle:
    MsgBox "報表生成錯誤!", vbOKOnly + vbInformation, "信息..."
    Set xlSheet = Nothing   '釋放記憶體
    Set xlBook = Nothing
    Set xlApp = Nothing
    
End Sub

Public Sub openDB1()       '定義打開資料庫的函數openDB1
    If conn.State <> adStateOpen Then
        With conn
        .ConnectionString = "Driver={SQL Server};Server=127.0.0.1;Database=msdb;Uid=sa;Pwd=123456789;"   '連接資料來源的相關資訊
        .ConnectionTimeout = 30
        .Mode = adModeReadWrite
        .Open
        End With
    End If
End Sub

Public Sub closeDB1() '定義關閉資料庫的函數closeDB1
    If conn.State = adStateOpen Then
        conn.Close
    End If
End Sub



資料在下方:IFIX連接SQL讀寫資料和製作excel報表













from https://www.ge.com/digital/documentation/ifix/version61/Subsystems/SQL/content/sql_setting_up_ifix_odbc.htm


Setting Up iFIX ODBC

Complete the following steps before running iFIX ODBC.

 To prepare for using iFIX ODBC:

  1. Set up your relational database on the server along with user accounts and passwords. Consult your relational database manuals for specific instructions.
  2. Set up the ODBC driver to communicate with iFIX. To do this, use the relational database tools that come with your SQL software.
  3. Define the SQL commands. To do this, create a library table that contains the SQL commands you want executed. The examples in this manual use SQLLIB as the SQL command table name.
  4. Create the error log table that stores all SQL runtime error messages that are recorded by the system.
  5. Set up or upgrade your network to support communications.
  6. Configure iFIX ODBC.
  7. Confirm that the SCADA node can establish network communications with the server by using an ODBC test program supplied by your ODBC vendor (such as MSQUERY).
    NOTE: When logging alarms to an Oracle database, you must use the Microsoft Oracle driver or data loss could occur.

 To configure iFIX ODBC:

  1. Ensure that the SQL task is added to the Configured Task List in the SCU Task Configuration dialog box. Refer to the Configuring the SQL Task section for more information on configuring the SQL task.
  2. Add an account for each relational database you need to communicate with to the Configured Accounts list in the SCU SQL Configuration dialog box. Refer to the Installing and Configuring Data Sources section for more information on defining specific accounts.
  3. Configure the SQL task using the Configure SQL Task dialog box in the SCU. Refer to the Configuring the SQL Task section for more information on configuring the SQL task.
  4. Define the SQT and SQD blocks in the iFIX database. Refer to the iFIX Database Reference for more information on blocks.
















留言

熱門文章