When an EMCYmessage is detected on a CanOpen node, it is possible, in on-line mode, to see the Emcy code and to acknowledge the node by the button acknowledge located in the device tab "status".
It's possible to read the Emcy Code with the function RECV_EMCY of the CAA CIA 405 library but Is anyone know how to ack a node directly from the PlcApplication ?
Thanks
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I had the same question and got the following answer from 3S-Software Support:
Emergencies cannot be acknowledged by the application. You can only check which Emergencies are pending. For this, use the CiA405 RECV_EMCY and RECV_EMCY_DEV functionblock.
PS, I also asked about the CANOpen manager buttons in the status window to start/stop/reset/... a node, because this didn't work. Here the answer:
The buttons are only for the CANopenManagerFDT and will be deactivate in future versions, if FDT is not activated.
By the way, I had a project with 18 nodes and had to set the guard time of all nodes pretty high (5000ms) to get it to work correctly, but I don't know if it is CoDeSys related or Slave related. What is your experience?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thanks for your contribution TimvH.
Concerning the acknowledge of the CanOpen nodes , the support now gave me the same answer as you.
I have to check again but i've seen that until i didn't ack the node, the EMCY function memorize the last emergency code/node in error. Therefore, view from the plc application, i still have a node in error ...this is my problem, i would like either akc the node or ack the Emcy function from the plc app.
About my experience, in my current project, i have 11 nodes and i use heartbeat function instead of node guard (it's better but, of course, it has to be supported by the devices). My heatbeat producer time is 200ms and consumer time 300ms. I don't have problem with this function
Best regards
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
To change the pending EMCY error the master detected, the device have to send an "emergency reset". Please see the doku for this function block.
The EMCY error you get from CiA405.RECV_EMCY_DEV seems to be the recording at the master, NOT the still pending error at the device.
My device only sends out an EMCY over COB-ID 81 (for node-id 1) once, if there is a rising edge of an error. Nevertheless if the errors is still pending or not. So only one message on CAN bus.
This results in not being the right way to want to check/ack the devices EMCY like you want to do.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
When an EMCYmessage is detected on a CanOpen node, it is possible, in on-line mode, to see the Emcy code and to acknowledge the node by the button acknowledge located in the device tab "status".
It's possible to read the Emcy Code with the function RECV_EMCY of the CAA CIA 405 library but Is anyone know how to ack a node directly from the PlcApplication ?
Thanks
I had the same question and got the following answer from 3S-Software Support:
Emergencies cannot be acknowledged by the application. You can only check which Emergencies are pending. For this, use the CiA405 RECV_EMCY and RECV_EMCY_DEV functionblock.
PS, I also asked about the CANOpen manager buttons in the status window to start/stop/reset/... a node, because this didn't work. Here the answer:
The buttons are only for the CANopenManagerFDT and will be deactivate in future versions, if FDT is not activated.
By the way, I had a project with 18 nodes and had to set the guard time of all nodes pretty high (5000ms) to get it to work correctly, but I don't know if it is CoDeSys related or Slave related. What is your experience?
Thanks for your contribution TimvH.
Concerning the acknowledge of the CanOpen nodes , the support now gave me the same answer as you.
I have to check again but i've seen that until i didn't ack the node, the EMCY function memorize the last emergency code/node in error. Therefore, view from the plc application, i still have a node in error ...this is my problem, i would like either akc the node or ack the Emcy function from the plc app.
About my experience, in my current project, i have 11 nodes and i use heartbeat function instead of node guard (it's better but, of course, it has to be supported by the devices). My heatbeat producer time is 200ms and consumer time 300ms. I don't have problem with this function
Best regards
To change the pending EMCY error the master detected, the device have to send an "emergency reset". Please see the doku for this function block.
The EMCY error you get from CiA405.RECV_EMCY_DEV seems to be the recording at the master, NOT the still pending error at the device.
My device only sends out an EMCY over COB-ID 81 (for node-id 1) once, if there is a rising edge of an error. Nevertheless if the errors is still pending or not. So only one message on CAN bus.
This results in not being the right way to want to check/ack the devices EMCY like you want to do.