Parker Hannifin
REM error codes to retrieve via front end application
#DEFINE MEIErrorCode P50
#DEFINE CANopenErrorCode P51
#DEFINE XErrorCode P52
#DEFINE YErrorCode P53
REM additional variables used to determine when the error occurred
#DEFINE Time LV0
#DEFINE ms LV1
#DEFINE seconds LV2
#DEFINE ExcSeconds LV3
#DEFINE minutes LV4
#DEFINE ExcMinutes LV5
#DEFINE hours LV6
#DEFINE ExcHours LV7
#DEFINE days LV8
PROGRAM
PBOOT : REM program will execute when controller power is turned on
REM dimension some string variables for error message
REM storage/display and integers for clock
DIM $V(10,80)
DIM LV10
REM initialize error codes to zero
MEIErrorCode = 0
CANopenErrorCode = 0
XErrorCode = 0
YErrorCode = 0
REM clear "PrintErrors" to prevent forced printing of error messages
SET PrintErrors
REM clear "ClearErrorCodes" to prevent this program from clearing
REM codes after printing
SET ClearErrorCodes
_LoopStart
REM --- Print out errors to a terminal if "PrintErrors" bit is set
IF (PrintErrors)
'OPEN "COM1:38400,n,8,1" AS # 1
'OPEN "STREAM1:" AS #1 : REM for USB
'OPEN "STREAM2:" AS #1 : REM for Enet, 1st connection
OPEN "STREAM3:" AS #1 : REM for Enet, 2nd connection
ELSE
CLOSE #1
ENDIF
REM --------- Check Motion Enable Input ---------
IF (MotionEnableOpen AND MEIErrorCode = 0)
SET ErrorOccurred
MEIErrorCode = 1
$V0 = "Motion Enable Input is open"
ELSE IF (NOT MotionEnableOpen and MEIErrorCode = 1)
MEIErrorCode = 0
160 Programmer’s Guide