Siemens
Siemens

Digital Industries, Motion Control, Machine Tool Systems

Werkzeuganzahl am Revolver, Hilfe bei der Änderung eines Zyklus

Beitrag 05.02.2017, 17:56 Uhr
inaktiv_17
inaktiv_17
Level 3 = Community-Techniker
***
Gruppe: Banned
Mitglied seit: 05.02.2017
Beiträge: 179
Schönen guten Abend,

Ich bin neu hier im Forum, und suche Hilfe bei der Anpassung eines alten Zyklus.
Zur Geschichte:
Unsere alte DMG Drehmaschine mit 2 Revolvern und Gegenspindel hatte nun vor einer Weile ausgedient. Als Ersatz ist eine gebrauchte ungarische Drehmaschine mit fast den selben Ausstattungsmerkmalen gekommen. Nun wollen wir die alten Programme weiterverwenden.

Die alte Maschine verfügte über 2 Revolver a 12 Werkzeugplätzen. Weil diese Maschine mit einem Stangenlader ausgestattet war, aber die Schaltzeit des Revolvers doch recht langsam war, wurde uns von einer nun nicht erreichbaren Firma 2 Zyklen für die Nutzung des Werkstückanschlags geschrieben. Einmal zum normalen Vorschieben, und einmal zum Nachschieben.

Soweit alles kein Problem. Auch die Anpassung an den neuen Stangenlader haben wir hinbekommen.
Da aber der zweite Revolver im 2. Kanal eine andere Werkzeuganzahl ( nur 8 Aufnahmepunkte ) hat, funktioniert der Zyklus nicht mehr.

Jetzt zum eigentlichen Problem. Den Schiebezyklen werden ua der Werkzeugname ( T="ANSCHLAG" ) und die Schneidenkorrekturwerte mit übergeben. Der alte Zyklus fragt nun über eine FOR Schleife ab, ob das Werkzeug vorhanden ist. Da nun an der neuen Maschine zwei unterschiedliche Revolver verbaut sind, haben wir folgendes Problem:
Wenn ich den Zählparameter auf 8 Setze kann ich am Revolver 1 ( 10 Plätze ) nicht alle Werkzeugplätze abfragen.

FOR PLATZ = 1 TO 8 <- Hier

Anderen Wir nun diese Zahl auf 10 ab, gibts es Motze von der Maschine, wenn der Revolver 2 abgefragt wird.

Da nun die alten Programme z.T. abwechselnd die Revolver 1 und 2 für das Vor- und Nachschieben verwenden, wäre es sehr umständlich diese Zyklen kanalspezifisch abzulegen, und alle Programme zu ändern.
Zur Zeit behelfen wir uns damit, dass der Revolver 1 auch nur mit 8 Werrkzeugen an festgelegten Positionen bestückt wird.

Zu meiner Frage selber, gibt es einen Maschinenparameter der mir unabhängig vom welchem Kanal der Zyklus ausgerufen wird angibt, wieviel Plätze auf dem jeweils zugeordneten Revolver exsitieren. So das ich diese 8 oder 10 in der Zählschleife durch einen Maschinenparameter ersetzen könnte.

Ich bedanke mich im voraus für eure Antworten und wünsche noch einen schönen Sonntag

R.HEIM
   
Beitrag 05.02.2017, 18:08 Uhr
Guest_guest_*
Themenstarter
Gast


Hallo Simtra95
Die Revolver kann man natürlich auch einzeln und mit einer anderen Zählvariable abfragen.
Die Frage ist halt, wie es der Programmierer der nicht erreichbaren Firma programmiert hat, und welcher Aufwand nötig ist, um das zu ändern?
Welche Parameter abfragbar sein könnten, hängt auch ein bisschen von der Steuerungsvariante, dem Softwarestand und ob Werkzeugverwaltung oder nicht, ab.

Der Beitrag wurde von guest bearbeitet: 05.02.2017, 18:12 Uhr
   
Beitrag 05.02.2017, 18:17 Uhr
inaktiv_17
inaktiv_17
Level 3 = Community-Techniker
***
Gruppe: Banned
Mitglied seit: 05.02.2017
Beiträge: 179
Guten Abend guest,

Danke für die schnelle Rückmeldung.

Welche Informationen benötigst du ?
Ich bin mir unsicher ob ich hier alles, oder Teile des Zyklencodes hier veröffentlichen darf. Der Zyklus enthält eine Kommentarzeile mit einem © und der Angabe des Programmierers ( Name und Datum ).

Schönen Sonntag Abend noch

R.HEIM
   
Beitrag 05.02.2017, 18:56 Uhr
Andy742000
Andy742000
Level 7 = Community-Professor
*******
Gruppe: Banned
Mitglied seit: 15.09.2012
Beiträge: 3.725
hi

ich denke mal, dass ein © keine Bedeutung mehr hat, wenn der Programmierer nicht mehr als Supporter erreichbar ist.
Programmteile für div. Abläufe kannst du durchaus hier posten. Du verrätst ja schließlich nicht das komplette "Betriebsgeheimnis" wink.gif

Muss sagen, wenn ich deinen Text richtig verstehe, hat sich damals einer richtig Mühe gegeben.


--------------------
MfG
Andy

-------------------------------------------------------------------------------------------------------------------------


4 BIT NC, Kugelschrittschaltwerk
Numerik 600 + Lochstreifen
und nun nicht weiter gekommen als bis zur Sinumerik ;-)

PS : Ich hasse R- Parameter ! Aus Rxxx wird unter Beachtung der Mond-Parabel und der "ERDschen" Glockenkurve nach der Division mit PI/8 + Werkhallenhöhe ein neuer sinnvoller Parameter Rxxx

Impressum: Wer Rechtschreib- oder Grammatikfehler findet darf sie behalten, sind kostenlose Beigaben des Autors
   
Beitrag 05.02.2017, 18:57 Uhr
Guest_guest_*
Themenstarter
Gast


QUOTE (Simtra95 @ 05.02.2017, 18:17 Uhr) *
Guten Abend guest,

Danke für die schnelle Rückmeldung.

Welche Informationen benötigst du ?
Ich bin mir unsicher ob ich hier alles, oder Teile des Zyklencodes hier veröffentlichen darf. Der Zyklus enthält eine Kommentarzeile mit einem © und der Angabe des Programmierers ( Name und Datum ).

Schönen Sonntag Abend noch

R.HEIM

Naja, veröffentlichen würde ich ein fremdes Programm auch nicht.
Du kannst es aber jemandem zur Überarbeitung und Anpassung senden. Dann wird es ja nicht kopiert. wink.gif
   
Beitrag 05.02.2017, 19:17 Uhr
inaktiv_17
inaktiv_17
Level 3 = Community-Techniker
***
Gruppe: Banned
Mitglied seit: 05.02.2017
Beiträge: 179
Guten Abend nochmal

Wie gesagt, der Zyklus enthält in der PROC Zeile auch eine STRING Variable WZNAME. Dieser wird mit einer Reihe von $TC_TPxxx Variablen innerhalb dieser Schleife abgeglichen, ob das Werkzeug vorhanden ist. Leider kenne ich mich damit überhaupt nicht aus.
Wird das Werkzeug gefunden, ändert sich eine Wert in einer Variable mit der Definition "BOOL"
Diese Varable die nach der PROC Zeile definiert wurde mit

DEF BOOL ISTWERK = FALSE

wird auf auf TRUE gesetzt.
In der Folge fragt dann ein IF ob ISTWERK NOT ist !

IF NOT ISTWERK GOTOF ....

Aber hier hapert es schon bei mir !
Ist das ausreichend ? Oder müsste ich hier mehr CODE Anteile angeben ?

Schönen Abend

R.HEIM
   
Beitrag 05.02.2017, 19:18 Uhr
Guest_guest_*
Themenstarter
Gast


QUOTE
Welche Informationen benötigst du ?

Also eigentlich genau das, was ich schon im ersten Post wissen wollte. wink.gif
QUOTE
Welche Parameter abfragbar sein könnten, hängt auch ein bisschen von der Steuerungsvariante, dem Softwarestand und ob Werkzeugverwaltung oder nicht, ab.

Von einer 840 gehe ich mal stark aus. C oder D?
Wenn 840C:
GA-Version ?
Wenn 840D:
HMI-Version ?
Und wenn 840D pl:
Werkzeugverwaltung oder Werkzeugliste? (Die Werkzeugverwaltung hat so schöne bunte Bildchen) wink.gif
   
Beitrag 05.02.2017, 19:40 Uhr
inaktiv_17
inaktiv_17
Level 3 = Community-Techniker
***
Gruppe: Banned
Mitglied seit: 05.02.2017
Beiträge: 179
Guten Abend guest

Die Werkzeugverwaltung ist ohne schöne Bildchen, wie du es nennst.
Wie soll ich das jetzt beschreiben ?
Wenn ich die Werkzeugliste aufrufe habe ich eine komplette Liste aller Werkzeuge die in der Maschine sind. Die oberen 10 Werkzeuge stecken im Revolver 1 und die unteren 8 Werkzeuge stecken im Revolver 2.
Leider kann ich jetzt kein Bild posten.
So ich gebe jetzt mal einen Teil des CNC Codes preiss.

PROC LADEN( xxxxxxx , STRING[32] WZNAME, INT SCHNEIDE, xxxx )
DEF BOOL ISTWERK = FALSE
.....
.....
FOR PLATZ = 1 TO 10 oder 8 <- das will ich ändern
IF $TC_TPxxxx[ und das verstehe ich nicht ] == WZNAME
ISTWERK = TRUE
ENDFOR
...
Jetzt kommt nochmal so eine TEIL mit $TC_TP[xxx]
Hier wird jetzt abgefragt, ob der Schneidenkorrekturwert vorhanden ist
....
IF NOT ISTWERK GOTOF FEHLER
hier kommt jetzt die Ausführung
GOTOF ENDE
FEHLER:
Fehlerbehandlung
ENDE:
M17

Ich hoffe das reicht, ohne dass ich jetzt zu viele Geheimnisse preisgegeben habe.
Ich kann den Zyklus sowohl im ersten wie auch zweiten Kanal aufrufen.

Ich bedanke mich erst einmal für die zahlreichen Antworten.
Wünsche noch einen schönen Abend

R:HEIM
   
Beitrag 05.02.2017, 20:29 Uhr
Guest_guest_*
Themenstarter
Gast


Wenn die Werkzeuge über den Namen aufgerufen werden, können wir schon mal von einer aktiven Werkzeugverwaltung ausgehen. smile.gif
Wenn allerdings die Werkzeuge der Magazine fortlaufend untereinander aufgelistet sind, würde ich eventuell auf eine powerline tippen. Vielleicht hat aber auch der Hersteller nur eine eigene Liste gebastelt?
Normalerweise lassen sich die Werkzeuge je Magazin/Revolver leicht an der Magazinnummer und dem Revolverplatz erkennen.
Aber ohne Glaskugel ist das nicht annäherungsweise in Erfahrung zu bringen. Da müßte man schon an der Steuerung nachsehen.
Taste: "ALARM"
VSK"VERSION"
BASE-Version?

Mit dem Frage-keine Antwort-Spiel könnten wir bestimmt noch mehrere Wochen zubringen ... wacko.gif ohne zu einem Ergebnis zu kommen.
Da hab ich aber nicht wirklich Bock drauf! wink.gif
   
Beitrag 06.02.2017, 10:25 Uhr
Andy742000
Andy742000
Level 7 = Community-Professor
*******
Gruppe: Banned
Mitglied seit: 15.09.2012
Beiträge: 3.725
Hallo

Versuche es mal damit

In den DEF Zeilen fügst du folgendes ein
CODE

DEF INT _PLNR


Vor der ersten FOR Schleife die die Werkzeuge abfragt folgendes

CODE
IF $P_CHANNO == 1; Abfrage der aktuellen Kanalnummer
_PLNR = 10; Platzanzahl Kanal / Revolver 1
ELSE
_PLNR = 8; Platzanzahl Kanal / Revolver 2
ENDIF


In der FOR Schleife selber
CODE
FOR PLATZ = 1 TO _PLNR


damit sollte der Zyklus abhängig davon in welchem Kanal er aufgerufen wird, die richtig Platzanzahl der Revolver verwenden.

Max Erfolge


--------------------
MfG
Andy

-------------------------------------------------------------------------------------------------------------------------


4 BIT NC, Kugelschrittschaltwerk
Numerik 600 + Lochstreifen
und nun nicht weiter gekommen als bis zur Sinumerik ;-)

PS : Ich hasse R- Parameter ! Aus Rxxx wird unter Beachtung der Mond-Parabel und der "ERDschen" Glockenkurve nach der Division mit PI/8 + Werkhallenhöhe ein neuer sinnvoller Parameter Rxxx

Impressum: Wer Rechtschreib- oder Grammatikfehler findet darf sie behalten, sind kostenlose Beigaben des Autors
   
Beitrag 06.02.2017, 13:23 Uhr
inaktiv_17
inaktiv_17
Level 3 = Community-Techniker
***
Gruppe: Banned
Mitglied seit: 05.02.2017
Beiträge: 179
Guten Tag !

Danke für die Antwort.
Ich melde mich sobald ich das umgesetzt und getestet habe.

Schönen Tag noch

R.HEIM
   
Beitrag 07.02.2017, 09:53 Uhr
inaktiv_17
inaktiv_17
Level 3 = Community-Techniker
***
Gruppe: Banned
Mitglied seit: 05.02.2017
Beiträge: 179
Guten Tag,

Ich will hier mal den ersten Teilerfolg melden. DANKE ANDY !
Im Programm zum normalen Vorschieben, ( Anschlag positionieren, Futter auf, Stange bis Anschlag schieben, Futter zu, Anschlag weg ) funktioniert die von Dir angegeben Lösung mit beiden Revolvern einwandfrei, auch maßlich !
Bei dem zweiten Zyklus gibt es allerdings noch ein maßliches Problem. ( Anschlag vor das Werkstück, Futter auf , Anschlag fährt weg, und die Stange läuft mit bis der Anschlag stoppt, Futter schließen und dann Anschlag weg ) habe ich nun einen Versatz von knapp 4 mm in der Nachschublänge zwischen Revolver 1 und Revolver 2. Maßlich korrekt ist die Ausführung mit Revolver 1. Hier muss ich nochmal schauen woher der Fehler nun kommt. Ja der Fehler tritt erst seit dem Eintrag dieses Zusatzes auf.

Schönen Tag noch

R.HEIM
   
Beitrag 07.02.2017, 10:55 Uhr
Guest_guest_*
Themenstarter
Gast


Mal eine logische Frage.
Warum läßt du beim zweiten Auszug, die Stange gegen einen anderen Anschlag im anderen Kanal schieben?
Du hast doch eine Gegenspindel. Damit kannst du doch gezielt und sehr genau die Stange ausziehen. Der Gegenspindelzyklus bietet doch alle Funktionen dafür.
   
Beitrag 07.02.2017, 11:14 Uhr
inaktiv_17
inaktiv_17
Level 3 = Community-Techniker
***
Gruppe: Banned
Mitglied seit: 05.02.2017
Beiträge: 179
Guten Tag guest

Das hat unterschiedliche Gründe. So hatte ich bereits in meinem ersten Post geschrieben, dass wir alle alten Programme ohne große Änderungen ( eigentlich keine ) weiter verwenden wollen. ( ca 300-400 Programme dürften hier schon angefallen sein )
Zudem haben wir Werkstücke, die nachgeschoben werden müssen, weil ua. der andere Revolver dann eine mitlaufende Zentrierspitze aufnimmt.
Zum Verständnis. Wir können mit dem Zyklus auch mit der Zentriespitze im Revolver nachschieben. Das ist bei einigen Werkstücken unerlässlich. Bevor es mit der Gegenspindel gegriffen und abgestochen werden kann. Wenn wir gleich mit der Gegenspindel greifen, würden wir zT Bearbeitungen aus dem ersten Vorschub beschädigen, es würde mit dem Futterdurchmessern nicht mehr passen, oder wir müssten mehrere Male mit der GS nachgreifen, bis wir die richtige Ausspannlänge für die GS Bearbeitung haben.

Das alles zu ändern, wäre sehr aufwendig, und würde die Programmlaufzeit meines erachtens auch verlängern.

So Leute ich muss, Mittag essen und dann ruft schon wieder die Arbeit.
Wenn ich das Problem lösen konnte melde ich mich auf jeden Fall noch einmal.
Wünsche einen Schönen Arbeitstag

R.HEIM
   
Beitrag 07.02.2017, 13:04 Uhr
Guest_guest_*
Themenstarter
Gast


QUOTE (Simtra95 @ 07.02.2017, 09:53 Uhr) *
...
Bei dem zweiten Zyklus gibt es allerdings noch ein maßliches Problem. ( Anschlag vor das Werkstück, Futter auf , Anschlag fährt weg, und die Stange läuft mit bis der Anschlag stoppt, Futter schließen und dann Anschlag weg ) habe ich nun einen Versatz von knapp 4 mm in der Nachschublänge zwischen Revolver 1 und Revolver 2. Maßlich korrekt ist die Ausführung mit Revolver 1. Hier muss ich nochmal schauen woher der Fehler nun kommt. Ja der Fehler tritt erst seit dem Eintrag dieses Zusatzes auf.

Schönen Tag noch

R.HEIM

Könnte es sich bei den "knapp 4mm" um die Tiefe handeln, die die Spitze in die Zentrierung eindringt?

Der Beitrag wurde von guest bearbeitet: 07.02.2017, 13:06 Uhr
   
Beitrag 07.02.2017, 22:20 Uhr
inaktiv_17
inaktiv_17
Level 3 = Community-Techniker
***
Gruppe: Banned
Mitglied seit: 05.02.2017
Beiträge: 179
QUOTE (guest @ 07.02.2017, 13:04 Uhr) *
Könnte es sich bei den "knapp 4mm" um die Tiefe handeln, die die Spitze in die Zentrierung eindringt?

Schönen guten Abend guest

Deiner Annahme kann ich so nicht zustimmen.
Ich hatte schon geschrieben, dass der Fehler erst seit dem Eintrag von ANDY im zweiten Zyklus erfolgt.
Wenn ich die Zeile

FOR PLATZ = 1 TO _PLNR

wieder in

FOR PLATZ = 1 TO 8

ändere passiert dieser Fehler nicht.
Zur Zeit suchen wir nach einer Lösung. Die Maschine bleibt erst einmal 8 zu 8 bestückt. Das heißt, wir kommen zZ noch mit der beschränkten Nutzung der Platzanzahl der Revolver klar.
Vorteil ist aber immerhin schon, dass wir schon im Ladebetrieb im einfachen vorschieben wieder voll nutzen können.

Zudem hat der Nachschiebzyklus wie auch der einfach Vorschiebezyklus dien Vorteil, dass neben dem Werkzeugplatz oder Name zusätzlich auch der Korrekturwert angegeben werden kann. Unsere Spitzen in den Revolvern werden immer mit 2 Korrektur ( D- Werten ) beschrieben. Wenn wir also eine Spitze nutzen wollen rufen wir das mit dem Werkzeugnamen und dem zweiten Werkzeugkorrekturwert auf. Zudem habe ich heute in der Pause herum probieren können mit dem Nachschiebe- Zyklus.
Wenn ich das Werkzeug T="Anschlag" und D1 aufruf auf Revolver 2 kann ich normales Vorschieben machen. Das entspricht dem ersten Zyklus "LADEN". hier funktioniert alles einwandfrei ! Nutze ich nun hingehend "NLADEN" habe ich unabhängig der Nutzung ob Anschlag oder Zentrierspitze den Fehler.

Ich habe diesen Fehler noch nicht ergründen können.

Ich wünsche einen schönen guten Abend

R.HEIM
   
Beitrag 09.02.2017, 16:22 Uhr
inaktiv_17
inaktiv_17
Level 3 = Community-Techniker
***
Gruppe: Banned
Mitglied seit: 05.02.2017
Beiträge: 179
Guten Tag,

wollte nur kurzen Zwischenbereicht geben, 15 min Arbeit und der Fehler war behoben. Genaueres heute nach der Schicht.
Schönen Tag noch

R.HEIM
   
Beitrag 10.02.2017, 17:26 Uhr
Guest_guest_*
Themenstarter
Gast


QUOTE (Simtra95 @ 09.02.2017, 16:22 Uhr) *
Guten Tag,

wollte nur kurzen Zwischenbereicht geben, 15 min Arbeit und der Fehler war behoben. Genaueres heute nach der Schicht.
Schönen Tag noch

R.HEIM

Wo war denn das Fehlerchen? wink.gif
   
Beitrag 10.02.2017, 19:26 Uhr
inaktiv_17
inaktiv_17
Level 3 = Community-Techniker
***
Gruppe: Banned
Mitglied seit: 05.02.2017
Beiträge: 179
QUOTE (guest @ 10.02.2017, 17:26 Uhr) *
Wo war denn das Fehlerchen? wink.gif

Guten Abend guest,

der Fehler lag an mir, bzw uns. Wir haben eine Schleife die zur Berechnung der Schneidenradiuskorrektur für die Vorpositionierung die ebendfalls bis 12 zählte ( 12 mögliche D - Werte ) auch mit auf diese neue Variable gesetzt. Das wurde komplett umgestalltet, so dass anhand des Werkzeugsbezeichners abgefragt wird, wieviele Schneiden an dem Werkzeug definiert sind. Ebenso wurde noch eine Fehler festgestellt und behoben. Bislang war es wirklich möglich, wenn auch unwahrscheinlich, dass beide Anschläge oder Spitzen zeitgleich Richtung Werkstück fahren. Es bestand wirklich Kollisionsgefahr.

Schönen Abend noch

R.HEIM
   
Beitrag 10.02.2017, 20:37 Uhr
Guest_guest_*
Themenstarter
Gast


QUOTE (Simtra95 @ 10.02.2017, 19:26 Uhr) *
Guten Abend guest,

der Fehler lag an mir, bzw uns. Wir haben eine Schleife die zur Berechnung der Schneidenradiuskorrektur für die Vorpositionierung die ebendfalls bis 12 zählte ( 12 mögliche D - Werte ) auch mit auf diese neue Variable gesetzt. Das wurde komplett umgestalltet, so dass anhand des Werkzeugsbezeichners abgefragt wird, wieviele Schneiden an dem Werkzeug definiert sind. Ebenso wurde noch eine Fehler festgestellt und behoben. Bislang war es wirklich möglich, wenn auch unwahrscheinlich, dass beide Anschläge oder Spitzen zeitgleich Richtung Werkstück fahren. Es bestand wirklich Kollisionsgefahr.

Schönen Abend noch

R.HEIM

Mich hat halt etwas irritiert, daß bei einer Abfrage aus Kanal 1 auch die Werkzeuge des 2. Kanals bzw. des 2.Revolvers abgefragt werden sollen, mit denen der 1. Kanal ja eigentlich gar nicht arbeiten kann?!
Der einfache Aufruf des Werkzeugs bringt doch schon eine Fehlermeldung, wenn das Werkzeug nicht im Magazin/Revolver geladen ist.
Um sicherzustellen daß alle Werkzeuge für das Programm verfügbar sind, kamen schon vor Jahrzehnten Leute darauf, einen Rüstplan oder Einrichtplan anzulegen, den der Einrichter nur Schritt für Schritt abarbeiten muß, wie ein Pilot eine Checkliste vor dem lift-off.
Das gehört doch eigentlich zum Job. wink.gif Oder nicht?
Bei 18 Werkzeugen dürfte man auch der Überblick noch nicht verloren haben.

Der Beitrag wurde von guest bearbeitet: 10.02.2017, 20:37 Uhr
   
Beitrag 12.02.2017, 17:35 Uhr
Guest_guest_*
Themenstarter
Gast


Wenn nur beim Einrichten überprüft werden soll, ob die benötigten Werkzeuge im richtigen Magazin/Revolver geladen sind und über genügend "Restlaufzeit" verfügen, hätte ich ja eine einfache Lösung für dich. wink.gif
   
Beitrag 12.02.2017, 17:52 Uhr
inaktiv_17
inaktiv_17
Level 3 = Community-Techniker
***
Gruppe: Banned
Mitglied seit: 05.02.2017
Beiträge: 179
Guten Abend guest,

ich danke Dir für das Angebot.
Das ist grundsätzlich eine sehr gute Idee, und auch eine Hilfe, deren Nutzen mir schon klar ist.
Ich hatte ja schon bereits bei meinem ersten Post angegeben, dass jede Änderung der Parametierung der zwei Zyklen uns zusätzlich Arbeit bereitet. Zumal wir auch MA haben, die nur anhand der Rüstanweisung eine Maschine umbauen bzw. einrichten können. Das hiesse zusätzlichen Aufwand alle Dokumente neu zu schreiben. Und das wollen wir bzw. können wir aktuell so nicht stämmen.

Ich will damit nicht aussagen, dass wir für Verbesserungen oder Neuerungen nicht nicht offen sind. Ich bin aber auch nicht in der Position oder Stellung, zu sagen "Wir stellen alles um !" .

Ich werde den Link meinem Chef mal vorlegen, mal sehen was er davon hält.

Schönen Abend wünsche ich allen Forenmitgliedern

R.HEIM

[quote name='guest' post='462938' date='12.02.2017, 17:35 Uhr']Wenn nur beim Einrichten überprüft werden soll, ob die benötigten Werkzeuge im richtigen Magazin/Revolver geladen sind und über genügend "Restlaufzeit" verfügen, hätte ich ja eine einfache Lösung für dich. wink.gif
   
Beitrag 12.02.2017, 20:08 Uhr
Guest_guest_*
Themenstarter
Gast


Naja, der Aufwand steckt ja schon in PROG_MAG.spf, das im globalen Unterprogramm-Verzeichnis liegt, also nicht installiert werden muß.
Am Programmanfang jedes Hauptprogramms müssten allerdings folgende 3 Zeilen eingefügt werden, damit das Prozedere nicht bei jedem Programmaufruf durchlaufen werden muß und eine neue Protokoll-Datei erstellt wird:
CODE
...
if R0==0
   PROG_MAG
endif
...

Aufwand ist anders. wink.gif R0 muß vor Aufruf auf 0 gesetzt werden (für nicht geprüft) Ist das Programm erfolgreich überprüft, ist R0=1 und der Aufruf wird nicht ausgeführt.
Die Abfrage von R0 könnte auch ins PROG_MAG, würde aber eventuell eine wertvolle Millisekunde kosten. (Abfrage erst nach Definition aller 30 LUD's möglich) wink.gif
Wenn das nicht relevant ist, wäre nur der Aufruf: 'PROG_MAG' im HP nötig.
Die Protokoll-Datei "WERKZEUGE.SPF" wird übrigens ins Werkstückverzeichnis des aufrufenden Programms geschrieben.
Die Protokoll-Datei könnte ich noch mit einem Kanal-Index versehen. Damit könnte man auch die Programme in mehreren Kanälen gleichzeitig testen. Als Überwachungs-Variable könnte dann auch R1 für Kanal1, R2 für Kanal2 usw. gelten. oder halt eine boolsche Feldvariable als GUD.
   
Beitrag 12.02.2017, 20:37 Uhr
inaktiv_17
inaktiv_17
Level 3 = Community-Techniker
***
Gruppe: Banned
Mitglied seit: 05.02.2017
Beiträge: 179
Guten Abend guest

Was wollen sie mir jetzt damit mitteilen ? wink.gif
Ich verstehe den ganzen Zusammenhang nicht !

In jedes Hauptprogramm "!" müsste nur 3 neu Zeilen eingepfelgt werden ?
Wer macht das ?
Wer schreibt diese, unseren Dokumentationen um ?

Entschuldige bitte, wir haben jetzt eine Lösung, die ohne adaptive Änderung funktioniert.
Ich bin nach wie vor kein Entscheidungsträger, und ich werde diese von Dir präsentierte Lösung meinem Chef vorschlage.

Mehr kann ich Dir nicht zusagen oder zusichern.

Schönen Abend

R.HEIM
QUOTE (guest @ 12.02.2017, 20:08 Uhr) *
Naja, der Aufwand steckt ja schon in PROG_MAG.spf, das im globalen Unterprogramm-Verzeichnis liegt, also nicht installiert werden muß.
Am Programmanfang jedes Hauptprogramms müssten allerdings folgende 3 Zeilen eingefügt werden, damit das Prozedere nicht bei jedem Programmaufruf durchlaufen werden muß und eine neue Protokoll-Datei erstellt wird:
CODE
...
if R0==0
   PROG_MAG
endif
...

Aufwand ist anders. wink.gif R0 muß vor Aufruf auf 0 gesetzt werden (für nicht geprüft) Ist das Programm erfolgreich überprüft, ist R0=1 und der Aufruf wird nicht ausgeführt.
Die Abfrage von R0 könnte auch ins PROG_MAG, würde aber eventuell eine wertvolle Millisekunde kosten. (Abfrage erst nach Definition aller 30 LUD's möglich) wink.gif
Wenn das nicht relevant ist, wäre nur der Aufruf: 'PROG_MAG' im HP nötig.
Die Protokoll-Datei "WERKZEUGE.SPF" wird übrigens ins Werkstückverzeichnis des aufrufenden Programms geschrieben.
Die Protokoll-Datei könnte ich noch mit einem Kanal-Index versehen. Damit könnte man auch die Programme in mehreren Kanälen gleichzeitig testen. Als Überwachungs-Variable könnte dann auch R1 für Kanal1, R2 für Kanal2 usw. gelten. oder halt eine boolsche Feldvariable als GUD.
   
Beitrag 12.02.2017, 20:46 Uhr
Guest_guest_*
Themenstarter
Gast


Tschuldigung, daß ich deine Kreise gestört habe. wink.gif
Ich habe lediglich helfen wollen...
   
1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: