Protocol to Error Message Output
- Ritterchen
- Offline
- Junior Member
Less
More
- Posts: 26
- Thank you received: 10
13 May 2024 19:40 - 13 May 2024 19:41 #300520
by Ritterchen
Protocol to Error Message Output was created by Ritterchen
Hi together,
is there a way to display incoming error messages from RS485/ Ethercat in a meaningful and easy way?
Aka take the error IDs each device sends into one pin each and convert them into a user-readable message.
E.g. Spindle Error Output sends error 21 (or 70 other errors)
It gets taken and looked up into a table what the ID stands for and displays the corresponding Message:
"Drive over-load (oL)"
Classic approach to my understanding would be to split up the int into bits, combine it together with ands and then create 70 pins that trigger the message display in the Interface. (Gmoccapy in my case)
Is there an easier way to do that?
In programming I would just create a file that gets fed into an array and then a loop that goes through that and spits out the message.
Just want to check before writing something that is already existing?
All the best
Fritz
is there a way to display incoming error messages from RS485/ Ethercat in a meaningful and easy way?
Aka take the error IDs each device sends into one pin each and convert them into a user-readable message.
E.g. Spindle Error Output sends error 21 (or 70 other errors)
It gets taken and looked up into a table what the ID stands for and displays the corresponding Message:
"Drive over-load (oL)"
Classic approach to my understanding would be to split up the int into bits, combine it together with ands and then create 70 pins that trigger the message display in the Interface. (Gmoccapy in my case)
Is there an easier way to do that?
In programming I would just create a file that gets fed into an array and then a loop that goes through that and spits out the message.
Just want to check before writing something that is already existing?
All the best
Fritz
Last edit: 13 May 2024 19:41 by Ritterchen.
Please Log in or Create an account to join the conversation.
18 May 2024 08:45 #300899
by andypugh
Replied by andypugh on topic Protocol to Error Message Output
I don't think that there is anything existing other than the "message" component and that would require the tangle of HAL that you describe.
This seems like a job for a Python userspace component.
If you do write it, consider submitting it to the project for inclusion.
This seems like a job for a Python userspace component.
If you do write it, consider submitting it to the project for inclusion.
Please Log in or Create an account to join the conversation.
18 May 2024 13:00 #300912
by cmorley
Replied by cmorley on topic Protocol to Error Message Output
Qtvcp/QtDragon and Gmoccapy have most of what you need:
linuxcnc.org/docs/stable/html/gui/qtvcp-...#_code_messages_code
linuxcnc.org/docs/stable/html/gui/gmocca...ration-user-messages
Sounds like you need one that uses a S32 HAL pin to select the message.
Is it just the change in the S32 that would change the messages or would there be a trigger but pin?
Chris
linuxcnc.org/docs/stable/html/gui/qtvcp-...#_code_messages_code
linuxcnc.org/docs/stable/html/gui/gmocca...ration-user-messages
Sounds like you need one that uses a S32 HAL pin to select the message.
Is it just the change in the S32 that would change the messages or would there be a trigger but pin?
Chris
Please Log in or Create an account to join the conversation.
- Ritterchen
- Offline
- Junior Member
Less
More
- Posts: 26
- Thank you received: 10
10 Oct 2024 07:29 #311706
by Ritterchen
Replied by Ritterchen on topic Protocol to Error Message Output
I created a quick draft about how I imagine an error I-O component would work.
If anyone has feedback about the intended function I would love to hear and adjust if necessary.
It sounds a bit complex to write myself, so I am looking also for help. If anyone is up to the job I would like to hire someone for it.
General:
Currently there is no error management implemented in LinuxCNC. I would like to have a component that simplifies that and makes it easy to react on a number of error signals from modern drives.
Example of the general function:
A servo drives sends out the error integer "2" via Modbus = Current overload. The components reads this error message in error stream 4 (One device= One Stream). Integer 2 is available as an error and will be processed in the component and therefore there is an output pin: ES4.2 (this output pin can trigger a message of the GUI e.g. "Drive A current overload").
Furthermore this error under this error stream is connected to a reaction pin e.g. "machine stop"
The reaction pins can be shared for various errors all connected via or.
One input is the number of error streams e.g. 0-32
One input is the range of each error stream e.g. 0-1000
One input should mask the available errors e.g. 1,2,3,10,111 (from the range above 0-1000), these numbers will be available as output pins (of the same number)
One input should define the number of "reaction-outputs" e.g. 0-2 (machine stop, motion-inhibit, pause)
One input should assign the errors (1,2,3,10,111) a "reaction-output" e.g. 2,1,1,1,0
Would love to hear feedback on that or PM me if you are interested in the job.
If anyone has feedback about the intended function I would love to hear and adjust if necessary.
It sounds a bit complex to write myself, so I am looking also for help. If anyone is up to the job I would like to hire someone for it.
General:
Currently there is no error management implemented in LinuxCNC. I would like to have a component that simplifies that and makes it easy to react on a number of error signals from modern drives.
Example of the general function:
A servo drives sends out the error integer "2" via Modbus = Current overload. The components reads this error message in error stream 4 (One device= One Stream). Integer 2 is available as an error and will be processed in the component and therefore there is an output pin: ES4.2 (this output pin can trigger a message of the GUI e.g. "Drive A current overload").
Furthermore this error under this error stream is connected to a reaction pin e.g. "machine stop"
The reaction pins can be shared for various errors all connected via or.
One input is the number of error streams e.g. 0-32
One input is the range of each error stream e.g. 0-1000
One input should mask the available errors e.g. 1,2,3,10,111 (from the range above 0-1000), these numbers will be available as output pins (of the same number)
One input should define the number of "reaction-outputs" e.g. 0-2 (machine stop, motion-inhibit, pause)
One input should assign the errors (1,2,3,10,111) a "reaction-output" e.g. 2,1,1,1,0
Would love to hear feedback on that or PM me if you are interested in the job.
Please Log in or Create an account to join the conversation.
Time to create page: 0.061 seconds