Willkommen, Gast    Noch kein Mitglied? KOSTENLOS ANMELDEN
Suche

HEIDENHAIN NewsRoom - Forum

Programmlauf vs. Simulation mit SYS READ auslesen?

Zurück    Antworten Neues Thema
 
 
Beitrag 21.02.2012, 19:22 Uhr
 
 
blubberdiblub
Level 1 = CNC-Arena-Lehrling
*
  Gruppe: CNC-Arena-Mitglied
Mitglied seit: 16.06.2009
Beiträge: 10
Kann ich mittels FN 18: SYS READ auslesen, ob sich das Programm im normalen Programmlauf oder in der Simulation befindet? Und falls ja, wie, bzw. mit welchen Nummern? Falls nein, wie kann ich anders innerhalb des Programms feststellen, ob es eine echte Abarbeitung oder eine Simulation ist?

(verwendete Steuerung ist eine iTNC530, falls das ausschlaggebend sein sollte)

Der Grund warum ich das brauche ist, dass ich für Fräsläufe Daten in eine Textdatei mittels FN 16: F-PRINT protokolliere. Leider wird diese Funktion aber auch ausgeführt, wenn ich das Programm nur simuliere, was mein Protokoll unnötig mit unsinnigen Einträgen zumüllt (da sie ja keiner tatsächlichen Operation entsprechen, sondern nur ne Simulation stattfindet). Das Ziel ist nun, innerhalb des Programms festzustellen ob es ein echter Programmlauf oder eine Simulation ist, und im letzteren Fall die Ausgabe kurzerhand zu überspringen.
TOP     Richtlinien bestätigt am: -- Antworten   Zitieren  
 
 
 
Beitrag 21.02.2012, 22:11 Uhr
 
 
CNCFanatiker
Level 7 = CNC-Arena-Professor
Gruppensymbol
  Gruppe: AdminCrew
Mitglied seit: 16.12.2001
Beiträge: 4.700
Hallo blubberdiblub,


ja man kann die aktive Betriebsart auslesen...

findet man auch über die Suchfunktion -> > hier <
thumbs-up.gif
TOP     Richtlinien bestätigt am: 28.04.2012 - 11:16 Antworten   Zitieren  
 
 
 
Beitrag 21.02.2012, 22:24 Uhr
 
 
blubberdiblub
Level 1 = CNC-Arena-Lehrling
*
  Gruppe: CNC-Arena-Mitglied
Mitglied seit: 16.06.2009
Beiträge: 10
Ja, wenn man weiß, dass man nach "Betriebsart" suchen muss, dann geht es, danke wink.gif

Dann läuft es wohl leider darauf hinaus, mit SYS READ ID2000 die Merker auszulesen. Das hab ich schon befürchtet, das wollte ich allerdings vermeiden und dachte SYS READ kann es direkt, schade. Allerdings hilft mir natürlich, dass ich die Merkernummern nicht mehr raussuchen muss - vorausgesetzt sie sind fix und damit bei mir die gleichen.
TOP     Richtlinien bestätigt am: -- Antworten   Zitieren  
 
 
 
Beitrag 21.02.2012, 22:56 Uhr
 
 
CNCFanatiker
Level 7 = CNC-Arena-Professor
Gruppensymbol
  Gruppe: AdminCrew
Mitglied seit: 16.12.2001
Beiträge: 4.700
ZITAT(blubberdiblub @ 21.02.2012, 22:24 Uhr) *
...vorausgesetzt sie sind fix und damit bei mir die gleichen....
Gruppen-Nummer [ID], Systemdaten-Nummer [Nr] und Systemdaten-Index [IDX] sind auch bei dir gleich.
Du brauchst nichts raussuchen.... das funktioniert solange dein Softwarestand nicht aus der Steinzeit ist wink.gif
TOP     Richtlinien bestätigt am: 28.04.2012 - 11:16 Antworten   Zitieren  
 
 
 
Beitrag 22.02.2012, 17:27 Uhr
 
 
blubberdiblub
Level 1 = CNC-Arena-Lehrling
*
  Gruppe: CNC-Arena-Mitglied
Mitglied seit: 16.06.2009
Beiträge: 10
ZITAT(CNCFanatiker @ 22.02.2012, 00:56 Uhr) index.php?act=findpost&pid=363637
Gruppen-Nummer [ID], Systemdaten-Nummer [Nr] und Systemdaten-Index [IDX] sind auch bei dir gleich.
Du brauchst nichts raussuchen.... das funktioniert solange dein Softwarestand nicht aus der Steinzeit ist wink.gif


Dass ID, NR und IDX gleich bleiben ist mir bewusst, das ist ja der Sinn von SYSREAD, dass man ein aufwärtskompatibles Interface hat.

Ich redete von den Merkern (und Bytes, Worten, Doppelworten etc.) auf die man über SYSREAD ID2000 zugreift.
Merker sind wesentlich mehr Lowlevel als das SYSREAD-Interface an sich, deswegen sollte man möglichst davon absehen, diese direkt auszulesen, wenn man ein robustes Programm schreiben will, dass aufwärtskompatibel (und eventuell sogar abwärtskompatibel) ist.

Die in dem von Dir verlinkten Artikel über FN18, Betriebsart funktionieren teilweise bei mir auf der iTNC530 auch (nämlich Merker 4150 bis 4158), allerdings nicht der den ich brauche um zwischen Programmlauf und Simulation zu unterscheiden (im Artikel angegeben war Merker 4186). Dieser Merker ist nichtmal in den PLC-Dateien referenziert (die ersteren schon).

Ich hab dann nochmal drüber nachgedacht, und dann ist es mir eingeleuchtet, warum das auf der iTNC530 auf diese Art garnicht funktionieren kann: Ich kann auf dieser Steuerung parallel Programme ablaufen lassen und gleichzeitig testen. So gesehen ist eine bearbeitende Betriebsart (Manuell, Handrad, MDI, Einzelsatzlauf, Programmlauf Satzfolge) und eine editierende Betriebsart (Programm Einspeichern/Editieren oder Programm Testen) immer gleichzeitig aktiv. Und da die Merker einen globalen Maschinenzustand darstellen, ist es über Merker auf der iTNC530 nicht möglich, zwischen Programmlauf und Simulation zu unterscheiden.

Beispiel: Wenn ich auf Programmlauf Satzfolge schalte und das Programm dort ausführe, ist Merker 4154 aktiv. Wenn ich dann auf Programm Testen wechsle und das Programm dort ausführe, ist dort ebenfalls Merker 4154 aktiv, weil im Hintergrund (kann man leicht mit der Bildschirm-Wechseln-Taste überprüfen) immer noch Programmlauf Satzfolge aktiv ist. Ich kann ja auch beides gleichzeitig machen - das Programm als Satzfolge ablaufen lassen und Testen.


Da ich aber nicht so schnell aufgebe, hab ich auf gut Glück ein paar andere IDs bei SYSREAD ausprobiert, deren Erklärung im Handbuch leider unter aller Sau ist, die sich für mich aber vielversprechend anhörten. SYSREAD ID990 NR2 IDX16 ist so ein Kandidat. Nach Ausprobieren ergibt er im Testlauf 1 und im Programmlauf Einzelsatz und Satzfolge 0. Sieht also auf den ersten Blick ganz gut aus. Allerdings weiß ich nicht, was er wirklich bedeutet, und er könnte jederzeit andere Ergebnisse liefern, wenn ich Pech habe. Das Handbuch spricht von "Abarbeitung nicht in Automatik-Betriebsart" für einen Wert von 0 und "Abarbeitung in Automatik-Betriebsart" für 1. Warum gerade Programmlauf keine "Automatik" sein soll und Testlauf "Automatik" sein soll, ist mir schleierhaft.
TOP     Richtlinien bestätigt am: -- Antworten   Zitieren  
 
 
 
Beitrag 22.02.2012, 19:55 Uhr
 
 
CNCFanatiker
Level 7 = CNC-Arena-Professor
Gruppensymbol
  Gruppe: AdminCrew
Mitglied seit: 16.12.2001
Beiträge: 4.700
@ blubberdiblub

Ah jetzt weiß ich wo du hin möchtest... die letzte genannte Variante mit ID990 funktioniert im Übrigen... hab das in der Vergangenheit auch schon eingesetzt z.B. für eine betriebsartabhängige Änderung der BLK-Form z.B. beim Simulieren von Rundteilen wird dann im Programmtest die eckige BLK-Form rundgefräst... wäre im Programmlauf nicht so berauschend... wink.gif
Was ID990 angeht... wie kommst du da bitte aufs Handbuch?... ich weiß woher ich es weiß und das ist nicht das Handbuch... wink.gif - Wo hast du die Info her?
TOP     Richtlinien bestätigt am: 28.04.2012 - 11:16 Antworten   Zitieren  
 
 
 
Beitrag 22.02.2012, 22:02 Uhr
 
 
blubberdiblub
Level 1 = CNC-Arena-Lehrling
*
  Gruppe: CNC-Arena-Mitglied
Mitglied seit: 16.06.2009
Beiträge: 10
Das ist ein PDF über FN18, das ein Auszug aus dem "HEIDENHAIN Technisches Handbuch iTNC 530" ist. Wenn ich mich recht erinnere hat das mal vor ganz langer Zeit hier jemand im Forum gepostet.
TOP     Richtlinien bestätigt am: -- Antworten   Zitieren  
 
 
 
Beitrag 22.02.2012, 22:26 Uhr
 
 
CNCFanatiker
Level 7 = CNC-Arena-Professor
Gruppensymbol
  Gruppe: AdminCrew
Mitglied seit: 16.12.2001
Beiträge: 4.700
ZITAT(blubberdiblub @ 22.02.2012, 22:02 Uhr) *
Das ist ein PDF über FN18, das ein Auszug aus dem "HEIDENHAIN Technisches Handbuch iTNC 530" ist. Wenn ich mich recht erinnere hat das mal vor ganz langer Zeit hier jemand im Forum gepostet.
ah ja... kann mich entsinnen, - die PDF hatte hier eigentlich nichts verloren, da sie Teil von originalen Unterlagen ist die nicht ohne weiteres weitergegeben werden dürfen bzw. welche man in der Regel erhält wann man bei HEIDENHAIN entsprechende Kurse belegt hat und das zugehörige Hintergrundwissen besitzt.
Aber besagte ID990 wurde auch schon vor einiger Zeit einzeln in einem anderen Thema hier im HEIDENHAIN-Forum genannt und erklärt. - Im Grunde hättest du es also schon über die Suchfunktion klären können wink.gif
TOP     Richtlinien bestätigt am: 28.04.2012 - 11:16 Antworten   Zitieren  
 
 
 
Beitrag 22.02.2012, 22:43 Uhr
 
 
blubberdiblub
Level 1 = CNC-Arena-Lehrling
*
  Gruppe: CNC-Arena-Mitglied
Mitglied seit: 16.06.2009
Beiträge: 10
Ja, wenn ich gewusst hätte, dass es ID990 ist, bevor ich ihn im PDF gefunden hatte, hätte ich ihn so finden können, das stimmt wink.gif
Und hinterher bin ich nicht auf die Idee gekommen, nochmal danach zu suchen.
TOP     Richtlinien bestätigt am: -- Antworten   Zitieren  
 
 
 
Beitrag 23.02.2012, 18:04 Uhr
 
 
blubberdiblub
Level 1 = CNC-Arena-Lehrling
*
  Gruppe: CNC-Arena-Mitglied
Mitglied seit: 16.06.2009
Beiträge: 10
Übrigens hab ich heute festgestellt, dass ich bei der Variante die ich zuerst ausprobiert hatte - das mit SYSREAD ID2000 NR10 IDX4186, dass du verlinkt hattest - eine Ziffer falsch hatte und hab es deswegen heute nochmal mit dem richtigen Merker M4186 probiert, und interessanterweise funktioniert das doch! Das bedeutet dann wohl, dass HEROS beim Contextswitch zwischen dem Programmlaufprozess und dem Editier-/Simulierprozess auch diesen Merker immer mit ändert.

Das heißt also es gehen beide Varianten. Dennoch bevorzuge ich jederzeit die SYSREAD-ID990-NR2-IDX16-Variante, weil sie eine Abstraktionsstufe höher ist und einfach richtiger und aufwärtskompatibler, weil unabhängig von den steuerungsinternen Merker-Adressen.
TOP     Richtlinien bestätigt am: -- Antworten   Zitieren  
 
 
          Antworten    Neues Thema

1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: