Jump to content

dfq Datei / K-Feld Belegung anpassen


---
 Share

Recommended Posts

Hallo,

ich wollte mal nachfragen ob jemand weiß ob und wie man ein K-Feld doppelt belegen kann?

Also z.B. mit 2 Datenfeldern aus der userfield.ini. Konkret möchte ich das K-Feld für die Teilenummer mit der Auftragsnummer und der Teilenummer belegt haben.
Also z.B. 123456-001

Habe schon verschiedene Varianten in der qdasconv eingegeben aber es bleibt immer leer. Einzeln kann ich es jederzeit abrufen aber nicht gemeinsam.
Hat vielleicht jemand eine Idee wie das ganze umsetzbar wäre?
Link to comment
Share on other sites

Da fällt mir eigentlich nur PCM bzw. eine Formel ein. Du müsstest für den gewünschten Feldinhalt ein eigenes zusätzliches Feld in userfields anlegen. Dann mittels Formel/PCM die beiden anderen Felder am Beginn des Prüfplans mit zwei getRecordHead() -Befehlen verknüpfen und das Ergebnis mit setRecordHead() in das zusätzliche Feld reinschreiben. Dieses gibst du dann in der qdasconv an.
Link to comment
Share on other sites

Ich habe es bei mir auch nicht geschafft. Eine Doppelbelegung aus zwei verschiedenen userfields-Feldern scheint nicht möglich, geht aber auch am Zweck des K-Felds vorbei.
Vielleicht kannst du es über die Bemerkung machen, das sind K1900 und K2900. Die werden allerdings nicht von jedem Calypso exportiert.
Link to comment
Share on other sites

Jup, wie Norbert schreibt, ist das über PCM möglich.
Wenn du diese Option hast, kann ich dir eine Formel liefern, ohne PCM ist es meines Wissens nicht möglich.
Link to comment
Share on other sites

  • 2 months later...
Habe schon versucht mit getRecordHead und setRecordHead Start Parameter auszulesen, funktioniert auch soweit, jedoch nur einzeln. Aber wie schreibe ich diese dann in ein neues Userfield etc? Komme hier nicht weiter und wäre über Unterstützung sehr dankbar.
Link to comment
Share on other sites

Du musst ein zusätzliches Userfield (ich nenne es hier mal u_kombi) anlegen, welches du in der qdasconv.con abrufst.
Die zwei Userfields, die du zusammenführen möchtest, nenne ich u_field1 und u_field2

Kombi = getRecordHead("u_field1")+"-"+getRecordHead("u_field2")
oder, wenn die Felder numerisch belegt sind:
Kombi = text(getRecordHead("u_field1"))+"-"+text(getRecordHead("u_field2"))
das neue Userfield belegst du dann so:
setRecordHead("u_kombi", Kombi)
oder Alles zusammen in einer Zeile:
setRecordHead("u_kombi", getRecordHead("u_field1")+"-"+getRecordHead("u_field2"))
bzw.
setRecordHead("u_kombi", text(getRecordHead("u_field1"))+"-"+text(getRecordHead("u_field2")))
Link to comment
Share on other sites

Vielen Dank für die Formel, hat funktioniert.

Jetzt habe ich noch eine zusätzliche Frage, gibt es eine Möglichkeit diese Formel übergeordnet für alle Prüfpläne laufen zu lassen.
Würde mir gerne ersparen jeden Prüfplan einzeln zu öffnen und die Formel in die Parameter einfügen zu müssen.
Link to comment
Share on other sites

Please sign in to view this quote.

Gerne.
Jup, du kannst die Formel in eine Datei namens inspection_start_pcm.txt packen und die im globalen Prüfplanverzeichnis speichern, dann greift jeder Prüfplan darauf zu.

Gruß
Jens
Link to comment
Share on other sites

Hallo, noch einmal vielen Dank.

Funktioniert soweit, aber nur wenn ich die inspection_start_pcm.txt direkt in das jeweilige Prüfplanverzeichnis/Ordner stelle.
Jetzt stellt sich die Frage, was meinst du genau mit "globalen Prüfplanverzeichnis"?
Link to comment
Share on other sites

Das globale Prüfplanverzeichnis ist standartmäßig <anwenderverzeichnis>\workarea\inspections
Meines Wissens gilt aber der Pfad, den du unter Extras -> Einstellungen -> Arbeitsumgebung -> Pfade -> Pfad für die Ablage von Prüfplänen eingegeben hast.

Gruß
Jens
Link to comment
Share on other sites

  • 2 years later...
Hallo,

ich hole das Thema nochmal hoch. Wir haben jetzt unsere PCs getauscht wegen Upgrade auf Windows 10 und in diesem Zug auch Calypso auf Calypso 2020 upgedated.
Jetzt habe ich seitdem das Problem das die Funktion so nicht mehr gegeben ist.
Kann mir hier jemand helfen oder weiß jemand etwas dazu.
Es ist alles wie bisher.

Im userfield.ini ist die das u_field definiert.
Im qdasconfig ist manfilename=u_field angegeben.
Im Inspections-Ordner ist die inspections_start_pcm.txt Datei eingefügt.

Was jetzt passiert ist folgendes, an einer Maschine erzeugt er gar keine dfq Datei. An der anderen Maschine erzeugt er eine dfq Datei genau nach gewolltem Schema, nur mit komplett falschem Inhalt des Dateinamens. Konkret falsches Datum, falsche Auftragsnummer und falsche Teilenummer. Der Inhalt der dfq-Datei an sich ist aber dann wie erwartet.
Wenn ich die Datei dann nochmal erzeuge mit fortlaufender Teilenummer, überschreibt er die vorhandene Datei, da er wieder den gleichen Dateinamen erzeugt. Heißt irgendwie ignoriert er komplett bzw. nur halb was ich hier angegeben habe.
Beispiel, Datei soll heißen: 2021-6-24_12345_1
er erzeugt aber folgende: 2021-4-1_45678_23 und diese immer wieder egal was ich mache.

Habe mal versucht im Parameter Fenster das ganze nachzuspielen, was er hier nicht macht ist "setRecordHead". Also er zeigt mir in Verbindung mit setRecordHead nicht das gewünschte Ergebnis an, sondern einfach 0. Wenn ich die einzelnen Paramter über getRecordHead aber einzeln anschaue, kommt jeweils das gewünschte Ergebnis.

Hoffe es ist verständlich was ich meine. Hat vielleicht jemand eine Idee?
Link to comment
Share on other sites

Please sign in to view this quote.

Ganz sicher? Wie habt ihr die Daten vom alten auf den neuen PC übertragen?
Ich kenne es halt aus eigener Erfahrung, daß man manchmal eine Kleinigkeit an ganz anderer Stelle übersehen kann, die man vielleicht schon vor langer Zeit angepasst (und dann vergessen) hat, die aber Einfluss auf solche Dinge hat.
Deshalb die Frage, wie die Daten übertragen wurden. 1:1, d.h.alle relevanten Calypso-Ordner kopiert oder mit der Calypso Backup-Funktion, oder.....?

Please sign in to view this quote.

Das ist m.E. kein Fehler, denn was da angezeigt wird, ist immer der Rückgabewert einer Funktion. Eine get.... Funktion liefert als Ergebnis natürlich den Datenstring, den sie ausgelesen hat. Aber eine set... Funktion meldet nur zurück, ob der Vorgang erfolgreich war, das ist was die "0" aussagt. setRecordHead im speziellen liefert eigentlich immer "0" zurück, selbst wenn du als Protokollkopfvariable eine nicht existente angibst.
Link to comment
Share on other sites

Wir haben die Daten manuell übertragen. Keine Backup Funktion etc. benutzt.

Bin jetzt gerade noch etwas am testen.

Mir ist aufgefallen dass es neben dem normalen Calypso Ordner jetzt auch noch einen Ordner Calypso 6.6 gibt, obwohl diese Version ja nie auf dem PC installiert war. In dem Ordner befindet sich nur der Unterordner Workarea und eben auch der inspections Ordner.

Habe jetzt hier auch nochmal die inspections_start_pcm.txt eingefügt, aber eindeutig ist es immer noch nicht.

Es funktioniert manchmal aber nicht immer.

Hatte den Programmablauf bisher immer simuliert mit vorhandenen alten Ergebnissen, Programme noch unter Calypso 6.6 geschrieben und gelaufen, aber auf dem neuen PC noch nicht gelaufen. (Programme liegen bei uns im Netz nicht auf dem PC)
Dachte zuerst einfaches speichern unter Calypso 7 bringt die Lösung, war es aber nicht. Erst beim zweiten simulieren kommt ein Ergebnis.
Dann habe ich das Programm komplett laufen lassen also neue Messergebnisse erzeugt, aber auch hier erst nach dem zweiten Ablauf wird die dfq Datei erzeugt. Will jetzt noch ein paar Szenarien testen um dem ganzen auf die Spur zu kommen.

Da es aber prinzipiell schon zu funktionieren scheint, liegt es anscheindend nicht an der pcm start und auch nicht an qdasconvig etc. zumindest nicht an dieser Maschine.
An die andere Maschine, mit falschem Datum etc., gehe ich erst wenn ich das Problem hier gelöst habe, wo eben bisher gar keine dfq erzeugt wurde.
Link to comment
Share on other sites

Update:

Wenn ein Programm das erste mal läuft, wird für die Ergebnisdateien ein Ordner erzeugt in dem die Ergebnisse gespeichert werden, getrennt nach PDF und dfq. Dieser Ordner wird über "Namen für Ausgabedatei" erzeugt. Alle folgenden Ergebnisse dieser Type landen dann nachfolgendend immer in diesem Ordner, lediglich unterschieden nach Auftragsnummer.
Beispiel für die Ordnerstruktur: ...\"Programmname"\"Auftragsnummer"\***.dfq

Festgestellt haben wir jetzt, wenn dieser Ordner bei erstem Ablauf unter Calypso 7 noch nicht vorhanden ist, wird dieser zwar erzeugt aber nur bis Programmname. Weder Auftragsnummer als Unterordner und auch nicht die dfq Datei werden erzeugt. Es erscheint aber auch keine Fehlermeldung etc.
Wenn man nachfolgend das Programm ein zweites mal laufen lässt, wird alles korrekt erzeugt. ( ..\Auftragsnummer\*.dfq)

Es macht auch keinen Unterschied ob das Programm unter Calypso 7 oder Calypso 6 geschrieben wurde.
Der Fehler tritt nur bei der Erzeugung der dfq-Datei auf, bei PDF funktioniert es nach gleichem Schema.

Außerdem haben wir festgestellt, dass die inspections_start_pcm.txt aus dem Ordner Calypso 6.6 abgerufen wird und nicht wie eigentlich erwartet aus Calypso 7.
Wenn ich den Ordner Calypso 6.6 komplett lösche, wird er beim Programmstart neu erzeugt, jedoch natürlich ohne meine inspection_start....
Link to comment
Share on other sites

Hallo Julius,
hast du die Pfade in den Einstellungen überprüft, da steht bestimmt irgendwo Calypso 6.6.
Du hast ja geschrieben du hast die Daten Händisch rein kopiert.
Da ist bestimmt ein Eintrag dabei gewesen der den alten Pfad noch hat und da greift er dann darauf zu.
Schau mal unter Extras-Einstellungen-Arbeitsumgebung was da genau drin steht.

Gruß Jörg
Link to comment
Share on other sites

Hallo Jörg, danke für den Hinweis. Tatsächlich wurde in den Pfaden auf Calypso 6.6 verwiesen.
Damit wäre es nur noch ein Problem, dass beim ersten Durchlauf eines Programmes keine dfq Datei erzeugt wird.
Link to comment
Share on other sites

 Share

×
×
  • Create New...