Technical Forum

CNC Automatisierungssystem SINUMERIK

PLC-Eingang in NC-Programm abfragen

Erstellt von ivanovo am 12.12.2011 15:45 (9 Antworten)

« Vorheriges Thema Nächstes Thema »
Seite 1 von 1 (10 Objekte)
  12.12.2011, 15:45
Beigetreten am: 12.12.2011
Letzter Besuch: 12.12.2011
Beiträge: 1
Bewertung:
Bewertung: keine [0 von 5 / 0 mal bewertet]. (0) 
Bewertung: keine [0 von 5 / 0 mal bewertet]. (0) 
Guten abend!

Wir haben vor an unsere Drehmaschine neue Zyklen realisieren und dafür brauchen einige PLC-Eingänge abzufragen. Bei 850 wir haben diese CL Befehle @38x und @39x gehabt. Aber bei 840D wir finden nichts. Wie geht es? Danke

Top
  12.12.2011, 19:31
Beigetreten am: 07.03.2011
Letzter Besuch: 16.06.2013
Beiträge: 9
Bewertung:
Bewertung: Herausragend [4 von 5 / 1 mal bewertet]. (1) 
Bewertung: keine [0 von 5 / 0 mal bewertet]. (0) 
CL 800 Zyklen sind nicht mehr für 840D.See Link https://www.automation.siemens.com/doconweb/?HTTPS=REDIR Rnf:lblSmileyTooltip_tree
Top
  13.12.2011, 20:51
Beigetreten am: 19.03.2006
Letzter Besuch: 18.06.2013
Beiträge: 351
Bewertung:
Bewertung: Exzellent [4,28 von 5 / 40 mal bewertet]. (40) 
Bewertung: keine [0 von 5 / 0 mal bewertet]. (0) 


Hallo
es ist nur möglich im NC Programm ganze Ein/Ausgangs Bytes/Worte  zu lesen 
den einzelnen Eingang kann man dann nit B_AND decodieren 

Beispiel für  E32.5
Maschinen Daten 
(sollte in den Maschinendaten shon etwas eingetragen sein Maschinenhersteller befragen nichts ändern )
und vor jeder änderung Datensicherung !!!!!!

PLCIO_LOGIC_ADDRESS_IN = 32
PLCIO_NUM_BYTES_IN = 1
-------------------------------

NC Programm 

DEF   BOOL  E32_5 

e32_5 = $A_PBB_IN[0] B_AND 'B00100000'

Top
  16.08.2012, 16:16
Beigetreten am: 25.05.2009
Letzter Besuch: 12.04.2013
Beiträge: 6
Bewertung:
Bewertung: Exzellent [5 von 5 / 1 mal bewertet]. (1) 
Bewertung: keine [0 von 5 / 0 mal bewertet]. (0) 

Wo muß ich dies eingeben?

 

PLCIO_LOGIC_ADDRESS_IN = 32
PLCIO_NUM_BYTES_IN = 1

Top
  17.08.2012, 14:09
Beigetreten am: 19.03.2006
Letzter Besuch: 18.06.2013
Beiträge: 351
Bewertung:
Bewertung: Exzellent [4,28 von 5 / 40 mal bewertet]. (40) 
Bewertung: keine [0 von 5 / 0 mal bewertet]. (0) 
Algemeine Maschinendaten

Datensicherung nicht vergessen .!
Top
  20.08.2012, 21:07
Beigetreten am: 03.08.2010
Letzter Besuch: 25.08.2012
Beiträge: 3
Bewertung:
Bewertung: keine [0 von 5 / 0 mal bewertet]. (0) 
Bewertung: keine [0 von 5 / 0 mal bewertet]. (0) 
ok wenn ich es aber so aufrufe:

DEF   BOOL  E32_5 

e32_5 = $A_PBB_IN[0] B_AND 'B00100000'

dann kommt: Kanal 1 Satz DIN-Adresse E nicht projektiert

habs auch schon so versucht:

def INT PLC_EINGANG ='B00100000' ; E32.5

if ($A_PBB_IN[0] B_AND PLC_EINGANG) ==1


dann kommt aber:
Kanal 1 Satz unerlaubter Array-Index1

Top
  21.08.2012, 06:38
Beigetreten am: 19.03.2006
Letzter Besuch: 18.06.2013
Beiträge: 351
Bewertung:
Bewertung: Exzellent [4,28 von 5 / 40 mal bewertet]. (40) 
Bewertung: keine [0 von 5 / 0 mal bewertet]. (0) 
Beim ersten liegt der fehler wohl  beim einfach abtippen ohne nachdenken.

der zweiten     gehg ich mal von falsch oder nciht gesetzten  MP aus.
Top
  23.08.2012, 18:29
Beigetreten am: 03.08.2010
Letzter Besuch: 25.08.2012
Beiträge: 3
Bewertung:
Bewertung: keine [0 von 5 / 0 mal bewertet]. (0) 
Bewertung: keine [0 von 5 / 0 mal bewertet]. (0) 
ok habs kapiert
Top
  24.08.2012, 17:28
Beigetreten am: 03.08.2010
Letzter Besuch: 25.08.2012
Beiträge: 3
Bewertung:
Bewertung: keine [0 von 5 / 0 mal bewertet]. (0) 
Bewertung: keine [0 von 5 / 0 mal bewertet]. (0) 
Letzte Frage:Rnf:lblSmileyTooltip_

Wenn ich es so mache:
def INT INDEX_HINTEN ='B01000000' ;
def INT INDEX_VORNE ='B10000000' ;
if ($A_PBB_IN[0] B_AND INDEX_HINTEN') ==1 AND ($A_PBB_IN[0] B_AND INDEX_VORNE) ==0
Goto N100
Endif

wird aber nur der INDEX_HINTEN abgefragt und der Zustand VORNE ist dem egal.(0 oder 1)
Oder muß da was anderes stehen?
Hat noch einer einen Tipp?


Top
  26.08.2012, 21:47
Beigetreten am: 19.03.2006
Letzter Besuch: 18.06.2013
Beiträge: 351
Bewertung:
Bewertung: Exzellent [4,28 von 5 / 40 mal bewertet]. (40) 
Bewertung: keine [0 von 5 / 0 mal bewertet]. (0) 
nixblick schrieb:
Letzte Frage:Rnf:lblSmileyTooltip_
if ($A_PBB_IN[0] B_AND INDEX_HINTEN') ==1 AND ($A_PBB_IN[0] B_AND INDEX_VORNE) ==0 
Goto N100
Endif
wird aber nur der INDEX_HINTEN abgefragt und der Zustand VORNE ist dem egal.(0 oder 1)
Hat noch einer einen Tipp?

if  (($A_PBB_IN[0] B_AND INDEX_HINTEN') ==1) AND (($A_PBB_IN[0] B_AND INDEX_VORNE) ==0) 
Goto N100
Endif

nicht an klammern sparen 
Top
Seite 1 von 1 (10 Objekte)
Aktionen