08-30-2023 10:21 AM
Hello Everybody,
I am using brushless DC motor from Oriental motor. I have attached the documents below. I have to make a program in labview through which i can control the speed by using MODBUS RTU library, but i am confused that which registers I have to put for write single holding register and Read holding registers. Please help in this, how to find the exact register through which speed can be controlled.
Note: Previously I made the program in labview, I have attached the screenshot as well that work fine but the problem was motor controlled from 80-4000RPM. But Now I have changed the motor with same protocol with different registers. but I don't know which register I have to put.
08-31-2023 01:50 AM
I don't know the exact answer, but it seems to be in section 11 of the PDF, so I would suggest reading that carefully.
Apparently, you need to take the base address of the "operation" (I'm assuming these are multiple steps you can define for the controller, but I haven't read the PDF) and add 4 to get to the first register of the velocity (which is also RPM, but seems to be a 32 bit number, so you will need to split it into two registers (using the Split Number primitive, for instance)).
08-31-2023 03:25 AM
There is no section 11. It goes up to 9.
I'd say, the document is very confusing. They placed a lot of examples and it appears the registers are disseminated amongst the examples. The most appealing section is 6, the "address codes list". Unfortunately, they don't tell the access type (function). You can find out. I'd guess that reading and writing two addresses like
is WMR/RHR.
08-31-2023 06:35 AM
@MaSta wrote:
There is no section 11. It goes up to 9.
...
The most appealing section is 6, the "address codes list".
Yes, I didn't notice that there were multiple levels. I meant 6-11. Page 338.
I'm assuming it's holding registers, but I didn't bother looking too closely to understand all the details of how it works.