Join us today!
FB_SoEAX5000ParkAxis or How To Prevent STO Error?
Hey all,
I thought I had seen a Park Axis post on the forum and tried searching it, but the search didn't return any hits.
My use-case:
I have a project with a modular safety concept.
There are certain logical areas where an operator must:
- 1. HMI Request to place a part of the system in a safe state
- 2. Axes move to a safe position, which is verified by a Safety Input to the TwinSAFE system when the move is complete
- 3. Then STO those specific axes
- 4. Unlock enclosure doors and allow personnel entry
- 5. When work is done, personnel close doors
- 6. HMI Request to lock enclosure doors
- 7. Begin running again
My concern is that when I STO the axes, I will get a Drive Error. I am using an Alarm Listener (via FB_ListenerBase2) that looks for alarms of a specific severity to trigger a PackML State Transition into "Aborting"; a safety error or safety violation is one of these severity levels of my alarms.
In this case, I do not want to see the STO event and then trigger the entire Unit to move into "Aborting". I have thought a possible solution to this is to use FB_SoEAX5000ParkAxis when the axes is in a safe position just prior to telling the axes to STO.
Does anyone have any experience with this FB? And if so, have you used it with the AX5805 Safety Option Card? The scant documentation that there is says it can be used for a "modular machine concept in which certain devices in certain machine configurations do not exist", but I'm not certain that this applies to devices with Safety cards.
Thank you for your time.
Hi,
What's the drive error you're getting? Have you tried using MC_Stop before activating the STO on the axes?
Thank you for your reply! I'm actually still in the programming phase and have not commissioned or tested this on the machine, because the physical machine is not ready.
I'm just curious if anyone has dealt with this, because this machine has like 50 servos and they all have AX5805 cards which I use STO with (because they also have AX5722 optional encoder cards which limit the AX5805 card to ONLY using STO, not SS1, etc). I just wanted to get in-front of this problem.
Because web-handling is involved in this machine, I am actually using the TwinSAFE E-Stop FB's Delayed Out to trigger the STO. When I get the E-Stop FB immediate out goes FALSE, I send a signal to the PLC via an Alias Device to enter "Aborting", which the PLC then tells all affected servos to MC_Stop with my "emergency deceleration" value. I set the time delay on the E-Stop Delayed Out such that by the time it has elapsed, the PLC SHOULD have stopped all Axes.
Again, thank you for your feedback.
V/R,
Adam
Edited-To-Add:
Normally, having a Drive Error after an STO wouldn't be an issue, because a safety violation has told the system to STO. However, I have 6 axes that are intermittently entered to refill material. I would just like to not have to create a special case for handling these axes, if possible.
Out of curiosity, how are you handling the Axes in the software?
Have you made the Axis library to command them?...
https://github.com/runtimevic
https://github.com/TcMotion
https://www.youtube.com/playlist?list=PLEfi_hUmmSjFpfdJ6yw3B9yj7dWHYkHmQ
https://github.com/VisualPLC
Hey Victor,
I have made a FB_AXIS_BASE class, which is a wrapper for all the commands I want to do on an Axis. The FB contains instances of all the Motion FB's I would like to do on the axis, as well as "Parameter" methods for sending commands to Servo Drive IDN's, etc.
Then, anywhere that I need an Axis in one of my PackML Components or Units, I insert an instance of my FB_AXIS_BASE.
Hello, if you have time I invite you to look and if you want you can collaborate... 🤩 🤗
https://github.com/runtimevic
https://github.com/TcMotion
https://www.youtube.com/playlist?list=PLEfi_hUmmSjFpfdJ6yw3B9yj7dWHYkHmQ
https://github.com/VisualPLC
- 17 Forums
- 267 Topics
- 942 Posts
- 4 Online
- 722 Members