08-31-2025 07:55 AM
Hello everyone,
This is my first post ever. I hope you can help me.
I'm trying to control a Futaba AJ9DA servo via RS485. The documentation doesn't specify it, but I think it's the Modbus RTU protocol.
The hardware is a USB to RS485 converter that works well with VISA drivers: USB-to rs485
Referring to the servo documentation (page 35, ex. 1), to move the servo 90°, I have to send the command (see writing example and Example code RS485)
but nothing works and the program fails.
The settings (baud rate, parity, etc.) are correct.
Can anyone with experience with Modbus help me?
Thanks.
Best regards
Paolo
08-31-2025 09:52 AM - edited 08-31-2025 09:53 AM
Your image just shows the front panel and we can't tell what that circled control really is. (Array of strings? What is the display style? Integer in hex format? What type? What display format? etc.)
As a first step, attach your actual VI. we cannot debug pictures.
08-31-2025 10:26 AM
altenbach,
thanks for response.
The example is attached, it's default example in NI modbus library.
The data (Holding register) are array of Unsigned (U16) and i setted Hexadecimal display format.
Thanks
Best regards
Paolo
08-31-2025 07:52 PM
I recommend you use a Modbus Master Test Panel like ModbusTool to test out the communication before attempting the programming.
09-01-2025 09:57 AM
ZYOng, thank for suggestion.
I tried using your program. Referring to the example on page 22 (direct specified address), the output is:
The settings are correct (baud rate, parity, flow control ecc) but don't work.
Something's wrong, but since I don't have a protocol analyzer available, I can't figure out what I'm actually sending to the servo.
I'm quite desperate, I should use these servos with a cRIO, but I wanted to do some preliminary tests before programming.
Thanks
Best regards
Paolo