<br><font size=2 face="sans-serif">Hello,</font><br><br><font size=2 face="sans-serif">we introduce a very small LDI.</font><br><font size=2 face="sans-serif">Our opinion is, to have a very small
interface for cylic data. For all other data, there is acyclic interface.</font><br><font size=2 face="sans-serif">The interface is realized with CoDeSys.</font><br><ol><li value=1><font size=2 face="sans-serif">cyclic interface</font></ol><font size=2 face="sans-serif">The
cyclic interface is very small and has less overhead. There are only values,</font><br><font size=2 face="sans-serif">which are transported cyclic between
PLC/CNC and drives.</font><br><br><font size=2 face="sans-serif">Definition of typAxisRef:</font><br><font size=2 face="sans-serif"> TYPE
typAxisRef :</font><br><font size=2 face="sans-serif"> STRUCT</font><br><font size=2 face="sans-serif"> wVersionId
:SGN16;</font><br><br><font size=2 face="sans-serif"> dSetPosition
:SGN32; (*
0,1µ *)</font><br><font size=2 face="sans-serif"> dSetVelocity
:SGN32; (*
0,1µ/s *)</font><br><font size=2 face="sans-serif"> dSetAccaleration
:SGN32;
(* 0,1µ/s² *)</font><br><font size=2 face="sans-serif"> dSetTorque
:SGN32; (*
Nm/10000 *)</font><br><font size=2 face="sans-serif"> dAxisControl
:typAxisControl;
(* e.g. Start Referenz, cycl, .. *)</font><br><br><font size=2 face="sans-serif"> tCommand
:typMotionCommand;</font><br><br><font size=2 face="sans-serif"> tDriveState
:typDriveState</font><br><font size=2 face="sans-serif"> dActPosition
:SGN32; (*
0,1µ *)</font><br><font size=2 face="sans-serif"> dActVelocity
:SGN32; (*
0,1µ/s *)</font><br><font size=2 face="sans-serif"> dActAccaleration
:SGN32;
(* 0,1µ/s² *)</font><br><font size=2 face="sans-serif"> dActTorque
:SGN32; (*
Nm/10000 *)</font><br><font size=2 face="sans-serif"> dCapturePosition
:SGN32;
(* 0,1µ *)</font><br><font size=2 face="sans-serif"> dAxisState
:SGN32;</font><br><font size=2 face="sans-serif"> dActError
:SGN32; (*
act. state/error *)</font><br><font size=2 face="sans-serif">END_STRUCT</font><br><font size=2 face="sans-serif">END_TYPE</font><br><br><font size=2 face="sans-serif">Definition of typAxisControl:</font><br><font size=2 face="sans-serif">TYPE typAxisControl :</font><br><font size=2 face="sans-serif">STRUCT</font><br><font size=2 face="sans-serif"> bStartHoming
:BOOL;
(* start homing *)</font><br><font size=2 face="sans-serif"> bCylicPosition
:BOOL;
(* interpret data as a data stream *)</font><br><font size=2 face="sans-serif"> bClearError
:BOOL;
(* clear actual error *)</font><br><font size=2 face="sans-serif"> bPowerOn
:BOOL;
(* enable power *)</font><br><font size=2 face="sans-serif"> bEnable
:BOOL;
(* enable moving *)</font><br><font size=2 face="sans-serif"> bCapture
:BOOL;
(* enable capture *)</font><br><font size=2 face="sans-serif">END_STRUCT</font><br><font size=2 face="sans-serif">END_TYPE</font><br><br><font size=2 face="sans-serif">Definition of typMotionCommand:</font><br><font size=2 face="sans-serif">TYPE typMotionCommand :</font><br><font size=2 face="sans-serif">(</font><br><font size=2 face="sans-serif"> idle
:=0,</font><br><font size=2 face="sans-serif"> SetPosition
:=1,</font><br><font size=2 face="sans-serif"> SetVelocity
:=2,</font><br><font size=2 face="sans-serif"> SetTorque
:=3</font><br><font size=2 face="sans-serif">);</font><br><font size=2 face="sans-serif">END_TYPE</font><br><br><br><font size=2 face="sans-serif">Definition of typDriveState:</font><br><font size=2 face="sans-serif">TYPE typDriveState :</font><br><font size=2 face="sans-serif">STRUCT</font><br><font size=2 face="sans-serif"> bHomed
:BOOL;
(* homing done *)</font><br><font size=2 face="sans-serif"> bPowerOn
:BOOL;
(* power on *)</font><br><font size=2 face="sans-serif"> bEnabled
:BOOL;
(* drive enabled *)</font><br><font size=2 face="sans-serif">END_STRUCT</font><br><font size=2 face="sans-serif">END_TYPE</font><br><br><font size=2 face="sans-serif">2. acyclic interface</font><br><font size=2 face="sans-serif">All other parameters for the drives
(e.g. software endposition, jerk, ..) can be read or written by the FAPIA-Interface
(<b><u>F</u></b>ieldbus-<b><u>AP</u></b>plication-<b><u>I</u></b>nterface-<b><u>A</u></b>cyclic).</font><br><font size=2 face="sans-serif">The FAPIA-interface consists of:</font><ul><li><font size=3 face="Times New Roman">ReadRequest:
</font><font size=2 face="sans-serif">to
get the value of the parameter</font><li><font size=3 face="Times New Roman">WriteRequest
: </font><font size=2 face="sans-serif">to
write the value of the parameter </font><li><font size=3 face="Times New Roman">InfoRequest:
</font><font size=2 face="sans-serif">to
get the properties of the parameter</font></ul><font size=2 face="sans-serif">FAPIA
lib is available from HOMAG.</font><br><font size=2 face="sans-serif"><br></font><br><font size=2 face="sans-serif"><br><br>Mit freundlichen Grüßen / with best regards<br><br>i.V. Herbert Graf<br>Entwicklung Steuerungs-Plattform<br><br>Tel.: +49 (74 43) 13-2378<br>Fax: +49 (74 43) 13-8-2378<br>E-Mail: Herbert.Graf@homag.de<br>http://www.homag.de<br><br></font><font face="sans-serif"><font size="1"><br><hr><b>Homag Holzbearbeitungssysteme AG</b><br>Aktiengesellschaft mit Sitz in D-72296 Schopfloch, Homagstraße 3 - 5; Registergericht Stuttgart HRB 440352<br>Vorstand: Dr. Joachim Brenk (Sprecher), Achim Gauß, Andreas Hermann, Herbert Högemann, Rolf Knoll<br>Vorsitzender des Aufsichtsrats: Torsten Grede</font></font>