Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| db80d255de | |||
| 2c12d995df | |||
| 4a65e3b753 | |||
| 1c7e7793eb | |||
| fd0f594c08 | |||
| 1ccabdf578 |
@@ -6,6 +6,7 @@ BUILDCLASSES = Linux
|
|||||||
ARCH_FILTER = deb10%
|
ARCH_FILTER = deb10%
|
||||||
EXCLUDE_VERSIONS+=3 7.0.5 7.0.6
|
EXCLUDE_VERSIONS+=3 7.0.5 7.0.6
|
||||||
|
|
||||||
|
SCRIPTS += startup.cmd
|
||||||
SCRIPTS += axis_sm.plc_inc
|
SCRIPTS += axis_sm.plc_inc
|
||||||
SCRIPTS += axis_kin_slit.plc_inc
|
SCRIPTS += axis_kin_slit.plc_inc
|
||||||
SCRIPTS += axis_kin_mirror.plc_inc
|
SCRIPTS += axis_kin_mirror.plc_inc
|
||||||
|
|||||||
@@ -8,21 +8,22 @@ Syncronazation can be done both by defining the forward adn inverse kinematcis a
|
|||||||
|
|
||||||
The module implement 5 generic syncronazation scripts based on the matrix approach:
|
The module implement 5 generic syncronazation scripts based on the matrix approach:
|
||||||
* axis_kin_2DoF.plc_inc : Kinematics for a 2 Dof system (slits)
|
* axis_kin_2DoF.plc_inc : Kinematics for a 2 Dof system (slits)
|
||||||
* axis_kin_3DoF.plc_inc : Kinematics for a 3 Dof system (slits)
|
* axis_kin_3DoF.plc_inc : Kinematics for a 3 Dof system
|
||||||
* axis_kin_4DoF.plc_inc : Kinematics for a 4 Dof system (slits)
|
* axis_kin_4DoF.plc_inc : Kinematics for a 4 Dof system
|
||||||
* axis_kin_5DoF.plc_inc : Kinematics for a 5 Dof system (slits)
|
* axis_kin_5DoF.plc_inc : Kinematics for a 5 Dof system
|
||||||
* axis_kin_6DoF.plc_inc : Kinematics for a 6 Dof system (slits)
|
* axis_kin_6DoF.plc_inc : Kinematics for a 6 Dof system
|
||||||
|
|
||||||
and 2 dedicated:
|
and 2 dedicated:
|
||||||
* axis_kin_slit.plc_inc : Dedicated script for a slit system based on equations (including interlocks and softlimits)
|
* axis_kin_slit.plc_inc : Dedicated script for a slit system based on equations (including interlocks and softlimits)
|
||||||
* axis_kin_mirror.plc_inc : Dedicated script for a 5 DoF mirror based on matrices
|
* axis_kin_mirror.plc_inc : Dedicated script for a 5 DoF mirror system based on matrices
|
||||||
|
|
||||||
### Generic scripts (axis_kin_xDoF.plc_inc)
|
### Generic scripts (axis_kin_\<index\>DoF.plc_inc)
|
||||||
|
|
||||||
The generic scripts needs a few macros:
|
The generic scripts needs a few macros:
|
||||||
* AX_S\<index\> : Axis index for slave axes 1..DoF
|
* AX_S\<index\> : Axis index for slave axes, index = 1..DoF
|
||||||
* AX_M\<index\> : Axis index for master axes 1..DoF
|
* AX_M\<index\> : Axis index for master axes, index = 1..DoF
|
||||||
* FWD\<index\ : Forward kinematics array 1..DoF
|
* FWD\<index\> : Forward kinematics array, index = 1..DoF
|
||||||
* INV\<index\ : Inverse kinematics array 1..DoF
|
* INV\<index\> : Inverse kinematics array, index = 1..DoF
|
||||||
|
|
||||||
## State machine
|
## State machine
|
||||||
The state machine makes sure that master and slaved axes cannot run simultaneous. However, several master axes or several slave axes can run at the same time.
|
The state machine makes sure that master and slaved axes cannot run simultaneous. However, several master axes or several slave axes can run at the same time.
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ require ecmccfg,"ENG_MODE=1,EC_RATE=100"
|
|||||||
require ecmccomp
|
require ecmccomp
|
||||||
|
|
||||||
#- Syncronization configs
|
#- Syncronization configs
|
||||||
require ecmc_master_slave sandst_a
|
require ecmc_master_slave
|
||||||
|
|
||||||
#- Only output errors
|
#- Only output errors
|
||||||
asynSetTraceMask(${ECMC_ASYN_PORT}, -1, 0x01)
|
asynSetTraceMask(${ECMC_ASYN_PORT}, -1, 0x01)
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
#- Configuration scripts
|
#- Configuration scripts
|
||||||
require ecmccfg,"ENG_MODE=1,EC_RATE=100"
|
require ecmccfg sandst_a "ENG_MODE=1,EC_RATE=100"
|
||||||
|
|
||||||
#- Components lib
|
#- Components lib
|
||||||
require ecmccomp
|
require ecmccomp
|
||||||
|
|
||||||
#- Syncronization configs
|
#- Syncronization configs
|
||||||
require ecmc_master_slave sandst_a
|
require ecmc_master_slave
|
||||||
|
|
||||||
#- Only output errors
|
#- Only output errors
|
||||||
asynSetTraceMask(${ECMC_ASYN_PORT}, -1, 0x01)
|
asynSetTraceMask(${ECMC_ASYN_PORT}, -1, 0x01)
|
||||||
@@ -17,7 +17,7 @@ asynSetTraceMask(${ECMC_ASYN_PORT}, -1, 0x01)
|
|||||||
#- #################################################################
|
#- #################################################################
|
||||||
#- PLCs with kinematics (note the INC var including dirs to search for include files)
|
#- PLCs with kinematics (note the INC var including dirs to search for include files)
|
||||||
#- The group ID:s configured in yaml are stored in GRP_<axis.group>_ID
|
#- The group ID:s configured in yaml are stored in GRP_<axis.group>_ID
|
||||||
${SCRIPTEXEC} ${ecmccfg_DIR}loadPLCFile.cmd, "FILE=./cfg/axis_main.plc, PLC_ID=1, INC=.:${ecmc_master_slave_DIR}, PLC_MACROS='PLC_ID=1, AX_M1=12, AX_M2=13, AX_S1=5, AX_S2=6, GRP_ID_SA=${GRP_realAxes_ID}, GRP_ID_MA=${GRP_virtualAxes_ID}'"
|
${SCRIPTEXEC} ${ecmccfg_DIR}loadPLCFile.cmd, "FILE=./cfg/axis_main.plc, PLC_ID=1, INC=.:${ecmc_master_slave_DIR}, DESC='Slit Kinematics and Statemachine', PLC_MACROS='PLC_ID=1, AX_M1=12, AX_M2=13, AX_S1=5, AX_S2=6, GRP_ID_SA=${GRP_realAxes_ID}, GRP_ID_MA=${GRP_virtualAxes_ID}'"
|
||||||
|
|
||||||
#- #################################################################
|
#- #################################################################
|
||||||
#- go active
|
#- go active
|
||||||
|
|||||||
Reference in New Issue
Block a user