Werkzeugdaten (D bzw. #TOOL DATA)
Werkzeugeometrie
Bei jedem D<i> bzw. #TOOL DATA fordert die CNC während der NC-Programmdekodierung die Daten des Werkzeuges an.
Bei der Anforderung des neuen Werkzeuges werden die D-Nummer, T-Nummer und die frei verwendbaren P-Parameter des aktuell einge-wechselten Werkzeuges mitgeliefert. Hierdurch kann die PLC erkennen, welches Werkzeug ausgewechselt werden soll. Über die P-Parameter kann z.B. im NC-Programm der Verschleiß eingetragen und im Werkzeugwechsel an die PLC zurückgemeldet werden.
Bei der Anfrage der CNC an die PLC werden folgende Daten (CNC_TOOL_REQUEST_IN) übertragen :
id : CNC_TOOL_ID;
(tool id of requested tool)
act_t_nr : DINT;
(actual t number in nc kernel)
act_d_nr : CNC_TOOL_ID;
(actual tool id in nc kernel)
param : ARRAY[1..60] OF LREAL;
log_ax_nr_tool_length : UINT;
(spindle axis for tool length compensation)
Die PLC liefert den kompletten Werkzeugdatensatz (CNC_TOOL_DESC
) zurück.
Programmierbeispiel: Werkzeugmanager im PLC-Programm, Werkzeugdaten
RInd : ADSRDWRTIND;
RRes : ADSRDWRTRES;
Rind;
IF RInd.VALID THEN
(* initialize response *)
RRes.NETID := '';
RRes.PORT := RInd.PORT;
RRes.INVOKEID := RInd.INVOKEID;
(* sender channel nr is coded in the invoke id *)
cnc_channel_nr := RInd.INVOKEID;
cnc_channel_nr := cnc_channel_nr AND 16#00FFFFFF;
(* CNC fordert Werkzeuggeometriedaten aufgrund D<i> an *)
IF RInd.IDXGRP = ADS_IGRP_TOOL_DESC_READ THEN
(* Tool data request from CNC *)
pToolReq := RInd.DATAADDR;
BasicToolId := pToolReq^.id.basic;
SpiindleID := pToolReq^.log_ax_nr_tool_length;
IF BasicToolId <= MAX_TOOLS THEN
(* transmit tool data in the response *)
RRes.LEN := SIZEOF(tool[1].cnc.tool_desc);
RRes.DATAADDR := ADR(tool[BasicToolId].cnc.tool_desc);
RRes.RESULT := ADS_RDWRT_IND_NO_ERROR;
ELSE
(* Tool not present *)
RRes.LEN := 0;
RRes.DATAADDR := 0;
RRes.RESULT := WZV_TOOL_ID_BASIC_INVALID;
END_IF
Programmierbeispiel
%main
N10 X1200
N11 S2[D1] (Werkzeug D1 für Spindel S2 anfordern
N20 S2[D2 REV=1 M4] (Werkzeug D2 für Spindel S2 anfordern
N30 D3 S100 M3 (Werkzeug D3 für Spindel S anfordern
N40 X0
N480 M30