585.930 aktive Mitglieder*
4.177 Besucher online*
Kostenfrei registrieren
Anmelden Registrieren
FANUC Forum

Externe Schnittstellenanschlüsse, Parameter abfrage

Beitrag 26.11.2014, 17:34 Uhr
dafreame
dafreame
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 26.11.2014
Beiträge: 2

Guten Tag,

Ich habe folgende Problematik mit der Externen Schnittstelle.
Fanuc Robodrill
alpha - D21 Li A5
31i B5

Ich habe einen einfache Lichtschranke an der Klemme Y0002,0 & 0V angeschlossen und eine dritte Ader in X0005,6.

Die Klemme Y2,0 wird über mein Programm mit einem M101 gestartet und die Lichtschranke funktioniert auch ohne Probleme
beim Einlesen bzw. Auslesen. (In der Wartung-Ansicht unter Schnittstellen geprüft)

Nun zum Problem.

UDI15 ist der Name für die Schnittstelle X0005.6 lt. Tabelle.

Den Status von den Schnittstellen-Eingangssignalen kann ich aus den System-variablen #1000 - #1032 abfragen
Zum benutzen der System-variablen #1016 bis #1032 muss ein Parameter umgestellt werden.
Das habe ich auch getan.

Tabellen Angabe:

#1015 = Variablen Nummer
[#_UI[15]] = Variablen Name
1 = Punkt
UI015 (2^15) = Schnittstellen-Eingangssignal


Diesen möchte ich nun Abfragen.
Also müsste doch theoretisch, wenn die Lichtschranke unterbrochen ist aus dem Parameter heraus eine 0
oder wenn diese nicht unterbrochen ist eine 1, entnehmen zu sein

Bsp.

G0 X0 Y0 (Bewegung in die Schranke)
M101 (Lichtschranke wird eingeschaltet)

#1=[#UDI[15]] (einfache Übertragung in den #1 Makro)

IF[#1EQ0] GOTO 30 (Wenn der Wert 0 ist PGM Beenden ansonsten das PGM fortführen)

..... (Normales PGM)

M30


N30

... (PGM Abbruch)

M30

Bei der Übertragung in #1 bekomme ich aber immer nur den Wert 0 angegeben.
Egal ob die Lichtschranke nun blockiert wird oder nicht.


Ich bedanke mich schon mal im voraus für eure Hilfe und Mühen!

MfG,
Dave
TOP    
Beitrag 28.11.2014, 11:02 Uhr
dafreame
dafreame
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 26.11.2014
Beiträge: 2

Hallo nochmal,

Das o.g. Problem konnte ich lösen.

Nun gibt es ein neues.
Mein Problem ist nun, dass die Maschine den Wert in #1 (siehe Testprogramm) zu früh abliest und es deshalb nicht richtig Funktioniert.

Gibt es da einen Befehl, damit die Sätze bis zu einem angegebenen Punkt im voraus gelesen werden können und nicht weiter ?
Oder muss ich die Abfrage anders strukturieren ?


Mein Testprogramm

N1;
G54 G90;
T1 M6;
M01;
S10000 F2000 M3;
G43 H1 D1;
M8; (Werkzeugaufruf mit Nullpunkt & Kühlmittel an)

G0 X0 Y0;
G0 Z5;
G1 Z-10; ( einfache Bohrung )
G0 Z50;
M9; ( Kühlmittel aus )

G0 Y60;
G0 X60; (Positionieren in die Lichtschranke)

M101; ( Aktivierung der Lichtschranke )
#1=#1002 ( Abfrage der Lichtschranke 1 oder 0 )

While[#1EQ0] DO1; (Wenn die Lichtschranke nicht unterbrochen ist, Programm Beenden )
G91 G28 Z0;
G91 G28 X0 Y0;
G90;
M30;
END1;

G0 X? Y? (Wenn die Lichtschranke unterbrochen ist, folgt das normale PGM )
TOP    
Beitrag 28.11.2014, 14:39 Uhr
drakefighter
drakefighter
Level 3 = Community-Techniker
***
Gruppe: Mitglied
Mitglied seit: 29.05.2007
Beiträge: 282

nur mal so für mich zum Verständnis

Warum schaltest du die Lichtschranke über einen M-Befehl erst zu, um sie dann abzufragen.

Klemm die Lichtschranke einfach an Dauerversorgung und frage diese nur wenn gewünscht ab.

Gruß Rainer
TOP    
Beitrag 28.11.2014, 20:29 Uhr
suso
suso
Level 2 = Community-Facharbeiter
**
Gruppe: Mitglied
Mitglied seit: 12.09.2014
Beiträge: 83

Mir ist kein Befehl bekannt damit die Fanuc weniger als 3 Sätze im voraus liest.
Vll versuchst du es mit G4 P200 (oder so) nach dem M101 Befehl.
Du kannst auch versuchen zwischen dem M101 und dem darauf folgendem Satz, drei EOB's einzufügen. Sollte auch ein paar Millisekunden ausmachen.
TOP    



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