Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Results 1 to 6 of 6

Thread: Panel eindeutig identifizieren

  1. #1
    Join Date
    03.12.2013
    Location
    Ansbach
    Posts
    157
    Danke
    0
    Erhielt 58 Danke für 30 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hab mehrere Panel (WinCC flexible 2008 PC Runtime) parallel an einer SPS hängen.
    Es gibt aber nur 1 Projekt und das soll auch so bleiben.

    Ich brauch eine Idee, wie ich das Panel eindeutig indentifizieren kann.

    Hintergrund:
    ich möchte von einem Panel aus Service Emails abschicken. Aber nur von einem Panel.

    Dazu müsste ich nur eines der Panels exclusiv irgendwie dafür anmelden.


    Was mit bisher eingefallen ist:

    Ich mach eine interne Variable in WinCC "EmailsActivated" welche ich nach Start der Runtime per Tastendruck einmal aktivieren muss.
    Das Problem dabei ist, dass man das aktivieren nach Start der Runtime nicht vergessen darf. Ebenfalls kann man die beiden Panels
    gleichzeitig für Email aktivieren

    Wo ich hin will:
    Ein Panel exclusiv an der SPS anmelden.
    Wenn das 2te Panel angemeldet wird, dann wird das 1ste automatisch abgemeldet
    Reply With Quote Reply With Quote Panel eindeutig identifizieren  

  2. #2
    Join Date
    29.03.2004
    Posts
    6,786
    Danke
    162
    Erhielt 2,071 Danke für 1,476 Beiträge

    Default

    Ich habe es mal mit einer Textdatei auf jedem Panel gelöst, welche beim Runtimestart eingelesen wird und die gerätespezifischen Kennungen enthält. Kannst ja auf dem Gerät eine Seite erstellen über den sich diese Datei bei Bedarf erstellen und modifizieren lässt, dann muss man nicht auf dem Gerät mit dem Explorer hantieren (z.B. bei kleinen Panels etwas fummelig).

  3. #3
    Maagic7 is offline Erfahrener Benutzer
    Themenstarter
    Join Date
    03.12.2013
    Location
    Ansbach
    Posts
    157
    Danke
    0
    Erhielt 58 Danke für 30 Beiträge

    Default

    An eine Textdatei hab ich auch schon gedacht. Könnte man über Script und fso Object machen.

    Hab aber mittlerweile schon eine Idee!
    Wenn man die MAC-Adresse der Netzwerkkarte über Script rausbekommt und in die SPS schreibt,
    dann kann man lokale MAC mit der in der SPS angemeldeten MAC vergleichen. Sind beide identisch,
    dann ist es das registrierte Panel.

    Wenn man nun das 2te Panel statt das 1ste registriert, wird die MAC des 2ten in die SPS geschrieben und
    somit kann immer nur 1 Panel angemeldet sein.

    Obwohl heute ein produktiver Tag ist werd das erst morgen mal angehen.

  4. #4
    Maagic7 is offline Erfahrener Benutzer
    Themenstarter
    Join Date
    03.12.2013
    Location
    Ansbach
    Posts
    157
    Danke
    0
    Erhielt 58 Danke für 30 Beiträge

    Default

    Hab jetzt mal ein etwas experimentiert. Das mit der MAC Adress eignet sich für meine Zwecke.
    Da die MAC Adresse als String zurückgegeben wird und offensichtlich 6Byte HEX Einträge hat,
    hab ich nur die unteren 4Bytes der MAC verwendet und diese in einen LONG umgewandelt.
    Diesen verwende ich als Panel ID.

    Man bekommt eine Auflistung aller Adapter. Ich hab jetzt einfach mal den 1. verwendet.

    hier das VB-Script in WinCC flexible

    Code:
    ' First Adapter is 0
    
    Dim objWMIService, colAdapters, objAdapter, strMAC, strComputer 
    Dim I
    Const iAdapterNo = 0  ' We use Adapter 0 for MAC-Address
    
    
    strComputer = "." 
    Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 
    
    Set colAdapters = objWMIService.ExecQuery ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True") 
    
    For Each objAdapter In colAdapters 
        strMAC = objAdapter.MACAddress 
        If I=iAdapterNo Then
            Exit For
        End If
        I = I +1
    Next
    
    Set objWMIService = Nothing
    
    ' Da die MAC Adresse 6 Byte lang ist, werden nur die unteren
    ' Bytes = 8 Ziffern fuer die ID verwendet. 
    ' Um die HEX Ziffern in einen LONG zu wandeln muss die für VB nötige Typkennung
    ' &H vorgestellt werden, dann kann sie mit der CLng Funktion in einen Long
    ' konvertiert werden. Zusätzlich müssen vorher noch die trennenden Doppelpunkte
    ' entfernt werden
    
    Dim sHex
    sHex="&H" & Right (Replace(strMAC, ":", ""),8)
    
    ' das sind interne Variablen ohne Verbindung zur SPS
    SmartTags("Service\Service_MAC_Address") = strMAC
    SmartTags("Service\Service_MAC_ID") = CLng(sHex)
    
    ' hier die gesamten Eigenschaften der Adapter class
    ' ----------------------------------------
    ' Win32 Network Adapter class
    ' ----------------------------------------
    ' String   AdapterType;
    '  uint16   AdapterTypeID;
    '  boolean  AutoSense;
    '  uint16   Availability;
    '  String   Caption;
    '  uint32   ConfigManagerErrorCode;
    '  boolean  ConfigManagerUserConfig;
    '  String   CreationClassName;
    '  String   Description;
    '  String   DeviceID;
    '  boolean  ErrorCleared;
    '  String   ErrorDescription;
    '  String   GUID;
    '  uint32   Index;
    '  datetime InstallDate;
    '  boolean  Installed;
    '  uint32   InterfaceIndex;
    '  uint32   LastErrorCode;
    '  String   MACAddress;
    '  String   Manufacturer;
    '  uint32   MaxNumberControlled;
    '  uint64   MaxSpeed;
    '  String   Name;
    '  String   NetConnectionID;
    '  uint16   NetConnectionStatus;
    '  boolean  NetEnabled;
    '  String   NetworkAddresses[];
    '  String   PermanentAddress;
    '  boolean  PhysicalAdapter;
    '  String   PNPDeviceID;
    '  uint16   PowerManagementCapabilities[];
    '  boolean  PowerManagementSupported;
    '  String   ProductName;
    '  String   ServiceName;
    '  uint64   Speed;
    '  String   Status;
    '  uint16   StatusInfo;
    '  String   SystemCreationClassName;
    '  String   SystemName;
    '  datetime TimeOfLastReset;

  5. Folgender Benutzer sagt Danke zu Maagic7 für den nützlichen Beitrag:

    MFreiberger (15.01.2020)

  6. #5
    Join Date
    06.10.2004
    Location
    Kopenhagen.
    Posts
    5,390
    Danke
    442
    Erhielt 982 Danke für 776 Beiträge

    Default

    Ich habe genau dieselbe Lösung wie Thomas V2.1.

    Ich lasse die Kunde selber einige Parameter die nur für die HMI relevant sind, selber definieren und speichern.
    Z.B. benutzerdefinierte Texte, das Pfad von Netzwerkordner wo Daten abgespeichert werden soll, usw.
    Beim HMI RT start werden die Parameter von Text-Datei eingelesen.

    Variabelzustände wie "EmailsActivated" kann man auch speichern und wieder einlesen.
    Und ich stelle mich vor dass die email Adresse in diese Weise die Kunde selbst spezifizieren kann.
    Jesper M. Pedersen

  7. #6
    Join Date
    22.06.2009
    Location
    Sassnitz
    Posts
    14,360
    Danke
    1,195
    Erhielt 4,251 Danke für 3,421 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Quote Originally Posted by Maagic7 View Post
    Ich brauch eine Idee, wie ich das Panel eindeutig indentifizieren kann.
    Du könntest anstatt MAC-Adresse den Hostname (Device Name) ermitteln - das geht dann auch auf WinCE-Panelen und nicht nur auf PC. Und der Hostname kann beibehalten werden, wenn das Panel ausgetauscht wird z.B. im Defekt-Fall.

    Harald
    Last edited by PN/DP; 15.01.2020 at 18:26.
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

Similar Threads

  1. TIA Alarmtext identifizieren
    By IbnAdam in forum HMI
    Replies: 1
    Last Post: 25.02.2019, 18:38
  2. Step 7 GSD Datei identifizieren
    By Draco Malfoy in forum Simatic
    Replies: 19
    Last Post: 23.02.2015, 14:43
  3. Betriebssystem eines Images identifizieren?
    By Grimsey in forum PC- und Netzwerktechnik
    Replies: 5
    Last Post: 21.03.2013, 14:15
  4. Meldenummernvergabe - projektweit eindeutig
    By hochwind in forum Simatic
    Replies: 1
    Last Post: 06.12.2011, 07:32
  5. Replies: 7
    Last Post: 30.07.2010, 11:13

Bookmarks

Posting Permissions

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