Jump to content

Recommended Posts

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

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

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

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

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

  • External Moderators

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

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...