a062549

New guy questions: V570 Modbus TCP table

30 posts in this topic

I have inherited a challenge to make a Modbus table match an existing layout in a SCADA interface for my employer. Is their a way to map the 570 to line up with the given registers? For instance, I have a temp transmitter in the V570 at an address, and need it to be mapped to 44014. 

Is this doable? (I'm trying to drink from a firehose. I appreciate the forums inputs)

0

Share this post


Link to post
Share on other sites

You can use the Struct function to map data from mixed locations to a vector and from a vector to mixed locations. This is commonly used with expansion IO. 

1

Share this post


Link to post
Share on other sites

OK, I've been reading about the modbus functions and noted that I could use the Data Tables to be read by my SCADA server? Can I import the tag & registers form the SCADA sheet into the Data Table? Then I could put the MI or whatever into the first column to be read? 

I will be getting a cabinet later this week I hope and can start trying to get the data form the V570 to my SCADA interface. I will looking at how many registers will be used and maybe the use of the Struct command will give me enough to do what my employer is wanting.

0

Share this post


Link to post
Share on other sites

You can't do the Data Tables read from a SCADA system.  It is a Unitronics PLC to PLC function only.

MIs map directly to Modbus addresses, except they are 0 based.  To read MI 0 you would instruct your SCADA system to read 40001.

If you post the table of Modbus registers you need to read we can translate it for you.  You'll have to write logic to get the data in the right place.

Joe T.

1

Share this post


Link to post
Share on other sites

OK, thanks! I have about 60 registers I need to remap to a specific Modbus registers as the SCADA system is bordering on antique. (Like me)

I'll do my best to get them all cross referenced and posted here.

0

Share this post


Link to post
Share on other sites

Thanks! I'll get my questions together as I get some free time! 

0

Share this post


Link to post
Share on other sites

Ok, I have a register "MI3" and I need it to end up on my SCADA Modbus reads table as Register 30030. It's for a Discharge Temperature. 

Easy??

 

0

Share this post


Link to post
Share on other sites

Unknown.  

Modbus registers that start with a 3 are a throwback to when Modicon PLCs were a force to be reckoned with.  Analog input modules were known as "Input Registers" and took the form 3xxxx, as you have listed.  It was Modbus command 4.

I looked through the Help and I don't know how the SCAN_EX block is going to handle this request.  With any luck, it will lump it into the Holding Register class (4xxxxx) and everything will be peachy.  This is one of those things you're going to just have to try and let us know the results.

For now, store the value of MI 3 into MI 29 and fire up your system to test it.

Joe T.

0

Share this post


Link to post
Share on other sites

Thanks! I'll hope to give it a try this afternoon.

I would ask if I could copy the 30000 register into the 40000 register? Like you can with a two 16 bit words into one 32 bit? Just thinking...

Hope everyone has a great weekend!

0

Share this post


Link to post
Share on other sites

In the competing brand of PLC, we take two 16 bit words and do a copy command to join the 16 bit to make a 32 bit word. The method is clunky at best, but functional.

0

Share this post


Link to post
Share on other sites

Depending on the endianness that your SCADA system is expecting, you can do a Modbus read of an ML and the combination will be done for you.  If you haven't already read the Unitronics Help on "Slave Address Tables" I would suggest you look it over.  The ML's can be read but you have to specify an offset.  You may have to specify a read length of two words, as the original Modbus spec was written around 16 bit words. 

How is the variable defined in the SCADA system?  Can you give us more specific details of what you are trying to do?

Joe T.

0

Share this post


Link to post
Share on other sites

Thanks Joe,

could you please be a bit more specific as to where this help file is?  Looking hard and can't find it, even on search.   9.8.31

Always want to learn something new.

cheers,   Aus.

0

Share this post


Link to post
Share on other sites

Ausman, I just had to look this up yesterday. It can't be found with search for some reason. You have to go to the Contents tab, then expand Communications, then Communications FBs, then expand MODBUS. There you'll find the topic Slave Addressing. It's very handy to have at your fingertips.

0

Share this post


Link to post
Share on other sites

JT - I've already had a conversation with Cara regarding the difficulty finding the Slave address table.  It has to do with the way the Help software prioritizes keywords and there's nothing that can be done about it.

For the record, I open Help and Search tab-> FBs Library (5) -> MODBUS, Serial -> scroll down to Slave Addressing link.

Gah.

Joe T.

1

Share this post


Link to post
Share on other sites

Unfortunately, I can't do anything about it, Joe is right. The Help for FBs is separate from the Help for the VisiLogic main program, because the FBs themselves are separate modules, which allows FBs to be updated independently. A limitation of the .chm Help format is the inability to link to individual topics in other .chms.
 

I just this minute did something that should prove helpful, though. I don't know whether or not to feel like an utter idiot for not thinking of this 10 years ago - because the issue is at least that old - or very proud of myself for thinking of it now, at 6:30 am in the sunny Middle East, before I've even -good lord - had my coffee.

The next version of VisiLogic Help will contain a topic called MODBUS Slave Addressing, which will at least come up in Search. tell the user to click on a link to open the MODBUS.chm, and look for the topic Slave Addressing.

Not very elegant, but at some sort of improvement.

It will be in the next VL release.

 

 

0

Share this post


Link to post
Share on other sites
On 2/28/2017 at 0:59 AM, Ausman said:

Thanks Joe,

could you please be a bit more specific as to where this help file is?  Looking hard and can't find it, even on search.   9.8.31

Always want to learn something new.

cheers,   Aus.

Ok, here's the dirt: I have a Cygnet Scada interface that is using say, 30030 as Discharge Temp. In my new device, using the Unilogic V570, I need to make my MI3  into the 30030 register 

But: 

MI3

 

 

12291 36867 20483 24579 28675 40963

 

MI3 doesn't land in the 30030, so I need to get it there. Somehow. 

I'm first time Unitronics new, but the forum has been very helpful! I should get the needed additional Ethernet card tmrw and plan to try the method Joe mentioned above. 

I'll plan to update tmrw, if the world doesn't come crashing down.

0

Share this post


Link to post
Share on other sites

Look at the Store block - use it to move MI 3 to MI 29.  With any luck your SCADA system will read it as 30030.

Post your code if you want us to look at it.

Joe T.

0

Share this post


Link to post
Share on other sites

In my software 30030 reads ML1358.

Is remapping SCADA off limits? What if some address ends up in system integers that can't be written on?

0

Share this post


Link to post
Share on other sites

If you mean remapping the Vision memmory, so it is not possible.

If you meant the SCADA, you supposed to be able  to read or write to any permittted address.

0

Share this post


Link to post
Share on other sites
10 hours ago, Joe Tauser said:

Look at the Store block - use it to move MI 3 to MI 29.

Just for clarity, this COPIES MI 3 to MI 29. MI 3 would remain unchanged. Use "Store Direct" found under the "Store" drop down menu.

0

Share this post


Link to post
Share on other sites

OK, attached is the couple of lines using the STORE, copying MI3 to MI29. Will get the modscan going tmrw and report back

Layout.vlp

0

Share this post


Link to post
Share on other sites
On ‎3‎/‎2‎/‎2017 at 4:48 AM, Isakovic said:

In my software 30030 reads ML1358.

Is remapping SCADA off limits? What if some address ends up in system integers that can't be written on?

Yes the remapping of the SCADA side is off limits. Bummer for us.

 

0

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.


Sign In Now