Store MotoLogix command log data.
More information on this in the feature description
Logged data per command
MLxLogEntry for details on the used variables.MLxAbortcategory: system function
log item value/description commandId1 timeStampMLxBvarsGetcategory: variables
log item value/description commandId51 timeStampbufferEntrytargetNumbervariable number (0-n) MLxBvarsSetcategory: variables
log item value/description commandId61 timeStampbufferEntrytargetNumbervariable number (0-n) MLxDvarsGetcategory: variables
log item value/description commandId52 timeStampbufferEntrytargetNumbervariable number (0-n) MLxDvarsSetcategory: variables
log item value/description commandId62 timeStampbufferEntrytargetNumbervariable number (0-n) MLxEnablecategory: system function
log item value/description commandId5 timeStampMLxGetConfigLogcategory: setup
log item value/description commandId241 timeStampbufferEntrytargetNumberconfig log type MLxGetErrorDetailcategory: diagnostic
This function spans multiple communication sequences – only the initial will be logged.log item value/description commandId15 timeStampMLxGetLimitStatuscategory: setup
log item value/description commandId230 timeStampbufferEntryMLxGetMessageDetailcategory: diagnostic
This function is excluded from logging.MLxGetModuleInfocategory: setup
This function spans multiple communication sequences – only the initial will be logged.log item value/description commandId16 timeStampMLxGetSafetyCRCcategory: setup
log item value/description commandId240 timeStampbufferEntrytargetNumberfile type MLxHoldcategory: system function
log item value/description commandId7 timeStampMLxIvarsGetcategory: variables
log item value/description commandId53 timeStampbufferEntrytargetNumbervariable number (0-n) MLxIvarsSetcategory: variables
log item value/description commandId63 timeStampbufferEntrytargetNumbervariable number (0-n) MLxResetcategory: system function
log item value/description commandId2 timeStampMLxResetAndHoldcategory: system function
log item value/description commandId3 timeStampMLxRestartcategory: system function
log item value/description commandId4 timeStampMLxRobotCalcToolCalibcategory: tool
This function spans multiple communication sequences – only the initial will be logged.log item value/description commandId242 timeStamprobotNumberbufferEntryMLxRobotConvSyncStartcategory: conveyor
log item value/description commandId10 timeStamprobotNumberbufferEntrytargetNumberconveyor number (0-3) data[0]conveyor offset (.01 mm) data[1]start position (.01 mm) data[2]teach position (.01 mm) data[3]lag offset (.01 mm) data[4]number of points to average MLxRobotConvSyncStopcategory: conveyor
log item value/description commandId11 timeStamprobotNumberbufferEntrytargetNumberconveyor number (0-3) MLxRobotConvSyncStopWithAxisMotcategory: conveyor
log item value/description commandId12 timeStamprobotNumberbufferEntrytargetNumbertransform type log item targetNumber=0 targetNumber>0 data[0]S position (.01 deg) X position (.01 mm) data[1]L position (.01 deg) Y position (.01 mm) data[2]U position (.01 deg) Z position (.01 mm) data[3]R position (.01 deg) Rx position (.01 deg) data[4]B position (.01 deg) Ry position (.01 deg) data[5]T position (.01 deg) Rz position (.01 deg) MLxRobotConvSyncStopWithLinMotcategory: conveyor
log item value/description commandId13 timeStamprobotNumberbufferEntrytargetNumbertransform type log item targetNumber=0 targetNumber>0 data[0]S position (.01 deg) X position (.01 mm) data[1]L position (.01 deg) Y position (.01 mm) data[2]U position (.01 deg) Z position (.01 mm) data[3]R position (.01 deg) Rx position (.01 deg) data[4]B position (.01 deg) Ry position (.01 deg) data[5]T position (.01 deg) Rz position (.01 deg) MLxRobotCoordinateTransformcategory: frame
log item value/description commandId28 timeStamprobotNumberbufferEntrytargetNumbertransform type log item targetNumber=0 targetNumber>0 data[0]S position (.01 deg) X position (.01 mm) data[1]L position (.01 deg) Y position (.01 mm) data[2]U position (.01 deg) Z position (.01 mm) data[3]R position (.01 deg) Rx position (.01 deg) data[4]B position (.01 deg) Ry position (.01 deg) data[5]T position (.01 deg) Rz position (.01 deg) MLxRobotGetCollisionDetectionStatuscategory: collision detection
log item value/description commandId226 timeStamprobotNumberbufferEntryMLxRobotGetCollisionDetectionTorquecategory: collision detection
log item value/description commandId227 timeStamprobotNumberbufferEntryMLxRobotGetHomeOffsetscategory: setup
log item value/description commandId36 timeStamprobotNumberbufferEntrytargetNumberoffset type MLxRobotGetPropertiesThis function spans multiple communication sequences – only the initial will be logged.category: setup
log item value/description commandId30 timeStamprobotNumberbufferEntryMLxRobotGetSearchPositioncategory: search
log item value/description commandId236 timeStamprobotNumberbufferEntrytargetNumbercoord frame (0=world, 2=active user frame) data[0]capture number (0-n) MLxRobotGetSearchResultcategory: search
log item value/description commandId235 timeStamprobotNumberbufferEntryMLxRobotJogAxescategory: jog
Jog motion requires a flow of jog commands – only the initial command will be logged.log item value/description commandId22 timeStamprobotNumberbufferEntryMLxRobotJogAxesToPointcategory: jog
Jog motion requires a flow of jog commands – only the initial command will be logged.log item value/description commandId34 timeStamprobotNumberbufferEntrydata[0]S position (.01 deg) data[1]L position (.01 deg) data[2]U position (.01 deg) data[3]R position (.01 deg) data[4]B position (.01 deg) data[5]T position (.01 deg) MLxRobotJogTCPcategory: jog
Jog motion requires a flow of jog commands – only the initial command will be logged.log item value/description commandId23 timeStamprobotNumberbufferEntryMLxRobotJogTCPToPointcategory: jog
Jog motion requires a flow of jog commands – only the initial command will be logged.log item value/description commandId35 timeStamprobotNumberbufferEntrydata[0]X position (.01 mm) data[1]Y position (.01 mm) data[2]Z position (.01 mm) data[3]Rx position (.01 deg) data[4]Ry position (.01 deg) data[5]Rz position (.01 deg) MLxRobotMoveAxisAbsolutecategory: move ptp
log item value/description commandId19 timeStamprobotNumberbufferEntrytargetNumber0=axis position, 1=TCP position log item targetNumber=0 targetNumber=1 data[0]S position (.01 deg) X position (.01 mm) data[1]L position (.01 deg) Y position (.01 mm) data[2]U position (.01 deg) Z position (.01 mm) data[3]R position (.01 deg) Rx position (.01 deg) data[4]B position (.01 deg) Ry position (.01 deg) data[5]T position (.01 deg) Rz position (.01 deg) MLxRobotMoveAxisAbsoWithBasecategory: move ptp (+ base axis)
log item value/description commandId208 timeStamprobotNumberbufferEntrytargetNumber0=axis position, 1=TCP position data[6]1st base axis position (.01 mm) log item targetNumber=0 targetNumber=1 data[0]S position (.01 deg) X position (.01 mm) data[1]L position (.01 deg) Y position (.01 mm) data[2]U position (.01 deg) Z position (.01 mm) data[3]R position (.01 deg) Rx position (.01 deg) data[4]B position (.01 deg) Ry position (.01 deg) data[5]T position (.01 deg) Rz position (.01 deg) MLxRobotMoveAxisPvarAbsolutecategory: move ptp
log item value/description commandId71 timeStamprobotNumberbufferEntrytargetNumbervariable number (0-n) MLxRobotMoveAxisRelativecategory: move ptp
log item value/description commandId20 timeStamprobotNumberbufferEntrydata[0]S position (.01 deg) data[1]L position (.01 deg) data[2]U position (.01 deg) data[3]R position (.01 deg) data[4]B position (.01 deg) data[5]T position (.01 deg) MLxRobotMoveAxisRelaWithBasecategory: move ptp (+ base axis)
log item value/description commandId209 timeStamprobotNumberbufferEntrydata[0]S position (.01 deg) data[1]L position (.01 deg) data[2]U position (.01 deg) data[3]R position (.01 deg) data[4]B position (.01 deg) data[5]T position (.01 deg) data[6]1st base axis position (.01 mm) MLxRobotMoveLinAbsoWithBasecategory: move linear (+ base axis)
log item value/description commandId206 timeStamprobotNumberbufferEntrytargetNumber0=axis position, 1=TCP position data[6]1st base axis position (.01 mm) log item targetNumber=0 targetNumber=1 data[0]S position (.01 deg) X position (.01 mm) data[1]L position (.01 deg) Y position (.01 mm) data[2]U position (.01 deg) Z position (.01 mm) data[3]R position (.01 deg) Rx position (.01 deg) data[4]B position (.01 deg) Ry position (.01 deg) data[5]T position (.01 deg) Rz position (.01 deg) MLxRobotMoveLinearAbsolutecategory: move linear
log item value/description commandId17 timeStamprobotNumberbufferEntrytargetNumber0=axis position, 1=TCP position log item targetNumber=0 targetNumber=1 data[0]S position (.01 deg) X position (.01 mm) data[1]L position (.01 deg) Y position (.01 mm) data[2]U position (.01 deg) Z position (.01 mm) data[3]R position (.01 deg) Rx position (.01 deg) data[4]B position (.01 deg) Ry position (.01 deg) data[5]T position (.01 deg) Rz position (.01 deg) MLxRobotMoveLinearPvarAbsolutecategory: move linear
log item value/description commandId72 timeStamprobotNumberbufferEntrytargetNumbervariable number (0-n) MLxRobotMoveLinearRelativecategory: move linear
log item value/description commandId18 timeStamprobotNumberbufferEntrytargetNumbercoord frame (0=world, 1=tool frame, 2=active user frame) data[0]X position (.01 mm) data[1]Y position (.01 mm) data[2]Z position (.01 mm) data[3]Rx position (.01 deg) data[4]Ry position (.01 deg) data[5]Rz position (.01 deg) MLxRobotMoveLinRelaWithBasecategory: move linear (+ base axis)
log item value/description commandId207 timeStamprobotNumberbufferEntrytargetNumbercoord frame robot (0=world, 1=tool frame, 2=active user frame) data[0]X position (.01 mm) data[1]Y position (.01 mm) data[2]Z position (.01 mm) data[3]Rx position (.01 deg) data[4]Ry position (.01 deg) data[5]Rz position (.01 deg) data[6]1st base axis position (.01 mm) MLxRobotPositionVariableGetcategory: variables
log item value/description commandId201 timeStamprobotNumberbufferEntrytargetNumbervariable number (0-n) MLxRobotPositionVariableSetcategory: variables
log item value/description commandId200 timeStamprobotNumberbufferEntrytargetNumbervariable number (0-n) MLxRobotResetCollisionDetectionTorquecategory: collision detection
log item value/description commandId228 timeStampbufferEntryMLxRobotResetSearchcategory: search
log item value/description commandId234 timeStamprobotNumberbufferEntryMLxRobotSelectCollisionDetectioncategory: collision detection
log item value/description commandId224 timeStamprobotNumberbufferEntrytargetNumberfile number (0-n) MLxRobotSelectToolcategory: tool
log item value/description commandId205 timeStamprobotNumberbufferEntrytargetNumbertool number (0-n) MLxRobotSetBasePosecategory: setup
log item value/description commandId24 timeStamprobotNumberbufferEntrydata[0]robot base offset X (.01 mm) data[1]robot base offset Y (.01 mm) data[2]robot base offset Z (.01 mm) data[3]robot base offset Rx (.01 deg) data[4]robot base offset Ry (.01 deg) data[5]robot base offset Rz (.01 deg) MLxRobotSetCollisionDetectionPropertiescategory: collision detection
log item value/description commandId225 timeStamprobotNumberbufferEntrytargetNumberfile number (0-n) data[0]S axis level (%) data[1]L axis level (%) data[2]U axis level (%) data[3]R axis level (%) data[4]B axis level (%) data[5]T axis level (%) MLxRobotSetCollisionDetectionStatuscategory: collision detection
log item value/description commandId223 timeStamprobotNumberbufferEntrydata[0]collision detection (0=suspend, 1=resume) MLxRobotSetCubicIZByCenterPointcategory: setup
log item value/description commandId31 timeStamprobotNumberbufferEntrytargetNumberinterference zone number (0-n) data[0]zone action (0=status only, 1=stop motion, 2=delete) MLxRobotSetCubicIZByTwoCornerscategory: setup
log item value/description commandId32 timeStamprobotNumberbufferEntrytargetNumberinterference zone number (0-n) data[0]zone action (0=status only, 1=stop motion, 2=delete) MLxRobotSetDigitalOutputWithMotcategory: special function
log item value/description commandId8 timeStampfrom concerned motion command robotNumberfrom concerned motion command bufferEntryfrom concerned motion command targetNumberunits (0=distance, 1=time) data[0]distance- or time value (mm or msec) data[1]output number (0-n) data[2]output value (0=OFF, 1=ON) data[3]output pulse (0=infinite, 1-n=duration in msec) MLxRobotSetFrameShiftcategory: frame
log item value/description commandId27 timeStamprobotNumberbufferEntrytargetNumbercoord frame (0=world, 2=active user frame) data[0]frame shift X (.01 mm) data[1]frame shift Y (.01 mm) data[2]frame shift Z (.01 mm) data[3]frame shift Rx (.01 deg) data[4]frame shift Ry (.01 deg) data[5]frame shift Rz (.01 deg) MLxRobotSetHomeOffsetscategory: setup
log item value/description commandId33 timeStamprobotNumberbufferEntrytargetNumberoffset type data[0]S home offset (pulse) data[1]L home offset (pulse) data[2]U home offset (pulse) data[3]R home offset (pulse) data[4]B home offset (pulse) data[5]T home offset (pulse) MLxRobotSetPropertiesThis function spans multiple communication sequences – only the initial will be logged.category: setup
log item value/description commandId29 timeStamprobotNumberbufferEntryMLxRobotSetSearchcategory: search
log item value/description commandId233 timeStamprobotNumberbufferEntrytargetNumberinput signal bits (b0-b5=RIN#1-RIN#6) data[0]search condition (0=capture at LOW level, 1=capture at HIGH level) data[1]search action (0=stop after capture) MLxRobotSetServoFloatOffcategory: servofloat
log item value/description commandId220 timeStamprobotNumberbufferEntryMLxRobotSetServoFloatOncategory: servofloat
log item value/description commandId219 timeStamprobotNumberbufferEntrytargetNumberservofloat file number (0-7=link #1-#8, 10-17=linear #1-#8) MLxRobotSetServoFloatPropertiescategory: servofloat
log item value/description commandId221 timeStamprobotNumberbufferEntrytargetNumberservofloat file number (0-7=link #1-#8, 10-17=linear #1-#8) MLxRobotSetToolPropertiescategory: tool
log item value/description commandId25 timeStamprobotNumberbufferEntrytargetNumbertool number (0-n) data[0]tool offset X (.01 mm) data[1]tool offset Y (.01 mm) data[2]tool offset Z (.01 mm) data[3]tool offset Rx (.01 deg) data[4]tool offset Ry (.01 deg) data[5]tool offset Rz (.01 deg) data[6]tool weight (.01 kg) MLxRobotSetUserFramecategory: frame
log item value/description commandId26 timeStamprobotNumberbufferEntrytargetNumberuser frame number (0-n) data[0]coord frame X (.01 mm) data[1]coord frame Y (.01 mm) data[2]coord frame Z (.01 mm) data[3]coord frame Rx (.01 deg) data[4]coord frame Ry (.01 deg) data[5]coord frame Rz (.01 deg) MLxRvarsGetcategory: variables
log item value/description commandId54 timeStampbufferEntrytargetNumbervariable number (0-n) MLxRvarsSetcategory: variables
log item value/description commandId64 timeStampbufferEntrytargetNumbervariable (0-n) MLxSetGlobalParametercategory: setup
A speed override by HMI slider potentially creates a flow of set global parameter commands – only the initial command will be logged.log item value/description commandId37 timeStampbufferEntrytargetNumberparameter number (0-n) data[0]parameter value [.01 units] MLxSetLimitStatuscategory: setup
log item value/description commandId229 timeStampbufferEntrydata[0]0=activate limit monitoring, 1=deactivate limit monitoring MLxStopcategory: system function
log item value/description commandId6 timeStampMLxSvarsGetcategory: variables
log item value/description commandId55 timeStampbufferEntrytargetNumbervariable number (0-n) MLxSvarsSetcategory: variables
log item value/description commandId65 timeStampbufferEntrytargetNumbervariable number (0-n) MLxWriteApplicationDataToYRCcategory: setup
log item value/description commandId204 timeStampbufferEntry
Version history
0.4.0
Changes
- support
MLxRobotSetDigitalOutputWithMotcommand
show full history
0.3.0
Changes
- fix array upper boundary
0.2.0
Changes
- data type for
TimeNowchanged toDINT
0.1.0
Changes
- first release
Overview
| kind | name | type | default | comment |
|---|---|---|---|---|
| input | Erase | BOOL | clear all MotoLogix log data | |
| input | TimeNow | DINT | current time [ms since midnight], used for adding a time stamp to every log entry | |
| input | UserData | ARRAY [0..1] OF DINT | additional user data | |
| in_out | LogData | MLxLogData | the log data buffer | |
| in_out | MLX | MLxData | The MLxData Controller Scope tag. |
Details
Erase
BOOLClear all MotoLogix log data.
TimeNow
DINTCurrent time, used for adding a time stamp to every log entry.
- Time formatted as the number of milliseconds since midnight (00:00 hours)
UserData
ARRAY [0..1] OF DINTThis allows you to store additional information with every log entry.
Such additional data can be helpful when analyzing log data. Select the user data which fits best for your use case.
Example to convert floating point user data:
// conversion of a REAL using factor 100
// 1234.56789 -> 123457
varDint := REAL_TO_DINT(varReal * 100)
LogData
MLxLogDataThe log data buffer.
MLX
MLxDataThe MotoLogix variable which acts as the shared memory for a MotoLogix system.
As the PLC runs through its scan cycle each active MotoLogix FB will read from- and write to this MotoLogix variable.
It is also used for processing the data red from- and sent to the robot controller.
There are a few important rules:
MLxCommunicationReadmust be called at the very beginning of the PLC scan cycle.MLxCommunicationWritemust be called at the very end of the PLC scan cycle.- All other MotoLogix FB’s used in your application must be called inbetween.
- All off this must be handled by the same PLC task, respecting above rules.
Failing to follow above rules can lead to inconsistent data being sent to the robot controller which could result in unexpected motion.
Implementation
fbLogging : ARRAY[0..0] OF MLxLogging;
// fbLogging[0].Erase := ;
// fbLogging[0].TimeNow := ;
// fbLogging[0].UserData := ;
fbLogging[0]( LogData := dummy, MLX := dummy );