Use this page for Technosoft iPOS drive setup, especially FoE-based base configuration and the PSI-supported starter configurations.
Main use cases for Technosoft drives at PSI are applications requiring:
Technosoft drives are powerful, but they are not especially simple to integrate. Many settings are not exposed as normal CoE SDOs, so a base configuration needs to be created in one of the Technosoft tools and downloaded before the drive is used for the first time. That step is normally only needed once. These base configurations contain most of the setup, and only smaller adjustments can later be made over SDOs from the EtherCAT master.
These configurations can be transferred in several ways:
Easy Motion Studio 2 -> Export -> FoE -> Complete Config)To avoid downloading a configuration to each drive over local RS232, a few
generic configurations have been developed and exported via FoE and/or CoE:
These configuration files can be found in ecmccfg/hardware/Technosoft_slaves/config/.
These configurations are intentionally basic and do not expose all hardware features supported by the drive. For example, the following is not covered:
NOTE: The configuration normally only needs to be downloaded once, before the first use of the drive.
Requirements from Technosoft CoE manual (https://technosoftmotion.com/wp-content/uploads/2019/10/P091.064.EtherCAT.iPOS_.UM.pdf):
ecmccfg/hardware/Technosoft_slaves/config/0 and appears not to be used in practice.ecmccfg/hardware/Technosoft_slaves/config/.1 to 0x210c 0x0: ethercat download -m<masterid> -p<slaveid> 0x210c 0x0 1ethercat states -m<masterid> -p<slaveid> BOOTethercat -m<masterid> -p<slaveid> foe_write <filename>Example:
# 2. Allow FoE in state BOOT
ethercat download -m0 -p21 0x210c 0x0 1
# 3a. Set slave into state BOOT
ethercat states -m0 -p21 BOOT
# 3b. Check that slave is in boot state
ethercat slaves
# 4. Download configuration file
ethercat foe_write -m0 -p21 FOESW_OL48.bin
# 5. Now power cycle drive
NOTE 1: Normally upload of the configuration is not needed!
ethercat -m<masterid> -p<slaveid> foe_read <filename> > <output filename>Note: -o or --output-file does not appear to work here.
ethercat -m0 -p0 foe_read FOESW_8020.bin > test.bin
Application -> Create EtherCAT FOE File -> Setup Only.ecmccfg/hardware/Technosoft_slaves/config/FoE/<suitable_dir_name>/<suitable_file_name>README.md file in ecmccfg/hardware/Technosoft_slaves/config/FoE/<suitable_dir_name>/ describing the config:require ecmccfg "ENG_MODE=1"
#- Note the "_2" in iPOS4808BX_2
${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "SLAVE_ID=21, HW_DESC=iPOS4808BX_2"
epicsEnvSet("ECMC_EC_SLAVE_NUM_DRIVE", "$(ECMC_EC_SLAVE_NUM)")
#- NOTE USE HW_DESC = iPOS4808BX_2 (iPOS4808BX is for legacy)
#- Apply component: Oriental motor PKE244A
#- For IPOS4808 some macros are mandatory:
#- * I_CTRL_GAIN : Current loop gain
#- * I_CTRL_INT : Current loop integrator gain
#- * I_MAX_MA : Mandatory if Motor-Generic-2Phase-Stepper is used
#- * I_STDBY_MA : Mandatory if Motor-Generic-2Phase-Stepper is used
#- The values can be taken from EasyMotionStudio or by trial and error (coil resistance and inductance are not used in the iPOS cfgs)
#- After running a tuning test in EasyMotionStudio, a reset is needed (from Easy Motion Studio or over SDO; see motor cfg scripts).
${SCRIPTEXEC} ${ecmccfg_DIR}applyComponent.cmd "COMP=Motor-Generic-2Phase-Stepper, MACROS='I_MAX_MA=1000,I_STDBY_MA=100,CURR_KP=1.0,CURR_TI=0.26'"
#- #############################################################################
#- AXIS 1
#- The reduced current will be applied automatically by the iPOS4808 (no links needed in axis cfgs)
#- $(SCRIPTEXEC) ($(ecmccfg_DIR)configureAxis.cmd, CONFIG=./cfg/ipos4808_1.ax)
${SCRIPTEXEC} ${ecmccfg_DIR}loadYamlAxis.cmd, "FILE=./cfg/axis.yaml, DEV=${IOC}, AX_NAME=M1, AXIS_ID=1, DRV_SID=${ECMC_EC_SLAVE_NUM}"