From 57e943c140efbab4acf5c03135e840abc09fa26a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anders=20Sandstr=C3=B6m?= Date: Fri, 16 Feb 2024 15:18:49 +0100 Subject: [PATCH 1/3] Update readme --- README.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 50 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 68f08c0..c1aad12 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,59 @@ ecmc_plugin_safety ====== -Plugin designed for interfacing safety plc:s -IMPORTANT: this plugin does not offer any safety functionality. Its just a standard interface to an external safety systtem. +IMPORTANT: This plugin or ecmc does NOT offer any safety functionality. This plugin only offers a standard interface to an external safety system / safety PLC / safety relay!!!! +This plugin is designed for interfacing safety systems to ecmc motion axes. +# Loading of plugin +TODO!! +# SS1 +The plugin supports stopping axes accoring to a concept described as SS1. In SS1 the STO (or removal of power) from the axes are delayed for a certain time alowwing a controlled rampdown. This allows moving axes to ramp down and disable before the power to the axis is interrupted. This will result in less harware failures and less error messages in the system. +Basically the safey system is interfaced with binary signals (ethercat I/O). If, for instance, an emergency stop button is pressed the safety system imiedietlly commands to rampdown velocity of 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 telling 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 STO or removing power. +The configuration is made by two commands: +1. ecmcAddSS1SafetyGroup() +2. ecmcAddAxisToSafetyGroup() + +## ecmcAddSS1SafetyGroup() + +The ecmcAddSS1SafetyGroup() adds a SS1 safety group. The command takes the following parameters: +``` +ecmcAddSS1SafetyGroup(, , ,) + : Name of group. + : Ethercat entry input for rampdown cmd. + : Ethercat entry output for group standstill status. + : Time delay of STO [ms]. +``` +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. + +## 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). + +The ecmcAddAxisToSafetyGroup() command takes the following parameters: +``` +ecmcAddAxisToSafetyGroup(, , , ) + : Name of safety group to add axis to. + : Axis index to add (ecmc axis index). + : Axis standstill velo limit [unit of axis]. + : NOT USED (for future implemenation). Time for axis to be below velo limit [ms]. +``` +Note: The "filter_time" parameter is not used right now. As soon as the axis is below teh velo_limit it will be considered to stand still and will then be disabled. + +Note: The plugin checks the trajectory generated velocity setpoint and not the actual velocity. + +# Example of startup script: +``` +Plugin needs to be loaded.. + +ecmcAddSS1SafetyGroup("first","ec${ECMC_EC_MASTER_ID}.s${DRV_SLAVE}.binaryInput01.0","ec${ECMC_EC_MASTER_ID}.s${DRV_SLAVE}.binaryOutput01.1",500) +ecmcAddAxisToSafetyGroup("first",1,1,0) +ecmcAddAxisToSafetyGroup("first",2,10,0) +ecmcAddAxisToSafetyGroup("first",3,0,0) +.... +``` From 159a0bed211f87610cc32c0f5089e1a1e03c8e59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anders=20Sandstr=C3=B6m?= Date: Fri, 16 Feb 2024 15:31:13 +0100 Subject: [PATCH 2/3] Update readme --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c1aad12..44ec328 100644 --- a/README.md +++ b/README.md @@ -11,8 +11,8 @@ This plugin is designed for interfacing safety systems to ecmc motion axes. TODO!! # SS1 -The plugin supports stopping axes accoring to a concept described as SS1. In SS1 the STO (or removal of power) from the axes are delayed for a certain time alowwing a controlled rampdown. This allows moving axes to ramp down and disable before the power to the axis is interrupted. This will result in less harware failures and less error messages in the system. -Basically the safey system is interfaced with binary signals (ethercat I/O). If, for instance, an emergency stop button is pressed the safety system imiedietlly commands to rampdown velocity of 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 telling 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 STO or removing power. +The plugin supports stopping axes accoring to a concept described as SS1. In SS1 the STO (or removal of power) from the axes are delayed for a certain time allowing a controlled rampdown. This makes it possible to stop moving axes in a controlled way and disable of drives before the power is interrupted (or STO triggered). This will result in a safer system and less harware failures and error messages. +Basically the safey system is interfaced with binary signals (ethercat I/O). If, for instance, an emergency stop button is pressed the safety system immediately commands this plugin to rampdown velocity of 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 STO or removing power. The removal of power to triggering of STO will made regardless if the axes are stanmding still or not. A reset of the safety system will only be possible once teh safetry system gets a confirmation that all axes are at rest. The configuration is made by two commands: 1. ecmcAddSS1SafetyGroup() From ed12498cc26ae92a912616df62c0dd385c62cd93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anders=20Sandstr=C3=B6m?= Date: Fri, 16 Feb 2024 15:32:55 +0100 Subject: [PATCH 3/3] Update readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 44ec328..d6985cd 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ TODO!! # SS1 The plugin supports stopping axes accoring to a concept described as SS1. In SS1 the STO (or removal of power) from the axes are delayed for a certain time allowing a controlled rampdown. This makes it possible to stop moving axes in a controlled way and disable of drives before the power is interrupted (or STO triggered). This will result in a safer system and less harware failures and error messages. -Basically the safey system is interfaced with binary signals (ethercat I/O). If, for instance, an emergency stop button is pressed the safety system immediately commands this plugin to rampdown velocity of 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 STO or removing power. The removal of power to triggering of STO will made regardless if the axes are stanmding still or not. A reset of the safety system will only be possible once teh safetry system gets a confirmation that all axes are at rest. +Basically the safey system is interfaced with binary signals (ethercat I/O). If, for instance, an emergency stop button is pressed the safety system immediately commands this plugin to rampdown velocity of 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 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()