Vidmas30 Posted November 15, 2010 Report Share Posted November 15, 2010 Good day, Started new project, where I need to connect with my V350-35-TU24 to ventilation system regulator to read some register and to control speed (remote). In it's manual described : 1information register (r / w): _______________________________________________________________________ | "scope" object link | connection to object element | register address | description | |___________________|________________________|_______________|___________| | 0x2301'Unit1\SplyFan- | 0x0100 | 9 | (0..100%) | | Spv.St1Spv' | | | | |___________________|________________________|_______________|___________| The same way are described all registers. Since I'm doing this first time, I don't know if I'm doing this right way (addressing): If I want to read register, then in Uni Vision I choose block READ HOLDING REGISTERS (3) (after initiallizing card and socket) and question is what to write in SLAVE:START OF VECTOR? Following description above would it be 1009(hex) ->4105(dec)? and Vector length =1? Thank you for your answers! Link to comment Share on other sites More sharing options...
Damian Posted November 15, 2010 Report Share Posted November 15, 2010 Good day, Started new project, where I need to connect with my V350-35-TU24 to ventilation system regulator to read some register and to control speed (remote). In it's manual described : 1information register (r / w): _______________________________________________________________________ | "scope" object link | connection to object element | register address | description | |___________________|________________________|_______________|___________| | 0x2301'Unit1\SplyFan- | 0x0100 | 9 | (0..100%) | | Spv.St1Spv' | | | | |___________________|________________________|_______________|___________| The same way are described all registers. Since I'm doing this first time, I don't know if I'm doing this right way (addressing): If I want to read register, then in Uni Vision I choose block READ HOLDING REGISTERS (3) (after initiallizing card and socket) and question is what to write in SLAVE:START OF VECTOR? Following description above would it be 1009(hex) ->4105(dec)? and Vector length =1? Thank you for your answers! It almost sounds like the above is ASCII. It sounds like your using modbus, so you shouldn't have to worry about how the Data is framed. You only need to worry about the address of the data you are looking to poll. Slave Start of Vector is the Modbus address that the data in your slave device maps to. Is your device a Modbus device? Link to comment Share on other sites More sharing options...
Vidmas30 Posted November 15, 2010 Author Report Share Posted November 15, 2010 Hi, As I mentioned, It's ventilation system controller, that has MODBUS TCP/IP port for data exchange. And that part of table is from instruction manual of that controller (yes, in my topic above I forgot to write that these are MODBUS TCP/IP register addresses of that controller). Oh, and the table I tried to write collapsed:) I'll try once more in other way: 1information register (r / w) : "scope" object link (0x2301'Unit1\SplyFanSpv.St1Spv'); connection to object element (0x0100); register address(9); description (0..100%). So, if connection to object is 0x0100 and register address is 9, then my START OF VECTOR in modbus tcp/ip should be 109(hex) ->265(dec). I don't know if I understand this part right.. Link to comment Share on other sites More sharing options...
Ofir Posted November 16, 2010 Report Share Posted November 16, 2010 Hi Vidmas30, It is really hard to undestand from the description of the register the right addressing. Please make sure that you are looking at the MODBUS addressing and not in other protocol addressing. Usually in slave addressing table you will find the MODBUS command number, register address and legal parameters. Can you post a screen shot of this table? Link to comment Share on other sites More sharing options...
Vidmas30 Posted November 16, 2010 Author Report Share Posted November 16, 2010 Hi, Ofir, Since I can't attach manual (pdf) in this post, here's a link to instruction manual: http://193.17.84.244/pdf/controls_sup_sup-exh_AHUs_ru.pdf In the end of manual, there's a table with MODBUS TCP/IP data. Link to comment Share on other sites More sharing options...
Damian Posted November 16, 2010 Report Share Posted November 16, 2010 Hi, As I mentioned, It's ventilation system controller, that has MODBUS TCP/IP port for data exchange. And that part of table is from instruction manual of that controller (yes, in my topic above I forgot to write that these are MODBUS TCP/IP register addresses of that controller). Oh, and the table I tried to write collapsed:) I'll try once more in other way: 1information register (r / w) : "scope" object link (0x2301'Unit1\SplyFanSpv.St1Spv'); connection to object element (0x0100); register address(9); description (0..100%). So, if connection to object is 0x0100 and register address is 9, then my START OF VECTOR in modbus tcp/ip should be 109(hex) ->265(dec). I don't know if I understand this part right.. Ofir is right, a screen shot of the chart would help. Are you reading 16 bit values or 32 bit values? Not sure what your documentation means by "object" in this context. If it is referring to the type of data or the offset of that type of data (ie . bits, floats, ints, etc) then this is already implicit in the function call itself. If your register address is 9 and is 16bit, then really your vector start should only be 9. Do you have a link to an online manual associated with the documentation you have?? Link to comment Share on other sites More sharing options...
Vidmas30 Posted November 16, 2010 Author Report Share Posted November 16, 2010 Hi, Damian, Link to manual is in my post above (sorry, but available only in russian).. Link to comment Share on other sites More sharing options...
External Moderators Ash Neilson Posted November 16, 2010 External Moderators Report Share Posted November 16, 2010 Hi Vidmas30, I am slowly getting there with reading the Russian on the PDF Manual Could you possibly post the PLC Program here on the forum or send to ash@comtech.co.nz? It's a lot easier to see where you may be going wrong if I can see exactly how you are trying to communicate. The PDF Manual makes things a LOT easier now that we can see what the Modbus TCP/IP Addressing structure is Link to comment Share on other sites More sharing options...
Damian Posted November 16, 2010 Report Share Posted November 16, 2010 Hi, As I mentioned, It's ventilation system controller, that has MODBUS TCP/IP port for data exchange. And that part of table is from instruction manual of that controller (yes, in my topic above I forgot to write that these are MODBUS TCP/IP register addresses of that controller). Oh, and the table I tried to write collapsed:) I'll try once more in other way: 1information register (r / w) : "scope" object link (0x2301'Unit1\SplyFanSpv.St1Spv'); connection to object element (0x0100); register address(9); description (0..100%). So, if connection to object is 0x0100 and register address is 9, then my START OF VECTOR in modbus tcp/ip should be 109(hex) ->265(dec). I don't know if I understand this part right.. Hi Vidmas, Ignore all the stuff about Object member. You only care about the address. For the "holding registers" register address 9 is "supply FC frequency setpoint for Stage 1". If you want to read this value in you will use the slave starting address as 9 and the Length as 1 using a "Read Holding Registers (3)" function. If you want to write a new value to this register, you would need to use the "Preset Holding Registers (16)" function instead. The "object member" codes they list seem to be referencing internal memory locations. They should not have any ramifications on the MODBUS mapping. It looks as though Unitronics does not support all of the functions your controller has (such as read only one input register, read only one single state register). Your controller also references the reading and writing of single coil registers. You might have to experiment to see if Unitronics Read Coils and Write Coils function are compatible with this. Hopefully you can accomplish everything you need with just the Holding Registers. Fortunately all your registers appear to be 16bit. This also makes things much easier. You'll be able to load them directly into MI registers one to one. Good Luck! Link to comment Share on other sites More sharing options...
Vidmas30 Posted November 17, 2010 Author Report Share Posted November 17, 2010 Ash and Damian, Thank you a lot for explanations it helps a lot. As soon as I'll do test on the field, I'll post results. Thank you once more! Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now