3634 lines
202 KiB
Plaintext
3634 lines
202 KiB
Plaintext
registerChannelProviderLocal firstTime true
|
|
#
|
|
# Start at "2022-W03-Jan21-1233-04-CET"
|
|
#
|
|
# Version information:
|
|
# European Spallation Source ERIC : iocsh.bash (3.4.0-PID-5240)
|
|
#
|
|
# --->--> 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-5240"
|
|
#
|
|
# Enable an exit subroutine for sotfioc
|
|
dbLoadRecords "/home/pi/epics/base-7.0.5/db/softIocExit.db" "IOC=REQMOD:raspberrypi-5240"
|
|
#
|
|
# 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 SocketCAN plugin
|
|
## https://github.com/anderssandstrom/e3-ecmc_plugin_socketcan
|
|
##
|
|
## 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 init to motor record
|
|
epicsEnvSet("ECMC_AXISCONFIG", 2022/01/21 12:33:04.693
|
|
ECMC Initializes.............
|
|
2022/01/21 12:33:04.694 ESS Open Source EtherCAT Motion Control Epics Module2022/01/21 12:33:04.694
|
|
Mode: Configuration
|
|
2022/01/21 12:33:04.694 OK
|
|
2022/01/21 12:33:04.694 OK
|
|
2022/01/21 12:33:04.695 OK
|
|
2022/01/21 12:33:04.697 OK
|
|
2022/01/21 12:33:04.718 OK
|
|
2022/01/21 12:33:04.718 OK
|
|
2022/01/21 12:33:04.718 OK
|
|
"") # 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" "NELM=1"
|
|
epicsEnvSet("ECMC_EC_HWTYPE" "EK112022/01/21 12:33:04.720 OK
|
|
2022/01/21 12:33:04.721 OK
|
|
2022/01/21 12:33:04.728 OK
|
|
2022/01/21 12:33:04.729 OK
|
|
2022/01/21 12:33:04.729 OK
|
|
2022/01/21 12:33:04.729 OK
|
|
2022/01/21 12:33:04.730 OK
|
|
00")
|
|
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.EcAddEntryDT(1,0x2,0x03fa3052,2,0,0x1a04,0x6040,0x1,B1,binaryI2022/01/21 12:33:04.730 OK
|
|
2022/01/21 12:33:04.730 OK
|
|
2022/01/21 12:33:04.730 OK
|
|
2022/01/21 12:33:04.730 OK
|
|
2022/01/21 12:33:04.739 OK
|
|
2022/01/21 12:33:04.740 OK
|
|
2022/01/21 12:33:04.740 OK
|
|
2022/01/21 12:33:04.741 OK
|
|
2022/01/21 12:33:04.741 OK
|
|
2022/01/21 12:33:04.741 OK
|
|
2022/01/21 12:33:04.741 OK
|
|
2022/01/21 12:33:04.741 OK
|
|
nput05)"
|
|
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,binaryOutput07)"
|
|
ecmcConfigOrDie "Cfg.EcAddEntryDT(2,0x2,0x0af8302022/01/21 12:33:04.742 OK
|
|
2022/01/21 12:33:04.751 OK
|
|
2022/01/21 12:33:04.842 OK
|
|
2022/01/21 12:33:04.922 14385
|
|
2022/01/21 12:33:04.923 OK
|
|
2022/01/21 12:33:04.923 OK
|
|
2022/01/21 12:33:04.923 OK
|
|
2022/01/21 12:33:04.923 OK
|
|
2022/01/21 12:33:04.923 OK
|
|
52,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/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcmXsXXX.cmd",1)
|
|
2022/01/21 12:33:04.931 OK
|
|
2022/01/21 12:33:05.022 OK
|
|
2022/01/21 12:33:05.102 14385
|
|
2022/01/21 12:33:05.103 OK
|
|
2022/01/21 12:33:05.103 OK
|
|
2022/01/21 12:33:05.103 OK
|
|
2022/01/21 12:33:05.103 OK
|
|
2022/01/21 12:33:05.103 OK
|
|
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"
|
|
#==============================================================================
|
|
# ecmcmXsXXX.cmd
|
|
ecmcEpicsEnvSetCalc("sid", "4"2022/01/21 12:33:05.111 OK
|
|
2022/01/21 12:33:05.112 OK
|
|
2022/01/21 12:33:05.112 OK
|
|
,"%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", "","#- ")
|
|
iocshLoad "/home/pi/epics/base-7.0.5/require/3.42022/01/21 12:33:05.120 OK
|
|
2022/01/21 12:33:05.121 OK
|
|
2022/01/21 12:33:05.122 OK
|
|
2022/01/21 12:33:05.122 OK
|
|
2022/01/21 12:33:05.122 OK
|
|
2022/01/21 12:33:05.122 OK
|
|
2022/01/21 12:33:05.122 OK
|
|
2022/01/21 12:33:05.122 OK
|
|
2022/01/21 12:33:05.122 OK
|
|
.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/21 12:33:05.132 OK
|
|
2022/01/21 12:33:05.242 OK
|
|
2022/01/21 12:33:05.322 12848
|
|
2022/01/21 12:33:05.325 OK
|
|
2022/01/21 12:33:05.325 OK
|
|
2022/01/21 12:33:05.326 OK
|
|
2022/01/21 12:33:05.326 OK
|
|
2022/01/21 12:33:05.326 OK
|
|
2022/01/21 12:33:05.326 OK
|
|
2022/01/21 12:33:05.327 OK
|
|
2022/01/21 12:33:05.327 OK
|
|
2022/01/21 12:33:05.327 OK
|
|
2022/01/21 12:33:05.327 OK
|
|
2022/01/21 12:33:05.327 OK
|
|
2022/01/21 12:33:05.328 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-")
|
|
epicsEnvUnset(sid)
|
|
epicsEnvUnset(mid)
|
|
ecmcEpicsEnvSetCalcTern2022/01/21 12:33:05.347 OK
|
|
2022/01/21 12:33:05.347 OK
|
|
2022/01/21 12:33:05.347 OK
|
|
2022/01/21 12:33:05.348 OK
|
|
2022/01/21 12:33:05.348 OK
|
|
2022/01/21 12:33:05.348 OK
|
|
ary(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"
|
|
#==============================================================================
|
|
# addSlave.cmd
|
|
epicsEnvSet("ECMC_EC_SL2022/01/21 12:33:05.353 OK
|
|
2022/01/21 12:33:05.462 OK
|
|
2022/01/21 12:33:05.542 12848
|
|
2022/01/21 12:33:05.544 OK
|
|
2022/01/21 12:33:05.544 OK
|
|
2022/01/21 12:33:05.545 OK
|
|
2022/01/21 12:33:05.545 OK
|
|
2022/01/21 12:33:05.545 OK
|
|
2022/01/21 12:33:05.546 OK
|
|
2022/01/21 12:33:05.546 OK
|
|
2022/01/21 12:33:05.546 OK
|
|
2022/01/21 12:33:05.546 OK
|
|
2022/01/21 12:33:05.547 OK
|
|
2022/01/21 12:33:05.547 OK
|
|
2022/01/21 12:33:05.547 OK
|
|
AVE_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}
|
|
ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/s2022/01/21 12:33:05.573 OK
|
|
2022/01/21 12:33:05.573 OK
|
|
2022/01/21 12:33:05.573 OK
|
|
2022/01/21 12:33:05.574 OK
|
|
2022/01/21 12:33:05.574 OK
|
|
2022/01/21 12:33:05.575 OK
|
|
2022/01/21 12:33:05.575 OK
|
|
2022/01/21 12:33:05.576 OK
|
|
2022/01/21 12:33:05.576 OK
|
|
2022/01/21 12:33:05.576 OK
|
|
2022/01/21 12:33:05.577 OK
|
|
2022/01/21 12:33:05.577 OK
|
|
2022/01/21 12:33:05.577 OK
|
|
2022/01/21 12:33:05.578 OK
|
|
2022/01/21 12:33:05.578 OK
|
|
iteMods/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" "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.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
|
|
ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD,"abs(600.0)<>0","# ECMC_DRV_SCALE_NU2022/01/21 12:33:05.608 OK
|
|
2022/01/21 12:33:05.609 OK
|
|
2022/01/21 12:33:05.609 OK
|
|
2022/01/21 12:33:05.609 OK
|
|
2022/01/21 12:33:05.614 OK
|
|
2022/01/21 12:33:05.614 OK
|
|
2022/01/21 12:33:05.614 OK
|
|
2022/01/21 12:33:05.614 OK
|
|
2022/01/21 12:33:05.614 OK
|
|
2022/01/21 12:33:05.615 OK
|
|
2022/01/21 12:33:05.615 OK
|
|
2022/01/21 12:33:05.615 OK
|
|
2022/01/21 12:33:05.615 OK
|
|
2022/01/21 12:33:05.615 OK
|
|
2022/01/21 12:33:05.615 OK
|
|
2022/01/21 12:33:05.616 OK
|
|
2022/01/21 12:33:05.616 OK
|
|
2022/01/21 12:33:05.616 OK
|
|
2022/01/21 12:33:05.616 OK
|
|
2022/01/21 12:33:05.616 OK
|
|
2022/01/21 12:33:05.616 OK
|
|
2022/01/21 12:33:05.616 OK
|
|
2022/01/21 12:33:05.617 OK
|
|
2022/01/21 12:33:05.617 OK
|
|
2022/01/21 12:33:05.617 OK
|
|
2022/01/21 12:33:05.617 OK
|
|
2022/01/21 12:33:05.617 OK
|
|
2022/01/21 12:33:05.617 OK
|
|
2022/01/21 12:33:05.618 OK
|
|
2022/01/21 12:33:05.618 OK
|
|
2022/01/21 12:33:05.618 OK
|
|
2022/01/21 12:33:05.618 OK
|
|
2022/01/21 12:33:05.618 OK
|
|
2022/01/21 12:33:05.619 OK
|
|
2022/01/21 12:33:05.619 OK
|
|
2022/01/21 12:33:05.619 OK
|
|
2022/01/21 12:33:05.620 OK
|
|
2022/01/21 12:33:05.620 OK
|
|
2022/01/21 12:33:05.620 OK
|
|
M 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,0)"
|
|
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")"
|
|
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s8.driveControl01.2022/01/21 12:33:05.621 OK
|
|
2022/01/21 12:33:05.621 OK
|
|
2022/01/21 12:33:05.622 OK
|
|
2022/01/21 12:33:05.622 OK
|
|
2022/01/21 12:33:05.622 OK
|
|
2022/01/21 12:33:05.622 OK
|
|
2022/01/21 12:33:05.622 OK
|
|
2022/01/21 12:33:05.623 OK
|
|
2022/01/21 12:33:05.623 OK
|
|
2022/01/21 12:33:05.623 OK
|
|
2022/01/21 12:33:05.623 OK
|
|
2022/01/21 12:33:05.623 OK
|
|
2022/01/21 12:33:05.624 OK
|
|
2022/01/21 12:33:05.624 OK
|
|
2022/01/21 12:33:05.624 OK
|
|
2022/01/21 12:33:05.624 OK
|
|
2022/01/21 12:33:05.624 OK
|
|
2022/01/21 12:33:05.624 OK
|
|
2022/01/21 12:33:05.625 OK
|
|
2022/01/21 12:33:05.625 OK
|
|
2022/01/21 12:33:05.625 OK
|
|
2022/01/21 12:33:05.625 OK
|
|
2022/01/21 12:33:05.626 OK
|
|
2022/01/21 12:33:05.626 OK
|
|
2022/01/21 12:33:05.626 OK
|
|
2022/01/21 12:33:05.626 OK
|
|
2022/01/21 12:33:05.626 OK
|
|
2022/01/21 12:33:05.627 OK
|
|
2022/01/21 12:33:05.627 OK
|
|
2022/01/21 12:33:05.627 OK
|
|
2022/01/21 12:33:05.627 OK
|
|
2022/01/21 12:33:05.628 OK
|
|
2022/01/21 12:33:05.628 ecmcMotorRecord:: setIntegerParam(1 motorPowerAutoOnOff_)=2
|
|
2022/01/21 12:33:05.629 ecmcMotorRecord:: setDoubleParam(1 motorPowerOnDelay_)=6
|
|
2022/01/21 12:33:05.629 ecmcMotorRecord:: setDoubleParam(1 motorPowerOffDelay_=-1
|
|
2022/01/21 12:33:05.630 ecmcMotorRecord:: udateMotorLimitsRO(1) enabledHighAndLow=1 valid=1 fValueHigh=130 fValueLow=-20
|
|
2022/01/21 12:33:05.630 ecmcMotorRecord:: connected(1)
|
|
2022/01/21 12:33:05.630 ecmcMotorRecord:: initialPoll(1) status=0
|
|
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)
|
|
epicsEnvUnset(ECMC_ACCL)
|
|
epicsEnvUnset(ECMC_ACCS_EGU_PmacLib: 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})
|
|
ER_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", "")
|
|
epicsEnvSet("ECMC_AXIS_EXPR_LINE_7", "")
|
|
2022/01/21 12:33:05.648 OK
|
|
2022/01/21 12:33:05.648 OK
|
|
2022/01/21 12:33:05.648 OK
|
|
2022/01/21 12:33:05.648 OK
|
|
2022/01/21 12:33:05.648 OK
|
|
2022/01/21 12:33:05.648 OK
|
|
2022/01/21 12:33:05.648 OK
|
|
2022/01/21 12:33:05.649 OK
|
|
2022/01/21 12:33:05.649 OK
|
|
2022/01/21 12:33:05.649 OK
|
|
2022/01/21 12:33:05.649 OK
|
|
2022/01/21 12:33:05.649 OK
|
|
2022/01/21 12:33:05.649 OK
|
|
2022/01/21 12:33:05.649 OK
|
|
2022/01/21 12:33:05.649 OK
|
|
2022/01/21 12:33:05.649 OK
|
|
2022/01/21 12:33:05.649 OK
|
|
2022/01/21 12:33:05.649 OK
|
|
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 value OK == 32768.0...", "ecmcExit Error: ECMC_DRV_SCALE_DEN2022/01/21 12:33:05.661 OK
|
|
2022/01/21 12:33:05.661 OK
|
|
2022/01/21 12:33:05.661 OK
|
|
2022/01/21 12:33:05.662 OK
|
|
2022/01/21 12:33:05.665 OK
|
|
2022/01/21 12:33:05.665 OK
|
|
2022/01/21 12:33:05.665 OK
|
|
2022/01/21 12:33:05.665 OK
|
|
2022/01/21 12:33:05.665 OK
|
|
2022/01/21 12:33:05.665 OK
|
|
2022/01/21 12:33:05.665 OK
|
|
2022/01/21 12:33:05.665 OK
|
|
2022/01/21 12:33:05.665 OK
|
|
2022/01/21 12:33:05.665 OK
|
|
2022/01/21 12:33:05.665 OK
|
|
2022/01/21 12:33:05.665 OK
|
|
2022/01/21 12:33:05.666 OK
|
|
2022/01/21 12:33:05.666 OK
|
|
2022/01/21 12:33:05.666 OK
|
|
2022/01/21 12:33:05.666 OK
|
|
2022/01/21 12:33:05.666 OK
|
|
2022/01/21 12:33:05.666 OK
|
|
2022/01/21 12:33:05.666 OK
|
|
2022/01/21 12:33:05.666 OK
|
|
2022/01/21 12:33:05.666 OK
|
|
2022/01/21 12:33:05.666 OK
|
|
2022/01/21 12:33:05.666 OK
|
|
2022/01/21 12:33:05.666 OK
|
|
2022/01/21 12:33:05.666 OK
|
|
2022/01/21 12:33:05.666 OK
|
|
2022/01/21 12:33:05.666 OK
|
|
2022/01/21 12:33:05.667 OK
|
|
2022/01/21 12:33:05.667 OK
|
|
2022/01/21 12:33:05.667 OK
|
|
2022/01/21 12:33:05.667 OK
|
|
2022/01/21 12:33:05.667 OK
|
|
2022/01/21 12:33:05.667 OK
|
|
2022/01/21 12:33:05.667 OK
|
|
2022/01/21 12:33:05.667 OK
|
|
2022/01/21 12:33:05.667 OK
|
|
2022/01/21 12:33:05.667 OK
|
|
2022/01/21 12:33:05.667 OK
|
|
2022/01/21 12:33:05.667 OK
|
|
2022/01/21 12:33:05.667 OK
|
|
2022/01/21 12:33:05.667 OK
|
|
2022/01/21 12:33:05.668 OK
|
|
2022/01/21 12:33:05.668 OK
|
|
2022/01/21 12:33:05.668 OK
|
|
OM == 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.SetAxisDrvBrakeCloseAheadTime(2,0)"
|
|
ecmcConfigOrDie "Cfg.SetAxisSof2022/01/21 12:33:05.668 OK
|
|
2022/01/21 12:33:05.668 OK
|
|
2022/01/21 12:33:05.668 OK
|
|
2022/01/21 12:33:05.668 OK
|
|
2022/01/21 12:33:05.668 OK
|
|
2022/01/21 12:33:05.668 OK
|
|
2022/01/21 12:33:05.668 OK
|
|
2022/01/21 12:33:05.668 OK
|
|
2022/01/21 12:33:05.668 OK
|
|
2022/01/21 12:33:05.668 OK
|
|
2022/01/21 12:33:05.669 OK
|
|
2022/01/21 12:33:05.669 OK
|
|
2022/01/21 12:33:05.669 OK
|
|
2022/01/21 12:33:05.669 OK
|
|
2022/01/21 12:33:05.669 OK
|
|
2022/01/21 12:33:05.669 OK
|
|
2022/01/21 12:33:05.669 OK
|
|
2022/01/21 12:33:05.669 OK
|
|
2022/01/21 12:33:05.669 OK
|
|
2022/01/21 12:33:05.669 OK
|
|
2022/01/21 12:33:05.669 OK
|
|
2022/01/21 12:33:05.669 OK
|
|
2022/01/21 12:33:05.670 OK
|
|
2022/01/21 12:33:05.670 ecmcMotorRecord:: setIntegerParam(2 motorPowerAutoOnOff_)=2
|
|
2022/01/21 12:33:05.670 ecmcMotorRecord:: setDoubleParam(2 motorPowerOnDelay_)=6
|
|
2022/01/21 12:33:05.670 ecmcMotorRecord:: setDoubleParam(2 motorPowerOffDelay_=-1
|
|
2022/01/21 12:33:05.670 ecmcMotorRecord:: udateMotorLimitsRO(2) enabledHighAndLow=1 valid=1 fValueHigh=20 fValueLow=-130
|
|
2022/01/21 12:33:05.670 ecmcMotorRecord:: connected(2)
|
|
2022/01/21 12:33:05.670 ecmcMotorRecord:: initialPoll(2) status=0
|
|
tLimitPosBwd(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)
|
|
epicsEnvUnset(ECMC_ENC_ABS_OFFSET)
|
|
epicsEnvUnset(ECMC_ENC_VmacLib: 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/21 12:33:05.681 OK
|
|
2022/01/21 12:33:05.681 OK
|
|
2022/01/21 12:33:05.681 OK
|
|
EL_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)"
|
|
ecmcConfigOrDie "Cfg.AppendAxisPLCExpr(2)=var a:=1|"
|
|
ecm2022/01/21 12:33:05.681 OK
|
|
2022/01/21 12:33:05.681 OK
|
|
2022/01/21 12:33:05.681 OK
|
|
2022/01/21 12:33:05.681 OK
|
|
2022/01/21 12:33:05.681 OK
|
|
2022/01/21 12:33:05.681 OK
|
|
2022/01/21 12:33:05.681 OK
|
|
2022/01/21 12:33:05.681 OK
|
|
2022/01/21 12:33:05.682 OK
|
|
2022/01/21 12:33:05.682 OK
|
|
2022/01/21 12:33:05.682 OK
|
|
2022/01/21 12:33:05.682 OK
|
|
2022/01/21 12:33:05.682 OK
|
|
2022/01/21 12:33:05.682 OK
|
|
2022/01/21 12:33:05.682 OK
|
|
cConfigOrDie "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;") # 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;', 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;)"
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:doReadWorker:222
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:doMainWorker:260
|
|
../grbl/grbl_serial.c:serial_init:70:
|
|
../grbl/grbl_eeprom.c:ecmc_init_file:53
|
|
../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:626
|
|
../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_spindle_control.c:spindle_init:31 Not supported yet..
|
|
../grbl/grbl_coolant_control.c:coolant_init:25 Not supported yet..
|
|
../grbl/grbl_li2022/01/21 12:33:05.887 OK
|
|
2022/01/21 12:33:05.888 OK
|
|
mits.c:limits_init:44 Not supported yet..
|
|
../grbl/grbl_probe.c:probe_init:31 Not supported yet..
|
|
../grbl/grbl_stepper.c:st_reset:593
|
|
../grbl/grbl_stepper.c:st_go_idle:297
|
|
Waiting for grbl init..../ecmc_plugin_grbl/ecmcGrbl.cpp:doWriteWorker:234
|
|
../grbl/grbl_stepper.c:st_generate_step_dir_invert_masks:571
|
|
../grbl/grbl_gcode.c:gc_sync_position:59:
|
|
../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 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=<axis id>: Ecmc Axis id for use as grbl X axis, default = disabled (=-1).
|
|
Y_AXIS=<axis id>: Ecmc Axis id for use as grbl Y axis, default = disabled (=-1).
|
|
Z_AXIS=<axis id>: Ecmc Axis id for use as grbl Z axis, default = disabled (=-1).
|
|
SPINDLE_AXIS=<axis id>: 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).
|
|
|
|
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;
|
|
Version = 2
|
|
Interface version = 65536 (ecmc = 65536)
|
|
max plc funcs = 64
|
|
max plc func args = 10
|
|
max plc consts = 64
|
|
Construct func = @0xb5014c80
|
|
Enter realtime func = @0xb5014c28
|
|
Exit realtime func = @0xb5014c30
|
|
Realtime func = @0xb5014c70
|
|
Destruct func = @0xb5014c48
|
|
dlhandle = @0x1b71d28
|
|
Plc functions:
|
|
funcs[00]:
|
|
Name = "grbl_connect();"
|
|
Desc = double grbl_connect() : Connect to grbl interface (from config str).
|
|
Arg count = 0
|
|
func = @0xb5014c38
|
|
Plc constants:
|
|
|
|
epicsEnvUnset(ECMC_PLUGIN_REPORT);
|
|
epicsEnvUnset(ECMC_PLUGIN_FILNAME)
|
|
epicsEnvUnset(ECMC_PLUGIN_CONFIG)
|
|
ecmcGrblAddCommand("G1X20Y20F20");
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:416:
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:420: Buffer size 1
|
|
ecmcGrblAddCommand("G4P1");
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:416:
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:420: Buffer size 2
|
|
ecmcGrblAddCommand("G2X0Y0R20");
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:416:
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:420: Buffer size 3
|
|
ecmcGrblAddCommand("G0X10Y10");
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:416:
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:420: Buffer size 4
|
|
ecmcGrblAddCommand("G4P1");
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:416:
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:420: Buffer size 5
|
|
ecmcGrblAddCommand("G1X10Y0F10");
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:416:
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:420: Buffer size 6
|
|
ecmcGrblAddCommand("G4P1");
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:416:
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:420: Buffer size 7
|
|
ecmcGrblAddCommand("G1X50Y50F10");
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:416:
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:420: Buffer size 8
|
|
ecmcGrblAddCommand("G4P1");
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:416:
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:420: Buffer size 9
|
|
ecmcGrblAddCommand("G1X0Y0F10");
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:416:
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:420: Buffer size 10
|
|
#
|
|
#ecmcGrblAddCommand("$");
|
|
#
|
|
#ecmcGrblAddCommand("G0X10Y100");
|
|
#
|
|
#ecmcGrblAddCommand("$G");
|
|
#
|
|
#ecmcGrblAddCommand("G4P1");
|
|
#
|
|
#ecmcGrblAddCommand("G1X20Y20F20");
|
|
#
|
|
#ecmcGrblAddCommand("G4P1");
|
|
#
|
|
#ecmcGrblAd2022/01/21 12:33:05.888 OK
|
|
2022/01/21 12:33:05.888 OK
|
|
2022/01/21 12:33:05.888 OK
|
|
2022/01/21 12:33:05.889 OK
|
|
2022/01/21 12:33:05.889 OK
|
|
2022/01/21 12:33:05.889 OK
|
|
2022/01/21 12:33:05.893 INFO: Locking memory
|
|
2022/01/21 12:33:05.993 ../devEcmcSup/motion/ecmcMonitor.cpp/checkLimits:501: ERROR_MON_BOTH_LIMIT_INTERLOCK (0x14c10).
|
|
2022/01/21 12:33:05.993 ../devEcmcSup/motion/ecmcAxisReal.cpp/execute:185: ERROR_AXIS_HARDWARE_STATUS_NOT_OK (0x14315).
|
|
2022/01/21 12:33:05.993 ../devEcmcSup/motion/ecmcMonitor.cpp/checkLimits:501: ERROR_MON_BOTH_LIMIT_INTERLOCK (0x14c10).
|
|
2022/01/21 12:33:05.993 ../devEcmcSup/motion/ecmcAxisReal.cpp/execute:185: ERROR_AXIS_HARDWARE_STATUS_NOT_OK (0x14315).
|
|
2022/01/21 12:33:05.994 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:374: ERROR: Slave 0: Not operational (0x24011).
|
|
2022/01/21 12:33:05.994 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:379: ERROR_EC_SLAVE_NOT_OPERATIONAL (0x24011).
|
|
2022/01/21 12:33:05.994 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:374: ERROR: Slave 1: Not operational (0x24011).
|
|
2022/01/21 12:33:05.994 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:379: ERROR_EC_SLAVE_NOT_OPERATIONAL (0x24011).
|
|
2022/01/21 12:33:05.994 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:374: ERROR: Slave 2: Not operational (0x24011).
|
|
2022/01/21 12:33:05.994 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:379: ERROR_EC_SLAVE_NOT_OPERATIONAL (0x24011).
|
|
2022/01/21 12:33:05.994 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:374: ERROR: Slave 3: Not operational (0x24011).
|
|
2022/01/21 12:33:05.994 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:379: ERROR_EC_SLAVE_NOT_OPERATIONAL (0x24011).
|
|
2022/01/21 12:33:05.994 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:374: ERROR: Slave 4: Not operational (0x24011).
|
|
2022/01/21 12:33:05.994 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:379: ERROR_EC_SLAVE_NOT_OPERATIONAL (0x24011).
|
|
2022/01/21 12:33:05.994 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:374: ERROR: Slave 5: Not operational (0x24011).
|
|
2022/01/21 12:33:05.994 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:379: ERROR_EC_SLAVE_NOT_OPERATIONAL (0x24011).
|
|
2022/01/21 12:33:05.994 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:374: ERROR: Slave 6: Not operational (0x24011).
|
|
2022/01/21 12:33:05.994 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:379: ERROR_EC_SLAVE_NOT_OPERATIONAL (0x24011).
|
|
2022/01/21 12:33:05.994 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:374: ERROR: Slave 8: Not operational (0x24011).
|
|
2022/01/21 12:33:05.994 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:379: ERROR_EC_SLAVE_NOT_OPERATIONAL (0x24011).
|
|
2022/01/21 12:33:05.994 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:374: ERROR: Slave 9: Not operational (0x24011).
|
|
2022/01/21 12:33:05.994 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:379: ERROR_EC_SLAVE_NOT_OPERATIONAL (0x24011).
|
|
2022/01/21 12:33:06.015 Starting up EtherCAT bus: 0 second(s). Max wait time 30 second(s).
|
|
2022/01/21 12:33:06.094 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=0 fPos=0 fActPosition=0 time=0.000015
|
|
2022/01/21 12:33:06.094 ecmcMotorRecord:: poll(1) bError=1 drvlocal.statusBinData.onChangeData.error=0x14315
|
|
2022/01/21 12:33:06.094 ecmcMotorRecord:: sErrorMessage(1)="ERROR_AXIS_HARDWARE_STATUS_NOT_OK"
|
|
2022/01/21 12:33:06.094 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/21 12:33:06.095 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=0 fPos=0 fActPosition=0 time=0.000012
|
|
2022/01/21 12:33:06.095 ecmcMotorRecord:: poll(2) bError=1 drvlocal.statusBinData.onChangeData.error=0x14315
|
|
2022/01/21 12:33:06.095 ecmcMotorRecord:: sErrorMessage(2)="ERROR_AXIS_HARDWARE_STATUS_NOT_OK"
|
|
2022/01/21 12:33:06.095 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/21 12:33:06.295 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/21 12:33:06.295 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=0 fPos=0 fActPosition=0 time=0.000007
|
|
2022/01/21 12:33:06.495 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=0 fPos=0 fActPosition=0 time=0.000019
|
|
2022/01/21 12:33:06.495 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=0 fPos=0 fActPosition=0 time=0.000011
|
|
2022/01/21 12:33:06.695 ecmcMotorRecord:: poll(1) LLS=0
|
|
2022/01/21 12:33:06.695 ecmcMotorRecord:: poll(1) HLS=0
|
|
2022/01/21 12:33:06.695 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=64124 fPos=0 fActPosition=42.33 time=0.000105
|
|
2022/01/21 12:33:06.695 ecmcMotorRecord:: poll(2) LLS=0
|
|
2022/01/21 12:33:06.695 ecmcMotorRecord:: poll(2) HLS=0
|
|
2022/01/21 12:33:06.695 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=204 fPos=0 fActPosition=6.12 time=0.000041
|
|
2022/01/21 12:33:06.896 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=64124 fPos=0 fActPosition=42.33 time=0.000013
|
|
2022/01/21 12:33:06.896 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=204 fPos=0 fActPosition=6.12 time=0.000006
|
|
2022/01/21 12:33:06.973 ../devEcmcSup/motion/ecmcDriveBase.cpp/readEntries:328: WARNING (axis 1): Drive hardware in warning state.
|
|
2022/01/21 12:33:07.015 Starting up EtherCAT bus: 1 second(s). Max wait time 30 second(s).
|
|
2022/01/21 12:33:07.096 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=64124 fPos=0 fActPosition=42.33 time=0.000012
|
|
2022/01/21 12:33:07.096 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=204 fPos=0 fActPosition=6.12 time=0.000005
|
|
2022/01/21 12:33:07.204 ../devEcmcSup/motion/ecmcDriveBase.cpp/readEntries:328: WARNING (axis 2): Drive hardware in warning state.
|
|
2022/01/21 12:33:07.296 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=64124 fPos=0 fActPosition=42.33 time=0.000013
|
|
2022/01/21 12:33:07.296 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=204 fPos=0 fActPosition=6.12 time=0.000006
|
|
2022/01/21 12:33:07.496 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=64124 fPos=0 fActPosition=42.33 time=0.000012
|
|
2022/01/21 12:33:07.496 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=204 fPos=0 fActPosition=6.12 time=0.000010
|
|
2022/01/21 12:33:07.497 ../devEcmcSup/main/ecmcError.cpp/errorReset:103: NO_ERROR (0x0).
|
|
2022/01/21 12:33:07.497 ../devEcmcSup/main/ecmcError.cpp/errorReset:103: NO_ERROR (0x0).
|
|
2022/01/21 12:33:07.497 ../devEcmcSup/main/ecmcError.cpp/errorReset:103: NO_ERROR (0x0).
|
|
2022/01/21 12:33:07.497 ../devEcmcSup/main/ecmcError.cpp/errorReset:103: NO_ERROR (0x0).
|
|
2022/01/21 12:33:07.497 ../devEcmcSup/main/ecmcError.cpp/errorReset:103: NO_ERROR (0x0).
|
|
2022/01/21 12:33:07.696 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=64124 fPos=0 fActPosition=0 time=0.000014
|
|
2022/01/21 12:33:07.696 ecmcMotorRecord:: poll(1) bError=0 drvlocal.statusBinData.onChangeData.error=0x0
|
|
2022/01/21 12:33:07.696 ecmcMotorRecord:: poll(1) callParamCallbacksUpdateError Error=4 old=1 ErrID=0x0 old=0x14315 Warn=0 nCmd=0 old=0 txt=NULL
|
|
2022/01/21 12:33:07.697 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=204 fPos=0 fActPosition=0 time=0.000008
|
|
2022/01/21 12:33:07.697 ecmcMotorRecord:: poll(2) bError=0 drvlocal.statusBinData.onChangeData.error=0x0
|
|
2022/01/21 12:33:07.697 ecmcMotorRecord:: poll(2) callParamCallbacksUpdateError Error=4 old=1 ErrID=0x0 old=0x14315 Warn=0 nCmd=0 old=0 txt=NULL
|
|
2022/01/21 12:33:07.897 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=64124 fPos=0 fActPosition=0 time=0.000011
|
|
2022/01/21 12:33:07.897 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=204 fPos=0 fActPosition=0 time=0.000006
|
|
2022/01/21 12:33:08.097 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=64124 fPos=0 fActPosition=0 time=0.000018
|
|
2022/01/21 12:33:08.097 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=204 fPos=0 fActPosition=0 time=0.000009
|
|
2022/01/21 12:33:08.297 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=64124 fPos=0 fActPosition=0 time=0.000143
|
|
2022/01/21 12:33:08.298 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=204 fPos=0 fActPosition=0 time=0.000011
|
|
2022/01/21 12:33:08.498 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=64124 fPos=0 fActPosition=0 time=0.000020
|
|
2022/01/21 12:33:08.498 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=204 fPos=0 fActPosition=0 time=0.000009
|
|
2022/01/21 12:33:08.698 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=64124 fPos=0 fActPosition=0 time=0.000019
|
|
2022/01/21 12:33:08.698 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=204 fPos=0 fActPosition=0 time=0.000011
|
|
2022/01/21 12:33:08.898 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=64124 fPos=0 fActPosition=0 time=0.000012
|
|
2022/01/21 12:33:08.898 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=204 fPos=0 fActPosition=0 time=0.000007
|
|
2022/01/21 12:33:09.015 EtherCAT bus started!
|
|
2022/01/21 12:33:09.015 OK
|
|
2022/01/21 12:33:09.015 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAtIocBuild (0). Allow callbacks: true.
|
|
Starting iocInit
|
|
2022/01/21 12:33:09.015 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAtBeginning (1). Allow callbacks: true.
|
|
2022/01/21 12:33:09.029 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAfterCallbackInit (2). Allow callbacks: true.
|
|
2022/01/21 12:33:09.035 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAfterCaLinkInit (3). Allow callbacks: true.
|
|
2022/01/21 12:33:09.035 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAfterInitDrvSup (4). Allow callbacks: true.
|
|
2022/01/21 12:33:09.035 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAfterInitRecSup (5). Allow callbacks: true.
|
|
2022/01/21 12:33:09.040 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAfterInitDevSup (6). Allow callbacks: true.
|
|
2022/01/21 12:33:09.043 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s3.positionActual01 linked to record (asyn reason 1).
|
|
2022/01/21 12:33:09.044 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s3.encoderLatchPostion01 linked to record (asyn reason 2).
|
|
2022/01/21 12:33:09.044 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s3.encoderControl01 linked to record (asyn reason 3).
|
|
2022/01/21 12:33:09.045 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s3.encoderValue01 linked to record (asyn reason 4).
|
|
2022/01/21 12:33:09.045 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s4.positionActual01 linked to record (asyn reason 5).
|
|
2022/01/21 12:33:09.045 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s4.encoderLatchPostion01 linked to record (asyn reason 6).
|
|
2022/01/21 12:33:09.046 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s4.encoderControl01 linked to record (asyn reason 7).
|
|
2022/01/21 12:33:09.046 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s4.encoderValue01 linked to record (asyn reason 8).
|
|
2022/01/21 12:33:09.046 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s6.timestampLatchPositive01 linked to record (asyn reason 9).
|
|
2022/01/21 12:33:09.050 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s6.timestampLatchNegative01 linked to record (asyn reason 10).
|
|
2022/01/21 12:33:09.051 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s6.timestampLatchPositive02 linked to record (asyn reason 11).
|
|
2022/01/21 12:33:09.051 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s6.timestampLatchNegative02 linked to record (asyn reason 12).
|
|
2022/01/21 12:33:09.051 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s8.driveControl01 linked to record (asyn reason 13).
|
|
2022/01/21 12:33:09.051 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s8.velocitySetpoint01 linked to record (asyn reason 14).
|
|
2022/01/21 12:33:09.052 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s8.positionActual01 linked to record (asyn reason 15).
|
|
2022/01/21 12:33:09.052 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s8.encoderLatchPostion01 linked to record (asyn reason 16).
|
|
2022/01/21 12:33:09.053 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s8.encoderControl01 linked to record (asyn reason 17).
|
|
2022/01/21 12:33:09.053 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s8.encoderValue01 linked to record (asyn reason 18).
|
|
2022/01/21 12:33:09.054 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s9.driveControl01 linked to record (asyn reason 19).
|
|
2022/01/21 12:33:09.054 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s9.velocitySetpoint01 linked to record (asyn reason 20).
|
|
2022/01/21 12:33:09.054 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s9.positionActual01 linked to record (asyn reason 21).
|
|
2022/01/21 12:33:09.055 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s9.encoderLatchPostion01 linked to record (asyn reason 22).
|
|
2022/01/21 12:33:09.055 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s9.encoderControl01 linked to record (asyn reason 23).
|
|
2022/01/21 12:33:09.056 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s9.encoderValue01 linked to record (asyn reason 24).
|
|
2022/01/21 12:33:09.057 ecmcAsynPortDriver:drvUserCreate: Parameter ax1.actpos linked to record (asyn reason 25).
|
|
2022/01/21 12:33:09.058 ecmcAsynPortDriver:drvUserCreate: Parameter ax1.setpos linked to record (asyn reason 26).
|
|
2022/01/21 12:33:09.058 ecmcAsynPortDriver:drvUserCreate: Parameter ax1.poserr linked to record (asyn reason 27).
|
|
2022/01/21 12:33:09.059 ecmcAsynPortDriver:drvUserCreate: Parameter plcs.ax1.plc.error linked to record (asyn reason 28).
|
|
2022/01/21 12:33:09.060 ecmcAsynPortDriver:drvUserCreate: Parameter ax2.actpos linked to record (asyn reason 29).
|
|
2022/01/21 12:33:09.060 ecmcAsynPortDriver:drvUserCreate: Parameter ax2.setpos linked to record (asyn reason 30).
|
|
2022/01/21 12:33:09.061 ecmcAsynPortDriver:drvUserCreate: Parameter ax2.poserr linked to record (asyn reason 31).
|
|
2022/01/21 12:33:09.062 ecmcAsynPortDriver:drvUserCreate: Parameter plcs.ax2.plc.error linked to record (asyn reason 32).
|
|
2022/01/21 12:33:09.063 ecmcAsynPortDriver:drvUserCreate: Parameter ecmc.appmode linked to record (asyn reason 33).
|
|
2022/01/21 12:33:09.064 ecmcAsynPortDriver:drvUserCreate: Parameter ecmc.error.id linked to record (asyn reason 34).
|
|
2022/01/21 12:33:09.064 ecmcAsynPortDriver:drvUserCreate: Parameter ecmc.thread.latency.min linked to record (asyn reason 35).
|
|
2022/01/21 12:33:09.069 ecmcAsynPortDriver:drvUserCreate: Parameter ecmc.thread.latency.max linked to record (asyn reason 36).
|
|
2022/01/21 12:33:09.070 ecmcAsynPortDriver:drvUserCreate: Parameter ecmc.thread.period.min linked to record (asyn reason 37).
|
|
2022/01/21 12:33:09.071 ecmcAsynPortDriver:drvUserCreate: Parameter ecmc.thread.period.max linked to record (asyn reason 38).
|
|
2022/01/21 12:33:09.072 ecmcAsynPortDriver:drvUserCreate: Parameter ecmc.thread.execute.min linked to record (asyn reason 39).
|
|
2022/01/21 12:33:09.073 ecmcAsynPortDriver:drvUserCreate: Parameter ecmc.thread.execute.max linked to record (asyn reason 40).
|
|
2022/01/21 12:33:09.075 ecmcAsynPortDriver:drvUserCreate: Parameter ecmc.thread.send.min linked to record (asyn reason 41).
|
|
2022/01/21 12:33:09.076 ecmcAsynPortDriver:drvUserCreate: Parameter ecmc.thread.send.max linked to record (asyn reason 42).
|
|
2022/01/21 12:33:09.078 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s1.binaryInput01 linked to record (asyn reason 43).
|
|
2022/01/21 12:33:09.079 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s1.binaryInput02 linked to record (asyn reason 44).
|
|
2022/01/21 12:33:09.081 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s1.binaryInput03 linked to record (asyn reason 45).
|
|
2022/01/21 12:33:09.083 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s1.binaryInput04 linked to record (asyn reason 46).
|
|
2022/01/21 12:33:09.086 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s1.binaryInput05 linked to record (asyn reason 47).
|
|
2022/01/21 12:33:09.088 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s1.binaryInput06 linked to record (asyn reason 48).
|
|
2022/01/21 12:33:09.090 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s1.binaryInput07 linked to record (asyn reason 49).
|
|
2022/01/21 12:33:09.092 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s1.binaryInput08 linked to record (asyn reason 50).
|
|
2022/01/21 12:33:09.095 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s2.binaryOutput01 linked to record (asyn reason 51).
|
|
2022/01/21 12:33:09.096 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s2.binaryOutput02 linked to record (asyn reason 52).
|
|
2022/01/21 12:33:09.098 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s2.binaryOutput03 linked to record (asyn reason 53).
|
|
2022/01/21 12:33:09.099 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=64124 fPos=0 fActPosition=0 time=0.000047
|
|
2022/01/21 12:33:09.099 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=204 fPos=0 fActPosition=0 time=0.000012
|
|
2022/01/21 12:33:09.100 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s2.binaryOutput04 linked to record (asyn reason 54).
|
|
2022/01/21 12:33:09.102 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s2.binaryOutput05 linked to record (asyn reason 55).
|
|
2022/01/21 12:33:09.105 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s2.binaryOutput06 linked to record (asyn reason 56).
|
|
2022/01/21 12:33:09.107 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s2.binaryOutput07 linked to record (asyn reason 57).
|
|
2022/01/21 12:33:09.109 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s2.binaryOutput08 linked to record (asyn reason 58).
|
|
2022/01/21 12:33:09.113 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s5.powerOk01 linked to record (asyn reason 59).
|
|
2022/01/21 12:33:09.115 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s5.overload01 linked to record (asyn reason 60).
|
|
2022/01/21 12:33:09.118 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s6.binaryInput01 linked to record (asyn reason 61).
|
|
2022/01/21 12:33:09.121 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s6.binaryInput02 linked to record (asyn reason 62).
|
|
2022/01/21 12:33:09.125 ecmcAsynPortDriver:drvUserCreate: Parameter plcs.ax1.plc.enable linked to record (asyn reason 63).
|
|
2022/01/21 12:33:09.128 ecmcAsynPortDriver:drvUserCreate: Parameter plcs.ax1.plc.firstscan linked to record (asyn reason 64).
|
|
2022/01/21 12:33:09.131 ecmcAsynPortDriver:drvUserCreate: Parameter plcs.ax2.plc.enable linked to record (asyn reason 65).
|
|
2022/01/21 12:33:09.134 ecmcAsynPortDriver:drvUserCreate: Parameter plcs.ax2.plc.firstscan linked to record (asyn reason 66).
|
|
2022/01/21 12:33:09.138 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.ok linked to record (asyn reason 67).
|
|
2022/01/21 12:33:09.141 ecmcAsynPortDriver:drvUserCreate: Parameter ax1.diagnostic linked to record (asyn reason 68).
|
|
2022/01/21 12:33:09.142 ecmcAsynPortDriver:drvUserCreate: Parameter ax1.plc.expression linked to record (asyn reason 69).
|
|
2022/01/21 12:33:09.144 ecmcAsynPortDriver:drvUserCreate: Parameter ax2.diagnostic linked to record (asyn reason 70).
|
|
2022/01/21 12:33:09.145 ecmcAsynPortDriver:drvUserCreate: Parameter ax2.plc.expression linked to record (asyn reason 71).
|
|
2022/01/21 12:33:09.147 ecmcAsynPortDriver:drvUserCreate: Parameter ecmc.error.msg linked to record (asyn reason 72).
|
|
2022/01/21 12:33:09.148 ecmcAsynPortDriver:drvUserCreate: Parameter ecmc.updated linked to record (asyn reason 73).
|
|
2022/01/21 12:33:09.149 ecmcAsynPortDriver:drvUserCreate: Parameter ax1.command linked to record (asyn reason 74).
|
|
2022/01/21 12:33:09.153 ecmcAsynPortDriver:drvUserCreate: Parameter ax2.command linked to record (asyn reason 75).
|
|
dCommand("G2X40Y40R20");
|
|
#
|
|
#ecmcGrblAddCommand("$");
|
|
##############################################################################
|
|
## PLC 0
|
|
# $(SCRIPTEXEC) $(ecmccfg_DIR)loadPLCFile.cmd, "PLC_ID=0, SAMPLE_RATE_MS=1000,FILE=./plc/can.plc")
|
|
##############################################################################
|
|
############# 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 <level> or asynReport <level>
|
|
# ecmcReport 3
|
|
# ecmcGrepParam <pattern>
|
|
# 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)"
|
|
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/21 12:33:09.157 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s0.ONE linked to record (asyn reason 76).
|
|
2022/01/21 12:33:09.159 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s0.ZERO linked to record (asyn reason 77).
|
|
2022/01/21 12:33:09.162 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s1.ONE linked to record (asyn reason 78).
|
|
2022/01/21 12:33:09.165 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s1.ZERO linked to record (asyn reason 79).
|
|
2022/01/21 12:33:09.167 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s2.ONE linked to record (asyn reason 80).
|
|
2022/01/21 12:33:09.170 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s2.ZERO linked to record (asyn reason 81).
|
|
2022/01/21 12:33:09.172 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s3.ONE linked to record (asyn reason 82).
|
|
2022/01/21 12:33:09.176 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s3.ZERO linked to record (asyn reason 83).
|
|
2022/01/21 12:33:09.178 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s4.ONE linked to record (asyn reason 84).
|
|
2022/01/21 12:33:09.181 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s4.ZERO linked to record (asyn reason 85).
|
|
2022/01/21 12:33:09.184 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s5.ONE linked to record (asyn reason 86).
|
|
2022/01/21 12:33:09.187 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s5.ZERO linked to record (asyn reason 87).
|
|
2022/01/21 12:33:09.189 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s6.ONE linked to record (asyn reason 88).
|
|
2022/01/21 12:33:09.192 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s6.ZERO linked to record (asyn reason 89).
|
|
2022/01/21 12:33:09.195 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s8.ONE linked to record (asyn reason 90).
|
|
2022/01/21 12:33:09.197 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s8.ZERO linked to record (asyn reason 91).
|
|
2022/01/21 12:33:09.200 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s9.ONE linked to record (asyn reason 92).
|
|
2022/01/21 12:33:09.203 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s9.ZERO linked to record (asyn reason 93).
|
|
2022/01/21 12:33:09.206 ecmcAsynPortDriver:drvUserCreate: Parameter ax1.cmddata linked to record (asyn reason 94).
|
|
2022/01/21 12:33:09.209 ecmcAsynPortDriver:drvUserCreate: Parameter ax2.cmddata linked to record (asyn reason 95).
|
|
2022/01/21 12:33:09.212 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s0.slavestatus linked to record (asyn reason 96).
|
|
2022/01/21 12:33:09.215 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s1.slavestatus linked to record (asyn reason 97).
|
|
2022/01/21 12:33:09.218 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s2.slavestatus linked to record (asyn reason 98).
|
|
2022/01/21 12:33:09.220 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s3.slavestatus linked to record (asyn reason 99).
|
|
2022/01/21 12:33:09.222 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s4.slavestatus linked to record (asyn reason 100).
|
|
2022/01/21 12:33:09.225 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s5.slavestatus linked to record (asyn reason 101).
|
|
2022/01/21 12:33:09.228 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s6.slavestatus linked to record (asyn reason 102).
|
|
2022/01/21 12:33:09.231 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s8.slavestatus linked to record (asyn reason 103).
|
|
2022/01/21 12:33:09.234 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s9.slavestatus linked to record (asyn reason 104).
|
|
2022/01/21 12:33:09.237 ecmcAsynPortDriver:drvUserCreate: Parameter ax1.status linked to record (asyn reason 105).
|
|
2022/01/21 12:33:09.239 ecmcAsynPortDriver:drvUserCreate: Parameter ax1.errorid linked to record (asyn reason 106).
|
|
2022/01/21 12:33:09.243 ecmcAsynPortDriver:drvUserCreate: Parameter ax2.status linked to record (asyn reason 107).
|
|
2022/01/21 12:33:09.246 ecmcAsynPortDriver:drvUserCreate: Parameter ax2.errorid linked to record (asyn reason 108).
|
|
2022/01/21 12:33:09.248 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.masterstatus linked to record (asyn reason 109).
|
|
2022/01/21 12:33:09.251 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.slavecounter linked to record (asyn reason 110).
|
|
2022/01/21 12:33:09.254 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.memmapcounter linked to record (asyn reason 111).
|
|
2022/01/21 12:33:09.256 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.domainfailcountertotal linked to record (asyn reason 112).
|
|
2022/01/21 12:33:09.259 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.entrycounter linked to record (asyn reason 113).
|
|
2022/01/21 12:33:09.262 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.domainstatus linked to record (asyn reason 114).
|
|
2022/01/21 12:33:09.266 ecmcAsynPortDriver:drvUserCreate: Parameter ax1.control linked to record (asyn reason 115).
|
|
2022/01/21 12:33:09.269 ecmcAsynPortDriver:drvUserCreate: Parameter ax2.control linked to record (asyn reason 116).
|
|
2022/01/21 12:33:09.273 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s3.encoderStatus01 linked to record (asyn reason 117).
|
|
2022/01/21 12:33:09.276 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s4.encoderStatus01 linked to record (asyn reason 118).
|
|
2022/01/21 12:33:09.279 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s6.status01 linked to record (asyn reason 119).
|
|
2022/01/21 12:33:09.282 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s6.status02 linked to record (asyn reason 120).
|
|
2022/01/21 12:33:09.286 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s8.driveStatus01 linked to record (asyn reason 121).
|
|
2022/01/21 12:33:09.289 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s8.encoderStatus01 linked to record (asyn reason 122).
|
|
2022/01/21 12:33:09.292 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s9.driveStatus01 linked to record (asyn reason 123).
|
|
2022/01/21 12:33:09.295 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s9.encoderStatus01 linked to record (asyn reason 124).
|
|
2022/01/21 12:33:09.299 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=64124 fPos=0 fActPosition=0 time=0.000017
|
|
2022/01/21 12:33:09.299 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=204 fPos=0 fActPosition=0 time=0.000006
|
|
2022/01/21 12:33:09.332 ecmcAsynPortDriver:drvUserCreate: Parameter ax1.targpos linked to record (asyn reason 125).
|
|
2022/01/21 12:33:09.336 ecmcAsynPortDriver:drvUserCreate: Parameter ax1.targvelo linked to record (asyn reason 126).
|
|
2022/01/21 12:33:09.341 ecmcAsynPortDriver:drvUserCreate: Parameter ax2.targpos linked to record (asyn reason 127).
|
|
2022/01/21 12:33:09.345 ecmcAsynPortDriver:drvUserCreate: Parameter ax2.targvelo linked to record (asyn reason 128).
|
|
2022/01/21 12:33:09.360 ecmcAsynPortDriver:drvUserCreate: Parameter ecmc.error.reset linked to record (asyn reason 129).
|
|
2022/01/21 12:33:09.365 ecmcMotorRecord:: setIntegerParam(1 motorUpdateStatus_)=0
|
|
2022/01/21 12:33:09.365 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=64124 fPos=0 fActPosition=0 time=0.000010
|
|
2022/01/21 12:33:09.365 ecmcMotorRecord:: setIntegerParam(2 motorUpdateStatus_)=0
|
|
2022/01/21 12:33:09.365 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=204 fPos=0 fActPosition=0 time=0.000008
|
|
2022/01/21 12:33:09.410 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAfterInitDatabase (7). Allow callbacks: true.
|
|
2022/01/21 12:33:09.410 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAfterFinishDevSup (8). Allow callbacks: true.
|
|
2022/01/21 12:33:09.499 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=64124 fPos=0 fActPosition=0 time=0.000013
|
|
2022/01/21 12:33:09.499 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=204 fPos=0 fActPosition=0 time=0.000008
|
|
2022/01/21 12:33:09.699 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=64124 fPos=0 fActPosition=0 time=0.000139
|
|
2022/01/21 12:33:09.700 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=204 fPos=0 fActPosition=0 time=0.000009
|
|
2022/01/21 12:33:09.900 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=64124 fPos=0 fActPosition=0 time=0.000015
|
|
2022/01/21 12:33:09.900 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=204 fPos=0 fActPosition=0 time=0.000013
|
|
2022/01/21 12:33:09.944 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAfterScanInit (9). Allow callbacks: true.
|
|
2022/01/21 12:33:09.945 ecmcMotorRecord:: setIntegerParam(1 HomProc_)=3 motorNotHomedProblem=0
|
|
2022/01/21 12:33:09.945 ecmcMotorRecord:: setIntegerParam(2 HomProc_)=3 motorNotHomedProblem=0
|
|
2022/01/21 12:33:09.947 ecmcMotorRecord:: setDoubleParam(1 HomPos_)=0.000000
|
|
2022/01/21 12:33:09.947 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAfterInitialProcess (10). Allow callbacks: true.
|
|
2022/01/21 12:33:09.947 ecmcMotorRecord:: setDoubleParam(2 HomPos_)=0.000000
|
|
2022/01/21 12:33:09.960 ecmcAsynPortDriver:getEpicsState: EPICS state: Unknown state (11). Allow callbacks: true.
|
|
2022/01/21 12:33:09.960 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAfterIocBuilt (12). Allow callbacks: true.
|
|
2022/01/21 12:33:10.027 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAtIocRun (13). Allow callbacks: true.
|
|
2022/01/21 12:33:10.028 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAfterDatabaseRunning (14). Allow callbacks: true.
|
|
2022/01/21 12:33:10.032 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAfterInterruptAccept (28). Allow callbacks: true.
|
|
2022/01/21 12:33:10.032 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAfterCaServerRunning (15). Allow callbacks: true.
|
|
2022/01/21 12:33:10.033 ecmcAsynPortDriver:getEpicsState: EPICS state: Unknown state (29). Allow callbacks: true.
|
|
iocRun: All initialization complete
|
|
2022/01/21 12:33:10.083 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAfterIocRunning (16). Allow callbacks: true.
|
|
2022/01/21 12:33:10.087 ../devEcmcSup/motion/ecmcDriveBase.cpp/readEntries:336: INFO (axis 1): Drive hardware warning state cleared.
|
|
2022/01/21 12:33:10.087 ../devEcmcSup/motion/ecmcDriveBase.cpp/readEntries:336: INFO (axis 2): Drive hardware warning state cleared.
|
|
2022/01/21 12:33:10.100 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=64124 fPos=0 fActPosition=0 time=0.000015
|
|
2022/01/21 12:33:10.100 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=204 fPos=0 fActPosition=0 time=0.000006
|
|
2022/01/21 12:33:09.365 [devMotorAsyn.c:439 IOC_TEST:Axis1] init_record IOC_TEST:Axis1 position=0.000000 encoderPos=0.000000 velocity=0.000000 MSTAstatus=0x0f00 flagsValue=0x3f flagsWritten=0x3f pmr->mflg=0x0
|
|
2022/01/21 12:33:09.365 [devMotorAsyn.c:185 IOC_TEST:Axis1] init_controller IOC_TEST:Axis1 set encoder ratio=1.000000 status=0
|
|
2022/01/21 12:33:09.365 [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/21 12:33:09.365 [motorDevSup.c:327 IOC_TEST:Axis1] PositionRestoreNeeded IOC_TEST:Axis1 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/21 12:33:09.365 [motorRecord.cc:782 IOC_TEST:Axis1] init_re_init start neverPolled=0 stat=17 nsta=0
|
|
2022/01/21 12:33:09.365 [motorRecord.cc:720 IOC_TEST:Axis1] enforceMinRetryDeadband spdb=0.100000 rdbd=0.100000 mres=0.030000
|
|
2022/01/21 12:33:09.365 [motorRecord.cc:4484 IOC_TEST:Axis1] pmr->dhlm=130 softLimitRO=130
|
|
2022/01/21 12:33:09.365 [motorRecord.cc:4545 IOC_TEST:Axis1] pmr->dllm=-20 softLimitRO=-20
|
|
2022/01/21 12:33:09.365 [motorRecord.cc:833 IOC_TEST:Axis1] init_re_init end dval=0.000000 drbv=0.000000 rdbd=0.100000 spdb=0.100000
|
|
2022/01/21 12:33:09.365 [motorRecord.cc:968 IOC_TEST:Axis1] 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
|
|
2022/01/21 12:33:09.365 [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/21 12:33:09.365 [devMotorAsyn.c:185 IOC_TEST:Axis2] init_controller IOC_TEST:Axis2 set encoder ratio=1.000000 status=0
|
|
2022/01/21 12:33:09.365 [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/21 12:33:09.365 [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/21 12:33:09.365 [motorRecord.cc:782 IOC_TEST:Axis2] init_re_init start neverPolled=0 stat=17 nsta=0
|
|
2022/01/21 12:33:09.365 [motorRecord.cc:720 IOC_TEST:Axis2] enforceMinRetryDeadband spdb=0.100000 rdbd=0.100000 mres=0.030000
|
|
2022/01/21 12:33:09.365 [motorRecord.cc:4484 IOC_TEST:Axis2] pmr->dhlm=20 softLimitRO=20
|
|
2022/01/21 12:33:09.365 [motorRecord.cc:4545 IOC_TEST:Axis2] pmr->dllm=-130 softLimitRO=-130
|
|
2022/01/21 12:33:09.365 [motorRecord.cc:833 IOC_TEST:Axis2] init_re_init end dval=0.000000 drbv=0.000000 rdbd=0.100000 spdb=0.100000
|
|
2022/01/21 12:33:09.365 [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
|
|
# Set the IOC Prompt String One
|
|
epicsEnvSet IOCSH_PS1 "raspberrypi-5240 > "
|
|
#
|
|
raspberrypi-5240 > 2022/01/21 12:33:10.300 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=64124 fPos=0 fActPosition=0 time=0.000018
|
|
2022/01/21 12:33:10.300 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=204 fPos=0 fActPosition=0 time=0.000152
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:doWriteWorker:237: Command in buffer!!!
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:doWriteWorker:242: Command length 12!!!
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:doWriteWorker:243: Available bytes 1024!!!
|
|
Adding G to buffer
|
|
Adding 1 to buffer G
|
|
Adding X to buffer G1
|
|
Adding 2 to buffer G1X
|
|
Adding 0 to buffer G1X2
|
|
Adding Y to buffer G1X20
|
|
Adding 2 to buffer G1X20Y
|
|
Adding 0 to buffer G1X20Y2
|
|
Adding F to buffer G1X20Y20
|
|
Adding 2 to buffer G1X20Y20F
|
|
Adding 0 to buffer G1X20Y20F2
|
|
Adding
|
|
to buffer G1X20Y20F20
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:doWriteWorker:249: Writing!!
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:doWriteWorker:237: Command in buffer!!!
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:doWriteWorker:242: Command length 5!!!
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:doWriteWorker:243: Available bytes 1012!!!
|
|
Adding G to buffer G1X20Y20F20
|
|
|
|
Adding 4 to buffer G1X20Y20F20
|
|
G
|
|
Adding P to buffer G1X20Y20F20
|
|
G4
|
|
Adding 1 to buffer G1X20Y20F20
|
|
G4P
|
|
Adding
|
|
to buffer G1X20Y20F20
|
|
G4P1
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:doWriteWorker:249: Writing!!
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:doWriteWorker:237: Command in buffer!!!
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:doWriteWorker:242: Command length 10!!!
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:doWriteWorker:243: Available bytes 1007!!!
|
|
Adding G to buffer G1X20Y20F20
|
|
G4P1
|
|
|
|
Adding 2 to buffer G1X20Y20F20
|
|
G4P1
|
|
G
|
|
Adding X to buffer G1X20Y20F20
|
|
G4P1
|
|
G2
|
|
Adding 0 to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X
|
|
Adding Y to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0
|
|
Adding 0 to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y
|
|
Adding R to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0
|
|
Adding 2 to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R
|
|
Adding 0 to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R2
|
|
Adding
|
|
to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:doWriteWorker:249: Writing!!
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:doWriteWorker:237: Command in buffer!!!
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:doWriteWorker:242: Command length 9!!!
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:doWriteWorker:243: Available bytes 997!!!
|
|
Adding G to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
|
|
Adding 0 to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G
|
|
Adding X to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0
|
|
Adding 1 to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X
|
|
Adding 0 to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X1
|
|
Adding Y to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10
|
|
Adding 1 to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y
|
|
Adding 0 to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y1
|
|
Adding
|
|
to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y10
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:doWriteWorker:249: Writing!!
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:doWriteWorker:237: Command in buffer!!!
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:doWriteWorker:242: Command length 5!!!
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:doWriteWorker:243: Available bytes 988!!!
|
|
Adding G to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y10
|
|
|
|
Adding 4 to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y10
|
|
G
|
|
Adding P to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y10
|
|
G4
|
|
Adding 1 to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y10
|
|
G4P
|
|
Adding
|
|
to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y10
|
|
G4P1
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:doWriteWorker:249: Writing!!
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:doWriteWorker:237: Command in buffer!!!
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:doWriteWorker:242: Command length 11!!!
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:doWriteWorker:243: Available bytes 983!!!
|
|
Adding G to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y10
|
|
G4P1
|
|
|
|
Adding 1 to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y10
|
|
G4P1
|
|
G
|
|
Adding X to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y10
|
|
G4P1
|
|
G1
|
|
Adding 1 to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y10
|
|
G4P1
|
|
G1X
|
|
Adding 0 to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y10
|
|
G4P1
|
|
G1X1
|
|
Adding Y to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y10
|
|
G4P1
|
|
G1X10
|
|
Adding 0 to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y10
|
|
G4P1
|
|
G1X10Y
|
|
Adding F to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y10
|
|
G4P1
|
|
G1X10Y0
|
|
Adding 1 to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y10
|
|
G4P1
|
|
G1X10Y0F
|
|
Adding 0 to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y10
|
|
G4P1
|
|
G1X10Y0F1
|
|
Adding
|
|
to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y10
|
|
G4P1
|
|
G1X10Y0F10
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:doWriteWorker:249: Writing!!
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:doWriteWorker:237: Command in buffer!!!
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:doWriteWorker:242: Command length 5!!!
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:doWriteWorker:243: Available bytes 972!!!
|
|
Adding G to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y10
|
|
G4P1
|
|
G1X10Y0F10
|
|
|
|
Adding 4 to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y10
|
|
G4P1
|
|
G1X10Y0F10
|
|
G
|
|
Adding P to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y10
|
|
G4P1
|
|
G1X10Y0F10
|
|
G4
|
|
Adding 1 to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y10
|
|
G4P1
|
|
G1X10Y0F10
|
|
G4P
|
|
Adding
|
|
to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y10
|
|
G4P1
|
|
G1X10Y0F10
|
|
G4P1
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:doWriteWorker:249: Writing!!
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:doWriteWorker:237: Command in buffer!!!
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:doWriteWorker:242: Command length 12!!!
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:doWriteWorker:243: Available bytes 967!!!
|
|
Adding G to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y10
|
|
G4P1
|
|
G1X10Y0F10
|
|
G4P1
|
|
|
|
Adding 1 to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y10
|
|
G4P1
|
|
G1X10Y0F10
|
|
G4P1
|
|
G
|
|
Adding X to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y10
|
|
G4P1
|
|
G1X10Y0F10
|
|
G4P1
|
|
G1
|
|
Adding 5 to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y10
|
|
G4P1
|
|
G1X10Y0F10
|
|
G4P1
|
|
G1X
|
|
Adding 0 to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y10
|
|
G4P1
|
|
G1X10Y0F10
|
|
G4P1
|
|
G1X5
|
|
Adding Y to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y10
|
|
G4P1
|
|
G1X10Y0F10
|
|
G4P1
|
|
G1X50
|
|
Adding 5 to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y10
|
|
G4P1
|
|
G1X10Y0F10
|
|
G4P1
|
|
G1X50Y
|
|
Adding 0 to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y10
|
|
G4P1
|
|
G1X10Y0F10
|
|
G4P1
|
|
G1X50Y5
|
|
Adding F to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y10
|
|
G4P1
|
|
G1X10Y0F10
|
|
G4P1
|
|
G1X50Y50
|
|
Adding 1 to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y10
|
|
G4P1
|
|
G1X10Y0F10
|
|
G4P1
|
|
G1X50Y50F
|
|
Adding 0 to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y10
|
|
G4P1
|
|
G1X10Y0F10
|
|
G4P1
|
|
G1X50Y50F1
|
|
Adding
|
|
to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y10
|
|
G4P1
|
|
G1X10Y0F10
|
|
G4P1
|
|
G1X50Y50F10
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:doWriteWorker:249: Writing!!
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:doWriteWorker:237: Command in buffer!!!
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:doWriteWorker:242: Command length 5!!!
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:doWriteWorker:243: Available bytes 955!!!
|
|
Adding G to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y10
|
|
G4P1
|
|
G1X10Y0F10
|
|
G4P1
|
|
G1X50Y50F10
|
|
|
|
Adding 4 to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y10
|
|
G4P1
|
|
G1X10Y0F10
|
|
G4P1
|
|
G1X50Y50F10
|
|
G
|
|
Adding P to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y10
|
|
G4P1
|
|
G1X10Y0F10
|
|
G4P1
|
|
G1X50Y50F10
|
|
G4
|
|
Adding 1 to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y10
|
|
G4P1
|
|
G1X10Y0F10
|
|
G4P1
|
|
G1X50Y50F10
|
|
G4P
|
|
Adding
|
|
to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y10
|
|
G4P1
|
|
G1X10Y0F10
|
|
G4P1
|
|
G1X50Y50F10
|
|
G4P1
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:doWriteWorker:249: Writing!!
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:doWriteWorker:237: Command in buffer!!!
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:doWriteWorker:242: Command length 10!!!
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:doWriteWorker:243: Available bytes 950!!!
|
|
Adding G to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y10
|
|
G4P1
|
|
G1X10Y0F10
|
|
G4P1
|
|
G1X50Y50F10
|
|
G4P1
|
|
|
|
Adding 1 to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y10
|
|
G4P1
|
|
G1X10Y0F10
|
|
G4P1
|
|
G1X50Y50F10
|
|
G4P1
|
|
G
|
|
Adding X to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y10
|
|
G4P1
|
|
G1X10Y0F10
|
|
G4P1
|
|
G1X50Y50F10
|
|
G4P1
|
|
G1
|
|
Adding 0 to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y10
|
|
G4P1
|
|
G1X10Y0F10
|
|
G4P1
|
|
G1X50Y50F10
|
|
G4P1
|
|
G1X
|
|
Adding Y to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y10
|
|
G4P1
|
|
G1X10Y0F10
|
|
G4P1
|
|
G1X50Y50F10
|
|
G4P1
|
|
G1X0
|
|
Adding 0 to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y10
|
|
G4P1
|
|
G1X10Y0F10
|
|
G4P1
|
|
G1X50Y50F10
|
|
G4P1
|
|
G1X0Y
|
|
Adding F to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y10
|
|
G4P1
|
|
G1X10Y0F10
|
|
G4P1
|
|
G1X50Y50F10
|
|
G4P1
|
|
G1X0Y0
|
|
Adding 1 to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y10
|
|
G4P1
|
|
G1X10Y0F10
|
|
G4P1
|
|
G1X50Y50F10
|
|
G4P1
|
|
G1X0Y0F
|
|
Adding 0 to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y10
|
|
G4P1
|
|
G1X10Y0F10
|
|
G4P1
|
|
G1X50Y50F10
|
|
G4P1
|
|
G1X0Y0F1
|
|
Adding
|
|
to buffer G1X20Y20F20
|
|
G4P1
|
|
G2X0Y0R20
|
|
G0X10Y10
|
|
G4P1
|
|
G1X10Y0F10
|
|
G4P1
|
|
G1X50Y50F10
|
|
G4P1
|
|
G1X0Y0F10
|
|
../ecmc_plugin_grbl/ecmcGrbl.cpp:doWriteWorker:249: Writing!!
|
|
../grbl/grbl_gcode.c:gc_execute_line:71:G1X20Y20F20
|
|
1
|
|
letter=G
|
|
value=1.000000
|
|
int_value=1
|
|
mantissa=0
|
|
axis_command=2
|
|
here!!
|
|
here 2!!
|
|
here 3!!
|
|
../grbl/grbl_gcode.c:gc_execute_line:348:
|
|
1
|
|
letter=X
|
|
valu2022/01/21 12:33:10.501 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64124 fPos=0 fActPosition=0 time=0.000011
|
|
e=20.000000
|
|
int_value=20
|
|
mantissa=0
|
|
../grbl/grbl_gcode.c:gc_execute_line:348:
|
|
1
|
|
letter=Y
|
|
value=20.000000
|
|
int_value=20
|
|
mantissa=0
|
|
../grbl/grbl_gcode.c:gc_execute_line:348:
|
|
1
|
|
letter=F
|
|
value=20.000000
|
|
int_value=20
|
|
mantissa=0
|
|
../grbl/grbl_gcode.c:gc_execute_line:348:
|
|
../grbl/grbl_gcode.c:gc_execute_line:383:axis_words=3
|
|
../grbl/grbl_gcode.c:gc_execute_line:384:axis_command=2
|
|
../grbl/grbl_gcode.c:gc_execute_line:389:axis_command=2
|
|
../grbl/grbl_gcode.c:gc_execute_line:395
|
|
../grbl/grbl_gcode.c:gc_execute_line:410:gc_parser_flags=0
|
|
../grbl/grbl_gcode.c:gc_execute_line:416:gc_block.modal.feed_rate=0
|
|
../grbl/grbl_motion_control.c:mc_line:33
|
|
../grbl/grbl_gcode.c:gc_execute_line:71:G4P1
|
|
1
|
|
letter=G
|
|
value=4.000000
|
|
int_value=4
|
|
mantissa=0
|
|
here 2!!
|
|
here 3!!
|
|
../grbl/grbl_gcode.c:gc_execute_line:348:
|
|
1
|
|
letter=P
|
|
value=1.000000
|
|
int_value=1
|
|
mantissa=0
|
|
../grbl/grbl_gcode.c:gc_execute_line:348:
|
|
../grbl/grbl_gcode.c:gc_execute_line:383:axis_words=0
|
|
../grbl/grbl_gcode.c:gc_execute_line:384:axis_command=0
|
|
../grbl/grbl_gcode.c:gc_execute_line:389:axis_command=0
|
|
../grbl/grbl_gcode.c:gc_execute_line:395
|
|
../grbl/grbl_gcode.c:gc_execute_line:410:gc_parser_flags=0
|
|
../grbl/grbl_gcode.c:gc_execute_line:416:gc_block.modal.feed_rate=0
|
|
../grbl/grbl_gcode.c:gc_execute_line:443:gc_state.feed_rate=20.000000
|
|
../grbl/grbl_motion_control.c:mc_dwell:200
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_stepper.c:st_wake_up:266
|
|
ok
|
|
2022/01/21 12:33:10.501 [motorRecord.cc:1522 IOC_TEST:Axis1] msta.Bits.EA_POSITION power on=1
|
|
2022/01/21 12:33:10.501 [motorRecord.cc:1627 IOC_TEST:Axis1] mipSetBit EXTERNAL(Ex) old='' new=EXTERNAL(Ex)
|
|
2022/01/21 12:33:10.501 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=204 fPos=0 fActPosition=0 time=0.000009
|
|
2022/01/21 12:33:10.501 [motorRecord.cc:1522 IOC_TEST:Axis2] msta.Bits.EA_POSITION power on=1
|
|
2022/01/21 12:33:10.501 [motorRecord.cc:1627 IOC_TEST:Axis2] mipSetBit EXTERNAL(Ex) old='' new=EXTERNAL(Ex)
|
|
2022/01/21 12:33:10.701 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64024 fPos=3 fActPosition=3 time=0.000011
|
|
2022/01/21 12:33:10.701 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=305 fPos=3.016 fActPosition=3.03 time=0.000010
|
|
2022/01/21 12:33:10.902 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=63923 fPos=6.016 fActPosition=6.03 time=0.000011
|
|
2022/01/21 12:33:10.902 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=405 fPos=6.016 fActPosition=6.03 time=0.000006
|
|
2022/01/21 12:33:11.102 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=63822 fPos=9.016 fActPosition=9.06 time=0.000011
|
|
2022/01/21 12:33:11.102 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=505 fPos=9.016 fActPosition=9.03 time=0.000006
|
|
2022/01/21 12:33:11.302 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=63722 fPos=12.028 fActPosition=12.06 time=0.000115
|
|
2022/01/21 12:33:11.303 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=606 fPos=12.028 fActPosition=12.06 time=0.000006
|
|
2022/01/21 12:33:11.503 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=63622 fPos=15.028 fActPosition=15.06 time=0.000011
|
|
2022/01/21 12:33:11.503 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=706 fPos=15.028 fActPosition=15.06 time=0.000006
|
|
2022/01/21 12:33:11.703 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=63522 fPos=18.028 fActPosition=18.06 time=0.000010
|
|
2022/01/21 12:33:11.703 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=806 fPos=18.028 fActPosition=18.06 time=0.000006
|
|
2022/01/21 12:33:11.903 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=63448 fPos=20 fActPosition=20.28 time=0.000011
|
|
Segment buffer empty!!!!!!!!!!!!!!!!!!!!!../grbl/grbl_stepper.c:st_go_idle:297
|
|
2022/01/21 12:33:11.904 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=880 fPos=20 fActPosition=20.28 time=0.000006
|
|
2022/01/21 12:33:12.104 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=63458 fPos=20 fActPosition=19.98 time=0.000011
|
|
2022/01/21 12:33:12.104 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=870 fPos=20 fActPosition=19.98 time=0.000007
|
|
2022/01/21 12:33:12.304 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=63458 fPos=20 fActPosition=19.98 time=0.000014
|
|
2022/01/21 12:33:12.304 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=870 fPos=20 fActPosition=19.98 time=0.000008
|
|
2022/01/21 12:33:12.504 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=63459 fPos=20 fActPosition=19.95 time=0.000019
|
|
2022/01/21 12:33:12.505 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=870 fPos=20 fActPosition=19.98 time=0.000012
|
|
2022/01/21 12:33:12.705 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=63458 fPos=20 fActPosition=19.98 time=0.000020
|
|
2022/01/21 12:33:12.705 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=870 fPos=20 fActPosition=19.98 time=0.000011
|
|
2022/01/21 12:33:12.905 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=63458 fPos=19.988 fActPosition=19.98 time=0.000096
|
|
2022/01/21 12:33:12.906 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=851 fPos=19.312 fActPosition=19.41 time=0.000011
|
|
../grbl/grbl_gcode.c:gc_execute_line:71:G2X0Y0R20
|
|
1
|
|
letter=G
|
|
value=2.000000
|
|
int_value=2
|
|
mantissa=0
|
|
axis_command=2
|
|
here!!
|
|
here 2!!
|
|
here 3!!
|
|
../grbl/grbl_gcode.c:gc_execute_line:348:
|
|
1
|
|
letter=X
|
|
value=0.000000
|
|
int_value=0
|
|
mantissa=0
|
|
../grbl/grbl_gcode.c:gc_execute_line:348:
|
|
1
|
|
letter=Y
|
|
value=0.000000
|
|
int_value=0
|
|
mantissa=0
|
|
../grbl/grbl_gcode.c:gc_execute_line:348:
|
|
1
|
|
letter=R
|
|
value=20.000000
|
|
int_value=20
|
|
mantissa=0
|
|
../grbl/grbl_gcode.c:gc_execute_line:348:
|
|
../grbl/grbl_gcode.c:gc_execute_line:383:axis_words=3
|
|
../grbl/grbl_gcode.c:gc_execute_line:384:axis_command=2
|
|
../grbl/grbl_gcode.c:gc_execute_line:389:axis_command=2
|
|
../grbl/grbl_gcode.c:gc_execute_line:395
|
|
../grbl/grbl_gcode.c:gc_execute_line:410:gc_parser_flags=0
|
|
../grbl/grbl_gcode.c:gc_execute_line:416:gc_block.modal.feed_rate=0
|
|
../grbl/grbl_gcode.c:gc_execute_line:443:gc_state.feed_rate=20.000000
|
|
../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:660
|
|
../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_motion_control.c:mc_line:33
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_stepper.c:st_wake_up:266
|
|
ok
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_motion_control.c:mc_line:33
|
|
2022/01/21 12:33:13.106 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=63469 fPos=19.656 fActPosition=19.65 time=0.000011
|
|
../grbl/grbl_motion_control.c:mc_line:33
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_motion_control.c:mc_line:33
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_motion_control.c:mc_line:33
|
|
../grbl/grbl_motion_control.c:mc_line:33
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_motion_control.c:mc_line:33
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
2022/01/21 12:33:13.106 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=746 fPos=16.312 fActPosition=16.26 time=0.000006
|
|
2022/01/21 12:33:13.306 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=63496 fPos=18.848 fActPosition=18.84 time=0.000011
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_motion_control.c:mc_line:33
|
|
../grbl/grbl_motion_control.c:mc_line:33
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_motion_control.c:mc_line:33
|
|
../grbl/grbl_motion_control.c:mc_line:33
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_motion_control.c:mc_line:33
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_motion_control.c:mc_line:33
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
2022/01/21 12:33:13.306 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=646 fPos=13.296 fActPosition=13.26 time=0.000007
|
|
2022/01/21 12:33:13.507 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=63541 fPos=17.488 fActPosition=17.49 time=0.000010
|
|
../grbl/grbl_motion_control.c:mc_line:33
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_motion_control.c:mc_line:33
|
|
../grbl/grbl_motion_control.c:mc_line:33
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_motion_control.c:mc_line:33
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_motion_control.c:mc_line:33
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_motion_control.c:mc_line:33
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
2022/01/21 12:33:13.507 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=546 fPos=10.296 fActPosition=10.26 time=0.000006
|
|
2022/01/21 12:33:13.707 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=63610 fPos=15.448 fActPosition=15.42 time=0.000011
|
|
../grbl/grbl_motion_control.c:mc_line:33
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_motion_control.c:mc_line:33
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_motion_control.c:mc_line:33
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_motion_control.c:mc_line:33
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_motion_control.c:mc_line:33
|
|
../grbl/grbl_motion_control.c:mc_line:33
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
2022/01/21 12:33:13.707 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=446 fPos=7.296 fActPosition=7.26 time=0.000006
|
|
2022/01/21 12:33:13.907 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=63706 fPos=12.564 fActPosition=12.54 time=0.000048
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_motion_control.c:mc_line:33
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_motion_control.c:mc_line:33
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_motion_control.c:mc_line:33
|
|
../grbl/grbl_motion_control.c:mc_line:33
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_motion_control.c:mc_line:33
|
|
../grbl/grbl_motion_control.c:mc_line:33
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_motion_control.c:mc_line:33
|
|
2022/01/21 12:33:13.907 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=351 fPos=4.44 fActPosition=4.41 time=0.000006
|
|
2022/01/21 12:33:14.108 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=63806 fPos=9.564 fActPosition=9.54 time=0.000011
|
|
../grbl/grbl_motion_control.c:mc_line:33
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_motion_control.c:mc_line:33
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_motion_control.c:mc_line:33
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_motion_control.c:mc_line:33
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_motion_control.c:mc_line:33
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_motion_control.c:mc_line:33
|
|
2022/01/21 12:33:14.108 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=284 fPos=2.436 fActPosition=2.4 time=0.000007
|
|
2022/01/21 12:33:14.308 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=63906 fPos=6.564 fActPosition=6.54 time=0.000011
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_motion_control.c:mc_line:33
|
|
../grbl/grbl_motion_control.c:mc_line:33
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_gcode.c:gc_execute_line:71:G0X10Y10
|
|
1
|
|
letter=G
|
|
value=0.000000
|
|
int_value=0
|
|
mantissa=0
|
|
axis_command=2
|
|
here!!
|
|
here 2!!
|
|
here 3!!
|
|
../grbl/grbl_gcode.c:gc_execute_line:348:
|
|
1
|
|
letter=X
|
|
value=10.000000
|
|
int_value=10
|
|
mantissa=0
|
|
../grbl/grbl_gcode.c:gc_execute_line:348:
|
|
1
|
|
letter=Y
|
|
value=10.000000
|
|
int_value=10
|
|
mantissa=0
|
|
../grbl/grbl_gcode.c:gc_execute_line:348:
|
|
../grbl/grbl_gcode.c:gc_execute_line:383:axis_words=3
|
|
../grbl/grbl_gcode.c:gc_execute_line:384:axis_command=2
|
|
../grbl/grbl_gcode.c:gc_execute_line:389:axis_command=2
|
|
../grbl/grbl_gcode.c:gc_execute_line:395
|
|
../grbl/grbl_gcode.c:gc_execute_line:410:gc_parser_flags=0
|
|
../grbl/grbl_gcode.c:gc_execute_line:416:gc_block.modal.feed_rate=0
|
|
../grbl/grbl_gcode.c:gc_execute_line:443:gc_state.feed_rate=20.000000
|
|
../grbl/grbl_motion_control.c:mc_line:33
|
|
ok
|
|
../grbl/grbl_gcode.c:gc_execute_line:71:G4P1
|
|
1
|
|
letter=G
|
|
value=4.000000
|
|
int_value=4
|
|
mantissa=0
|
|
here 2!!
|
|
here 3!!
|
|
../grbl/grbl_gcode.c:gc_execute_line:348:
|
|
1
|
|
letter=P
|
|
value=1.000000
|
|
int_value=1
|
|
mantissa=0
|
|
../grbl/grbl_gcode.c:gc_execute_line:348:
|
|
../grbl/grbl_gcode.c:gc_execute_line:383:axis_words=0
|
|
../grbl/grbl_gcode.c:gc_execute_line:384:axis_command=0
|
|
../grbl/grbl_gcode.c:gc_execute_line:389:axis_command=0
|
|
../grbl/grbl_gcode.c:gc_execute_line:395
|
|
../grbl/grbl_gcode.c:gc_execute_line:410:gc_parser_flags=0
|
|
../grbl/grbl_gcode.c:gc_execute_line:416:gc_block.modal.feed_rate=0
|
|
../grbl/grbl_gcode.c:gc_execute_line:443:gc_state.feed_rate=20.000000
|
|
../grbl/grbl_motion_control.c:mc_dwell:200
|
|
ok
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
2022/01/21 12:33:14.308 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=240 fPos=1.112 fActPosition=1.08 time=0.000007
|
|
2022/01/21 12:33:14.508 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64007 fPos=3.548 fActPosition=3.51 time=0.000043
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
2022/01/21 12:33:14.509 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=215 fPos=0.32 fActPosition=0.33 time=0.000006
|
|
2022/01/21 12:33:14.709 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64106 fPos=0.548 fActPosition=0.54 time=0.000012
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
2022/01/21 12:33:14.709 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=204 fPos=0.008 fActPosition=0 time=0.000007
|
|
2022/01/21 12:33:14.909 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64043 fPos=2.452 fActPosition=2.43 time=0.000012
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
2022/01/21 12:33:14.909 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=286 fPos=2.464 fActPosition=2.46 time=0.000106
|
|
2022/01/21 12:33:15.110 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=63875 fPos=7.292 fActPosition=7.47 time=0.000011
|
|
2022/01/21 12:33:15.110 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=453 fPos=7.292 fActPosition=7.47 time=0.000006
|
|
2022/01/21 12:33:15.314 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=63790 fPos=9.98 fActPosition=10.02 time=0.003624
|
|
Segment buffer empty!!!!!!!!!!!!!!!!!!!!!../grbl/grbl_stepper.c:st_go_idle:297
|
|
2022/01/21 12:33:15.314 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=552 fPos=10 fActPosition=10.44 time=0.000046
|
|
2022/01/21 12:33:15.514 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=63791 fPos=10 fActPosition=9.99 time=0.000010
|
|
2022/01/21 12:33:15.514 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=537 fPos=10 fActPosition=9.99 time=0.000007
|
|
2022/01/21 12:33:15.714 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=63792 fPos=10 fActPosition=9.96 time=0.000011
|
|
2022/01/21 12:33:15.714 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=536 fPos=10 fActPosition=9.96 time=0.000007
|
|
2022/01/21 12:33:15.915 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=63791 fPos=10 fActPosition=9.99 time=0.000018
|
|
2022/01/21 12:33:15.915 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=537 fPos=10 fActPosition=9.99 time=0.000011
|
|
2022/01/21 12:33:16.115 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=63791 fPos=10 fActPosition=9.99 time=0.000018
|
|
2022/01/21 12:33:16.115 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=537 fPos=10 fActPosition=9.99 time=0.000080
|
|
2022/01/21 12:33:16.316 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=63791 fPos=10 fActPosition=9.99 time=0.000018
|
|
2022/01/21 12:33:16.316 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=537 fPos=10 fActPosition=9.99 time=0.000012
|
|
2022/01/21 12:33:16.516 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=63791 fPos=10 fActPosition=9.99 time=0.000011
|
|
2022/01/21 12:33:16.516 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=437 fPos=7 fActPosition=6.99 time=0.000006
|
|
../grbl/grbl_gcode.c:gc_execute_line:71:G1X10Y0F10
|
|
1
|
|
letter=G
|
|
value=1.000000
|
|
int_value=1
|
|
mantissa=0
|
|
axis_command=2
|
|
here!!
|
|
here 2!!
|
|
here 3!!
|
|
../grbl/grbl_gcode.c:gc_execute_line:348:
|
|
1
|
|
letter=X
|
|
value=10.000000
|
|
int_value=10
|
|
mantissa=0
|
|
../grbl/grbl_gcode.c:gc_execute_line:348:
|
|
1
|
|
letter=Y
|
|
value=0.000000
|
|
int_value=0
|
|
mantissa=0
|
|
../grbl/grbl_gcode.c:gc_execute_line:348:
|
|
1
|
|
letter=F
|
|
value=10.000000
|
|
int_value=10
|
|
mantissa=0
|
|
../grbl/grbl_gcode.c:gc_execute_line:348:
|
|
../grbl/grbl_gcode.c:gc_execute_line:383:axis_words=3
|
|
../grbl/grbl_gcode.c:gc_execute_line:384:axis_command=2
|
|
../grbl/grbl_gcode.c:gc_execute_line:389:axis_command=2
|
|
../grbl/grbl_gcode.c:gc_execute_line:395
|
|
../grbl/grbl_gcode.c:gc_execute_line:410:gc_parser_flags=0
|
|
../grbl/grbl_gcode.c:gc_execute_line:416:gc_block.modal.feed_rate=0
|
|
../grbl/grbl_motion_control.c:mc_line:33
|
|
../grbl/grbl_gcode.c:gc_execute_line:71:G4P1
|
|
1
|
|
letter=G
|
|
value=4.000000
|
|
int_value=4
|
|
mantissa=0
|
|
here 2!!
|
|
here 3!!
|
|
../grbl/grbl_gcode.c:gc_execute_line:348:
|
|
1
|
|
letter=P
|
|
value=1.000000
|
|
int_value=1
|
|
mantissa=0
|
|
../grbl/grbl_gcode.c:gc_execute_line:348:
|
|
../grbl/grbl_gcode.c:gc_execute_line:383:axis_words=0
|
|
../grbl/grbl_gcode.c:gc_execute_line:384:axis_command=0
|
|
../grbl/grbl_gcode.c:gc_execute_line:389:axis_command=0
|
|
../grbl/grbl_gcode.c:gc_execute_line:395
|
|
../grbl/grbl_gcode.c:gc_execute_line:410:gc_parser_flags=0
|
|
../grbl/grbl_gcode.c:gc_execute_line:416:gc_block.modal.feed_rate=0
|
|
../grbl/grbl_gcode.c:gc_execute_line:443:gc_state.feed_rate=10.000000
|
|
../grbl/grbl_motion_control.c:mc_dwell:200
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_stepper.c:st_wake_up:266
|
|
ok
|
|
ok
|
|
2022/01/21 12:33:16.716 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=63791 fPos=10 fActPosition=9.99 time=0.000009
|
|
2022/01/21 12:33:16.716 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=336 fPos=3.984 fActPosition=3.96 time=0.000054
|
|
2022/01/21 12:33:16.917 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=63791 fPos=10 fActPosition=9.99 time=0.000010
|
|
2022/01/21 12:33:16.917 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=236 fPos=0.984 fActPosition=0.96 time=0.000006
|
|
2022/01/21 12:33:17.117 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=63791 fPos=10 fActPosition=9.99 time=0.000010
|
|
2022/01/21 12:33:17.117 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=201 fPos=0 fActPosition=-0.09 time=0.000006
|
|
Segment buffer empty!!!!!!!!!!!!!!!!!!!!!../grbl/grbl_stepper.c:st_go_idle:297
|
|
2022/01/21 12:33:17.317 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=63791 fPos=10 fActPosition=9.99 time=0.000011
|
|
2022/01/21 12:33:17.317 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=205 fPos=0 fActPosition=0.03 time=0.000006
|
|
2022/01/21 12:33:17.517 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=63790 fPos=10 fActPosition=10.02 time=0.000011
|
|
2022/01/21 12:33:17.518 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=205 fPos=0 fActPosition=0.03 time=0.000006
|
|
2022/01/21 12:33:17.718 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=63790 fPos=10 fActPosition=10.02 time=0.000010
|
|
2022/01/21 12:33:17.718 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=205 fPos=0 fActPosition=0.03 time=0.000007
|
|
2022/01/21 12:33:17.918 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=63791 fPos=10 fActPosition=9.99 time=0.000014
|
|
2022/01/21 12:33:17.918 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=205 fPos=0 fActPosition=0.03 time=0.000008
|
|
2022/01/21 12:33:18.118 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=63747 fPos=11.32 fActPosition=11.31 time=0.000011
|
|
../grbl/grbl_gcode.c:gc_execute_line:71:G1X50Y50F10
|
|
1
|
|
letter=G
|
|
value=1.000000
|
|
int_value=1
|
|
mantissa=0
|
|
axis_command=2
|
|
here!!
|
|
here 2!!
|
|
here 3!!
|
|
../grbl/grbl_gcode.c:gc_execute_line:348:
|
|
1
|
|
letter=X
|
|
value=50.000000
|
|
int_value=50
|
|
mantissa=0
|
|
../grbl/grbl_gcode.c:gc_execute_line:348:
|
|
1
|
|
letter=Y
|
|
value=50.000000
|
|
int_value=50
|
|
mantissa=0
|
|
../grbl/grbl_gcode.c:gc_execute_line:348:
|
|
1
|
|
letter=F
|
|
value=10.000000
|
|
int_value=10
|
|
mantissa=0
|
|
../grbl/grbl_gcode.c:gc_execute_line:348:
|
|
../grbl/grbl_gcode.c:gc_execute_line:383:axis_words=3
|
|
../grbl/grbl_gcode.c:gc_execute_line:384:axis_command=2
|
|
../grbl/grbl_gcode.c:gc_execute_line:389:axis_command=2
|
|
../grbl/grbl_gcode.c:gc_execute_line:395
|
|
../grbl/grbl_gcode.c:gc_execute_line:410:gc_parser_flags=0
|
|
../grbl/grbl_gcode.c:gc_execute_line:416:gc_block.modal.feed_rate=0
|
|
../grbl/grbl_motion_control.c:mc_line:33
|
|
../grbl/grbl_gcode.c:gc_execute_line:71:G4P1
|
|
1
|
|
letter=G
|
|
value=4.000000
|
|
int_value=4
|
|
mantissa=0
|
|
here 2!!
|
|
here 3!!
|
|
../grbl/grbl_gcode.c:gc_execute_line:348:
|
|
1
|
|
letter=P
|
|
value=1.000000
|
|
int_value=1
|
|
mantissa=0
|
|
../grbl/grbl_gcode.c:gc_execute_line:348:
|
|
../grbl/grbl_gcode.c:gc_execute_line:383:axis_words=0
|
|
../grbl/grbl_gcode.c:gc_execute_line:384:axis_command=0
|
|
../grbl/grbl_gcode.c:gc_execute_line:389:axis_command=0
|
|
../grbl/grbl_gcode.c:gc_execute_line:395
|
|
../grbl/grbl_gcode.c:gc_execute_line:410:gc_parser_flags=0
|
|
../grbl/grbl_gcode.c:gc_execute_line:416:gc_block.modal.feed_rate=0
|
|
../grbl/grbl_gcode.c:gc_execute_line:443:gc_state.feed_rate=10.000000
|
|
../grbl/grbl_motion_control.c:mc_dwell:200
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_stepper.c:st_wake_up:266
|
|
ok
|
|
ok
|
|
2022/01/21 12:33:18.118 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=259 fPos=1.664 fActPosition=1.65 time=0.000083
|
|
2022/01/21 12:33:18.319 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=63666 fPos=13.732 fActPosition=13.74 time=0.000011
|
|
2022/01/21 12:33:18.319 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=360 fPos=4.664 fActPosition=4.68 time=0.000006
|
|
2022/01/21 12:33:18.519 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=63586 fPos=16.132 fActPosition=16.14 time=0.000012
|
|
2022/01/21 12:33:18.519 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=460 fPos=7.664 fActPosition=7.68 time=0.000006
|
|
2022/01/21 12:33:18.719 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=63505 fPos=18.544 fActPosition=18.57 time=0.000011
|
|
2022/01/21 12:33:18.720 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=561 fPos=10.68 fActPosition=10.71 time=0.000006
|
|
2022/01/21 12:33:18.920 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=63425 fPos=20.944 fActPosition=20.97 time=0.000010
|
|
2022/01/21 12:33:18.920 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=660 fPos=13.68 fActPosition=13.68 time=0.000006
|
|
2022/01/21 12:33:19.120 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=63346 fPos=23.344 fActPosition=23.34 time=0.000011
|
|
2022/01/21 12:33:19.120 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=760 fPos=16.68 fActPosition=16.68 time=0.000006
|
|
2022/01/21 12:33:19.320 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=63265 fPos=25.756 fActPosition=25.77 time=0.000011
|
|
2022/01/21 12:33:19.321 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=861 fPos=19.696 fActPosition=19.71 time=0.000006
|
|
2022/01/21 12:33:19.521 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=63185 fPos=28.156 fActPosition=28.17 time=0.000010
|
|
2022/01/21 12:33:19.521 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=961 fPos=22.696 fActPosition=22.71 time=0.000006
|
|
2022/01/21 12:33:19.721 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=63105 fPos=30.556 fActPosition=30.57 time=0.000011
|
|
2022/01/21 12:33:19.721 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=1061 fPos=25.696 fActPosition=25.71 time=0.000007
|
|
2022/01/21 12:33:19.921 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=63025 fPos=32.968 fActPosition=32.97 time=0.000011
|
|
2022/01/21 12:33:19.922 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=1161 fPos=28.708 fActPosition=28.71 time=0.000006
|
|
2022/01/21 12:33:20.122 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=62945 fPos=35.368 fActPosition=35.37 time=0.000011
|
|
2022/01/21 12:33:20.122 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=1261 fPos=31.708 fActPosition=31.71 time=0.000006
|
|
2022/01/21 12:33:20.322 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=62865 fPos=37.768 fActPosition=37.77 time=0.000011
|
|
2022/01/21 12:33:20.322 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=1361 fPos=34.708 fActPosition=34.71 time=0.000006
|
|
2022/01/21 12:33:20.522 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=62784 fPos=40.18 fActPosition=40.2 time=0.000057
|
|
2022/01/21 12:33:20.523 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=1462 fPos=37.724 fActPosition=37.74 time=0.000007
|
|
2022/01/21 12:33:20.723 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=62704 fPos=42.58 fActPosition=42.6 time=0.000010
|
|
2022/01/21 12:33:20.723 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=1562 fPos=40.724 fActPosition=40.74 time=0.000006
|
|
2022/01/21 12:33:20.923 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=62625 fPos=44.98 fActPosition=44.97 time=0.000011
|
|
2022/01/21 12:33:20.923 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=1662 fPos=43.74 fActPosition=43.74 time=0.000110
|
|
2022/01/21 12:33:21.124 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=62544 fPos=47.392 fActPosition=47.4 time=0.000012
|
|
2022/01/21 12:33:21.124 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=1762 fPos=46.74 fActPosition=46.74 time=0.000007
|
|
2022/01/21 12:33:21.324 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=62464 fPos=49.792 fActPosition=49.8 time=0.000010
|
|
2022/01/21 12:33:21.324 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=1862 fPos=49.74 fActPosition=49.74 time=0.000007
|
|
2022/01/21 12:33:21.524 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=62457 fPos=50 fActPosition=50.01 time=0.000011
|
|
Segment buffer empty!!!!!!!!!!!!!!!!!!!!!../grbl/grbl_stepper.c:st_go_idle:297
|
|
2022/01/21 12:33:21.525 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=1871 fPos=50 fActPosition=50.01 time=0.000007
|
|
2022/01/21 12:33:21.725 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=62458 fPos=50 fActPosition=49.98 time=0.000011
|
|
2022/01/21 12:33:21.725 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=1869 fPos=50 fActPosition=49.95 time=0.000006
|
|
2022/01/21 12:33:21.925 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=62458 fPos=50 fActPosition=49.98 time=0.000010
|
|
2022/01/21 12:33:21.925 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=1869 fPos=50 fActPosition=49.95 time=0.000006
|
|
2022/01/21 12:33:22.125 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=62458 fPos=50 fActPosition=49.98 time=0.000024
|
|
2022/01/21 12:33:22.125 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=1870 fPos=50 fActPosition=49.98 time=0.000006
|
|
2022/01/21 12:33:22.326 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=62458 fPos=50 fActPosition=49.98 time=0.000018
|
|
2022/01/21 12:33:22.326 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=1870 fPos=50 fActPosition=49.98 time=0.000009
|
|
2022/01/21 12:33:22.526 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=62537 fPos=47.616 fActPosition=47.61 time=0.000020
|
|
../grbl/grbl_gcode.c:gc_execute_line:71:G1X0Y0F10
|
|
1
|
|
letter=G
|
|
value=1.000000
|
|
int_value=1
|
|
mantissa=0
|
|
axis_command=2
|
|
here!!
|
|
here 2!!
|
|
here 3!!
|
|
../grbl/grbl_gcode.c:gc_execute_line:348:
|
|
1
|
|
letter=X
|
|
value=0.000000
|
|
int_value=0
|
|
mantissa=0
|
|
../grbl/grbl_gcode.c:gc_execute_line:348:
|
|
1
|
|
letter=Y
|
|
value=0.000000
|
|
int_value=0
|
|
mantissa=0
|
|
../grbl/grbl_gcode.c:gc_execute_line:348:
|
|
1
|
|
letter=F
|
|
value=10.000000
|
|
int_value=10
|
|
mantissa=0
|
|
../grbl/grbl_gcode.c:gc_execute_line:348:
|
|
../grbl/grbl_gcode.c:gc_execute_line:383:axis_words=3
|
|
../grbl/grbl_gcode.c:gc_execute_line:384:axis_command=2
|
|
../grbl/grbl_gcode.c:gc_execute_line:389:axis_command=2
|
|
../grbl/grbl_gcode.c:gc_execute_line:395
|
|
../grbl/grbl_gcode.c:gc_execute_line:410:gc_parser_flags=0
|
|
../grbl/grbl_gcode.c:gc_execute_line:416:gc_block.modal.feed_rate=0
|
|
../grbl/grbl_motion_control.c:mc_line:33
|
|
../grbl/grbl_stepper.c:st_next_block_index:673
|
|
../grbl/grbl_stepper.c:st_wake_up:266
|
|
ok
|
|
ok
|
|
2022/01/21 12:33:22.527 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=1790 fPos=47.6 fActPosition=47.58 time=0.000261
|
|
2022/01/21 12:33:22.727 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=62638 fPos=44.6 fActPosition=44.58 time=0.000019
|
|
2022/01/21 12:33:22.727 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=1689 fPos=44.6 fActPosition=44.55 time=0.000012
|
|
2022/01/21 12:33:22.927 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=62738 fPos=41.584 fActPosition=41.58 time=0.000039
|
|
2022/01/21 12:33:22.928 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=1589 fPos=41.584 fActPosition=41.55 time=0.000011
|
|
2022/01/21 12:33:23.128 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=62839 fPos=38.584 fActPosition=38.55 time=0.000018
|
|
2022/01/21 12:33:23.129 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=1489 fPos=38.572 fActPosition=38.55 time=0.000458
|
|
2022/01/21 12:33:23.329 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=62939 fPos=35.572 fActPosition=35.55 time=0.000018
|
|
2022/01/21 12:33:23.329 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=1388 fPos=35.556 fActPosition=35.52 time=0.000088
|
|
2022/01/21 12:33:23.530 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=63039 fPos=32.556 fActPosition=32.55 time=0.000021
|
|
2022/01/21 12:33:23.530 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=1288 fPos=32.556 fActPosition=32.52 time=0.000010
|
|
2022/01/21 12:33:23.730 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=63140 fPos=29.54 fActPosition=29.52 time=0.000120
|
|
2022/01/21 12:33:23.731 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=1188 fPos=29.54 fActPosition=29.52 time=0.000010
|
|
2022/01/21 12:33:23.931 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=63240 fPos=26.54 fActPosition=26.52 time=0.000015
|
|
2022/01/21 12:33:23.931 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=1088 fPos=26.54 fActPosition=26.52 time=0.000008
|
|
2022/01/21 12:33:24.131 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=63340 fPos=23.524 fActPosition=23.52 time=0.000012
|
|
2022/01/21 12:33:24.132 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=987 fPos=23.524 fActPosition=23.49 time=0.000007
|
|
2022/01/21 12:33:24.332 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=63440 fPos=20.524 fActPosition=20.52 time=0.000012
|
|
2022/01/21 12:33:24.332 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=888 fPos=20.524 fActPosition=20.52 time=0.000007
|
|
2022/01/21 12:33:24.532 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=63540 fPos=17.524 fActPosition=17.52 time=0.000011
|
|
2022/01/21 12:33:24.532 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=787 fPos=17.512 fActPosition=17.49 time=0.000136
|
|
2022/01/21 12:33:24.733 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=63641 fPos=14.512 fActPosition=14.49 time=0.000012
|
|
2022/01/21 12:33:24.733 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=687 fPos=14.512 fActPosition=14.49 time=0.000006
|
|
2022/01/21 12:33:24.933 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=63741 fPos=11.512 fActPosition=11.49 time=0.000018
|
|
2022/01/21 12:33:24.933 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=587 fPos=11.496 fActPosition=11.49 time=0.000203
|
|
2022/01/21 12:33:25.134 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=63841 fPos=8.496 fActPosition=8.49 time=0.000020
|
|
2022/01/21 12:33:25.134 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=487 fPos=8.496 fActPosition=8.49 time=0.000011
|
|
2022/01/21 12:33:25.334 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=63942 fPos=5.48 fActPosition=5.46 time=0.000109
|
|
2022/01/21 12:33:25.335 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=386 fPos=5.48 fActPosition=5.46 time=0.000011
|
|
2022/01/21 12:33:25.535 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64042 fPos=2.48 fActPosition=2.46 time=0.000019
|
|
2022/01/21 12:33:25.535 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=286 fPos=2.464 fActPosition=2.46 time=0.000199
|
|
2022/01/21 12:33:25.736 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64138 fPos=0 fActPosition=-0.42 time=0.000019
|
|
Segment buffer empty!!!!!!!!!!!!!!!!!!!!!../grbl/grbl_stepper.c:st_go_idle:297
|
|
2022/01/21 12:33:25.736 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=190 fPos=0 fActPosition=-0.42 time=0.000013
|
|
2022/01/21 12:33:25.936 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64123 fPos=0 fActPosition=0.03 time=0.000097
|
|
2022/01/21 12:33:25.937 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=205 fPos=0 fActPosition=0.03 time=0.000010
|
|
2022/01/21 12:33:26.137 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64123 fPos=0 fActPosition=0.03 time=0.000027
|
|
2022/01/21 12:33:26.137 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=205 fPos=0 fActPosition=0.03 time=0.000013
|
|
2022/01/21 12:33:26.337 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64123 fPos=0 fActPosition=0.03 time=0.000015
|
|
2022/01/21 12:33:26.338 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=206 fPos=0 fActPosition=0.06 time=0.000010
|
|
2022/01/21 12:33:26.538 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64123 fPos=0 fActPosition=0.03 time=0.000018
|
|
2022/01/21 12:33:26.538 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=205 fPos=0 fActPosition=0.03 time=0.000012
|
|
2022/01/21 12:33:26.739 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64123 fPos=0 fActPosition=0.03 time=0.000268
|
|
2022/01/21 12:33:26.739 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=205 fPos=0 fActPosition=0.03 time=0.000012
|
|
2022/01/21 12:33:26.939 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64124 fPos=0 fActPosition=0 time=0.000021
|
|
2022/01/21 12:33:26.939 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=204 fPos=0 fActPosition=0 time=0.000012
|
|
2022/01/21 12:33:27.139 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64123 fPos=0 fActPosition=0.03 time=0.000020
|
|
2022/01/21 12:33:27.140 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=204 fPos=0 fActPosition=0 time=0.000011
|
|
2022/01/21 12:33:27.340 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64124 fPos=0 fActPosition=0 time=0.000011
|
|
2022/01/21 12:33:27.340 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=204 fPos=0 fActPosition=0 time=0.000006
|
|
2022/01/21 12:33:27.540 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64124 fPos=0 fActPosition=0 time=0.000011
|
|
2022/01/21 12:33:27.540 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=204 fPos=0 fActPosition=0 time=0.000007
|
|
2022/01/21 12:33:27.740 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64124 fPos=0 fActPosition=0 time=0.000011
|
|
2022/01/21 12:33:27.741 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=204 fPos=0 fActPosition=0 time=0.000006
|
|
2022/01/21 12:33:27.941 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64124 fPos=0 fActPosition=0 time=0.000020
|
|
2022/01/21 12:33:27.941 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=204 fPos=0 fActPosition=0 time=0.000009
|
|
2022/01/21 12:33:28.141 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64124 fPos=0 fActPosition=0 time=0.000014
|
|
2022/01/21 12:33:28.141 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=204 fPos=0 fActPosition=0 time=0.000009
|
|
2022/01/21 12:33:28.341 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64124 fPos=0 fActPosition=0 time=0.000015
|
|
2022/01/21 12:33:28.341 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=204 fPos=0 fActPosition=0 time=0.000010
|
|
2022/01/21 12:33:28.542 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64124 fPos=0 fActPosition=0 time=0.000017
|
|
2022/01/21 12:33:28.542 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=204 fPos=0 fActPosition=0 time=0.000009
|