REM -- Configuration Originally Generated based on part number: ACR9040/P3/U0/B0 REM -- Primary System Settings for ACR Device SYS HALT ALL NEW ALL CLEAR DETACH ALL REM-----Allocate system memory----- DIM PROG0(300000) 'DIM PROG1(100000) DIM PROG8(10000) DIM PROG9(10000) 'DIM PROG15(114688) DIM PLC0(10000) REM Some Global Memory is used by Wizard Generated Code DIM P(4096) DIM DEF(1000) REM -- Hardware Configuration REM 0 = 12 bit card present, 1 = 16 bit card present ADC MODE 1 REM CANopen Settings P32768=5 P32769=125 P32772=50 P32770=1 P33024=1 REM EPL Settings P37376=2 P37632=1 P37634=7 P37648=2 P37650=7 PERIOD 0.0005 ATTACH AXIS0 EPLD0 AXIS0 PPU 8000.000000 AXIS0 EXC (1,-1) REM ACR Extended IO Settings SET BIT8468 CLR BIT8464 SET BIT8470 SET BIT8469 CLR BIT8453 CLR BIT8471 REM Axis Gains values AXIS0 TLM 10 REM Axis Limits AXIS0 HLBIT 3328 AXIS0 HLDEC 500 CLR BIT16144 CLR BIT16145 SET BIT16148 SET BIT16149 AXIS0 SLM (0,0) AXIS0 SLDEC 500 CLR BIT16150 CLR BIT16151 AXIS0 ON ATTACH AXIS1 EPLD1 AXIS1 PPU 8000.000000 AXIS1 EXC (1,-1) REM ACR Extended IO Settings SET BIT8500 CLR BIT8496 SET BIT8502 SET BIT8501 CLR BIT8485 CLR BIT8503 REM Axis Gains values AXIS1 TLM 10 REM Axis Limits AXIS1 HLDEC 500 SET BIT16176 SET BIT16177 CLR BIT16180 CLR BIT16181 AXIS1 SLM (0,0) AXIS1 SLDEC 500 CLR BIT16182 CLR BIT16183 AXIS1 ON REM Turn off any unused Axes AXIS2 OFF AXIS3 OFF AXIS4 OFF AXIS5 OFF AXIS6 OFF AXIS7 OFF AXIS8 OFF AXIS9 OFF AXIS10 OFF AXIS11 OFF AXIS12 OFF AXIS13 OFF AXIS14 OFF AXIS15 OFF REM Code Generated by ComACRsrvr Module, File Version: 1.1.2.33 @ Wednesday, June 20, 2007 16:58:02 REM Code Generated from map:program8k v1.1 CodeMap File:C:\WINDOWS\system32\kjconfig.cmp v3.6 REM Program Level setup for the ACR Card PROG0 DETACH ATTACH MASTER0 ATTACH SLAVE0 AXIS0 "X" ATTACH SLAVE1 AXIS1 "Y" REM the desired master acceleration ACC 100 REM the desired master deceleration ramp DEC 100 REM the desired master stop ramp (deceleration at end of move) STP 100 REM the desired master velocity VEL 10 REM the desired acceleration versus time profile. JRK 0 SYS #DEFINE bFoundHomeX BIT16134 #DEFINE InputA BIT3328 #DEFINE InputB BIT3329 #DEFINE InputC BIT3330 #DEFINE InputD BIT3331 #DEFINE InputE BIT3332 #DEFINE InputF BIT3333 #DEFINE InputG BIT3334 #DEFINE InputH BIT256 #DEFINE OutA Bit3840 #DEFINE OutB Bit3841 #DEFINE OutC Bit3842 #DEFINE OutD Bit3843 #DEFINE DiscoverCAN BIT11264 #DEFINE StartCAN BIT11265 #DEFINE ResetCAN BIT11266 #DEFINE CANPresent BIT11268 #DEFINE CANOperational BIT11269 #DEFINE CANStartFailed BIT11270 #DEFINE CANNodeFailure BIT11271 #DEFINE RemapCAN P32771 #DEFINE StartEPL BIT16640 #DEFINE ResetEPL BIT16641 #DEFINE EPLPresent BIT16648 #DEFINE EPLOperational BIT16649 #DEFINE EPLStartFailed BIT16650 #DEFINE EPLNodeFailure BIT16651 #DEFINE EPLDStreamOpen BIT16652 #DEFINE EPLDStreamStopped BIT16653 #DEFINE EPLDrivesEnabled BIT16654 #DEFINE EPLPeriodError BIT16655 #DEFINE EPLStarting BIT16656 #DEFINE EPLResetting BIT16657 #DEFINE EPLDStreamOpening BIT16660 #DEFINE DriveEnableState 8476 #DEFINE iAXES 2 : REM constant for number axes in the system #DEFINE bDRIVESTATE 8476 : REM constant for 1st drive enable state flag #DEFINE iINDEX LV0 : REM local variable used as a counter #DEFINE bDRIVERESETTING PROG0 PROGRAM DIM LV1 GOSUB setup '''''program will loop continously in "main". '''''When an an Input is set, program will jump to the appropriate subroutine '''''and return to the main loop when motion is completed. _main IF (InputA) THEN X/1 : INH -516 IF (InputB) THEN Y/1 : INH -516 IF (InputC) THEN X/2 Y/2 : INH -516 IF (InputD) THEN X/-2 Y/-2 : INH -516 GOTO main _setup HLIM X0 : REM enables both limits for X axis ACC 100 DEC 100 STP 100 VEL 25 FOR iINDEX = 0 TO (iAXES-1) STEP 1 AXIS(iINDEX) DRIVE ON INH (bDRIVESTATE + iINDEX*32) NEXT RETURN ENDP PROG8 PROGRAM PBOOT DIM LV3 INH CANPresent SET ResetCAN INH ResetCAN INH -ResetCAN ' CAN network should be RESET before before attempting to start. RemapCAN=1 SET StartCAN P6916=0 WHILE (NOT CANOperational ) IF (CANStartFailed) PRINT "CAN network has failed to start" ENDIF IF (P6916 > 10000) THEN BREAK WEND IF (CANOperational) PRINT "CAN network is operational" ELSE IF (CANStartFailed) PRINT "CAN network has failed to start" ENDIF IF (EPLOperational) PRINT "EPL network is operational" ENDIF SET ResetEPL INH EPLResetting INH -EPLResetting SET StartEPL INH EPLStarting INH -EPLStarting WHILE (NOT EPLOperational) IF (EPLStartFailed) PRINT "EPL network has failed to start" BREAK ENDIF WEND IF (EPLOperational) PRINT "EPL network is operational" ELSE IF (EPLStartFailed) PRINT "EPL network has failed to start" END ENDIF RUN PROG9 ENDP PROG9 program dim lv1 CLOSE #1 IF (BIT 9473) OPEN "EPLD0:" AS #1 TALKTO #1 GOSUB MOTORCONFIG CLOSE #1 DWL 1 ENDIF IF (BIT 9505) OPEN "EPLD1:" AS #1 TALKTO #1 GOSUB MOTORCONFIG CLOSE #1 DWL 1 ENDIF FOR iINDEX = 0 TO (iAXES-1) STEP 1 AXIS(iINDEX) DRIVE RES DWL 3 NEXT FOR iINDEX = 0 TO (iAXES-1) STEP 1 AXIS(iINDEX)DGAIN 0.00002 AXIS(iINDEX)PGAIN 0.003 NEXT if (not bit 5645) FOR iINDEX = 0 TO (iAXES-1) STEP 1 AXIS(iINDEX) DRIVE ON NEXT RUN PROG0 endif RUN PLC0 END _MOTORCONFIG PRINT #1,"C65=0" PRINT #1,"C47=32" PRINT #1,"C8=83.3" PRINT #1,"C9=4" PRINT #1,"C11=9.04" PRINT #1,"C10=23.6" PRINT #1,"C28=13.33" PRINT #1,"C29=1.6" PRINT #1,"C27=0.88" PRINT #1,"C26=25" PRINT #1,"C6=125" PRINT #1,"C39=1" PRINT #1,"C25=3" PRINT #1,"C15=29.89" PRINT #1,"C1=1.94" PRINT #1,"C2=5.35" PRINT #1,"C3=5.83" PRINT #1,"C7=6.97" PRINT #1,"C5=0.850746" PRINT #1,"C4=30.82" PRINT #1,"C12=0" PRINT #1,"C0=8000" PRINT #1,"C55=0" PRINT #1,"C59=0" PRINT #1,"C22=0" PRINT #1,"C82=0" PRINT #1,"C20=0" PRINT #1,"C67=6" PRINT #1,"C38=16" PRINT #1,"C14=2.35" PRINT #1,"C17=2.35" PRINT #1,"C45=83.3" PRINT #1,"C16=600" PRINT #1,"C18=0" PRINT #1,"C19=0" PRINT #1,"C23=0" PRINT #1,"C46=1" PRINT #1,"C41=0" PRINT #1,"C40=0" PRINT #1,"C42=0" PRINT #1,"C43=0" PRINT #1,"C30=0" PRINT #1,"C31=0" PRINT #1,"C32=1" PRINT #1,"C33=0" PRINT #1,"C34=0" PRINT #1,"C35=1" PRINT #1,"C36=0" PRINT #1,"C37=200" PRINT #1,"X12=BE231DJ" DWL 1 RETURN EndP PLC0 20 LD 5645 30 AND 5646 40 OUT 1033 60 LD 5645 70 AND NOT 5646 80 OUT 1032 100 LD 3332 110 OUT 3840 130 LD 3333 140 OUT 3841 160 LD 3334 170 OUT 3842 190 LD 256 200 OUT 3843 210 END