protool string archivieren?

pascal

Level-1
Beiträge
35
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin!

stehe gerade vor dem Problem das ich gerne eine 13 Stellige Zahlenkette mit Protool in einer Excel Datei archivieren möchte.. auf der Siemens SupportSeite wird darauf verwiesen das man das ganze mit einem VisualBasic Script lösen müsste.
Gibt es da keine bessere Möglichkeit? Kenne mich mit visual basic kein Stück aus..

gruß
 
Archive

Hallo,

eine Protool Runtime auf einem PC? Oder ein Panel? Da könntest du das Archiv auf Datenbank einstellen und mit den Einstellungen Datenquellen (ODBC) in der PC-Systemsteuerung direkt in Excel schreiben.

André
 
Zuviel Werbung?
-> Hier kostenlos registrieren
das ganze läuft auf einem pc, in der zahlenfolge sind verschiedene infos enthalten.
Anhand dieser Infos möchte ich verschiedene Rezepte auswählen und zusätzlich soll der Code wie ich eingangs schon sagte in einer Datei abgespeichert werden. (erstmal egal ob excel oder access)

Mein Problem ist es das ich bis jetzt nur IntegerZahlen in die Excel-Datei schreiben kann, denn wenn ich in den Eigenschaften der Variable "Typ String" auswähle kann ich in der Registerkarte Archiv nichtsmehr auswählen..
Ich hab auch irgendwie überhaupt keinen Ansatzpunkt und stocher hier nur im dustern, wäre klasse wenn mir da einer weiterhelfen könnte, oder auf Unterlagen verweisen würde wo man solche Sachen nachlesen kann
 
Hallo,
ein STRING wird genau wie ein INT an Excel geschrieben - wie Excel das in der Zelle behandelt liegt an der Zellen-Formatierung. Es gibt da keine andere Möglichkeit als über das VB-Script zu gehen. Das ist aber hinzubekommen. Im Bereich FAQ hier im Forum gibt es zu dem Thema auch von Volker einen guten Beitrag, der sehr viel erklärt.

Ansonsten stellt doch vielleicht mal dein Script hier ein - dann kann man ja mal sehen.

Gruß
LL
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ich bin mir nicht ganz sicher ob wir uns nicht vielleicht doch falsch verstehen..

Ich habe ja in protool die möglichkeit ein eingabefeld zu beschreiben, dieses verknüpfe ich dann mit einer variable die ich dann archiviere.

Bisher habe ich diesen Ablauf mit integer gemacht (ganz normal in protool eingestellt OHNE vb)
das Problem an integer ist, das ich nur 5 Ziffern zur Verfügung habe, daraufhin habe ich das ganze mit Dword ausprobiert und kam immerhin auf 9 Stellen, fehlen nur noch 4! (habe ja nen 13 stelligen code)

Und das geht jetzt nurnoch über vb? :???:
 
Hallo,
was hast du denn wirklich vor ?
Ich denke, du hast ein Problem mit den Variablen-Typen.
Ein INT hat 16 Bit - das ergibt als maximale Zahl +/- 32000 und 'nen Keks.
Ein DINT hat 32 Bit - das ergibt als maximale Zahl +/- 2.000.000.000 und 'nen Keks.
Ein STRING ist eine Zeichenkette mit (bei Siemens) einer maximalen Länge von 254 Zeichen. Ein STRING kann Zahlen, wie auch Buchstaben oder Zeichen beinhalten.

Schreib vielleicht doch mal, was du machen willst ...

Gruß
LL
 
Archivieren

Hi,
also dein Problem ist: wenn du mit INT arbeitest, kann Protool die Variable
selber archivieren. Jetzt mußt du auf String umstellen, und das archiviert
das Programm nicht mehr automatisch.
Lösung: auf String umstellen, und die Variable dann mittels VB Script
auf der Platte speichern; in dem o.g. Beitrag vom Volker steht drin ganz klar, wie es geht. Wann du das Script triggerst, ist auch eine Frage.

Gruss: Vladi
 
Zuviel Werbung?
-> Hier kostenlos registrieren
das wird wohl das beste sein ;)

ich habe folgendes vor; ich möchte an meinen panelpc einen barcodescanner anschließen.
Dadurch das der Scanner in das Tastaturkabel eingeschliffen werden kann bilde ich mir ein das ich nach dem Scannen den Barcode in Form eines 13stelligen codes in meinem Eingabefeld habe.

Nun soll ich verschiedene Bauteile prüfen:
in dem Code ist enthalten um welche BauteilSERIE es sich handelt, dementsprechend muss ich mit Unterschiedlichen Parametern prüfen, die ich dann in einem Rezept ablegen will.

Wenn die Prüfung dann abgeschlossen ist soll die Seriennummer zusammen mit dem Prüfergebnis in einer Datei gespeichert werden, die dann hinterher genutzt werden soll um genau nachzuvollziehen WANN WELCHES Bauteil geprüft worden ist und ob die prüfung POSITIV oder NEGATIV verlaufen ist.

Ich fühl mich im moment so Ansatzlos :rolleyes:
 
Scanner

Hi,
ja Ansätze gibt es einige. Z.B.:
-Bauteil scannen
-STRING auswerten, um zu sehen was für Bauteil
-passende Rezeptur laden
-prüfen
-speichern
-warten auf neuen Scann..
Auswertung kann in der SPS oder in VB erfolgen, was ist aufwendiger???
Was für SPS?

V.
 
Hi,

Lösung: auf String umstellen, und die Variable dann mittels VB Script
auf der Platte speichern; in dem o.g. Beitrag vom Volker steht drin ganz klar, wie es geht. Wann du das Script triggerst, ist auch eine Frage.

Gruss: Vladi

Aber wieso wird einem das ganze dann in Protool angeboten im Register "funktionen" ? hab mal nen screenshot gemacht und angehängt..
wusste gerade nicht wie ich die datei passend klein kriege..

Gruß

Pascal
 

Anhänge

  • screenshot.zip
    12,2 KB · Aufrufe: 12
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,
ja Ansätze gibt es einige. Z.B.:
-Bauteil scannen
-STRING auswerten, um zu sehen was für Bauteil
-passende Rezeptur laden
-prüfen
-speichern
-warten auf neuen Scann..
Auswertung kann in der SPS oder in VB erfolgen, was ist aufwendiger???
Was für SPS?

V.

So in etwa sollte das ganze auch aussehen, das Programm ist soweit auch schon fertig, wir verwenden warscheinlich eine S7 300 die wir dann über mpi an den panelpc anschließen wollen. Um die Kosten für eine CP zu sparen wollten wir das ganze in das Tastaturkabel einschleifen und über Protool aufnehmen --> und dann in der SPS verarbeiten
 
Ansatz ok..

Hi,
ja, klingt gut. Nur:
Stringverarbeitung ist halt in Step7 ein wenig blöd, es sei denn man verwendet SCL und entspr. Bibliotheken, z.B. Oscat.
Aber auch so geht es, ich nehme an, das z.B. die Produktsorte immer an der selben Stelle im gescannten String steht(wegen umwandeln und vergleichen).

V.
 
... ähnlich wie der Vorschlag von Vladi würde ich, da du den Barcode ja sinnvollerweise über die Visu einscannst, die Auswertung desselben auch dort machen und entsprechend die Betriebs-Parameter anwählen (vielleicht auch von HD laden) und an die Steuerung weitergeben. Ein andere Alternative wäre, ein Bit für das Betriebs-Programm zu setzen und die Parameter-Auswahl in der Steuerung machen. Das erste wäre aber vom Handling her einfacher und auch schöner ...;)

Ein bißchen VB-Script-Wissen musst du dir da natürlich aneignen, aber das ist eigentlich kein Problem und hier im Forum gibt es (auch zu dem Thema) auch Hilfe und Beispiele.

Gruß
LL

Ach ja, String-Verarbeitung ist natürlich mit VB-Script auch sehr viel einfacher als in Step7 ...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja ich merk schon, ich werde da wohl nicht drumherum kommen mich mal mit dem thema vb-script zu beschäftigen :)

Wenn ich mich hier mal so umgucke frage ich mich auch mal wieder wieso man in der Technikerausbildung wieder alles macht, nur nicht das was man später gebrauchen kann. Visual Basic scheint in der Beziehung ja unabdingbar zu sein, daher frage ich mich wieso genau das nicht behandelt wird :twisted:

Muss mich jetzt halt mal damit beschäftigen, by the way: hat das irgendwas zu sagen das dem Beitrag von Volker "wince" steht? bei uns wird wohl xp laufen..
 
Scripts

Hi,
ja, da hast du Recht mit der Technikerausbildung.
Heute ist es schwierig ohne ein wenig C++, VB (Script), Netzwerkwissen
und PC Basics überhaupt.

WinCE sind die embedded Systeme, z.B. auf Touchpanels(TP170 o.ä.).

Gruss: V.
 
Zuletzt bearbeitet:
... und als Ergänzung zu dem, was Vladi schon geschrieben hat :
SCL innerhalb der SPS ...

Vielleicht noch eine Anmerkung: Die VB-Script-Geschichte ist auch keine vertane Zeit, denn falls du irgendwann auf WinCC-Flex umsteigst, dann kannst du das allermeißte dort auch wieder einsetzen ...

Gruß
LL
 
Zuviel Werbung?
-> Hier kostenlos registrieren
so, hab mal versucht mich ein wenig schlau zu machen!

-Ich brauche also Vb-Script, das scheint ja wohl ein ableger von vb zu sein, aber wie ist das jetzt zu verstehen? Unterscheiden die sich in der Syntax oder ist es ein und das selbe? Sonst würd es ja Sinn machen das ich mir nen Buch für vb ausleihe..
-oder das ganze in C versuche, da kenne ich mich etwas besser aus

-Wie wird so eine Verarbeitung im allgemeinen angestoßen? So wie es aussieht läuft das Script ja völlig extern von protool, d.h. die Schnittstelle beim Lesen, sowie beim Schreiben scheint ja eine Datei im .csv Format zu sein..
Gibt es da eine Möglichkeit für einen Datenaustausch (zwischen protool und vbs) oder wird das über eine statische Zeit "ständig" aufgerufen? dann könnte man es ja irgendwie absichern, so daß es nur aktiv wird wenn sich die werte verändert haben oder so ähnlich..

-das problem mit protool bleibt dann natürlich erstmal bestehen (das ich den String nicht eingelesen bekomme)
 
Zuletzt bearbeitet:
Vb

Hi,
also es sieht so aus:
VB ist eine Programmierumgebung, man muss sie kaufen und installieren.
VB Script ist in Windows integriert, im Hintergrund läuft der Scripting Host als sozusagen Compiler, und wenn man eine Datei in Windows anklickt, die
die Endung .vbs hat(Textdatei), so wird die ausgeführt. Und wenn in der Datei VBS Befehle mit der richtigen Syntax stehen, dann läuft was.
Und die VBS Geschichte unterstützt auch Protool, und WinCC...
Die csv Datei ist keine "Schnittstelle", da wird einfach reingeschrieben.
Kann auch eine andere Datei sein.
Die VBS "Befehle"(es sind Funktionen) führt Windows aus.
Also bei dem passenden Ereignis führt Protool dein Script aus, da werden die Daten ausgewählt usw., und fertig. Und wenn die SPS sagt:ready(Bit), dann speicherst du die Sachen mit einem zweiten Script. Irgendwie so.
"das problem mit protool bleibt dann natürlich erstmal bestehen (das ich den String nicht eingelesen bekomme)"
Verstehe ich nicht ganz genau.

Vladi
 
Hi,

Also bei dem passenden Ereignis führt Protool dein Script aus, da werden die Daten ausgewählt usw., und fertig. Und wenn die SPS sagt:ready(Bit), dann speicherst du die Sachen mit einem zweiten Script. Irgendwie so.

Vladi

Und ich dachte das geht nicht, deswegen meine Frage mit der "Schnittstelle" dachte das Script wäre über protool nicht steuerbar --> daher hab ich gedacht dass das script praktisch die ganze zeit durchläuft und in die datei reinschreibt und protool holt sich dann quasi die datei ab (also das die beiden quasi keine Connection untereinander haben)

Dann muss ich mal sehen wie ich das hinkriege, hab schon meine erste Datei geschrieben :cool:
 
Zurück
Oben