Issue with Access - "pin is not writable" Error when using setp

More
28 Jan 2025 15:09 #319993 by Ri
Hello everyone,I'm currently facing an issue while trying to write to the pin
cia402.4.controlword
using the
setp
command in my configuration. Despite the documentation indicating that this pin should be set to read-write by default, I am receiving the error message:"pin 'cia402.4.controlword' is not writable."Here are some details about my setup:
  • I have verified the HAL configuration and ensured that the pin is defined correctly.
  • The EtherCAT configuration appears to be set up properly, with the relevant PDO and SDO entries.
  • The drive is in a state that should allow writing to the control word.
I would appreciate any insights or suggestions on how to resolve this issue. Has anyone else encountered a similar problem? Any help would be greatly appreciated!Thank you!

Please Log in or Create an account to join the conversation.

More
28 Jan 2025 18:00 - 28 Jan 2025 18:05 #320002 by Aciera
isn't 'cia402.n.controlword' an output pin? (you can't setp output pins)
Last edit: 28 Jan 2025 18:05 by Aciera.

Please Log in or Create an account to join the conversation.

More
29 Jan 2025 07:37 #320060 by Ri
According to the documentation, the control word is transmitted from the controller to the driver. What should it be? (I checked, and both with out and in I get the same error: not writable.)

Please Log in or Create an account to join the conversation.

More
29 Jan 2025 09:25 - 29 Jan 2025 09:26 #320062 by Hakan
controlword is an output pin, not writable.

Here is a small example of how you connect the cia402 component
github.com/dbraun1981/hal-cia402/tree/main/example

If it still doesn't work after that, we need to see your hal and ethercat-conf.xml files.
Last edit: 29 Jan 2025 09:26 by Hakan.
The following user(s) said Thank You: Aciera

Please Log in or Create an account to join the conversation.

More
04 Feb 2025 13:05 #320603 by Ri
How should the control word be written and transmitted if it is not a writable pin? I need to write and transmit the control word; how can I do this if it is not writable through HAL? This is a valuable instruction that the driver must execute :(

Please Log in or Create an account to join the conversation.

More
04 Feb 2025 17:41 - 04 Feb 2025 17:44 #320627 by Aciera
It's an output pin of the cia402 component so the cia402 component writes the control word to lcec
#from cia402 to servo(ethercat)
net x-controlword         cia402.0.controlword => lcec.0.0.cia-controlword
Last edit: 04 Feb 2025 17:44 by Aciera.

Please Log in or Create an account to join the conversation.

  • rodw
  • rodw's Avatar
  • Away
  • Platinum Member
  • Platinum Member
More
04 Feb 2025 20:20 #320650 by rodw
You need to share more about what you want to achieve. Sounds like you are going about things the wrong way...
cia402.comp is an interface between Linuxcnc joints and the ethercat cia402 servo drive.

Please Log in or Create an account to join the conversation.

More
05 Feb 2025 12:58 #320739 by Ri
where then in Linux are these signals generated, how to register them for a specific driver And where is the PLC of the machine written?

Please Log in or Create an account to join the conversation.

More
05 Feb 2025 15:24 #320755 by Aciera
You need to connect the relevant signals in your .hal file as in the example linked in the post above.

And where is the PLC of the machine written?


Not sure which PLC or which machine you are referring to.

Please Log in or Create an account to join the conversation.

More
05 Feb 2025 19:01 - 05 Feb 2025 19:07 #320779 by Hakan
The cia402 component generates the necessary signalling with the drive's controlword pin.
It has the logic to do state changes and other things required by cia402. Therefore, we don't bother about that, it is all handled by the cia402 component. We just use the cia402 component.

If you want to go your own way, and do the signalling yourself to the drive you write to the drive's controlword lcec.0.0.controlword.
But that is just unnecessary, use the cia402 component instead, connect it as in the example.
You can check the source code for the cia402, it is where the example is.
 
Last edit: 05 Feb 2025 19:07 by Hakan.

Please Log in or Create an account to join the conversation.

Time to create page: 0.067 seconds
Powered by Kunena Forum