Rename addAxisToGroup.cmd to addAxisToSafetyGroup.cmd WIP
This commit is contained in:
30
README.md
30
README.md
@@ -22,8 +22,8 @@ Basically the safey system is interfaced with two binary signals (ethercat I/O):
|
||||
If, for instance, an safety event is triggerd by the safety system, it will immediately command this plugin to rampdown velocity of all axes (that a configured to stop). When all axes, that are configured to rampdown, have stopped then this plugin will disable the axes and set an ethercat output informing the safety system that the axes are standstill. After a certain timout the safety system will make sure power is removed from the motion axes by triggering an STO or removing power. The removal of power or triggering of STO will made regardless if the axes are at rest or not. A reset of the safety system, allowing power to the drives, will only be possible once the safety system gets a confirmation that all axes are at rest.
|
||||
|
||||
The configuration is made by two commands:
|
||||
1. ecmcAddSS1SafetyGroup()
|
||||
2. ecmcAddAxisToSafetyGroup()
|
||||
1. ecmcAddSS1SafetyGroup() wrapped into addSS1Group.cmd
|
||||
2. ecmcAddAxisToSafetyGroup() wrapped in snippet addAxisToSafetyGroup.cmd
|
||||
|
||||
## ecmcAddSS1SafetyGroup()
|
||||
|
||||
@@ -38,9 +38,22 @@ ecmcAddSS1SafetyGroup(<name>, <ec_rampdown_cmd>, <ec_standstill_status>,<time_de
|
||||
Each group is interfacing the safety system through the same I/O (ethercat).
|
||||
Axes that needs the SS1 fucntionality can be added to this group with the ecmcAddAxisToSafetyGroup() command.
|
||||
|
||||
This command is also wrapped in a snippet:
|
||||
* addSS1Group.cmd
|
||||
This command is also wrapped in a snippet addSS1Group.cmd with the follwoing parameters:
|
||||
* NAME : Name of group
|
||||
* EC_RAMP_DOWN : Ethercat input of ramp down signal from safety PLC
|
||||
* EC_AXES_STANDSTILL : Ethercat output for signaling safetysystem that all axes are at standstill.
|
||||
* DELAY_MS : Safety system delay time of STO or removal of power
|
||||
|
||||
Example:
|
||||
```
|
||||
|
||||
# Create SS1 group
|
||||
epicsEnvSet(EC_RAMP_DOWN,"ec${ECMC_EC_MASTER_ID}.s${BI_SLAVE}.binaryInput08.0")
|
||||
epicsEnvSet(EC_AXES_STANDSTILL,"ec${ECMC_EC_MASTER_ID}.s${BO_SLAVE}.binaryOutput07.0")
|
||||
epicsEnvSet(SAFETY_TIMEOUT,500)
|
||||
${SCRIPTEXEC} ${ecmc_plugin_safety_DIR}addSS1Group.cmd "NAME=first,EC_RAMP_DOWN=${EC_RAMP_DOWN},EC_AXES_STANDSTILL=${EC_AXES_STANDSTILL},DELAY_MS=${SAFETY_TIMEOUT}"
|
||||
|
||||
```
|
||||
## ecmcAddAxisToSafetyGroup()
|
||||
With the "ecmcAddAxisToSafetyGroup()" command an ecmc axis can be added to a safety group.
|
||||
All axes linked to a certain group will act on command from the safety system (initiation of velocity rampdown).
|
||||
@@ -57,8 +70,7 @@ Note: The "filter_time" parameter is not used right now. As soon as the axis is
|
||||
|
||||
Note: The plugin checks the trajectory generated velocity setpoint and not the actual velocity.
|
||||
|
||||
This command is also wrapped in a snippet:
|
||||
* addAxisToGroup.cmd
|
||||
This command is also wrapped in a snippet addAxisToSafetyGroup.cmd with the following parameters
|
||||
|
||||
# Example of startup script:
|
||||
```
|
||||
@@ -73,9 +85,9 @@ epicsEnvSet(STANDSTILL_STAT,"ec${ECMC_EC_MASTER_ID}.s${DRV_SLAVE}.ZERO.1")
|
||||
${SCRIPTEXEC} ${ecmc_plugin_safety_DIR}addSS1Group.cmd "NAME=first,EC_RAMP_DOWN_CMD=${RAMP_DOWN_CMD},EC_STANDSTILL_STAT=${STANDSTILL_STAT},DELAY_MS=500"
|
||||
|
||||
# Add axes to group "first"
|
||||
${SCRIPTEXEC} ${ecmc_plugin_safety_DIR}addAxisToGroup.cmd "NAME=first,AX_ID=1,VELO_LIM=1"
|
||||
${SCRIPTEXEC} ${ecmc_plugin_safety_DIR}addAxisToGroup.cmd "NAME=first,AX_ID=2,VELO_LIM=1"
|
||||
${SCRIPTEXEC} ${ecmc_plugin_safety_DIR}addAxisToGroup.cmd "NAME=first,AX_ID=3,VELO_LIM=1"
|
||||
${SCRIPTEXEC} ${ecmc_plugin_safety_DIR}addAxisToSafetyGroup.cmd.cmd "NAME=first,AX_ID=1,VELO_LIM=1"
|
||||
${SCRIPTEXEC} ${ecmc_plugin_safety_DIR}addAxisToSafetyGroup.cmd.cmd "NAME=first,AX_ID=2,VELO_LIM=1"
|
||||
${SCRIPTEXEC} ${ecmc_plugin_safety_DIR}addAxisToSafetyGroup.cmd.cmd "NAME=first,AX_ID=3,VELO_LIM=1"
|
||||
....
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user