Sonstiges PLC-Operanden im NC-Programm abfragen und setzen

anton123

Level-1
Beiträge
2
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Tag,
Ich trete mit folgender Frage an dieses Forum heran, da ich mit meinen Kentnissen am Ende bin.
Wir haben ein CNC-Bearbeitungszentrum mit Sinumeriksteuerung 840d. Dieses Bearbeitungszentrum haben wir in den letzten Monaten mit 2 Robotern erweitert. Anfangs sind wir noch mit den vorhandenen M-Befehlen ausgekommen. Jetzt müssten wir allerding neue, bisher undefinierte Ein- und Ausgänge welche im PLC-Status angezeigt werden ansprechen. Beispiel: Der Ausgang A72.4 müsste gesetzt werden oder der Eingang E70.2 müsste abgefragt werden.
Vielen Dank im Vorraus,
Gruß anton123
 
Geht ohne Änderungen am PLC Programm nicht!

Möglichkeit wäre diese Daten in der PLC auf die NCK Ein und Ausgänge zu rangieren und somit via PLC zu handeln!
Der Status diese E/A kann man in einem DB in der PLC abfragen bzw. auch setzten, entsprechend in der NC enbefalls.

Geht freilich nur, wenn diese NCK E/A's nicht belegt sind! Dann könnte man zur Not über den schnellen Datenkanal auch etwas machen ;)

Alternativ könnte man auch die NCK E/A Hardware ggf. erweitern und diese halt direkt aus der NC ansprechen!
Die NCU hat OnBoard bringt eine gering Anzahl (2 oder 4) mit, falls diese reichen ... kann man diese auch nutzen ...
Begriff schnelle Ein-/Ausgänge ...
Bei der D sind max 40 E und A's möglich!

Kannst einmal in der Programmieranleitung bzw. Doku nach $A_IN[] bzw. $A_OUT[] suchen.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Auch ohne PLC änderung

Es gibt schon einen Möglichkeit aus der NC auf normale PLC Ein /Ausgänge zuzugreifen.

Über das MD $MN_PLCIO_NUM_BYTES_IN gibt’s du die Anzahl der PLC- Eingang-Bytes an. IM MD $MN_PLCIO_LOGIC_ADDRESS_IN gibst du die Start-Adresse der PLC-Eingänge an

MD $MN_PLCIO_NUM_BYTES_OUT und $MN_PLCIO_LOGIC_ADDRESS_OUT wie bei INPUTS


Zugriff im NC Programm

$A_PBB_IN / $A_PBB_OUT
$A_PBW_IN / $A_PBW_OUT
$A_PBD_IN / $A_PBD_OUI
$A_PBR_IN / $A_PBR_OUT

Im NC Programm kannst du allerdings nur als kleinste Einheit das Byte lesen / schreiben.
Einen einzelnen Eingang musst du über B_AND aus decodieren

Das schreiben auf Ausgänge macht nur Sinn wenn Sie im PLC Programm nicht beschrieben werden.


Nach zulesen in Erweiterungsfunktionen 1.2.5 Direkte, von NC adressierbare PLC-Peripherie
 
Denke es kommt da natürlich auch noch auf den SW-Stand der NCU darauf an ...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mir ist noch? nicht klar was der Kolleg will.
Aber es ist in meinen Augen einfach nur Schwachsinn direkt im NC Programm E zu lesen oder A zu schreiben, ohne Logik zur Überwachung bzw Steuerung.
Wenn er zusätzlich Funktionen braucht, dann sollte er mit dem Hersteller Kontakt aufnehmen, damit es ein sinnvoller Prozess wird.
Wer sagt denn dass die E/A nicht intern schon benutzt werden und es zu seltsamen Nebeneffekten kommen kann, wenn darauf zu gegriffen wird?

Warum in Gottes Namen wollen alle die fehlerfrei den Simatic Manager öffnen und wissen was G0 ist alles selbst machen?
Warum gibt es denn die Entwickler dre Maschinen?
Dann kracht es und wer ist Schuld?
Ich würde zumindest erwarten, dass das den Kollegen? bewusst ist.


bike
 
Über das MD $MN_PLCIO_NUM_BYTES_IN gibt’s du die Anzahl der PLC- Eingang-Bytes an. IM MD $MN_PLCIO_LOGIC_ADDRESS_IN gibst du die Start-Adresse der PLC-Eingänge an

MD $MN_PLCIO_NUM_BYTES_OUT und $MN_PLCIO_LOGIC_ADDRESS_OUT wie bei INPUTS


Zugriff im NC Programm

$A_PBB_IN / $A_PBB_OUT
$A_PBW_IN / $A_PBW_OUT
$A_PBD_IN / $A_PBD_OUI
$A_PBR_IN / $A_PBR_OUT


Das habe ich auch schon versucht, nur ist unsere Software schon älter und diese Funktion gibt es in diesem Fall noch nicht, aber trotzdem danke.
 
Zurück
Oben