You are on page 1of 13

Steppers Diagnostics

(Internal Use Only)

1
Log files:
1. On Master PC Machine - Location: E:\SRC\D-SPECT\Log
1. DSpectApp.log – Log for D-Spect application.

2. On Slave PC Machine – Location: C:\SRC\D-SPECT\Log


1. SDSlaveHost.log – Log for the SDSlave application.
2. stepper_motion.YYYY-MM-DD.log – Log for Steppers motion module, contains more details
for steppers motors and MSC board.

Note: Daily archive folder at …\D-SPECT\Log\archive\ available for DSpectApp.log and SDSlaveHost.log log file

2
Stepper motors logs:
• Log messages that require attention are WARN and ERROR log level messages. Others are not required for first
diagnostics.
• If the specific problem is not clear we need to increase the log level to include INFO and DEBUG log levels. Increasing log
level can be safely made even if the application still running.

• How To increase log levels? On Slave PC Machine.


(WARNING: This will significantly increase log file size)
• Edit file: C:\SRC\D-SPECT\OutPut_Release_x.x.x.x\StepperMotionLoggerCfg.xml
• Change to “debug” those in red below.
<category name="StepperMotionLogger" additivity="true" >
<priority value ="debug" />
<appender-ref ref="appxRollerAppender"/>
</category>

<category name="StepperMotionLogger.Timer" additivity="false" >


<priority value ="info" />
<appender-ref ref="appxRollerAppender"/>
</category>

<category name="StepperMotionLogger.ComChannel" additivity="false" >


<priority value ="debug" />
<appender-ref ref="appxRollerAppender"/>
</category>

3
WARNING Log messages that can be safely ignored:

• Msg: “Position#x-y : 0.000000▒ ==> 0(Reset to:0.000000▒ ==> 21)”


o x – Position Number.
o y – Motor Number.
• Msg: “Sent a Reset command to MSC board (res=SUCCESS)” (unless it fails)
• Msg: “VerifyAtPosition failed for motor#9, Postion#60….” followed by Msg: “Running Position self
adjust Retry#3 on Motor#9, Position#60…” as long as Retry number does not reach 1!
• Msg: “Position self adjust of Motor#9,Retry#3 Error Calculation: …” as long as Retry number does
not reach 1!

4
Homing mechanism – points worth mentioning…
• SW sends Homing command to all motors to MSC board and waits (with predefined timeout) for Acknowledge of
completion.
• Motors start their motion backward to the Opto-switch at which they perform a Stop.
• Once MSC detects all Motors are within Switch and all motors are in stop state, sends a Release command to all.
• Motors start their motion forward using Minimum Speed till they are out of Opto-switch.
• Once MSC detects all motors are out, sends a broadcast to all motors to go 50 steps forward. This is to make sure that
motor backlash does not trigger the Opto-switch.
• MSC Sends an Acknowledge to SW that homing procedure was completed.
• Example evidence in logs for any problem of above mentioned:
• Msg: “TimeOut when Read PositionEndAck (tout=8000).”. It means that for some reason there was timeout
receiving the acknowledge of motion completion from MSC.

5
Position/Homing Software Validation:
• Once Motion of motors is acknowledged by MSC, SW validates the following for all motors:
• Position: By reading Encoder and validating that motor is within Tolerance from Target position (In Homing
it should be 50 steps).
• Status: By reading System Status and Motor Status and validating no error flags raised including Encoder
Magnetic sensor (whether Yellow/Red).
• Hardware Status: By reading and Validating Temperature (System wide), 24v Current and voltage of motor
within tolerance from target
• The above is SW validated after each position and after homing.
• Examples of any problem of above mentioned in logs:
• Msg: “VerifyAtPosition failed for motor#3, Postion#65. IntEncdrErr:-30(71), IntCntrlrErr:0(14). DiffEncdrErr:-
29(21), DiffCntrlrErr:0(14)”. It means motor of column a4 had problem to reach target position due to
detection of encoder differential error.
• Msg: “Position#-1 System Status check Failed with Status = 0xf0b ( AllMotorsFlagNotAsserted )”. -1 means
homing position.
• Msg: “Position#-1 Status check of Motor#9 Failed with Status Sys/Controller = 0xf/0xe69a ( CTRL_FLAG )/(
NOT_PERFORMED_CMD )”. Note: This specific Status failure is Known harmless problem with motor#9
(Linear, After homing). If other motor is involved, it should be checked!
• Msg: “Position#26 Status check of Motor#0 Failed with Status Sys/Controller = 0x3b/0xe602 (
MAGNT_YELLOW )/( )”. It means that Status check of motor a1 has failed due to magnetic sensor indicator.

6
Screenshots…

7
8
9
10
11
12
13

You might also like