Jump to content

Parameterliste einlesen ohne PCM


---
 Share

Recommended Posts

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

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

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

 Share

×
×
  • Create New...