diff --git a/MTEST01-MTN-HW-TEST_startup.script b/MTEST01-MTN-HW-TEST_startup.script index 2d347aa..6df0528 100644 --- a/MTEST01-MTN-HW-TEST_startup.script +++ b/MTEST01-MTN-HW-TEST_startup.script @@ -9,8 +9,13 @@ require ecmccomp ############################################################################## ## Configure hardware -epicsEnvSet("DRV_SLAVE", "10") -${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "SLAVE_ID=$(DRV_SLAVE), HW_DESC=EL7041-0052" +epicsEnvSet("DRV_SLAVE_1", "10") +${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "SLAVE_ID=$(DRV_SLAVE_1), HW_DESC=EL7041-0052" +${SCRIPTEXEC} ${ecmccomp_DIR}applyComponent.cmd "COMP=Motor-Generic-2Phase-Stepper,MACROS='I_MAX_MA=1000,I_STDBY_MA=500,U_NOM_MV=48000,R_COIL_MOHM=1230'" + + +epicsEnvSet("DRV_SLAVE_2", "11") +${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "SLAVE_ID=$(DRV_SLAVE_2), HW_DESC=EL7041-0052" ${SCRIPTEXEC} ${ecmccomp_DIR}applyComponent.cmd "COMP=Motor-Generic-2Phase-Stepper,MACROS='I_MAX_MA=1000,I_STDBY_MA=500,U_NOM_MV=48000,R_COIL_MOHM=1230'" epicsEnvSet("BO_SLAVE", "9") @@ -31,9 +36,21 @@ ecmcConfigOrDie "Cfg.WriteEcEntryIDString(${BO_SLAVE},binaryOutput01,1)" ############################################################################## ## AXIS 1 # -epicsEnvSet("DEV", "$(IOC)") +epicsEnvSet("DEV", "$(IOC)") +epicsEnvSet("DRV_SLAVE", "$(DRV_SLAVE_1)") +epicsEnvSet("AX_ID", "1") ${SCRIPTEXEC} ${ECMC_CONFIG_ROOT}loadYamlAxis.cmd, "FILE=./cfg/axis_open_loop.yaml" + +############################################################################## +## AXIS 2 +# +epicsEnvSet("DEV", "$(IOC)") +epicsEnvSet("DRV_SLAVE", "$(DRV_SLAVE_2)") +epicsEnvSet("AX_ID", "2") +${SCRIPTEXEC} ${ECMC_CONFIG_ROOT}loadYamlAxis.cmd, "FILE=./cfg/axis_open_loop.yaml" + + ############################################################################## ############# Configure diagnostics: diff --git a/README.md b/README.md index ec7fe31..3cbc96e 100644 --- a/README.md +++ b/README.md @@ -1,35 +1,92 @@ # Cfgs for testing hardware in motion lab Some basic instructions on how to start an ecmc IOC. -## Connect to server in motion lab +## Edir startup scripts ``` -ssh sls-sioc-ecat01 +ssh slslc ``` # Goto startup script folder ``` cd /ioc/sls-sioc-ecat01/ecmc_hw_test ``` -## Run open loop stepper ioc +## Edit cfg First make sure that slave numbers for drive and encoder is correct in MTEST01-MTN-HW-TEST_startup.script. +Install the ioc ``` make install ``` - -## Check biss c encoder -Open other terminal and check the PVs with camon (update slave numbers if needed): +## Connect to server in motion lab and restart ioc ``` -camon sls-sioc-ecat01:m0s014-Enc01-PosAct sls-sioc-ecat01:m0s014-Enc02-PosAct +ssh sls-sioc-ecat01 +``` +Connect to ioc: +``` +telnet localhost 50001 +``` +restart ioc: press Ctrl-X + +to end telnet session without stopping ioc: press Ctrl-D + +## iocsh commands +List all records for slave 3: +``` +dbgrep *s003* +``` +List all records for Axis1: +``` +dbgrep *Axis1* ``` -## open simple GUI for motion +Read PV; +``` +dbgf +``` +Write PV: +``` +dbpf +``` + +# Panels (GUI) +Login to pc15094 (to pc beside motion lab table) +``` +ssh pc15094 +``` + +## open simple GUI for motion Axis1 Open new terminal and execute: ``` caqtdm -macro "IOC=MTEST01-MTN-HW-TEST,SYS=MTEST01-MTN-HW-TEST,Axis=Axis1" ecmcAxisExpert_v1.ui ``` +## open simple GUI for motion Axis2 + +Open new terminal and execute: +``` +caqtdm -macro "IOC=MTEST01-MTN-HW-TEST,SYS=MTEST01-MTN-HW-TEST,Axis=Axis2" ecmcAxisExpert_v1.ui +``` + If PV's is not connected (white fields in panel) then try to execute in terminal and then relaunch the panel: ``` ca office network ``` +## Check biss c encoder values +Open other terminal and check the PVs with camon (update slave numbers if needed): +This should be done from other PC (same as running panels). + +Monitor: +``` +camon sls-sioc-ecat01:m0s014-Enc01-PosAct sls-sioc-ecat01:m0s014-Enc02-PosAct +``` + +To read single value: +``` +caget +``` + +To write single value: +``` +caput +``` + diff --git a/cfg/axis_open_loop.yaml b/cfg/axis_open_loop.yaml index 170e199..9bea499 100644 --- a/cfg/axis_open_loop.yaml +++ b/cfg/axis_open_loop.yaml @@ -1,5 +1,5 @@ axis: - id: 1 # Axis id + id: $(AX_ID) # Axis id type: joint # this is for future selection of axis type # mode: CSV # supported mode, CSV and CSP, defaults CSV # parameters: 'axisPar' # Additional params to motor record driver @@ -17,10 +17,10 @@ axis: # positioning: true # Allow positioning epics: - name: Axis1 # Axis anme + name: Axis$(AX_ID) # Axis name precision: 3 # Decimal count description: very important motor axis # Axis description - unit: deg # Unit + unit: deg # Unit # motorRecord: # enable: true # description: This is MR @@ -131,9 +131,9 @@ trajectory: input: limit: - forward: ec0.s$(DRV_SLAVE).driveStatus01.12 # Ethercat entry for low limit switch input + forward: ec0.s$(DRV_SLAVE).driveStatus01.11 # Ethercat entry for low limit switch input # forwardPolarity: 0 # Polarity of forward limit switch - backward: ec0.s$(DRV_SLAVE).driveStatus01.11 # Ethercat entry for high limit switch input + backward: ec0.s$(DRV_SLAVE).driveStatus01.12 # Ethercat entry for high limit switch input # backwardPolarity: 0 # Polarity of forward limit switch home: 'ec0.s$(DRV_SLAVE).ONE.0' # Ethercat entry for home switch # homePolarity: 0 # Polarity of home switch