MODICON IBM-P190 Function Display Template Resource File Copyright (C) 1990, MODICON Inc. All rights reserved. Compiled by FDTC Version AX.04 From input file 'DXALL.FDT' (Mon Mar 07 14:57:56 1994)11 = [( A - B ) - ( C - D )] / LN [( A - B ) / ( C - D )]%(12 = A / B EXP ( - C / D )%(13 = ( A - B ) / ( C - D )h EQUATION CALCULATORY EQUATION'O PAGE 1 / 3 (INPUTS:*($ TRIG UNITS: 0=DEGREES, 1=RADIANS( VARIABLE A:( VARIABLE B:( VARIABLE C:( VARIABLE D:FDEGRADEEEE (OUTPUT:E ( NUMBER OF REGS USED: G * ( ERROR, 1=YES 0=NO:F NONEERROR( EQUATION:L[Y EQUATION'O PAGE 2 / 3( OUTPUT FLAGS:( MATH ERROR:%( INPUT OUT OF BOUNDED RANGE:"( EQUATION NOT PROGRAMMED:&( BAD OPERATOR SELECTION CODE:&( FUNCTION CODE OF LAST ERROR:( STACK ERROR:F OFFERRORF OFFERRORF OFFBADF OFFBAD G*FOFFERROR[ EQUATION'O PAGE 3 / 3!( FUNCTION CODES, BITS 12-16:(0 NOP, NO OPERATION( 1 ABS( 2 ADD( 3 DIV( 4 EXP(5 RESERVED( 6 RESERVED( 7 LN(  8 LOG(  9 MULT( 10 NEG( 11 POW( 12 SQRT( 13 SUB( 14 SIN( 15 COS(  16 TAN(  17 ARCSIN(  18 ARCCOS(  19 ARCTAN&( INPUT SELECTION CODES, BITS 5-8:( 0100 HEX FLOAT, 32 BIT)( #0300 HEX INTEGER, 16 BIT, SIGNED( 0800 HEX VARIABLE A( 0900 HEX VARIABLE B( 0A00 HEX VARIABLE C( 0B00 HEX VARIABLE D(DEFAULTS TO FLOAT, 32 BIT ALARM HANDLING FOR LL, L, H, HH' ALARM'O PAGE 1 / 1( INPUT FLAGS: ( DEVIATION MODE, 1=YES:)(# LIMITS ENABLED, 0=H/L, 1=HH/LL:((" DEADBAND AROUND LIMITS, 1=YES:F#NORMAL DEVIATIONF#H/LHH/LLF#NOYES (INPUTS:( INPUT, X:( DEADBAND:E#E# ( ALARM SETTINGS:( #OUTPUTS: (  HH:( HIGH:(  LOW: ( LL:E E E E F # HHF # HIGH F #LOW F#LL(OTHER OUTPUT FLAGS:( MATH ERROR:,(& INVALID LIMITS HH <= H <= L <= LL:'(! DEVIATION MODE WITH DEADBAND:"( DEADBAND LESS THAN ZERO:F# OFFERRORF# INVALIDF#ERROR F#NEG(ERROR, 1=YES 0=NO:F#NONEERRORm INTERFACE TO INPUT MODULES4  ANALOG IN'O PAGE 1 / 2( INPUT FLAGS:( PROCESS SQUARE ROOT:%( MANUAL/AUTO MODE, 1=MANUAL: ( EXTENDED RANGE, 1=YES:( MODULE INPUT FORMAT:/() SEE NEXT PAGE FOR SELECTION CODESF NOYESF AUTOMANUALF NORMALEXTEND G* ( INPUTS:(  RAW INPUT:!(  HIGH ENGINEERING UNITS: (  LOW ENGINEERING UNITS:(  MANUAL INPUT:( AUTO INPUT:K *E E E E (SCALED ENGINEERING OUTPUT:E (ERROR, 1=YES 0=NO:FNONEERROR4 ANALOG IN'O PAGE 2 / 2( OUTPUT FLAGS:( MATH ERROR:( OVER RANGE:( UNDER RANGE:( INVALID INPUT FORMAT:( HIGH <= LOW LIMIT:( INPUT OUT OF RANGE:F OFFONF OVERFUNDERF INVALIDF INVALIDFINVALID(( "VALID INPUT FORMAT SELECTIONS ARE:(  0 => 0000 - 4096(  1 => 4096 - 8192( 2 => 0000 - 8192( 3 => 0001 - 5999( 4 => 0001 - 7499( 5 => 0001 - 9999( 6 => 0001 - 14999 INTERFACE TO OUTPUT MODULES ANALOG OUT'O PAGE 1 / 1 (INPUTS:( ENGINEERING INPUT:!( HIGH ENGINEERING UNITS: ( LOW ENGINEERING UNITS:EEE (OUTPUT:K*( OUTPUT FLAGS:(  MATH ERROR:(  HIGH <= LOW LIMIT:( OUTPUT CLAMPED HIGH:( OUTPUT CLAMPED LOW:F  OFFERRORF  INVALIDF CLAMPEDFCLAMPED(ERROR, 1=YES 0=NO:FNONEERROR!#DELAY QUEUE, UP TO 10 DELAY PERIODSm DELAY QUEUE'O PAGE 1 / 2 (INPUTS:"( # OF DELAY INTERVALS, K:( CLEAR TO INITIALIZE:( LIVE INPUT, X:( SAMPLED INPUT, X(N):!( SOLUTION INTERVAL (MS):%( TIME SINCE LAST SOLVE (MS): G*FYESNOEE I*I*( OUTPUT, X(N-K):E ( OUTPUT FLAGS:(  MATH ERROR:!( INITIALIZATION WORKING:$( ILLEGAL SOLUTION INTERVAL:( K OUT OF RANGE:!( # OF REG LEFT FOR INIT:F  OFFONF DONEWORKINGF OFFCLAMPEDFOFFON G*(ERROR, 1=YES 0=NO:FNONEERRORm DELAY QUEUE'O PAGE 2 / 2(LIVE INPUT, X:(OUTPUT, X(N-K):(# OF DELAY INTERVALS, K:EE G*(SAMPLED INPUT, X(N):(SAMPLED INPUT, X(N-1):(SAMPLED INPUT, X(N-2):( SAMPLED INPUT, X(N-3):( SAMPLED INPUT, X(N-4):( SAMPLED INPUT, X(N-5):( SAMPLED INPUT, X(N-6):( SAMPLED INPUT, X(N-7):(SAMPLED INPUT, X(N-8):(SAMPLED INPUT, X(N-9):E E EE E E E E EE "&&LINEAR INTERPROLATION FOR LOOKUP TABLEV& LOOKUP TABLE'O PAGE 1 / 2 (INPUTS:"( NUMBER OF POINTS TO USE:( INPUT, X:D*E( OUTPUT, Y:E %( OUTPUT FLAGS:(  MATH ERROR:( INVALID # OF POINTS:( OUT OF TABLE'S RANGE:F  OFFERRORF OFFONF OFFON(ERROR, 1=YES 0=NO:FNONEERRORV+& LOOKUP TABLE'O PAGE 2 / 2 (INPUT (#OUTPUT(X:(Y:EE#%( DATA TABLE:( TABLE INPUTS(# TABLE OUTPUTS ( X1: ( Y1: ( X2: ( Y2: ( X3: ( Y3: ( X4: ( Y4: (X5: (Y5: (X6: (Y6: (X7: (Y7: (X8: (Y8:E E -E  E - E  E -E E -EE-EE-EE-E!E-#w##TRAPEZOIDAL INTEGRATION WITH NO ARWI INTEGRATOR'O PAGE 1 / 1( INPUT FLAGS:( RESET SUM ONLY:( CLEAR TO INITIALIZE:FOFFRESETFYESNO (INPUTS:( RESET VALUE:( LIVE INPUT, X:#(  LAST SAMPLED INPUT, X(N):!(  SOLUTION INTERVAL (MS):%(  TIME SINCE LAST SOLVE (MS):E EE  I *I *( OUTPUT, Y(N):E ( OUTPUT FLAGS:( MATH ERROR:!( INITIALIZATION WORKING:$( ILLEGAL SOLUTION INTERVAL:F OFFONF DONEWORKINGF OFFCLAMPED(ERROR, 1=YES 0=NO:FNONEERROR0$LEAD/LAG FILTER WITH GAIN  LEAD LAG'O PAGE 1 / 1 (INPUTS:( CLEAR TO INITIALIZE:( INPUT, X(N):( LEAD TERM:( LAG TERM:( GAIN:!( SOLUTION INTERVAL (MS):%(  TIME SINCE LAST SOLVE (MS):FYESNOEE EEI*I *( OUTPUT, Y(N):E ( OUTPUT FLAGS:( MATH ERROR:!( INITIALIZATION WORKING:$( ILLEGAL SOLUTION INTERVAL:F OFFONF DONEWORKINGF OFFCLAMPED(ERROR, 1=YES 0=NO:FNONEERROR% 'LIMIT INPUT BETWEEN HIGH AND LOW LIMITS LIMITER'O PAGE 1 / 1 (INPUTS:( HIGH LIMIT:( LOW LIMIT:( INPUT, X:EEE( OUTPUT, Y:E ( OUTPUT FLAGS:(  MATH ERROR:( INPUT > HIGH LIMIT:( INPUT < LOW LIMIT:"( HIGH LIMIT <= LOW LIMIT:F  OFFERRORF OFFCLAMPEDF OFFCLAMPEDF OFFON(ERROR, 1=YES 0=NO:FNONEERROR& LIMIT RATE OF CHANGE OF INPUTy VELOCITY LIMITER'O PAGE 1 / 1 (INPUTS:( CLEAR TO INITIALIZE: ( VELOCITY LIMIT (/SEC):( INPUT, X(N):!( SOLUTION INTERVAL (MS):%( TIME SINCE LAST SOLVE (MS):FYESNOE EI*I*( OUTPUT, Y(N):E  ( OUTPUT FLAGS:(  MATH ERROR:!(  INITIALIZATION WORKING:$( ILLEGAL SOLUTION INTERVAL:( INPUT > HIGH LIMIT:( INPUT < LOW LIMIT:"( NEGATIVE VELOCITY LIMIT:F  OFFONF  DONEWORKING F BADFOFFCLAMPEDFOFFCLAMPED FNEG(ERROR, 1=YES 0=NO:FNONEERROR'$SET UP MANUAL OR AUTO DATA SWITCHINGrAUTO/MANUAL STATION'O PAGE 1 / 1 (INPUTS:!( MODE: 0=AUTO, 1=MANUAL:( AUTO INPUT:( MANUAL INPUT:FAUTOMANUALEE ( OUTPUTE ( OUTPUT FLAGS:( MATH ERROR:( OUTPUT MODE:( 0=AUTO, 1=MANUAL:F OFFERRORF AUTOMANUAL(ERROR, 1=YES 0=NO:FNONEERROR) $APPROACH A TARGET SET POINT LINEARLY  RAMP GENERATOR'O PAGE 1 / 1 (INPUTS:( CLEAR TO INITIALIZE:( SET POINT, SP:( RATE OF RAMP (/SEC):!( SOLUTION INTERVAL (MS):%( TIME SINCE LAST SOLVE (MS):FYESNOEE I*I*( OUTPUT, Y(N):E  ( OUTPUT FLAGS:(  MATH ERROR:!(  INITIALIZATION WORKING:$( ILLEGAL SOLUTION INTERVAL:( RAMP COMPLETE:( RAMPING UP:( RAMPING DOWN:( NEGATIVE RAMP RATE:F  OFFONF  DONEWORKINGF OFFCLAMPEDFWORKINGDONE FUPFDOWN FNEG(ERROR, 1=YES 0=NO:FNONEERROR*)APPROACH TARGET SET POINT LOGARITHMICALLY"LOGARITHMIC RAMP GENERATOR'O PAGE 1 / 1 (INPUTS:( CLEAR TO INITIALIZE:( SET POINT, SP:&( TIME CONSTANT OF RAMP (SEC):( SNAP TO SP, WIDTH:!( SOLUTION INTERVAL (MS):%( TIME SINCE LAST SOLVE (MS):FYESNOEE E I*I*( OUTPUT, Y(N):E ( OUTPUT FLAGS:(  MATH ERROR:!( INITIALIZATION WORKING:$( ILLEGAL SOLUTION INTERVAL:( RAMP COMPLETE:( RAMPING UP:( RAMPING DOWN:,(& NEGATIVE SNAP WIDTH/TIME CONSTANT:F  OFFONF DONEWORKINGF OFFCLAMPEDFWORKINGDONE FUPFDOWN FNEG(ERROR, 1=YES 0=NO:FNONEERROR(+ (CALCULATE THE RATE OF CHANGE OF AN INPUT RATE (DERIVATIVE)'O PAGE 1 / 1 (INPUTS:( CLEAR TO INITIALIZE:( LIVE INPUT, X:#( LAST SAMPLED INPUT, X(N):!( SOLUTION INTERVAL (MS):%( TIME SINCE LAST SOLVE (MS):FYESNOEE I*I*( RATE (/SEC):E  ( OUTPUT FLAGS:( MATH ERROR:!( INITIALIZATION WORKING:$( ILLEGAL SOLUTION INTERVAL:F OFFONF DONEWORKINGF OFFCLAMPED(ERROR, 1=YES 0=NO:FNONEERROR, SELECT BETWEEN UP TO 4 INPUTS" HIGH/LOW/AVE SELECTER'O PAGE 1 / 1.((INPUT FLAGS, 1=ACTIVATED, 0=DEACTIVATED:( INPUT 1:( INPUT 2:( INPUT 3:( INPUT 4:( SELECTION CHOICE:&( 0=AVE, 1=LOW, 2=HIGHFINACTIVEACTIVEFINACTIVEACTIVEFINACTIVEACTIVEFINACTIVEACTIVE G*  ( INPUTS:( INPUT 1: ( INPUT 2: ( INPUT 3: ( INPUT 4: E E E E (OUTPUT:E ( OUTPUT FLAGS:( MATH ERROR:( NO INPUTS SELECTED:#( INVALID SELECTION CHOICE:F OFFONF OFFONF OFFON(ERROR, 1=YES 0=NO:FNONEERRORI +TWO STATE ON/OFF CONTROLLER WITH HYSTERESIS! ON/OFF CONTROLLER'O PAGE 1 / 1( INPUT FLAGS:( 0=DIRECT, 1=REVERSE:!( MODE, 0=AUTO, 1=MANUAL:*($ MANUAL, 0=FORCE OFF, 1=FORCE ON:FDIRECTREVERSEFAUTOMANUALFOFFON (INPUTS:( DEADBAND:( 'ON' OUTPUT:(  'OFF' OUTPUT:(  SET POINT, SP:(  INPUT, PV:EEE  E E ( OUTPUT, Y:E  ( OUTPUT FLAGS:( MATH ERROR:!( MODE, 0=AUTO, 1=MANUAL:#( ECHO OUTPUT, 0=OFF, 1=ON:( NEGATIVE DEADBAND:F OFFONF AUTOMANUALF OFFON F NEG(ERROR, 1=YES 0=NO:FNONEERRORhK+PID"+PID'O PAGE 1 / 3 (MODES:( MANUAL OVERRIDE:( 0=AUTO, 1=HALT:( PROPORTIONAL:( INTEGRAL:( DERIVATIVE:FAUTOMANUALFHALTF DISABLEDP ONF DISABLEDI ONF DISABLEDD ON(TUNING CONSTANTS:( GAIN, KP:)( # INTEGRAL TIME (SEC/REPEAT), TI:$(  DERIVATIVE TIME (SEC), TD:E  E "E $ ( INPUTS:(  MANUAL OUTPUT:%( SOLUTION INTERVAL (MS), TS:( SET POINT, SP:!( CONTROLLED INPUT, X(N):E I*EE(OUTPUTS:"( CONTROLLER OUTPUT, Y(N):E*(ERROR, 1=YES 0=NO:FNONEERROR@ +PID'O PAGE 2 / 3$(DERIVATIVE BASIS, 0=XD OR 1=X:(SUMMING JUNCTION:(HIGH LIMIT FOR OUTPUT:(LOW LIMIT FOR OUTPUT: F XDXE E&E((CONTROL SUMMARY:( SET POINT, SP:!(  CONTROLLED INPUT, X(N):(  DEVIATION, XD:(  P CONTRIBUTION:(  I CONTRIBUTION:(  D CONTRIBUTION:EE E  E E E (CONTROLLER OUTPUT, Y(N):E*(TUNING CONSTANTS:( GAIN, KP:"( INTEGRAL TIME (SEC), TI:$( DERIVATIVE TIME (SEC), TD:E E"E$@+PID'O PAGE 3 / 3(OUTPUTS:( ERROR:( ERROR WORD:*($ 21 = HIGH LIMIT <= LOW LIMIT)(# 22 = NEGATIVE INTEGRAL TIME+(% 23 = NEGATIVE DERIVATIVE TIME( MATH ERROR:!(  INITIALIZATION WORKING:$(  ILLEGAL SOLUTION INTERVAL:(  OUTPUT HIGH:(  OUTPUT LOW:FOFFOND*F OFFONF  DONEWORKINGF  OFFCLAMPEDF HIGH F LOW( TIMER DATA:( CLEAR TO INITIALIZE:%( SOLUTION INTERVAL (MS), TS:%( TIME SINCE LAST SOLVE (MS):FYESNOI*I*(CONTROLLER OUTPUT, Y(N):E*^CTIF>SFunction 'CTIF'~61CTIF: Interrupt and Counter/Timer Input Interface'O Page 1 / 3( Error Code:( 0000 No error detected0(* 0001 Unsupported operation type specified2(, 0010 Interrupt 2 not supported in this mode?(9 0011 Interrupt 3 not supported while counter is selected((" 0100 Counter value of 0 specified+( % 0101 Counter value too big (>16,383)7( 1 0110 Operation type supported only on local drop)( # 0111 Specified drop not in I/O Map/( ) 1000 No subroutine for enabled interrupt$(  1001 Remote drop is unhealthyJ4+ C4,(Operation Type( 00 Set Mode( 01 Get Mode C4,3~61CTIF: Interrupt and Counter/Timer Input Interface'O Page 2 / 3*($Control setup for Set Mode operationJ4+0(*Terminal-count load: 0= Disable, 1= Enable C4,&( Int service for int3: 01 disable%( 10 enable C4,&( Int service for int2: 01 disable%(  10 enable C4,&( Int service for int1: 01 disable%(  10 enable C 4,/( )Int service for timer-counter: 01 disable.( ( 10 enable C 4, (("Auto-restart operation: 01 disable'(! 10 enable C4, &( Counter-timer operation: 01 stop'(! 10 start C4, *($Timer-counter mode: 01 Counter mode*($ 10 Timer mode C4,361CTIF: Interrupt and Counter/Timer Input Interface'O Page 3 / 3#(Status for Get Mode OperationJ4+)(#1= no subroutine for int3 interrupt)(#1= no subroutine for int2 interrupt)(#1= no subroutine for int1 interrupt,(&1= no subroutine for timer-counter int( 1= Int3 enabled( 1= Int2 enabled( 1= Int1 enabled.( (1= timer-counter input interrupt enabled&( 1= enable auto restart operation(("1= counter-timer operation started$(0= Counter Mode, 1= Timer Mode B401 B401 B401 B401 B 4 01 B 4 01 B 4 01 B 4 01 B 401 B401 B401SCIF>Function 'SCIF'-(SCIF: Sequencer/Drum Control Instruction'O Page 1 / 1( Step pointerJ0*.((0= drum mode or Ŀ......................(1= ICMP mode .((Drum mode: masked output data or Ŀ.....)(#ICMP mode: raw input data .((Current step data or ....................( (Drum mode: output maskĿ............... ( ICMP mode: input mask .( (Drum mode: reserved Ŀ.........%( ICMP mode: masked input data .( (Drum mode: reserved Ŀ............"(ICMP mode: compare status .((First data table register ..............K0+K0+K0+K 0+K 0+K 0+K0+COMM> Function 'COMM'' &!COMM: Simple ASCII Communications'O Page 1 / 2(Operation type (decimal)3(- 1000 flush input buffer in a read operation:(4 1001 flush specified input bytes in read operation1(+ 1010 read ASCII character (no CR, no LF)1(+ 1110 write ASCII character (no CR, no LF)+(% 1020 read ASCII character (CR, LF)4(. 1031-1034 read integers 1..4 (no CR, no LF)4( . 1131-1134 write integers 1..4 (no CR, no LF).( ( 1041-1044 read integers 1..4 (CR, LF).( ( 1141-1144 write integers 1..4 (CR, LF)@0*'  &!COMM: Simple ASCII Communications'O Page 2 / 2( Error status-('Number of data fields provided/expected%(Number of data fields processed(Reserved for Modicon use( Port number(Reserved for Modicon use(Reserved for Modicon use( Reserved for Modicon use( Active status timer@0*@0*@0*@0*@0*@0*@0*@ 0*@ 0* MRTM=Function 'MRTM'g )$MRTM: Multi Register Transfer Module'O Page 1 / 1!(Start of Instruction Blocks(End of Program Table*($====================================*($Reg Address of Device Output in TCop*($Reg Address of Device Input in TCop#(Program Pointer, used by MRTM( Error Code Mask@*@*D*D*D*D *+MSTR4 Function 'MSTR' /*MSTR: Modbus Plus Network Node Transaction'O Page 1 / 1#(MSTR Operation Function Code:( Error Status:&( Number of Registers Transferred:%(Function-dependent Information:,(&Routing 1, Destination Device Address:,(&Routing 2, Destination Device Address:,( &Routing 3, Destination Device Address:,( &Routing 4, Destination Device Address:,( &Routing 5, Destination Device Address:@*@+@*@*@*@*@ *@ *@ *( Function Codes:0(*1 -> WRITE DATA 2 -> READ DATA=(73 -> GET LOCAL STATISTICS 4 -> CLEAR LOCAL STATISTICS;(55 -> WRITE GLOBAL DATABASE 6 -> READ GLOBAL DATABASE>(87 -> GET REMOTE STATISTICS 8 -> CLEAR REMOTE STATISTICS(9 -> PEER COP HEALTHREAD8Function 'READ' &!READ: Read Data from ASCII Device'O Page 1 / 1( Port Number:( Error Code: (Initial Register Combined:(Message Number:#(Number of Registers Required:#(Number of Registers Received:( Status of Solve:"( Checksum of Registers 0...5:+( %The bit order on the initial register6( 0is reversed from that shown in the System Manual C*  C+ @+@*@*@*@ *@ +WRIT9Function 'WRIT' % WRIT: Write Data to ASCII Device'O Page 1 / 1( Port Number:( Error Code: (Initial Register Combined:(Message Number:#(Number of Registers Required:&( Number of Registers Transmitted:( Status of Solve:"( Checksum of Registers 0...5:+( %The bit order on the initial register6( 0is reversed from that shown in the System Manual G*  G+ D+D*D*D*D *D +STAT:}7STAT for S908 Protocol '"STAT: Read Controller Status Table'O Page 1 /55(Controller Status Word 1$(--- Bits 13 to 16 reserved ---(1 = battery failed(1 = memory protect OFF(1 = run light OFF(1 = AC power ON( 1 = 16 bit system#( 1 = enable single sweep delay( 1 = enable constant sweep@+ B 01 B 01 B 01 B 01 B 01 B 01 B 01 '"STAT: Read Controller Status Table'O Page 2 /55'(!Status Word 2: Hot Standby Status(Local System State!(00 = not used, 01 = offline!(10 = primary, 11 = standby(Remote System State!(00 = not used, 01 = offline!( 10 = primary, 11 = standby)( #0 = controllers have matching logic!( 0 = controller toggled to A#( --- Bits 2 to 10 reserved ---'( !1 = S911/R911 Present and Healthy@+ C+ C+  B  01 B  01 B 01H '"STAT: Read Controller Status Table'O Page 3 /55( Status Word 3( Single Sweeps#(--- Bits 5 to 12 reserved ---(1 = exiting dim awareness'(!1 = constant sweep times exceeded(1 = start command pending( 1 = first scan@+ C*  B01 B01 B01 B 01H'"STAT: Read Controller Status Table'O Page 4 /55( Status Word 4(I/O Error Code(000 = I/O did not respond#(001 = no response on loopback&( 010 = failed loopback data check%(011 = timeout awaiting response&(  100 = I/O did not accept message#( --- Bits 5 to 13 reserved ---( 1 =IOP memory failure( 1 =IOP loopback failure( 1 =IOP timeout( 1 =IOP bad@+ C, B 01 B 01 B 01 B01$'"STAT: Read Controller Status Table'O Page 5 /55( Status Word 5(1 = Bad Config#(1 = coil disabled in run mode(1 = logic checksum error(1 = invalid node(1 = iop failure!(1 = cpu logic solver failed( 1 = real time clock error ( 1 = watchdog timer expired( 1 = invalid traffic cop( 1 = state ram test failed)( #1 = start of node did not start seg#(1 = segment scheduler invalid)(#1 = illegal peripheral intervention%(1 = controller in dim awareness&( 1 = ext mem parity or tcop error(1 = peripheral port stop@+ B01 B01 B01 B 01 B 01 B 01 B  01 B  01 B 01 B 01 B 01 B01 B01 B01 B01 B01'"STAT: Read Controller Status Table'O Page 6 /55( Status Word 6(Number of segments@*( Status word 7"(end of logic pointer address@+ '"STAT: Read Controller Status Table'O Page 7 /55( Status word 8(RIO timeout constant#(--- bits 2 to 12 reserved ---(1 = RIO redundant cables( Status word 9 (1 = message checksum error( 1 = invalid message!( 1 = invalid message pointer'( !1 = mismatch: # msgs and pointers#( --- BITS 1 TO 12 RESERVED ---(Status word 10(Run/Load/Debug Status( DEBUG = 00( RUN = 01( LOAD = 10#(--- BITS 1 TO 14 RESERVED ---( (Status Word 11: reserved@+ C*  B01@+ B01 B 01 B 01 B  01@+ C, @* $ '"STAT: Read Controller Status Table'O Page 8 /55#(S908 I/O Module Health Status4(.Bits 1 to 11 represent status of slots 1 to 11.(((1 = healthy) Bits 12 to 16 are reserved( ( Drop 1 Rack 1( Drop 1 Rack 2( Drop 1 Rack 3(  Drop 1 Rack 4(  Drop 1 Rack 5(  Drop 2 Rack 1(  Drop 2 Rack 2(  Drop 2 Rack 3( Drop 2 Rack 4( Drop 2 Rack 5( Drop 3 Rack 1( Drop 3 Rack 2( Drop 3 Rack 3( Drop 3 Rack 4( Drop 3 Rack 5 C,  C,  C,  C , C , C , C , C , C, C, C, C, C, C, C,  $('"STAT: Read Controller Status Table'O Page 9 /55#(S908 I/O Module Health Status4(.Bits 1 to 11 represent status of slots 1 to 11.(((1 = healthy) Bits 12 to 16 are reserved( ( Drop 4 Rack 1( Drop 4 Rack 2( Drop 4 Rack 3(  Drop 4 Rack 4(  Drop 4 Rack 5(  Drop 5 Rack 1(  Drop 5 Rack 2(  Drop 5 Rack 3( Drop 5 Rack 4( Drop 5 Rack 5( Drop 6 Rack 1( Drop 6 Rack 2( Drop 6 Rack 3( Drop 6 Rack 4( Drop 6 Rack 5 C, C, C, C , C , C , C ,  C ,! C," C,# C,$ C,% C,& C,' C,(  $)7'"STAT: Read Controller Status Table'O Page 10 /55#(S908 I/O Module Health Status4(.Bits 1 to 11 represent status of slots 1 to 11.(((1 = healthy) Bits 12 to 16 are reserved( ( Drop 7 Rack 1( Drop 7 Rack 2( Drop 7 Rack 3(  Drop 7 Rack 4(  Drop 7 Rack 5(  Drop 8 Rack 1(  Drop 8 Rack 2(  Drop 8 Rack 3( Drop 8 Rack 4( Drop 8 Rack 5( Drop 9 Rack 1( Drop 9 Rack 2( Drop 9 Rack 3( Drop 9 Rack 4( Drop 9 Rack 5 C,) C,* C,+ C ,, C ,- C ,. C ,/ C ,0 C,1 C,2 C,3 C,4 C,5 C,6 C,7  $8F'"STAT: Read Controller Status Table'O Page 11 /55#(S908 I/O Module Health Status4(.Bits 1 to 11 represent status of slots 1 to 11.(((1 = healthy) Bits 12 to 16 are reserved( (Drop 10 Rack 1(Drop 10 Rack 2(Drop 10 Rack 3( Drop 10 Rack 4( Drop 10 Rack 5( Drop 11 Rack 1( Drop 11 Rack 2( Drop 11 Rack 3(Drop 11 Rack 4(Drop 11 Rack 5(Drop 12 Rack 1(Drop 12 Rack 2(Drop 12 Rack 3(Drop 12 Rack 4(Drop 12 Rack 5 C,8 C,9 C,: C ,; C ,< C ,= C ,> C ,? C,@ C,A C,B C,C C,D C,E C,F  $GU'"STAT: Read Controller Status Table'O Page 12 /55#(S908 I/O Module Health Status4(.Bits 1 to 11 represent status of slots 1 to 11.(((1 = healthy) Bits 12 to 16 are reserved( (Drop 13 Rack 1(Drop 13 Rack 2(Drop 13 Rack 3( Drop 13 Rack 4( Drop 13 Rack 5( Drop 14 Rack 1( Drop 14 Rack 2( Drop 14 Rack 3(Drop 14 Rack 4(Drop 14 Rack 5(Drop 15 Rack 1(Drop 15 Rack 2(Drop 15 Rack 3(Drop 15 Rack 4(Drop 15 Rack 5 C,G C,H C,I C ,J C ,K C ,L C ,M C ,N C,O C,P C,Q C,R C,S C,T C,U  $Vd'"STAT: Read Controller Status Table'O Page 13 /55#(S908 I/O Module Health Status4(.Bits 1 to 11 represent status of slots 1 to 11.(((1 = healthy) Bits 12 to 16 are reserved( (Drop 16 Rack 1(Drop 16 Rack 2(Drop 16 Rack 3( Drop 16 Rack 4( Drop 16 Rack 5( Drop 17 Rack 1( Drop 17 Rack 2( Drop 17 Rack 3(Drop 17 Rack 4(Drop 17 Rack 5(Drop 18 Rack 1(Drop 18 Rack 2(Drop 18 Rack 3(Drop 18 Rack 4(Drop 18 Rack 5 C,V C,W C,X C ,Y C ,Z C ,[ C ,\ C ,] C,^ C,_ C,` C,a C,b C,c C,d $es'"STAT: Read Controller Status Table'O Page 14 /55#(S908 I/O Module Health Status4(.Bits 1 to 11 represent status of slots 1 to 11.(((1 = healthy) Bits 12 to 16 are reserved( (Drop 19 Rack 1(Drop 19 Rack 2(Drop 19 Rack 3( Drop 19 Rack 4( Drop 19 Rack 5( Drop 20 Rack 1( Drop 20 Rack 2( Drop 20 Rack 3(Drop 20 Rack 4(Drop 20 Rack 5(Drop 21 Rack 1(Drop 21 Rack 2(Drop 21 Rack 3(Drop 21 Rack 4(Drop 21 Rack 5 C,e C,f C,g C ,h C ,i C ,j C ,k C ,l C,m C,n C,o C,p C,q C,r C,s $t'"STAT: Read Controller Status Table'O Page 15 /55#(S908 I/O Module Health Status4(.Bits 1 to 11 represent status of slots 1 to 11.(((1 = healthy) Bits 12 to 16 are reserved( (Drop 22 Rack 1(Drop 22 Rack 2(Drop 22 Rack 3( Drop 22 Rack 4( Drop 22 Rack 5( Drop 23 Rack 1( Drop 23 Rack 2( Drop 23 Rack 3(Drop 23 Rack 4(Drop 23 Rack 5(Drop 24 Rack 1(Drop 24 Rack 2(Drop 24 Rack 3(Drop 24 Rack 4(Drop 24 Rack 5 C,t C,u C,v C ,w C ,x C ,y C ,z C ,{ C,| C,} C,~ C, C, C, C, $'"STAT: Read Controller Status Table'O Page 16 /55#(S908 I/O Module Health Status4(.Bits 1 to 11 represent status of slots 1 to 11.(((1 = healthy) Bits 12 to 16 are reserved( (Drop 25 Rack 1(Drop 25 Rack 2(Drop 25 Rack 3( Drop 25 Rack 4( Drop 25 Rack 5( Drop 26 Rack 1( Drop 26 Rack 2( Drop 26 Rack 3(Drop 26 Rack 4(Drop 26 Rack 5(Drop 27 Rack 1(Drop 27 Rack 2(Drop 27 Rack 3(Drop 27 Rack 4(Drop 27 Rack 5 C, C, C, C , C , C , C , C , C, C, C, C, C, C, C, $'"STAT: Read Controller Status Table'O Page 17 /55#(S908 I/O Module Health Status4(.Bits 1 to 11 represent status of slots 1 to 11.(((1 = healthy) Bits 12 to 16 are reserved( (Drop 28 Rack 1(Drop 28 Rack 2(Drop 28 Rack 3( Drop 28 Rack 4( Drop 28 Rack 5( Drop 29 Rack 1( Drop 29 Rack 2( Drop 29 Rack 3(Drop 29 Rack 4(Drop 29 Rack 5(Drop 30 Rack 1(Drop 30 Rack 2(Drop 30 Rack 3(Drop 30 Rack 4(Drop 30 Rack 5 C, C, C, C , C , C , C , C , C, C, C, C, C, C, C, '"STAT: Read Controller Status Table'O Page 18 /55#(S908 I/O Module Health Status4(.Bits 1 to 11 represent status of slots 1 to 11.(((1 = healthy) Bits 12 to 16 are reserved( (Drop 31 Rack 1(Drop 31 Rack 2(Drop 31 Rack 3( Drop 31 Rack 4( Drop 31 Rack 5( Drop 32 Rack 1( Drop 32 Rack 2( Drop 32 Rack 3(Drop 32 Rack 4(Drop 32 Rack 5 C, C, C, C , C , C , C , C , C, C, '"STAT: Read Controller Status Table'O Page 19 /55(S908 Startup Error Code( (01 bad traffic cop length#(02 bad remote I/O link number+(%03 bad number of drops in Traffic cop!(04 bad traffic cop checksum#(10 bad drop descriptor length( 11 bad i/o drop number( 12 bad drop holdup time( 13 bad ascii port number#( 14 bad number modules in drop ( 15 drop already configured (16 port already configured%(17 more than 1024 output points$(18 more than 1024 input points (20 bad module slot address (21 bad module rack address#(22 bad number of output bytes@*'"STAT: Read Controller Status Table'O Page 20 /55(S908 Startup Error Code( "(23 bad number of input bytes#(25 bad first reference number$(26 bad second reference number!(27 no input or output bytes(("28 discrete not on 16 bit boundary#( 30 unpaired odd output module"( 31 unpaired odd input module'( !32 unmatched odd module reference"( 33 1x reference after 3x ref&(  34 dummy module ref already used(35 3x module not a dummy(36 4x module not a dummy#(40 dummy, then real 1x module(41 real, then 1x module#(42 dummy, then real 3x module#(43 real, then dummy 3x module@*G'"STAT: Read Controller Status Table'O Page 21 /55(Cable A error Words(Status Word 173(Framing error count (DMA receiver overrun count(Status Word 174(Receiver error count(Bad drop reception count( Status Word 175( Last LAN error code ( --- bit 16 is reserved ---( 1 = overrun error( 1 = alignment error( 1 = CRC error#(--- bits 3 to 12 reserved ---(1 = no end-of-frame(1 = short frame C* C*  C* C* @ + B 01 B 01 B 01 B01 B01GG'"STAT: Read Controller Status Table'O Page 22 /55(Cable B error Words(Status Word 176(Framing error count (DMA receiver overrun count(Status Word 177(Receiver error count(Bad drop reception count( Status Word 178( Last LAN error code ( --- bit 16 is reserved ---( 1 = overrun error( 1 = alignment error( 1 = CRC error#(--- bits 3 to 12 reserved ---(1 = no end-of-frame(1 = short frame C* C*  C* C* @ + B 01 B 01 B 01 B01 B01_G'"STAT: Read Controller Status Table'O Page 23 /55!(Global Communication Status( (Word 179(cumulative retry counter (lost communication counter(--- bit 4 reserved ---(1 = cable B status OK( 1 = cable A status OK"( 1 = Communications Health OK(  .( (Word 180: cumulative error count Cable A( framing error count(no response count( .((Word 181: cumulative error count Cable B(framing error count(no response count@+ C*  C* B01 B 01 B 01 C * C*  C* C* I_'"STAT: Read Controller Status Table'O Page 24 /55(("Remote I/O Status Words for Drop 1(Word 182!(1 = communication health OK(1 = cable A status OK(1 = cable B status OK(--- bit 4 reserved ---!(lost communications counter( cumulative retry counter(  ( Word 183%( cable A, cumulative error count ( cable A, no response count( (Word 184%(cable B, cumulative error count (cable B, no response count@+ B01 B01 B01 C* C *  C * C *  C* C* II'"STAT: Read Controller Status Table'O Page 25 /55(("Remote I/O Status Words for Drop 2(Word 185!(1 = communication health OK(1 = cable A status OK(1 = cable B status OK(--- bit 4 reserved ---!(lost communications counter( cumulative retry counter(  ( Word 186%( cable A, cumulative error count ( cable A, no response count( (Word 187%(cable B, cumulative error count (cable B, no response count@+ B01 B01 B01 C* C *  C * C *  C* C* II'"STAT: Read Controller Status Table'O Page 26 /55(("Remote I/O Status Words for Drop 3(Word 188!(1 = communication health OK(1 = cable A status OK(1 = cable B status OK(--- bit 4 reserved ---!(lost communications counter( cumulative retry counter(  ( Word 189%( cable A, cumulative error count ( cable A, no response count( (Word 190%(cable B, cumulative error count (cable B, no response count@+ B01 B01 B01 C* C *  C * C *  C* C* II'"STAT: Read Controller Status Table'O Page 27 /55(("Remote I/O Status Words for Drop 4(Word 191!(1 = communication health OK(1 = cable A status OK(1 = cable B status OK(--- bit 4 reserved ---!(lost communications counter( cumulative retry counter(  ( Word 192%( cable A, cumulative error count ( cable A, no response count( (Word 193%(cable B, cumulative error count (cable B, no response count@+ B01 B01 B01 C* C *  C * C *  C* C* II'"STAT: Read Controller Status Table'O Page 28 /55(("Remote I/O Status Words for Drop 5(Word 194!(1 = communication health OK(1 = cable A status OK(1 = cable B status OK(--- bit 4 reserved ---!(lost communications counter( cumulative retry counter(  ( Word 195%( cable A, cumulative error count ( cable A, no response count( (Word 196%(cable B, cumulative error count (cable B, no response count@+ B01 B01 B01 C* C *  C * C *  C* C* II'"STAT: Read Controller Status Table'O Page 29 /55(("Remote I/O Status Words for Drop 6(Word 197!(1 = communication health OK(1 = cable A status OK(1 = cable B status OK(--- bit 4 reserved ---!(lost communications counter( cumulative retry counter(  ( Word 198%( cable A, cumulative error count ( cable A, no response count( (Word 199%(cable B, cumulative error count (cable B, no response count@+ B01 B01 B01 C* C *  C * C *  C* C* II'"STAT: Read Controller Status Table'O Page 30 /55(("Remote I/O Status Words for Drop 7(Word 200!(1 = communication health OK(1 = cable A status OK(1 = cable B status OK(--- bit 4 reserved ---!(lost communications counter( cumulative retry counter(  ( Word 201%( cable A, cumulative error count ( cable A, no response count( (Word 202%(cable B, cumulative error count (cable B, no response count@+ B01 B01 B01 C* C *  C * C *  C* C* II'"STAT: Read Controller Status Table'O Page 31 /55(("Remote I/O Status Words for Drop 8(Word 203!(1 = communication health OK(1 = cable A status OK(1 = cable B status OK(--- bit 4 reserved ---!(lost communications counter( cumulative retry counter(  ( Word 204%( cable A, cumulative error count ( cable A, no response count( (Word 205%(cable B, cumulative error count (cable B, no response count@+ B01 B01 B01 C* C *  C * C *  C* C* II '"STAT: Read Controller Status Table'O Page 32 /55(("Remote I/O Status Words for Drop 9(Word 206!(1 = communication health OK(1 = cable A status OK(1 = cable B status OK(--- bit 4 reserved ---!(lost communications counter( cumulative retry counter(  ( Word 207%( cable A, cumulative error count ( cable A, no response count( (Word 208%(cable B, cumulative error count (cable B, no response count@+ B01 B01 B01 C* C *  C * C *  C* C* JI!'"STAT: Read Controller Status Table'O Page 33 /55)(#Remote I/O Status Words for Drop 10(Word 209!(1 = communication health OK(1 = cable A status OK(1 = cable B status OK(--- bit 4 reserved ---!(lost communications counter( cumulative retry counter(  ( Word 210%( cable A, cumulative error count ( cable A, no response count( (Word 211%(cable B, cumulative error count (cable B, no response count@+ B01 B01 B01 C* C *  C * C *  C* C* JJ"'"STAT: Read Controller Status Table'O Page 34 /55)(#Remote I/O Status Words for Drop 11(Word 212!(1 = communication health OK(1 = cable A status OK(1 = cable B status OK(--- bit 4 reserved ---!(lost communications counter( cumulative retry counter(  ( Word 213%( cable A, cumulative error count ( cable A, no response count( (Word 214%(cable B, cumulative error count (cable B, no response count@+ B01 B01 B01 C* C *  C * C *  C* C* JJ#'"STAT: Read Controller Status Table'O Page 35 /55)(#Remote I/O Status Words for Drop 12(Word 215!(1 = communication health OK(1 = cable A status OK(1 = cable B status OK(--- bit 4 reserved ---!(lost communications counter( cumulative retry counter(  ( Word 216%( cable A, cumulative error count ( cable A, no response count( (Word 217%(cable B, cumulative error count (cable B, no response count@+ B01 B01 B01 C* C *  C * C *  C* C* JJ$'"STAT: Read Controller Status Table'O Page 36 /55)(#Remote I/O Status Words for Drop 13(Word 218!(1 = communication health OK(1 = cable A status OK(1 = cable B status OK(--- bit 4 reserved ---!(lost communications counter( cumulative retry counter(  ( Word 219%( cable A, cumulative error count ( cable A, no response count( (Word 220%(cable B, cumulative error count (cable B, no response count@+ B01 B01 B01 C* C *  C * C *  C* C* JJ%'"STAT: Read Controller Status Table'O Page 37 /55)(#Remote I/O Status Words for Drop 14(Word 221!(1 = communication health OK(1 = cable A status OK(1 = cable B status OK(--- bit 4 reserved ---!(lost communications counter( cumulative retry counter(  ( Word 222%( cable A, cumulative error count ( cable A, no response count( (Word 223%(cable B, cumulative error count (cable B, no response count@+ B01 B01 B01 C* C *  C * C *  C* C* JJ&'"STAT: Read Controller Status Table'O Page 38 /55)(#Remote I/O Status Words for Drop 15(Word 224!(1 = communication health OK(1 = cable A status OK(1 = cable B status OK(--- bit 4 reserved ---!(lost communications counter( cumulative retry counter(  ( Word 225%( cable A, cumulative error count ( cable A, no response count( (Word 226%(cable B, cumulative error count (cable B, no response count@+ B01 B01 B01 C* C *  C * C *  C* C* JJ''"STAT: Read Controller Status Table'O Page 39 /55)(#Remote I/O Status Words for Drop 16(Word 227!(1 = communication health OK(1 = cable A status OK(1 = cable B status OK(--- bit 4 reserved ---!(lost communications counter( cumulative retry counter(  ( Word 228%( cable A, cumulative error count ( cable A, no response count( (Word 229%(cable B, cumulative error count (cable B, no response count@+ B01 B01 B01 C* C *  C * C *  C* C* JJ('"STAT: Read Controller Status Table'O Page 40 /55)(#Remote I/O Status Words for Drop 17(Word 230!(1 = communication health OK(1 = cable A status OK(1 = cable B status OK(--- bit 4 reserved ---!(lost communications counter( cumulative retry counter(  ( Word 231%( cable A, cumulative error count ( cable A, no response count( (Word 232%(cable B, cumulative error count (cable B, no response count@+ B01 B01 B01 C* C *  C * C *  C* C* JJ)'"STAT: Read Controller Status Table'O Page 41 /55)(#Remote I/O Status Words for Drop 18(Word 233!(1 = communication health OK(1 = cable A status OK(1 = cable B status OK(--- bit 4 reserved ---!(lost communications counter( cumulative retry counter(  ( Word 234%( cable A, cumulative error count ( cable A, no response count( (Word 235%(cable B, cumulative error count (cable B, no response count@+ B01 B01 B01 C* C *  C * C *  C* C* JJ*'"STAT: Read Controller Status Table'O Page 42 /55)(#Remote I/O Status Words for Drop 19(Word 236!(1 = communication health OK(1 = cable A status OK(1 = cable B status OK(--- bit 4 reserved ---!(lost communications counter( cumulative retry counter(  ( Word 237%( cable A, cumulative error count ( cable A, no response count( (Word 238%(cable B, cumulative error count (cable B, no response count@+ B01 B01 B01 C* C *  C * C *  C* C* JJ+'"STAT: Read Controller Status Table'O Page 43 /55)(#Remote I/O Status Words for Drop 20(Word 239!(1 = communication health OK(1 = cable A status OK(1 = cable B status OK(--- bit 4 reserved ---!(lost communications counter( cumulative retry counter(  ( Word 240%( cable A, cumulative error count ( cable A, no response count( (Word 241%(cable B, cumulative error count (cable B, no response count@+ B01 B01 B01 C* C *  C * C *  C* C* JJ,'"STAT: Read Controller Status Table'O Page 44 /55)(#Remote I/O Status Words for Drop 21(Word 242!(1 = communication health OK(1 = cable A status OK(1 = cable B status OK(--- bit 4 reserved ---!(lost communications counter( cumulative retry counter(  ( Word 243%( cable A, cumulative error count ( cable A, no response count( (Word 244%(cable B, cumulative error count (cable B, no response count@+ B01 B01 B01 C* C *  C * C *  C* C* JJ-'"STAT: Read Controller Status Table'O Page 45 /55)(#Remote I/O Status Words for Drop 22(Word 245!(1 = communication health OK(1 = cable A status OK(1 = cable B status OK(--- bit 4 reserved ---!(lost communications counter( cumulative retry counter(  ( Word 246%( cable A, cumulative error count ( cable A, no response count( (Word 247%(cable B, cumulative error count (cable B, no response count@+ B01 B01 B01 C* C *  C * C *  C* C* JJ.'"STAT: Read Controller Status Table'O Page 46 /55)(#Remote I/O Status Words for Drop 23(Word 248!(1 = communication health OK(1 = cable A status OK(1 = cable B status OK(--- bit 4 reserved ---!(lost communications counter( cumulative retry counter(  ( Word 249%( cable A, cumulative error count ( cable A, no response count( (Word 250%(cable B, cumulative error count (cable B, no response count@+ B01 B01 B01 C* C *  C * C *  C* C* JJ/'"STAT: Read Controller Status Table'O Page 47 /55)(#Remote I/O Status Words for Drop 24(Word 251!(1 = communication health OK(1 = cable A status OK(1 = cable B status OK(--- bit 4 reserved ---!(lost communications counter( cumulative retry counter(  ( Word 252%( cable A, cumulative error count ( cable A, no response count( (Word 253%(cable B, cumulative error count (cable B, no response count@+ B01 B01 B01 C* C *  C * C *  C* C* JJ0'"STAT: Read Controller Status Table'O Page 48 /55)(#Remote I/O Status Words for Drop 25(Word 254!(1 = communication health OK(1 = cable A status OK(1 = cable B status OK(--- bit 4 reserved ---!(lost communications counter( cumulative retry counter(  ( Word 255%( cable A, cumulative error count ( cable A, no response count( (Word 256%(cable B, cumulative error count (cable B, no response count@+ B01 B01 B01 C* C *  C * C *  C* C* JJ1'"STAT: Read Controller Status Table'O Page 49 /55)(#Remote I/O Status Words for Drop 26(Word 257!(1 = communication health OK(1 = cable A status OK(1 = cable B status OK(--- bit 4 reserved ---!(lost communications counter( cumulative retry counter(  ( Word 258%( cable A, cumulative error count ( cable A, no response count( (Word 259%(cable B, cumulative error count (cable B, no response count@+ B01 B01 B01 C* C *  C * C *  C* C* JJ2'"STAT: Read Controller Status Table'O Page 50 /55)(#Remote I/O Status Words for Drop 27(Word 260!(1 = communication health OK(1 = cable A status OK(1 = cable B status OK(--- bit 4 reserved ---!(lost communications counter( cumulative retry counter(  ( Word 261%( cable A, cumulative error count ( cable A, no response count( (Word 262%(cable B, cumulative error count (cable B, no response count@+ B01 B01 B01 C* C *  C * C *  C* C* JJ3'"STAT: Read Controller Status Table'O Page 51 /55)(#Remote I/O Status Words for Drop 28(Word 263!(1 = communication health OK(1 = cable A status OK(1 = cable B status OK(--- bit 4 reserved ---!(lost communications counter( cumulative retry counter(  ( Word 264%( cable A, cumulative error count ( cable A, no response count( (Word 265%(cable B, cumulative error count (cable B, no response count@+ B01 B01 B01 C* C *  C * C *  C* C* JJ4  '"STAT: Read Controller Status Table'O Page 52 /55)(#Remote I/O Status Words for Drop 29(Word 266!(1 = communication health OK(1 = cable A status OK(1 = cable B status OK(--- bit 4 reserved ---!(lost communications counter( cumulative retry counter(  ( Word 267%( cable A, cumulative error count ( cable A, no response count( (Word 268%(cable B, cumulative error count (cable B, no response count@+  B 01 B 01 B 01 C*  C *   C *  C *   C*  C*  JJ5 '"STAT: Read Controller Status Table'O Page 53 /55)(#Remote I/O Status Words for Drop 30(Word 269!(1 = communication health OK(1 = cable A status OK(1 = cable B status OK(--- bit 4 reserved ---!(lost communications counter( cumulative retry counter(  ( Word 270%( cable A, cumulative error count ( cable A, no response count( (Word 271%(cable B, cumulative error count (cable B, no response count@+  B 01 B 01 B 01 C*  C *   C *  C *   C* C* JJ6'"STAT: Read Controller Status Table'O Page 54 /55)(#Remote I/O Status Words for Drop 31(Word 272!(1 = communication health OK(1 = cable A status OK(1 = cable B status OK(--- bit 4 reserved ---!(lost communications counter( cumulative retry counter(  ( Word 273%( cable A, cumulative error count ( cable A, no response count( (Word 274%(cable B, cumulative error count (cable B, no response count@+ B01 B01 B01 C* C *  C * C *  C* C* JJ7'"STAT: Read Controller Status Table'O Page 55 /55)(#Remote I/O Status Words for Drop 32(Word 275!(1 = communication health OK(1 = cable A status OK(1 = cable B status OK(--- bit 4 reserved ---!(lost communications counter( cumulative retry counter(  ( Word 276%( cable A, cumulative error count ( cable A, no response count( (Word 277%(cable B, cumulative error count (cable B, no response count@+ B01 B01 B01 C* C *  C * C *  C* C* %*STAT for S901 Protocol '"STAT: Read Controller Status Table'O Page 1 / 8(Controller Status Word 1$(--- Bits 13 to 16 reserved ---(1 = battery failed(1 = memory protect OFF(1 = run light OFF(1 = AC power ON( 1 = 16 bit system#( 1 = enable single sweep delay( 1 = enable constant sweep(  (  Status Word 2%(--- Reserved for future use ---@+ B 01 B 01 B 01 B 01 B 01 B 01 B 01H '"STAT: Read Controller Status Table'O Page 2 / 8( Status Word 3( Single Sweeps#(--- Bits 5 to 12 reserved ---(1 = exiting dim awareness'(!1 = constant sweep times exceeded(1 = start command pending( 1 = first scan@+ C*  B01 B01 B01 B 01H'"STAT: Read Controller Status Table'O Page 3 / 8( Status Word 4(I/O Error Code(000 = I/O did not respond#(001 = no response on loopback&( 010 = failed loopback data check%(011 = timeout awaiting response&(  100 = I/O did not accept message#( --- Bits 5 to 13 reserved ---( 1 =IOP memory failure( 1 =IOP loopback failure( 1 =IOP timeout( 1 =IOP bad@+ C, B 01 B 01 B 01 B01$'"STAT: Read Controller Status Table'O Page 4 / 8( Status Word 5(1 = Bad Config#(1 = coil disabled in run mode(1 = logic checksum error(1 = invalid node(1 = iop failure!(1 = cpu logic solver failed( 1 = real time clock error ( 1 = watchdog timer expired( 1 = invalid traffic cop( 1 = state ram test failed)( #1 = start of node did not start seg#(1 = segment scheduler invalid)(#1 = illegal peripheral intervention%(1 = controller in dim awareness&( 1 = ext mem parity or tcop error(1 = peripheral port stop@+ B01 B01 B01 B 01 B 01 B 01 B  01 B  01 B 01 B 01 B 01 B01 B01 B01 B01 B01'"STAT: Read Controller Status Table'O Page 5 / 8( Status Word 6(Number of segments@*( Status word 7"(end of logic pointer address@*S '"STAT: Read Controller Status Table'O Page 6 / 8( Status word 8(RIO timeout constant#(--- bits 2 to 12 reserved ---(1 = RIO redundant cables( Status word 9 (1 = message checksum error( 1 = invalid message!( 1 = invalid message pointer'( !1 = mismatch: # msgs and pointers#( --- BITS 1 TO 12 RESERVED ---(Status word 10(Run/Load/Debug Status( DEBUG = 00( RUN = 01( LOAD = 10#(--- BITS 1 TO 14 RESERVED ---@+ C*  B01@+ B01 B 01 B 01 B  01@+ C, qS$ '"STAT: Read Controller Status Table'O Page 7 / 8&( I/O Module Health Status, Inputs( (Channels 01 and 02(Channels 03 and 04(Channels 05 and 06(Channels 07 and 08(Channels 09 and 10( Channels 11 and 12( Channels 13 and 14( Channels 15 and 16( Channels 17 and 18( Channels 19 and 20(Channels 21 and 22(Channels 23 and 24(Channels 25 and 26(Channels 27 and 28(Channels 29 and 20(Channels 31 and 32@, @, @, @,@,@ ,@ ,@ ,@ ,@ ,@,@,@,@,@,@,rq$*'"STAT: Read Controller Status Table'O Page 8 / 8'(!I/O Module Health Status, Outputs( (Channels 01 and 02(Channels 03 and 04(Channels 05 and 06(Channels 07 and 08(Channels 09 and 10( Channels 11 and 12( Channels 13 and 14( Channels 15 and 16( Channels 17 and 18( Channels 19 and 20(Channels 21 and 22(Channels 23 and 24(Channels 25 and 26(Channels 27 and 28(Channels 29 and 20(Channels 31 and 32@,@,@,@,@,@ , @ ,!@ ,"@ ,#@ ,$@,%@,&@,'@,(@,)@,*)7STAT for Modicon Micro PLC '"STAT: Read Controller Status Table'O Page 1 /18(Controller Status Word 1$(--- Bits 13 to 16 reserved ---(1 = battery failed(--- Bit 11 reserved ---(1 = run light OFF(--- Bit 9 reserved ---( --- Bit 8 Reserved ---&(  1 = 16 bit user logic, 0= 24 bit#( 1 = enable single sweep delay( 1 = enable constant sweep@0+ B0 01 B0 01 B 001 B 001 B 001 '"STAT: Read Controller Status Table'O Page 2 /18%(Status Word 2: PLC Drop Address3(-1: PLC is configured in single or parent mode7(12: configured as child #1 on expanded I/O network7(13: configured as child #2 on expanded I/O network7(14: configured as child #3 on expanded I/O network7(15: configured as child #4 on expanded I/O network'( !--- Bits 1 to 13 are reserved --- C0* '"STAT: Read Controller Status Table'O Page 3 /18( Status Word 3( Single Sweeps#(--- Bits 4 to 12 reserved ---#(1 = scan time exceeded target(1 = START command pending(1 = first scan@0+ C0*  B001 B001 B001'"STAT: Read Controller Status Table'O Page 4 /18( Status Word 40(*Max number of drops allowed in I/O network(Always set to 4'(!--- bits 1 to 13 are reserved --- C0*5$'"STAT: Read Controller Status Table'O Page 5 /18( Status Word 5(1 = Bad PLC setup#(1 = coil disabled in run mode(1 = logic checksum error&( 1 = invalid node in ladder logic (1 = fatal error on PAB bus+(%1 = mismatch coil use table and coils( 1 = real time clock error ( 1 = watchdog timer expired#( 1 = invalid number DOIOs/EOLs( 1 = state ram test failed)( #1 = start of node did not start seg#(1 = segment scheduler invalid)(#1 = illegal peripheral intervention(--- bit 3 is reserved ---(1 = error in I/O map(1 = peripheral port stop@0+ B001 B001 B001 B0 01 B0 01 B0 01 B 0 01 B 0 01 B 001 B 001 B 001 B001 B001 B001 B001 B0015  '"STAT: Read Controller Status Table'O Page 6 /18( Status Word 6(Number of segments@0*( Status word 7"(end of logic pointer address@0+( Status word 8(--- reserved ---@0+( Status word 9( --- reserved ---@0+( Status word 10( 0= debug, 1=run, 2=load'( !--- bits 1 to 14 are reserved ---@ 0+ C 0* ( Status word 11(--- reserved ---@ 0+ E  '"STAT: Read Controller Status Table'O Page 7 /18(("Micro PLC I/O Module Health Status2(,Bits 1 to 5 represent status of slots 1 to 5-('(1 = healthy) Bits 6 to 16 are reserved( (PLC Fixed I/O( PLC Rack 2( PLC Rack 3(  PLC Rack 4(  ( Child 1 Fixed I/O( Child 1 Rack 2( Child 1 Rack 3(Child 1 Rack 4( (Child 2 Fixed I/O(Child 2 Rack 2(Child 2 Rack 3(Child 2 Rack 4 C,  C,  C,  C , C , C , C , C, C, C, C, C,E'"STAT: Read Controller Status Table'O Page 8 /18(("Micro PLC I/O Module Health Status2(,Bits 1 to 5 represent status of slots 1 to 5-('(1 = healthy) Bits 6 to 16 are reserved( (Child 3 Fixed I/O(Child 3 Rack 2(Child 3 Rack 3( Child 3 Rack 4(  ( Child 4 Fixed I/O( Child 4 Rack 2( Child 4 Rack 3(Child 4 Rack 4 C, C, C, C , C , C , C , C,p '"STAT: Read Controller Status Table'O Page 9 /18"(Micro PLC Startup Error Code( (01 bad I/O map length#(02 bad remote I/O link number*($03 bad number of children in I/O map(04 bad I/O map checksum#(10 bad drop descriptor length( 11 bad I/O drop number( 12 bad drop holdup time( 13 bad ascii port number!( 14 bad number slots in drop( 15 drop already set up!(16 comm port already set up%(17 more than 1024 output points$(18 more than 1024 input points(20 bad slot address(21 bad rack address#(22 bad number of output bytes@0*p '"STAT: Read Controller Status Table'O Page 10 /18"(Micro PLC Startup Error Code( "(23 bad number of input bytes#(25 bad first reference number$(26 bad second reference number!(27 no input or output bytes(("28 discrete not on 16 bit boundary#( 30 unpaired odd output module"( 31 unpaired odd input module)( #32 unmatched odd I/O unit reference"( 33 1x reference after 3x ref$( 34 dummy unit ref already used(35 3x ref not a dummy(36 4x ref not a dummy (40 dummy, then real 1x ref (41 real, then dummy 1x ref (42 dummy, then real 3x ref (43 real, then dummy 3x ref@0* '"STAT: Read Controller Status Table'O Page 11 /18"(Micro PLC Startup Error Code( $(44 too many I/O points in drop!(50 bad unit descriptor rack!(51 bad unit descriptor slot-('52 bad unit descriptor input byte count.((53 bad unit descriptor output byte count'( !54 I/O driver has not been loaded(( "55 unit can be used only in rack 1@0*  '"STAT: Read Controller Status Table'O Page 12 /18(Global Communications#(for Parent or Single-Mode PLC+(% Number of unrecoverable comm losses$( --- bits 2 to 8 reserved ---)(# 0= unsuccessful comm to any child(Global Communications(for child-mode PLC+( % Number of times holdup time expired$(  --- bits 2 to 8 reserved ---/( ) 0= no valid command before time expired C0*  C0*  C 0*  C 0*   !"'"STAT: Read Controller Status Table'O Page 13 /18/()Word 34: Additional Global Communications(For parent-mode PLC.((Number of retries due to prev comm error*($Number of no responses on the system C0*!  C0*!(For child-mode PLC((" Number of milliseconds remaining( on holdup time C 0*!B( (8 Apply to Child #1 (Have meaning only in parent units)/()No.of nonrecoverable comm losses at child"(--- bits 2 to 8 reserved ---+(%1= communication at specific child OK C0*(  C0*( C0*((Word 42:*($No.retries do to previous comm error*( $No. no responses from specific child C0*)  C 0*)( Word 43:.( (No.framing errors on received characters+( %No. CRC errors on received characters C 0**  C 0**( Word 44:.((No.overrun errors on received characters"(--- bits 5 to 8 reserved --- (1= last detected CRC error$(1= last detected framing error$(1= last detected overrun error(("1= last detected no response error C0*+  C0*+ C0*+ C0*+ C0*+ C0*+nn!,/'"STAT: Read Controller Status Table'O Page 16 /186(0Word 45: Communications on I/O Expansion Network>(8 Apply to Child #2 (Have meaning only in parent units)/()No.of nonrecoverable comm losses at child"(--- bits 2 to 8 reserved ---+(%1= communication at specific child OK C0*,  C0*, C0*,(Word 46:*($No.retries do to previous comm error*( $No. no responses from specific child C0*-  C 0*-( Word 47:.( (No.framing errors on received characters+( %No. CRC errors on received characters C 0*.  C 0*.( Word 48:.((No.overrun errors on received characters"(--- bits 5 to 8 reserved --- (1= last detected CRC error$(1= last detected framing error$(1= last detected overrun error(("1= last detected no response error C0*/  C0*/ C0*/ C0*/ C0*/ C0*/nn!03'"STAT: Read Controller Status Table'O Page 17 /186(0Word 49: Communications on I/O Expansion Network>(8 Apply to Child #3 (Have meaning only in parent units)/()No.of nonrecoverable comm losses at child"(--- bits 2 to 8 reserved ---+(%1= communication at specific child OK C0*0  C0*0 C0*0(Word 50:*($No.retries do to previous comm error*( $No. no responses from specific child C0*1  C 0*1( Word 51:.( (No.framing errors on received characters+( %No. CRC errors on received characters C 0*2  C 0*2( Word 52:.((No.overrun errors on received characters"(--- bits 5 to 8 reserved --- (1= last detected CRC error$(1= last detected framing error$(1= last detected overrun error(("1= last detected no response error C0*3  C0*3 C0*3 C0*3 C0*3 C0*3nn!47'"STAT: Read Controller Status Table'O Page 18 /186(0Word 53: Communications on I/O Expansion Network>(8 Apply to Child #4 (Have meaning only in parent units)/()No.of nonrecoverable comm losses at child"(--- bits 2 to 8 reserved ---+(%1= communication at specific child OK C0*4  C0*4 C0*4(Word 54:*($No.retries do to previous comm error*( $No. no responses from specific child C0*5  C 0*5( Word 55:.( (No.framing errors on received characters+( %No. CRC errors on received characters C 0*6  C 0*6( Word 56:.((No.overrun errors on received characters"(--- bits 5 to 8 reserved --- (1= last detected CRC error$(1= last detected framing error$(1= last detected overrun error(("1= last detected no response error C0*7  C0*7 C0*7 C0*7 C0*7 C0*7XMRD;Function 'XMRD')$XMRD: READ DATA FROM EXTENDED MEMORY'O Page 1 / 2(Status Register'(!1 = 'file number' parameter error'(!1 = 'starting address' parm error!(1 = 'count' parameter error"(1 = 'offset' parameter error(("1 = 'maximum registers' parm error ( 1 = non-existent state ram$( 1 = offset parameter too large( 1 = file boundary crossed( 1 = transfer completed( 1 = data transfer busy&( 1 = non-existent extended memory)(#1 = parity error in extended memory#(1 = power-up diagnostic error@+ B01 B01 B01 B 01 B 01 B  01 B 01 B 01 B 01 B 01 B01 B01 B01 )$XMRD: READ DATA FROM EXTENDED MEMORY'O Page 2 / 2( File Number( Start Address(Count of registers+(%Offset (running total registers read)(Maximum registers@*@*@*@*@*XMWT<Function 'XMWT'(#XMWT: WRITE DATA TO EXTENDED MEMORY'O Page 1 / 2(Status Register'(!1 = 'file number' parameter error'(!1 = 'starting address' parm error!(1 = 'count' parameter error"(1 = 'offset' parameter error(("1 = 'maximum registers' parm error ( 1 = non-existent state ram$( 1 = offset parameter too large( 1 = file boundary crossed( 1 = transfer completed( 1 = data transfer busy&( 1 = non-existent extended memory)(#1 = parity error in extended memory#(1 = power-up diagnostic error@+ B01 B01 B01 B 01 B 01 B  01 B 01 B 01 B 01 B 01 B01 B01 B01 (#XMWT: WRITE DATA TO EXTENDED MEMORY'O Page 2 / 2( File Number( Start Address(Count of registers*($Offset (running total regs. written)(Maximum registers@*@*@*@*@*ICMP1Function 'ICMP' '"ICMP: Input Compare for DRUM block'O Page 1 / 1( Step pointer:*($====================================(Raw Input Data:(Current Step Data:( Input Mask:(Masked Input Data:&( Compare Status (1 = miscompare):( Machine ID Number:( Profile ID Number:#( Number of Steps to be Solved:@*D*D,D,D,D ,D *D *D *VEARS0KFunction 'EARS'1"'"EARS: Event-Alarm Recording System'O Page 1 / 1*($State table register (5 means 40005)+(%Number of regs in state table (1..62)%(First register of history table&( Second register of history table%(Third register of history table&( Fourth register of history table@*@*@,@,@,@,+( %Max number of regs in circular buffer%( Q_take. Next reg to remove data&( Q_put. Next reg to get EARS data&( Last transaction number received,(&Q+count. # of words in circular buffer(Status/Error codes(Event number (1..992)&( Transition type:0 = neg, 1 = pos)(#Time stamp: 4 most significant bits*($Time stamp:16 least significant bits G *D * G *  G *D*D+ G* F01 G+D+EUCA0Function 'EUCA'/*EUCA: Engineering Unit Conversion & Alarms'O Page 1 / 1(Block 1 Status(Block 2 Status(Block 3 Status(Block 4 Status C, C, C,  C,  (Raw Analog Value (0..4095)"( SPV: Scaled Process Variable ( HEU: High Engineering Unit( LEU: Low Engineering Unit( DB: Deadband on alarming( HA: High Absolute Alarm(HW: High Warning Alarm(LW: Low Warning Alarm(LA: Low Absolute AlarmD*D *D *D *D *D *D*D*D*1(+Block Status Bits are the Following Alarms:F(@LeftMost Bit --> Next Bit --> Next Bit --> Rightmost BitE(?High Absolute --> High Warning --> Low Warning --> Low AbsoluteHLTH0Function 'HLTH'/*HLTH: Modicon 984 Advanced I/O Information'O Page 1 / 2(Drop Being Monitored(Checksum: High Word(Checksum: Low Word'(!1 = Input Disabled has been Found(( "1 = Output Disabled has been Found+( %Ptr to last input checked for disable,( &Ptr to last output checked for disable#( 1 = S911 present during Learn(1 = Monitor I/O Cable A(1 = Monitor I/O Cable BLEARN MODE ACTIVITY@*@*@* B01 B 01 C * C * B 01 B 01 B 01b/*HLTH: Modicon 984 Advanced I/O Information'O Page 2 / 2( Current Drop)(#Lost Communication Counter for Drop$(Retry Counter for Current Drop%(1 = All Drops Not Communicating ( 1 = Logic Checksum Changed"( 1 = At least one Disabled 1x"( 1 = At least one Disabled 0x ( 1 = Constant Sweep Enabled(1 = Memory Protect OFF(1 = Bad Battery(1 = S911 is Bad#(1 = Standby 984 is NOT ActiveMONITOR MODE ACTIVITY G* G*  G* F01 F 01 F 01 F 01 F 01 F 01 F 01 F 01 F01 MAP34Function 'MAP3' )$MAP3: Communication over MAP Network'O Page 1 / 1(Destination Device+(%Qualifier (0 = addressed; >0 = named)( Function Code,(&Network Mode (1= Association Oriented)+(%Network Type (7= 7 layer MAP network)&( LLC Type (1= Type 1 service)(Function Status( Register A*( Register B*( Register C*( Register D* C*  C* C*  C* C*  C* @*@ *@ *@ *@ *J(DRegister | Read/Write | Information | Status | Conclude | AbortM(G---------|------------|-------------|-------------|----------|---------I(CFunc Code| 4 5 | 79 | 78 | 83 | 87M(G A* | Ref Type | Ref Type | Logical St | Timeout | Timeout L(F B* | Ref Number | Ref Number | Physical St | - | - L(F C* | Ref Length | Ref Length | - | - | - L(F D* | Timeout | Ref Status | - | - | - `DRUM2UFunction 'DRUM'; DRUM sequencer'O Page 1 / 1( Step pointer:*($====================================(Masked Output Data:(Current Step Data:( Output Mask:(Machine ID Number:( Profile ID Number:#( Number of Steps to be Solved:@*D,D*D,D*D *D *uHSBY3jFunction 'HSBY' % HSBY: Hot Standby Control System'O Page 1 / 2(Command Register:$(1 = Enable Key Switch Override"(1 = Controller A in Run Mode"(1 = Controller B in Run Mode%(0 = Standby Offline if Mismatch'(!1 = Exec Upgrade Without Stopping(( "0 = Swap Port 1 Addr at switchover(( "0 = Swap Port 2 Addr at switchover(( "0 = Swap Port 3 Addr at switchover@+ B01 B01 B01 B 01 B 01 B 01 B 01 B 01c% HSBY: Hot Standby Control System'O Page 2 / 2!(Reverse Transfer Register 1!(Reverse Transfer Register 2(HSBY Status Register&( Mode setting of this controller:"(01 = this controller offline'(!10 = this controller primary mode*( $11 = this controller running standby'( !Mode setting of other controller:#( 01 = other controller offline(( "10 = other controller primary mode+( %11 = other controller running standby)(#0 = controllers have matching logic"(1 = this controller set to BD*D*D+ G, G ,  F 01 F 01MBUS7Function 'MBUS'0+MBUS: Initiate Single Modbus II Transaction'O Page 1 / 1 (Destination Device Address( Function Code.((1 = read discretes, 2 = read registers.((3 = write discretes, 4 = write registers!(255 = get system statistics( Reference Type%( 0 = 0x, 1 = 1x, 3 = 3x, 4 = 4x)( #Reference Number (low order digits)&( Number of words to read or write(("Timeout value (multiples of 10 ms)@*@*@ *@ *@*@*PEER6Function 'PEER'$,'PEER: Modbus II Network Write Registers'O Page 1 / 2&( Device Status. 0 = OK, 1 = ERROR(Device 16 Status:(Device 15 Status:(Device 14 Status:(Device 13 Status:(Device 12 Status:(Device 11 Status:( Device 10 Status:( Device 9 Status:( Device 8 Status:( Device 7 Status:( Device 6 Status:(Device 5 Status:(Device 4 Status:(Device 3 Status:(Device 2 Status:(Device 1 Status:@, B01 B01 B01 B 01 B 01 B 01 B  01 B  01 B 01 B 01 B 01 B01 B01 B01 B01 B01&,'PEER: Modbus II Network Write Registers'O Page 2 / 2(("4XXXX Register in Receiving Device,(&Time-out Value (in multiples of 10 ms)+(%Modbus Port 3 Address of Receiver #1+(%Modbus Port 3 Address of Receiver #2+(%Modbus Port 3 Address of Receiver #3+(%Modbus Port 3 Address of Receiver #4+(%Modbus Port 3 Address of Receiver #5+( %Modbus Port 3 Address of Receiver #6+( %Modbus Port 3 Address of Receiver #7+( %Modbus Port 3 Address of Receiver #8+( %Modbus Port 3 Address of Receiver #9+( %Modbus Port 3 Address of Receiver #10+(%Modbus Port 3 Address of Receiver #11+(%Modbus Port 3 Address of Receiver #12+(%Modbus Port 3 Address of Receiver #13+(%Modbus Port 3 Address of Receiver #14+(%Modbus Port 3 Address of Receiver #15+(%Modbus Port 3 Address of Receiver #16@*@*@*@*@*@*@*@ *@ * @ * @ * @ * @* @*@*@*@*@*%EMTH&Double Precision Additions '"EMTH 1 - Double Precision Addition'O Page 1 / 1!(First operand (high digits)@-* (First operand (low digits)@-*"(Second operand (high digits)D-*!(Second operand (low digits)D-*$(-------------------------------(Result (high digits)D-*( Result (low digits)D -*( 1 = Overflow conditionD -*Double Precision Subtractionp *%EMTH 2 - Double Precision Subtraction'O Page 1 / 1!(First operand (high digits)@-* (First operand (low digits)@-*"(Second operand (high digits)D-*!(Second operand (low digits)$(-------------------------------D-*(Result (high digits)D-*( Result (low digits)D -*( 1 = Out of RangeD -*Double Precision Multiplication -(EMTH 3 - Double Precision Multiplication'O Page 1 / 1!(First operand (high digits)@-* (First operand (low digits)@-*"(Second operand (high digits)D-*!(Second operand (low digits)D-*$(-------------------------------(Result (4 highest digits)D-*"( Result (next 4 lower digits)D -*"( Result (next 4 lower digits)D -*( Result (4 lowest digits)D -*Double Precision Division '"EMTH 4 - Double Precision Division'O Page 1 / 1!(First operand (high digits)@-* (First operand (low digits)@-*(Divisor (high digits)D-*(Divisor (low digits)D-*$(-------------------------------(Quotient (high digits)D-*( Quotient (low digits)D -*( Remainder (high digits)D -*( Remainder (low digits)D -*c Square rootM EMTH 5 - Square root'O Page 1 / 1(Operand (high digits)@-*(Operand (low digits)@-*$(-------------------------------&( Result (whole digit part: nnnn.)D-*"(Result (decimal part: .nnnn)D-*/( )If a 3X Register is used in the top node,'( !the low digit operand is not usedProcess Square root !EMTH 6 - Process Square root'O Page 1 / 1 (Operand@-*$(-------------------------------&( Result (whole digit part: nnnn.)D-*"(Result (decimal part: .nnnn)D-*?Logarithm, Base 10"  EMTH 7 - Logarithm, Base 10'O Page 1 / 1(Operand (high digits)@-*(Operand (low digits)@-*$(-------------------------------(Result (in format 1.234)D-*/()If a 3X Register is used in the top node,'( !the low digit operand is not usedAntilogarithm, Base 10 $EMTH 8 - Antilogarithm, Base 10'O Page 1 / 1(Operand (in format 1.234)@-*$(-------------------------------(Result (high digits)D-*(Result (low digits)D-* Integer to FP conversion &!EMTH 9 - Integer to FP conversion'O Page 1 / 1&( Integer to convert (high digits)@-*%(Integer to convert (low digits)@-*$(-------------------------------(Floating point resultE-, Add: integer + floating point ,'EMTH 10 - Add: integer + floating point'O Page 1 / 1"(Integer to add (high digits)@-*!(Integer to add (low digits)@-*(Floating point to addE-$(-------------------------------(Floating point resultE-< Subtract: integer - FP % EMTH 11 - Subtract: integer - FP'O Page 1 / 1,(&Integer to subtract from (high digits)@-*+(%Integer to subtract from (low digits)@-*%(Floating point to be subtractedE-$(-------------------------------(Floating point resultE-- Multiply: integer * FP  % EMTH 12 - Multiply: integer * FP'O Page 1 / 1'(!Integer to multiply (high digits)@-*&( Integer to multiply (low digits)@-* (Floating point to multiplyE-$(-------------------------------(Floating point resultE-' Divide: integer / FP #EMTH 13 - Divide: integer / FP'O Page 1 / 1(("Integer to divide by (high digits)@-*'(!Integer to divide by (low digits)@-*(Floating point divisorE-$(-------------------------------(Floating point resultE-<Subtract: FP - integer % EMTH 14 - Subtract: FP - integer'O Page 1 / 1%(Floating point to subtract fromA-,(&Integer to be subtracted (high digits)D-*+(%Integer to be subtracted (low digits)D-*$(-------------------------------(Floating point resultE-Divide: FP / integer #EMTH 15 - Divide: FP / integer'O Page 1 / 1(Floating Point dividendA-#(Integer divisor (high digits)D-*"(Integer divisor (low digits)D-*$(-------------------------------(Floating point resultE-Compare: Integer with FP'"EMTH 16 - Compare: Integer with FP'O Page 1 / 1&( Integer to compare (high digits)@-*%(Integer to compare (low digits)@-*(FP value to compare toE-NConvert: FP to integer- % EMTH 17 - Convert: FP to integer'O Page 1 / 1%(Floating Point value to convertA-$(-------------------------------%(Converted Integer (high digits)D-*$(Converted Integer (low digits)D-*B( EMTH 38 - Error Report Log'O Page 1 / 1(1 = FP underflow(1 = FP overflow'( !1 = Invalid FP value or operation$( 1 = Exponental power too large%( 1 = Integer/FP conversion error!( Function code of last error F-01 F-01 F -01 F - 01 F - 01 G -*DMTHDouble Precision Additions '"DMTH 1 - Double Precision Addition'O Page 1 / 1!(First operand (high digits)@-* (First operand (low digits)@-*"(Second operand (high digits)D-*!(Second operand (low digits)D-*$(-------------------------------(Result (high digits)D-*( Result (low digits)D -*( 1 = Overflow conditionD -*Double Precision Subtractionp *%DMTH 2 - Double Precision Subtraction'O Page 1 / 1!(First operand (high digits)@-* (First operand (low digits)@-*"(Second operand (high digits)D-*!(Second operand (low digits)D-*$(-------------------------------(Result (high digits)D-*( Result (low digits)D -*( 1 = Out of RangeD -*Double Precision Multiplication -(DMTH 3 - Double Precision Multiplication'O Page 1 / 1!(First operand (high digits)@-* (First operand (low digits)@-*"(Second operand (high digits)D-*!(Second operand (low digits)D-*$(-------------------------------(Result (4 highest digits)D-*"( Result (next 4 lower digits)D -*"( Result (next 4 lower digits)D -*( Result (4 lowest digits)D -*Double Precision Division '"DMTH 4 - Double Precision Division'O Page 1 / 1!(First operand (high digits)@-* (First operand (low digits)@-*(Divisor (high digits)D-*(Divisor (low digits)D-*$(-------------------------------(Quotient (high digits)D-*( Quotient (low digits)D -*( Remainder (high digits)D -*( Remainder (low digits)D -*MATHc Square rootM MATH 1 - Square root'O Page 1 / 1(Operand (high digits)@-*(Operand (low digits)@-*$(-------------------------------&( Result (whole digit part: nnnn.)D-*"(Result (decimal part: .nnnn)D-*/( )If a 3X Register is used in the top node,'( !the low digit operand is not usedProcess Square root !MATH 2 - Process Square root'O Page 1 / 1 (Operand@-*$(-------------------------------&( Result (whole digit part: nnnn.)D-*"(Result (decimal part: .nnnn)D-*?Logarithm, Base 10"  MATH 3 - Logarithm, Base 10'O Page 1 / 1(Operand (high digits)@-*(Operand (low digits)@-*$(-------------------------------(Result (in format 1.234)D-*/()If a 3X Register is used in the top node,'( !the low digit operand is not usedAntilogarithm, Base 10 $MATH 4 - Antilogarithm, Base 10'O Page 1 / 1(Operand (in format 1.234)@-*$(-------------------------------(Result (high digits)D-*(Result (low digits)D-*PID2&Function 'PID2' +&PID2: Proportional-Integral-Derivative'O Page 1 / 4( Scaled PV:@-*'(!Set Point (in engineering units):@-*(Mv (Loop Output):@-*.((High Alarm Limit (in engineering units):@-*-('Low Alarm Limit (in engineering units):@-* (Proportional Band (5-500):@-*(( "Reset Time Constant (r/xx.xx min):@ -*%( Rate Time Constant (xx.xx min):@ -*( Bias (0-4095):@ -**( $High Integral Windup Limit (0-4095):@ -* )( #Low Integral Windup Limit (0-4095):@ -*  +&PID2: Proportional-Integral-Derivative'O Page 2 / 4(High Engineering Range:@-* (Low Engineering Range:@-* (Raw Analog Measurement:@-* +(%Pointer to the Loop Counter Register:@-*"(Max Number of Loops in Scan:@-*0(*Ptr. to the Reset Feedback Input Register:@-*"( Output Clamp, High (0-4095):@ -*!( Output Clamp, Low (0-4095):@ -**( $Rate Gain Limit (valid range 2..30):@ -**( $Pointer to the Track Input Register:@ -*#+&PID2: Proportional-Integral-Derivative'O Page 3 / 4(Loop Status Register:#(Clear this bit to reset loop: F-01(0=Manual, 1=Auto: F-01(Tracking Mode: F-01(Direct/Reverse Acting: F- 01"(Negative Values in Equation: F- 01(Integral Windup: F- 01( Integral Windup Limit: F - 01( Rev B or higher: F - 01 ( Exponent Sign, 0=positive: F -01 ( Loop Counter Reg is Valid: F -01!( Auto Mode, but not solving: F -01#(Wind Down Mode (Rev B+ only): F-01+(%Time since last solution >= interval: F-01(Low Alarm Status: F-01(High Alarm Status: F-01&( Node Lockout or Parameter Error: F-01L +&PID2: Proportional-Integral-Derivative'O Page 4 / 4( Error Code:D-*(Loop Timer Register:D-*( Integral:D-*(Integral (fraction 1):D-*(Integral (fraction 2):D-*(PV * 8 (filtered):D-*(Absolute value of E:D-* ( Current Solution Interval:D -*'CALLGet Copro Configuration Data},'CALL 500 - Get Copro Configuration Data'O Page 1 / 14(.This function only available in immediate modeWrite 986 Data Base from 984#CALL 501 - Write 986 Data Base'O Page 1 / 1$(word offset into 986 data base(length (in words)#*#*Read 986 Data Base into 984"CALL 502 - Read 986 Data Base'O Page 1 / 1$(word offset into 986 data base(length (in words)#*#*Modbus Code 01: Read 0xxxx *%CALL 503 - Modbus Code 01: Read 0xxxx'O Page 1 / 1(Port Number: 1 - 4(USER: Slave # to Address(USER: Slave Data Address$(USER: Quantity of Coils In/Out$(USER: Mode: 0 = ASCII, 1 = RTU(Status Word: 0 = OK( Coil Data Block 13( -Variable Length Data Display is Not Supported?( 9To View Coil Data Blocks 2 - N, Use Reference Data Editor.*.*.*.*.*#+. ,Modbus Code 02: Read 1xxxx *%CALL 504 - Modbus Code 02: Read 1xxxx'O Page 1 / 1(Port Number: 1 - 4(USER: Slave # to Address(USER: Slave Data Address%(USER: Quantity of Inputs In/Out$(USER: Mode: 0 = ASCII, 1 = RTU(Status Word: 0 = OK( Input Data Block 13( -Variable Length Data Display is Not Supported@( :To View Input Data Blocks 2 - N, Use Reference Data Editor.*.*.*.*.*#+. ,Modbus Code 03: Read 4xxxx *%CALL 505 - Modbus Code 03: Read 4xxxx'O Page 1 / 1(Port Number: 1 - 4(USER: Slave # to Address(USER: Slave Data Address#(USER: Quantity of Regs In/Out$(USER: Mode: 0 = ASCII, 1 = RTU(Status Word: 0 = OK( Register Data Block 13( -Variable Length Data Display is Not SupportedC( =To View Register Data Blocks 2 - N, Use Reference Data Editor.*.*.*.*.*#+# +Modbus Code 04: Read 3xxxx *%CALL 506 - Modbus Code 04: Read 3xxxx'O Page 1 / 1(Port Number: 1 - 4(USER: Slave # to Address(USER: Slave Data Address#(USER: Quantity of Regs In/Out$(USER: Mode: 0 = ASCII, 1 = RTU(Status Word: 0 = OK( Register Data Block 13( -Variable Length Data Display is Not SupportedC( =To View Register Data Blocks 2 - N, Use Reference Data Editor.*.*.*.*.*#+# +!Modbus Code 05: Force Single Coilv 1,CALL 507 - Modbus Code 05: Force Single Coil'O Page 1 / 1(Port Number: 1 - 4(USER: Slave # to Address(USER: Slave Data Address$(USER: Quantity of Coils In/Out$(USER: Mode: 0 = ASCII, 1 = RTU(Status Word: 0 = OK( Force Coil Data Block (  0 = OFF, NON-ZERO = ON.*.*.*.*.*#+. *&Modbus Code 06: Preset Single RegisterU 3.CALL 508 - Modbus Code 06: Preset Single 4xxxx'O Page 1 / 1(Port Number: 1 - 4(USER: Slave # to Address(USER: Slave Data Address#(USER: Quantity of Regs In/Out$(USER: Mode: 0 = ASCII, 1 = RTU(Status Word: 0 = OK( Register Data Block.*.*.*.*.*#+# +$Modbus Code 07: Read Exception CoilsS 4/CALL 509 - Modbus Code 07: Read Exception Coils'O Page 1 / 1(Port Number: 1 - 4(USER: Slave # to Address(USER: Slave Data Address$(USER: Quantity of Coils In/Out$(USER: Mode: 0 = ASCII, 1 = RTU(Status Word: 0 = OK( Coil Data Block.*.*.*.*.*#+. ,Modbus Code 08: Loopback Testc -(CALL 510 - Modbus Code 08: Loopback Test'O Page 1 / 1(Port Number: 1 - 4(USER: Slave # to Address(USER: Slave Data Address#(USER: Quantity of Regs In/Out$(USER: Mode: 0 = ASCII, 1 = RTU(Status Word: 0 = OK( Diagnostic Code( Data Block.*.*.*.*.*#+# +# +!Modbus Code 15: Force 0xxxx Block 1,CALL 511 - Modbus Code 15: Force 0xxxx Block'O Page 1 / 1(Port Number: 1 - 4(USER: Slave # to Address(USER: Slave Data Address$(USER: Quantity of Coils In/Out$(USER: Mode: 0 = ASCII, 1 = RTU(Status Word: 0 = OK( Force Coil Data Block 13( -Variable Length Data Display is Not Supported?( 9To View Coil Data Blocks 2 - N, Use Reference Data Editor.*.*.*.*.*#+# ,"Modbus Code 16: Preset 4xxxx Block 2-CALL 512 - Modbus Code 16: Preset 4xxxx Block'O Page 1 / 1(Port Number: 1 - 4(USER: Slave # to Address(USER: Slave Data Address#(USER: Quantity of Regs In/Out$(USER: Mode: 0 = ASCII, 1 = RTU(Status Word: 0 = OK( Register Data Block 13( -Variable Length Data Display is Not Supported?( 9To View Coil Data Blocks 2 - N, Use Reference Data Editor.*.*.*.*.*#+# +Modbus Code 17: Report Slave-ID /*CALL 513 - Modbus Code 17: Report Slave-ID'O Page 1 / 1(Port Number: 1 - 4(USER: Slave # to Address(USER: Slave Data Address#(USER: Quantity of Regs In/Out$(USER: Mode: 0 = ASCII, 1 = RTU(Status Word: 0 = OK( High Byte = SLAVE ID%(  Low Byte = Run Light Status3( -Variable Length Data Display is Not Supported?( 9To View Additional Data Blocks, Use Reference Data Editor.*.*.*.*.*#+# +Modbus Slave Function % CALL 514 - Modbus Slave Function'O Page 1 / 1(Slave Port Number: 1 - 4(USER: Slave # used(NOT USED: set to ZERO(NOT USED: set to ZERO$(USER: Mode: 0 = ASCII, 1 = RTU(Slave Status Word: 0 = OK(( "Function Number for Modbus Message0( *Supported functions: Modbus codes 3, 6, 16.*.*.*.*.*#+. *Issue dgets on Comm Line (#CALL 515 - Issue dgets on Comm Line'O Page 1 / 1(comm port number(timeout in clock ticks$(no.of characters (-1 if error)(start of buffer#*#*#*#*Issue dputs on Comm Line (#CALL 516 - Issue dputs on Comm Line'O Page 1 / 1(comm port number (status: 0 = OK, -1 = error(no.of characters(start of buffer#*#*#*#*Generate Character String*%CALL 518 - Generate Character String 'O Page 1 / 1(control string( output buffer( argument area#*#*#*Interpret Character String*%CALL 519 - Interpret Character String'O Page 1 / 1( input buffer(control string( argument area#*#*#*Issue gets on IEEE Line '"CALL 520 - Issue gets on IEEE Line'O Page 1 / 1 (talker (length (timeout( error code( actual count#*#*#*#*#* Issue puts on IEEE Line '"CALL 521 - Issue puts on IEEE Line'O Page 1 / 1(listener (length (timeout( error code#*#*#*#* Issue ioctl on IEEE Line(#CALL 522 - Issue ioctl on IEEE Line'O Page 1 / 1 (ccode (xdata (talker (length (timeout( error code#*#*#*#*#*#*o Netdump Utilityx! CALL 523 - Netdump Utility'O Page 1 / 2(Device Type: 12 = Floppy!( 13 = Disk, 14 = 2nd Disk( Display Port( Dump File #(CoPro Modbus Port(Mode: 0 = ASCII, 1 = RTU"( Save: 0 = Database, 1 = Disk( Slave Address ( Initialization Status Code( Operation Code!( Process Status Code: 0 = OK!( 2 = Started, -1 = Failed%(Display: 0 = Quiet, 1 = Verbose(# times executed(Delay: 20 mSec units(Extended Memory Bypass:( 0 = No, 1 = Yes.*.*.*.*.*. *. *. *. *. * .* .* .* .* xCALL 523 - Netdump Utility'O Page 2 / 2'(!Stop when saving: 0 = No, 1 = Yes*($Start after Loading: 0 = No, 1 = Yes.*.*(Main Operation Codes(12: Save Controller(16: Load Controller ( Diagnostic Operation Codes( 1: Login to Controller( 2: Logout of Controller( 3: Stop Controller( 4: Start Controller( 5: Report SlaveID!( 6: Report Config Section 1!( 7: Report Config Section 2!( 8: Report Config Section 3(9: Report Status(10: Issue a Read_Reply(11: Issue a Poll"(13: Verify Controller Config(14: Enter Dim Awareness!(15: Clear User Memory (984)!(17: Report Config Section 7!(18: Report Config Section 8d Xmodem DownloadJCALL 524 - Xmodem Download'O Page 1 / 1(CoPro Port for Display(Completion Status(Device Type: 12 = Floppy!( 13 = Disk, 14 = 2nd Disk( Download Port%(Byte Swap File: 0 = No, 1 = Yes( File Name in ASCII:#(  Use Reference Data Editor.*.*.*.*.*^  Xmodem UploadFCALL 525 - Xmodem Upload'O Page 1 / 1(CoPro Port for Display(Completion Status(Device Type: 12 = Floppy!( 13 = Disk, 14 = 2nd Disk( Upload Port%(Byte Swap File: 0 = No, 1 = Yes( File Name in ASCII:#(  Use Reference Data Editor.*.*.*.*.*Random read from disk&!CALL 526 - Random read from disk 'O Page 1 / 1(word offset into file(no.of words to read( device type( file number!(port number to display info( error code-*#*#*#*#*#*Random write to disk% CALL 527 - Random write to disk 'O Page 1 / 1(word offset into file(no.of words to write( device type( file number!(port number to display info( error code-*#*#*#*#*#*#CALLGet Copro Configuration Data ,'CALL 500 - Get Copro Configuration Data'O Page 1 / 2( Soft Errors(Features Present*($OS Revision: VRTX (C986), DOS (C996)(ROMOS Date (C986 Only).+.+.+.+.+)(#RAMOS Rev (C986), Driver Rev (C996)( RAMOS Date (C986 Only).+. +. +( System DX Revision( System DX Date. +. + . + (User DX Revision( USer DX Date.+ .+ .+ 2 ,'CALL 500 - Get Copro Configuration Data'O Page 2 / 2&( Deferred DX Revision (C986 Only)"(Deferred DX Date (C986 Only).+.+.+$(Count, Bad token 0 (C996 Only)"(Count, Bad token (C996 Only)+(%Count, Last Token Timeout (C996 Only).+.+.+oFN10 FN10 Custom Loadable0 FN10 Custom Loadable 920909'O Page 1 / 2JECopyright (c) 1992 Delta Computer Systems, Inc.. All rights reserved.I(C memory usage:F(@ top midF(@SUBFUNCTION 5 DTOW: Double to 16 bit Word 3 1F(@SUBFUNCTION 6 WTOD: 16 bit Word to Double 3 1F(@SUBFUNCTION 7 ADDI: 16 bit Add Immediate 2 1F(@SUBFUNCTION 8 ADDX: 16 bit Add Indirect 2 1F( @SUBFUNCTION 9 SADI: Signed 16 bit Add Immediate 2 1F( @SUBFUNCTION 10 SADX: Signed 16 bit Add Indirect 2 1F( @SUBFUNCTION 11 SUBI: 16 bit Subtract Immediate 2 1F( @SUBFUNCTION 12 SUBX: 16 bit Subtract Indirect 2 1F( @SUBFUNCTION 13 SSBI: Signed 16 bit Subtract Immediate 2 1F(@SUBFUNCTION 14 SSBX: Signed 16 bit Subtract Indirect 2 1F(@SUBFUNCTION 15 CMPI: 16 bit Compare Immediate 2 1F(@SUBFUNCTION 16 CMPX: 16 bit Compare Indirect 2 1F(@SUBFUNCTION 17 SCPI: signed 16 bit Compare Immediate 2 1F(@SUBFUNCTION 18 SCPX: signed 16 bit Compare Indirect 2 1F(@SUBFUNCTION 19 MULI: Multiply Immediate 2 30FN10 Custom Loadable'O Page 2 / 2I(C memory usage:F(@ top midF(@SUBFUNCTION 20 MULX: Multiply Indirect 2 3F(@SUBFUNCTION 21 SMLI: Signed Multiply Immediate 2 3F(@SUBFUNCTION 22 SMLX: Signed Multiply Indirect 2 2F(@SUBFUNCTION 23 DIVI: Divide Immediate 3 3F(@SUBFUNCTION 24 DIVX: Divide Indirect 2 2F( @SUBFUNCTION 25 SDVI: Signed Divide Immediate 3 3F( @SUBFUNCTION 26 SDVX: Signed Divide Indirect 2 2F( @SUBFUNCTION 27 GPAR: Get Parameters from MMC188/40 8 96F( @SUBFUNCTION 28 SPAR: Set Parameters in MMC188/40 15 96F( @SUBFUNCTION 29 GPRO: Get Profile(s) from MMC188/40 8 64F(@SUBFUNCTION 30 SPRO: Set Profile(s) in MMC188/40 15 64J(DSUBFUNCTION 31 MBFT: Move Block From Table 7 variesM(GSUBFUNCTION 32 INIT: Initialize 4x Output Registers 4 8 outregsE(?SUBFUNCTION 33 MSTT: Move Status to 0x Table 9 0,DTOW: Double to 16 bit Word DTOW: Double to 16 bit Word'O Page 1 / 1(Subfunction #5+(%Double Precision Hi 0 to 9999 X 10000#(Double Precision Lo 0 to 9999@*@*@**($====================================(Accumulator 0 to 65535D*I(CPower In OK accum = dp_hi x 1000 + dp_lo( CONTROLQ(K Unused Overflow on when dp_hi x 1000 + dp_lo > 65535( ACCUM ( Unused FN10 Unused( #0005WTOD: 16 bit Word to Double WTOD: 16 bit Word to Double'O Page 1 / 1(Subfunction #6+(%Double Precision Hi 0 to 9999 X 10000#(Double Precision Lo 0 to 9999@*@*@**($====================================(Accumulator 0 to 65535D*B((8 CONTROL dp_lo = remainder( Unused Unused( WORD ( Unused FN10 Unused( #0006ADDI: 16 bit Add ImmediateADDI: 16 bit Add Immediate'O Page 1 / 1(Subfunction #7(Parameter 0 to 65535*($====================================(Accumulator 0 to 65535@*@*D*B( 65535( ACCUM ( Unused FN10 Unused( #0007ADDX: 16 bit Add IndirectADDX: 16 bit Add Indirect'O Page 1 / 1(Subfunction #8 (Parameter 0 TO 65535 in 4x*($====================================(Accumulator 0 to 65535@*@*D*B( 65535( ACCUM ( Unused FN10 Unused( #0008/ !SADI: Signed 16 bit Add Immediate&!SADI: Signed 16 bit Add Immediate'O Page 1 / 1(Subfunction #9(Parameter -32768 to 32767*($====================================!(Accumulator -32768 to 32767@*@*D*B( 32767M(G ACCUM on when accum should be < -32768( Unused FN10 Unused( #00090  SADX: Signed 16 bit Add Indirect% SADX: Signed 16 bit Add Indirect'O Page 1 / 1(Subfunction #10!(Param -32768 TO 32767 in 4x*($====================================!(Accumulator -32768 TO 32767@*@*D*B( 32767M(G ACCUM on when accum should be < -32768( Unused FN10 Unused( #0010 SUBI: 16 bit Subtract Immediate$SUBI: 16 bit Subtract Immediate'O Page 1 / 1(Subfunction #11(Parameter 0 TO 65535*($====================================(Accumulator 0 TO 65535@*@*D*B( Param2( CONTROL((" Unused Param1 = Param2( PARAM2((" Unused FN10 Param1 < Param2( #0015ٺCMPX: 16 bit Compare Indirect"CMPX: 16 bit Compare Indirect'O Page 1 / 1(Subfunction #16!(Parameter1 0 TO 65535 in 4x*($====================================(Parameter2 0 TO 65535@*@*D*(("Power In Param1 > Param2( CONTROL((" Unused Param1 = Param2( PARAM2((" Unused FN10 Param1 < Param2( #0016%SCPI: Signed 16 bit Compare Immediate*%SCPI: Signed 16 bit Compare Immediate'O Page 1 / 1(Subfunction #17 (Parameter1 -32768 to 32767*($==================================== (Parameter2 -32768 to 32767@*@*D*(("Power In Param1 > Param2( CONTROL((" Unused Param1 = Param2( PARAM2((" Unused FN10 Param1 < Param2( #0017$SCPX: Signed 16 bit Compare Indirect)$SCPX: Signed 16 bit Compare Indirect'O Page 1 / 1(Subfunction #18"(Param1 -32768 to 32767 in 4x*($====================================(Param2 -32768 to 32767@*@*D*(("Power In Param1 > Param2( CONTROL((" Unused Param1 = Param2( PARAM2((" Unused FN10 Param1 < Param2( #0018MULI: Multiply ImmediateMULI: Multiply Immediate'O Page 1 / 1(Subfunction #19(Parameter 0 to 65535*($====================================(Accumulator Lo(Accumulator Hi@*@*D*D*Q(KPower In OK Accum_hi:accum_lo = accum_lo * param( CONTROLB(< Unused Overflow on when accum > 65535( ACCUM ( Unused FN10 Unused( #0019MULX: Multiply IndirectMULX: Multiply Indirect'O Page 1 / 1(Subfunction #20 (Parameter 0 to 65535 in 4x*($====================================(Accumulator Lo(Accumulator Hi@*@*D*D*Q(KPower In OK Accum_hi:accum_lo = accum_lo * param( CONTROLB(< Unused Overflow on when accum > 65535( ACCUM ( Unused FN10 Unused( #0020 SMLI: Signed Multiply Immediate$SMLI: Signed Multiply Immediate'O Page 1 / 1(Subfunction #21(Parameter -32768 to 32767*($====================================(Accumulator Lo(Accumulator Hi@*@*D*D*Q(KPower In OK Accum_hi:accum_lo = accum_lo * param( CONTROLB(< Unused Overflow on when accum > 32767( ACCUM ( Unused FN10 Unused( #0021 SMLX: Signed Multiply Indirect#SMLX: Signed Multiply Indirect'O Page 1 / 1(Subfunction #22!(Param -32768 to 32767 in 4x*($====================================(Accumulator Lo(Accumulator Hi@*@*D*D*Q(KPower In OK Accum_hi:accum_lo = accum_lo * param( CONTROLB(< Unused Overflow on when accum > 32767( ACCUM ( Unused FN10 Unused( #0022DIVI: Divide ImmediateDIVI: Divide Immediate'O Page 1 / 1(Subfunction #23(Parameter 0 TO 65535*($====================================(Accumulator Lo, Quotient(Accumulator Hi, Remainder@*@*D*D*N(HPower In OK accum = Accum_hi:accum_lo / param( CONTROLC(= Unused Overflow on when divide by zero( QUOTIENT( Unused FN10 Unused( #0023 DIVI: Divide IndirectDIVI: Divide Indirect'O Page 1 / 1(Subfunction #24 (Parameter 0 TO 65535 in 4x*($====================================(Accumulator Lo, Quotient(Accumulator Hi, Remainder@*@*D*D*N(HPower In OK accum = Accum_hi:accum_lo / param( CONTROLC(= Unused Overflow on when divide by zero( QUOTIENT( Unused FN10 Unused( #0024SDVI: Signed Divide Immediate"SDVI: Signed Divide Immediate'O Page 1 / 1(Subfunction #25(Parameter -32768 to 32767*($====================================(Accumulator Lo, Quotient(Accumulator Hi, Remainder@*@*D*D*N(HPower In OK accum = Accum_hi:accum_lo / param( CONTROLC(= Unused Overflow on when divide by zero( QUOTIENT( Unused FN10 Unused( #0025SDVI: Signed Divide Indirect!SDVI: Signed Divide Indirect'O Page 1 / 1(Subfunction #26!(Param -32768 TO 32767 in 4x*($====================================(Accumulator Lo, Quotient(Accumulator Hi, Remainder@*@*D*D*N(HPower In OK accum = Accum_hi:accum_lo / param( CONTROLC(= Unused Overflow on when divide by zero( QUOTIENT( Unused FN10 Unused( #0026 _#GPAR: Get Parameters from MMC188/40 (#GPAR: Get Parameters from MMC188/40'O Page 1 / 9(Subfunction #27(Begin Index 0-15(End Index 0-15(Begin Input Reg 3x( Begin Output Reg 4x( Begin Private Reg 4x( End Private Reg 4x*( $====================================@*@*@*@*@ *@ *@ *%( Power In Power Out( CONTROL (Start/Reset Done( PARAMS$( Unused FN10 Not Done( #0027r Axis 0 Parameters'O Page 2 / 9(New Null(Emergency Stop Mask( Halt Mask(Reserved(Feed Forward Advance( Null Update(Reserved ( Dither( Hysteresis( Static Gain( Extend Gain( Retract GainD*D+D+D*D*D*D*D *D *D * D * D * r Axis 0 Parameters'O Page 3 / 9(Integral Gain(Differential Gain(Extend Feed Forward(Retract Feed Forward (Scale (Offset (Dir( Max Error( Primary Set Complete( Secondary Set Complete( Extend Limit( Retract LimitD* D* D*D*K*D*D*D *D *D *K *D *r #Axis 1 Parameters'O Page 4 / 9(New Null(Emergency Stop Mask( Halt Mask(Reserved(Feed Forward Advance( Null Update(Reserved ( Dither( Hysteresis( Static Gain( Extend Gain( Retract GainD*D+D+D*D*D*D*D *D * D *!D *"D *#r $/Axis 1 Parameters'O Page 5 / 9(Integral Gain(Differential Gain(Extend Feed Forward(Retract Feed Forward (Scale (Offset (Dir( Max Error( Primary Set Complete( Secondary Set Complete( Extend Limit( Retract LimitD*$D*%D*&D*'K*(D*)D**D *+D *,D *-K *.D */r 0;Axis 2 Parameters'O Page 6 / 9(New Null(Emergency Stop Mask( Halt Mask(Reserved(Feed Forward Advance( Null Update(Reserved ( Dither( Hysteresis( Static Gain( Extend Gain( Retract GainD*0D+1D+2D*3D*4D*5D*6D *7D *8D *9D *:D *;r <GAxis 2 Parameters'O Page 7 / 9(Integral Gain(Differential Gain(Extend Feed Forward(Retract Feed Forward (Scale (Offset (Dir( Max Error( Primary Set Complete( Secondary Set Complete( Extend Limit( Retract LimitD*<D*=D*>D*?K*@D*AD*BD *CD *DD *EK *FD *Gr HSAxis 3 Parameters'O Page 8 / 9(New Null(Emergency Stop Mask( Halt Mask(Reserved(Feed Forward Advance( Null Update(Reserved ( Dither( Hysteresis( Static Gain( Extend Gain( Retract GainD*HD+ID+JD*KD*LD*MD*ND *OD *PD *QD *RD *Sr  T_Axis 3 Parameters'O Page 9 / 9(Integral Gain(Differential Gain(Extend Feed Forward(Retract Feed Forward (Scale (Offset (Dir( Max Error( Primary Set Complete( Secondary Set Complete( Extend Limit( Retract LimitD*TD*UD*VD*WK*XD*YD*ZD *[D *\D *]K *^D *_  _!SPAR: Set Parameters in MMC188/40 &!SPAR: Set Parameters in MMC188/40'O Page 1 / 9(Subfunction #28(Begin Index 0-15(End Index 0-15(Begin Input Reg 3x( Begin Output Reg 4x( Begin Private Reg 4x( End Private Reg 4x*( $====================================@*@*@*@*@ *@ *@ *%( Power In Power Out( CONTROL (Start/Reset Done( PARAMS$( Unused FN10 Not Done( #0028r Axis 0 Parameters'O Page 2 / 9(New Null(Emergency Stop Mask( Halt Mask(Reserved(Feed Forward Advance( Null Update(Reserved ( Dither( Hysteresis( Static Gain( Extend Gain( Retract GainD*D+D+D*D*D*D*D *D *D * D * D * r Axis 0 Parameters'O Page 3 / 9(Integral Gain(Differential Gain(Extend Feed Forward(Retract Feed Forward (Scale (Offset (Dir( Max Error( At Commanded Position( Near Commanded Position( Extend Limit( Retract LimitD* D* D*D*K*D*D*D *D *D *K *D *r #Axis 1 Parameters'O Page 4 / 9(New Null(Emergency Stop Mask( Halt Mask(Reserved(Feed Forward Advance( Null Update(Reserved ( Dither( Hysteresis( Static Gain( Extend Gain( Retract GainD*D+D+D*D*D*D*D *D * D *!D *"D *#r $/Axis 1 Parameters'O Page 5 / 9(Integral Gain(Differential Gain(Extend Feed Forward(Retract Feed Forward (Scale (Offset (Dir( Max Error( At Commanded Position( Near Commanded Position( Extend Limit( Retract LimitD*$D*%D*&D*'K*(D*)D**D *+D *,D *-K *.D */r 0;Axis 2 Parameters'O Page 6 / 9(New Null(Emergency Stop Mask( Halt Mask(Reserved(Feed Forward Advance( Null Update(Reserved ( Dither( Hysteresis( Static Gain( Extend Gain( Retract GainD*0D+1D+2D*3D*4D*5D*6D *7D *8D *9D *:D *;r <GAxis 2 Parameters'O Page 7 / 9(Integral Gain(Differential Gain(Extend Feed Forward(Retract Feed Forward (Scale (Offset (Dir( Max Error( At Commanded Position( Near Commanded Position( Extend Limit( Retract LimitD*<D*=D*>D*?K*@D*AD*BD *CD *DD *EK *FD *Gr HSAxis 3 Parameters'O Page 8 / 9(New Null(Emergency Stop Mask( Halt Mask(Reserved(Feed Forward Advance( Null Update(Reserved ( Dither( Hysteresis( Static Gain( Extend Gain( Retract GainD*HD+ID+JD*KD*LD*MD*ND *OD *PD *QD *RD *Sr  T_Axis 3 Parameters'O Page 9 / 9(Integral Gain(Differential Gain(Extend Feed Forward(Retract Feed Forward (Scale (Offset (Dir( Max Error( At Commanded Position( Near Commanded Position( Extend Limit( Retract LimitD*TD*UD*VD*WK*XD*YD*ZD *[D *\D *]K *^D *_ ?#GPRO: Get Profile(s) from MMC188/40 (#GPRO: Get Profile(s) from MMC188/40'O Page 1 / 5(Subfunction #29(Begin Index 0-15(End Index 0-15(Begin Input Reg 3x( Begin Output Reg 4x( Begin Private Reg 4x( End Private Reg 4x*( $====================================@*@*@*@*@ *@ *@ *%( Power In Power Out( CONTROL (Start/Reset Done( PROFS $( Unused FN10 Not Done( #0029ٮ" Profiles 0-3'O Page 2 / 5( Mode 0( Accel 0( Decel 0( Speed 0( Mode 1( Accel 1( Decel 1( Speed 1( Mode 2( Accel 2( Decel 2( Speed 2( Mode 3( Accel 3( Decel 3( Speed 3D+D*D*K*D+D*D*K *D +D * D * K * D+ D* D*K*" Profiles 4-7'O Page 3 / 5( Mode 4( Accel 4( Decel 4( Speed 4( Mode 5( Accel 5( Decel 5( Speed 5( Mode 6( Accel 6( Decel 6( Speed 6( Mode 7( Accel 7( Decel 7( Speed 7D+D*D*K*D+D*D*K *D +D *D *K *D+D*D*K*" / Profiles 8-11'O Page 4 / 5( Mode 8( Accel 8( Decel 8( Speed 8( Mode 9( Accel 9( Decel 9( Speed 9( Mode 10( Accel 10( Decel 10( Speed 10( Mode 11( Accel 11( Decel 11( Speed 11D+ D*!D*"K*#D+$D*%D*&K *'D +(D *)D **K *+D+,D*-D*.K*/"0?Profiles 12-15'O Page 5 / 5( Mode 12( Accel 12( Decel 12( Speed 12( Mode 13( Accel 13( Decel 13( Speed 13( Mode 14( Accel 14( Decel 14( Speed 14( Mode 15( Accel 15( Decel 15( Speed 15D+0D*1D*2K*3D+4D*5D*6K *7D +8D *9D *:K *;D+<D*=D*>K*? ?!SPRO: Set Profile(s) in MMC188/40 &!SPRO: Set Profile(s) in MMC188/40'O Page 1 / 5(Subfunction #30(Begin Index 0-15(End Index 0-15(Begin Input Reg 3x( Begin Output Reg 4x( Begin Private Reg 4x( End Private Reg 4x*( $====================================@*@*@*@*@ *@ *@ *%( Power In Power Out( CONTROL (Start/Reset Done( PROFS $( Unused FN10 Not Done( #0030ٮ" Profiles 0-3'O Page 2 / 5( Mode 0( Accel 0( Decel 0( Speed 0( Mode 1( Accel 1( Decel 1( Speed 1( Mode 2( Accel 2( Decel 2( Speed 2( Mode 3( Accel 3( Decel 3( Speed 3D+D*D*K*D+D*D*K *D +D * D * K * D+ D* D*K*" Profiles 4-7'O Page 3 / 5( Mode 4( Accel 4( Decel 4( Speed 4( Mode 5( Accel 5( Decel 5( Speed 5( Mode 6( Accel 6( Decel 6( Speed 6( Mode 7( Accel 7( Decel 7( Speed 7D+D*D*K*D+D*D*K *D +D *D *K *D+D*D*K*" / Profiles 8-11'O Page 4 / 5( Mode 8( Accel 8( Decel 8( Speed 8( Mode 9( Accel 9( Decel 9( Speed 9( Mode 10( Accel 10( Decel 10( Speed 10( Mode 11( Accel 11( Decel 11( Speed 11D+ D*!D*"K*#D+$D*%D*&K *'D +(D *)D **K *+D+,D*-D*.K*/"0?Profiles 12-15'O Page 5 / 5( Mode 12( Accel 12( Decel 12( Speed 12( Mode 13( Accel 13( Decel 13( Speed 13( Mode 14( Accel 14( Decel 14( Speed 14( Mode 15( Accel 15( Decel 15( Speed 15D+0D*1D*2K*3D+4D*5D*6K *7D +8D *9D *:K *;D+<D*=D*>K*?MBFT: Move Block From Table   MBFT: Move Block From Table'O Page 1 / 3(Subfunction #31 (Block Begin Index 0 to N-1(Block End Index 0 to N-1( Block Size( Begin Output Reg 4x( Begin Private Reg 4x( End Private Reg 4x*( $====================================@*@*@*@*@ *@ *@ *$( Power In Power Out( CONTROL&( Move Block Block Moved( TABLE $( Reset In FN10 Reset Out( #0031 "Table Area 0-15'O Page 2 / 3( Table Area 0( 1( 2( 3( 4( 5( 6( 7( 8( 9( 10( 11( 12( 13( 14( 15D*D*D*D*D*D*D*D *D *D * D * D * D* D* D*D*"Table Area 16-31'O Page 3 / 3( Table Area 16( 17( 18( 19( 20( 21( 22( 23( 24( 25( 26( 27( 28( 29( 30( 31D*D*D*D*D*D*D*D *D *D *D *D *D*D*D*D* $INIT: Initialize 4x Output Registers!)$INIT: Initialize 4x Output Registers'O Page 1 / 1(Subfunction #32(Begin Input Reg 3x(Begin Private Reg 4x(End Private Reg 4x@*@*@*@**($====================================( Output Reg +0( +1( +2( +3( +4( +5( +6( +7D*D *D *D *D *D *D*D*%( Power In Power Out( CONTROL (Start/Reset Done( OUTREGS$( Unused FN10 Not Done( #0032!MSTT: Move Status to 0x Table#"MSTT: Move Status to 0x Table'O Page 1 / 1(Subfunction #33(Begin Input Reg 3x(Begin Output Bit 0x(Begin Private Reg 4x(End Private Reg 4x@*@*@*@*@**($====================================( Output Reg +0( +1( +2( +3( +4( +5( +6( +7D*D *D *D *D *D *D*D*&( Power In Active Out( CONTROL(("On/Reset In On/Reset Out( OUTREGS'(! Ignored In FN10 Ignored Out( #0033JFN41 ~ FN41 Custom Loadable0 FN41 Custom Loadable 940107'O Page 1 / 2JECopyright (c) 1992 Delta Computer Systems, Inc.. All rights reserved.I(C memory usage:F(@ top midF(@SUBFUNCTION 5 DTOW: Double to 16 bit Word 3 1F(@SUBFUNCTION 6 WTOD: 16 bit Word to Double 3 1F(@SUBFUNCTION 7 ADDI: 16 bit Add Immediate 2 1F(@SUBFUNCTION 8 ADDX: 16 bit Add Indirect 2 1F( @SUBFUNCTION 9 SADI: Signed 16 bit Add Immediate 2 1F( @SUBFUNCTION 10 SADX: Signed 16 bit Add Indirect 2 1F( @SUBFUNCTION 11 SUBI: 16 bit Subtract Immediate 2 1F( @SUBFUNCTION 12 SUBX: 16 bit Subtract Indirect 2 1F( @SUBFUNCTION 13 SSBI: Signed 16 bit Subtract Immediate 2 1F(@SUBFUNCTION 14 SSBX: Signed 16 bit Subtract Indirect 2 1F(@SUBFUNCTION 15 CMPI: 16 bit Compare Immediate 2 1F(@SUBFUNCTION 16 CMPX: 16 bit Compare Indirect 2 1F(@SUBFUNCTION 17 SCPI: signed 16 bit Compare Immediate 2 1F(@SUBFUNCTION 18 SCPX: signed 16 bit Compare Indirect 2 1F(@SUBFUNCTION 19 MULI: Multiply Immediate 2 3/0FN41 Custom Loadable'O Page 2 / 2I(C memory usage:F(@ top midF(@SUBFUNCTION 20 MULX: Multiply Indirect 2 3F(@SUBFUNCTION 21 SMLI: Signed Multiply Immediate 2 3F(@SUBFUNCTION 22 SMLX: Signed Multiply Indirect 2 2F(@SUBFUNCTION 23 DIVI: Divide Immediate 3 3F(@SUBFUNCTION 24 DIVX: Divide Indirect 2 2F( @SUBFUNCTION 25 SDVI: Signed Divide Immediate 3 3F( @SUBFUNCTION 26 SDVX: Signed Divide Indirect 2 2F( @SUBFUNCTION 27 GPAR: Get Parameters from MMC188/41 8 136F( @SUBFUNCTION 28 SPAR: Set Parameters in MMC188/41 19 136F( @SUBFUNCTION 29 GPRO: Get Profile(s) from MMC188/41 8 64F(@SUBFUNCTION 30 SPRO: Set Profile(s) in MMC188/41 19 64J(DSUBFUNCTION 31 MBFT: Move Block From Table 7 variesF(@SUBFUNCTION 32 INIT: Initialize 4x Output Registers 4 12F(@SUBFUNCTION 33 MSTT: Move Status to 0x Table 9 12I(CSUBFUNCTION 34 GSTP: Get Step(s) from MMC188/41 9 8-2048I(CSUBFUNCTION 35 SSTP: Set Step(s) in MMC188/41 19 8-2048,DTOW: Double to 16 bit Word DTOW: Double to 16 bit Word'O Page 1 / 1(Subfunction #5+(%Double Precision Hi 0 to 9999 X 10000#(Double Precision Lo 0 to 9999@*@*@**($====================================(Accumulator 0 to 65535D*I(CPower In OK accum = dp_hi x 1000 + dp_lo( CONTROLQ(K Unused Overflow on when dp_hi x 1000 + dp_lo > 65535( ACCUM ( Unused FN41 Unused( #0005WTOD: 16 bit Word to Double WTOD: 16 bit Word to Double'O Page 1 / 1(Subfunction #6+(%Double Precision Lo 0 to 9999 X 10000#(Double Precision Hi 0 to 9999@*@*@**($====================================(Accumulator 0 to 65535D*B((8 CONTROL dp_lo = remainder( Unused Unused( WORD ( Unused FN41 Unused( #0006ADDI: 16 bit Add ImmediateADDI: 16 bit Add Immediate'O Page 1 / 1(Subfunction #7(Parameter 0 to 65535*($====================================(Accumulator 0 to 65535@*@*D*B( 65535( ACCUM ( Unused FN41 Unused( #0007ADDX: 16 bit Add IndirectADDX: 16 bit Add Indirect'O Page 1 / 1(Subfunction #8 (Parameter 0 TO 65535 in 4x*($====================================(Accumulator 0 to 65535@*@*D*B( 65535( ACCUM ( Unused FN41 Unused( #0008/ !SADI: Signed 16 bit Add Immediate&!SADI: Signed 16 bit Add Immediate'O Page 1 / 1(Subfunction #9(Parameter -32768 to 32767*($====================================!(Accumulator -32768 to 32767@*@*D*B( 32767M(G ACCUM on when accum should be < -32768( Unused FN41 Unused( #00090  SADX: Signed 16 bit Add Indirect% SADX: Signed 16 bit Add Indirect'O Page 1 / 1(Subfunction #10!(Param -32768 TO 32767 in 4x*($====================================!(Accumulator -32768 TO 32767@*@*D*B( 32767M(G ACCUM on when accum should be < -32768( Unused FN41 Unused( #0010 SUBI: 16 bit Subtract Immediate$SUBI: 16 bit Subtract Immediate'O Page 1 / 1(Subfunction #11(Parameter 0 TO 65535*($====================================(Accumulator 0 TO 65535@*@*D*B( Param2( CONTROL((" Unused Param1 = Param2( PARAM2((" Unused FN41 Param1 < Param2( #0015ٺCMPX: 16 bit Compare Indirect"CMPX: 16 bit Compare Indirect'O Page 1 / 1(Subfunction #16!(Parameter1 0 TO 65535 in 4x*($====================================(Parameter2 0 TO 65535@*@*D*(("Power In Param1 > Param2( CONTROL((" Unused Param1 = Param2( PARAM2((" Unused FN41 Param1 < Param2( #0016%SCPI: Signed 16 bit Compare Immediate*%SCPI: Signed 16 bit Compare Immediate'O Page 1 / 1(Subfunction #17 (Parameter1 -32768 to 32767*($==================================== (Parameter2 -32768 to 32767@*@*D*(("Power In Param1 > Param2( CONTROL((" Unused Param1 = Param2( PARAM2((" Unused FN41 Param1 < Param2( #0017$SCPX: Signed 16 bit Compare Indirect)$SCPX: Signed 16 bit Compare Indirect'O Page 1 / 1(Subfunction #18"(Param1 -32768 to 32767 in 4x*($====================================(Param2 -32768 to 32767@*@*D*(("Power In Param1 > Param2( CONTROL((" Unused Param1 = Param2( PARAM2((" Unused FN41 Param1 < Param2( #0018MULI: Multiply ImmediateMULI: Multiply Immediate'O Page 1 / 1(Subfunction #19(Parameter 0 to 65535*($====================================(Accumulator Lo(Accumulator Hi@*@*D*D*Q(KPower In OK Accum_hi:accum_lo = accum_lo * param( CONTROLB(< Unused Overflow on when accum > 65535( ACCUM ( Unused FN41 Unused( #0019MULX: Multiply IndirectMULX: Multiply Indirect'O Page 1 / 1(Subfunction #20 (Parameter 0 to 65535 in 4x*($====================================(Accumulator Lo(Accumulator Hi@*@*D*D*Q(KPower In OK Accum_hi:accum_lo = accum_lo * param( CONTROLB(< Unused Overflow on when accum > 65535( ACCUM ( Unused FN41 Unused( #0020 SMLI: Signed Multiply Immediate$SMLI: Signed Multiply Immediate'O Page 1 / 1(Subfunction #21(Parameter -32768 to 32767*($====================================(Accumulator Lo(Accumulator Hi@*@*D*D*Q(KPower In OK Accum_hi:accum_lo = accum_lo * param( CONTROLB(< Unused Overflow on when accum > 32767( ACCUM ( Unused FN41 Unused( #0021 SMLX: Signed Multiply Indirect#SMLX: Signed Multiply Indirect'O Page 1 / 1(Subfunction #22!(Param -32768 to 32767 in 4x*($====================================(Accumulator Lo(Accumulator Hi@*@*D*D*Q(KPower In OK Accum_hi:accum_lo = accum_lo * param( CONTROLB(< Unused Overflow on when accum > 32767( ACCUM ( Unused FN41 Unused( #0022DIVI: Divide ImmediateDIVI: Divide Immediate'O Page 1 / 1(Subfunction #23(Parameter 0 TO 65535*($====================================(Accumulator Lo, Quotient(Accumulator Hi, Remainder@*@*D*D*N(HPower In OK accum = Accum_hi:accum_lo / param( CONTROLC(= Unused Overflow on when divide by zero( QUOTIENT( Unused FN41 Unused( #0023 DIVI: Divide IndirectDIVI: Divide Indirect'O Page 1 / 1(Subfunction #24 (Parameter 0 TO 65535 in 4x*($====================================(Accumulator Lo, Quotient(Accumulator Hi, Remainder@*@*D*D*N(HPower In OK accum = Accum_hi:accum_lo / param( CONTROLC(= Unused Overflow on when divide by zero( QUOTIENT( Unused FN41 Unused( #0024SDVI: Signed Divide Immediate"SDVI: Signed Divide Immediate'O Page 1 / 1(Subfunction #25(Parameter -32768 to 32767*($====================================(Accumulator Lo, Quotient(Accumulator Hi, Remainder@*@*D*D*N(HPower In OK accum = Accum_hi:accum_lo / param( CONTROLC(= Unused Overflow on when divide by zero( QUOTIENT( Unused FN41 Unused( #0025SDVI: Signed Divide Indirect!SDVI: Signed Divide Indirect'O Page 1 / 1(Subfunction #26!(Param -32768 TO 32767 in 4x*($====================================(Accumulator Lo, Quotient(Accumulator Hi, Remainder@*@*D*D*N(HPower In OK accum = Accum_hi:accum_lo / param( CONTROLC(= Unused Overflow on when divide by zero( QUOTIENT( Unused FN41 Unused( #0026 #GPAR: Get Parameters from MMC188/41 (#GPAR: Get Parameters from MMC188/41'O Page 1 / 13(Subfunction #27(Begin Index 0-15(End Index 0-15(Begin Input Reg 3x( Begin Output Reg 4x( Begin Private Reg 4x( End Private Reg 4x*( $====================================@*@*@*@*@ *@ *@ *%( Power In Power Out( CONTROL (Start/Reset Done( PARAMS$( Unused FN41 Not Done( #00276 Axis 0 Parameters'O Page 2 / 13( Pressure Dif( Pressure Int( Pressure Gain(Pressure Scale(Pressure Offset( Pressure Ramp( Pressure Low( Pressure Cmd ( Clock( Status IDD*D*D*D*D*D*D*D *D *D * s6 Axis 0 Parameters'O Page 3 / 13(New Null(Emergency Stop Mask( Halt Mask(Reserved(Feed Forward Advance( Null Update(Reserved ( Dither( Hysteresis( Static Gain( Extend Gain( Retract GainD* D+ D+ D* D*D*D*D *D *D *D *D *s !Axis 0 Parameters'O Page 4 / 13(Integral Gain(Differential Gain(Extend Feed Forward(Retract Feed Forward (Scale (Offset (Dir( Max Error( Primary Set Complete( Secondary Set Complete( Extend Limit( Retract LimitD*D*D*D*K*D*D*D *D *D *K * D *!5 "+Axis 1 Parameters'O Page 5 / 13( Pressure Dif( Pressure Int( Pressure Gain(Pressure Scale(Pressure Offset( Pressure Ramp( Pressure Low( Pressure Cmd ( Clock( Status IDD*"D*#D*$D*%D*&D*'D*(D *)D **D *+s5 ,7Axis 1 Parameters'O Page 6 / 13(New Null(Emergency Stop Mask( Halt Mask(Reserved(Feed Forward Advance( Null Update(Reserved ( Dither( Hysteresis( Static Gain( Extend Gain( Retract GainD*,D+-D+.D*/D*0D*1D*2D *3D *4D *5D *6D *7s 8CAxis 1 Parameters'O Page 7 / 13(Integral Gain(Differential Gain(Extend Feed Forward(Retract Feed Forward (Scale (Offset (Dir( Max Error( Primary Set Complete( Secondary Set Complete( Extend Limit( Retract LimitD*8D*9D*:D*;K*<D*=D*>D *?D *@D *AK *BD *C6 DMAxis 2 Parameters'O Page 8 / 13( Pressure Dif( Pressure Int( Pressure Gain(Pressure Scale(Pressure Offset( Pressure Ramp( Pressure Low( Pressure Cmd ( Clock( Status IDD*DD*ED*FD*GD*HD*ID*JD *KD *LD *Ms6  NYAxis 2 Parameters'O Page 9 / 13(New Null(Emergency Stop Mask( Halt Mask(Reserved(Feed Forward Advance( Null Update(Reserved ( Dither( Hysteresis( Static Gain( Extend Gain( Retract GainD*ND+OD+PD*QD*RD*SD*TD *UD *VD *WD *XD *Ys  ZeAxis 2 Parameters'O Page 10 / 13(Integral Gain(Differential Gain(Extend Feed Forward(Retract Feed Forward (Scale (Offset (Dir( Max Error( Primary Set Complete( Secondary Set Complete( Extend Limit( Retract LimitD*ZD*[D*\D*]K*^D*_D*`D *aD *bD *cK *dD *e7  foAxis 3 Parameters'O Page 11 / 13( Pressure Dif( Pressure Int( Pressure Gain(Pressure Scale(Pressure Offset( Pressure Ramp( Pressure Low( Pressure Cmd ( Clock( Status IDD*fD*gD*hD*iD*jD*kD*lD *mD *nD *ot7  p{Axis 3 Parameters'O Page 12 / 13(New Null(Emergency Stop Mask( Halt Mask(Reserved(Feed Forward Advance( Null Update(Reserved ( Dither( Hysteresis( Static Gain( Extend Gain( Retract GainD*pD+qD+rD*sD*tD*uD*vD *wD *xD *yD *zD *{t  |Axis 3 Parameters'O Page 13 / 13(Integral Gain(Differential Gain(Extend Feed Forward(Retract Feed Forward (Scale (Offset (Dir( Max Error( Primary Set Complete( Secondary Set Complete( Extend Limit( Retract LimitD*|D*}D*~D*K*D*D*D *D *D *K *D * !SPAR: Set Parameters in MMC188/41 &!SPAR: Set Parameters in MMC188/41'O Page 1 / 13(Subfunction #28(Begin Index 0-15(End Index 0-15(Begin Input Reg 3x( Begin Output Reg 4x( Begin Private Reg 4x( End Private Reg 4x*( $====================================@*@*@*@*@ *@ *@ *%( Power In Power Out( CONTROL (Start/Reset Done( PARAMS$( Unused FN41 Not Done( #00286 Axis 0 Parameters'O Page 2 / 13( Pressure Dif( Pressure Int( Pressure Gain(Pressure Scale(Pressure Offset( Pressure Ramp( Pressure Low( Pressure Cmd ( Clock( Status IDD*D*D*D*D*D*D*D *D *D * s6 Axis 0 Parameters'O Page 3 / 13(New Null(Emergency Stop Mask( Halt Mask(Reserved(Feed Forward Advance( Null Update(Reserved ( Dither( Hysteresis( Static Gain( Extend Gain( Retract GainD* D+ D+ D* D*D*D*D *D *D *D *D *s !Axis 0 Parameters'O Page 4 / 13(Integral Gain(Differential Gain(Extend Feed Forward(Retract Feed Forward (Scale (Offset (Dir( Max Error( Primary Set Complete( Secondary Set Complete( Extend Limit( Retract LimitD*D*D*D*K*D*D*D *D *D *K * D *!5 "+Axis 1 Parameters'O Page 5 / 13( Pressure Dif( Pressure Int( Pressure Gain(Pressure Scale(Pressure Offset( Pressure Ramp( Pressure Low( Pressure Cmd ( Clock( Status IDD*"D*#D*$D*%D*&D*'D*(D *)D **D *+s5 ,7Axis 1 Parameters'O Page 6 / 13(New Null(Emergency Stop Mask( Halt Mask(Reserved(Feed Forward Advance( Null Update(Reserved ( Dither( Hysteresis( Static Gain( Extend Gain( Retract GainD*,D+-D+.D*/D*0D*1D*2D *3D *4D *5D *6D *7s 8CAxis 1 Parameters'O Page 7 / 13(Integral Gain(Differential Gain(Extend Feed Forward(Retract Feed Forward (Scale (Offset (Dir( Max Error( Primary Set Complete( Secondary Set Complete( Extend Limit( Retract LimitD*8D*9D*:D*;K*<D*=D*>D *?D *@D *AK *BD *C6 DMAxis 2 Parameters'O Page 8 / 13( Pressure Dif( Pressure Int( Pressure Gain(Pressure Scale(Pressure Offset( Pressure Ramp( Pressure Low( Pressure Cmd ( Clock( Status IDD*DD*ED*FD*GD*HD*ID*JD *KD *LD *Ms6  NYAxis 2 Parameters'O Page 9 / 13(New Null(Emergency Stop Mask( Halt Mask(Reserved(Feed Forward Advance( Null Update(Reserved ( Dither( Hysteresis( Static Gain( Extend Gain( Retract GainD*ND+OD+PD*QD*RD*SD*TD *UD *VD *WD *XD *Ys  ZeAxis 2 Parameters'O Page 10 / 13(Integral Gain(Differential Gain(Extend Feed Forward(Retract Feed Forward (Scale (Offset (Dir( Max Error( Primary Set Complete( Secondary Set Complete( Extend Limit( Retract LimitD*ZD*[D*\D*]K*^D*_D*`D *aD *bD *cK *dD *e7  foAxis 3 Parameters'O Page 11 / 13( Pressure Dif( Pressure Int( Pressure Gain(Pressure Scale(Pressure Offset( Pressure Ramp( Pressure Low( Pressure Cmd ( Clock( Status IDD*fD*gD*hD*iD*jD*kD*lD *mD *nD *ot7  p{Axis 3 Parameters'O Page 12 / 13(New Null(Emergency Stop Mask( Halt Mask(Reserved(Feed Forward Advance( Null Update(Reserved ( Dither( Hysteresis( Static Gain( Extend Gain( Retract GainD*pD+qD+rD*sD*tD*uD*vD *wD *xD *yD *zD *{t  |Axis 3 Parameters'O Page 13 / 13(Integral Gain(Differential Gain(Extend Feed Forward(Retract Feed Forward (Scale (Offset (Dir( Max Error( Primary Set Complete( Secondary Set Complete( Extend Limit( Retract LimitD*|D*}D*~D*K*D*D*D *D *D *K *D * ?#GPRO: Get Profile(s) from MMC188/41 (#GPRO: Get Profile(s) from MMC188/41'O Page 1 / 5(Subfunction #29(Begin Index 0-15(End Index 0-15(Begin Input Reg 3x( Begin Output Reg 4x( Begin Private Reg 4x( End Private Reg 4x*( $====================================@*@*@*@*@ *@ *@ *%( Power In Power Out( CONTROL (Start/Reset Done( PROFS $( Unused FN41 Not Done( #0029ٮ" Profiles 0-3'O Page 2 / 5( Mode 0( Accel 0( Decel 0( Speed 0( Mode 1( Accel 1( Decel 1( Speed 1( Mode 2( Accel 2( Decel 2( Speed 2( Mode 3( Accel 3( Decel 3( Speed 3D+D*D*K*D+D*D*K *D +D * D * K * D+ D* D*K*" Profiles 4-7'O Page 3 / 5( Mode 4( Accel 4( Decel 4( Speed 4( Mode 5( Accel 5( Decel 5( Speed 5( Mode 6( Accel 6( Decel 6( Speed 6( Mode 7( Accel 7( Decel 7( Speed 7D+D*D*K*D+D*D*K *D +D *D *K *D+D*D*K*" / Profiles 8-11'O Page 4 / 5( Mode 8( Accel 8( Decel 8( Speed 8( Mode 9( Accel 9( Decel 9( Speed 9( Mode 10( Accel 10( Decel 10( Speed 10( Mode 11( Accel 11( Decel 11( Speed 11D+ D*!D*"K*#D+$D*%D*&K *'D +(D *)D **K *+D+,D*-D*.K*/"0?Profiles 12-15'O Page 5 / 5( Mode 12( Accel 12( Decel 12( Speed 12( Mode 13( Accel 13( Decel 13( Speed 13( Mode 14( Accel 14( Decel 14( Speed 14( Mode 15( Accel 15( Decel 15( Speed 15D+0D*1D*2K*3D+4D*5D*6K *7D +8D *9D *:K *;D+<D*=D*>K*? ?!SPRO: Set Profile(s) in MMC188/41 &!SPRO: Set Profile(s) in MMC188/41'O Page 1 / 5(Subfunction #30(Begin Index 0-15(End Index 0-15(Begin Input Reg 3x( Begin Output Reg 4x( Begin Private Reg 4x( End Private Reg 4x*( $====================================@*@*@*@*@ *@ *@ *%( Power In Power Out( CONTROL (Start/Reset Done( PROFS $( Unused FN41 Not Done( #0030ٮ" Profiles 0-3'O Page 2 / 5( Mode 0( Accel 0( Decel 0( Speed 0( Mode 1( Accel 1( Decel 1( Speed 1( Mode 2( Accel 2( Decel 2( Speed 2( Mode 3( Accel 3( Decel 3( Speed 3D+D*D*K*D+D*D*K *D +D * D * K * D+ D* D*K*" Profiles 4-7'O Page 3 / 5( Mode 4( Accel 4( Decel 4( Speed 4( Mode 5( Accel 5( Decel 5( Speed 5( Mode 6( Accel 6( Decel 6( Speed 6( Mode 7( Accel 7( Decel 7( Speed 7D+D*D*K*D+D*D*K *D +D *D *K *D+D*D*K*" / Profiles 8-11'O Page 4 / 5( Mode 8( Accel 8( Decel 8( Speed 8( Mode 9( Accel 9( Decel 9( Speed 9( Mode 10( Accel 10( Decel 10( Speed 10( Mode 11( Accel 11( Decel 11( Speed 11D+ D*!D*"K*#D+$D*%D*&K *'D +(D *)D **K *+D+,D*-D*.K*/"0?Profiles 12-15'O Page 5 / 5( Mode 12( Accel 12( Decel 12( Speed 12( Mode 13( Accel 13( Decel 13( Speed 13( Mode 14( Accel 14( Decel 14( Speed 14( Mode 15( Accel 15( Decel 15( Speed 15D+0D*1D*2K*3D+4D*5D*6K *7D +8D *9D *:K *;D+<D*=D*>K*?/MBFT: Move Block From Table   MBFT: Move Block From Table'O Page 1 / 4(Subfunction #31 (Block Begin Index 0 to N-1(Block End Index 0 to N-1( Block Size( Begin Output Reg 4x( Begin Private Reg 4x( End Private Reg 4x*( $====================================@*@*@*@*@ *@ *@ *$( Power In Power Out( CONTROL&( Move Block Block Moved( TABLE $( Reset In FN41 Reset Out( #0031 "Table Area 0-15'O Page 2 / 4( Table Area 0( 1( 2( 3( 4( 5( 6( 7( 8( 9( 10( 11( 12( 13( 14( 15D+D*D*D+D*D*D+D *D *D + D * D * D+ D* D*D+"Table Area 16-31'O Page 3 / 4( Table Area 16( 17( 18( 19( 20( 21( 22( 23( 24( 25( 26( 27( 28( 29( 30( 31D*D*D+D*D*D+D*D *D +D *D *D +D*D*D+D*" /Table Area 32-47'O Page 4 / 4( Table Area 32( 33( 34( 35( 36( 37( 38( 39( 40( 41( 42( 43( 44( 45( 46( 47D* D+!D*"D*#D+$D*%D*&D +'D *(D *)D +*D *+D*,D+-D*.D*/O  $INIT: Initialize 4x Output Registers)$INIT: Initialize 4x Output Registers'O Page 1 / 2(Subfunction #32(Begin Input Reg 3x(Begin Private Reg 4x(End Private Reg 4x@*@*@*@**($====================================%( Power In Power Out( CONTROL (Start/Reset Done( OUTREGS$( Unused FN41 Not Done( #0032w Output Register'O Page 2 / 2( Output Reg +0( +1( +2( +3( +4( +5( +6( +7( +8( +9(  +10(  +11D*D*D*D*D*D*D*D *D *D * D * D * n! MSTT: Move Status to 0x Table"MSTT: Move Status to 0x Table'O Page 1 / 2(Subfunction #33(Begin Input Reg 3x(Begin Output Bit 0x(Begin Private Reg 4x(End Private Reg 4x@*@*@*@*@**($====================================&( Power In Active Out( CONTROL(("On/Reset In On/Reset Out( OUTREGS'(! Ignored In FN41 Ignored Out( #0033w Output Register'O Page 2 / 2( Output Reg +0( +1( +2( +3( +4( +5( +6( +7( +8( +9(  +10(  +11D*D*D*D*D*D*D*D *D *D * D * D * " GSTP: Get Step(s) from MMC188/41 % GSTP: Get Step(s) from MMC188/41'O Page 1 / 3(Subfunction #34(Begin Index 0-255(End Index 0-255(Begin Input Reg 3x( Begin Output Reg 4x( Begin Private Reg 4x( End Private Reg 4x*( $====================================@*@*@*@*@ *@ *@ *%( Power In Power Out( CONTROL (Start/Reset Done( STEPS $( Unused FN41 Not Done( #0034" Steps 0-1'O Page 2 / 3( Mode 0( Accel 0( Decel 0( Speed 0( Position 0( Command 0( Lnext/Ltype 0( Link Value 0( Mode 1( Accel 1( Decel 1( Speed 1( Position 1( Command 1( Lnext/Ltype 1( Link Value 1D+D*D*K*D*D+D+K *D +D * D * K* D* D+ D+K*" Steps 2-3'O Page 3 / 3( Mode 2( Accel 2( Decel 2( Speed 2( Position 2( Command 2( Lnext/Ltype 2( Link Value 2( Mode 3( Accel 3( Decel 3( Speed 3( Position 3( Command 3( Lnext/Ltype 3( Link Value 3D+D*D*K*D*D+D+K *D +D *D *K*D*D+D+K*#SSTP: Set Step(s) in MMC188/41 #SSTP: Set Step(s) in MMC188/41'O Page 1 / 3(Subfunction #35(Begin Index 0-255(End Index 0-255(Begin Input Reg 3x( Begin Output Reg 4x( Begin Private Reg 4x( End Private Reg 4x*( $====================================@*@*@*@*@ *@ *@ *%( Power In Power Out( CONTROL (Start/Reset Done( STEPS $( Unused FN41 Not Done( #0035" Steps 0-1'O Page 2 / 3( Mode 0( Accel 0( Decel 0( Speed 0( Position 0( Command 0( Lnext/Ltype 0( Link Value 0( Mode 1( Accel 1( Decel 1( Speed 1( Position 1( Command 1( Lnext/Ltype 1( Link Value 1D+D*D*K*D*D+D+K *D +D * D * K* D* D+ D+K*" Steps 2-3'O Page 3 / 3( Mode 2( Accel 2( Decel 2( Speed 2( Position 2( Command 2( Lnext/Ltype 2( Link Value 2( Mode 3( Accel 3( Decel 3( Speed 3( Position 3( Command 3( Lnext/Ltype 3( Link Value 3D+D*D*K*D*D+D+K *D +D *D *K*D*D+D+K*