TIA IPC427D Windows User auslesen

Was hast du denn als Visu ?
Wenn die Scriptfähig ist könntest du die Umgebungs-Variablen als Liste in eine Datei schreiben lassen und diese anschließend auslesen.
Der Windows-User ist in der Umgebungs-Variablen USERNAME hinterlegt ...

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Larry,

danke für deine Hilfe:ROFLMAO:. Ich habe ein Comfort Panel. Script wäre also möglich, allerdings habe ich noch nie was mit dem Script gemacht, hast du vielleicht einen guten Link wo ich mir das anschauen könnte.

Danke & SG Stefan
 
Ich habe da tatsächlich ein Beispiel - da mußt du aber auf alle Fälle noch "ein wenig" dran arbeiten, denn es ist für eine PC-Runtime (da laufen die Filesystem-Zugriffe ein bißchen anders) und ich hatte mich für die IP-Adresse und nicht für die Environment-Variablen interessiert - das ist aber überschaubar, da du bei StarteProgramm lediglich IPConfig durch Set ersetzen müßtest. Den passenden Eintrag in der Liste finden würde dann bedeuten, dass du nach USERNAME statt nach IP-Adresse oder IPv4-Adresse suchen müßtest.

Hier das Script :
Code:
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim DateiName , fs , f , Z , VarListe , myIP , myIPAdr
DateiName = SmartTags("Intern\Daten_Verzeichnis") + "myIP.txt"
[COLOR=#ff0000][B]StartProgram "CMD.exe" , "/c IPConfig > " & DateiName , hmiShowMinimized , hmiNo[/B][/COLOR]
Set fs = CreateObject("Scripting.FileSystemObject")
Do : Loop Until fs.FileExists (DateiName)
 
If fs.FileExists (DateiName) Then
   Set f = fs.OpenTextFile(DateiName , ForReading , True)
   On Error Resume Next
   myIP = "" : myIPAdr = ""
   SmartTags("Intern\IP_Adresse_VNC") = "IP-Adresse :  -?-"
   
   Do While Not f.AtEndOfStream  
      Z = f.ReadLine
[COLOR=#ff0000][B]      If (InStr (Z , "IP-Adresse")   <> 0) _
      Or (InStr (Z , "IPv4-Adresse") <> 0) Then 
[/B][/COLOR]      VarListe = Split (Z , ":")
      myIP = Trim(VarListe(1))
      VarListe = Split (myIP , ".")
       
      If myIPAdr = "" Then 
   myIPAdr = myIP
   Else
   myIPAdr = myIPAdr + " , " + myIP
      End If     
   End If  
   Loop 
   f.Close
   
   fs.DeleteFile DateiName , True
   SmartTags("Intern\IP_Adressen") = myIPAdr
End If

ich habe die relevanten Zeilen mal farblich markiert.

Gruß
Larry
 
Hi,

ich glaube das funktioniert so nicht!
Über das Script im Comfort Panel wirst du schwerlich auf die Windows Daten des angeschlossenen IPC kommen.
Ich bin nicht mal sicher ob die SoftSPS überhaupt auf die Windows Daten zugreifen kann da diese ja autark abgelegt sind, sprich unabhängig System.

Eventuell kannst du mit dem open Developer Kit ne Erweiterung schreiben die solche Daten aus Windows ausliest aber einfach wird das dann nicht.

Gruß
Christoph
 
Zuletzt bearbeitet:
@Christoph:
Das Script läuft auf der Visu und nicht der Soft-SPS. Die Visu kommt auf alle Fälle an die Daten - die SPS so direkt natürlich nicht, da hast du Recht - über den Umweg der Visu allerdings schon.

@DeltaMikeAir:
Das ist von einer Flex2008Runtime bzw. darauf läuft es aktuell ...

Gruß
Larry
 
Wie soll die Visu auf dem ComfortPanel denn an die Daten kommen?
Das Script läuft auf dem Panel, dieses ist über Ethernet mit dem IPC verbunden und nun soll es wie die Angemeldeten Daten von dem IPC bekommen?
alle Befehle des Scriptes laufen doch auf dem panel und dem OS des Panels, aber nicht auf dem des IPC!

Wenn die Visu als RT auf dem gleichen IPC läuft ja dann wäre das möglich, aber mit nem externen abgehängten Comfort panel ? Das wird meiner Ansicht nach nicht gehen.

Gruß
Christoph
 
Ich hatte hier natürlich die Sache mit dem externen Panel nicht mehr auf dem Schirm.
Gleichwohl gibt es im Zeitalter von Netzwerken schon durchaus die Möglichkeit das dennoch zu realisieren. Das Script kann ja auch ein Batch-File (*.Bat-Datei) auf dem Visu-Rechner anstossen, welcher die Informationen dann dort in eine Datei speichert und diese Datei wird dann von der Visu halt nicht von ihrem eigenen Laufwerk sondern von dem Laufwerk des SoftSPS abgeholt.

Also ... wo ein Wille ist da ist auch ein Weg.
 
Nachsatz:
Den Weg mit dem Developer-Kit würde ich bei Siemens auch nicht gehen ... (aus unterschiedlichen Gründen)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja sowas geht theoretisch, per panel ein batch auf dem IPC anstoßen und die Daten dann abziehen.
Bedingung dafür ist aber das das panel auch auf den IPC und das Windows darauf kommt.
Er verwendet ja eine 1507S auf dem IPC und wenn er das panel da auf einer "falschen" Schnittstelle hat kommt er exakt bis zu der SoftSPS und nicht weiter.
Er müsste also eine Schnittstelle verbinden die sowohl auf IPC als auch SoftSPS zugreifen kann, bin mir im moment nicht sicher ob es das überhaupt gibt!

Gruß
Christoph
 
Da ich es gerade nicht simulieren kann muss ich dazu zunächst passen ... Sorry ... (aber wahrscheinlich hast du Recht)
 
Wie wäre es eine DLL zu erstellen die das auf der Soft SPS macht.
Dann kannst du dir den Benutzernamen in eine DB schreiben und das an die Visu übergeben.

Gruß

Jens
 
Zurück
Oben