TIA TIA WinCC Profesional Seiten Drucken (Hardcopy)

Beiträge
2.645
Reaktionspunkte
774
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Liebes Forum,

Kann mir eine von euch bitte auf dem Sprung helfen?

Ich will kurz gesagt ein Druckauftrag "Taste" einfügen in meine Prozessbilder.
Drucken auf standart Drucker.
Die Visualisierung ist eine WinCC Professional V14.

Im Kurvenauzeige funktioniert das auch wie ich mir vorstelle,
Taste "Drucken"anhaken, protokoll erstellen mit ein Hardcopy aus der Controls bibliothek.

Ich suche aber die Möglichkeit das auch in ein "Normales" Bild ein zu binden.
Das einzige was ich gefunden hab ist die Einstellmöglichkeit von Hotkeys in die Schaltfläche. Einstellung : Strg + P
Aber nicht die Möglichkeit mein Protokoll an zu binden. So das ich Drucken kann.

Die Druckauftrag/Skripdiagnose ist auch icht was ich suche,.

Was übersehe ich ?

Grüß Bram

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Ich gehe davon aus das ich ein VB oder C Skript machen muss.
 
Zuletzt bearbeitet:
Ich hab jetzt in die Runtime Einstellungen schon mal die Möglichkeit gefunden die harcopy ein zu stellen so das das Drucken über Tastaturbefehl geht,

Zwar nicht das gewünschte Format aber, es ist schon mal was.
Mojje weiter probieren..
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Schaltfläche mit Ereignis c-Script bei Klicken.

#include "GlobalDefinitions.h"
void OnClick(char* screenName, char* objectName, char* propertyName)
{
WinExec("PrtScr.exe /C= "0;0;1280;800"",SW_SHOWNORMAL);
}



druckt in Datei. Die 0;0 sind die linke obere Bildschirmecke, die 1280;800 meine Bildschirmgröße. Weitere Parameter nach den Bedürfnissen anpassen.
 
Steht Dir die Funktion "DruckeBild" bei den Ereignissen einer Schaltfläche nicht zur Verfügung?

Die nutzen wir für Screenshots:
DruckeBild.jpg
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Schaltfläche mit Ereignis c-Script bei Klicken.

#include "GlobalDefinitions.h"
void OnClick(char* screenName, char* objectName, char* propertyName)
{
WinExec("PrtScr.exe /C= "0;0;1280;800"",SW_SHOWNORMAL);
}



druckt in Datei. Die 0;0 sind die linke obere Bildschirmecke, die 1280;800 meine Bildschirmgröße. Weitere Parameter nach den Bedürfnissen anpassen.

Leider bei diesen Code Übersetzungsfehler. In Datei Drucken ist auch leider nicht was ich suche.

Aus ein Classic WinCC hab ich mir diese Code umgebaut

Code:
#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{

   SSMHardCopy( lpszPictureName,  lpszObjectName);

}

nach

Code:
#include "GlobalDefinitions.h" 
void OnClick(char* screenName, char* objectName, char* propertyName)
{

   SSMHardCopy( screenName,  objectName);

}

Auch dies mal Übersetzungsfehler,,
Bin leider auch kein Skript Held.

Schon komisch das die Systemfunktion beim Kurvenanzeige da ist, und wenn man sie auf eine andere Stelle braucht sich die selbst bastel muss,.
Naja TIA halt, :sad:

Bram
 
Schaltfläche mit Ereignis c-Script bei Klicken.

#include "GlobalDefinitions.h"
void OnClick(char* screenName, char* objectName, char* propertyName)
{
WinExec("PrtScr.exe /C= "0;0;1280;800"",SW_SHOWNORMAL);
}



druckt in Datei. Die 0;0 sind die linke obere Bildschirmecke, die 1280;800 meine Bildschirmgröße. Weitere Parameter nach den Bedürfnissen anpassen.

Ja Moment, hier muss den Webnavigator installiert sein..
Da hab ich noch was zu tun dann..
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hm, bei mir funktioniert der Code mit TIA14 WINCC Prof.

Hier noch der Link zu Siemens:

https://support.industry.siemens.com/cs/ww/de/view/21606152

Scheint laut Produktumschreibung nur für WinCC 6.0 --- 7.4 zu sein.
Noch immer nicht Erfolgreich.

Ich hab jetzt ein Service Request gemacht und berichte dann wenn die eine Lösung haben.

Für jede andere lösung stehe ich aber noch immer offen :p.

Bram
 
So kurz vor Feierabend ein "geniale" Einfall gehabt.

Eine Kurvenanzeige so anpassen das nur die Drucken Taste Sichtbar ist.
Alle andere Tasten deaktivieren.

Und schaue da, es geht:D.
Nich der beste Lösung aber ist schon mal was..
 
Wie gesagt geht der Code oben bei mir im TIA14 WINCC Professional und ist direkt aus dem Editorfenster kopiert.


WinExec("PrtScr.exe /C= "0;0;1280;800"",SW_SHOWNORMAL);


Einfach die obige Zeile exakt so wie sie ist reinkopieren.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Heut morgen ein Antwort bekommen vom Siemens Support:

Code:
Um einen Ausdruck des kompletten Bildschirms über ein beliebigen Drucker zu realisieren würde ich wie folgt vorgehen.
 
1. Ich würde ein Protokoll erzeugen und hier das "Hardcopy"-Control einbinden. In den Eigenschaften des Hardcopys können Sie unter Bereich auswählen, dass z.B. der ganze Bildschirm beim Screenshot erfasst werden soll.
 
2. Sie müssen einen Druckauftrag definieren. Hier legen Sie darüber hinaus den Drucker fest, über den der Druckauftrag ausgegeben werden soll.
 
3. In dem Button, über den der Druckauftrag gestartet werden soll, würde ich unter den Eigenschaften > Ereignisse > Klicken das nachfolgende C-Skript erstellen:
 
ReportJob("NameDesDruckauftrags","PRINTJOB");
 
Mit "PRINTJOB" wird der Druckauftrag direkt ausgeführt. Alternativ können Sie hier auch "PREVIEW" eintragen und sich somit vor dem Ausdruck noch eine Vorschau anzeigen lassen.
Mehr Informationen zu dem C-Skript Befehl finden Sie in der TIA-Hilfe unter > Prozesse visualisieren > Mit Systemfunktionen und Runtime Scripting arbeiten > Referenz > C-Scripting > Systemfunktionen > ReportJob.

Diese Skript
Code:
 ReportJob("NameDesDruckauftrags","PRINTJOB");

Hab ich Umgesetzt und funktionier auf der Stelle.

@ Werner, auch danke für deine Vorschläge;)

Bram
 
Zurück
Oben