[Da...] Posted July 13, 2022 Share Posted July 13, 2022 Hallo. Wir haben bei uns mehr als 10 Messmaschinen stehen. Nun habe ich endlich eine PCM-Lizenz für meine Offlinestation bekommen und habe mich daran versucht, ein Programm zu schreiben, dass eine .para Datei einliest und somit die Variablen für den gesamten Programmaufbau bereitstellt. Die .para Datei enthält also alle Protokollkopfdaten, Zeichnungsmaße mit Toleranzen und Namen und setzt diese dann in den entsprechenden Mess- und Prüfelementen ein. Für die Zukunft müsste man also nur die .para Datei austauschen und das ganze Programm wäre aktualisiert. Nun funktioniert das an meiner Offlinestation alles wie es soll. Leider nicht an allen anderen Maschinen ohne PCM. Ich dachte immer, dass man die Programme nur nicht mehr ändern kann ohne PCM. Dass sie gar nicht mehr starten war mir so nicht bewusst. Gibt es irgend einen Weg die Variablen ins Programm zu bekommen über eine externe Datei? Wenn ich den Codeschnipsel, der jetzt in der .para Datei liegt in den PCM Code schreibe geht es. Sobald ich es als externe Datei versuche, meckert die fehlende Lizenz. Habe auch schon die inspection_start.bat/_pcm.txt versucht. Nichts davon führt irgendwie zum Ziel. Vielleicht hat jemand eine Idee. Ich möchte gern mehr mit PCM machen, unsere Firma wird mir aber keine 10+ Lizenzen kaufen... Calypso 7.2/7.4 Link to comment Share on other sites More sharing options...
[Is...] Posted July 13, 2022 Share Posted July 13, 2022 ::: Link to comment Share on other sites More sharing options...
[Se...] Posted July 13, 2022 Share Posted July 13, 2022 Hallo Daniel, Ich hatte vor einigen Monaten genau das gleiche Problem. Ich habe viel Zeit damit verbracht, eine Lösung zu finden, die für mich funktioniert: Statt einer .para-Datei erstelle ich eine Liste mit einer .txt-Datei. mit addToFile() kannst Du Elemente hinzufügen und mit readListFile() kannst Du die Liste einlesen. Ich setze erst die Liste in einer Variable Dann setze ich aus der Liste das gewünschte Element (mit der Variable Indiz) in einer neuer Variable (hier Nummer): Liste=readListFile("C:\Users\Public\Documents\Zeiss\Temp\"+"Teilenummern.txt") Nummer=getParameterNamed(Liste,Indiz) Und diese Befehle funktionieren unabhängig von der PCM-Lizenz. 😃 Link to comment Share on other sites More sharing options...
[Da...] Posted July 13, 2022 Author Share Posted July 13, 2022 Super vielen lieben Dank. Ich werde beide Varianten mal ausprobieren. 😃 Link to comment Share on other sites More sharing options...
[Da...] Posted July 13, 2022 Author Share Posted July 13, 2022 Ok. Variante 1 war der besser Ansatz für meine Bedürfnisse. Habe den Code folgendermaßen abgeändert, damit man Zahlen und Text trennen kann: clearParameter() path=getActualInspectionDir() data=readListFile(path+"\param.para") for i=1 to len(data) string=getParameterNamed(data,i) var=strElement(1,"=",string) if inStr(var,"ZAHLKENNUNG1") <> 0 or inStr(var,"ZAHLKENNUNG2") <> 0 or inStr(var,"ZAHLKENNUNG3") <> 0 then value=val(subStr(string,inStr(string,"=")+1,len(string))) else value=subStr(string,inStr(string,"=")+1,len(string)) endif setParameterNamed(var,value.trimExteriorDoubleQuotes) next i Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in