Showing results 1 to 4 of 4

Thread: Datentyp export

  1. #1
    lunzer Gast

    Default Datentyp export

    Hallo!

    Ich habe in meinem Projekt folgende Datentypen angelegt:

    Typ-Name______Tag-Name________Typ
    Aggregat_Meldung:_Meld1__________bool
    _________________Meld2__________bool
    _________________Meld3__________bool

    Aggregat_Alarm:____Alm1 __________bool
    __________________Alm2__________bool
    __________________Alm3__________bool


    Aggregat_Typ:_____ME__________Aggregat_Meldung
    _________________AL__________ Aggregat_Alarm


    Somit kann ich einen Tag vom Typ "Aggregat_Typ" anlegen und habe die gesamte gewünschte Struktur.

    Soweit so gut...

    Nun muß ich aber jeden einzelnen Tag eine Adresse verpassen.

    Das Problem dabei ist das mit der Funktion "Erweiterer Import/Export - DBF-Datei exportieren" nur Tags exportiert werden die von "normalen" Datentypen sind. Meine neu angelegten Datentypen werden nicht exportiert.

    und mit dem XML-Export ist eine vernünftige Adressbearbeitung auch nicht möglich.

    Hoffe jemand hat eine Idee dazu.

    Danke!

    mfg Leo

  2. #2

    Default Re: Datentyp export

    Bei Stukturvariablen ist eine automatische Addressierung möglich, wobei nur der start-offset eingegeben werden muss. Hierbei gibt es zwei Möglichkeiten, die Strukturitems durchzunummerieren. Basierend auf dem Datentyp wird jeweils der offset richtig gesetzt ausgehend vom Startoffset. Oder jedes Strukturelement in der Strukturvariable beginnt mit einem neuen Offset.

    Voraussetzung ist natürlich, dass die Variablen auch so in der SPS vorhanden sind.

    Mittels ein kleines VBA Macro im Editor könnte die Addresse auch gesetzt werden. Wenn es z.B. eine Liste der Variablen in Excel gibt mit der jeweilige Addresse, könnte von Excel VBA aus die richtige Addresse für die Variablen in zenon vergeben werden.

    Wenn sich für die Variablenaddressierung der Strukturelemente einen Regel anwenden lässt, wäre ein VBA Macro vielleicht auch der schnellste Weg.

  3. #3
    lunzer Gast

    Default Re: Datentyp export

    Danke für die Antwort!

    Ich verwende den Treiber "IEC870-IEC 60870-5-101_104".

    Bei Variablen dieses Treibers wird die Adresse über:

    1. IEC870 Type
    2. IEC870 COA1
    und
    3.IEC870 IOA1

    definiert.

    Daher ist die Adressierung über den Start-offset nicht möglich.

    Für die VBA-Lösung sind meine Kenntnisse nicht ausreichend.

    Daher die Frage: gibt es eine möglichkeit Strukturvariablen zu exportieren?

    oder gibt es ein Programm mit dem man eine schnelle Bearbeitung des XML-Exports durchführen kann. Habs mit dem XML-Notepad probiert...

  4. #4

    Default Re: Datentyp export

    Die strukturvariablen lassen sich nur in XML exportieren.

    Massenbearbeitung in XML macht sinn, wenn ein kleines Hilfsprogramm z.B. in .NET erstellt, die Datei interpretiert und jeweils die Strukturen in eine Liste zur Überarbeitung anbietet.


    In VBA können auf die Addressierungs-Eigenschaften wie im Beispiel unten zugegriffen werden.

    Wenn der Name oder die Kennung, den Typ, Sector und IOA in einer Teilstring beinhalten würden, könnte man in ein VBA Macro die Variablen im Projekt durchlaufen und entsprechend der String die Addressierung vornehmen.

    Sub set_870_param()
    Dim myVar As Variable
    Dim mCOA As String
    Dim mIOA As String
    Dim mType As String
    
    Set myVar = MyWorkspace.ActiveDocument.Variables.Item("mDPI")
    If Not myVar Is Nothing Then
        Debug.Print myVar.NetAddr
        Debug.Print myVar.DynProperties("IEC870_TYPE")
        Debug.Print myVar.DynProperties("IEC870_COA1")
        Debug.Print myVar.DynProperties("IEC870_IOA1")
        mCOA = InputBox("enter the sector (Common Object Address)")
        If IsNumeric(mCOA) Then
            myVar.DynProperties("IEC870_COA1") = (CInt(mCOA))
        Else: MsgBox "please try again and enter a number"
        End If
        
        mIOA = InputBox("enter the address (Information Object Address)")
        If IsNumeric(mIOA) Then
            myVar.DynProperties("IEC870_COA1") = (CInt(mIOA))
        Else: MsgBox "please try again and enter a number"
        End If
        
        mType = InputBox("enter the ASDU type (e.g. '3' = double point information )")
        If IsNumeric(mType) Then
            myVar.DynProperties("IEC870_COA1") = (CInt(mType))
        Else: MsgBox "please try again and enter a number"
        End If
          
    End If
    End Sub

Similar Threads

  1. export SQL base
    By captain in forum zenon Service Engine Supervisor
    Replies: 5
    Last Post: 24th August 2009, 14:13
  2. Variable 'xyz'' wurde nicht geladen da Typ mite der Datentyp ID '63' fehlt!
    By jung_dieffenbacher in forum zenon Service Engine Supervisor
    Replies: 1
    Last Post: 26th November 2008, 16:51
  3. Cumulative export of alarms.
    By nsko in forum zenon Service Engine Supervisor
    Replies: 2
    Last Post: 4th September 2008, 12:38
  4. Export And Import of XML
    By allmendinger in forum zenon Service Engine Supervisor
    Replies: 1
    Last Post: 24th April 2008, 07:44
  5. rapidly creating Zenon functions using import/export
    By mattsd in forum zenon Service Engine Supervisor
    Replies: 3
    Last Post: 10th January 2008, 10:20

Posting Rules

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •