TIA PDF Datei mit VB Skript öffnen

Deben

Level-1
Beiträge
6
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

Ich bin neu hier im Forum und Grüße euch 👋 habe auch schon direkt eine Frage an euch und bitte um Hilfe!

Ich habe ein Projekt mit TIA V15.1 erstellt in diesem Projekt befindet sich ein HMI (TP700 Comfort). In diesem HMI möchte ich Automatisch eine bestimmte PDF Datei die sich auf dem USB Stick befindet öffnen lassen. Welche Datei es sein soll gibt mit dir die SPS in einer Variablen vor, die in einem Ein/Ausgabe Feld gezeigt wird.

Das zur Info:).

Ich habe schon einige Themen hier durchstöbert aber nichts explizites gefunden. Was ich schon rausfiltern konnte ist, das auf jeden Fall ein Skript angelegt werden muss. Da ich aber bis jetzt noch nichts mit Skripten zu tun hatte bitte ich euch um Hilfe. Vielleicht hat ja jemand so etwas schon mal umgesetzt oder etwas ähnliches.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
DeltaMikeAir danke für deine schnelle Antwort!!(y)

das hat mir schon mal geholfen, ich habe mich gestern und heute etwas damit auseinander gesetzt. Ja was soll ich sagen da ich ja null Berührungspunkte mit Skripten bis jetzt hatte, stehe ich jetzt schon wieder auf dem Schlauch😅.Ich möchte ja eine PDF öffnen lassen die mir eine Variable vorgibt z.B. ich bekomme jetzt die Zahl 4711 und wenn der Bediener dann am HMI den PDF Button drückt soll die PDF Datei 4711 geöffnet werden. Wie bekomme ich das in dem Skript hin das diese Variable mir vorgibt welche PDF jetzt geöffnet werden soll.
 
Hallo.

Werfe wie auch im Thread TP1200 Comfort zeigt PDF aber keine Bilder gerne das Control "PDF-Anzeige" in den Raum, damit lässt sich die Anzeige in das HMI-Projekt quasi integrieren und man läuft nicht Gefahr, dass mehrere Instanzen eines Reader im Hintergrund geöffnet bleiben.

Achso, zu deiner weiteren Frage:
Du musst die Zahl (Fragen meinerseits: Wie liegt diese vor? Als HMI-Variable von welchem Typ?) in den Dateinamen "einbauen", indem du den String mit dem Dateipfad trennst und die Zahl als String gecastet mit dem Verknüpfungsoperator "&" dazwischen schiebst.

Beispiel: Aus "\Storage Card USB\4711.pdf" wird "\Storage Card USB\" & CStr(Variable) & ".pdf"


Gruß, Fred
 
Zuletzt bearbeitet:
z.B. ich bekomme jetzt die Zahl 4711 und wenn der Bediener dann am HMI den PDF Button drückt soll die PDF Datei 4711 geöffnet werden. Wie bekomme ich das in dem Skript hin das diese Variable mir vorgibt welche PDF jetzt geöffnet werden soll.
Da musst Du halt den Dateiname mit der Zahl zusammenbasteln:
Code:
Dim dateiname

dateiname = "\Storage Card USB\" & CStr(SmartTags("MeineVariableMitDerZahl")) & ".pdf"
Wenn in der HMI-Variable "MeineVariableMitDerZahl" die Zahl 4711 drin steht, dann ergibt das: dateiname = "\Storage Card USB\4711.pdf"

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@faust die Variable wird als Hex dargestellt. Also ich habe das Skript gerade geändert, leider wird mir die angeforderte PDF nicht angezeigt.
Hier ein Bild wie ich das geschrieben habe. Bitte erschlagt mich nicht mit euren Worten. Wie gesagt habe damit noch nie was gemacht!!!
vb skript.JPG
muss ich eventuell vorher noch was mit der Variablen anstellen?
 
die Variable wird als Hex dargestellt. Also ich habe das Skript gerade geändert, leider wird mir die angeforderte PDF nicht angezeigt.
Der VBS-Code wandelt den Dezimal-Wert zu String. Du musst dafür sorgen, daß der Name der PDF-Datei mit dem Dezimalwert der Zahl aus der SPS übereinstimmt. Wo auch immer Du den Hexadezimalwert angezeigt bekommst, lasse Dir den Wert als Dezimal anzeigen, dann siehst Du wie die PDF-Datei heißen muß. Wenn Hex 16#1267 angezeigt wird, dann ist das Dezimal 4711 und die PDF-Datei muß ..4711..pdf heißen.
Alternativ ändere den VBS-Code so daß der Hexadezimalwert in String konvertiert wird.

Schreibe mal testweise in das Skript den festen Dateiname "\Storage Card USB\4711.pdf" rein. Wird dann die pdf-Datei angezeigt?

Und wie wird diese Variable aktualisiert? Zyklisch fortlaufend?
Diese wird manuell aktualisiert über einen Button.
Da wird im Skript mit dem Wert der Variable gearbeitet, der irgendwann vorher aus der SPS gelesenen wurde (oder Anfangswert, falls noch nie aktualisiert wurde). Wenn die Variable nicht noch woanders verwendet wird, dann wird der Wert der Variable erst nach dem Skript aus der SPS gelesen/aktualisiert.
Baue die Variable irgendwo in dem Bild mit ein, auf dem sich der Button befindet (z.B. in einem EA-Feld anzeigen oder für irgendeine nicht störende Animation verwenden), dann wird die Variable aktualisiert sobald/solange das Bild angezeigt wird. Der Bediener darf natürlich erst den Button drücken, wenn der (angezeigte) Wert aktualisiert ist.

Harald
 
Guten morgen zusammen, ich konnte mich letzte Woche leider nicht bei euch melden bin Krankheits bedingt ausgefallen. Erstmal vielen dank für eure ganzen Lösungsvorschläge!! (y):) @PN/DP wenn ich im Skript einen festen Namen vorgebe dann findet er auch diese Datei und öffnet mir diese auch.
Wie sieht denn der Code aus wenn ich ihn ändere von Hex in String??
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin moin zusammen, ich habe mir jetzt im Programm das Datenwort umgewandelt obwohl ich es gerne ohne gemacht hätte...aber egal. Es Funktioniert tadellos Ich danke euch für eure Hilfe!!!! (y)
 
ich habe mir jetzt im Programm das Datenwort umgewandelt
Da interessiert mich nun sehr, was Du gemacht hast. Kannst Du uns das genauer erklären und zeigen?
"Hexadezimal" ist doch nur eine Ansicht. Wenn mir etwas hexadezimal angezeigt wird und ich will den dezimalen Wert sehen, dann stelle ich die Ansicht auf dezimal, aber ändere nicht das SPS-Programm. Die Ansicht ändern ändert nicht den Wert.

Harald
 
Zurück
Oben