Set Coils and Fetch Discrete may not be valid commands for the controller. I would think all the registers are integers and nothing would be boolean. Some registers might inherently be boolean, but are handled as a 0 or 1 in a holding register.
Set Holding Registers may not work with certain addresses as some are going to be read only. Only use Set for those register addresses that are read/write.
I've worked with the Control Techniques drives so I know you can do Modbus with them. I don't know if they've changed anything in the newer models of drives after Nidec bought them.
One thing to keep an eye on is the slave address or unit ID. I do remember using the purple modbus library which assumes a particular unit ID by default. But I think Control Techniques uses different unit ID's depending on whether it is the drive base, or an add on module. Like Id 0 worked for one, ID 1 worked for another, maybe even 2, 3, 4 if you have add-on modules. And also some crazy high unit ID's also worked like a ID of 253 gave me the same access to address that 1 did (I probably am remembering some of those numbers wrong.)
All I can say is thoroughly read their communications guide. The Advanced User Guide will tell you things they leave out of the Basic User Guide.
I just added a unit ID VI between Create TCP Master VI and Read Holding Register VI and it seems to work now.
Now I know that I can successfully communicate with the drive. I can start working on setting up communication VIs for reading/writing drive parameters and proceed with my program.
The read register VI I created seems to be working fine but the CT drive has a few parameters that are in decimal format. The register values for these parameters are displayed incorrectly. The default output data type of the VIs are in U16 format which I'm not able to change.
Do you know a way around this issue?
What exactly does "decimal format" mean?
I could probably help if you attached some pictures as to how the data is shown, and anything from the manual that explains how it is supposed to be shown.
Even better than pictures would be a VI that has been executed and the controls and indicators have the data saved as default before saving and attaching the VI.
I use this drive 3 times, I control it using OPC last time, and it works very good, better than Modbus.
This is what I have used.
You can then multiply the result by a scaling factor to get the proper output. For example when reading Menu 4.002 (Q axis current) the help file says that the parameter has 3 decimal places so you would multiply Result by 0.001