registerChannelProviderLocal firstTime true # # Start at "2022-W04-Jan28-1004-19-CET" # # Version information: # European Spallation Source ERIC : iocsh.bash (3.4.0-PID-11532) # # --->--> snip -->--> # Please Use Version and other environment variables # in order to report or debug this shell # # HOSTDISPLAY="" # WINDOWID="" # PWD="/home/pi/sources/e3-ecmc_plugin_grbl/ecmc_plugin_grbl-dev/iocsh" # USER="pi" # LOGNAME="pi" # EPICS_HOST_ARCH="linux-arm" # EPICS_BASE="/home/pi/epics/base-7.0.5" # E3_REQUIRE_NAME="require" # E3_REQUIRE_VERSION="3.4.0" # E3_REQUIRE_LOCATION="/home/pi/epics/base-7.0.5/require/3.4.0" # E3_REQUIRE_BIN="/home/pi/epics/base-7.0.5/require/3.4.0/bin" # E3_REQUIRE_DB="/home/pi/epics/base-7.0.5/require/3.4.0/db" # E3_REQUIRE_DBD="/home/pi/epics/base-7.0.5/require/3.4.0/dbd" # E3_REQUIRE_INC="/home/pi/epics/base-7.0.5/require/3.4.0/include" # E3_REQUIRE_LIB="/home/pi/epics/base-7.0.5/require/3.4.0/lib" # EPICS_DRIVER_PATH="/home/pi/epics/base-7.0.5/require/3.4.0/siteMods:/home/pi/epics/base-7.0.5/require/3.4.0/siteApps" # EPICS_CA_AUTO_ADDR_LIST="" # EPICS_CA_ADDR_LIST="" # PATH="/home/pi/epics/base-7.0.5/require/3.4.0/bin:/home/pi/epics/base-7.0.5/bin/linux-arm:/home/pi/berryconda3/bin:/home/pi/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games" # --->--> snip -->--> # # Set REQUIRE_IOC for its internal PVs epicsEnvSet REQUIRE_IOC "REQMOD:raspberrypi-11532" # # Enable an exit subroutine for sotfioc dbLoadRecords "/home/pi/epics/base-7.0.5/db/softIocExit.db" "IOC=REQMOD:raspberrypi-11532" # # Set E3_IOCSH_TOP for the absolute path where iocsh.bash is executed. epicsEnvSet E3_IOCSH_TOP "/home/pi/sources/e3-ecmc_plugin_grbl/ecmc_plugin_grbl-dev/iocsh" # # # Load require module, which has the version 3.4.0 # dlload /home/pi/epics/base-7.0.5/require/3.4.0/lib/linux-arm/librequire.so dbLoadDatabase /home/pi/epics/base-7.0.5/require/3.4.0/dbd/require.dbd require_registerRecordDeviceDriver Loading module info records for require # # Set E3_CMD_TOP for the absolute path where test.script exists epicsEnvSet E3_CMD_TOP "/home/pi/sources/e3-ecmc_plugin_grbl/ecmc_plugin_grbl-dev/iocsh" # iocshLoad 'test.script','' ############################################################################## ## Example: Demo of ecmc grbl g-code plugin ## https://github.com/anderssandstrom/ecmc_plugin_grbl ## https://github.com/anderssandstrom/e3-ecmc_plugin_grbl ## ## The plugin exposes: ## ## Initiation: epicsEnvSet("IOC" ,"IOC_TEST") epicsEnvSet("ECMCCFG_INIT" ,"") #Only run startup once (auto at PSI, need call at ESS), variable set to "#" in startup.cmd epicsEnvSet("SCRIPTEXEC" ,"iocshLoad") require ecmccfg ruckig Module ecmccfg version ruckig found in /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ Loading library /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/lib/linux-arm/libecmccfg.so Loaded ecmccfg version ruckig Loading dbd file /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/dbd/ecmccfg.dbd Calling function ecmccfg_registerRecordDeviceDriver Loading module info records for ecmccfg # Epics Motor record driver that will be used: epicsEnvShow(ECMC_MR_MODULE) ECMC_MR_MODULE is not an environment variable. # run module startup.cmd (only needed at ESS PSI auto call at require) iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/startup.cmd, "IOC=IOC_TEST,ECMC_VER=ruckig" #============================================================================== # startup.cmd on error halt require ecmc "ruckig" Module ecmc version ruckig found in /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmc/ruckig/ Module ecmc depends on asyn 4.41.0 Module asyn version 4.41.0 found in /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/asyn/4.41.0/ Loading library /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/asyn/4.41.0/lib/linux-arm/libasyn.so Loaded asyn version 4.41.0 Loading dbd file /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/asyn/4.41.0/dbd/asyn.dbd Calling function asyn_registerRecordDeviceDriver Loading module info records for asyn Module ecmc depends on exprtk 1.2.1 Module exprtk version 1.2.1 found in /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/exprtk/1.2.1/ Loading library /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/exprtk/1.2.1/lib/linux-arm/libexprtk.so Loaded exprtk version 1.2.1 exprtk has no dbd file Loading module info records for exprtk Module ecmc depends on motor develop Module motor version develop found in /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/motor/develop/ Module motor depends on asyn 4.41.0 Module asyn version 4.41.0 already loaded Loading library /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/motor/develop/lib/linux-arm/libmotor.so Loaded motor version develop Loading dbd file /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/motor/develop/dbd/motor.dbd Calling function motor_registerRecordDeviceDriver Loading module info records for motor Module ecmc depends on ruckig 1.0.0 Module ruckig version 1.0.0 found in /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ruckig/1.0.0/ Loading library /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ruckig/1.0.0/lib/linux-arm/libruckig.so Loaded ruckig version 1.0.0 ruckig has no dbd file Loading module info records for ruckig Loading library /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmc/ruckig/lib/linux-arm/libecmc.so Loaded ecmc version ruckig Loading dbd file /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmc/ruckig/dbd/ecmc.dbd Calling function ecmc_registerRecordDeviceDriver Loading module info records for ecmc ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD, "'ecmcMotorRecord'='EthercatMC'", "require EthercatMC 3.0.2 # Using EthercatMC motor record support.","# Using ecmcMotorRecord motor record support.") # Using ecmcMotorRecord motor record support. epicsEnvUnset(ECMC_EXE_CMD) epicsEnvSet("ECMC_CONFIG_ROOT", "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/") epicsEnvSet("ECMC_CONFIG_DB", "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/db") epicsEnvSet("SCRIPTEXEC", "iocshLoad") epicsEnvSet("SM_PREFIX", "IOC_TEST:") # colon added since IOC is _not_ PREFIX epicsEnvSet("ECMC_PROC_HOOK", "") epicsEnvSet(ECMC_MODE, FULL) ecmcEpicsEnvSetCalcTernary(ECMC_SUPPORT_MOTION, "'FULL'!='DAQ'","","# MODE == DAQ, DISABLING MOTION.") epicsEnvShow(ECMC_SUPPORT_MOTION) ECMC_SUPPORT_MOTION= ecmcEpicsEnvSetCalcTernary(ECMC_USE_MOTOR_RECORD, "'FULL'=='FULL'","","# MODE != FULL, DISABLING MOTOR RECORD.") epicsEnvShow(ECMC_USE_MOTOR_RECORD) ECMC_USE_MOTOR_RECORD= ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/initAll.cmd",1) iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/initAll.cmd" #============================================================================== # initAll.cmd ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/init.cmd",1) iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/init.cmd #============================================================================== # init.cmd epicsEnvSet("ECMC_ASYN_TIMEOUT", 1) # Asyn timeout epicsEnvSet("ECMC_ASYN_ADDR", 0) # Asyn Address epicsEnvSet("ECMC_MOTOR_PORT", "NOT SET") epicsEnvSet("ECMC_ASYN_PORT", "NOT SET") epicsEnvSet("ECMC_PREFIX", "NOT SET") epicsEnvSet("ECMC_GEN_EC_RECORDS", "NOT SET") epicsEnvSet("ECMC_GEN_AX_RECORDS", "NOT SET") epicsEnvSet("ECMC_EC_AXIS_HEALTH", "NOT SET") epicsEnvSet("ECMC_PLC_SAMPLE_RATE_MS", "NOT SET") epicsEnvSet("ECMC_TSE", -2) ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/initAxis.cmd",1) iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/initAxis.cmd" #============================================================================== # initAxis.cmd ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis_unset.cmd",1) iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis_unset.cmd" #============================================================================== # ecmc_axis_unset.cmd epicsEnvUnset(ECMC_AXISCONFIG) epicsEnvUnset(ECMC_AXISFIELDINIT) epicsEnvUnset(ECMC_PREC) epicsEnvUnset(ECMC_EGU) epicsEnvUnset(ECMC_DESC) epicsEnvUnset(ECMC_R) epicsEnvUnset(ECMC_MOTOR_NAME) epicsEnvUnset(ECMC_EC_AXIS_HEALTH) epicsEnvUnset(ECMC_MOD_RANGE) epicsEnvUnset(ECMC_MOD_TYPE) epicsEnvUnset(ECMC_EMERG_DECEL) epicsEnvUnset(ECMC_VELO) epicsEnvUnset(ECMC_ACCL) epicsEnvUnset(ECMC_ACCS_EGU_PER_S2) epicsEnvUnset(ECMC_HOME_VEL_TO) epicsEnvUnset(ECMC_HOME_VEL_FRM) epicsEnvUnset(ECMC_CNTRL_KP) epicsEnvUnset(ECMC_CNTRL_KI) epicsEnvUnset(ECMC_CNTRL_KD) epicsEnvUnset(ECMC_CNTRL_KFF) epicsEnvUnset(ECMC_EC_ENC_ACTPOS) epicsEnvUnset(ECMC_EC_ENC_LATCHPOS) epicsEnvUnset(ECMC_EC_ENC_LATCH_CONTROL) epicsEnvUnset(ECMC_EC_ENC_LATCH_STATUS) epicsEnvUnset(ECMC_HOME_LATCH_COUNT_OFFSET) epicsEnvUnset(ECMC_ENC_SCALE_DENOM) epicsEnvUnset(ECMC_ENC_SCALE_NUM) epicsEnvUnset(ECMC_ENC_TYPE) epicsEnvUnset(ECMC_ENC_BITS) epicsEnvUnset(ECMC_ENC_ABS_BITS) epicsEnvUnset(ECMC_ENC_ABS_OFFSET) epicsEnvUnset(ECMC_ENC_VEL_FILTER_SIZE) epicsEnvUnset(ECMC_ENC_POS_FILTER_SIZE) epicsEnvUnset(ECMC_ENC_POS_FILTER_ENABLE) epicsEnvUnset(ECMC_EC_ENC_RESET) epicsEnvUnset(ECMC_EC_ENC_ALARM_0) epicsEnvUnset(ECMC_EC_ENC_ALARM_1) epicsEnvUnset(ECMC_EC_ENC_ALARM_2) epicsEnvUnset(ECMC_EC_ENC_WARNING) epicsEnvUnset(ECMC_EC_DRV_CONTROL) epicsEnvUnset(ECMC_EC_DRV_STATUS) epicsEnvUnset(ECMC_EC_DRV_VELOCITY) epicsEnvUnset(ECMC_EC_DRV_BRAKE) epicsEnvUnset(ECMC_EC_DRV_REDUCE_TORQUE) epicsEnvUnset(ECMC_EC_DRV_RESET) epicsEnvUnset(ECMC_EC_DRV_ALARM_0) epicsEnvUnset(ECMC_EC_DRV_ALARM_1) epicsEnvUnset(ECMC_EC_DRV_ALARM_2) epicsEnvUnset(ECMC_EC_DRV_WARNING) epicsEnvUnset(ECMC_DRV_SCALE_DENOM) epicsEnvUnset(ECMC_DRV_SCALE_NUM) epicsEnvUnset(ECMC_DRV_BRAKE_OPEN_DLY_TIME) epicsEnvUnset(ECMC_DRV_BRAKE_CLOSE_AHEAD_TIME) epicsEnvUnset(ECMC_SOFT_LOW_LIM) epicsEnvUnset(ECMC_DXLM_ENABLE) epicsEnvUnset(ECMC_SOFT_HIGH_LIM) epicsEnvUnset(ECMC_DXLM_ENABLE) epicsEnvUnset(ECMC_EC_MON_LOWLIM) epicsEnvUnset(ECMC_EC_MON_HIGHLIM) epicsEnvUnset(ECMC_EC_MON_HOME_SWITCH) epicsEnvUnset(ECMC_EC_MON_EXT_INTERLOCK) epicsEnvUnset(ECMC_MON_AT_TARGET_TOL) epicsEnvUnset(ECMC_MON_AT_TARGET_TIME) epicsEnvUnset(ECMC_MON_AT_TARGET_ENA) epicsEnvUnset(ECMC_MON_LAG_MON_TOL) epicsEnvUnset(ECMC_MON_LAG_MON_TIME) epicsEnvUnset(ECMC_MON_LAG_MON_ENA) epicsEnvUnset(ECMC_MON_VELO_MAX) epicsEnvUnset(ECMC_MON_VELO_MAX_ENA) epicsEnvUnset(ECMC_MON_VELO_MAX_DRV_TIME) epicsEnvUnset(ECMC_MON_VELO_MAX_TRAJ_TIME) epicsEnvUnset(ECMC_JOG_VEL) epicsEnvUnset(ECMC_JAR) epicsEnvUnset(ECMC_HOME_PROC) epicsEnvUnset(ECMC_HOME_POS) epicsEnvUnset(ECMC_HOME_ACC) epicsEnvUnset(ECMC_HOME_DEC) epicsEnvUnset(ECMC_DRV_TYPE) epicsEnvUnset(ECMC_VELO) epicsEnvUnset(ECMC_SOFT_LOW_LIM) epicsEnvUnset(ECMC_SOFT_HIGH_LIM) epicsEnvUnset(ECMC_HOME_POS_MOVE_ENA) epicsEnvUnset(ECMC_HOME_POS_MOVE_TARG_POS) epicsEnvUnset(ECMC_TRAJ_TYPE) epicsEnvUnset(ECMC_JERK) ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis_sync_unset.cmd",1) iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis_sync_unset.cmd" #============================================================================== # ecmc_axis_sync_unset.cmd epicsEnvUnset(ECMC_CMD_FRM_OTHER_PLC_ENABLE) epicsEnvUnset(ECMC_CMD_AXIS_PLC_ENABLE) epicsEnvUnset(ECMC_AXIS_EXPR_LINE_1) epicsEnvUnset(ECMC_AXIS_EXPR_LINE_2) epicsEnvUnset(ECMC_AXIS_EXPR_LINE_3) epicsEnvUnset(ECMC_AXIS_EXPR_LINE_4) epicsEnvUnset(ECMC_AXIS_EXPR_LINE_5) epicsEnvUnset(ECMC_AXIS_EXPR_LINE_6) epicsEnvUnset(ECMC_AXIS_EXPR_LINE_7) epicsEnvUnset(ECMC_AXIS_EXPR_LINE_8) epicsEnvUnset(ECMC_AXIS_EXPR_LINE_9) epicsEnvUnset(ECMC_AXIS_EXPR_LINE_10) epicsEnvUnset(ECMC_ENC_VELO_FILT_SIZE) epicsEnvUnset(ECMC_ENC_VELO_FILT_ENABLE) epicsEnvUnset(ECMC_ENC_SOURCE) epicsEnvUnset(ECMC_TRAJ_VELO_FILT_SIZE) epicsEnvUnset(ECMC_TRAJ_VELO_FILT_ENABLE) epicsEnvUnset(ECMC_TRAJ_SOURCE) epicsEnvSet("ECMC_EGU", "mm") epicsEnvSet("ECMC_PREC", 3) epicsEnvSet("ECMC_AXISFIELDINIT", "") # Extra field ini2022/01/28 10:04:20.199 ECMC Initializes............. 2022/01/28 10:04:20.199 ESS Open Source EtherCAT Motion Control Epics Module2022/01/28 10:04:20.199 Mode: Configuration 2022/01/28 10:04:20.200 OK 2022/01/28 10:04:20.200 OK 2022/01/28 10:04:20.201 OK 2022/01/28 10:04:20.203 OK 2022/01/28 10:04:20.223 OK 2022/01/28 10:04:20.223 OK 2022/01/28 10:04:20.223 OK t to motor record epicsEnvSet("ECMC_AXISCONFIG", "") # Extra parameters to driver ############################################################ ############# ASYN Configuration: epicsEnvSet("ECMC_MOTOR_PORT" "MCU1") epicsEnvSet("ECMC_ASYN_PORT" "MC_CPU1") epicsEnvSet("ECMC_PREFIX" "IOC_TEST:") ecmcAsynPortDriverConfigure(MC_CPU1,1000,0,0,100) ecmcAsynPortDriverConfigure: portName = MC_CPU1, paramTableSize = 1000, disableAutoConnect = 0, priority = 0, defaultSampleRateMS = 100.000000 asynOctetSetOutputEos(MC_CPU1, -1, ";\n") asynOctetSetInputEos(MC_CPU1, -1, ";\n") asynSetTraceMask(MC_CPU1, -1, 0x41) asynSetTraceIOMask(MC_CPU1, -1, 6) asynSetTraceInfoMask(MC_CPU1, -1, 1) ecmcMotorRecordCreateController(MCU1, MC_CPU1, "64", 200, 1000, "") ############################################################ ############# Misc settings: # Disable function call trace printouts ecmcConfigOrDie "Cfg.SetEnableFuncCallDiag(0)" # Disable on change printouts from objects (enable for easy logging) ecmcConfigOrDie "Cfg.SetTraceMaskBit(15,0)" # Choose to generate EPICS-records for EtherCAT-entries # (For records use ECMC_GEN_EC_RECORDS="-records" otherwise ECMC_GEN_EC_RECORDS="") epicsEnvSet("ECMC_GEN_EC_RECORDS", "-records") # Choose to generate EPICS-records for ax-entries (PosAct, SetPos,..) # (For records use ECMC_GEN_AX_RECORDS="-records" otherwise ECMC_GEN_AX_RECORDS="") epicsEnvSet("ECMC_GEN_AX_RECORDS", "-records") # suffix for pva enabled scripts, templates and substitutions ecmcEpicsEnvSetCalcTernary(ECMC_PVA, "0", "Pva","") # Set EtherCAT frequency (defaults to 1000) ecmcConfigOrDie "Cfg.SetSampleRate(1000)" epicsEnvSet("ECMC_EC_SAMPLE_RATE" , 1000) ecmcEpicsEnvSetCalc("ECMC_EC_SAMPLE_RATE_MS" ,1000/1000) # Update records in 10ms (100Hz) for FULL MODE and in EC_RATE for DAQ mode ecmcEpicsEnvSetCalcTernary(ECMC_SAMPLE_RATE_MS, "'FULL'=='DAQ'","1","10") epicsEnvSet("ECMC_P_SCRIPT", "mXsXXX") ecmcEpicsEnvSetCalcTernary(ECMC_MASTER_CMD, "0>=0", "","#- ") ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/addMaster.cmd",1) iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/addMaster.cmd", "MASTER_ID=0" #=============================================================================== # addMaster.cfg epicsEnvSet("ECMC_EC_MASTER_ID" "0") # Claim master ecmcConfigOrDie "Cfg.EcSetMaster(0)" epicsEnvSet("ECMC_EC_MASTER_ID" ,0) epicsEnvSet("ECMC_TMP_DIR", "/tmp/IOC_TEST/EcMaster_0/") system "mkdir -p /tmp/IOC_TEST/EcMaster_0/" epicsEnvSet("ECMC_TMP_DIR", "/tmp/IOC_TEST/EcMaster_0/") system "mkdir -p /tmp/IOC_TEST/EcMaster_0/" ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/setDiagnostics.cmd",1) iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/setDiagnostics.cmd #============================================================================== # setDiagnostics.cmd ecmcConfigOrDie "Cfg.EcSetDiagnostics(1)" ecmcConfigOrDie "Cfg.EcEnablePrintouts(0)" ecmcConfigOrDie "Cfg.EcSetDomainFailedCyclesLimit(100)" epicsEnvSet("ECMCCFG_INIT" ,"#") ############################################################################## ## Configure hardware: iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcMCU1021_coupler.cmd ############################################################ ############# MCU1021: #Configure EK1100 coupler terminal epicsEnvSet(ECMC_EC_SLAVE_NUM,0) iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/addSlave.cmd, "SLAVE_ID=0, HW_DESC=EK1100" #============================================================================== # addSlave.cmd epicsEnvSet("ECMC_EC_SLAVE_NUM", "0") epicsEnvSet("HW_DESC", "EK1100") epicsEnvSet("P_SCRIPT", "mXsXXX") # add ${HW_DESC} to the bus at position ${SLAVE_ID} ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEK1100.cmd",1) iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEK1100.cmd" 2022/01/28 10:04:20.225 OK 2022/01/28 10:04:20.226 OK 2022/01/28 10:04:20.233 OK 2022/01/28 10:04:20.235 OK 2022/01/28 10:04:20.235 OK 2022/01/28 10:04:20.235 OK 2022/01/28 10:04:20.235 OK "NELM=1" epicsEnvSet("ECMC_EC_HWTYPE" "EK1100") epicsEnvSet("ECMC_EC_VENDOR_ID" "0x2") epicsEnvSet("ECMC_EC_PRODUCT_ID" "0x044c2c52") iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/slaveVerify.cmd ecmcEpicsEnvSetCalcTernary(ECMC_SLAVE_VERIFY, "0==0", "","#- ") ecmcConfigOrDie "Cfg.EcSlaveVerify(0,0,0x2,0x044c2c52)" ecmcEpicsEnvSetCalcTernary(ECMC_SLAVE_RESET, "0>0", "","#- ") epicsEnvSet(ECMC_EC_SLAVE_FW, "0x0000") epicsEnvUnset(ECMC_SLAVE_VERIFY) epicsEnvUnset(ECMC_COMMENT) ecmcConfigOrDie "Cfg.EcAddSlave(0,0,0x2,0x044c2c52)" # deduce what the prefix should be ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcmXsXXX.cmd",1) iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcmXsXXX.cmd" "MASTER_ID=0,SLAVE_POS=0,HWTYPE=EK1100" #============================================================================== # ecmcmXsXXX.cmd ecmcEpicsEnvSetCalc("sid", "0","%03d") ecmcEpicsEnvSetCalc("mid", "0","%01d") epicsEnvSet("ECMC_G", "IOC_TEST:m0s000") epicsEnvSet("ECMC_P", "IOC_TEST:m0s000-") epicsEnvUnset(sid) epicsEnvUnset(mid) ecmcEpicsEnvSetCalcTernary(DEFAULT_SUBS, "True", "","#- ") iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/applySubstitutions.cmd" "SUBST_FILE=ecmcEK1100.substitutions,ECMC_P=IOC_TEST:m0s000-" #============================================================================== # applySubstitutions.cmd ecmcFileExist(ecmcEK1100.substitutions,1,1) dbLoadTemplate(ecmcEK1100.substitutions,"ECMC_P=IOC_TEST:m0s000-,ECMC_G=IOC_TEST:m0s000,PORT=MC_CPU1,ADDR=0,TIMEOUT=1,MASTER_ID=0,SLAVE_POS=0,HWTYPE=EK1100,T_SMP_MS=10,TSE=-2,NELM=1") epicsEnvUnset(DEFAULT_SUBS) ecmcEpicsEnvSetCalcTernary(DEFAULT_SLAVE_PVS, "True", "","#- ") iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/applyTemplate.cmd" "TEMPLATE_FILE=ecmcEcSlave.template,ECMC_P=IOC_TEST:m0s000-,ECMC_G=IOC_TEST:m0s000" #============================================================================== # applyTemplate.cmd ecmcFileExist(ecmcEcSlave.template,1,1) dbLoadRecords("ecmcEcSlave.template", "ECMC_P=IOC_TEST:m0s000-,ECMC_G=IOC_TEST:m0s000,PORT=MC_CPU1,ADDR=0,TIMEOUT=1,MASTER_ID=0,SLAVE_POS=0,HWTYPE=EK1100,T_SMP_MS=10,TSE=-2,") epicsEnvUnset(DEFAULT_SLAVE_PVS) # increment SLAVE_ID ecmcEpicsEnvSetCalc("SLAVE_ID", "0+1","%d") #Configure EL1018 digital input terminal ecmcEpicsEnvSetCalc(ECMC_EC_SLAVE_NUM, "0+1") iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/addSlave.cmd, "SLAVE_ID=1, HW_DESC=EL1018" #============================================================================== # addSlave.cmd epicsEnvSet("ECMC_EC_SLAVE_NUM", "1") epicsEnvSet("HW_DESC", "EL1018") epicsEnvSet("P_SCRIPT", "mXsXXX") # add ${HW_DESC} to the bus at position ${SLAVE_ID} ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEL1018.cmd",1) iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEL1018.cmd" "NELM=1" epicsEnvSet("ECMC_EC_HWTYPE" "EL1018") epicsEnvSet("ECMC_EC_VENDOR_ID" "0x2") epicsEnvSet("ECMC_EC_PRODUCT_ID" "0x03fa3052") iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/slaveVerify.cmd ecmcEpicsEnvSetCalcTernary(ECMC_SLAVE_VERIFY, "0==0", "","#- ") ecmcConfigOrDie "Cfg.EcSlaveVerify(0,1,0x2,0x03fa3052)" ecmcEpicsEnvSetCalcTernary(ECMC_SLAVE_RESET, "0>0", "","#- ") epicsEnvSet(ECMC_EC_SLAVE_FW, "0x0000") epicsEnvUnset(ECMC_SLAVE_VERIFY) epicsEnvUnset(ECMC_COMMENT) iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEX1008.cmd ecmcConfigOrDie "Cfg.EcAddEntryDT(1,0x2,0x03fa3052,2,0,0x1a00,0x6000,0x1,B1,binaryInput01)" ecmcConfigOrDie "Cfg.EcAddEntryDT(1,0x2,0x03fa3052,2,0,0x1a01,0x6010,0x1,B1,binaryInput02)" ecmcConfigOrDie "Cfg.EcAddEntryDT(1,0x2,0x03fa3052,2,0,0x1a02,0x6020,0x1,B1,binaryInput03)" ecmcConfigOrDie "Cfg.EcAddEntryDT(1,0x2,0x03fa3052,2,0,0x1a03,0x6030,0x1,B1,binaryInput04)" ecmcConfigOrDie "Cfg.EcAddEn2022/01/28 10:04:20.235 OK 2022/01/28 10:04:20.235 OK 2022/01/28 10:04:20.236 OK 2022/01/28 10:04:20.236 OK 2022/01/28 10:04:20.244 OK 2022/01/28 10:04:20.245 OK 2022/01/28 10:04:20.245 OK 2022/01/28 10:04:20.246 OK 2022/01/28 10:04:20.246 OK 2022/01/28 10:04:20.246 OK 2022/01/28 10:04:20.246 OK tryDT(1,0x2,0x03fa3052,2,0,0x1a04,0x6040,0x1,B1,binaryInput05)" ecmcConfigOrDie "Cfg.EcAddEntryDT(1,0x2,0x03fa3052,2,0,0x1a05,0x6050,0x1,B1,binaryInput06)" ecmcConfigOrDie "Cfg.EcAddEntryDT(1,0x2,0x03fa3052,2,0,0x1a06,0x6060,0x1,B1,binaryInput07)" ecmcConfigOrDie "Cfg.EcAddEntryDT(1,0x2,0x03fa3052,2,0,0x1a07,0x6070,0x1,B1,binaryInput08)" # deduce what the prefix should be ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcmXsXXX.cmd",1) iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcmXsXXX.cmd" "MASTER_ID=0,SLAVE_POS=1,HWTYPE=EL1018" #============================================================================== # ecmcmXsXXX.cmd ecmcEpicsEnvSetCalc("sid", "1","%03d") ecmcEpicsEnvSetCalc("mid", "0","%01d") epicsEnvSet("ECMC_G", "IOC_TEST:m0s001") epicsEnvSet("ECMC_P", "IOC_TEST:m0s001-") epicsEnvUnset(sid) epicsEnvUnset(mid) ecmcEpicsEnvSetCalcTernary(DEFAULT_SUBS, "True", "","#- ") iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/applySubstitutions.cmd" "SUBST_FILE=ecmcEL1018.substitutions,ECMC_P=IOC_TEST:m0s001-" #============================================================================== # applySubstitutions.cmd ecmcFileExist(ecmcEL1018.substitutions,1,1) dbLoadTemplate(ecmcEL1018.substitutions,"ECMC_P=IOC_TEST:m0s001-,ECMC_G=IOC_TEST:m0s001,PORT=MC_CPU1,ADDR=0,TIMEOUT=1,MASTER_ID=0,SLAVE_POS=1,HWTYPE=EL1018,T_SMP_MS=10,TSE=-2,NELM=1") epicsEnvUnset(DEFAULT_SUBS) ecmcEpicsEnvSetCalcTernary(DEFAULT_SLAVE_PVS, "True", "","#- ") iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/applyTemplate.cmd" "TEMPLATE_FILE=ecmcEcSlave.template,ECMC_P=IOC_TEST:m0s001-,ECMC_G=IOC_TEST:m0s001" #============================================================================== # applyTemplate.cmd ecmcFileExist(ecmcEcSlave.template,1,1) dbLoadRecords("ecmcEcSlave.template", "ECMC_P=IOC_TEST:m0s001-,ECMC_G=IOC_TEST:m0s001,PORT=MC_CPU1,ADDR=0,TIMEOUT=1,MASTER_ID=0,SLAVE_POS=1,HWTYPE=EL1018,T_SMP_MS=10,TSE=-2,") epicsEnvUnset(DEFAULT_SLAVE_PVS) # increment SLAVE_ID ecmcEpicsEnvSetCalc("SLAVE_ID", "1+1","%d") #Configure EL2808 digital output terminal ecmcEpicsEnvSetCalc(ECMC_EC_SLAVE_NUM, "1+1") iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/addSlave.cmd, "SLAVE_ID=2, HW_DESC=EL2808" #============================================================================== # addSlave.cmd epicsEnvSet("ECMC_EC_SLAVE_NUM", "2") epicsEnvSet("HW_DESC", "EL2808") epicsEnvSet("P_SCRIPT", "mXsXXX") # add ${HW_DESC} to the bus at position ${SLAVE_ID} ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEL2808.cmd",1) iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEL2808.cmd" "NELM=1" epicsEnvSet("ECMC_EC_HWTYPE" "EL2808") epicsEnvSet("ECMC_EC_VENDOR_ID" "0x2") epicsEnvSet("ECMC_EC_PRODUCT_ID" "0x0af83052") iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/slaveVerify.cmd ecmcEpicsEnvSetCalcTernary(ECMC_SLAVE_VERIFY, "0==0", "","#- ") ecmcConfigOrDie "Cfg.EcSlaveVerify(0,2,0x2,0x0af83052)" ecmcEpicsEnvSetCalcTernary(ECMC_SLAVE_RESET, "0>0", "","#- ") epicsEnvSet(ECMC_EC_SLAVE_FW, "0x0000") epicsEnvUnset(ECMC_SLAVE_VERIFY) epicsEnvUnset(ECMC_COMMENT) iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEX2008.cmd ecmcConfigOrDie "Cfg.EcAddEntryDT(2,0x2,0x0af83052,1,0,0x1600,0x7000,0x1,B1,binaryOutput01)" ecmcConfigOrDie "Cfg.EcAddEntryDT(2,0x2,0x0af83052,1,0,0x1601,0x7010,0x1,B1,binaryOutput02)" ecmcConfigOrDie "Cfg.EcAddEntryDT(2,0x2,0x0af83052,1,0,0x1602,0x7020,0x1,B1,binaryOutput03)" ecmcConfigOrDie "Cfg.EcAddEntryDT(2,0x2,0x0af83052,1,0,0x1603,0x7030,0x1,B1,binaryOutput04)" ecmcConfigOrDie "Cfg.EcAddEntryDT(2,0x2,0x0af83052,1,0,0x1604,0x7040,0x1,B1,binaryOutput05)" ecmcConfigOrDie "Cfg.EcAddEntryDT(2,0x2,0x0af83052,1,0,0x1605,0x7050,0x1,B1,binaryOutput06)" ecmcConfigOrDie "Cfg.EcAddEntryDT(2,0x2,0x0af83052,1,0,0x1606,0x7060,0x1,B1,binaryOutp2022/01/28 10:04:20.246 OK 2022/01/28 10:04:20.246 OK 2022/01/28 10:04:20.256 OK 2022/01/28 10:04:20.352 OK 2022/01/28 10:04:20.432 14385 2022/01/28 10:04:20.433 OK 2022/01/28 10:04:20.433 OK 2022/01/28 10:04:20.433 OK 2022/01/28 10:04:20.433 OK 2022/01/28 10:04:20.433 OK ut07)" ecmcConfigOrDie "Cfg.EcAddEntryDT(2,0x2,0x0af83052,1,0,0x1607,0x7070,0x1,B1,binaryOutput08)" # deduce what the prefix should be ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcmXsXXX.cmd",1) iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcmXsXXX.cmd" "MASTER_ID=0,SLAVE_POS=2,HWTYPE=EL2808" #============================================================================== # ecmcmXsXXX.cmd ecmcEpicsEnvSetCalc("sid", "2","%03d") ecmcEpicsEnvSetCalc("mid", "0","%01d") epicsEnvSet("ECMC_G", "IOC_TEST:m0s002") epicsEnvSet("ECMC_P", "IOC_TEST:m0s002-") epicsEnvUnset(sid) epicsEnvUnset(mid) ecmcEpicsEnvSetCalcTernary(DEFAULT_SUBS, "True", "","#- ") iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/applySubstitutions.cmd" "SUBST_FILE=ecmcEL2808.substitutions,ECMC_P=IOC_TEST:m0s002-" #============================================================================== # applySubstitutions.cmd ecmcFileExist(ecmcEL2808.substitutions,1,1) dbLoadTemplate(ecmcEL2808.substitutions,"ECMC_P=IOC_TEST:m0s002-,ECMC_G=IOC_TEST:m0s002,PORT=MC_CPU1,ADDR=0,TIMEOUT=1,MASTER_ID=0,SLAVE_POS=2,HWTYPE=EL2808,T_SMP_MS=10,TSE=-2,NELM=1") epicsEnvUnset(DEFAULT_SUBS) ecmcEpicsEnvSetCalcTernary(DEFAULT_SLAVE_PVS, "True", "","#- ") iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/applyTemplate.cmd" "TEMPLATE_FILE=ecmcEcSlave.template,ECMC_P=IOC_TEST:m0s002-,ECMC_G=IOC_TEST:m0s002" #============================================================================== # applyTemplate.cmd ecmcFileExist(ecmcEcSlave.template,1,1) dbLoadRecords("ecmcEcSlave.template", "ECMC_P=IOC_TEST:m0s002-,ECMC_G=IOC_TEST:m0s002,PORT=MC_CPU1,ADDR=0,TIMEOUT=1,MASTER_ID=0,SLAVE_POS=2,HWTYPE=EL2808,T_SMP_MS=10,TSE=-2,") epicsEnvUnset(DEFAULT_SLAVE_PVS) # increment SLAVE_ID ecmcEpicsEnvSetCalc("SLAVE_ID", "2+1","%d") # Save the slave number for later epicsEnvSet("ECMC_EC_SLAVE_NUM_DIG_OUT", "2") #Configure EL5101 Incremental Encoder Interface ecmcEpicsEnvSetCalc(ECMC_EC_SLAVE_NUM, "2+1") iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/addSlave.cmd, "SLAVE_ID=3, HW_DESC=EL5101" #============================================================================== # addSlave.cmd epicsEnvSet("ECMC_EC_SLAVE_NUM", "3") epicsEnvSet("HW_DESC", "EL5101") epicsEnvSet("P_SCRIPT", "mXsXXX") # add ${HW_DESC} to the bus at position ${SLAVE_ID} ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEL5101.cmd",1) iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEL5101.cmd" "NELM=1" epicsEnvSet("ECMC_EC_HWTYPE" "EL5101") epicsEnvSet("ECMC_EC_VENDOR_ID" "0x2") epicsEnvSet("ECMC_EC_PRODUCT_ID" "0x13ed3052") ecmcFileExist(/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/slaveVerify.cmd,1) iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/slaveVerify.cmd "RESET=true" ecmcEpicsEnvSetCalcTernary(ECMC_SLAVE_VERIFY, "0==0", "","#- ") ecmcConfigOrDie "Cfg.EcSlaveVerify(0,3,0x2,0x13ed3052)" ecmcEpicsEnvSetCalcTernary(ECMC_SLAVE_RESET, "true>0", "","#- ") ecmcConfigOrDie "Cfg.EcWriteSdo(3,0x1011,0x1,1684107116,4)" epicsEnvSet(ECMC_EC_SLAVE_FW, "0x0000") ecmcConfig "EcReadSdo(3,0x100a,0x0,2)" ecmcEpicsEnvSetCalc("ECMC_EC_SLAVE_FW", "14385", "0x%04x") # Firmware version: 0x3831 epicsEnvUnset(ECMC_SLAVE_VERIFY) epicsEnvUnset(ECMC_COMMENT) ecmcConfigOrDie "Cfg.EcAddEntryComplete(3,0x2,0x13ed3052,1,2,0x1600,0x7000,0x01,8,encoderControl01)" ecmcConfigOrDie "Cfg.EcAddEntryComplete(3,0x2,0x13ed3052,1,2,0x1600,0x7000,0x02,16,encoderValue01)" ecmcConfigOrDie "Cfg.EcAddEntryComplete(3,0x2,0x13ed3052,2,3,0x1a03,0x6010,0x00,16,encoderStatus01)" ecmcConfigOrDie "Cfg.EcAddEntryComplete(3,0x2,0x13ed3052,2,3,0x1a03,0x6010,0x10,16,positionActual01)" ecmcConfigOrDie "Cfg.EcAddEntryComplete(3,0x2,0x13ed3052,2,3,0x1a03,0x6010,0x20,16,encoderLatchPostion01)" # deduce what the prefix should be ecmcFileExist("/home/pi/epics/base-7.0.5/re2022/01/28 10:04:20.441 OK 2022/01/28 10:04:20.532 OK 2022/01/28 10:04:20.612 14385 2022/01/28 10:04:20.613 OK 2022/01/28 10:04:20.613 OK 2022/01/28 10:04:20.613 OK 2022/01/28 10:04:20.613 OK 2022/01/28 10:04:20.613 OK quire/3.4.0/siteMods/ecmccfg/ruckig/ecmcmXsXXX.cmd",1) iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcmXsXXX.cmd" "MASTER_ID=0,SLAVE_POS=3,HWTYPE=EL5101" #============================================================================== # ecmcmXsXXX.cmd ecmcEpicsEnvSetCalc("sid", "3","%03d") ecmcEpicsEnvSetCalc("mid", "0","%01d") epicsEnvSet("ECMC_G", "IOC_TEST:m0s003") epicsEnvSet("ECMC_P", "IOC_TEST:m0s003-") epicsEnvUnset(sid) epicsEnvUnset(mid) ecmcEpicsEnvSetCalcTernary(DEFAULT_SUBS, "True", "","#- ") iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/applySubstitutions.cmd" "SUBST_FILE=ecmcEL5101.substitutions,ECMC_P=IOC_TEST:m0s003-" #============================================================================== # applySubstitutions.cmd ecmcFileExist(ecmcEL5101.substitutions,1,1) dbLoadTemplate(ecmcEL5101.substitutions,"ECMC_P=IOC_TEST:m0s003-,ECMC_G=IOC_TEST:m0s003,PORT=MC_CPU1,ADDR=0,TIMEOUT=1,MASTER_ID=0,SLAVE_POS=3,HWTYPE=EL5101,T_SMP_MS=10,TSE=-2,NELM=1") epicsEnvUnset(DEFAULT_SUBS) ecmcEpicsEnvSetCalcTernary(DEFAULT_SLAVE_PVS, "True", "","#- ") iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/applyTemplate.cmd" "TEMPLATE_FILE=ecmcEcSlave.template,ECMC_P=IOC_TEST:m0s003-,ECMC_G=IOC_TEST:m0s003" #============================================================================== # applyTemplate.cmd ecmcFileExist(ecmcEcSlave.template,1,1) dbLoadRecords("ecmcEcSlave.template", "ECMC_P=IOC_TEST:m0s003-,ECMC_G=IOC_TEST:m0s003,PORT=MC_CPU1,ADDR=0,TIMEOUT=1,MASTER_ID=0,SLAVE_POS=3,HWTYPE=EL5101,T_SMP_MS=10,TSE=-2,") epicsEnvUnset(DEFAULT_SLAVE_PVS) # increment SLAVE_ID ecmcEpicsEnvSetCalc("SLAVE_ID", "3+1","%d") #Configure EL5101 Incremental Encoder Interface ecmcEpicsEnvSetCalc(ECMC_EC_SLAVE_NUM, "3+1") iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/addSlave.cmd, "SLAVE_ID=4, HW_DESC=EL5101" #============================================================================== # addSlave.cmd epicsEnvSet("ECMC_EC_SLAVE_NUM", "4") epicsEnvSet("HW_DESC", "EL5101") epicsEnvSet("P_SCRIPT", "mXsXXX") # add ${HW_DESC} to the bus at position ${SLAVE_ID} ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEL5101.cmd",1) iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEL5101.cmd" "NELM=1" epicsEnvSet("ECMC_EC_HWTYPE" "EL5101") epicsEnvSet("ECMC_EC_VENDOR_ID" "0x2") epicsEnvSet("ECMC_EC_PRODUCT_ID" "0x13ed3052") ecmcFileExist(/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/slaveVerify.cmd,1) iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/slaveVerify.cmd "RESET=true" ecmcEpicsEnvSetCalcTernary(ECMC_SLAVE_VERIFY, "0==0", "","#- ") ecmcConfigOrDie "Cfg.EcSlaveVerify(0,4,0x2,0x13ed3052)" ecmcEpicsEnvSetCalcTernary(ECMC_SLAVE_RESET, "true>0", "","#- ") ecmcConfigOrDie "Cfg.EcWriteSdo(4,0x1011,0x1,1684107116,4)" epicsEnvSet(ECMC_EC_SLAVE_FW, "0x0000") ecmcConfig "EcReadSdo(4,0x100a,0x0,2)" ecmcEpicsEnvSetCalc("ECMC_EC_SLAVE_FW", "14385", "0x%04x") # Firmware version: 0x3831 epicsEnvUnset(ECMC_SLAVE_VERIFY) epicsEnvUnset(ECMC_COMMENT) ecmcConfigOrDie "Cfg.EcAddEntryComplete(4,0x2,0x13ed3052,1,2,0x1600,0x7000,0x01,8,encoderControl01)" ecmcConfigOrDie "Cfg.EcAddEntryComplete(4,0x2,0x13ed3052,1,2,0x1600,0x7000,0x02,16,encoderValue01)" ecmcConfigOrDie "Cfg.EcAddEntryComplete(4,0x2,0x13ed3052,2,3,0x1a03,0x6010,0x00,16,encoderStatus01)" ecmcConfigOrDie "Cfg.EcAddEntryComplete(4,0x2,0x13ed3052,2,3,0x1a03,0x6010,0x10,16,positionActual01)" ecmcConfigOrDie "Cfg.EcAddEntryComplete(4,0x2,0x13ed3052,2,3,0x1a03,0x6010,0x20,16,encoderLatchPostion01)" # deduce what the prefix should be ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcmXsXXX.cmd",1) iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcmXsXXX.cmd" "MASTER_ID=0,SLAVE_POS=4,HWTYPE=EL5101" #=======================================================================2022/01/28 10:04:20.623 OK 2022/01/28 10:04:20.624 OK 2022/01/28 10:04:20.625 OK ======= # ecmcmXsXXX.cmd ecmcEpicsEnvSetCalc("sid", "4","%03d") ecmcEpicsEnvSetCalc("mid", "0","%01d") epicsEnvSet("ECMC_G", "IOC_TEST:m0s004") epicsEnvSet("ECMC_P", "IOC_TEST:m0s004-") epicsEnvUnset(sid) epicsEnvUnset(mid) ecmcEpicsEnvSetCalcTernary(DEFAULT_SUBS, "True", "","#- ") iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/applySubstitutions.cmd" "SUBST_FILE=ecmcEL5101.substitutions,ECMC_P=IOC_TEST:m0s004-" #============================================================================== # applySubstitutions.cmd ecmcFileExist(ecmcEL5101.substitutions,1,1) dbLoadTemplate(ecmcEL5101.substitutions,"ECMC_P=IOC_TEST:m0s004-,ECMC_G=IOC_TEST:m0s004,PORT=MC_CPU1,ADDR=0,TIMEOUT=1,MASTER_ID=0,SLAVE_POS=4,HWTYPE=EL5101,T_SMP_MS=10,TSE=-2,NELM=1") epicsEnvUnset(DEFAULT_SUBS) ecmcEpicsEnvSetCalcTernary(DEFAULT_SLAVE_PVS, "True", "","#- ") iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/applyTemplate.cmd" "TEMPLATE_FILE=ecmcEcSlave.template,ECMC_P=IOC_TEST:m0s004-,ECMC_G=IOC_TEST:m0s004" #============================================================================== # applyTemplate.cmd ecmcFileExist(ecmcEcSlave.template,1,1) dbLoadRecords("ecmcEcSlave.template", "ECMC_P=IOC_TEST:m0s004-,ECMC_G=IOC_TEST:m0s004,PORT=MC_CPU1,ADDR=0,TIMEOUT=1,MASTER_ID=0,SLAVE_POS=4,HWTYPE=EL5101,T_SMP_MS=10,TSE=-2,") epicsEnvUnset(DEFAULT_SLAVE_PVS) # increment SLAVE_ID ecmcEpicsEnvSetCalc("SLAVE_ID", "4+1","%d") # Configure EL9505 Power supply terminal 5V ecmcEpicsEnvSetCalc(ECMC_EC_SLAVE_NUM, "4+1") iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/addSlave.cmd, "SLAVE_ID=5, HW_DESC=EL9505" #============================================================================== # addSlave.cmd epicsEnvSet("ECMC_EC_SLAVE_NUM", "5") epicsEnvSet("HW_DESC", "EL9505") epicsEnvSet("P_SCRIPT", "mXsXXX") # add ${HW_DESC} to the bus at position ${SLAVE_ID} ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEL9505.cmd",1) iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEL9505.cmd" "NELM=1" epicsEnvSet("ECMC_EC_HWTYPE" "EL9505") epicsEnvSet("ECMC_EC_VENDOR_ID" "0x2") epicsEnvSet("ECMC_EC_PRODUCT_ID" "0x25213052") iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/slaveVerify.cmd ecmcEpicsEnvSetCalcTernary(ECMC_SLAVE_VERIFY, "0==0", "","#- ") ecmcConfigOrDie "Cfg.EcSlaveVerify(0,5,0x2,0x25213052)" ecmcEpicsEnvSetCalcTernary(ECMC_SLAVE_RESET, "0>0", "","#- ") epicsEnvSet(ECMC_EC_SLAVE_FW, "0x0000") epicsEnvUnset(ECMC_SLAVE_VERIFY) epicsEnvUnset(ECMC_COMMENT) ecmcConfigOrDie "Cfg.EcAddEntryComplete(5,0x2,0x25213052,2,0,0x1a00,0x6000,0x1,1,powerOk01)" ecmcConfigOrDie "Cfg.EcAddEntryComplete(5,0x2,0x25213052,2,0,0x1a00,0x6000,0x2,1,overload01)" # deduce what the prefix should be ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcmXsXXX.cmd",1) iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcmXsXXX.cmd" "MASTER_ID=0,SLAVE_POS=5,HWTYPE=EL9505" #============================================================================== # ecmcmXsXXX.cmd ecmcEpicsEnvSetCalc("sid", "5","%03d") ecmcEpicsEnvSetCalc("mid", "0","%01d") epicsEnvSet("ECMC_G", "IOC_TEST:m0s005") epicsEnvSet("ECMC_P", "IOC_TEST:m0s005-") epicsEnvUnset(sid) epicsEnvUnset(mid) ecmcEpicsEnvSetCalcTernary(DEFAULT_SUBS, "True", "","#- ") iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/applySubstitutions.cmd" "SUBST_FILE=ecmcEL9505.substitutions,ECMC_P=IOC_TEST:m0s005-" #============================================================================== # applySubstitutions.cmd ecmcFileExist(ecmcEL9505.substitutions,1,1) dbLoadTemplate(ecmcEL9505.substitutions,"ECMC_P=IOC_TEST:m0s005-,ECMC_G=IOC_TEST:m0s005,PORT=MC_CPU1,ADDR=0,TIMEOUT=1,MASTER_ID=0,SLAVE_POS=5,HWTYPE=EL9505,T_SMP_MS=10,TSE=-2,NELM=1") epicsEnvUnset(DEFAULT_SUBS) ecmcEpicsEnvSetCalcTernary(DEFAULT_SLAVE_PVS, "True", "",2022/01/28 10:04:20.635 OK 2022/01/28 10:04:20.637 OK 2022/01/28 10:04:20.638 OK 2022/01/28 10:04:20.638 OK 2022/01/28 10:04:20.638 OK 2022/01/28 10:04:20.638 OK 2022/01/28 10:04:20.638 OK 2022/01/28 10:04:20.639 OK 2022/01/28 10:04:20.639 OK "#- ") iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/applyTemplate.cmd" "TEMPLATE_FILE=ecmcEcSlave.template,ECMC_P=IOC_TEST:m0s005-,ECMC_G=IOC_TEST:m0s005" #============================================================================== # applyTemplate.cmd ecmcFileExist(ecmcEcSlave.template,1,1) dbLoadRecords("ecmcEcSlave.template", "ECMC_P=IOC_TEST:m0s005-,ECMC_G=IOC_TEST:m0s005,PORT=MC_CPU1,ADDR=0,TIMEOUT=1,MASTER_ID=0,SLAVE_POS=5,HWTYPE=EL9505,T_SMP_MS=10,TSE=-2,") epicsEnvUnset(DEFAULT_SLAVE_PVS) # increment SLAVE_ID ecmcEpicsEnvSetCalc("SLAVE_ID", "5+1","%d") # Configure EL1252 digital input terminal ecmcEpicsEnvSetCalc(ECMC_EC_SLAVE_NUM, "5+1") iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/addSlave.cmd, "SLAVE_ID=6, HW_DESC=EL1252" #============================================================================== # addSlave.cmd epicsEnvSet("ECMC_EC_SLAVE_NUM", "6") epicsEnvSet("HW_DESC", "EL1252") epicsEnvSet("P_SCRIPT", "mXsXXX") # add ${HW_DESC} to the bus at position ${SLAVE_ID} ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEL1252.cmd",1) iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEL1252.cmd" "NELM=1" epicsEnvSet("ECMC_EC_HWTYPE" "EL1252") epicsEnvSet("ECMC_EC_VENDOR_ID" "0x2") epicsEnvSet("ECMC_EC_PRODUCT_ID" "0x04e43052") iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/slaveVerify.cmd ecmcEpicsEnvSetCalcTernary(ECMC_SLAVE_VERIFY, "0==0", "","#- ") ecmcConfigOrDie "Cfg.EcSlaveVerify(0,6,0x2,0x04e43052)" ecmcEpicsEnvSetCalcTernary(ECMC_SLAVE_RESET, "0>0", "","#- ") epicsEnvSet(ECMC_EC_SLAVE_FW, "0x0000") epicsEnvUnset(ECMC_SLAVE_VERIFY) epicsEnvUnset(ECMC_COMMENT) iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEX1002.cmd ecmcConfigOrDie "Cfg.EcAddEntryDT(6,0x2,0x04e43052,2,0,0x1a00,0x6000,0x1,B1,binaryInput01)" ecmcConfigOrDie "Cfg.EcAddEntryDT(6,0x2,0x04e43052,2,0,0x1a01,0x6010,0x1,B1,binaryInput02)" ecmcConfigOrDie "Cfg.EcAddEntryDT(6,0x2,0x04e43052,2,1,0x1a13,0x1d09,0xae,U8,status01)" ecmcConfigOrDie "Cfg.EcAddEntryDT(6,0x2,0x04e43052,2,1,0x1a13,0x1d09,0xaf,U8,status02)" ecmcConfigOrDie "Cfg.EcAddEntryDT(6,0x2,0x04e43052,2,1,0x1a13,0x1d09,0xb0,U64,timestampLatchPositive01)" ecmcConfigOrDie "Cfg.EcAddEntryDT(6,0x2,0x04e43052,2,1,0x1a13,0x1d09,0xb8,U64,timestampLatchNegative01)" ecmcConfigOrDie "Cfg.EcAddEntryDT(6,0x2,0x04e43052,2,1,0x1a13,0x1d09,0xc0,U64,timestampLatchPositive02)" ecmcConfigOrDie "Cfg.EcAddEntryDT(6,0x2,0x04e43052,2,1,0x1a13,0x1d09,0xc8,U64,timestampLatchNegative02)" # deduce what the prefix should be ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcmXsXXX.cmd",1) iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcmXsXXX.cmd" "MASTER_ID=0,SLAVE_POS=6,HWTYPE=EL1252" #============================================================================== # ecmcmXsXXX.cmd ecmcEpicsEnvSetCalc("sid", "6","%03d") ecmcEpicsEnvSetCalc("mid", "0","%01d") epicsEnvSet("ECMC_G", "IOC_TEST:m0s006") epicsEnvSet("ECMC_P", "IOC_TEST:m0s006-") epicsEnvUnset(sid) epicsEnvUnset(mid) ecmcEpicsEnvSetCalcTernary(DEFAULT_SUBS, "True", "","#- ") iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/applySubstitutions.cmd" "SUBST_FILE=ecmcEL1252.substitutions,ECMC_P=IOC_TEST:m0s006-" #============================================================================== # applySubstitutions.cmd ecmcFileExist(ecmcEL1252.substitutions,1,1) dbLoadTemplate(ecmcEL1252.substitutions,"ECMC_P=IOC_TEST:m0s006-,ECMC_G=IOC_TEST:m0s006,PORT=MC_CPU1,ADDR=0,TIMEOUT=1,MASTER_ID=0,SLAVE_POS=6,HWTYPE=EL1252,T_SMP_MS=10,TSE=-2,NELM=1") epicsEnvUnset(DEFAULT_SUBS) ecmcEpicsEnvSetCalcTernary(DEFAULT_SLAVE_PVS, "True", "","#- ") iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/applyTemplate.cmd" "TEMPLATE_FILE=ecmcEcSlave.template,ECMC_P=IOC_TEST:m0s006-,ECMC_G=IOC_TEST:m0s006" #==================2022/01/28 10:04:20.655 OK 2022/01/28 10:04:20.782 OK 2022/01/28 10:04:20.862 12848 2022/01/28 10:04:20.863 OK 2022/01/28 10:04:20.863 OK 2022/01/28 10:04:20.863 OK 2022/01/28 10:04:20.864 OK 2022/01/28 10:04:20.864 OK 2022/01/28 10:04:20.864 OK 2022/01/28 10:04:20.864 OK 2022/01/28 10:04:20.864 OK 2022/01/28 10:04:20.864 OK 2022/01/28 10:04:20.864 OK 2022/01/28 10:04:20.864 OK 2022/01/28 10:04:20.864 OK ============================================================ # applyTemplate.cmd ecmcFileExist(ecmcEcSlave.template,1,1) dbLoadRecords("ecmcEcSlave.template", "ECMC_P=IOC_TEST:m0s006-,ECMC_G=IOC_TEST:m0s006,PORT=MC_CPU1,ADDR=0,TIMEOUT=1,MASTER_ID=0,SLAVE_POS=6,HWTYPE=EL1252,T_SMP_MS=10,TSE=-2,") epicsEnvUnset(DEFAULT_SLAVE_PVS) # increment SLAVE_ID ecmcEpicsEnvSetCalc("SLAVE_ID", "6+1","%d") # Configure EL9410 Power supply with refresh of E-Bus. ecmcEpicsEnvSetCalc(ECMC_EC_SLAVE_NUM, "6+1") #${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "SLAVE_ID=${ECMC_EC_SLAVE_NUM}, HW_DESC=EL9410" #Configure EL7037 stepper drive terminal, motor 1 ecmcEpicsEnvSetCalc(ECMC_EC_SLAVE_NUM, "7+1") iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/configureSlave.cmd, "SLAVE_ID=8, HW_DESC=EL7037, CONFIG=-Motor-Nanotec-ST4118L1804-B" #============================================================================== # configureSlave.cmd epicsEnvSet("ECMC_EC_SLAVE_NUM", "8") epicsEnvSet("HW_DESC", "EL7037") ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/addSlave.cmd",1) iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/addSlave.cmd "SLAVE_ID=8, HW_DESC=EL7037, NELM=1" #============================================================================== # addSlave.cmd epicsEnvSet("ECMC_EC_SLAVE_NUM", "8") epicsEnvSet("HW_DESC", "EL7037") epicsEnvSet("P_SCRIPT", "mXsXXX") # add ${HW_DESC} to the bus at position ${SLAVE_ID} ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEL7037.cmd",1) iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEL7037.cmd" "NELM=1" epicsEnvSet("ECMC_EC_HWTYPE" "EL7037") epicsEnvSet("ECMC_EC_VENDOR_ID" "0x2") epicsEnvSet("ECMC_EC_PRODUCT_ID" "0x1b7d3052") iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/slaveVerify.cmd "RESET=true" ecmcEpicsEnvSetCalcTernary(ECMC_SLAVE_VERIFY, "0==0", "","#- ") ecmcConfigOrDie "Cfg.EcSlaveVerify(0,8,0x2,0x1b7d3052)" ecmcEpicsEnvSetCalcTernary(ECMC_SLAVE_RESET, "true>0", "","#- ") ecmcConfigOrDie "Cfg.EcWriteSdo(8,0x1011,0x1,1684107116,4)" epicsEnvSet(ECMC_EC_SLAVE_FW, "0x0000") ecmcConfig "EcReadSdo(8,0x100a,0x0,2)" ecmcEpicsEnvSetCalc("ECMC_EC_SLAVE_FW", "12848", "0x%04x") # Firmware version: 0x3230 epicsEnvUnset(ECMC_SLAVE_VERIFY) epicsEnvUnset(ECMC_COMMENT) iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEX70XX.cmd ecmcConfigOrDie "Cfg.EcAddEntryComplete(8,0x2,0x1b7d3052,1,2,0x1600,0x7000,0x01,16,encoderControl01)" ecmcConfigOrDie "Cfg.EcAddEntryComplete(8,0x2,0x1b7d3052,1,2,0x1600,0x7000,0x11,16,encoderValue01)" ecmcConfigOrDie "Cfg.EcAddEntryComplete(8,0x2,0x1b7d3052,1,2,0x1602,0x7010,0x1,16,driveControl01)" ecmcConfigOrDie "Cfg.EcAddEntryComplete(8,0x2,0x1b7d3052,1,2,0x1604,0x7010,0x21,16,1,velocitySetpoint01)" ecmcConfigOrDie "Cfg.EcAddEntryComplete(8,0x2,0x1b7d3052,2,3,0x1a00,0x6000,0x0,16,encoderStatus01)" ecmcConfigOrDie "Cfg.EcAddEntryComplete(8,0x2,0x1b7d3052,2,3,0x1a00,0x6000,0x11,16,positionActual01)" ecmcConfigOrDie "Cfg.EcAddEntryComplete(8,0x2,0x1b7d3052,2,3,0x1a00,0x6000,0x12,16,encoderLatchPostion01)" ecmcConfigOrDie "Cfg.EcAddEntryComplete(8,0x2,0x1b7d3052,2,3,0x1a03,0x6010,0x1,16,driveStatus01)" ecmcConfigOrDie "Cfg.EcAddSdo(8,0x8012,0x5,1,1)" ecmcConfigOrDie "Cfg.EcAddSdo(8,0x8012,0xA,1,1)" ecmcConfigOrDie "Cfg.EcAddSdo(8,0x8012,0x8,1,1)" ecmcConfigOrDie "Cfg.EcAddSdo(8,0x8012,0x9,0,1)" # deduce what the prefix should be ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcmXsXXX.cmd",1) iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcmXsXXX.cmd" "MASTER_ID=0,SLAVE_POS=8,HWTYPE=EL7037" #============================================================================== # ecmcmXsXXX.cmd ecmcEpicsEnvSetCalc("sid", "8","%03d") ecmcEpicsEnvSetCalc("mid", "0","%01d") epicsEnvSet("ECMC_G", "IOC_TEST:m0s008") epicsEnvSet("ECMC_P", "IOC_TEST:m0s008-") epicsE2022/01/28 10:04:20.874 OK 2022/01/28 10:04:20.874 OK 2022/01/28 10:04:20.874 OK 2022/01/28 10:04:20.874 OK 2022/01/28 10:04:20.874 OK 2022/01/28 10:04:20.874 OK nvUnset(sid) epicsEnvUnset(mid) ecmcEpicsEnvSetCalcTernary(DEFAULT_SUBS, "True", "","#- ") iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/applySubstitutions.cmd" "SUBST_FILE=ecmcEL7037.substitutions,ECMC_P=IOC_TEST:m0s008-" #============================================================================== # applySubstitutions.cmd ecmcFileExist(ecmcEL7037.substitutions,1,1) dbLoadTemplate(ecmcEL7037.substitutions,"ECMC_P=IOC_TEST:m0s008-,ECMC_G=IOC_TEST:m0s008,PORT=MC_CPU1,ADDR=0,TIMEOUT=1,MASTER_ID=0,SLAVE_POS=8,HWTYPE=EL7037,T_SMP_MS=10,TSE=-2,NELM=1") epicsEnvUnset(DEFAULT_SUBS) ecmcEpicsEnvSetCalcTernary(DEFAULT_SLAVE_PVS, "True", "","#- ") iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/applyTemplate.cmd" "TEMPLATE_FILE=ecmcEcSlave.template,ECMC_P=IOC_TEST:m0s008-,ECMC_G=IOC_TEST:m0s008" #============================================================================== # applyTemplate.cmd ecmcFileExist(ecmcEcSlave.template,1,1) dbLoadRecords("ecmcEcSlave.template", "ECMC_P=IOC_TEST:m0s008-,ECMC_G=IOC_TEST:m0s008,PORT=MC_CPU1,ADDR=0,TIMEOUT=1,MASTER_ID=0,SLAVE_POS=8,HWTYPE=EL7037,T_SMP_MS=10,TSE=-2,") epicsEnvUnset(DEFAULT_SLAVE_PVS) # increment SLAVE_ID ecmcEpicsEnvSetCalc("SLAVE_ID", "8+1","%d") # apply config ${CONFIG} for ${HW_DESC} ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEL7037-Motor-Nanotec-ST4118L1804-B.cmd",1) iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEL7037-Motor-Nanotec-ST4118L1804-B.cmd "" epicsEnvSet(I_MAX_MA_LOCAL,"1500") epicsEnvSet(I_RUN_MA_LOCAL,1000) epicsEnvSet(I_STDBY_MA_LOCAL,500) ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/chkValidCurrentSetOrDie.cmd",1) iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/chkValidCurrentSetOrDie.cmd "I_RUN_MA=1000,I_STDBY_MA=500,I_MAX_MA=1500" #============================================================================== # chkValidCurrentSetOrDie.cmd # Ensure running current is below max current otherwise exit ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD, "1000>1500 or 1000<=0", "ecmcExit Error: Run current setpoint to high or negative...","# Run current setting OK (1000)...") # Result: # Run current setting OK (1000)... epicsEnvUnset(ECMC_EXE_CMD) # Ensure standby current is below max current otherwise exit ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD, "500>1500 or 500<0", "ecmcExit Error: Standby current setpoint to high or negative...","# Standby current setting OK (500)...") # Result: # Standby current setting OK (500)... epicsEnvUnset(ECMC_EXE_CMD) # Ensure standby current is below run current otherwise exit ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD, "500>1000", "ecmcExit Error: Standby current higher than run current...","# Standby current and run current setting OK (500<1000)...") # Result: # Standby current and run current setting OK (500<1000)... epicsEnvUnset(ECMC_EXE_CMD) ecmcConfigOrDie "Cfg.EcAddSdo(8,0x8010,0x1,1000,2)" ecmcConfigOrDie "Cfg.EcAddSdo(8,0x8010,0x2,500,2)" ecmcConfigOrDie "Cfg.EcAddSdo(8,0x8010,0x3,2400,2)" ecmcConfigOrDie "Cfg.EcAddSdo(8,0x8010,0x4,175,2)" ecmcConfigOrDie "Cfg.EcAddSdo(8,0x8010,0x6,200,2)" ecmcConfigOrDie "Cfg.EcAddSdo(8,0x8010,0xA,330,2)" epicsEnvUnset("I_RUN_MA_LOCAL") epicsEnvUnset("I_STDBY_MA_LOCAL") epicsEnvUnset("I_MAX_MA_LOCAL") #Configure EL7037 stepper drive terminal, motor 2 ecmcEpicsEnvSetCalc(ECMC_EC_SLAVE_NUM, "8+1") iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/configureSlave.cmd, "SLAVE_ID=9, HW_DESC=EL7037, CONFIG=-Motor-Nanotec-ST4118L1804-B" #============================================================================== # configureSlave.cmd epicsEnvSet("ECMC_EC_SLAVE_NUM", "9") epicsEnvSet("HW_DESC", "EL7037") ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/addSlave.cmd",1) iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/addSlave.cmd "SLAVE_ID=9, HW_DESC=EL7037, NELM=1" #==============================================================2022/01/28 10:04:20.877 OK 2022/01/28 10:04:20.992 OK 2022/01/28 10:04:21.072 12848 2022/01/28 10:04:21.073 OK 2022/01/28 10:04:21.073 OK 2022/01/28 10:04:21.073 OK 2022/01/28 10:04:21.074 OK 2022/01/28 10:04:21.074 OK 2022/01/28 10:04:21.074 OK 2022/01/28 10:04:21.074 OK 2022/01/28 10:04:21.074 OK 2022/01/28 10:04:21.074 OK 2022/01/28 10:04:21.074 OK 2022/01/28 10:04:21.074 OK 2022/01/28 10:04:21.074 OK ================ # addSlave.cmd epicsEnvSet("ECMC_EC_SLAVE_NUM", "9") epicsEnvSet("HW_DESC", "EL7037") epicsEnvSet("P_SCRIPT", "mXsXXX") # add ${HW_DESC} to the bus at position ${SLAVE_ID} ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEL7037.cmd",1) iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEL7037.cmd" "NELM=1" epicsEnvSet("ECMC_EC_HWTYPE" "EL7037") epicsEnvSet("ECMC_EC_VENDOR_ID" "0x2") epicsEnvSet("ECMC_EC_PRODUCT_ID" "0x1b7d3052") iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/slaveVerify.cmd "RESET=true" ecmcEpicsEnvSetCalcTernary(ECMC_SLAVE_VERIFY, "0==0", "","#- ") ecmcConfigOrDie "Cfg.EcSlaveVerify(0,9,0x2,0x1b7d3052)" ecmcEpicsEnvSetCalcTernary(ECMC_SLAVE_RESET, "true>0", "","#- ") ecmcConfigOrDie "Cfg.EcWriteSdo(9,0x1011,0x1,1684107116,4)" epicsEnvSet(ECMC_EC_SLAVE_FW, "0x0000") ecmcConfig "EcReadSdo(9,0x100a,0x0,2)" ecmcEpicsEnvSetCalc("ECMC_EC_SLAVE_FW", "12848", "0x%04x") # Firmware version: 0x3230 epicsEnvUnset(ECMC_SLAVE_VERIFY) epicsEnvUnset(ECMC_COMMENT) iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEX70XX.cmd ecmcConfigOrDie "Cfg.EcAddEntryComplete(9,0x2,0x1b7d3052,1,2,0x1600,0x7000,0x01,16,encoderControl01)" ecmcConfigOrDie "Cfg.EcAddEntryComplete(9,0x2,0x1b7d3052,1,2,0x1600,0x7000,0x11,16,encoderValue01)" ecmcConfigOrDie "Cfg.EcAddEntryComplete(9,0x2,0x1b7d3052,1,2,0x1602,0x7010,0x1,16,driveControl01)" ecmcConfigOrDie "Cfg.EcAddEntryComplete(9,0x2,0x1b7d3052,1,2,0x1604,0x7010,0x21,16,1,velocitySetpoint01)" ecmcConfigOrDie "Cfg.EcAddEntryComplete(9,0x2,0x1b7d3052,2,3,0x1a00,0x6000,0x0,16,encoderStatus01)" ecmcConfigOrDie "Cfg.EcAddEntryComplete(9,0x2,0x1b7d3052,2,3,0x1a00,0x6000,0x11,16,positionActual01)" ecmcConfigOrDie "Cfg.EcAddEntryComplete(9,0x2,0x1b7d3052,2,3,0x1a00,0x6000,0x12,16,encoderLatchPostion01)" ecmcConfigOrDie "Cfg.EcAddEntryComplete(9,0x2,0x1b7d3052,2,3,0x1a03,0x6010,0x1,16,driveStatus01)" ecmcConfigOrDie "Cfg.EcAddSdo(9,0x8012,0x5,1,1)" ecmcConfigOrDie "Cfg.EcAddSdo(9,0x8012,0xA,1,1)" ecmcConfigOrDie "Cfg.EcAddSdo(9,0x8012,0x8,1,1)" ecmcConfigOrDie "Cfg.EcAddSdo(9,0x8012,0x9,0,1)" # deduce what the prefix should be ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcmXsXXX.cmd",1) iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcmXsXXX.cmd" "MASTER_ID=0,SLAVE_POS=9,HWTYPE=EL7037" #============================================================================== # ecmcmXsXXX.cmd ecmcEpicsEnvSetCalc("sid", "9","%03d") ecmcEpicsEnvSetCalc("mid", "0","%01d") epicsEnvSet("ECMC_G", "IOC_TEST:m0s009") epicsEnvSet("ECMC_P", "IOC_TEST:m0s009-") epicsEnvUnset(sid) epicsEnvUnset(mid) ecmcEpicsEnvSetCalcTernary(DEFAULT_SUBS, "True", "","#- ") iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/applySubstitutions.cmd" "SUBST_FILE=ecmcEL7037.substitutions,ECMC_P=IOC_TEST:m0s009-" #============================================================================== # applySubstitutions.cmd ecmcFileExist(ecmcEL7037.substitutions,1,1) dbLoadTemplate(ecmcEL7037.substitutions,"ECMC_P=IOC_TEST:m0s009-,ECMC_G=IOC_TEST:m0s009,PORT=MC_CPU1,ADDR=0,TIMEOUT=1,MASTER_ID=0,SLAVE_POS=9,HWTYPE=EL7037,T_SMP_MS=10,TSE=-2,NELM=1") epicsEnvUnset(DEFAULT_SUBS) ecmcEpicsEnvSetCalcTernary(DEFAULT_SLAVE_PVS, "True", "","#- ") iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/applyTemplate.cmd" "TEMPLATE_FILE=ecmcEcSlave.template,ECMC_P=IOC_TEST:m0s009-,ECMC_G=IOC_TEST:m0s009" #============================================================================== # applyTemplate.cmd ecmcFileExist(ecmcEcSlave.template,1,1) dbLoadRecords("ecmcEcSlave.template", "ECMC_P=IOC_TEST:m0s009-,ECMC_G=IOC_TEST:m0s009,PORT=MC_CPU1,ADDR=0,TIMEOUT=1,MASTER_ID=0,SLAVE_POS=9,HWTYPE=EL7037,T_SMP_MS=10,TSE=-2,") epicsEnvUnset(DEFAULT_SLAVE_PVS) # increment SLAVE_ID ecmcEpicsEnvSetCalc("SLAVE_ID", "9+1","%d") # apply config ${CONFIG} for ${HW_DESC} e2022/01/28 10:04:21.084 OK 2022/01/28 10:04:21.084 OK 2022/01/28 10:04:21.084 OK 2022/01/28 10:04:21.084 OK 2022/01/28 10:04:21.084 OK 2022/01/28 10:04:21.084 OK 2022/01/28 10:04:21.085 OK 2022/01/28 10:04:21.085 OK 2022/01/28 10:04:21.085 OK 2022/01/28 10:04:21.085 OK 2022/01/28 10:04:21.085 OK 2022/01/28 10:04:21.085 OK 2022/01/28 10:04:21.085 OK 2022/01/28 10:04:21.085 OK 2022/01/28 10:04:21.085 OK cmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEL7037-Motor-Nanotec-ST4118L1804-B.cmd",1) iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEL7037-Motor-Nanotec-ST4118L1804-B.cmd "" epicsEnvSet(I_MAX_MA_LOCAL,"1500") epicsEnvSet(I_RUN_MA_LOCAL,1000) epicsEnvSet(I_STDBY_MA_LOCAL,500) ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/chkValidCurrentSetOrDie.cmd",1) iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/chkValidCurrentSetOrDie.cmd "I_RUN_MA=1000,I_STDBY_MA=500,I_MAX_MA=1500" #============================================================================== # chkValidCurrentSetOrDie.cmd # Ensure running current is below max current otherwise exit ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD, "1000>1500 or 1000<=0", "ecmcExit Error: Run current setpoint to high or negative...","# Run current setting OK (1000)...") # Result: # Run current setting OK (1000)... epicsEnvUnset(ECMC_EXE_CMD) # Ensure standby current is below max current otherwise exit ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD, "500>1500 or 500<0", "ecmcExit Error: Standby current setpoint to high or negative...","# Standby current setting OK (500)...") # Result: # Standby current setting OK (500)... epicsEnvUnset(ECMC_EXE_CMD) # Ensure standby current is below run current otherwise exit ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD, "500>1000", "ecmcExit Error: Standby current higher than run current...","# Standby current and run current setting OK (500<1000)...") # Result: # Standby current and run current setting OK (500<1000)... epicsEnvUnset(ECMC_EXE_CMD) ecmcConfigOrDie "Cfg.EcAddSdo(9,0x8010,0x1,1000,2)" ecmcConfigOrDie "Cfg.EcAddSdo(9,0x8010,0x2,500,2)" ecmcConfigOrDie "Cfg.EcAddSdo(9,0x8010,0x3,2400,2)" ecmcConfigOrDie "Cfg.EcAddSdo(9,0x8010,0x4,175,2)" ecmcConfigOrDie "Cfg.EcAddSdo(9,0x8010,0x6,200,2)" ecmcConfigOrDie "Cfg.EcAddSdo(9,0x8010,0xA,330,2)" epicsEnvUnset("I_RUN_MA_LOCAL") epicsEnvUnset("I_STDBY_MA_LOCAL") epicsEnvUnset("I_MAX_MA_LOCAL") #Apply hardware configuration ecmcConfigOrDie "Cfg.EcApplyConfig(1)" # ADDITIONAL SETUP # Set all outputs to feed switches ecmcConfigOrDie "Cfg.WriteEcEntryIDString(2,binaryOutput01,1)" ecmcConfigOrDie "Cfg.WriteEcEntryIDString(2,binaryOutput02,1)" ecmcConfigOrDie "Cfg.WriteEcEntryIDString(2,binaryOutput03,1)" ecmcConfigOrDie "Cfg.WriteEcEntryIDString(2,binaryOutput04,1)" ecmcConfigOrDie "Cfg.WriteEcEntryIDString(2,binaryOutput05,1)" ecmcConfigOrDie "Cfg.WriteEcEntryIDString(2,binaryOutput06,1)" ecmcConfigOrDie "Cfg.WriteEcEntryIDString(2,binaryOutput07,1)" ecmcConfigOrDie "Cfg.WriteEcEntryIDString(2,binaryOutput08,1)" # END of ADDITIONAL SETUP ############################################################################## ## AXIS 1 # epicsEnvSet("DEV", "IOC_TEST") iocshLoad (/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/configureAxis.cmd, CONFIG=./cfg/linear_1.ax) #============================================================================== # configureAxis.cmd ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD, "'FULL'='DAQ'","ecmcExit Error: ECMC started in DAQ mode. Motion not supported..","#-") epicsEnvUnset(ECMC_EXE_CMD) epicsEnvSet("ECMC_PREFIX" "IOC_TEST:") ecmcFileExist("./cfg/linear_1.ax",1) iocshLoad ./cfg/linear_1.ax "" #General epicsEnvSet("ECMC_MOTOR_NAME", "Axis1") epicsEnvSet("ECMC_R", "Axis1-") epicsEnvSet("ECMC_AXIS_NO", "1") epicsEnvSet("ECMC_DESC", "MCU1021 Lower Axis (1)") epicsEnvSet("ECMC_EGU", "mm") # Motor Record Unit epicsEnvSet("ECMC_PREC", "3") # Motor Record Precision epicsEnvSet("ECMC_AXISCONFIG", "") # Extra parameters to driver epicsEnvSet("ECMC_EC_AXIS_HEALTH", "") # Entry for axis health output (example: ec0.s1.binaryOutput01.0) epicsEnvSet("ECMC_MOD_RANGE" , "0") # Modulo range (traj setpoints and encoder values will be in range 0..ECMC_MOD_RANGE) epicsEnvSet("ECMC_MOD_TYPE", "0") # For positioning and MOD_RANGE>0: 0 = Normal, 1 = Always Fwd, 2 = Always Bwd, 3 = Closest Distance #Encoder epicsEnvSet("ECMC_ENC_SCALE_NUM" "-60") epicsEnvSet("ECMC_ENC_SCALE_DENOM" "2000") epicsEnvSet("ECMC_ENC_TYPE" "1") # Type: 0=Incremental, 1=Absolute epicsEnvSet("ECMC_ENC_BITS" "16") # Total bit count of encoder raw data epicsEnvSet("ECMC_ENC_ABS_BITS", "0") # Absolute bit count (for absolute encoders) always least significant part of ECMC_ENC_BITS epicsEnvSet("ECMC_ENC_ABS_OFFSET" "0") # Encoder offset in eng units (for absolute encoders) epicsEnvSet("ECMC_EC_ENC_ACTPOS", "ec0.s3.positionActual01") # Ethercat entry for actual position input (encoder) epicsEnvSet("ECMC_EC_ENC_RESET", "") # Reset (if no encoder reset bit then leave empty) epicsEnvSet("ECMC_EC_ENC_ALARM_0", "") # Error 0 (if no encoder error bit then leave empty) epicsEnvSet("ECMC_EC_ENC_ALARM_1", "") # Error 1 (if no encoder error bit then leave empty) epicsEnvSet("ECMC_EC_ENC_ALARM_2", "") # Error 2 (if no encoder error bit then leave empty) epicsEnvSet("ECMC_EC_ENC_WARNING", "") # Warning (if no encoder warning bit then leave empty) #Drive epicsEnvSet("ECMC_DRV_TYPE" "0") # Stepper: 0. DS402: 1 (DS402 = servos and advanced stepper drives) epicsEnvSet("ECMC_DRV_SCALE_NUM" "600.0") # Fastest speed in engineering units epicsEnvSet("ECMC_DRV_SCALE_DENOM" "32768.0") # I/O range for ECMC_EC_ALIAS_DRV_VELO_SET epicsEnvSet("ECMC_EC_DRV_CONTROL", "ec0.s8.driveControl01.0") # Ethercat entry for control word or bit output epicsEnvSet("ECMC_EC_DRV_STATUS", "ec0.s8.driveStatus01.1") # Ethercat entry for status word or bit input epicsEnvSet("ECMC_EC_DRV_VELOCITY", "ec0.s8.velocitySetpoint01") # Ethercat entry for velocity setpoint output epicsEnvSet("ECMC_EC_DRV_REDUCE_TORQUE", "ec0.s8.driveControl01.2") # Ethercat entry for reduce torque output epicsEnvSet("ECMC_EC_DRV_BRAKE", "") # Ethercat entry for brake output epicsEnvSet("ECMC_DRV_BRAKE_OPEN_DLY_TIME", "0") # Brake timing parameter in cycles (default 1kHz) epicsEnvSet("ECMC_DRV_BRAKE_CLOSE_AHEAD_TIME", "0") # Brake timing parameter in cycles (default 1kHz) epicsEnvSet("ECMC_EC_DRV_RESET", "ec0.s8.driveControl01.1") # Reset epicsEnvSet("ECMC_EC_DRV_ALARM_0", "ec0.s8.driveStatus01.3") # Error epicsEnvSet("ECMC_EC_DRV_ALARM_1", "ec0.s8.driveStatus01.7") # Stall epicsEnvSet("ECMC_EC_DRV_ALARM_2", "ec0.s8.driveStatus01.14") # Sync error epicsEnvSet("ECMC_EC_DRV_WARNING", "ec0.s8.driveStatus01.2") # Warning #Trajectory epicsEnvSet("ECMC_TRAJ_TYPE" "1") # Trapetz: 0. S-Curve: 1 epicsEnvSet("ECMC_VELO", "10.0") epicsEnvSet("ECMC_JOG_VEL", "5") epicsEnvSet("ECMC_JAR", "0.0") # JAR defaults to VELO/ACCL epicsEnvSet("ECMC_ACCS_EGU_PER_S2", "10") epicsEnvSet("ECMC_EMERG_DECEL", "100") # Emergency deceleration epicsEnvSet("ECMC_JERK", "10.0") # Only valid for ECMC_TRAJ_TYPE==1 #Homing epicsEnvSet("ECMC_HOME_PROC", "3") epicsEnvSet("ECMC_HOME_POS", "0.0") epicsEnvSet("ECMC_HOME_VEL_TO", "5") epicsEnvSet("ECMC_HOME_VEL_FRM", "4") epicsEnvSet("ECMC_HOME_ACC", "21") epicsEnvSet("ECMC_HOME_DEC", "100") epicsEnvSet("ECMC_HOME_POS_MOVE_ENA", "0") # Enable move to position after successfull homing epicsEnvSet("ECMC_HOME_POS_MOVE_TARG_POS","0") # Target position to go to after successfull homing #Controller epicsEnvSet("ECMC_CNTRL_KP", "15.0") epicsEnvSet("ECMC_CNTRL_KI", "0.02") epicsEnvSet("ECMC_CNTRL_KD", "0.0") epicsEnvSet("ECMC_CNTRL_KFF", "1.0") #Monitoring # Switches epicsEnvSet("ECMC_EC_MON_LOWLIM", "ec0.s1.binaryInput02.0") # Ethercat entry for low limit switch input epicsEnvSet("ECMC_EC_MON_HIGHLIM", "ec0.s1.binaryInput01.0") # Ethercat entry for high limit switch inpuit epicsEnvSet("ECMC_EC_MON_HOME_SWITCH", "ec0.s1.binaryInput03.0") # Ethercat entry for home switch input epicsEnvSet("ECMC_EC_MON_EXT_INTERLOCK", "ec0.s1.ONE.0") # Ethercat entry for external interlock input # Softlimits (disable with 0,0,0) epicsEnvSet("ECMC_SOFT_LOW_LIM", "-20") epicsEnvSet("ECMC_SOFT_HIGH_LIM", "130") epicsEnvSet("ECMC_DXLM_ENABLE", "1") # Position lag epicsEnvSet("ECMC_MON_LAG_MON_TOL", "1.0") epicsEnvSet("ECMC_MON_LAG_MON_TIME", "10") epicsEnvSet("ECMC_MON_LAG_MON_ENA", "1") # At target epicsEnvSet("ECMC_MON_AT_TARGET_TOL", "0.1") epicsEnvSet("ECMC_MON_AT_TARGET_TIME", "100") epicsEnvSet("ECMC_MON_AT_TARGET_ENA", "1") # Velocity epicsEnvSet("ECMC_MON_VELO_MAX", "100.0") epicsEnvSet("ECMC_MON_VELO_MAX_TRAJ_TIME","100") epicsEnvSet("ECMC_MON_VELO_MAX_DRV_TIME", "200") epicsEnvSet("ECMC_MON_VELO_MAX_ENA", "1") ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/addAxis.cmd",1) iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/addAxis.cmd #============================================================================== # addAxis.cmd ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD, "'FULL'='DAQ'","ecmcExit Error: ECMC started in DAQ mode. Motion not supported..","#-") epicsEnvUnset(ECMC_EXE_CMD) ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis-records.cmd",1) iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis-records.cmd #============================================================================== # ecmc_axis-records.cmd ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis.cmd",1) iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis.cmd #============================================================================== # ecmc_axis.cmd ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/verifyOrDie.cmd",1) iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/verifyOrDie.cmd "EXPR_STR='abs(-60)<>0',SUCCESS_STR='ECMC_ENC_SCALE_NUM value OK == -60...',ERROR_STR='ECMC_ENC_SCALE_NUM == 0...'" #============================================================================== # verifyOrDie.cmd ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD,"abs(-60)<>0","# ECMC_ENC_SCALE_NUM value OK == -60...", "ecmcExit Error: ECMC_ENC_SCALE_NUM == 0...") # ECMC_ENC_SCALE_NUM value OK == -60... epicsEnvUnset(ECMC_EXE_CMD) iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/verifyOrDie.cmd "EXPR_STR='abs(2000)<>0',SUCCESS_STR='ECMC_ENC_SCALE_DENOM value OK == 2000...',ERROR_STR='ECMC_ENC_SCALE_DENOM == 0...'" #============================================================================== # verifyOrDie.cmd ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD,"abs(2000)<>0","# ECMC_ENC_SCALE_DENOM value OK == 2000...", "ecmcExit Error: ECMC_ENC_SCALE_DENOM == 0...") # ECMC_ENC_SCALE_DENOM value OK == 2000... epicsEnvUnset(ECMC_EXE_CMD) iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/verifyOrDie.cmd "EXPR_STR='abs(600.0)<>0',SUCCESS_STR='ECMC_DRV_SCALE_NUM value OK == 600.0...',ERROR_STR='ECMC_DRV_SCALE_NUM == 0...'" #============================================================================== # verifyOrDie.cmd ecmcEpicsEnvSetCalcTe2022/01/28 10:04:21.095 OK 2022/01/28 10:04:21.096 OK 2022/01/28 10:04:21.096 OK 2022/01/28 10:04:21.096 OK 2022/01/28 10:04:21.098 OK 2022/01/28 10:04:21.098 OK 2022/01/28 10:04:21.098 OK 2022/01/28 10:04:21.098 OK 2022/01/28 10:04:21.098 OK 2022/01/28 10:04:21.098 OK 2022/01/28 10:04:21.098 OK 2022/01/28 10:04:21.099 OK 2022/01/28 10:04:21.099 OK 2022/01/28 10:04:21.099 OK 2022/01/28 10:04:21.099 OK 2022/01/28 10:04:21.099 OK 2022/01/28 10:04:21.099 OK 2022/01/28 10:04:21.099 OK 2022/01/28 10:04:21.099 OK 2022/01/28 10:04:21.099 OK 2022/01/28 10:04:21.099 OK 2022/01/28 10:04:21.099 OK 2022/01/28 10:04:21.100 OK 2022/01/28 10:04:21.100 OK 2022/01/28 10:04:21.100 OK 2022/01/28 10:04:21.100 OK 2022/01/28 10:04:21.100 OK 2022/01/28 10:04:21.100 OK 2022/01/28 10:04:21.100 OK 2022/01/28 10:04:21.100 OK 2022/01/28 10:04:21.100 OK 2022/01/28 10:04:21.100 OK 2022/01/28 10:04:21.100 OK 2022/01/28 10:04:21.100 OK 2022/01/28 10:04:21.100 OK 2022/01/28 10:04:21.100 OK 2022/01/28 10:04:21.101 OK 2022/01/28 10:04:21.101 OK 2022/01/28 10:04:21.101 OK rnary(ECMC_EXE_CMD,"abs(600.0)<>0","# ECMC_DRV_SCALE_NUM value OK == 600.0...", "ecmcExit Error: ECMC_DRV_SCALE_NUM == 0...") # ECMC_DRV_SCALE_NUM value OK == 600.0... epicsEnvUnset(ECMC_EXE_CMD) iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/verifyOrDie.cmd "EXPR_STR='abs(32768.0)<>0',SUCCESS_STR='ECMC_DRV_SCALE_DENOM value OK == 32768.0...',ERROR_STR='ECMC_DRV_SCALE_DENOM == 0...'" #============================================================================== # verifyOrDie.cmd ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD,"abs(32768.0)<>0","# ECMC_DRV_SCALE_DENOM value OK == 32768.0...", "ecmcExit Error: ECMC_DRV_SCALE_DENOM == 0...") # ECMC_DRV_SCALE_DENOM value OK == 32768.0... epicsEnvUnset(ECMC_EXE_CMD) ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/issueWarning.cmd",1) iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/issueWarning.cmd "EXPR_STR='-1>0',WARNING_STR='WARNING: ECMC_MRES setting is deprecated and will not be used. (MRES will be calulated instead: ECMC_ENC_SCALE_NUM/ECMC_ENC_SCALE_DENOM).. '" #============================================================================== # issueWarning.cmd ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD,"-1>0","", "#-") epicsEnvUnset(ECMC_EXE_CMD) ecmcConfigOrDie "Cfg.CreateAxis(1,1,0,1)" ecmcConfigOrDie "Cfg.LinkEcEntryToObject(,"ax1.health")" ecmcConfigOrDie "Cfg.SetAxisModRange(1, 0)" ecmcConfigOrDie "Cfg.SetAxisModType(1, 0)" ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/issueWarning.cmd",1) iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/issueWarning.cmd "EXPR_STR='-1>0',WARNING_STR='WARNING: ECMC_ACCL setting is deprecated. Please use ECMC_ACCS_EGU_PER_S2 instead..'" #============================================================================== # issueWarning.cmd ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD,"-1>0","", "#-") epicsEnvUnset(ECMC_EXE_CMD) ecmcEpicsEnvSetCalcTernary(ECMC_BLOCK_ACCL,"'EMPTY'!='EMPTY'","", "#-") ecmcEpicsEnvSetCalcTernary(ECMC_BLOCK_ACCS,"'EMPTY'=='EMPTY'","", "#-") ecmcConfigOrDie "Cfg.SetAxisAcc(1,10)" ecmcConfigOrDie "Cfg.SetAxisDec(1,10)" ecmcConfigOrDie "Cfg.SetAxisJerk(1,10.0)" ecmcConfigOrDie "Cfg.SetAxisVel(1,10.0)" ecmcConfigOrDie "Cfg.SetAxisEmergDeceleration(1,100)" ecmcConfigOrDie "Cfg.SetAxisHomeVelTwordsCam(1,5)" ecmcConfigOrDie "Cfg.SetAxisHomeVelOffCam(1,4)" ecmcConfigOrDie "Cfg.SetAxisCntrlKp(1,15.0)" ecmcConfigOrDie "Cfg.SetAxisCntrlKi(1,0.02)" ecmcConfigOrDie "Cfg.SetAxisCntrlKd(1,0.0)" ecmcConfigOrDie "Cfg.SetAxisCntrlKff(1,1.0)" ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s3.positionActual01,"ax1.enc.actpos")" ecmcConfigOrDie "Cfg.SetAxisEncScaleDenom(1,2000)" ecmcConfigOrDie "Cfg.SetAxisEncScaleNum(1,-60)" ecmcConfigOrDie "Cfg.SetAxisEncType(1,1)" ecmcConfigOrDie "Cfg.SetAxisEncBits(1,16)" ecmcConfigOrDie "Cfg.SetAxisEncAbsBits(1,0)" ecmcConfigOrDie "Cfg.SetAxisEncOffset(1,0)" ecmcConfigOrDie "Cfg.SetAxisEncVelFilterSize(1,100)" ecmcConfigOrDie "Cfg.SetAxisEncPosFilterSize(1,1)" ecmcConfigOrDie "Cfg.SetAxisEncPosFilterEnable(1,0)" ecmcConfigOrDie "Cfg.LinkEcEntryToObject(,"ax1.enc.reset")" ecmcConfigOrDie "Cfg.LinkEcEntryToObject(,"ax1.enc.alarm0")" ecmcConfigOrDie "Cfg.LinkEcEntryToObject(,"ax1.enc.alarm1")" ecmcConfigOrDie "Cfg.LinkEcEntryToObject(,"ax1.enc.alarm2")" ecmcConfigOrDie "Cfg.LinkEcEntryToObject(,"ax1.enc.warning")" ecmcConfigOrDie "Cfg.LinkEcEntryToObject(,"ax1.enc.latchpos")" ecmcConfigOrDie "Cfg.LinkEcEntryToObject(,"ax1.enc.latchcontrol")" ecmcConfigOrDie "Cfg.LinkEcEntryToObject(,"ax1.enc.latchstatus")" ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s8.driveControl01.0,"ax1.drv.control")" ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s8.driveStatus01.1,"ax1.drv.status")" ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s8.velocitySetpoint01,"ax1.drv.velocity")" ecmcConfigOrDie "Cfg.LinkEcEntryToObject(,"ax1.drv.position")" ecmcConfigOrDie "Cfg.LinkEcEntryToObject(,"ax1.drv.brake")" ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s8.driveControl01.2,"ax1.drv.reducetorque")" ecmcConf2022/01/28 10:04:21.101 OK 2022/01/28 10:04:21.101 OK 2022/01/28 10:04:21.101 OK 2022/01/28 10:04:21.101 OK 2022/01/28 10:04:21.101 OK 2022/01/28 10:04:21.101 OK 2022/01/28 10:04:21.101 OK 2022/01/28 10:04:21.101 OK 2022/01/28 10:04:21.101 OK 2022/01/28 10:04:21.102 OK 2022/01/28 10:04:21.102 OK 2022/01/28 10:04:21.102 OK 2022/01/28 10:04:21.102 OK 2022/01/28 10:04:21.102 OK 2022/01/28 10:04:21.102 OK 2022/01/28 10:04:21.102 OK 2022/01/28 10:04:21.102 OK 2022/01/28 10:04:21.102 OK 2022/01/28 10:04:21.102 OK 2022/01/28 10:04:21.102 OK 2022/01/28 10:04:21.103 OK 2022/01/28 10:04:21.103 OK 2022/01/28 10:04:21.103 OK 2022/01/28 10:04:21.103 OK 2022/01/28 10:04:21.103 OK 2022/01/28 10:04:21.103 OK 2022/01/28 10:04:21.103 OK 2022/01/28 10:04:21.103 OK 2022/01/28 10:04:21.103 OK 2022/01/28 10:04:21.103 OK 2022/01/28 10:04:21.104 OK 2022/01/28 10:04:21.104 OK 2022/01/28 10:04:21.104 ecmcMotorRecord:: setIntegerParam(1 motorPowerAutoOnOff_)=2 2022/01/28 10:04:21.104 ecmcMotorRecord:: setDoubleParam(1 motorPowerOnDelay_)=6 2022/01/28 10:04:21.104 ecmcMotorRecord:: setDoubleParam(1 motorPowerOffDelay_=-1 2022/01/28 10:04:21.105 ecmcMotorRecord:: udateMotorLimitsRO(1) enabledHighAndLow=1 valid=1 fValueHigh=130 fValueLow=-20 2022/01/28 10:04:21.105 ecmcMotorRecord:: connected(1) 2022/01/28 10:04:21.105 ecmcMotorRecord:: initialPoll(1) status=0 igOrDie "Cfg.LinkEcEntryToObject(ec0.s8.driveControl01.1,"ax1.drv.reset")" ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s8.driveStatus01.3,"ax1.drv.alarm0")" ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s8.driveStatus01.7,"ax1.drv.alarm1")" ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s8.driveStatus01.14,"ax1.drv.alarm2")" ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s8.driveStatus01.2,"ax1.drv.warning")" ecmcConfigOrDie "Cfg.SetAxisDrvScaleDenom(1,32768.0)" ecmcConfigOrDie "Cfg.SetAxisDrvScaleNum(1,600.0)" ecmcConfigOrDie "Cfg.SetAxisDrvBrakeOpenDelayTime(1,0)" ecmcConfigOrDie "Cfg.SetAxisDrvBrakeCloseAheadTime(1,0)" ecmcConfigOrDie "Cfg.SetAxisSoftLimitPosBwd(1,-20)" ecmcConfigOrDie "Cfg.SetAxisEnableSoftLimitBwd(1,1)" ecmcConfigOrDie "Cfg.SetAxisSoftLimitPosFwd(1,130)" ecmcConfigOrDie "Cfg.SetAxisEnableSoftLimitFwd(1,1)" ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s1.binaryInput02.0,"ax1.mon.lowlim")" ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s1.binaryInput01.0,"ax1.mon.highlim")" ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s1.binaryInput03.0,"ax1.mon.homesensor")" ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s1.ONE.0,"ax1.mon.extinterlock")" ecmcConfigOrDie "Cfg.SetAxisMonAtTargetTol(1,0.1)" ecmcConfigOrDie "Cfg.SetAxisMonAtTargetTime(1,100)" ecmcConfigOrDie "Cfg.SetAxisMonEnableAtTargetMon(1,1)" ecmcConfigOrDie "Cfg.SetAxisMonPosLagTol(1,1.0)" ecmcConfigOrDie "Cfg.SetAxisMonPosLagTime(1,10)" ecmcConfigOrDie "Cfg.SetAxisMonEnableLagMon(1,1)" ecmcConfigOrDie "Cfg.SetAxisMonMaxVel(1,100.0)" ecmcConfigOrDie "Cfg.SetAxisMonEnableMaxVel(1,1)" ecmcConfigOrDie "Cfg.SetAxisMonMaxVelDriveILDelay(1,200)" ecmcConfigOrDie "Cfg.SetAxisMonMaxVelTrajILDelay(1,100)" ecmcConfigOrDie "Cfg.SetAxisMonHomeSwitchPolarity(1,0)" ecmcConfigOrDie "Cfg.SetAxisHomeLatchCountOffset(1,0.0)" ecmcConfigOrDie "Cfg.SetAxisHomePosition(1,0.0)" ecmcConfigOrDie "Cfg.SetAxisHomePostMoveEnable(1, 0)" ecmcConfigOrDie "Cfg.SetAxisHomePostMoveTargetPosition(1, 0)" ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis_mr.cmd",1) iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis_mr.cmd #============================================================================== # ecmc_axis_mr.cmd ecmcMotorRecordCreateAxis(MCU1, "1", "6", ) ecmcEpicsEnvSetCalc("ECMC_TEMP_SREV","if(abs(2000)>0){RESULT:=abs(2000);} else {RESULT:=1.0};","%d") ecmcEpicsEnvSetCalc("ECMC_TEMP_UREV","if(abs(-60)>0){RESULT:=abs(-60);} else {RESULT:=1.0};","%lf") ecmcFileExist(ecmcMotorRecord.template,1,1) dbLoadRecords(ecmcMotorRecord.template, "PREFIX=IOC_TEST:, MOTOR_NAME=Axis1, MOTOR_PORT=MCU1, AXIS_NO=1, DESC=MCU1021 Lower Axis (1), EGU=mm, PREC=3, VELO=10.0, JVEL=5, JAR=0.0, ACCS=10, RDBD=0.1, DLLM=-20, DHLM=130, HOMEPROC=3,SREV=2000,UREV=60.000000, ") epicsEnvSet("ECMC_AXISFIELDINIT", "") ecmcFileExist(ecmcMotorRecordhome.template,1,1) dbLoadRecords(ecmcMotorRecordhome.template, "PREFIX=IOC_TEST:, MOTOR_NAME=Axis1, MOTOR_PORT=MCU1, AXIS_NO=1,HOMEPROC=3, HOMEPOS=0.0, HVELTO=5, HVELFRM=4, HOMEACC=21, HOMEDEC=100") epicsEnvUnset(ECMC_TEMP_SREV) epicsEnvUnset(ECMC_TEMP_UREV) epicsEnvUnset(ECMC_BLOCK_ACCL) epicsEnvUnset(ECMC_BLOCK_ACCS) ecmcFileExist("ecmcAxis.db",1,1) dbLoadRecords("ecmcAxis.db","P=IOC_TEST:,AXIS_NAME=Axis1,AXIS_NO=1,PORT=MC_CPU1,ADDR=0,TIMEOUT=1,T_SMP_MS=10,TSE=-2") ecmcFileExist("ecmcAxisType.db",1,1) dbLoadRecords("ecmcAxisType.db","P=IOC_TEST:,AXIS_NAME=Axis1,AXIS_TYPE=1") ecmcFileExist(/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis_unset.cmd,1) iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis_unset.cmd #============================================================================== # ecmc_axis_unset.cmd epicsEnvUnset(ECMC_AXISCONFIG) epicsEnvUnset(ECMC_AXISFIELDINIT) epicsEnvUnset(ECMC_PREC) epicsEnvUnset(ECMC_EGU) epicsEnvUnset(ECMC_DESC) epicsEnvUnset(ECMC_R) epicsEnvUnset(ECMC_MOTOR_NAME) epicsEnvUnset(ECMC_EC_AXIS_HEALTH) epicsEnvUnset(ECMC_MOD_RANGE) epicsEnvUnset(ECMC_MOD_TYPE) epicsEnvUnset(ECMC_EMERG_DECEL) epicsEnvUnset(ECMC_VELO)macLib: macro ECMC_EXE_CMD is undefined (expanding string ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD, "'${ECMC_MODE=FULL}'='DAQ'","ecmcExit Error: ECMC started in DAQ mode. Motion not supported..","#-")${ECMC_EXE_CMD}) macLib: macro ECMC_EXE_CMD is undefined (expanding string ${ECMC_EXE_CMD}) epicsEnvUnset(ECMC_ACCL) epicsEnvUnset(ECMC_ACCS_EGU_PER_S2) epicsEnvUnset(ECMC_HOME_VEL_TO) epicsEnvUnset(ECMC_HOME_VEL_FRM) epicsEnvUnset(ECMC_CNTRL_KP) epicsEnvUnset(ECMC_CNTRL_KI) epicsEnvUnset(ECMC_CNTRL_KD) epicsEnvUnset(ECMC_CNTRL_KFF) epicsEnvUnset(ECMC_EC_ENC_ACTPOS) epicsEnvUnset(ECMC_EC_ENC_LATCHPOS) epicsEnvUnset(ECMC_EC_ENC_LATCH_CONTROL) epicsEnvUnset(ECMC_EC_ENC_LATCH_STATUS) epicsEnvUnset(ECMC_HOME_LATCH_COUNT_OFFSET) epicsEnvUnset(ECMC_ENC_SCALE_DENOM) epicsEnvUnset(ECMC_ENC_SCALE_NUM) epicsEnvUnset(ECMC_ENC_TYPE) epicsEnvUnset(ECMC_ENC_BITS) epicsEnvUnset(ECMC_ENC_ABS_BITS) epicsEnvUnset(ECMC_ENC_ABS_OFFSET) epicsEnvUnset(ECMC_ENC_VEL_FILTER_SIZE) epicsEnvUnset(ECMC_ENC_POS_FILTER_SIZE) epicsEnvUnset(ECMC_ENC_POS_FILTER_ENABLE) epicsEnvUnset(ECMC_EC_ENC_RESET) epicsEnvUnset(ECMC_EC_ENC_ALARM_0) epicsEnvUnset(ECMC_EC_ENC_ALARM_1) epicsEnvUnset(ECMC_EC_ENC_ALARM_2) epicsEnvUnset(ECMC_EC_ENC_WARNING) epicsEnvUnset(ECMC_EC_DRV_CONTROL) epicsEnvUnset(ECMC_EC_DRV_STATUS) epicsEnvUnset(ECMC_EC_DRV_VELOCITY) epicsEnvUnset(ECMC_EC_DRV_BRAKE) epicsEnvUnset(ECMC_EC_DRV_REDUCE_TORQUE) epicsEnvUnset(ECMC_EC_DRV_RESET) epicsEnvUnset(ECMC_EC_DRV_ALARM_0) epicsEnvUnset(ECMC_EC_DRV_ALARM_1) epicsEnvUnset(ECMC_EC_DRV_ALARM_2) epicsEnvUnset(ECMC_EC_DRV_WARNING) epicsEnvUnset(ECMC_DRV_SCALE_DENOM) epicsEnvUnset(ECMC_DRV_SCALE_NUM) epicsEnvUnset(ECMC_DRV_BRAKE_OPEN_DLY_TIME) epicsEnvUnset(ECMC_DRV_BRAKE_CLOSE_AHEAD_TIME) epicsEnvUnset(ECMC_SOFT_LOW_LIM) epicsEnvUnset(ECMC_DXLM_ENABLE) epicsEnvUnset(ECMC_SOFT_HIGH_LIM) epicsEnvUnset(ECMC_DXLM_ENABLE) epicsEnvUnset(ECMC_EC_MON_LOWLIM) epicsEnvUnset(ECMC_EC_MON_HIGHLIM) epicsEnvUnset(ECMC_EC_MON_HOME_SWITCH) epicsEnvUnset(ECMC_EC_MON_EXT_INTERLOCK) epicsEnvUnset(ECMC_MON_AT_TARGET_TOL) epicsEnvUnset(ECMC_MON_AT_TARGET_TIME) epicsEnvUnset(ECMC_MON_AT_TARGET_ENA) epicsEnvUnset(ECMC_MON_LAG_MON_TOL) epicsEnvUnset(ECMC_MON_LAG_MON_TIME) epicsEnvUnset(ECMC_MON_LAG_MON_ENA) epicsEnvUnset(ECMC_MON_VELO_MAX) epicsEnvUnset(ECMC_MON_VELO_MAX_ENA) epicsEnvUnset(ECMC_MON_VELO_MAX_DRV_TIME) epicsEnvUnset(ECMC_MON_VELO_MAX_TRAJ_TIME) epicsEnvUnset(ECMC_JOG_VEL) epicsEnvUnset(ECMC_JAR) epicsEnvUnset(ECMC_HOME_PROC) epicsEnvUnset(ECMC_HOME_POS) epicsEnvUnset(ECMC_HOME_ACC) epicsEnvUnset(ECMC_HOME_DEC) epicsEnvUnset(ECMC_DRV_TYPE) epicsEnvUnset(ECMC_VELO) epicsEnvUnset(ECMC_SOFT_LOW_LIM) epicsEnvUnset(ECMC_SOFT_HIGH_LIM) epicsEnvUnset(ECMC_HOME_POS_MOVE_ENA) epicsEnvUnset(ECMC_HOME_POS_MOVE_TARG_POS) epicsEnvUnset(ECMC_TRAJ_TYPE) epicsEnvUnset(ECMC_JERK) epicsEnvSet("ECMC_PREFIX" "IOC_TEST:") # Set external setpoints iocshLoad (/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/applyAxisSynchronization.cmd, CONFIG=./cfg/linear_1.sax) #============================================================================== # applyAxisSynchronization.cmd epicsEnvUnset(ECMC_EXE_CMD) iocshLoad ./cfg/linear_1.sax ############# Encoder epicsEnvSet("ECMC_ENC_SOURCE", "0") # 0 Internal (from hardware), 1 from PLC epicsEnvSet("ECMC_ENC_VELO_FILT_ENABLE", "1") # Enable velocity filter epicsEnvSet("ECMC_ENC_VELO_FILT_SIZE", "20") # Encoder velocity Low pass filter size ############# Trajectory epicsEnvSet("ECMC_TRAJ_SOURCE", "1") # 0 Internal (from hardware), 1 from PLC epicsEnvSet("ECMC_TRAJ_VELO_FILT_ENABLE", "1") # Enable velocity filter epicsEnvSet("ECMC_TRAJ_VELO_FILT_SIZE", "20") # Trajectory velocity Low pass filter size ############# Commands epicsEnvSet("ECMC_CMD_FRM_OTHER_PLC_ENABLE", "1") # Allow commands from PLC epicsEnvSet("ECMC_CMD_AXIS_PLC_ENABLE", "0") # Enable Axis PLC # Each line below is appended to one single expression/source. # Executed in sync with axis (before) epicsEnvSet("ECMC_AXIS_EXPR_LINE_1", "var a:=1|") epicsEnvSet("ECMC_AXIS_EXPR_LINE_2", "") epicsEnvSet("ECMC_AXIS_EXPR_LINE_3", "") epicsEnvSet("ECMC_AXIS_EXPR_LINE_4", "") epicsEnvSet("ECMC_AXIS_EXPR_LINE_5", "") epicsEnvSet("ECMC_AXIS_EXPR_LINE_6", 2022/01/28 10:04:21.115 OK 2022/01/28 10:04:21.115 OK 2022/01/28 10:04:21.115 OK 2022/01/28 10:04:21.115 OK 2022/01/28 10:04:21.115 OK 2022/01/28 10:04:21.116 OK 2022/01/28 10:04:21.116 OK 2022/01/28 10:04:21.116 OK 2022/01/28 10:04:21.116 OK 2022/01/28 10:04:21.116 OK 2022/01/28 10:04:21.116 OK 2022/01/28 10:04:21.116 OK 2022/01/28 10:04:21.116 OK 2022/01/28 10:04:21.116 OK 2022/01/28 10:04:21.116 OK 2022/01/28 10:04:21.116 OK 2022/01/28 10:04:21.116 OK 2022/01/28 10:04:21.117 OK "") epicsEnvSet("ECMC_AXIS_EXPR_LINE_7", "") epicsEnvSet("ECMC_AXIS_EXPR_LINE_8", "") epicsEnvSet("ECMC_AXIS_EXPR_LINE_9", "") epicsEnvSet("ECMC_AXIS_EXPR_LINE_10", "") ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis_sync.cmd",1) iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis_sync.cmd #============================================================================== # ecmc_axis_sync.cmd ecmcConfigOrDie "Cfg.SetAxisAllowCommandsFromPLC(1,1)" ecmcConfigOrDie "Cfg.SetAxisPLCEnable(1,0)" ecmcConfigOrDie "Cfg.AppendAxisPLCExpr(1)=var a:=1|" ecmcConfigOrDie "Cfg.AppendAxisPLCExpr(1)=" ecmcConfigOrDie "Cfg.AppendAxisPLCExpr(1)=" ecmcConfigOrDie "Cfg.AppendAxisPLCExpr(1)=" ecmcConfigOrDie "Cfg.AppendAxisPLCExpr(1)=" ecmcConfigOrDie "Cfg.AppendAxisPLCExpr(1)=" ecmcConfigOrDie "Cfg.AppendAxisPLCExpr(1)=" ecmcConfigOrDie "Cfg.AppendAxisPLCExpr(1)=" ecmcConfigOrDie "Cfg.AppendAxisPLCExpr(1)=" ecmcConfigOrDie "Cfg.AppendAxisPLCExpr(1)=" ecmcConfigOrDie "Cfg.SetAxisPLCEncVelFilterSize(1,20)" ecmcConfigOrDie "Cfg.SetAxisPLCEncVelFilterEnable(1,1)" ecmcConfigOrDie "Cfg.SetAxisEncSourceType(1,0)" ecmcConfigOrDie "Cfg.SetAxisPLCTrajVelFilterSize(1,20)" ecmcConfigOrDie "Cfg.SetAxisPLCTrajVelFilterEnable(1,1)" ecmcConfigOrDie "Cfg.SetAxisTrajSourceType(1,1)" ecmcFileExist(/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis_sync_unset.cmd,1) iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis_sync_unset.cmd #============================================================================== # ecmc_axis_sync_unset.cmd epicsEnvUnset(ECMC_CMD_FRM_OTHER_PLC_ENABLE) epicsEnvUnset(ECMC_CMD_AXIS_PLC_ENABLE) epicsEnvUnset(ECMC_AXIS_EXPR_LINE_1) epicsEnvUnset(ECMC_AXIS_EXPR_LINE_2) epicsEnvUnset(ECMC_AXIS_EXPR_LINE_3) epicsEnvUnset(ECMC_AXIS_EXPR_LINE_4) epicsEnvUnset(ECMC_AXIS_EXPR_LINE_5) epicsEnvUnset(ECMC_AXIS_EXPR_LINE_6) epicsEnvUnset(ECMC_AXIS_EXPR_LINE_7) epicsEnvUnset(ECMC_AXIS_EXPR_LINE_8) epicsEnvUnset(ECMC_AXIS_EXPR_LINE_9) epicsEnvUnset(ECMC_AXIS_EXPR_LINE_10) epicsEnvUnset(ECMC_ENC_VELO_FILT_SIZE) epicsEnvUnset(ECMC_ENC_VELO_FILT_ENABLE) epicsEnvUnset(ECMC_ENC_SOURCE) epicsEnvUnset(ECMC_TRAJ_VELO_FILT_SIZE) epicsEnvUnset(ECMC_TRAJ_VELO_FILT_ENABLE) epicsEnvUnset(ECMC_TRAJ_SOURCE) ############################################################################## ## AXIS 2 # #epicsEnvSet("DEV", "$(IOC)") iocshLoad (/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/configureAxis.cmd, CONFIG=./cfg/linear_2.ax) #============================================================================== # configureAxis.cmd ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD, "'FULL'='DAQ'","ecmcExit Error: ECMC started in DAQ mode. Motion not supported..","#-") epicsEnvUnset(ECMC_EXE_CMD) epicsEnvSet("ECMC_PREFIX" "IOC_TEST:") ecmcFileExist("./cfg/linear_2.ax",1) iocshLoad ./cfg/linear_2.ax "" #General epicsEnvSet("ECMC_MOTOR_NAME", "Axis2") epicsEnvSet("ECMC_R", "Axis2-") epicsEnvSet("ECMC_AXIS_NO", "2") epicsEnvSet("ECMC_DESC", "MCU1021 Upper Axis (2)") epicsEnvSet("ECMC_EGU", "mm") # Motor Record Unit epicsEnvSet("ECMC_PREC", "3") # Motor Record Precision epicsEnvSet("ECMC_AXISCONFIG", "") # Extra parameters to driver epicsEnvSet("ECMC_EC_AXIS_HEALTH", "") # Entry for axis health output (example: ec0.s1.binaryOutput01.0) epicsEnvSet("ECMC_MOD_RANGE" , "0") # Modulo range (traj setpoints and encoder values will be in range 0..ECMC_MOD_RANGE) epicsEnvSet("ECMC_MOD_TYPE", "0") # For positioning and MOD_RANGE>0: 0 = Normal, 1 = Always Fwd, 2 = Always Bwd, 3 = Closest Distance #Encoder epicsEnvSet("ECMC_ENC_SCALE_NUM" "60") epicsEnvSet("ECMC_ENC_SCALE_DENOM" "2000") epicsEnvSet("ECMC_ENC_TYPE" "0") # Type: 0=Incremental, 1=Absolute epicsEnvSet("ECMC_ENC_BITS" "16") # Total bit count of encoder raw data epicsEnvSet("ECMC_ENC_ABS_BITS", "0") # Absolute bit count (for absolute encoders) always least significant part of ECMC_ENC_BITS epicsEnvSet("ECMC_ENC_ABS_OFFSET" "0") # Encoder offset in eng units (for absolute encoders) epicsEnvSet("ECMC_EC_ENC_ACTPOS", "ec0.s4.positionActual01") # Ethercat entry for actual position input (encoder) epicsEnvSet("ECMC_EC_ENC_RESET", "") # Reset (if no encoder reset bit then leave empty) epicsEnvSet("ECMC_EC_ENC_ALARM_0", "") # Error 0 (if no encoder error bit then leave empty) epicsEnvSet("ECMC_EC_ENC_ALARM_1", "") # Error 1 (if no encoder error bit then leave empty) epicsEnvSet("ECMC_EC_ENC_ALARM_2", "") # Error 2 (if no encoder error bit then leave empty) epicsEnvSet("ECMC_EC_ENC_WARNING", "") # Warning (if no encoder warning bit then leave empty) #Drive epicsEnvSet("ECMC_DRV_TYPE" "0") # Stepper: 0. DS402: 1 (DS402 = servos and advanced stepper drives) epicsEnvSet("ECMC_DRV_SCALE_NUM" "-600.0") # Fastest speed in engineering units epicsEnvSet("ECMC_DRV_SCALE_DENOM" "32768.0") # I/O range for ECMC_EC_ALIAS_DRV_VELO_SET epicsEnvSet("ECMC_EC_DRV_CONTROL", "ec0.s9.driveControl01.0") # Ethercat entry for control word or bit output epicsEnvSet("ECMC_EC_DRV_STATUS", "ec0.s9.driveStatus01.1") # Ethercat entry for status word or bit input epicsEnvSet("ECMC_EC_DRV_VELOCITY", "ec0.s9.velocitySetpoint01") # Ethercat entry for velocity setpoint output epicsEnvSet("ECMC_EC_DRV_REDUCE_TORQUE", "ec0.s9.driveControl01.2") # Ethercat entry for reduce torque output epicsEnvSet("ECMC_EC_DRV_BRAKE", "") # Ethercat entry for brake output epicsEnvSet("ECMC_DRV_BRAKE_OPEN_DLY_TIME", "0") # Brake timing parameter in cycles (default 1kHz) epicsEnvSet("ECMC_DRV_BRAKE_CLOSE_AHEAD_TIME", "0") # Brake timing parameter in cycles (default 1kHz) epicsEnvSet("ECMC_EC_DRV_RESET", "ec0.s9.driveControl01.1") # Reset epicsEnvSet("ECMC_EC_DRV_ALARM_0", "ec0.s9.driveStatus01.3") # Error epicsEnvSet("ECMC_EC_DRV_ALARM_1", "ec0.s9.driveStatus01.7") # Stall epicsEnvSet("ECMC_EC_DRV_ALARM_2", "ec0.s9.driveStatus01.14") # Sync error epicsEnvSet("ECMC_EC_DRV_WARNING", "ec0.s9.driveStatus01.2") # Warning #Trajectory epicsEnvSet("ECMC_VELO", "10.0") epicsEnvSet("ECMC_JOG_VEL", "5") epicsEnvSet("ECMC_JAR", "0.0") # JAR defaults to VELO/ACCL epicsEnvSet("ECMC_ACCS_EGU_PER_S2", "10") epicsEnvSet("ECMC_EMERG_DECEL", "100") # Emergency deceleration #Homing epicsEnvSet("ECMC_HOME_PROC", "3") epicsEnvSet("ECMC_HOME_POS", "0.0") epicsEnvSet("ECMC_HOME_VEL_TO", "5") epicsEnvSet("ECMC_HOME_VEL_FRM", "4") epicsEnvSet("ECMC_HOME_ACC", "21") epicsEnvSet("ECMC_HOME_DEC", "100") epicsEnvSet("ECMC_HOME_POS_MOVE_ENA", "0") # Enable move to position after successfull homing epicsEnvSet("ECMC_HOME_POS_MOVE_TARG_POS","0") # Target position to go to after successfull homing #Controller epicsEnvSet("ECMC_CNTRL_KP", "15.0") epicsEnvSet("ECMC_CNTRL_KI", "0.02") epicsEnvSet("ECMC_CNTRL_KD", "0.0") epicsEnvSet("ECMC_CNTRL_KFF", "1.0") #Monitoring # Switches epicsEnvSet("ECMC_EC_MON_LOWLIM", "ec0.s1.binaryInput06.0") # Ethercat entry for low limit switch input epicsEnvSet("ECMC_EC_MON_HIGHLIM", "ec0.s1.binaryInput05.0") # Ethercat entry for high limit switch inpuit epicsEnvSet("ECMC_EC_MON_HOME_SWITCH", "ec0.s1.binaryInput07.0") # Ethercat entry for home switch input epicsEnvSet("ECMC_EC_MON_EXT_INTERLOCK", "ec0.s0.ONE.0") # Ethercat entry for external interlock input # Softlimits (disable with 0,0) epicsEnvSet("ECMC_SOFT_LOW_LIM", "-130") epicsEnvSet("ECMC_SOFT_HIGH_LIM", "20") epicsEnvSet("ECMC_DXLM_ENABLE", "1") # Position lag epicsEnvSet("ECMC_MON_LAG_MON_TOL", "1.0") epicsEnvSet("ECMC_MON_LAG_MON_TIME", "10") epicsEnvSet("ECMC_MON_LAG_MON_ENA", "1") # At target epicsEnvSet("ECMC_MON_AT_TARGET_TOL", "0.1") epicsEnvSet("ECMC_MON_AT_TARGET_TIME", "100") epicsEnvSet("ECMC_MON_AT_TARGET_ENA", "1") # Velocity epicsEnvSet("ECMC_MON_VELO_MAX", "100.0") epicsEnvSet("ECMC_MON_VELO_MAX_TRAJ_TIME","100") epicsEnvSet("ECMC_MON_VELO_MAX_DRV_TIME", "200") epicsEnvSet("ECMC_MON_VELO_MAX_ENA", "1") ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/addAxis.cmd",1) iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/addAxis.cmd #============================================================================== # addAxis.cmd ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD, "'FULL'='DAQ'","ecmcExit Error: ECMC started in DAQ mode. Motion not supported..","#-") epicsEnvUnset(ECMC_EXE_CMD) ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis-records.cmd",1) iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis-records.cmd #============================================================================== # ecmc_axis-records.cmd ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis.cmd",1) iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis.cmd #============================================================================== # ecmc_axis.cmd ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/verifyOrDie.cmd",1) iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/verifyOrDie.cmd "EXPR_STR='abs(60)<>0',SUCCESS_STR='ECMC_ENC_SCALE_NUM value OK == 60...',ERROR_STR='ECMC_ENC_SCALE_NUM == 0...'" #============================================================================== # verifyOrDie.cmd ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD,"abs(60)<>0","# ECMC_ENC_SCALE_NUM value OK == 60...", "ecmcExit Error: ECMC_ENC_SCALE_NUM == 0...") # ECMC_ENC_SCALE_NUM value OK == 60... epicsEnvUnset(ECMC_EXE_CMD) iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/verifyOrDie.cmd "EXPR_STR='abs(2000)<>0',SUCCESS_STR='ECMC_ENC_SCALE_DENOM value OK == 2000...',ERROR_STR='ECMC_ENC_SCALE_DENOM == 0...'" #============================================================================== # verifyOrDie.cmd ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD,"abs(2000)<>0","# ECMC_ENC_SCALE_DENOM value OK == 2000...", "ecmcExit Error: ECMC_ENC_SCALE_DENOM == 0...") # ECMC_ENC_SCALE_DENOM value OK == 2000... epicsEnvUnset(ECMC_EXE_CMD) iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/verifyOrDie.cmd "EXPR_STR='abs(-600.0)<>0',SUCCESS_STR='ECMC_DRV_SCALE_NUM value OK == -600.0...',ERROR_STR='ECMC_DRV_SCALE_NUM == 0...'" #============================================================================== # verifyOrDie.cmd ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD,"abs(-600.0)<>0","# ECMC_DRV_SCALE_NUM value OK == -600.0...", "ecmcExit Error: ECMC_DRV_SCALE_NUM == 0...") # ECMC_DRV_SCALE_NUM value OK == -600.0... epicsEnvUnset(ECMC_EXE_CMD) iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/verifyOrDie.cmd "EXPR_STR='abs(32768.0)<>0',SUCCESS_STR='ECMC_DRV_SCALE_DENOM value OK == 32768.0...',ERROR_STR='ECMC_DRV_SCALE_DENOM == 0...'" #============================================================================== # verifyOrDie.cmd ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD,"abs(32768.0)<>0","# ECMC_DRV_SCALE_DENOM value2022/01/28 10:04:21.127 OK 2022/01/28 10:04:21.127 OK 2022/01/28 10:04:21.128 OK 2022/01/28 10:04:21.128 OK 2022/01/28 10:04:21.130 OK 2022/01/28 10:04:21.130 OK 2022/01/28 10:04:21.130 OK 2022/01/28 10:04:21.130 OK 2022/01/28 10:04:21.130 OK 2022/01/28 10:04:21.130 OK 2022/01/28 10:04:21.130 OK 2022/01/28 10:04:21.130 OK 2022/01/28 10:04:21.130 OK 2022/01/28 10:04:21.131 OK 2022/01/28 10:04:21.131 OK 2022/01/28 10:04:21.131 OK 2022/01/28 10:04:21.131 OK 2022/01/28 10:04:21.131 OK 2022/01/28 10:04:21.131 OK 2022/01/28 10:04:21.131 OK 2022/01/28 10:04:21.131 OK 2022/01/28 10:04:21.131 OK 2022/01/28 10:04:21.131 OK 2022/01/28 10:04:21.131 OK 2022/01/28 10:04:21.132 OK 2022/01/28 10:04:21.132 OK 2022/01/28 10:04:21.132 OK 2022/01/28 10:04:21.132 OK 2022/01/28 10:04:21.132 OK 2022/01/28 10:04:21.132 OK 2022/01/28 10:04:21.132 OK 2022/01/28 10:04:21.132 OK 2022/01/28 10:04:21.132 OK 2022/01/28 10:04:21.132 OK 2022/01/28 10:04:21.132 OK 2022/01/28 10:04:21.132 OK 2022/01/28 10:04:21.132 OK 2022/01/28 10:04:21.132 OK 2022/01/28 10:04:21.133 OK 2022/01/28 10:04:21.133 OK 2022/01/28 10:04:21.133 OK 2022/01/28 10:04:21.133 OK 2022/01/28 10:04:21.133 OK 2022/01/28 10:04:21.133 OK 2022/01/28 10:04:21.133 OK 2022/01/28 10:04:21.133 OK 2022/01/28 10:04:21.133 OK OK == 32768.0...", "ecmcExit Error: ECMC_DRV_SCALE_DENOM == 0...") # ECMC_DRV_SCALE_DENOM value OK == 32768.0... epicsEnvUnset(ECMC_EXE_CMD) ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/issueWarning.cmd",1) iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/issueWarning.cmd "EXPR_STR='-1>0',WARNING_STR='WARNING: ECMC_MRES setting is deprecated and will not be used. (MRES will be calulated instead: ECMC_ENC_SCALE_NUM/ECMC_ENC_SCALE_DENOM).. '" #============================================================================== # issueWarning.cmd ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD,"-1>0","", "#-") epicsEnvUnset(ECMC_EXE_CMD) ecmcConfigOrDie "Cfg.CreateAxis(2,1,0,0)" ecmcConfigOrDie "Cfg.LinkEcEntryToObject(,"ax2.health")" ecmcConfigOrDie "Cfg.SetAxisModRange(2, 0)" ecmcConfigOrDie "Cfg.SetAxisModType(2, 0)" ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/issueWarning.cmd",1) iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/issueWarning.cmd "EXPR_STR='-1>0',WARNING_STR='WARNING: ECMC_ACCL setting is deprecated. Please use ECMC_ACCS_EGU_PER_S2 instead..'" #============================================================================== # issueWarning.cmd ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD,"-1>0","", "#-") epicsEnvUnset(ECMC_EXE_CMD) ecmcEpicsEnvSetCalcTernary(ECMC_BLOCK_ACCL,"'EMPTY'!='EMPTY'","", "#-") ecmcEpicsEnvSetCalcTernary(ECMC_BLOCK_ACCS,"'EMPTY'=='EMPTY'","", "#-") ecmcConfigOrDie "Cfg.SetAxisAcc(2,10)" ecmcConfigOrDie "Cfg.SetAxisDec(2,10)" ecmcConfigOrDie "Cfg.SetAxisJerk(2,0)" ecmcConfigOrDie "Cfg.SetAxisVel(2,10.0)" ecmcConfigOrDie "Cfg.SetAxisEmergDeceleration(2,100)" ecmcConfigOrDie "Cfg.SetAxisHomeVelTwordsCam(2,5)" ecmcConfigOrDie "Cfg.SetAxisHomeVelOffCam(2,4)" ecmcConfigOrDie "Cfg.SetAxisCntrlKp(2,15.0)" ecmcConfigOrDie "Cfg.SetAxisCntrlKi(2,0.02)" ecmcConfigOrDie "Cfg.SetAxisCntrlKd(2,0.0)" ecmcConfigOrDie "Cfg.SetAxisCntrlKff(2,1.0)" ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s4.positionActual01,"ax2.enc.actpos")" ecmcConfigOrDie "Cfg.SetAxisEncScaleDenom(2,2000)" ecmcConfigOrDie "Cfg.SetAxisEncScaleNum(2,60)" ecmcConfigOrDie "Cfg.SetAxisEncType(2,0)" ecmcConfigOrDie "Cfg.SetAxisEncBits(2,16)" ecmcConfigOrDie "Cfg.SetAxisEncAbsBits(2,0)" ecmcConfigOrDie "Cfg.SetAxisEncOffset(2,0)" ecmcConfigOrDie "Cfg.SetAxisEncVelFilterSize(2,100)" ecmcConfigOrDie "Cfg.SetAxisEncPosFilterSize(2,1)" ecmcConfigOrDie "Cfg.SetAxisEncPosFilterEnable(2,0)" ecmcConfigOrDie "Cfg.LinkEcEntryToObject(,"ax2.enc.reset")" ecmcConfigOrDie "Cfg.LinkEcEntryToObject(,"ax2.enc.alarm0")" ecmcConfigOrDie "Cfg.LinkEcEntryToObject(,"ax2.enc.alarm1")" ecmcConfigOrDie "Cfg.LinkEcEntryToObject(,"ax2.enc.alarm2")" ecmcConfigOrDie "Cfg.LinkEcEntryToObject(,"ax2.enc.warning")" ecmcConfigOrDie "Cfg.LinkEcEntryToObject(,"ax2.enc.latchpos")" ecmcConfigOrDie "Cfg.LinkEcEntryToObject(,"ax2.enc.latchcontrol")" ecmcConfigOrDie "Cfg.LinkEcEntryToObject(,"ax2.enc.latchstatus")" ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s9.driveControl01.0,"ax2.drv.control")" ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s9.driveStatus01.1,"ax2.drv.status")" ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s9.velocitySetpoint01,"ax2.drv.velocity")" ecmcConfigOrDie "Cfg.LinkEcEntryToObject(,"ax2.drv.position")" ecmcConfigOrDie "Cfg.LinkEcEntryToObject(,"ax2.drv.brake")" ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s9.driveControl01.2,"ax2.drv.reducetorque")" ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s9.driveControl01.1,"ax2.drv.reset")" ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s9.driveStatus01.3,"ax2.drv.alarm0")" ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s9.driveStatus01.7,"ax2.drv.alarm1")" ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s9.driveStatus01.14,"ax2.drv.alarm2")" ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s9.driveStatus01.2,"ax2.drv.warning")" ecmcConfigOrDie "Cfg.SetAxisDrvScaleDenom(2,32768.0)" ecmcConfigOrDie "Cfg.SetAxisDrvScaleNum(2,-600.0)" ecmcConfigOrDie "Cfg.SetAxisDrvBrakeOpenDelayTime(2,0)" ecmcConfigOrDie "Cfg.SetAxisDrvBr2022/01/28 10:04:21.133 OK 2022/01/28 10:04:21.133 OK 2022/01/28 10:04:21.133 OK 2022/01/28 10:04:21.134 OK 2022/01/28 10:04:21.134 OK 2022/01/28 10:04:21.134 OK 2022/01/28 10:04:21.134 OK 2022/01/28 10:04:21.134 OK 2022/01/28 10:04:21.134 OK 2022/01/28 10:04:21.134 OK 2022/01/28 10:04:21.134 OK 2022/01/28 10:04:21.134 OK 2022/01/28 10:04:21.134 OK 2022/01/28 10:04:21.134 OK 2022/01/28 10:04:21.134 OK 2022/01/28 10:04:21.135 OK 2022/01/28 10:04:21.135 OK 2022/01/28 10:04:21.135 OK 2022/01/28 10:04:21.135 OK 2022/01/28 10:04:21.135 OK 2022/01/28 10:04:21.135 OK 2022/01/28 10:04:21.135 OK 2022/01/28 10:04:21.135 OK 2022/01/28 10:04:21.135 OK 2022/01/28 10:04:21.136 ecmcMotorRecord:: setIntegerParam(2 motorPowerAutoOnOff_)=2 2022/01/28 10:04:21.136 ecmcMotorRecord:: setDoubleParam(2 motorPowerOnDelay_)=6 2022/01/28 10:04:21.136 ecmcMotorRecord:: setDoubleParam(2 motorPowerOffDelay_=-1 2022/01/28 10:04:21.136 ecmcMotorRecord:: udateMotorLimitsRO(2) enabledHighAndLow=1 valid=1 fValueHigh=20 fValueLow=-130 2022/01/28 10:04:21.136 ecmcMotorRecord:: connected(2) 2022/01/28 10:04:21.136 ecmcMotorRecord:: initialPoll(2) status=0 akeCloseAheadTime(2,0)" ecmcConfigOrDie "Cfg.SetAxisSoftLimitPosBwd(2,-130)" ecmcConfigOrDie "Cfg.SetAxisEnableSoftLimitBwd(2,1)" ecmcConfigOrDie "Cfg.SetAxisSoftLimitPosFwd(2,20)" ecmcConfigOrDie "Cfg.SetAxisEnableSoftLimitFwd(2,1)" ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s1.binaryInput06.0,"ax2.mon.lowlim")" ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s1.binaryInput05.0,"ax2.mon.highlim")" ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s1.binaryInput07.0,"ax2.mon.homesensor")" ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s0.ONE.0,"ax2.mon.extinterlock")" ecmcConfigOrDie "Cfg.SetAxisMonAtTargetTol(2,0.1)" ecmcConfigOrDie "Cfg.SetAxisMonAtTargetTime(2,100)" ecmcConfigOrDie "Cfg.SetAxisMonEnableAtTargetMon(2,1)" ecmcConfigOrDie "Cfg.SetAxisMonPosLagTol(2,1.0)" ecmcConfigOrDie "Cfg.SetAxisMonPosLagTime(2,10)" ecmcConfigOrDie "Cfg.SetAxisMonEnableLagMon(2,1)" ecmcConfigOrDie "Cfg.SetAxisMonMaxVel(2,100.0)" ecmcConfigOrDie "Cfg.SetAxisMonEnableMaxVel(2,1)" ecmcConfigOrDie "Cfg.SetAxisMonMaxVelDriveILDelay(2,200)" ecmcConfigOrDie "Cfg.SetAxisMonMaxVelTrajILDelay(2,100)" ecmcConfigOrDie "Cfg.SetAxisMonHomeSwitchPolarity(2,0)" ecmcConfigOrDie "Cfg.SetAxisHomeLatchCountOffset(2,0.0)" ecmcConfigOrDie "Cfg.SetAxisHomePosition(2,0.0)" ecmcConfigOrDie "Cfg.SetAxisHomePostMoveEnable(2, 0)" ecmcConfigOrDie "Cfg.SetAxisHomePostMoveTargetPosition(2, 0)" ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis_mr.cmd",1) iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis_mr.cmd #============================================================================== # ecmc_axis_mr.cmd ecmcMotorRecordCreateAxis(MCU1, "2", "6", ) ecmcEpicsEnvSetCalc("ECMC_TEMP_SREV","if(abs(2000)>0){RESULT:=abs(2000);} else {RESULT:=1.0};","%d") ecmcEpicsEnvSetCalc("ECMC_TEMP_UREV","if(abs(60)>0){RESULT:=abs(60);} else {RESULT:=1.0};","%lf") ecmcFileExist(ecmcMotorRecord.template,1,1) dbLoadRecords(ecmcMotorRecord.template, "PREFIX=IOC_TEST:, MOTOR_NAME=Axis2, MOTOR_PORT=MCU1, AXIS_NO=2, DESC=MCU1021 Upper Axis (2), EGU=mm, PREC=3, VELO=10.0, JVEL=5, JAR=0.0, ACCS=10, RDBD=0.1, DLLM=-130, DHLM=20, HOMEPROC=3,SREV=2000,UREV=60.000000, ") epicsEnvSet("ECMC_AXISFIELDINIT", "") ecmcFileExist(ecmcMotorRecordhome.template,1,1) dbLoadRecords(ecmcMotorRecordhome.template, "PREFIX=IOC_TEST:, MOTOR_NAME=Axis2, MOTOR_PORT=MCU1, AXIS_NO=2,HOMEPROC=3, HOMEPOS=0.0, HVELTO=5, HVELFRM=4, HOMEACC=21, HOMEDEC=100") epicsEnvUnset(ECMC_TEMP_SREV) epicsEnvUnset(ECMC_TEMP_UREV) epicsEnvUnset(ECMC_BLOCK_ACCL) epicsEnvUnset(ECMC_BLOCK_ACCS) ecmcFileExist("ecmcAxis.db",1,1) dbLoadRecords("ecmcAxis.db","P=IOC_TEST:,AXIS_NAME=Axis2,AXIS_NO=2,PORT=MC_CPU1,ADDR=0,TIMEOUT=1,T_SMP_MS=10,TSE=-2") ecmcFileExist("ecmcAxisType.db",1,1) dbLoadRecords("ecmcAxisType.db","P=IOC_TEST:,AXIS_NAME=Axis2,AXIS_TYPE=1") ecmcFileExist(/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis_unset.cmd,1) iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis_unset.cmd #============================================================================== # ecmc_axis_unset.cmd epicsEnvUnset(ECMC_AXISCONFIG) epicsEnvUnset(ECMC_AXISFIELDINIT) epicsEnvUnset(ECMC_PREC) epicsEnvUnset(ECMC_EGU) epicsEnvUnset(ECMC_DESC) epicsEnvUnset(ECMC_R) epicsEnvUnset(ECMC_MOTOR_NAME) epicsEnvUnset(ECMC_EC_AXIS_HEALTH) epicsEnvUnset(ECMC_MOD_RANGE) epicsEnvUnset(ECMC_MOD_TYPE) epicsEnvUnset(ECMC_EMERG_DECEL) epicsEnvUnset(ECMC_VELO) epicsEnvUnset(ECMC_ACCL) epicsEnvUnset(ECMC_ACCS_EGU_PER_S2) epicsEnvUnset(ECMC_HOME_VEL_TO) epicsEnvUnset(ECMC_HOME_VEL_FRM) epicsEnvUnset(ECMC_CNTRL_KP) epicsEnvUnset(ECMC_CNTRL_KI) epicsEnvUnset(ECMC_CNTRL_KD) epicsEnvUnset(ECMC_CNTRL_KFF) epicsEnvUnset(ECMC_EC_ENC_ACTPOS) epicsEnvUnset(ECMC_EC_ENC_LATCHPOS) epicsEnvUnset(ECMC_EC_ENC_LATCH_CONTROL) epicsEnvUnset(ECMC_EC_ENC_LATCH_STATUS) epicsEnvUnset(ECMC_HOME_LATCH_COUNT_OFFSET) epicsEnvUnset(ECMC_ENC_SCALE_DENOM) epicsEnvUnset(ECMC_ENC_SCALE_NUM) epicsEnvUnset(ECMC_ENC_TYPE) epicsEnvUnset(ECMC_ENC_BITS) epicsEnvUnset(ECMC_ENC_ABS_BITS) epicmacLib: macro ECMC_EXE_CMD is undefined (expanding string ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD, "'${ECMC_MODE=FULL}'='DAQ'","ecmcExit Error: ECMC started in DAQ mode. Motion not supported..","#-")${ECMC_EXE_CMD}) macLib: macro ECMC_EXE_CMD is undefined (expanding string ${ECMC_EXE_CMD}) 2022/01/28 10:04:21.148 OK 2022/01/28 10:04:21.148 OK sEnvUnset(ECMC_ENC_ABS_OFFSET) epicsEnvUnset(ECMC_ENC_VEL_FILTER_SIZE) epicsEnvUnset(ECMC_ENC_POS_FILTER_SIZE) epicsEnvUnset(ECMC_ENC_POS_FILTER_ENABLE) epicsEnvUnset(ECMC_EC_ENC_RESET) epicsEnvUnset(ECMC_EC_ENC_ALARM_0) epicsEnvUnset(ECMC_EC_ENC_ALARM_1) epicsEnvUnset(ECMC_EC_ENC_ALARM_2) epicsEnvUnset(ECMC_EC_ENC_WARNING) epicsEnvUnset(ECMC_EC_DRV_CONTROL) epicsEnvUnset(ECMC_EC_DRV_STATUS) epicsEnvUnset(ECMC_EC_DRV_VELOCITY) epicsEnvUnset(ECMC_EC_DRV_BRAKE) epicsEnvUnset(ECMC_EC_DRV_REDUCE_TORQUE) epicsEnvUnset(ECMC_EC_DRV_RESET) epicsEnvUnset(ECMC_EC_DRV_ALARM_0) epicsEnvUnset(ECMC_EC_DRV_ALARM_1) epicsEnvUnset(ECMC_EC_DRV_ALARM_2) epicsEnvUnset(ECMC_EC_DRV_WARNING) epicsEnvUnset(ECMC_DRV_SCALE_DENOM) epicsEnvUnset(ECMC_DRV_SCALE_NUM) epicsEnvUnset(ECMC_DRV_BRAKE_OPEN_DLY_TIME) epicsEnvUnset(ECMC_DRV_BRAKE_CLOSE_AHEAD_TIME) epicsEnvUnset(ECMC_SOFT_LOW_LIM) epicsEnvUnset(ECMC_DXLM_ENABLE) epicsEnvUnset(ECMC_SOFT_HIGH_LIM) epicsEnvUnset(ECMC_DXLM_ENABLE) epicsEnvUnset(ECMC_EC_MON_LOWLIM) epicsEnvUnset(ECMC_EC_MON_HIGHLIM) epicsEnvUnset(ECMC_EC_MON_HOME_SWITCH) epicsEnvUnset(ECMC_EC_MON_EXT_INTERLOCK) epicsEnvUnset(ECMC_MON_AT_TARGET_TOL) epicsEnvUnset(ECMC_MON_AT_TARGET_TIME) epicsEnvUnset(ECMC_MON_AT_TARGET_ENA) epicsEnvUnset(ECMC_MON_LAG_MON_TOL) epicsEnvUnset(ECMC_MON_LAG_MON_TIME) epicsEnvUnset(ECMC_MON_LAG_MON_ENA) epicsEnvUnset(ECMC_MON_VELO_MAX) epicsEnvUnset(ECMC_MON_VELO_MAX_ENA) epicsEnvUnset(ECMC_MON_VELO_MAX_DRV_TIME) epicsEnvUnset(ECMC_MON_VELO_MAX_TRAJ_TIME) epicsEnvUnset(ECMC_JOG_VEL) epicsEnvUnset(ECMC_JAR) epicsEnvUnset(ECMC_HOME_PROC) epicsEnvUnset(ECMC_HOME_POS) epicsEnvUnset(ECMC_HOME_ACC) epicsEnvUnset(ECMC_HOME_DEC) epicsEnvUnset(ECMC_DRV_TYPE) epicsEnvUnset(ECMC_VELO) epicsEnvUnset(ECMC_SOFT_LOW_LIM) epicsEnvUnset(ECMC_SOFT_HIGH_LIM) epicsEnvUnset(ECMC_HOME_POS_MOVE_ENA) epicsEnvUnset(ECMC_HOME_POS_MOVE_TARG_POS) epicsEnvUnset(ECMC_TRAJ_TYPE) epicsEnvUnset(ECMC_JERK) epicsEnvSet("ECMC_PREFIX" "IOC_TEST:") # Set external setpoints iocshLoad (/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/applyAxisSynchronization.cmd, CONFIG=./cfg/linear_2.sax) #============================================================================== # applyAxisSynchronization.cmd epicsEnvUnset(ECMC_EXE_CMD) iocshLoad ./cfg/linear_2.sax ############# Encoder epicsEnvSet("ECMC_ENC_SOURCE", "0") # 0 Internal (from hardware), 1 from PLC epicsEnvSet("ECMC_ENC_VELO_FILT_ENABLE", "1") # Enable velocity filter epicsEnvSet("ECMC_ENC_VELO_FILT_SIZE", "20") # Encoder velocity Low pass filter size ############# Trajectory epicsEnvSet("ECMC_TRAJ_SOURCE", "1") # 0 Internal (from hardware), 1 from PLC epicsEnvSet("ECMC_TRAJ_VELO_FILT_ENABLE", "1") # Enable velocity filter epicsEnvSet("ECMC_TRAJ_VELO_FILT_SIZE", "20") # Trajectory velocity Low pass filter size ############# Commands epicsEnvSet("ECMC_CMD_FRM_OTHER_PLC_ENABLE", "1") # Allow commands from PLC epicsEnvSet("ECMC_CMD_AXIS_PLC_ENABLE", "0") # Enable Axis PLC # Each line below is appended to one single expression/source. # Executed in sync with axis (before) epicsEnvSet("ECMC_AXIS_EXPR_LINE_1", "var a:=1|") epicsEnvSet("ECMC_AXIS_EXPR_LINE_2", "") epicsEnvSet("ECMC_AXIS_EXPR_LINE_3", "") epicsEnvSet("ECMC_AXIS_EXPR_LINE_4", "") epicsEnvSet("ECMC_AXIS_EXPR_LINE_5", "") epicsEnvSet("ECMC_AXIS_EXPR_LINE_6", "") epicsEnvSet("ECMC_AXIS_EXPR_LINE_7", "") epicsEnvSet("ECMC_AXIS_EXPR_LINE_8", "") epicsEnvSet("ECMC_AXIS_EXPR_LINE_9", "") epicsEnvSet("ECMC_AXIS_EXPR_LINE_10", "") ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis_sync.cmd",1) iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis_sync.cmd #============================================================================== # ecmc_axis_sync.cmd ecmcConfigOrDie "Cfg.SetAxisAllowCommandsFromPLC(2,1)" ecmcConfigOrDie "Cfg.SetAxisPLCEnable(2,0)" e2022/01/28 10:04:21.148 OK 2022/01/28 10:04:21.148 OK 2022/01/28 10:04:21.148 OK 2022/01/28 10:04:21.148 OK 2022/01/28 10:04:21.148 OK 2022/01/28 10:04:21.148 OK 2022/01/28 10:04:21.148 OK 2022/01/28 10:04:21.149 OK 2022/01/28 10:04:21.149 OK 2022/01/28 10:04:21.149 OK 2022/01/28 10:04:21.149 OK 2022/01/28 10:04:21.149 OK 2022/01/28 10:04:21.149 OK 2022/01/28 10:04:21.149 OK 2022/01/28 10:04:21.149 OK 2022/01/28 10:04:21.149 OK epicsMutex pthread_mutex_unlock epicsMutexOsdUnlock failed: error Operation not permitted epicsMutex pthread_mutex_unlock epicsMutexOsdUnlock failed: error Operation not permitted cmcConfigOrDie "Cfg.AppendAxisPLCExpr(2)=var a:=1|" ecmcConfigOrDie "Cfg.AppendAxisPLCExpr(2)=" ecmcConfigOrDie "Cfg.AppendAxisPLCExpr(2)=" ecmcConfigOrDie "Cfg.AppendAxisPLCExpr(2)=" ecmcConfigOrDie "Cfg.AppendAxisPLCExpr(2)=" ecmcConfigOrDie "Cfg.AppendAxisPLCExpr(2)=" ecmcConfigOrDie "Cfg.AppendAxisPLCExpr(2)=" ecmcConfigOrDie "Cfg.AppendAxisPLCExpr(2)=" ecmcConfigOrDie "Cfg.AppendAxisPLCExpr(2)=" ecmcConfigOrDie "Cfg.AppendAxisPLCExpr(2)=" ecmcConfigOrDie "Cfg.SetAxisPLCEncVelFilterSize(2,20)" ecmcConfigOrDie "Cfg.SetAxisPLCEncVelFilterEnable(2,1)" ecmcConfigOrDie "Cfg.SetAxisEncSourceType(2,0)" ecmcConfigOrDie "Cfg.SetAxisPLCTrajVelFilterSize(2,20)" ecmcConfigOrDie "Cfg.SetAxisPLCTrajVelFilterEnable(2,1)" ecmcConfigOrDie "Cfg.SetAxisTrajSourceType(2,1)" ecmcFileExist(/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis_sync_unset.cmd,1) iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis_sync_unset.cmd #============================================================================== # ecmc_axis_sync_unset.cmd epicsEnvUnset(ECMC_CMD_FRM_OTHER_PLC_ENABLE) epicsEnvUnset(ECMC_CMD_AXIS_PLC_ENABLE) epicsEnvUnset(ECMC_AXIS_EXPR_LINE_1) epicsEnvUnset(ECMC_AXIS_EXPR_LINE_2) epicsEnvUnset(ECMC_AXIS_EXPR_LINE_3) epicsEnvUnset(ECMC_AXIS_EXPR_LINE_4) epicsEnvUnset(ECMC_AXIS_EXPR_LINE_5) epicsEnvUnset(ECMC_AXIS_EXPR_LINE_6) epicsEnvUnset(ECMC_AXIS_EXPR_LINE_7) epicsEnvUnset(ECMC_AXIS_EXPR_LINE_8) epicsEnvUnset(ECMC_AXIS_EXPR_LINE_9) epicsEnvUnset(ECMC_AXIS_EXPR_LINE_10) epicsEnvUnset(ECMC_ENC_VELO_FILT_SIZE) epicsEnvUnset(ECMC_ENC_VELO_FILT_ENABLE) epicsEnvUnset(ECMC_ENC_SOURCE) epicsEnvUnset(ECMC_TRAJ_VELO_FILT_SIZE) epicsEnvUnset(ECMC_TRAJ_VELO_FILT_ENABLE) epicsEnvUnset(ECMC_TRAJ_SOURCE) ############################################################################## ## Load plugin: epicsEnvSet("PLUGIN_VER" ,"develop") require ecmc_plugin_grbl develop Module ecmc_plugin_grbl version develop found in /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmc_plugin_grbl/develop/ Module ecmc_plugin_grbl depends on asyn 4.41.0 Module asyn version 4.41.0 already loaded Module ecmc_plugin_grbl depends on ecmc ruckig Module ecmc version ruckig already loaded Loading library /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmc_plugin_grbl/develop/lib/linux-arm/libecmc_plugin_grbl.so Loaded ecmc_plugin_grbl version develop Loading dbd file /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmc_plugin_grbl/develop/dbd/ecmc_plugin_grbl.dbd Calling function ecmc_plugin_grbl_registerRecordDeviceDriver Loading module info records for ecmc_plugin_grbl epicsEnvSet(ECMC_PLUGIN_FILNAME,"/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmc_plugin_grbl/develop/lib/linux-arm/libecmc_plugin_grbl.so") epicsEnvSet(ECMC_PLUGIN_CONFIG,"DBG_PRINT=1;X_AXIS=1;Y_AXIS=2;AUTO_ENABLE=1;AUTO_START=1;") # Only one option implemented in this plugin iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/loadPlugin.cmd, "PLUGIN_ID=0,FILE=/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmc_plugin_grbl/develop/lib/linux-arm/libecmc_plugin_grbl.so,CONFIG='DBG_PRINT=1;X_AXIS=1;Y_AXIS=2;AUTO_ENABLE=1;AUTO_START=1;', REPORT=1" #============================================================================== # loadPlugin.cmd ecmcConfigOrDie "Cfg.LoadPlugin(0,/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmc_plugin_grbl/develop/lib/linux-arm/libecmc_plugin_grbl.so,DBG_PRINT=1;X_AXIS=1;Y_AXIS=2;AUTO_ENABLE=1;AUTO_START=1;)" ../ecmc_plugin_grbl/ecmcGrbl.cpp:doMainWorker:389 ../grbl/grbl_serial.c:serial_init:108: ../grbl/grbl_eeprom.c:ecmc_init_file:53 GRBL: INFO: Waiting for grbl init..../ecmc_plugin_grbl/ecmcGrbl.cpp:doWriteWorker:274 ../grbl/grbl_settings.c:settings_restore:132 settings_restore complete!!!.. ../grbl/grbl_eeprom.c:memcpy_from_eeprom_with_checksum:215 EEPROM simulated by file.. ../grbl/grbl_stepper.c:stepper_init:605: ../grbl/grbl_system.c:system_init:26: ../grbl/grbl_gcode.c:gc_init:44: ../grbl/grbl_eeprom.c:memcpy_from_eeprom_with_checksum:215 EEPROM simulated by file.. ../grbl/grbl_spin2022/01/28 10:04:21.355 OK 2022/01/28 10:04:21.356 OK dle_control.c:spindle_init:31 Not supported yet.. ../grbl/grbl_coolant_control.c:coolant_init:25 Not supported yet.. ../grbl/grbl_limits.c:limits_init:44 Not supported yet.. ../grbl/grbl_probe.c:probe_init:31 Not supported yet.. ../grbl/grbl_stepper.c:st_reset:572: ../grbl/grbl_stepper.c:st_go_idle:259: ../grbl/grbl_stepper.c:st_generate_step_dir_invert_masks:550: ../grbl/grbl_protocol.c:protocol_main_loop:40: ../grbl/grbl_system.c:system_check_safety_door_ajar:93: ../grbl/grbl_system.c:system_execute_startup:107: ../grbl/grbl_eeprom.c:memcpy_from_eeprom_with_checksum:215 EEPROM simulated by file.. ../grbl/grbl_eeprom.c:memcpy_from_eeprom_with_checksum:215 EEPROM simulated by file.. GRBL: INFO: Ready for commands: Grbl 1.1h ['$' for help] .ecmcEpicsEnvSetCalcTernary("ECMC_PLUGIN_REPORT", "1>0","","#") ecmcConfigOrDie "Cfg.ReportPlugin(0)" Plugin info: Index = 0 Name = ecmcPluginGrbl Description = grbl plugin for use with ecmc. Option description = DBG_PRINT=<1/0> : Enables/disables printouts from plugin, default = disabled (=0). X_AXIS=: Ecmc Axis id for use as grbl X axis, default = disabled (=-1). Y_AXIS=: Ecmc Axis id for use as grbl Y axis, default = disabled (=-1). Z_AXIS=: Ecmc Axis id for use as grbl Z axis, default = disabled (=-1). SPINDLE_AXIS=: Ecmc Axis id for use as grbl spindle axis, default = disabled (=-1). AUTO_ENABLE=<1/0>: Auto enable the linked ecmc axes autmatically before start, default = disabled (=0). AUTO_START=<1/0>: Auto start g-code at ecmc start, default = disabled (=0). Filename = /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmc_plugin_grbl/develop/lib/linux-arm/libecmc_plugin_grbl.so Config string = DBG_PRINT=1;X_AXIS=1;Y_AXIS=2;AUTO_ENABLE=1;AUTO_START=1; Version = 2 Interface version = 65536 (ecmc = 65536) max plc funcs = 64 max plc func args = 10 max plc consts = 64 Construct func = @0xb4e5daa4 Enter realtime func = @0xb4e5da1c Exit realtime func = @0xb4e5d9e8 Realtime func = @0xb4e5da18 Destruct func = @0xb4e5d9f0 dlhandle = @0x1fd8b10 Plc functions: funcs[00]: Name = "grbl_set_execute(arg0);" Desc = double grbl_set_execute() : Trigg execution of loaded g-code at positive edge of Arg count = 1 func = @0xb4e5da20 funcs[01]: Name = "grbl_mc_halt(arg0);" Desc = double grbl_mc_halt() : Halt grbl motion at positive edge of Arg count = 1 func = @0xb4e5da3c funcs[02]: Name = "grbl_mc_resume(arg0);" Desc = double grbl_mc_resume() : Resume halted grbl motion at positive edge of Arg count = 1 func = @0xb4e5da58 funcs[03]: Name = "grbl_mc_reset(arg0);" Desc = double grbl_mc_reset() : Reset grbl at positive edge of Arg count = 1 func = @0xb4e5da74 funcs[04]: Name = "grbl_get_busy();" Desc = double grbl_get_busy() : Get grbl system busy Arg count = 0 func = @0xb4e5da90 Plc constants: epicsEnvUnset(ECMC_PLUGIN_REPORT); epicsEnvUnset(ECMC_PLUGIN_FILNAME) epicsEnvUnset(ECMC_PLUGIN_CONFIG) ecmcGrblAddCommand("G1X20Y20F360"); ../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:737: ../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:744:GRBL: INFO: Buffer size 1 ecmcGrblAddCommand("G4P2"); ../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:737: ../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:744:GRBL: INFO: Buffer size 2 ecmcGrblAddCommand("G2X0Y0R20"); ../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:737: ../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:744:GRBL: INFO: Buffer size 3 ecmcGrblAddCommand("G4P2"); ../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:737: ../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:744:GRBL: INFO: Buffer size 4 ecmcGrblAddCommand("G0X10Y10"); ../ecmc_plugin_grbl/ecmcGrbl.cpp:ad # # Test of GRBL plugin for g-code parsing # println('GRBL busy:', grbl_get_busy()); if(not(grbl_get_busy())) { println('Retrigger g-code!!'); grbl_set_execute(0); grbl_set_execute(1); }; 2022/01/28 10:04:21.386 OK 2022/01/28 10:04:21.386 OK 2022/01/28 10:04:21.398 OK 2022/01/28 10:04:21.398 OK 2022/01/28 10:04:21.398 OK 2022/01/28 10:04:21.398 OK 2022/01/28 10:04:21.398 OK 2022/01/28 10:04:21.398 OK 2022/01/28 10:04:21.403 INFO: Locking memory 2022/01/28 10:04:21.504 ../devEcmcSup/motion/ecmcMonitor.cpp/checkLimits:501: ERROR_MON_BOTH_LIMIT_INTERLOCK (0x14c10). 2022/01/28 10:04:21.504 ../devEcmcSup/motion/ecmcAxisReal.cpp/execute:185: ERROR_AXIS_HARDWARE_STATUS_NOT_OK (0x14315). 2022/01/28 10:04:21.504 ../devEcmcSup/motion/ecmcMonitor.cpp/checkLimits:501: ERROR_MON_BOTH_LIMIT_INTERLOCK (0x14c10). 2022/01/28 10:04:21.504 ../devEcmcSup/motion/ecmcAxisReal.cpp/execute:185: ERROR_AXIS_HARDWARE_STATUS_NOT_OK (0x14315). 2022/01/28 10:04:21.504 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:374: ERROR: Slave 0: Not operational (0x24011). 2022/01/28 10:04:21.504 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:379: ERROR_EC_SLAVE_NOT_OPERATIONAL (0x24011). 2022/01/28 10:04:21.504 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:374: ERROR: Slave 1: Not operational (0x24011). 2022/01/28 10:04:21.504 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:379: ERROR_EC_SLAVE_NOT_OPERATIONAL (0x24011). 2022/01/28 10:04:21.504 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:374: ERROR: Slave 2: Not operational (0x24011). 2022/01/28 10:04:21.504 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:379: ERROR_EC_SLAVE_NOT_OPERATIONAL (0x24011). 2022/01/28 10:04:21.504 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:374: ERROR: Slave 3: Not operational (0x24011). 2022/01/28 10:04:21.504 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:379: ERROR_EC_SLAVE_NOT_OPERATIONAL (0x24011). 2022/01/28 10:04:21.504 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:374: ERROR: Slave 4: Not operational (0x24011). 2022/01/28 10:04:21.504 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:379: ERROR_EC_SLAVE_NOT_OPERATIONAL (0x24011). 2022/01/28 10:04:21.504 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:374: ERROR: Slave 5: Not operational (0x24011). 2022/01/28 10:04:21.504 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:379: ERROR_EC_SLAVE_NOT_OPERATIONAL (0x24011). 2022/01/28 10:04:21.504 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:374: ERROR: Slave 6: Not operational (0x24011). 2022/01/28 10:04:21.504 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:379: ERROR_EC_SLAVE_NOT_OPERATIONAL (0x24011). 2022/01/28 10:04:21.504 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:374: ERROR: Slave 8: Not operational (0x24011). 2022/01/28 10:04:21.505 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:379: ERROR_EC_SLAVE_NOT_OPERATIONAL (0x24011). 2022/01/28 10:04:21.505 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:374: ERROR: Slave 9: Not operational (0x24011). 2022/01/28 10:04:21.505 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:379: ERROR_EC_SLAVE_NOT_OPERATIONAL (0x24011). 2022/01/28 10:04:21.593 Starting up EtherCAT bus: 0 second(s). Max wait time 30 second(s). 2022/01/28 10:04:21.599 ecmcMotorRecord:: poll(1) homed=1 2022/01/28 10:04:21.599 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=0 fPos=0 fActPosition=0 time=0.000071 2022/01/28 10:04:21.600 ecmcMotorRecord:: poll(1) bError=1 drvlocal.statusBinData.onChangeData.error=0x14315 2022/01/28 10:04:21.600 ecmcMotorRecord:: sErrorMessage(1)="ERROR_AXIS_HARDWARE_STATUS_NOT_OK" 2022/01/28 10:04:21.600 ecmcMotorRecord:: poll(1) callParamCallbacksUpdateError Error=1 old=-1 ErrID=0x14315 old=0x0 Warn=0 nCmd=0 old=0 txt=E: ERROR_AXIS_HARDWARE_STATUS_NOT_OK (0x14315) 2022/01/28 10:04:21.600 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=0 fPos=0 fActPosition=0 time=0.000014 2022/01/28 10:04:21.600 ecmcMotorRecord:: poll(2) bError=1 drvlocal.statusBinData.onChangeData.error=0x14315 2022/01/28 10:04:21.600 ecmcMotorRecord:: sErrorMessage(2)="ERROR_AXIS_HARDWARE_STATUS_NOT_OK" 2022/01/28 10:04:21.600 ecmcMotorRecord:: poll(2) callParamCallbacksUpdateError Error=1 old=-1 ErrID=0x14315 old=0x0 Warn=0 nCmd=0 old=0 txt=E: ERROR_AXIS_HARDWARE_STATUS_NOT_OK (0x14315) 2022/01/28 10:04:21.800 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=0 fPos=0 fActPosition=0 time=0.000009 2022/01/28 10:04:21.800 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=0 fPos=0 fActPosition=0 time=0.000005 2022/01/28 10:04:22.000 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=0 fPos=0 fActPosition=0 time=0.000012 2022/01/28 10:04:22.001 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=0 fPos=0 fActPosition=0 time=0.000021 2022/01/28 10:04:22.201 ecmcMotorRecord:: poll(1) LLS=0 2022/01/28 10:04:22.201 ecmcMotorRecord:: poll(1) HLS=0 2022/01/28 10:04:22.201 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=65534 fPos=0 fActPosition=0.03 time=0.000084 2022/01/28 10:04:22.201 ecmcMotorRecord:: poll(2) LLS=0 2022/01/28 10:04:22.201 ecmcMotorRecord:: poll(2) HLS=0 2022/01/28 10:04:22.201 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=228 fPos=0 fActPosition=6.84 time=0.000042 2022/01/28 10:04:22.401 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=65534 fPos=0 fActPosition=0.03 time=0.000012 2022/01/28 10:04:22.401 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=228 fPos=0 fActPosition=6.84 time=0.000006 2022/01/28 10:04:22.413 ../devEcmcSup/motion/ecmcDriveBase.cpp/readEntries:328: WARNING (axis 1): Drive hardware in warning state. 2022/01/28 10:04:22.593 Starting up EtherCAT bus: 1 second(s). Max wait time 30 second(s). 2022/01/28 10:04:22.601 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=65534 fPos=0 fActPosition=0.03 time=0.000012 2022/01/28 10:04:22.601 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=228 fPos=0 fActPosition=6.84 time=0.000007 2022/01/28 10:04:22.644 ../devEcmcSup/motion/ecmcDriveBase.cpp/readEntries:328: WARNING (axis 2): Drive hardware in warning state. 2022/01/28 10:04:22.801 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=65534 fPos=0 fActPosition=0.03 time=0.000011 2022/01/28 10:04:22.801 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=228 fPos=0 fActPosition=6.84 time=0.000006 2022/01/28 10:04:23.002 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=65534 fPos=0 fActPosition=0.03 time=0.000087 2022/01/28 10:04:23.002 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=228 fPos=0 fActPosition=6.84 time=0.000006 2022/01/28 10:04:23.008 ../devEcmcSup/main/ecmcError.cpp/errorReset:103: NO_ERROR (0x0). 2022/01/28 10:04:23.008 ../devEcmcSup/main/ecmcError.cpp/errorReset:103: NO_ERROR (0x0). 2022/01/28 10:04:23.008 ../devEcmcSup/main/ecmcError.cpp/errorReset:103: NO_ERROR (0x0). 2022/01/28 10:04:23.008 ../devEcmcSup/main/ecmcError.cpp/errorReset:103: NO_ERROR (0x0). 2022/01/28 10:04:23.008 ../devEcmcSup/main/ecmcError.cpp/errorReset:103: NO_ERROR (0x0). 2022/01/28 10:04:23.202 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=65534 fPos=0 fActPosition=0.03 time=0.000014 2022/01/28 10:04:23.202 ecmcMotorRecord:: poll(1) bError=0 drvlocal.statusBinData.onChangeData.error=0x0 2022/01/28 10:04:23.202 ecmcMotorRecord:: poll(1) callParamCallbacksUpdateError Error=0 old=1 ErrID=0x0 old=0x14315 Warn=0 nCmd=0 old=0 txt=NULL 2022/01/28 10:04:23.202 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=228 fPos=0 fActPosition=0 time=0.000010 2022/01/28 10:04:23.202 ecmcMotorRecord:: poll(2) bError=0 drvlocal.statusBinData.onChangeData.error=0x0 2022/01/28 10:04:23.202 ecmcMotorRecord:: poll(2) callParamCallbacksUpdateError Error=4 old=1 ErrID=0x0 old=0x14315 Warn=0 nCmd=0 old=0 txt=NULL 2022/01/28 10:04:23.402 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=65534 fPos=0 fActPosition=0.03 time=0.000015 2022/01/28 10:04:23.402 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=228 fPos=0 fActPosition=0 time=0.000008 2022/01/28 10:04:23.603 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=65534 fPos=0 fActPosition=0.03 time=0.000015 2022/01/28 10:04:23.603 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=228 fPos=0 fActPosition=0 time=0.000008 2022/01/28 10:04:23.803 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=65534 fPos=0 fActPosition=0.03 time=0.000014 2022/01/28 10:04:23.803 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=228 fPos=0 fActPosition=0 time=0.000007 2022/01/28 10:04:24.003 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=65534 fPos=0 fActPosition=0.03 time=0.000013 2022/01/28 10:04:24.003 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=228 fPos=0 fActPosition=0 time=0.000006 2022/01/28 10:04:24.203 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=65534 fPos=0 fActPosition=0.03 time=0.000013 2022/01/28 10:04:24.203 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=228 fPos=0 fActPosition=0 time=0.000011 2022/01/28 10:04:24.404 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=65534 fPos=0 fActPosition=0.03 time=0.000012 2022/01/28 10:04:24.404 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=228 fPos=0 fActPosition=0 time=0.000007 2022/01/28 10:04:24.593 EtherCAT bus started! 2022/01/28 10:04:24.593 OK 2022/01/28 10:04:24.594 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAtIocBuild (0). Allow callbacks: true. Starting iocInit 2022/01/28 10:04:24.594 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAtBeginning (1). Allow callbacks: true. 2022/01/28 10:04:24.604 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=65534 fPos=0 fActPosition=0.03 time=0.000015 2022/01/28 10:04:24.604 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=228 fPos=0 fActPosition=0 time=0.000010 2022/01/28 10:04:24.616 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAfterCallbackInit (2). Allow callbacks: true. 2022/01/28 10:04:24.626 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAfterCaLinkInit (3). Allow callbacks: true. 2022/01/28 10:04:24.626 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAfterInitDrvSup (4). Allow callbacks: true. 2022/01/28 10:04:24.627 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAfterInitRecSup (5). Allow callbacks: true. 2022/01/28 10:04:24.634 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAfterInitDevSup (6). Allow callbacks: true. 2022/01/28 10:04:24.642 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s3.positionActual01 linked to record (asyn reason 1). 2022/01/28 10:04:24.642 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s3.encoderLatchPostion01 linked to record (asyn reason 2). 2022/01/28 10:04:24.643 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s3.encoderControl01 linked to record (asyn reason 3). 2022/01/28 10:04:24.643 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s3.encoderValue01 linked to record (asyn reason 4). 2022/01/28 10:04:24.644 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s4.positionActual01 linked to record (asyn reason 5). 2022/01/28 10:04:24.644 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s4.encoderLatchPostion01 linked to record (asyn reason 6). 2022/01/28 10:04:24.645 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s4.encoderControl01 linked to record (asyn reason 7). 2022/01/28 10:04:24.646 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s4.encoderValue01 linked to record (asyn reason 8). 2022/01/28 10:04:24.646 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s6.timestampLatchPositive01 linked to record (asyn reason 9). 2022/01/28 10:04:24.646 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s6.timestampLatchNegative01 linked to record (asyn reason 10). 2022/01/28 10:04:24.647 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s6.timestampLatchPositive02 linked to record (asyn reason 11). 2022/01/28 10:04:24.648 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s6.timestampLatchNegative02 linked to record (asyn reason 12). 2022/01/28 10:04:24.648 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s8.driveControl01 linked to record (asyn reason 13). 2022/01/28 10:04:24.649 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s8.velocitySetpoint01 linked to record (asyn reason 14). 2022/01/28 10:04:24.650 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s8.positionActual01 linked to record (asyn reason 15). 2022/01/28 10:04:24.650 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s8.encoderLatchPostion01 linked to record (asyn reason 16). 2022/01/28 10:04:24.651 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s8.encoderControl01 linked to record (asyn reason 17). 2022/01/28 10:04:24.651 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s8.encoderValue01 linked to record (asyn reason 18). 2022/01/28 10:04:24.652 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s9.driveControl01 linked to record (asyn reason 19). 2022/01/28 10:04:24.652 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s9.velocitySetpoint01 linked to record (asyn reason 20). 2022/01/28 10:04:24.653 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s9.positionActual01 linked to record (asyn reason 21). 2022/01/28 10:04:24.653 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s9.encoderLatchPostion01 linked to record (asyn reason 22). 2022/01/28 10:04:24.654 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s9.encoderControl01 linked to record (asyn reason 23). 2022/01/28 10:04:24.654 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s9.encoderValue01 linked to record (asyn reason 24). 2022/01/28 10:04:24.656 ecmcAsynPortDriver:drvUserCreate: Parameter ax1.actpos linked to record (asyn reason 25). 2022/01/28 10:04:24.657 ecmcAsynPortDriver:drvUserCreate: Parameter ax1.setpos linked to record (asyn reason 26). 2022/01/28 10:04:24.657 ecmcAsynPortDriver:drvUserCreate: Parameter ax1.poserr linked to record (asyn reason 27). 2022/01/28 10:04:24.658 ecmcAsynPortDriver:drvUserCreate: Parameter plcs.ax1.plc.error linked to record (asyn reason 28). 2022/01/28 10:04:24.660 ecmcAsynPortDriver:drvUserCreate: Parameter ax2.actpos linked to record (asyn reason 29). 2022/01/28 10:04:24.660 ecmcAsynPortDriver:drvUserCreate: Parameter ax2.setpos linked to record (asyn reason 30). 2022/01/28 10:04:24.661 ecmcAsynPortDriver:drvUserCreate: Parameter ax2.poserr linked to record (asyn reason 31). 2022/01/28 10:04:24.662 ecmcAsynPortDriver:drvUserCreate: Parameter plcs.ax2.plc.error linked to record (asyn reason 32). 2022/01/28 10:04:24.663 ecmcAsynPortDriver:drvUserCreate: Parameter plcs.plc0.scantime linked to record (asyn reason 33). 2022/01/28 10:04:24.664 ecmcAsynPortDriver:drvUserCreate: Parameter plcs.plc0.error linked to record (asyn reason 34). 2022/01/28 10:04:24.666 ecmcAsynPortDriver:drvUserCreate: Parameter ecmc.appmode linked to record (asyn reason 35). 2022/01/28 10:04:24.667 ecmcAsynPortDriver:drvUserCreate: Parameter ecmc.error.id linked to record (asyn reason 36). 2022/01/28 10:04:24.668 ecmcAsynPortDriver:drvUserCreate: Parameter ecmc.thread.latency.min linked to record (asyn reason 37). 2022/01/28 10:04:24.670 ecmcAsynPortDriver:drvUserCreate: Parameter ecmc.thread.latency.max linked to record (asyn reason 38). 2022/01/28 10:04:24.672 ecmcAsynPortDriver:drvUserCreate: Parameter ecmc.thread.period.min linked to record (asyn reason 39). 2022/01/28 10:04:24.674 ecmcAsynPortDriver:drvUserCreate: Parameter ecmc.thread.period.max linked to record (asyn reason 40). 2022/01/28 10:04:24.676 ecmcAsynPortDriver:drvUserCreate: Parameter ecmc.thread.execute.min linked to record (asyn reason 41). 2022/01/28 10:04:24.678 ecmcAsynPortDriver:drvUserCreate: Parameter ecmc.thread.execute.max linked to record (asyn reason 42). 2022/01/28 10:04:24.679 ecmcAsynPortDriver:drvUserCreate: Parameter ecmc.thread.send.min linked to record (asyn reason 43). 2022/01/28 10:04:24.681 ecmcAsynPortDriver:drvUserCreate: Parameter ecmc.thread.send.max linked to record (asyn reason 44). 2022/01/28 10:04:24.683 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s1.binaryInput01 linked to record (asyn reason 45). 2022/01/28 10:04:24.684 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s1.binaryInput02 linked to record (asyn reason 46). 2022/01/28 10:04:24.686 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s1.binaryInput03 linked to record (asyn reason 47). 2022/01/28 10:04:24.688 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s1.binaryInput04 linked to record (asyn reason 48). 2022/01/28 10:04:24.690 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s1.binaryInput05 linked to record (asyn reason 49). 2022/01/28 10:04:24.692 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s1.binaryInput06 linked to record (asyn reason 50). 2022/01/28 10:04:24.694 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s1.binaryInput07 linked to record (asyn reason 51). 2022/01/28 10:04:24.695 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s1.binaryInput08 linked to record (asyn reason 52). 2022/01/28 10:04:24.697 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s2.binaryOutput01 linked to record (asyn reason 53). 2022/01/28 10:04:24.699 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s2.binaryOutput02 linked to record (asyn reason 54). 2022/01/28 10:04:24.703 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s2.binaryOutput03 linked to record (asyn reason 55). 2022/01/28 10:04:24.706 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s2.binaryOutput04 linked to record (asyn reason 56). 2022/01/28 10:04:24.708 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s2.binaryOutput05 linked to record (asyn reason 57). 2022/01/28 10:04:24.709 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s2.binaryOutput06 linked to record (asyn reason 58). 2022/01/28 10:04:24.711 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s2.binaryOutput07 linked to record (asyn reason 59). 2022/01/28 10:04:24.713 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s2.binaryOutput08 linked to record (asyn reason 60). 2022/01/28 10:04:24.715 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s5.powerOk01 linked to record (asyn reason 61). 2022/01/28 10:04:24.718 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s5.overload01 linked to record (asyn reason 62). 2022/01/28 10:04:24.720 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s6.binaryInput01 linked to record (asyn reason 63). 2022/01/28 10:04:24.722 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s6.binaryInput02 linked to record (asyn reason 64). 2022/01/28 10:04:24.725 ecmcAsynPortDriver:drvUserCreate: Parameter plcs.ax1.plc.enable linked to record (asyn reason 65). 2022/01/28 10:04:24.728 ecmcAsynPortDriver:drvUserCreate: Parameter plcs.ax1.plc.firstscan linked to record (asyn reason 66). 2022/01/28 10:04:24.731 ecmcAsynPortDriver:drvUserCreate: Parameter plcs.ax2.plc.enable linked to record (asyn reason 67). 2022/01/28 10:04:24.734 ecmcAsynPortDriver:drvUserCreate: Parameter plcs.ax2.plc.firstscan linked to record (asyn reason 68). 2022/01/28 10:04:24.738 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.ok linked to record (asyn reason 69). 2022/01/28 10:04:24.742 ecmcAsynPortDriver:drvUserCreate: Parameter ax1.diagnostic linked to record (asyn reason 70). 2022/01/28 10:04:24.744 ecmcAsynPortDriver:drvUserCreate: Parameter ax1.plc.expression linked to record (asyn reason 71). 2022/01/28 10:04:24.746 ecmcAsynPortDriver:drvUserCreate: Parameter ax2.diagnostic linked to record (asyn reason 72). 2022/01/28 10:04:24.747 ecmcAsynPortDriver:drvUserCreate: Parameter ax2.plc.expression linked to record (asyn reason 73). 2022/01/28 10:04:24.749 ecmcAsynPortDriver:drvUserCreate: Parameter ecmc.error.msg linked to record (asyn reason 74). 2022/01/28 10:04:24.751 ecmcAsynPortDriver:drvUserCreate: Parameter ecmc.updated linked to record (asyn reason 75). 2022/01/28 10:04:24.753 ecmcAsynPortDriver:drvUserCreate: Parameter ax1.command linked to record (asyn reason 76). 2022/01/28 10:04:24.757 ecmcAsynPortDriver:drvUserCreate: Parameter ax2.command linked to record (asyn reason 77). dCommand:737: ../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:744:GRBL: INFO: Buffer size 5 ecmcGrblAddCommand("G4P2"); ../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:737: ../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:744:GRBL: INFO: Buffer size 6 ecmcGrblAddCommand("G1X0Y0"); ../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:737: ../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:744:GRBL: INFO: Buffer size 7 #ecmcGrblAddCommand("G2X0adadsdY0R20"); #ecmcGrblAddCommand("G1X0Y20"); #ecmcGrblAddCommand("G1X10Y0F360"); #ecmcGrblAddCommand("G4P1"); #ecmcGrblAddCommand("G1X50Y50F180"); #ecmcGrblAddCommand("G1X0Y0"); ############################################################################## ## PLC 0 iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/loadPLCFile.cmd, "PLC_ID=0, SAMPLE_RATE_MS=1000,FILE=./plc/grbl.plc") #============================================================================== # loadPLCFile.cmd epicsEnvSet("ECMC_PLC_ID", "0") ecmcEpicsEnvSetCalc(ECMC_PLC_RATE_, "1000/1000", "%f") epicsEnvSet("ECMC_PLC_SAMPLE_RATE_MS", "1000") ecmcEpicsEnvSetCalcTernary(ECMC_PLC_SAMPLE_RATE_MS, "1000>0", "1000","1.000000") epicsEnvUnset(ECMC_PLC_RATE_) # clean up, temp variable epicsEnvSet("ECMC_TMP_FILE", "/tmp/PLC0.plc") ecmcFileExist("./plc/grbl.plc",1) system "msi -V -M 'EMPTY' -o /tmp/PLC0.plc ./plc/grbl.plc" ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD, 1=1,"", "#-" ) ########### Parsed PLC file: system "cat /tmp/PLC0.plc" ############ PLC file end # epicsEnvUnset(ECMC_EXE_CMD) ecmcFileExist("/tmp/PLC0.plc",1) ecmcConfigOrDie "Cfg.CreatePLC(0,1000)" ecmcConfigOrDie "Cfg.LoadPLCFile(0,/tmp/PLC0.plc)" system "rm -f /tmp/PLC0.plc" ecmcFileExist(ecmcPlc.substitutions,1,1) ecmcEpicsEnvSetCalc(ECMC_PLC_ID_2_CHARS, "0", "%02d") dbLoadTemplate(ecmcPlc.substitutions, "PORT=MC_CPU1,A=0,Index=0,Name=IOC_TEST:,Index2Char=00,T_SMP_MS=10") epicsEnvUnset(ECMC_PLC_ID_2_CHARS) ############################################################################## ############# Configure diagnostics: ecmcConfigOrDie "Cfg.EcSetDiagnostics(1)" ecmcConfigOrDie "Cfg.EcEnablePrintouts(0)" ecmcConfigOrDie "Cfg.EcSetDomainFailedCyclesLimit(100)" ecmcConfigOrDie "Cfg.SetDiagAxisIndex(1)" ecmcConfigOrDie "Cfg.SetDiagAxisFreq(2)" ecmcConfigOrDie "Cfg.SetDiagAxisEnable(0)" iocshLoad (/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/setAppMode.cmd) #============================================================================== # setAppMode.cmd ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/general.cmd",1) iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/general.cmd #============================================================================== # general.cmd ecmcFileExist("ecmcGeneral.db",1,1) dbLoadRecords("ecmcGeneral.db","P=IOC_TEST:,PORT=MC_CPU1,ADDR=0,TIMEOUT=1,T_SMP_MS=10,TSE=-2,ECMC_PROC_HOOK=") # Examples of commands for info: # ecmcReport or asynReport # ecmcReport 3 # ecmcGrepParam # List all ecmc params for ethercat slave 2: # ecmcGrepParam *s2* # ecmcEpicsEnvSetCalcTernary(ECMC_MASTER_CMD, "0>=0", "","#- ") ecmcFileExist("ecmcEc.db",1,1) dbLoadRecords("ecmcEc.db","P=IOC_TEST:,PORT=MC_CPU1,ADDR=0,TIMEOUT=1,MASTER_ID=0,T_SMP_MS=10,TSE=-2") ecmcConfigOrDie "Cfg.SetAppMode(1)" GRBL busy: 1.00000 GRBL busy: 1.00000 #asynSetTraceMask(MC_CPU1, -1, 0x41) # Note need to test 0x21 later.. #asynSetTraceMask(MC_CPU1, -1, 0x21) asynSetTraceMask(MC_CPU1, -1, 0x41) iocInit() ############################################################################ ## EPICS R7.0.5-E3-7.0.5-patch ## Rev. 2021-05-05T19:45+0200 ############################################################################ ECATtimestamp aSubRecord: IOC_TEST:m0s006-BI01-TimeRiseTS ECATtimestamp aSubRecord: IOC_TEST:m0s006-BI01-TimeFallTS ECATtimestamp aSubRecord: IOC_TEST:m0s006-BI02-TimeRiseTS ECATtimestamp aSubRecord: IOC_TEST:m0s006-BI02-TimeFallTS 2022/01/28 10:04:24.760 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s0.ONE linked to record (asyn reason 78). 2022/01/28 10:04:24.763 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s0.ZERO linked to record (asyn reason 79). 2022/01/28 10:04:24.766 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s1.ONE linked to record (asyn reason 80). 2022/01/28 10:04:24.769 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s1.ZERO linked to record (asyn reason 81). 2022/01/28 10:04:24.773 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s2.ONE linked to record (asyn reason 82). 2022/01/28 10:04:24.776 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s2.ZERO linked to record (asyn reason 83). 2022/01/28 10:04:24.779 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s3.ONE linked to record (asyn reason 84). 2022/01/28 10:04:24.781 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s3.ZERO linked to record (asyn reason 85). 2022/01/28 10:04:24.784 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s4.ONE linked to record (asyn reason 86). 2022/01/28 10:04:24.787 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s4.ZERO linked to record (asyn reason 87). 2022/01/28 10:04:24.790 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s5.ONE linked to record (asyn reason 88). 2022/01/28 10:04:24.793 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s5.ZERO linked to record (asyn reason 89). 2022/01/28 10:04:24.796 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s6.ONE linked to record (asyn reason 90). 2022/01/28 10:04:24.799 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s6.ZERO linked to record (asyn reason 91). 2022/01/28 10:04:24.802 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s8.ONE linked to record (asyn reason 92). 2022/01/28 10:04:24.804 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=65534 fPos=0 fActPosition=0.03 time=0.000014 2022/01/28 10:04:24.804 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=228 fPos=0 fActPosition=0 time=0.000008 2022/01/28 10:04:24.805 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s8.ZERO linked to record (asyn reason 93). 2022/01/28 10:04:24.808 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s9.ONE linked to record (asyn reason 94). 2022/01/28 10:04:24.812 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s9.ZERO linked to record (asyn reason 95). 2022/01/28 10:04:24.816 ecmcAsynPortDriver:drvUserCreate: Parameter ax1.cmddata linked to record (asyn reason 96). 2022/01/28 10:04:24.819 ecmcAsynPortDriver:drvUserCreate: Parameter ax2.cmddata linked to record (asyn reason 97). 2022/01/28 10:04:24.822 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s0.slavestatus linked to record (asyn reason 98). 2022/01/28 10:04:24.824 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s1.slavestatus linked to record (asyn reason 99). 2022/01/28 10:04:24.827 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s2.slavestatus linked to record (asyn reason 100). 2022/01/28 10:04:24.830 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s3.slavestatus linked to record (asyn reason 101). 2022/01/28 10:04:24.833 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s4.slavestatus linked to record (asyn reason 102). 2022/01/28 10:04:24.835 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s5.slavestatus linked to record (asyn reason 103). 2022/01/28 10:04:24.838 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s6.slavestatus linked to record (asyn reason 104). 2022/01/28 10:04:24.841 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s8.slavestatus linked to record (asyn reason 105). 2022/01/28 10:04:24.844 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s9.slavestatus linked to record (asyn reason 106). 2022/01/28 10:04:24.847 ecmcAsynPortDriver:drvUserCreate: Parameter ax1.status linked to record (asyn reason 107). 2022/01/28 10:04:24.849 ecmcAsynPortDriver:drvUserCreate: Parameter ax1.errorid linked to record (asyn reason 108). 2022/01/28 10:04:24.853 ecmcAsynPortDriver:drvUserCreate: Parameter ax2.status linked to record (asyn reason 109). 2022/01/28 10:04:24.855 ecmcAsynPortDriver:drvUserCreate: Parameter ax2.errorid linked to record (asyn reason 110). 2022/01/28 10:04:24.858 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.masterstatus linked to record (asyn reason 111). 2022/01/28 10:04:24.861 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.slavecounter linked to record (asyn reason 112). 2022/01/28 10:04:24.863 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.memmapcounter linked to record (asyn reason 113). 2022/01/28 10:04:24.867 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.domainfailcountertotal linked to record (asyn reason 114). 2022/01/28 10:04:24.869 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.entrycounter linked to record (asyn reason 115). 2022/01/28 10:04:24.872 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.domainstatus linked to record (asyn reason 116). 2022/01/28 10:04:24.876 ecmcAsynPortDriver:drvUserCreate: Parameter ax1.control linked to record (asyn reason 117). 2022/01/28 10:04:24.879 ecmcAsynPortDriver:drvUserCreate: Parameter ax2.control linked to record (asyn reason 118). 2022/01/28 10:04:24.884 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s3.encoderStatus01 linked to record (asyn reason 119). 2022/01/28 10:04:24.888 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s4.encoderStatus01 linked to record (asyn reason 120). 2022/01/28 10:04:24.892 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s6.status01 linked to record (asyn reason 121). 2022/01/28 10:04:24.896 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s6.status02 linked to record (asyn reason 122). 2022/01/28 10:04:24.900 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s8.driveStatus01 linked to record (asyn reason 123). 2022/01/28 10:04:24.903 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s8.encoderStatus01 linked to record (asyn reason 124). 2022/01/28 10:04:24.907 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s9.driveStatus01 linked to record (asyn reason 125). 2022/01/28 10:04:24.911 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s9.encoderStatus01 linked to record (asyn reason 126). 2022/01/28 10:04:24.958 ecmcAsynPortDriver:drvUserCreate: Parameter ax1.targpos linked to record (asyn reason 127). 2022/01/28 10:04:24.963 ecmcAsynPortDriver:drvUserCreate: Parameter ax1.targvelo linked to record (asyn reason 128). 2022/01/28 10:04:24.970 ecmcAsynPortDriver:drvUserCreate: Parameter ax2.targpos linked to record (asyn reason 129). 2022/01/28 10:04:24.975 ecmcAsynPortDriver:drvUserCreate: Parameter ax2.targvelo linked to record (asyn reason 130). 2022/01/28 10:04:24.993 ecmcAsynPortDriver:drvUserCreate: Parameter plcs.plc0.enable linked to record (asyn reason 131). 2022/01/28 10:04:24.999 ecmcAsynPortDriver:drvUserCreate: Parameter ecmc.error.reset linked to record (asyn reason 132). 2022/01/28 10:04:25.004 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=65534 fPos=0 fActPosition=0.03 time=0.000009 2022/01/28 10:04:25.004 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=228 fPos=0 fActPosition=0 time=0.000006 2022/01/28 10:04:25.005 ecmcMotorRecord:: setIntegerParam(1 motorUpdateStatus_)=0 2022/01/28 10:04:25.005 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=65534 fPos=0 fActPosition=0.03 time=0.000006 2022/01/28 10:04:25.005 ecmcMotorRecord:: setIntegerParam(2 motorUpdateStatus_)=0 2022/01/28 10:04:25.005 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=228 fPos=0 fActPosition=0 time=0.000007 2022/01/28 10:04:25.054 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAfterInitDatabase (7). Allow callbacks: true. 2022/01/28 10:04:25.055 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAfterFinishDevSup (8). Allow callbacks: true. 2022/01/28 10:04:25.204 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=65534 fPos=0 fActPosition=0.03 time=0.000010 2022/01/28 10:04:25.205 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=228 fPos=0 fActPosition=0 time=0.000081 2022/01/28 10:04:25.405 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=65534 fPos=0 fActPosition=0.03 time=0.000010 2022/01/28 10:04:25.405 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=228 fPos=0 fActPosition=0 time=0.000006 2022/01/28 10:04:25.591 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAfterScanInit (9). Allow callbacks: true. 2022/01/28 10:04:25.592 ecmcMotorRecord:: setIntegerParam(1 HomProc_)=3 motorNotHomedProblem=0 2022/01/28 10:04:25.592 ecmcMotorRecord:: setIntegerParam(2 HomProc_)=3 motorNotHomedProblem=0 2022/01/28 10:04:25.593 ecmcMotorRecord:: setDoubleParam(1 HomPos_)=0.000000 2022/01/28 10:04:25.593 ecmcMotorRecord:: setDoubleParam(2 HomPos_)=0.000000 2022/01/28 10:04:25.593 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAfterInitialProcess (10). Allow callbacks: true. 2022/01/28 10:04:25.599 ecmcAsynPortDriver:getEpicsState: EPICS state: Unknown state (11). Allow callbacks: true. 2022/01/28 10:04:25.600 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAfterIocBuilt (12). Allow callbacks: true. 2022/01/28 10:04:25.605 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=65534 fPos=0 fActPosition=0.03 time=0.000011 2022/01/28 10:04:25.605 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=228 fPos=0 fActPosition=0 time=0.000011 2022/01/28 10:04:25.632 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAtIocRun (13). Allow callbacks: true. 2022/01/28 10:04:25.632 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAfterDatabaseRunning (14). Allow callbacks: true. 2022/01/28 10:04:25.632 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAfterInterruptAccept (28). Allow callbacks: true. 2022/01/28 10:04:25.632 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAfterCaServerRunning (15). Allow callbacks: true. 2022/01/28 10:04:25.634 ecmcAsynPortDriver:getEpicsState: EPICS state: Unknown state (29). Allow callbacks: true. iocRun: All initialization complete 2022/01/28 10:04:25.678 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAfterIocRunning (16). Allow callbacks: true. 2022/01/28 10:04:25.682 ../devEcmcSup/motion/ecmcDriveBase.cpp/readEntries:336: INFO (axis 1): Drive hardware warning state cleared. 2022/01/28 10:04:25.682 ../devEcmcSup/motion/ecmcDriveBase.cpp/readEntries:336: INFO (axis 2): Drive hardware warning state cleared. 2022/01/28 10:04:25.805 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=65535 fPos=0.03 fActPosition=0 time=0.000009 2022/01/28 10:04:25.805 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=228 fPos=0 fActPosition=0 time=0.000006 2022/01/28 10:04:25.004 [devMotorAsyn.c:439 IOC_TEST:Axis1] init_record IOC_TEST:Axis1 position=0.030000 encoderPos=0.030000 velocity=0.000000 MSTAstatus=0x4d00 flagsValue=0x3f flagsWritten=0x3f pmr->mflg=0x0 2022/01/28 10:04:25.005 [devMotorAsyn.c:185 IOC_TEST:Axis1] init_controller IOC_TEST:Axis1 set encoder ratio=1.000000 status=0 2022/01/28 10:04:25.005 [devMotorAsyn.c:266 IOC_TEST:Axis1] update_soft_limits IOC_TEST:Axis1 RawHLM_RO=130.000000 RawLLM_RO=-20.000000 valid=1 DHLM_RO=130.000000 DLLM_RO=-20.000000 2022/01/28 10:04:25.005 [motorDevSup.c:327 IOC_TEST:Axis1] PositionRestoreNeeded IOC_TEST:Axis1 rstm=2 dval=0.000000 drbv=0.030000 pmr->rdbd=0.100000 rdbd=0.100000 pmr->mres=0.030000 pmr->mflg=0x3f dval_non_zero_pos_near_zero=0 ret=0 2022/01/28 10:04:25.005 [motorRecord.cc:782 IOC_TEST:Axis1] init_re_init start neverPolled=0 stat=17 nsta=0 2022/01/28 10:04:25.005 [motorRecord.cc:720 IOC_TEST:Axis1] enforceMinRetryDeadband spdb=0.100000 rdbd=0.100000 mres=0.030000 2022/01/28 10:04:25.005 [motorRecord.cc:4484 IOC_TEST:Axis1] pmr->dhlm=130 softLimitRO=130 2022/01/28 10:04:25.005 [motorRecord.cc:4545 IOC_TEST:Axis1] pmr->dllm=-20 softLimitRO=-20 2022/01/28 10:04:25.005 [motorRecord.cc:833 IOC_TEST:Axis1] init_re_init end dval=0.030000 drbv=0.030000 rdbd=0.100000 spdb=0.100000 2022/01/28 10:04:25.005 [motorRecord.cc:968 IOC_TEST:Axis1] init_record process_reason="callbackdata + soft limits" dval=0.030000 drbv=0.030000 rdbd=0.100000 spdb=0.100000 stat=0 msta=0x4d00 neverPolled=0 2022/01/28 10:04:25.005 [devMotorAsyn.c:439 IOC_TEST:Axis2] init_record IOC_TEST:Axis2 position=0.000000 encoderPos=0.000000 velocity=0.000000 MSTAstatus=0x0f00 flagsValue=0x3f flagsWritten=0x3f pmr->mflg=0x0 2022/01/28 10:04:25.005 [devMotorAsyn.c:185 IOC_TEST:Axis2] init_controller IOC_TEST:Axis2 set encoder ratio=1.000000 status=0 2022/01/28 10:04:25.005 [devMotorAsyn.c:266 IOC_TEST:Axis2] update_soft_limits IOC_TEST:Axis2 RawHLM_RO=20.000000 RawLLM_RO=-130.000000 valid=1 DHLM_RO=20.000000 DLLM_RO=-130.000000 2022/01/28 10:04:25.005 [motorDevSup.c:327 IOC_TEST:Axis2] PositionRestoreNeeded IOC_TEST:Axis2 rstm=2 dval=0.000000 drbv=0.000000 pmr->rdbd=0.100000 rdbd=0.100000 pmr->mres=0.030000 pmr->mflg=0x3f dval_non_zero_pos_near_zero=0 ret=0 2022/01/28 10:04:25.005 [motorRecord.cc:782 IOC_TEST:Axis2] init_re_init start neverPolled=0 stat=17 nsta=0 2022/01/28 10:04:25.005 [motorRecord.cc:720 IOC_TEST:Axis2] enforceMinRetryDeadband spdb=0.100000 rdbd=0.100000 mres=0.030000 2022/01/28 10:04:25.005 [motorRecord.cc:4484 IOC_TEST:Axis2] pmr->dhlm=20 softLimitRO=20 2022/01/28 10:04:25.005 [motorRecord.cc:4545 IOC_TEST:Axis2] pmr->dllm=-130 softLimitRO=-130 2022/01/28 10:04:25.005 [motorRecord.cc:833 IOC_TEST:Axis2] init_re_init end dval=0.000000 drbv=0.000000 rdbd=0.100000 spdb=0.100000 2022/01/28 10:04:25.005 [motorRecord.cc:968 IOC_TEST:Axis2] init_record process_reason="callbackdata + soft limits" dval=0.000000 drbv=0.000000 rdbd=0.100000 spdb=0.100000 stat=0 msta=0xf00 neverPolled=0 GRBL busy: 1.00000 dbpf IOC_TEST:Axis1.SPAM 0 DBF_SHORT: 0 = 0x0 dbpf IOC_TEST:Axis2.SPAM 0 DBF_SHORT: 0 = 0x0 # Set the IOC Prompt String One epicsEnvSet IOCSH_PS1 "raspberrypi-11532 > " # raspberrypi-11532 > 2022/01/28 10:04:26.005 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=65535 fPos=0.03 fActPosition=0 time=0.000010 2022/01/28 10:04:26.006 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=228 fPos=0 fActPosition=0 time=0.000050 2022/01/28 10:04:26.206 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65534 fPos=0.064 fActPosition=0.03 time=0.000020 2022/01/28 10:04:26.206 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=229 fPos=0.064 fActPosition=0.03 time=0.000012 2022/01/28 10:04:26.406 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65519 fPos=0.464 fActPosition=0.48 time=0.000019 2022/01/28 10:04:26.407 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=244 fPos=0.468 fActPosition=0.48 time=0.000143 2022/01/28 10:04:26.607 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65494 fPos=1.204 fActPosition=1.23 time=0.000016 2022/01/28 10:04:26.608 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=268 fPos=1.208 fActPosition=1.2 time=0.000178 2022/01/28 10:04:26.808 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65468 fPos=2.008 fActPosition=2.01 time=0.000018 2022/01/28 10:04:26.809 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=296 fPos=2.012 fActPosition=2.04 time=0.000018 2022/01/28 10:04:27.009 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65441 fPos=2.812 fActPosition=2.82 time=0.000010 2022/01/28 10:04:27.009 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=322 fPos=2.812 fActPosition=2.82 time=0.000007 2022/01/28 10:04:27.210 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65414 fPos=3.616 fActPosition=3.63 time=0.000010 2022/01/28 10:04:27.210 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=349 fPos=3.616 fActPosition=3.63 time=0.000007 2022/01/28 10:04:27.410 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65388 fPos=4.416 fActPosition=4.41 time=0.000011 2022/01/28 10:04:27.410 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=376 fPos=4.416 fActPosition=4.44 time=0.000006 2022/01/28 10:04:27.610 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65361 fPos=5.216 fActPosition=5.22 time=0.000016 2022/01/28 10:04:27.611 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=402 fPos=5.22 fActPosition=5.22 time=0.000016 2022/01/28 10:04:27.811 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65334 fPos=6.02 fActPosition=6.03 time=0.000019 2022/01/28 10:04:27.812 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=429 fPos=6.02 fActPosition=6.03 time=0.000014 2022/01/28 10:04:28.012 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65308 fPos=6.824 fActPosition=6.81 time=0.000020 2022/01/28 10:04:28.012 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=456 fPos=6.824 fActPosition=6.84 time=0.000015 2022/01/28 10:04:28.213 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65280 fPos=7.628 fActPosition=7.65 time=0.000335 2022/01/28 10:04:28.213 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=483 fPos=7.628 fActPosition=7.65 time=0.000013 2022/01/28 10:04:28.414 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65254 fPos=8.432 fActPosition=8.43 time=0.000021 2022/01/28 10:04:28.414 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=509 fPos=8.432 fActPosition=8.43 time=0.000014 2022/01/28 10:04:28.614 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65227 fPos=9.236 fActPosition=9.24 time=0.000012 2022/01/28 10:04:28.614 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=536 fPos=9.236 fActPosition=9.24 time=0.000007 2022/01/28 10:04:28.815 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65200 fPos=10.04 fActPosition=10.05 time=0.000085 2022/01/28 10:04:28.815 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=563 fPos=10.04 fActPosition=10.05 time=0.000008 2022/01/28 10:04:29.015 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65174 fPos=10.836 fActPosition=10.83 time=0.000012 2022/01/28 10:04:29.015 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=589 fPos=10.836 fActPosition=10.83 time=0.000008 2022/01/28 10:04:29.215 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65147 fPos=11.636 fActPosition=11.64 time=0.000018 2022/01/28 10:04:29.216 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=616 fPos=11.64 fActPosition=11.64 time=0.000063 2022/01/28 10:04:29.416 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65120 fPos=12.44 fActPosition=12.45 time=0.000019 2022/01/28 10:04:29.416 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=643 fPos=12.44 fActPosition=12.45 time=0.000012 2022/01/28 10:04:29.617 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65093 fPos=13.244 fActPosition=13.26 time=0.000205 2022/01/28 10:04:29.617 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=669 fPos=13.244 fActPosition=13.23 time=0.000013 2022/01/28 10:04:29.817 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65067 fPos=14.044 fActPosition=14.04 time=0.000021 2022/01/28 10:04:29.818 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=697 fPos=14.048 fActPosition=14.07 time=0.000014 2022/01/28 10:04:30.018 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65040 fPos=14.848 fActPosition=14.85 time=0.000011 2022/01/28 10:04:30.018 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=723 fPos=14.848 fActPosition=14.85 time=0.000008 2022/01/28 10:04:30.218 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65013 fPos=15.648 fActPosition=15.66 time=0.000009 2022/01/28 10:04:30.219 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=750 fPos=15.652 fActPosition=15.66 time=0.000115 2022/01/28 10:04:30.419 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64987 fPos=16.452 fActPosition=16.44 time=0.000011 2022/01/28 10:04:30.419 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=777 fPos=16.452 fActPosition=16.47 time=0.000006 2022/01/28 10:04:30.619 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64960 fPos=17.256 fActPosition=17.25 time=0.000009 2022/01/28 10:04:30.619 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=803 fPos=17.256 fActPosition=17.25 time=0.000006 2022/01/28 10:04:30.820 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64933 fPos=18.06 fActPosition=18.06 time=0.000143 2022/01/28 10:04:30.820 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=830 fPos=18.06 fActPosition=18.06 time=0.000011 2022/01/28 10:04:31.020 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64906 fPos=18.856 fActPosition=18.87 time=0.000018 2022/01/28 10:04:31.021 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=857 fPos=18.856 fActPosition=18.87 time=0.000012 2022/01/28 10:04:31.221 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64882 fPos=19.58 fActPosition=19.59 time=0.000019 2022/01/28 10:04:31.221 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=881 fPos=19.58 fActPosition=19.59 time=0.000012 2022/01/28 10:04:31.421 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64870 fPos=19.952 fActPosition=19.95 time=0.000013 2022/01/28 10:04:31.422 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=893 fPos=19.952 fActPosition=19.95 time=0.000009 2022/01/28 10:04:31.622 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64868 fPos=20 fActPosition=20.01 time=0.000017 2022/01/28 10:04:31.622 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=895 fPos=20 fActPosition=20.01 time=0.000009 2022/01/28 10:04:31.822 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64868 fPos=20 fActPosition=20.01 time=0.000010 2022/01/28 10:04:31.822 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=895 fPos=20 fActPosition=20.01 time=0.000007 2022/01/28 10:04:32.023 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64868 fPos=20 fActPosition=20.01 time=0.000099 2022/01/28 10:04:32.023 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=894 fPos=20 fActPosition=19.98 time=0.000006 2022/01/28 10:04:32.223 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64868 fPos=20 fActPosition=20.01 time=0.000011 2022/01/28 10:04:32.223 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=894 fPos=20 fActPosition=19.98 time=0.000005 2022/01/28 10:04:32.423 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64868 fPos=20 fActPosition=20.01 time=0.000016 2022/01/28 10:04:32.423 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=895 fPos=20 fActPosition=20.01 time=0.000010 2022/01/28 10:04:32.624 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64868 fPos=20 fActPosition=20.01 time=0.000102 2022/01/28 10:04:32.624 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=895 fPos=20 fActPosition=20.01 time=0.000011 2022/01/28 10:04:32.824 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64868 fPos=20 fActPosition=20.01 time=0.000017 2022/01/28 10:04:32.824 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=895 fPos=20 fActPosition=20.01 time=0.000010 2022/01/28 10:04:33.024 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64868 fPos=20 fActPosition=20.01 time=0.000020 2022/01/28 10:04:33.025 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=894 fPos=20 fActPosition=19.98 time=0.000013 2022/01/28 10:04:33.225 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64868 fPos=20 fActPosition=20.01 time=0.000010 2022/01/28 10:04:33.225 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=895 fPos=20 fActPosition=20.01 time=0.000006 2022/01/28 10:04:33.425 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64868 fPos=20 fActPosition=20.01 time=0.000012 2022/01/28 10:04:33.425 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=895 fPos=20 fActPosition=20.01 time=0.000006 2022/01/28 10:04:33.625 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64868 fPos=20 fActPosition=20.01 time=0.000011 2022/01/28 10:04:33.626 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=894 fPos=19.964 fActPosition=19.98 time=0.000007 2022/01/28 10:04:33.826 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64869 fPos=19.996 fActPosition=19.98 time=0.000017 2022/01/28 10:04:33.826 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=881 fPos=19.596 fActPosition=19.59 time=0.000012 2022/01/28 10:04:34.026 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64869 fPos=19.968 fActPosition=19.98 time=0.000011 2022/01/28 10:04:34.026 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=857 fPos=18.872 fActPosition=18.87 time=0.000007 2022/01/28 10:04:34.227 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64872 fPos=19.872 fActPosition=19.89 time=0.000074 2022/01/28 10:04:34.227 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=821 fPos=17.776 fActPosition=17.79 time=0.000006 2022/01/28 10:04:34.427 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64878 fPos=19.716 fActPosition=19.71 time=0.000010 2022/01/28 10:04:34.427 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=782 fPos=16.632 fActPosition=16.62 time=0.000007 2022/01/28 10:04:34.627 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64886 fPos=19.492 fActPosition=19.47 time=0.000011 2022/01/28 10:04:34.628 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=746 fPos=15.536 fActPosition=15.54 time=0.000006 2022/01/28 10:04:34.828 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64895 fPos=19.204 fActPosition=19.2 time=0.000012 2022/01/28 10:04:34.828 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=708 fPos=14.428 fActPosition=14.4 time=0.000006 2022/01/28 10:04:35.028 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64907 fPos=18.848 fActPosition=18.84 time=0.000012 2022/01/28 10:04:35.028 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=671 fPos=13.316 fActPosition=13.29 time=0.000006 2022/01/28 10:04:35.228 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64921 fPos=18.42 fActPosition=18.42 time=0.000011 2022/01/28 10:04:35.229 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=634 fPos=12.2 fActPosition=12.18 time=0.000135 2022/01/28 10:04:35.429 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64937 fPos=17.948 fActPosition=17.94 time=0.000011 2022/01/28 10:04:35.429 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=600 fPos=11.176 fActPosition=11.16 time=0.000007 2022/01/28 10:04:35.629 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64955 fPos=17.404 fActPosition=17.4 time=0.000011 2022/01/28 10:04:35.629 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=566 fPos=10.144 fActPosition=10.14 time=0.000007 2022/01/28 10:04:35.830 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64975 fPos=16.8 fActPosition=16.8 time=0.000066 2022/01/28 10:04:35.830 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=533 fPos=9.152 fActPosition=9.15 time=0.000007 2022/01/28 10:04:36.030 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64997 fPos=16.148 fActPosition=16.14 time=0.000012 2022/01/28 10:04:36.030 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=502 fPos=8.2 fActPosition=8.22 time=0.000006 GRBL: INFO: Write command (command[0] = G1X20Y20F360) Added: G1X20Y20F360../grbl/grbl_gcode.c:gc_execute_line:71: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_stepper.c:st_wake_up:228: GRBL: INFO: Reply OK (command[0] = G1X20Y20F360) GRBL: INFO: Write command (command[1] = G4P2) Added: G4P2../grbl/grbl_gcode.c:gc_execute_line:71: ../grbl/grbl_motion_control.c:mc_dwell:200: GRBL busy: 1.00000 GRBL busy: 1.00000 GRBL busy: 1.00000 GRBL busy: 1.00000 GRBL busy: 1.00000 GRBL busy: 1.00000 ../grbl/grbl_stepper.c:st_go_idle:259: GRBL busy: 1.00000 GRBL busy: 1.00000 GRBL: INFO: Reply OK (command[1] = G4P2) GRBL: INFO: Write command (command[2] = G2X0Y0R20) Added: G2X0Y0R20../grbl/grbl_gcode.c:gc_execute_line:71: ../grbl/grbl_motion_control.c:mc_arc:91: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_update_plan_block_parameters:639: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_update_plan_block_parameters:639: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_stepper.c:st_wake_up:228: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: GRBL busy: 1.00000 ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: GRBL busy: 1.00000 ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../g2022/01/28 10:04:36.230 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65020 fPos=15.44 fActPosition=15.45 time=0.000018 2022/01/28 10:04:36.231 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=470 fPos=7.284 fActPosition=7.26 time=0.000209 2022/01/28 10:04:36.431 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65046 fPos=14.676 fActPosition=14.67 time=0.000011 2022/01/28 10:04:36.431 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=442 fPos=6.416 fActPosition=6.42 time=0.000006 2022/01/28 10:04:36.631 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65073 fPos=13.864 fActPosition=13.86 time=0.000012 2022/01/28 10:04:36.632 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=414 fPos=5.58 fActPosition=5.58 time=0.000109 2022/01/28 10:04:36.832 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65103 fPos=12.984 fActPosition=12.96 time=0.000012 2022/01/28 10:04:36.832 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=387 fPos=4.792 fActPosition=4.77 time=0.000006 2022/01/28 10:04:37.032 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65132 fPos=12.1 fActPosition=12.09 time=0.000011 2022/01/28 10:04:37.032 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=364 fPos=4.076 fActPosition=4.08 time=0.000006 2022/01/28 10:04:37.233 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65164 fPos=11.14 fActPosition=11.13 time=0.000188 2022/01/28 10:04:37.233 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=341 fPos=3.392 fActPosition=3.39 time=0.000007 2022/01/28 10:04:37.433 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65195 fPos=10.18 fActPosition=10.2 time=0.000012 2022/01/28 10:04:37.433 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=321 fPos=2.784 fActPosition=2.79 time=0.000007 2022/01/28 10:04:37.633 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65230 fPos=9.144 fActPosition=9.15 time=0.000014 2022/01/28 10:04:37.634 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=302 fPos=2.212 fActPosition=2.22 time=0.000120 2022/01/28 10:04:37.834 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65265 fPos=8.116 fActPosition=8.1 time=0.000011 2022/01/28 10:04:37.834 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=286 fPos=1.724 fActPosition=1.74 time=0.000006 2022/01/28 10:04:38.034 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65301 fPos=7.032 fActPosition=7.02 time=0.000011 2022/01/28 10:04:38.034 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=270 fPos=1.28 fActPosition=1.26 time=0.000006 2022/01/28 10:04:38.235 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65338 fPos=5.912 fActPosition=5.91 time=0.000086 2022/01/28 10:04:38.235 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=258 fPos=0.896 fActPosition=0.9 time=0.000012 2022/01/28 10:04:38.435 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65375 fPos=4.804 fActPosition=4.8 time=0.000020 2022/01/28 10:04:38.436 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=247 fPos=0.588 fActPosition=0.57 time=0.000183 2022/01/28 10:04:38.636 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65412 fPos=3.7 fActPosition=3.69 time=0.000019 2022/01/28 10:04:38.636 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=239 fPos=0.348 fActPosition=0.33 time=0.000010 2022/01/28 10:04:38.837 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65449 fPos=2.584 fActPosition=2.58 time=0.000198 2022/01/28 10:04:38.837 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=234 fPos=0.172 fActPosition=0.18 time=0.000011 2022/01/28 10:04:39.037 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65488 fPos=1.432 fActPosition=1.41 time=0.000018 2022/01/28 10:04:39.038 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=230 fPos=0.052 fActPosition=0.06 time=0.000078 2022/01/28 10:04:39.238 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65516 fPos=0.584 fActPosition=0.57 time=0.000012 2022/01/28 10:04:39.238 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=228 fPos=0.008 fActPosition=0 time=0.000007 2022/01/28 10:04:39.438 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65531 fPos=0.112 fActPosition=0.12 time=0.000011 2022/01/28 10:04:39.439 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=228 fPos=0 fActPosition=0 time=0.000007 2022/01/28 10:04:39.639 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65535 fPos=0 fActPosition=0 time=0.000012 2022/01/28 10:04:39.639 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=228 fPos=0 fActPosition=0 time=0.000007 2022/01/28 10:04:39.839 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65535 fPos=0 fActPosition=0 time=0.000011 2022/01/28 10:04:39.839 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=228 fPos=0 fActPosition=0 time=0.000006 2022/01/28 10:04:40.039 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65535 fPos=0 fActPosition=0 time=0.000019 2022/01/28 10:04:40.039 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=228 fPos=0 fActPosition=0 time=0.000011 2022/01/28 10:04:40.240 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65535 fPos=0 fActPosition=0 time=0.000111 2022/01/28 10:04:40.240 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=228 fPos=0 fActPosition=0 time=0.000011 2022/01/28 10:04:40.440 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65535 fPos=0 fActPosition=0 time=0.000021 2022/01/28 10:04:40.440 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=228 fPos=0 fActPosition=0 time=0.000011 2022/01/28 10:04:40.640 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65535 fPos=0 fActPosition=0 time=0.000020 2022/01/28 10:04:40.640 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=228 fPos=0 fActPosition=0 time=0.000031 2022/01/28 10:04:40.841 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65535 fPos=0 fActPosition=0 time=0.000011 2022/01/28 10:04:40.841 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=228 fPos=0 fActPosition=0 time=0.000006 2022/01/28 10:04:41.041 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65535 fPos=0 fActPosition=0 time=0.000011 2022/01/28 10:04:41.041 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=228 fPos=0 fActPosition=0 time=0.000006 2022/01/28 10:04:41.241 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65535 fPos=0 fActPosition=0 time=0.000011 2022/01/28 10:04:41.241 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=228 fPos=0 fActPosition=0 time=0.000006 2022/01/28 10:04:41.441 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65534 fPos=0 fActPosition=0.03 time=0.000019 2022/01/28 10:04:41.442 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=228 fPos=0 fActPosition=0 time=0.000209 2022/01/28 10:04:41.642 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65535 fPos=0.008 fActPosition=0 time=0.000019 2022/01/28 10:04:41.642 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=228 fPos=0.008 fActPosition=0 time=0.000011 2022/01/28 10:04:41.842 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65526 fPos=0.272 fActPosition=0.27 time=0.000018 2022/01/28 10:04:41.843 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=237 fPos=0.272 fActPosition=0.27 time=0.000214 2022/01/28 10:04:42.043 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65505 fPos=0.912 fActPosition=0.9 time=0.000018 2022/01/28 10:04:42.044 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=259 fPos=0.92 fActPosition=0.93 time=0.000260 2022/01/28 10:04:42.244 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65471 fPos=1.916 fActPosition=1.92 time=0.000020 2022/01/28 10:04:42.244 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=292 fPos=1.916 fActPosition=1.92 time=0.000014 2022/01/28 10:04:42.445 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65426 fPos=3.28 fActPosition=3.27 time=0.000011 2022/01/28 10:04:42.445 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=338 fPos=3.28 fActPosition=3.3 time=0.000006 2022/01/28 10:04:42.645 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65370 fPos=4.936 fActPosition=4.95 time=0.000010 2022/01/28 10:04:42.645 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=393 fPos=4.936 fActPosition=4.95 time=0.000006 2022/01/28 10:04:42.845 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65314 fPos=6.6 fActPosition=6.63 time=0.000010 2022/01/28 10:04:42.846 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=448 fPos=6.608 fActPosition=6.6 time=0.000007 2022/01/28 10:04:43.046 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65268 fPos=8.012 fActPosition=8.01 time=0.000018 2022/01/28 10:04:43.046 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=496 fPos=8.012 fActPosition=8.04 time=0.000012 2022/01/28 10:04:43.246 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65233 fPos=9.044 fActPosition=9.06 time=0.000018 2022/01/28 10:04:43.247 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=530 fPos=9.048 fActPosition=9.06 time=0.000091 2022/01/28 10:04:43.447 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65211 fPos=9.704 fActPosition=9.72 time=0.000020 2022/01/28 10:04:43.448 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=552 fPos=9.704 fActPosition=9.72 time=0.000012 2022/01/28 10:04:43.648 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65202 fPos=9.988 fActPosition=9.99 time=0.000021 2022/01/28 10:04:43.648 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=561 fPos=9.988 fActPosition=9.99 time=0.000010 2022/01/28 10:04:43.848 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65202 fPos=10 fActPosition=9.99 time=0.000016 2022/01/28 10:04:43.849 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=561 fPos=10 fActPosition=9.99 time=0.000283 2022/01/28 10:04:44.049 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65202 fPos=10 fActPosition=9.99 time=0.000011 2022/01/28 10:04:44.049 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=561 fPos=10 fActPosition=9.99 time=0.000007 2022/01/28 10:04:44.249 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65202 fPos=10 fActPosition=9.99 time=0.000011 2022/01/28 10:04:44.249 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=561 fPos=10 fActPosition=9.99 time=0.000007 2022/01/28 10:04:44.449 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65201 fPos=10 fActPosition=10.02 time=0.000012 2022/01/28 10:04:44.450 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=561 fPos=10 fActPosition=9.99 time=0.000070 2022/01/28 10:04:44.650 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65202 fPos=10 fActPosition=9.99 time=0.000021 2022/01/28 10:04:44.650 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=561 fPos=10 fActPosition=9.99 time=0.000011 2022/01/28 10:04:44.850 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65202 fPos=10 fActPosition=9.99 time=0.000024 2022/01/28 10:04:44.850 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=561 fPos=10 fActPosition=9.99 time=0.000012 2022/01/28 10:04:45.051 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65201 fPos=10 fActPosition=10.02 time=0.000140 2022/01/28 10:04:45.051 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=562 fPos=10 fActPosition=10.02 time=0.000011 2022/01/28 10:04:45.251 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65202 fPos=10 fActPosition=9.99 time=0.000018 2022/01/28 10:04:45.252 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=561 fPos=10 fActPosition=9.99 time=0.000130 2022/01/28 10:04:45.452 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65202 fPos=10 fActPosition=9.99 time=0.000014 2022/01/28 10:04:45.452 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=561 fPos=10 fActPosition=9.99 time=0.000007 2022/01/28 10:04:45.652 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65202 fPos=10 fActPosition=9.99 time=0.000011 2022/01/28 10:04:45.652 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=562 fPos=10 fActPosition=10.02 time=0.000007 2022/01/28 10:04:45.853 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65204 fPos=9.9 fActPosition=9.93 time=0.000156 2022/01/28 10:04:45.853 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=559 fPos=9.9 fActPosition=9.93 time=0.000006 2022/01/28 10:04:46.053 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65221 fPos=9.436 fActPosition=9.42 time=0.000011 2022/01/28 10:04:46.053 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=543 fPos=9.436 fActPosition=9.45 time=0.000006 2022/01/28 10:04:46.253 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65247 fPos=8.664 fActPosition=8.64 time=0.000019 2022/01/28 10:04:46.254 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=516 fPos=8.656 fActPosition=8.64 time=0.000013 2022/01/28 10:04:46.454 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65273 fPos=7.86 fActPosition=7.86 time=0.000022 2022/01/28 10:04:46.454 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=489 fPos=7.86 fActPosition=7.83 time=0.000011 2022/01/28 10:04:46.655 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65300 fPos=7.056 fActPosition=7.05 time=0.000019 2022/01/28 10:04:46.655 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=463 fPos=7.056 fActPosition=7.05 time=0.000010 2022/01/28 10:04:46.855 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65327 fPos=6.256 fActPosition=6.24 time=0.000021 2022/01/28 10:04:46.856 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=436 fPos=6.252 fActPosition=6.24 time=0.000185 2022/01/28 10:04:47.056 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65353 fPos=5.452 fActPosition=5.46 time=0.000011 2022/01/28 10:04:47.056 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=409 fPos=5.452 fActPosition=5.43 time=0.000006 2022/01/28 10:04:47.256 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65380 fPos=4.652 fActPosition=4.65 time=0.000012 2022/01/28 10:04:47.257 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=383 fPos=4.648 fActPosition=4.65 time=0.000021 2022/01/28 10:04:47.457 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65407 fPos=3.848 fActPosition=3.84 time=0.000011 2022/01/28 10:04:47.457 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=356 fPos=3.848 fActPosition=3.84 time=0.000006 2022/01/28 10:04:47.657 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65433 fPos=3.048 fActPosition=3.06 time=0.000018 2022/01/28 10:04:47.658 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=329 fPos=3.044 fActPosition=3.03 time=0.000232 2022/01/28 10:04:47.858 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65460 fPos=2.244 fActPosition=2.25 time=0.000020 2022/01/28 10:04:47.858 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=303 fPos=2.244 fActPosition=2.25 time=0.000010 2022/01/28 10:04:48.059 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65487 fPos=1.44 fActPosition=1.44 time=0.000019 2022/01/28 10:04:48.059 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=276 fPos=1.44 fActPosition=1.44 time=0.000011 2022/01/28 10:04:48.259 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65513 fPos=0.652 fActPosition=0.66 time=0.000018 2022/01/28 10:04:48.260 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=249 fPos=0.648 fActPosition=0.63 time=0.000215 2022/01/28 10:04:48.460 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65531 fPos=0.132 fActPosition=0.12 time=0.000014 2022/01/28 10:04:48.460 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=232 fPos=0.132 fActPosition=0.12 time=0.000008 2022/01/28 10:04:48.660 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65535 fPos=0 fActPosition=0 time=0.000011 2022/01/28 10:04:48.661 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=228 fPos=0 fActPosition=0 time=0.000007 2022/01/28 10:04:48.861 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65535 fPos=0 fActPosition=0 time=0.000011 2022/01/28 10:04:48.861 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=228 fPos=0 fActPosition=0 time=0.000006 2022/01/28 10:04:49.061 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65535 fPos=0 fActPosition=0 time=0.000011 2022/01/28 10:04:49.061 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=228 fPos=0 fActPosition=0 time=0.000006 2022/01/28 10:04:49.261 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65535 fPos=0 fActPosition=0 time=0.000019 2022/01/28 10:04:49.261 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=228 fPos=0 fActPosition=0 time=0.000009 2022/01/28 10:04:49.462 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65535 fPos=0 fActPosition=0 time=0.000164 2022/01/28 10:04:49.462 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=228 fPos=0 fActPosition=0 time=0.000011 2022/01/28 10:04:49.662 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65532 fPos=0.12 fActPosition=0.09 time=0.000019 2022/01/28 10:04:49.662 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=231 fPos=0.12 fActPosition=0.09 time=0.000012 2022/01/28 10:04:49.863 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65515 fPos=0.6 fActPosition=0.6 time=0.000341 2022/01/28 10:04:49.863 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=248 fPos=0.6 fActPosition=0.6 time=0.000011 2022/01/28 10:04:50.063 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65489 fPos=1.376 fActPosition=1.38 time=0.000013 2022/01/28 10:04:50.064 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=274 fPos=1.38 fActPosition=1.38 time=0.000008 2022/01/28 10:04:50.264 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65462 fPos=2.18 fActPosition=2.19 time=0.000011 2022/01/28 10:04:50.264 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=301 fPos=2.18 fActPosition=2.19 time=0.000007 2022/01/28 10:04:50.464 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65435 fPos=2.98 fActPosition=3 time=0.000012 2022/01/28 10:04:50.464 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=327 fPos=2.98 fActPosition=2.97 time=0.000006 2022/01/28 10:04:50.665 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65409 fPos=3.784 fActPosition=3.78 time=0.000090 2022/01/28 10:04:50.665 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=354 fPos=3.784 fActPosition=3.78 time=0.000006 2022/01/28 10:04:50.865 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65382 fPos=4.584 fActPosition=4.59 time=0.000020 2022/01/28 10:04:50.865 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=381 fPos=4.584 fActPosition=4.59 time=0.000012 2022/01/28 10:04:51.066 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65355 fPos=5.388 fActPosition=5.4 time=0.000144 2022/01/28 10:04:51.066 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=408 fPos=5.388 fActPosition=5.4 time=0.000011 2022/01/28 10:04:51.266 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65329 fPos=6.188 fActPosition=6.18 time=0.000021 2022/01/28 10:04:51.267 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=435 fPos=6.192 fActPosition=6.21 time=0.000327 2022/01/28 10:04:51.467 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65302 fPos=6.992 fActPosition=6.99 time=0.000020 2022/01/28 10:04:51.467 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=461 fPos=6.992 fActPosition=6.99 time=0.000010 2022/01/28 10:04:51.668 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65275 fPos=7.796 fActPosition=7.8 time=0.000016 2022/01/28 10:04:51.668 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=488 fPos=7.796 fActPosition=7.8 time=0.000007 2022/01/28 10:04:51.868 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65249 fPos=8.6 fActPosition=8.58 time=0.000010 2022/01/28 10:04:51.868 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=515 fPos=8.6 fActPosition=8.61 time=0.000006 2022/01/28 10:04:52.068 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65222 fPos=9.396 fActPosition=9.39 time=0.000010 2022/01/28 10:04:52.069 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=542 fPos=9.404 fActPosition=9.42 time=0.000007 2022/01/28 10:04:52.269 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65195 fPos=10.2 fActPosition=10.2 time=0.000011 2022/01/28 10:04:52.269 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=568 fPos=10.2 fActPosition=10.2 time=0.000006 2022/01/28 10:04:52.469 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65168 fPos=11 fActPosition=11.01 time=0.000018 2022/01/28 10:04:52.470 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=595 fPos=11 fActPosition=11.01 time=0.000012 2022/01/28 10:04:52.670 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65141 fPos=11.804 fActPosition=11.82 time=0.000014 2022/01/28 10:04:52.670 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=622 fPos=11.804 fActPosition=11.82 time=0.000008 2022/01/28 10:04:52.870 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65115 fPos=12.604 fActPosition=12.6 time=0.000021 2022/01/28 10:04:52.871 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=648 fPos=12.608 fActPosition=12.6 time=0.000185 2022/01/28 10:04:53.071 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65088 fPos=13.408 fActPosition=13.41 time=0.000019 2022/01/28 10:04:53.071 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=675 fPos=13.408 fActPosition=13.41 time=0.000011 2022/01/28 10:04:53.272 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65061 fPos=14.212 fActPosition=14.22 time=0.000010 2022/01/28 10:04:53.272 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=702 fPos=14.212 fActPosition=14.22 time=0.000008 2022/01/28 10:04:53.472 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65034 fPos=15.012 fActPosition=15.03 time=0.000009 2022/01/28 10:04:53.472 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=728 fPos=15.012 fActPosition=15 time=0.000006 2022/01/28 10:04:53.672 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65008 fPos=15.812 fActPosition=15.81 time=0.000010 2022/01/28 10:04:53.672 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=755 fPos=15.812 fActPosition=15.81 time=0.000013 2022/01/28 10:04:53.873 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64981 fPos=16.62 fActPosition=16.62 time=0.000275 2022/01/28 10:04:53.873 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=782 fPos=16.62 fActPosition=16.62 time=0.000011 2022/01/28 10:04:54.073 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64954 fPos=17.416 fActPosition=17.43 time=0.000017 2022/01/28 10:04:54.074 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=809 fPos=17.424 fActPosition=17.43 time=0.000013 2022/01/28 10:04:54.274 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64928 fPos=18.22 fActPosition=18.21 time=0.000017 2022/01/28 10:04:54.274 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=836 fPos=18.22 fActPosition=18.24 time=0.000011 2022/01/28 10:04:54.475 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64901 fPos=19.024 fActPosition=19.02 time=0.000057 2022/01/28 10:04:54.475 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=862 fPos=19.024 fActPosition=19.02 time=0.000010 2022/01/28 10:04:54.675 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64878 fPos=19.688 fActPosition=19.71 time=0.000023 2022/01/28 10:04:54.676 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=885 fPos=19.688 fActPosition=19.71 time=0.000293 2022/01/28 10:04:54.876 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64869 fPos=19.984 fActPosition=19.98 time=0.000011 2022/01/28 10:04:54.876 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=895 fPos=19.984 fActPosition=20.01 time=0.000007 2022/01/28 10:04:55.077 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64869 fPos=20 fActPosition=19.98 time=0.000267 2022/01/28 10:04:55.077 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=895 fPos=20 fActPosition=20.01 time=0.000006 2022/01/28 10:04:55.277 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64869 fPos=20 fActPosition=19.98 time=0.000010 2022/01/28 10:04:55.277 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=895 fPos=20 fActPosition=20.01 time=0.000007 2022/01/28 10:04:55.477 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64869 fPos=20 fActPosition=19.98 time=0.000020 2022/01/28 10:04:55.477 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=894 fPos=20 fActPosition=19.98 time=0.000011 2022/01/28 10:04:55.678 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64869 fPos=20 fActPosition=19.98 time=0.000019 2022/01/28 10:04:55.678 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=894 fPos=20 fActPosition=19.98 time=0.000012 2022/01/28 10:04:55.878 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64869 fPos=20 fActPosition=19.98 time=0.000017 2022/01/28 10:04:55.878 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=895 fPos=20 fActPosition=20.01 time=0.000012 2022/01/28 10:04:56.079 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64869 fPos=20 fActPosition=19.98 time=0.000016 2022/01/28 10:04:56.079 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=895 fPos=20 fActPosition=20.01 time=0.000011 2022/01/28 10:04:56.279 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64869 fPos=20 fActPosition=19.98 time=0.000010 2022/01/28 10:04:56.279 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=895 fPos=20 fActPosition=20.01 time=0.000005 2022/01/28 10:04:56.479 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64869 fPos=20 fActPosition=19.98 time=0.000011 2022/01/28 10:04:56.479 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=894 fPos=20 fActPosition=19.98 time=0.000005 2022/01/28 10:04:56.679 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64869 fPos=20 fActPosition=19.98 time=0.000010 2022/01/28 10:04:56.679 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=895 fPos=20 fActPosition=20.01 time=0.000007 2022/01/28 10:04:56.880 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64868 fPos=20 fActPosition=20.01 time=0.000011 2022/01/28 10:04:56.880 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=895 fPos=20 fActPosition=20.01 time=0.000006 rbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: GRBL busy: 1.00000 ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: GRBL: INFO: Reply OK (command[2] = G2X0Y0R20) GRBL: INFO: Write command (command[3] = G4P2) Added: G4P2../grbl/grbl_gcode.c:gc_execute_line:71: ../grbl/grbl_motion_control.c:mc_dwell:200: ../grbl/grbl_stepper.c:st_next_block_index:652: GRBL busy: 1.00000 ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_stepper.c:st_next_block_index:652: GRBL busy: 1.00000 ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_stepper.c:st_next_block_index:652: GRBL busy: 1.00000 ../grbl/grbl_stepper.c:st_go_idle:259: GRBL busy: 1.00000 GRBL busy: 1.00000 GRBL: INFO: Reply OK (command[3] = G4P2) GRBL: INFO: Write command (command[4] = G0X10Y10) Added: G0X10Y10../grbl/grbl_gcode.c:gc_execute_line:71: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_stepper.c:st_wake_up:228: GRBL: INFO: Reply OK (command[4] = G0X10Y10) GRBL: INFO: Write command (command[5] = G4P2) Added: G4P2../grbl/grbl_gcode.c:gc_execute_line:71: ../grbl/grbl_motion_control.c:mc_dwell:200: GRBL busy: 1.00000 GRBL busy: 1.00000 ../grbl/grbl_stepper.c:st_go_idle:259: GRBL busy: 1.00000 GRBL busy: 1.00000 GRBL: INFO: Reply OK (command[5] = G4P2) GRBL: INFO: Write command (command[6] = G1X0Y0) Added: G1X0Y0../grbl/grbl_gcode.c:gc_execute_line:71: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_stepper.c:st_wake_up:228: GRBL: INFO: Reply OK (command[6] = G1X0Y0) GRBL busy: 1.00000 GRBL busy: 1.00000 GRBL busy: 1.00000 ../grbl/grbl_stepper.c:st_go_idle:259: GRBL busy: 0.00000 Retrigger g-code!! GRBL: INFO: Write command (command[0] = G1X20Y20F360) Added: G1X20Y20F360../grbl/grbl_gcode.c:gc_execute_line:71: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_stepper.c:st_wake_up:228: GRBL: INFO: Reply OK (command[0] = G1X20Y20F360) GRBL: INFO: Write command (command[1] = G4P2) Added: G4P2../grbl/grbl_gcode.c:gc_execute_line:71: ../grbl/grbl_motion_control.c:mc_dwell:200: GRBL busy: 1.00000 GRBL busy: 1.00000 GRBL busy: 1.00000 GRBL busy: 1.00000 GRBL busy: 1.00000 ../grbl/grbl_stepper.c:st_go_idle:259: GRBL busy: 1.00000 GRBL busy: 1.00000 GRBL: INFO: Reply OK (command[1] = G4P2) GRBL: INFO: Write command (command[2] = G2X0Y0R20) Added: G2X0Y0R20../grbl/grbl_gcode.c:gc_execute_line:71: ../grbl/grbl_motion_control.c:mc_arc:91: ../g2022/01/28 10:04:57.080 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64868 fPos=20 fActPosition=20.01 time=0.000011 2022/01/28 10:04:57.080 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=893 fPos=19.92 fActPosition=19.95 time=0.000006 2022/01/28 10:04:57.280 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64869 fPos=19.992 fActPosition=19.98 time=0.000011 2022/01/28 10:04:57.280 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=877 fPos=19.48 fActPosition=19.47 time=0.000006 2022/01/28 10:04:57.481 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64869 fPos=19.956 fActPosition=19.98 time=0.000012 2022/01/28 10:04:57.481 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=850 fPos=18.668 fActPosition=18.66 time=0.000006 2022/01/28 10:04:57.681 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64873 fPos=19.844 fActPosition=19.86 time=0.000013 2022/01/28 10:04:57.681 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=812 fPos=17.54 fActPosition=17.52 time=0.000008 2022/01/28 10:04:57.881 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64879 fPos=19.676 fActPosition=19.68 time=0.000011 2022/01/28 10:04:57.882 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=774 fPos=16.412 fActPosition=16.38 time=0.000026 2022/01/28 10:04:58.082 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64887 fPos=19.44 fActPosition=19.44 time=0.000011 2022/01/28 10:04:58.082 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=738 fPos=15.304 fActPosition=15.3 time=0.000007 2022/01/28 10:04:58.282 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64897 fPos=19.136 fActPosition=19.14 time=0.000011 2022/01/28 10:04:58.282 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=701 fPos=14.2 fActPosition=14.19 time=0.000006 2022/01/28 10:04:58.482 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64910 fPos=18.764 fActPosition=18.75 time=0.000012 2022/01/28 10:04:58.483 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=664 fPos=13.084 fActPosition=13.08 time=0.000210 2022/01/28 10:04:58.683 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64925 fPos=18.324 fActPosition=18.3 time=0.000012 2022/01/28 10:04:58.683 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=627 fPos=11.988 fActPosition=11.97 time=0.000006 2022/01/28 10:04:58.883 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64941 fPos=17.84 fActPosition=17.82 time=0.000011 2022/01/28 10:04:58.883 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=593 fPos=10.964 fActPosition=10.95 time=0.000006 2022/01/28 10:04:59.084 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64959 fPos=17.28 fActPosition=17.28 time=0.000011 2022/01/28 10:04:59.084 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=559 fPos=9.928 fActPosition=9.93 time=0.000007 2022/01/28 10:04:59.284 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64979 fPos=16.672 fActPosition=16.68 time=0.000011 2022/01/28 10:04:59.284 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=526 fPos=8.956 fActPosition=8.94 time=0.000007 2022/01/28 10:04:59.484 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65002 fPos=16 fActPosition=15.99 time=0.000012 2022/01/28 10:04:59.485 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=494 fPos=8 fActPosition=7.98 time=0.000008 2022/01/28 10:04:59.685 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65026 fPos=15.284 fActPosition=15.27 time=0.000014 2022/01/28 10:04:59.685 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=465 fPos=7.104 fActPosition=7.11 time=0.000007 2022/01/28 10:04:59.885 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65051 fPos=14.508 fActPosition=14.52 time=0.000012 2022/01/28 10:04:59.885 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=436 fPos=6.232 fActPosition=6.24 time=0.000007 2022/01/28 10:05:00.086 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65079 fPos=13.68 fActPosition=13.68 time=0.000052 2022/01/28 10:05:00.086 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=408 fPos=5.412 fActPosition=5.4 time=0.000006 2022/01/28 10:05:00.286 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65108 fPos=12.804 fActPosition=12.81 time=0.000011 2022/01/28 10:05:00.286 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=383 fPos=4.64 fActPosition=4.65 time=0.000007 2022/01/28 10:05:00.486 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65138 fPos=11.904 fActPosition=11.91 time=0.000012 2022/01/28 10:05:00.486 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=359 fPos=3.932 fActPosition=3.93 time=0.000006 rbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_update_plan_block_parameters:639: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_update_plan_block_parameters:639: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_stepper.c:st_wake_up:228: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: GRBL busy: 1.00000 ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: GRBL busy: 1.00000 ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: GRBL busy: 1.00000 ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: GRBL bus2022/01/28 10:05:00.687 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65170 fPos=10.94 fActPosition=10.95 time=0.000010 2022/01/28 10:05:00.687 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=337 fPos=3.26 fActPosition=3.27 time=0.000007 2022/01/28 10:05:00.887 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65203 fPos=9.968 fActPosition=9.96 time=0.000011 2022/01/28 10:05:00.887 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=317 fPos=2.66 fActPosition=2.67 time=0.000008 2022/01/28 10:05:01.087 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65237 fPos=8.932 fActPosition=8.94 time=0.000010 2022/01/28 10:05:01.088 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=298 fPos=2.104 fActPosition=2.1 time=0.000009 2022/01/28 10:05:01.288 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65271 fPos=7.908 fActPosition=7.92 time=0.000010 2022/01/28 10:05:01.288 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=283 fPos=1.632 fActPosition=1.65 time=0.000005 2022/01/28 10:05:01.488 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65309 fPos=6.804 fActPosition=6.78 time=0.000009 2022/01/28 10:05:01.488 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=268 fPos=1.196 fActPosition=1.2 time=0.000005 2022/01/28 10:05:01.689 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65346 fPos=5.688 fActPosition=5.67 time=0.000011 2022/01/28 10:05:01.689 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=255 fPos=0.828 fActPosition=0.81 time=0.000007 2022/01/28 10:05:01.889 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65383 fPos=4.58 fActPosition=4.56 time=0.000011 2022/01/28 10:05:01.889 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=246 fPos=0.532 fActPosition=0.54 time=0.000006 2022/01/28 10:05:02.089 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65419 fPos=3.48 fActPosition=3.48 time=0.000020 2022/01/28 10:05:02.090 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=238 fPos=0.304 fActPosition=0.3 time=0.000013 2022/01/28 10:05:02.290 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65457 fPos=2.344 fActPosition=2.34 time=0.000021 2022/01/28 10:05:02.290 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=233 fPos=0.14 fActPosition=0.15 time=0.000013 2022/01/28 10:05:02.490 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65494 fPos=1.228 fActPosition=1.23 time=0.000010 2022/01/28 10:05:02.491 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=229 fPos=0.04 fActPosition=0.03 time=0.000013 2022/01/28 10:05:02.691 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65520 fPos=0.46 fActPosition=0.45 time=0.000009 2022/01/28 10:05:02.691 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=228 fPos=0.008 fActPosition=0 time=0.000006 2022/01/28 10:05:02.891 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65533 fPos=0.06 fActPosition=0.06 time=0.000010 2022/01/28 10:05:02.891 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=228 fPos=0 fActPosition=0 time=0.000007 2022/01/28 10:05:03.092 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65535 fPos=0 fActPosition=0 time=0.000144 2022/01/28 10:05:03.092 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=228 fPos=0 fActPosition=0 time=0.000010 2022/01/28 10:05:03.292 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65535 fPos=0 fActPosition=0 time=0.000018 2022/01/28 10:05:03.292 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=228 fPos=0 fActPosition=0 time=0.000010 2022/01/28 10:05:03.492 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65535 fPos=0 fActPosition=0 time=0.000019 2022/01/28 10:05:03.493 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=228 fPos=0 fActPosition=0 time=0.000257 2022/01/28 10:05:03.693 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65535 fPos=0 fActPosition=0 time=0.000015 2022/01/28 10:05:03.693 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=228 fPos=0 fActPosition=0 time=0.000009 2022/01/28 10:05:03.893 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65535 fPos=0 fActPosition=0 time=0.000014 2022/01/28 10:05:03.893 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=228 fPos=0 fActPosition=0 time=0.000007 2022/01/28 10:05:04.094 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65535 fPos=0 fActPosition=0 time=0.000087 2022/01/28 10:05:04.094 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=228 fPos=0 fActPosition=0 time=0.000006 2022/01/28 10:05:04.294 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65535 fPos=0 fActPosition=0 time=0.000011 2022/01/28 10:05:04.294 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=228 fPos=0 fActPosition=0 time=0.000006 2022/01/28 10:05:04.494 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65535 fPos=0 fActPosition=0 time=0.000011 2022/01/28 10:05:04.494 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=228 fPos=0 fActPosition=0 time=0.000005 2022/01/28 10:05:04.694 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65535 fPos=0 fActPosition=0 time=0.000018 2022/01/28 10:05:04.694 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=228 fPos=0 fActPosition=0 time=0.000011 2022/01/28 10:05:04.894 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65535 fPos=0 fActPosition=0 time=0.000018 2022/01/28 10:05:04.895 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=228 fPos=0 fActPosition=0 time=0.000079 2022/01/28 10:05:05.095 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65534 fPos=0.028 fActPosition=0.03 time=0.000021 2022/01/28 10:05:05.095 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=228 fPos=0.028 fActPosition=0 time=0.000010 2022/01/28 10:05:05.295 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65523 fPos=0.368 fActPosition=0.36 time=0.000021 2022/01/28 10:05:05.296 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=240 fPos=0.368 fActPosition=0.36 time=0.000013 2022/01/28 10:05:05.496 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65499 fPos=1.084 fActPosition=1.08 time=0.000013 2022/01/28 10:05:05.496 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=264 fPos=1.084 fActPosition=1.08 time=0.000008 2022/01/28 10:05:05.696 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65463 fPos=2.152 fActPosition=2.16 time=0.000012 2022/01/28 10:05:05.697 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=300 fPos=2.156 fActPosition=2.16 time=0.000067 2022/01/28 10:05:05.897 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65415 fPos=3.592 fActPosition=3.6 time=0.000017 2022/01/28 10:05:05.897 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=348 fPos=3.592 fActPosition=3.6 time=0.000006 2022/01/28 10:05:06.097 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65359 fPos=5.26 fActPosition=5.28 time=0.000010 2022/01/28 10:05:06.097 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=404 fPos=5.26 fActPosition=5.28 time=0.000007 2022/01/28 10:05:06.298 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65304 fPos=6.908 fActPosition=6.93 time=0.000107 2022/01/28 10:05:06.298 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=459 fPos=6.908 fActPosition=6.93 time=0.000012 2022/01/28 10:05:06.498 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65260 fPos=8.24 fActPosition=8.25 time=0.000016 2022/01/28 10:05:06.499 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=503 fPos=8.248 fActPosition=8.25 time=0.000151 2022/01/28 10:05:06.699 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65228 fPos=9.204 fActPosition=9.21 time=0.000019 2022/01/28 10:05:06.699 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=535 fPos=9.204 fActPosition=9.21 time=0.000010 2022/01/28 10:05:06.900 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65208 fPos=9.792 fActPosition=9.81 time=0.000115 2022/01/28 10:05:06.900 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=555 fPos=9.792 fActPosition=9.81 time=0.000014 2022/01/28 10:05:07.100 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65201 fPos=10 fActPosition=10.02 time=0.000012 2022/01/28 10:05:07.126 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=562 fPos=10 fActPosition=10.02 time=0.025198 2022/01/28 10:05:07.326 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65202 fPos=10 fActPosition=9.99 time=0.000010 2022/01/28 10:05:07.326 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=561 fPos=10 fActPosition=9.99 time=0.000006 2022/01/28 10:05:07.526 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65202 fPos=10 fActPosition=9.99 time=0.000009 2022/01/28 10:05:07.526 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=561 fPos=10 fActPosition=9.99 time=0.000006 2022/01/28 10:05:07.727 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65202 fPos=10 fActPosition=9.99 time=0.000237 2022/01/28 10:05:07.727 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=561 fPos=10 fActPosition=9.99 time=0.000012 2022/01/28 10:05:07.927 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65202 fPos=10 fActPosition=9.99 time=0.000018 2022/01/28 10:05:07.927 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=562 fPos=10 fActPosition=10.02 time=0.000010 2022/01/28 10:05:08.128 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65201 fPos=10 fActPosition=10.02 time=0.000113 2022/01/28 10:05:08.128 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=561 fPos=10 fActPosition=9.99 time=0.000012 2022/01/28 10:05:08.328 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65202 fPos=10 fActPosition=9.99 time=0.000017 2022/01/28 10:05:08.329 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=561 fPos=10 fActPosition=9.99 time=0.000166 2022/01/28 10:05:08.529 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65202 fPos=10 fActPosition=9.99 time=0.000017 2022/01/28 10:05:08.529 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=561 fPos=10 fActPosition=9.99 time=0.000011 2022/01/28 10:05:08.729 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65202 fPos=10 fActPosition=9.99 time=0.000010 2022/01/28 10:05:08.729 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=562 fPos=10 fActPosition=10.02 time=0.000006 2022/01/28 10:05:08.930 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65201 fPos=10 fActPosition=10.02 time=0.000072 2022/01/28 10:05:08.930 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=561 fPos=10 fActPosition=9.99 time=0.000006 2022/01/28 10:05:09.130 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65202 fPos=10 fActPosition=9.99 time=0.000010 2022/01/28 10:05:09.130 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=561 fPos=10 fActPosition=9.99 time=0.000005 2022/01/28 10:05:09.330 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65208 fPos=9.792 fActPosition=9.81 time=0.000017 2022/01/28 10:05:09.331 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=555 fPos=9.792 fActPosition=9.81 time=0.000010 2022/01/28 10:05:09.531 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65228 fPos=9.208 fActPosition=9.21 time=0.000019 2022/01/28 10:05:09.531 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=535 fPos=9.208 fActPosition=9.21 time=0.000010 2022/01/28 10:05:09.731 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65255 fPos=8.408 fActPosition=8.4 time=0.000020 2022/01/28 10:05:09.732 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=508 fPos=8.4 fActPosition=8.4 time=0.000012 2022/01/28 10:05:09.932 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65282 fPos=7.604 fActPosition=7.59 time=0.000020 2022/01/28 10:05:09.932 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=481 fPos=7.604 fActPosition=7.59 time=0.000012 2022/01/28 10:05:10.133 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65309 fPos=6.8 fActPosition=6.78 time=0.000237 2022/01/28 10:05:10.133 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=454 fPos=6.8 fActPosition=6.78 time=0.000007 2022/01/28 10:05:10.333 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65335 fPos=6 fActPosition=6 time=0.000012 2022/01/28 10:05:10.333 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=428 fPos=6 fActPosition=6 time=0.000007 2022/01/28 10:05:10.534 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65362 fPos=5.196 fActPosition=5.19 time=0.000012 2022/01/28 10:05:10.534 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=401 fPos=5.196 fActPosition=5.19 time=0.000006 2022/01/28 10:05:10.734 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65389 fPos=4.396 fActPosition=4.38 time=0.000011 2022/01/28 10:05:10.734 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=374 fPos=4.396 fActPosition=4.38 time=0.000006 2022/01/28 10:05:10.934 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65415 fPos=3.596 fActPosition=3.6 time=0.000021 2022/01/28 10:05:10.935 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=347 fPos=3.592 fActPosition=3.57 time=0.000014 2022/01/28 10:05:11.135 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65442 fPos=2.792 fActPosition=2.79 time=0.000020 2022/01/28 10:05:11.135 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=321 fPos=2.792 fActPosition=2.79 time=0.000011 2022/01/28 10:05:11.336 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65469 fPos=1.988 fActPosition=1.98 time=0.000108 2022/01/28 10:05:11.336 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=294 fPos=1.988 fActPosition=1.98 time=0.000012 2022/01/28 10:05:11.536 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65495 fPos=1.188 fActPosition=1.2 time=0.000019 2022/01/28 10:05:11.537 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=267 fPos=1.184 fActPosition=1.17 time=0.000393 2022/01/28 10:05:11.737 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65520 fPos=0.448 fActPosition=0.45 time=0.000011 2022/01/28 10:05:11.737 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=243 fPos=0.448 fActPosition=0.45 time=0.000006 2022/01/28 10:05:11.938 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65533 fPos=0.052 fActPosition=0.06 time=0.000011 2022/01/28 10:05:11.938 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=229 fPos=0.052 fActPosition=0.03 time=0.000006 2022/01/28 10:05:12.138 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65535 fPos=0 fActPosition=0 time=0.000011 2022/01/28 10:05:12.138 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=228 fPos=0 fActPosition=0 time=0.000006 2022/01/28 10:05:12.338 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65535 fPos=0 fActPosition=0 time=0.000011 2022/01/28 10:05:12.338 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=228 fPos=0 fActPosition=0 time=0.000005 2022/01/28 10:05:12.538 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65535 fPos=0.004 fActPosition=0 time=0.000015 2022/01/28 10:05:12.539 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=228 fPos=0.008 fActPosition=0 time=0.000009 2022/01/28 10:05:12.739 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65526 fPos=0.264 fActPosition=0.27 time=0.000016 2022/01/28 10:05:12.739 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=237 fPos=0.264 fActPosition=0.27 time=0.000008 2022/01/28 10:05:12.939 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65505 fPos=0.888 fActPosition=0.9 time=0.000020 2022/01/28 10:05:12.940 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=258 fPos=0.892 fActPosition=0.9 time=0.000164 2022/01/28 10:05:13.140 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65478 fPos=1.692 fActPosition=1.71 time=0.000023 2022/01/28 10:05:13.140 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=285 fPos=1.692 fActPosition=1.71 time=0.000013 2022/01/28 10:05:13.341 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65452 fPos=2.496 fActPosition=2.49 time=0.000011 2022/01/28 10:05:13.341 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=311 fPos=2.496 fActPosition=2.49 time=0.000006 2022/01/28 10:05:13.541 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65425 fPos=3.3 fActPosition=3.3 time=0.000012 2022/01/28 10:05:13.541 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=339 fPos=3.3 fActPosition=3.33 time=0.000007 2022/01/28 10:05:13.741 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65398 fPos=4.1 fActPosition=4.11 time=0.000012 2022/01/28 10:05:13.742 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=365 fPos=4.104 fActPosition=4.11 time=0.000008 2022/01/28 10:05:13.942 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65372 fPos=4.9 fActPosition=4.89 time=0.000020 2022/01/28 10:05:13.942 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=391 fPos=4.9 fActPosition=4.89 time=0.000012 2022/01/28 10:05:14.142 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65345 fPos=5.7 fActPosition=5.7 time=0.000019 2022/01/28 10:05:14.143 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=419 fPos=5.704 fActPosition=5.73 time=0.000131 2022/01/28 10:05:14.343 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65318 fPos=6.504 fActPosition=6.51 time=0.000020 2022/01/28 10:05:14.344 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=445 fPos=6.508 fActPosition=6.51 time=0.000014 2022/01/28 10:05:14.544 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65291 fPos=7.308 fActPosition=7.32 time=0.000020 2022/01/28 10:05:14.544 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=472 fPos=7.308 fActPosition=7.32 time=0.000012 2022/01/28 10:05:14.745 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65265 fPos=8.112 fActPosition=8.1 time=0.000012 2022/01/28 10:05:14.745 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=499 fPos=8.112 fActPosition=8.13 time=0.000007 2022/01/28 10:05:14.945 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65237 fPos=8.912 fActPosition=8.94 time=0.000011 2022/01/28 10:05:14.945 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=525 fPos=8.912 fActPosition=8.91 time=0.000006 2022/01/28 10:05:15.145 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65211 fPos=9.712 fActPosition=9.72 time=0.000011 2022/01/28 10:05:15.145 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=552 fPos=9.712 fActPosition=9.72 time=0.000007 2022/01/28 10:05:15.346 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65184 fPos=10.516 fActPosition=10.53 time=0.000011 2022/01/28 10:05:15.346 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=579 fPos=10.516 fActPosition=10.53 time=0.000008 2022/01/28 10:05:15.546 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65157 fPos=11.316 fActPosition=11.34 time=0.000030 2022/01/28 10:05:15.546 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=605 fPos=11.316 fActPosition=11.31 time=0.000012 2022/01/28 10:05:15.747 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65131 fPos=12.124 fActPosition=12.12 time=0.000253 2022/01/28 10:05:15.747 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=632 fPos=12.124 fActPosition=12.12 time=0.000013 2022/01/28 10:05:15.947 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65104 fPos=12.92 fActPosition=12.93 time=0.000018 2022/01/28 10:05:15.948 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=659 fPos=12.928 fActPosition=12.93 time=0.000013 2022/01/28 10:05:16.148 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65077 fPos=13.724 fActPosition=13.74 time=0.000019 2022/01/28 10:05:16.148 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=686 fPos=13.724 fActPosition=13.74 time=0.000011 2022/01/28 10:05:16.349 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65051 fPos=14.528 fActPosition=14.52 time=0.000049 2022/01/28 10:05:16.349 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=712 fPos=14.528 fActPosition=14.52 time=0.000007 2022/01/28 10:05:16.549 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65024 fPos=15.328 fActPosition=15.33 time=0.000010 2022/01/28 10:05:16.549 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=739 fPos=15.328 fActPosition=15.33 time=0.000006 2022/01/28 10:05:16.749 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64997 fPos=16.128 fActPosition=16.14 time=0.000010 2022/01/28 10:05:16.749 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=766 fPos=16.128 fActPosition=16.14 time=0.000006 2022/01/28 10:05:16.950 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64971 fPos=16.932 fActPosition=16.92 time=0.000010 2022/01/28 10:05:16.950 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=793 fPos=16.932 fActPosition=16.95 time=0.000006 2022/01/28 10:05:17.150 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64944 fPos=17.732 fActPosition=17.73 time=0.000018 2022/01/28 10:05:17.150 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=819 fPos=17.732 fActPosition=17.73 time=0.000010 2022/01/28 10:05:17.351 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64917 fPos=18.536 fActPosition=18.54 time=0.000154 2022/01/28 10:05:17.351 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=846 fPos=18.536 fActPosition=18.54 time=0.000011 2022/01/28 10:05:17.551 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64891 fPos=19.324 fActPosition=19.32 time=0.000013 2022/01/28 10:05:17.551 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=872 fPos=19.324 fActPosition=19.32 time=0.000008 2022/01/28 10:05:17.752 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64873 fPos=19.848 fActPosition=19.86 time=0.000125 2022/01/28 10:05:17.752 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=890 fPos=19.848 fActPosition=19.86 time=0.000015 2022/01/28 10:05:17.952 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64868 fPos=20 fActPosition=20.01 time=0.000011 2022/01/28 10:05:17.953 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=895 fPos=20 fActPosition=20.01 time=0.000008 2022/01/28 10:05:18.153 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64868 fPos=20 fActPosition=20.01 time=0.000009 2022/01/28 10:05:18.153 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=894 fPos=20 fActPosition=19.98 time=0.000007 2022/01/28 10:05:18.353 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64868 fPos=20 fActPosition=20.01 time=0.000010 2022/01/28 10:05:18.353 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=895 fPos=20 fActPosition=20.01 time=0.000007 2022/01/28 10:05:18.554 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64868 fPos=20 fActPosition=20.01 time=0.000016 2022/01/28 10:05:18.554 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=895 fPos=20 fActPosition=20.01 time=0.000014 2022/01/28 10:05:18.754 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64868 fPos=20 fActPosition=20.01 time=0.000013 2022/01/28 10:05:18.754 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=895 fPos=20 fActPosition=20.01 time=0.000008 2022/01/28 10:05:18.954 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64868 fPos=20 fActPosition=20.01 time=0.000016 2022/01/28 10:05:18.954 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=894 fPos=20 fActPosition=19.98 time=0.000011 2022/01/28 10:05:19.155 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64868 fPos=20 fActPosition=20.01 time=0.000074 2022/01/28 10:05:19.155 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=895 fPos=20 fActPosition=20.01 time=0.000010 2022/01/28 10:05:19.355 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64868 fPos=20 fActPosition=20.01 time=0.000017 2022/01/28 10:05:19.355 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=895 fPos=20 fActPosition=20.01 time=0.000009 2022/01/28 10:05:19.555 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64868 fPos=20 fActPosition=20.01 time=0.000010 2022/01/28 10:05:19.555 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=895 fPos=20 fActPosition=20.01 time=0.000006 2022/01/28 10:05:19.756 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64868 fPos=20 fActPosition=20.01 time=0.000011 2022/01/28 10:05:19.756 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=894 fPos=20 fActPosition=19.98 time=0.000006 y: 1.00000 ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: GRBL: INFO: Reply OK (command[2] = G2X0Y0R20) GRBL: INFO: Write command (command[3] = G4P2) Added: G4P2../grbl/grbl_gcode.c:gc_execute_line:71: ../grbl/grbl_motion_control.c:mc_dwell:200: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_stepper.c:st_next_block_index:652: GRBL busy: 1.00000 ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_stepper.c:st_next_block_index:652: GRBL busy: 1.00000 ../grbl/grbl_stepper.c:st_go_idle:259: GRBL busy: 1.00000 GRBL busy: 1.00000 GRBL: INFO: Reply OK (command[3] = G4P2) GRBL: INFO: Write command (command[4] = G0X10Y10) Added: G0X10Y10../grbl/grbl_gcode.c:gc_execute_line:71: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_stepper.c:st_wake_up:228: GRBL: INFO: Reply OK (command[4] = G0X10Y10) GRBL: INFO: Write command (command[5] = G4P2) Added: G4P2../grbl/grbl_gcode.c:gc_execute_line:71: ../grbl/grbl_motion_control.c:mc_dwell:200: GRBL busy: 1.00000 GRBL busy: 1.00000 ../grbl/grbl_stepper.c:st_go_idle:259: GRBL busy: 1.00000 GRBL busy: 1.00000 GRBL: INFO: Reply OK (command[5] = G4P2) GRBL: INFO: Write command (command[6] = G1X0Y0) Added: G1X0Y0../grbl/grbl_gcode.c:gc_execute_line:71: ../grbl/grbl_motion_control.c:mc_line:33: GRBL: INFO: Reply OK (command[6] = G1X0Y0) ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_stepper.c:st_wake_up:228: GRBL busy: 1.00000 GRBL busy: 1.00000 GRBL busy: 1.00000 ../grbl/grbl_stepper.c:st_go_idle:259: GRBL busy: 0.00000 Retrigger g-code!! GRBL: INFO: Write command (command[0] = G1X20Y20F360) Added: G1X20Y20F360../grbl/grbl_gcode.c:gc_execute_line:71: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652: ../grbl/grbl_stepper.c:st_wake_up:228: GRBL: INFO: Reply OK (command[0] = G1X20Y20F360) GRBL: INFO: Write command (command[1] = G4P2) Added: G4P2../grbl/grbl_gcode.c:gc_execute_line:71: ../grbl/grbl_motion_control.c:mc_dwell:200: GRBL busy: 1.00000 GRBL busy: 1.00000 GRBL busy: 1.00000 GRBL busy: 1.00000 GRBL busy: 1.00000 ../grbl/grbl_stepper.c:st_go_idle:259: GRBL busy: 1.00000 GRBL busy: 1.00000 GRBL: INFO: Reply OK (command[1] = G4P2) GRBL: INFO: Write command (command[2] = G2X0Y0R20) Added: G2X0Y0R20../grbl/grbl_gcode.c:gc_execute_line:71: ../grbl/grbl_motion_control.c:mc_arc:91: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_update_plan_block_parameters:639: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_update_plan_block_parameters:639: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_motion_control.c:mc_line:33: ../grbl/grbl_stepper.c:st_next_block_index:652:2022/01/28 10:05:19.956 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64868 fPos=20 fActPosition=20.01 time=0.000012 2022/01/28 10:05:19.956 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=895 fPos=20 fActPosition=20.01 time=0.000006 2022/01/28 10:05:20.156 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64868 fPos=19.996 fActPosition=20.01 time=0.000028 2022/01/28 10:05:20.156 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=888 fPos=19.788 fActPosition=19.8 time=0.000011 2022/01/28 10:05:20.357 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64869 fPos=19.984 fActPosition=19.98 time=0.000011 2022/01/28 10:05:20.357 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=868 fPos=19.208 fActPosition=19.2 time=0.000006