Add second axis and update readme

This commit is contained in:
2024-05-28 09:43:38 +02:00
parent 5553b7c035
commit 1f70409dfd
3 changed files with 90 additions and 16 deletions

View File

@@ -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:

View File

@@ -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 <name>
```
Write PV:
```
dbpf <name> <value>
```
# 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 <pvname>
```
To write single value:
```
caput <pvname> <value>
```

View File

@@ -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