Jump to content

Problem mit Bedingung


---
 Share

Recommended Posts

Hallo,

ich habe ein erstes PCM Programm erstellt.

Prinzipiell geht es darum dass auf einer Platte Ebenheit und/oder ein Bohrbild gemessen werden soll.

Es wird zuerst über inquireList abgefragt ob sich 1, 2 oder Kein Bohrbild auf der Platte befinden. Dann über confirm ob das Bohrbild gemessen werden soll oder nicht.
Anschließend werden je nach Auswahl über inquireParameterList eine Platte und falls vorhanden die Bohrbilder definiert.

Soweit so gut.

Jetzt habe ich 4 Prüfmerkmale erstellt, Ebenheit mit Bohrbildern, Ebenheit ohne Bohrbilder, Positionsauswertung 1 Bohrbild und Position 2 Bohrbilder.
Diese Prüfmerkmale wollte ich über Bedinungen einschränken, heißt z.B. Ebenheit ohne Bohrbild, z.B. über Formel:

Auswahl == ("Kein Bohrbild")

Ebenheit mit Bohrbild:

Auswahl == ("1 Bohrbild") or ("2 Bohrbilder)

Position mit 1 Bohrbild:

Bohrbild_Messen == true

Leider scheint keine der Bedingungen zu funktionieren. Calypso arbeitet trotzdem alle Prüfmerkmale ab egal was ich beim CNC Start auswähle.

Wenn ich dann nach dem Programmablauf in die Bedingungen reingehe und die Formel "teste" wird mir das gewünschte Ergebnis als true/false etc angezeigt, aber wie geschrieben die Bedingungen werden scheinbar einfach ignoriert.

Hat evtl. jemand eine Idee woran es hängen könnte?
Link to comment
Share on other sites

Die erste Bedingung müsste vom Prinzip her eigentlich funktionieren, ich weiß jetzt aber nicht, ob da Klammern erlaubt sind. Normalerweise sollten sie nicht stören, bringen hier aber auch keinen Vorteil.

Bei der zweiten Bedingung musst du aber auf jeden Fall die Variable nochmal mit anführen, sonst bekommst du nicht das gewünschte Ergebnis:

(Auswahl == "1 Bohrbild") or (Auswahl == "2 Bohrbilder")
Achtung: Bei Vergleichen mit OR, AND usw. sollten immer die ganzen zu vergleichenden Ausdrücke in Klammern gesetzt werden!

So wie du es oben geschrieben hast, würde der String "1 Bohrbild" mit dem String "2 Bohrbilder" OR-verknüpft und das Ergebnis mit Auswahl verglichen. Das willst du bestimmt nicht 🙂

Der Rest müsste im Prinzip auch funktionieren. Kannst du mal eine Screenshot von der/den Bedingungen posten? Vielleicht stimmt da bei den Einstellungen was nicht.

Nachtrag:
Ich habe es gerade mit deiner Bedingung 1 sowie mit der OR-Bedingung ausprobiert und es hat problemlos geklappt. Wenn das bei dir nicht geht, dann muss der Fehler woanders liegen.
Link to comment
Share on other sites

Hallo, danke für die Antwort und den Hinweis.
Habe ich direkt angepasst.

Anbei jetzt mal Screenshots wie sich das ganze bei mir darstellt.
Bei dem 4. Beispiel also Bohrbild_Messen == true and Auswahl == "2 Bohrbilder" scheint irgendwas auch so zumindest nicht zu funktionieren da hier Auswahl schwarz dargestellt wird oder ist das nicht relevant?
Bei den anderen erkenne ich jetzt zumindest keinen Fehler.

4.JPG3.JPG2.JPG1.JPG

Link to comment
Share on other sites

Not sure if i understand completely what your issue is, but if you are using PCM to select a miniplan, you must have a miniplan selected in your start window (see picture). if you have "all characteristics" selected calypso will always run the full program, if you have a miniplan selected (does not matter what one you have selected) then the PCM code for selecting miniplans will be followed.

jhkfgh.JPG

Link to comment
Share on other sites

Es scheint jetzt zu funktionieren. Ich kann aber nicht hundertprozentig sagen woran es wirklich lag.
Trotzdem danke.

@Roberto Flores
Thank you, the program is working now but i don't really know what the issue was.
Definitely not the miniplan thing, because i don't work with miniplans. Thanks anyway.
Link to comment
Share on other sites

Please sign in to view this quote.

Ob das mit der schwarz dargestellten Variable relevant ist, kann ich jetzt gar nicht sagen. Ich hatte jedenfalls Probleme mit der Auswertung einer OR-Bedingung, wenn nicht mindestens einer der beiden Ausdrücke komplett in Klammern gesetzt war.

Also nicht:
Bohrbild_Messen==true and Auswahl == "2 Bohrbilder"

sondern:
(Bohrbild_Messen==true) and (Auswahl == "2 Bohrbilder")

Das kenne ich zwar so nicht von anderen Programmiersprachen, aber PCM scheint damit ab und zu Probleme zu haben.
Link to comment
Share on other sites

 Share

×
×
  • Create New...