Jump to content

Recommended Posts

Posted (edited)

Hi.  W've done couple of projects linking unilogics and unistream plc to indusoft scada system.  Now I'm battling to get comms to the io part of the plc.  Registervalue's we can get but any bolean point no comms.

Anybody have experience between indusoft and unistream plc.

Thanks.image.thumb.png.c1892a06ee1d0bfba590c145920b770e.png

Edited by rcerva
Added screenshot
Posted

Hi Joe. Thanks for the reply.  We have 1x setup in other systems for inputs, outputs and internal coils and it worked.

 

I've changed the internal coils to 0x now and they work.  But my inputs and outputs than is on 1x does not work.

[ID: 2524] MOTCP Read Block - Station: 192.168.7.120:502:255, Address: 0X:252 to 0X:296 > Ok
[ID: 2524] Tx:00 00 00 00 00 06 FF 02 00 00 00 DE
[ID: 2524] Rx:00 00 00 00 00 1F FF 82 1C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
...Rx:00 00 00 00 00 00 00 00 00 00 00 00 00
Error, Command: 0x82, Status: 0x1C
[ID: 2524] MOTCP Read Block - Station: 192.168.7.120:502:255, Address: 1X:1 to 1X:222 > Status: 28
[ID: 2524] Tx:00 00 00 00 00 06 FF 04 00 00 00 16
[ID: 2524] Rx:00 00 00 00 00 2F FF 04 2C 00 25 00 25 00 26 00 24 00 24 00 26 00 24 00
...Rx:26 00 44 00 1E 00 1E FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00
...Rx:00 00 00 00 00
[ID: 2524] MOTCP Read Block - Station: 192.168.7.120:502:255, Address: 3X:1 to 3X:22 > Ok

 

Do you know what the status 28 is in that row.

 

Thanks.

  • MVP 2023
Posted
4 hours ago, rcerva said:

Error, Command: 0x82, Status: 0x1C

 

4 hours ago, rcerva said:

Do you know what the status 28 is in that row.

I'm guessing you meant 82.

If you're going to get deep into troubleshooting Modbus then you need to browse this document, which is the original Modbus protocol description:

http://www.modbus.org/docs/PI_MBUS_300.pdf

Starting on page 22 you'll see the function code descriptions.

First off, looking at your transmission block, using 1X is just bad form unless the device's modbus table description specifically calls them "inputs".   Reading inputs is code 02, reading coils is code 01. 

Look at this page:

https://ipc2u.com/articles/knowledge-base/detailed-description-of-the-modbus-tcp-protocol-with-command-examples/

If you send a Modbus command and the slave chokes on it, it returns the command with the error bit which corresponds to hex "80".  So "02" incorrectly sent becomes "82".

You also have 3X embedded in your requests, which shouldn't work either.  They should be 4X for holding registers.  3X is for input registers, and it's not common to use these anymore.

If 1X and 3X work in devices on your Indusoft Modbus configuration then it means the creators of the devices probably put code in to accept either command or they really truly designed the devices to the old Modicon PLC specification, where 1X were discrete input modules and 3X were analog input modules.

I'm getting close to going on a rant so I'll just leave it at that.  In summary you should really only be using 0X and 4X in your Modbus table.

And yes, we have done Web Studio projects.  It used to be a really cost-effective platform before Wonderware "Software that's Fun-to-Wear" bought them out and doubled all the license prices.

Joe T. 

    

Posted

Error, Command: 0x82, Status: 0x1C
[ID: 12B4] MOTCP Read Block - Station: 192.168.7.120:502:255, Address: 1X:1 to 1X:222 > Status: 28

Statur :28 of the last line.  Will modify today again and see what happens.

When I tried 0x for the inputs and outputs it gives me different error messages again.  Also the registers on the 3x was on 4x but did not want to work.

The 2nd pic I attach is the settings of driver.  If I make the 32 block size 64 as in other systems I loose the values as well.

Is there something on the Unitronics side that I need to change?

Thanks. If you can assist with teamviewer then maybe it can help.

What other scada system do you use now instead of Indusoft.  We build drying room for fresh fruits and use basically for temp logging and machine status with the scada.

Thanks again for all assistance.  Sitting in West Africa now with the installation so internet and things not that reliable.

Rodgerimage.thumb.png.a8e38e09952b26370eb76b2213e3c81f.pngimage.thumb.png.af408a43a195b6c2ee9de3938c003d3f.png

Posted

Error, Command: 0x81, Status: 0x25
[ID: 1168] MOTCP Read Block - Station: 192.168.7.120:502:255, Address: 0X:1 to 0X:296 > Status: 37

Changed all the 1x to 0x and get this error.

 

Posted

Error, Command: 0x81, Status: 0x25
[ID: 1028] MOTCP Read Block - Station: 192.168.7.120:502:255, Address: 0X:1 to 0X:296 > Status: 37
[ID: 1028] Tx:00 00 00 00 00 06 FF 03 00 00 00 40
[ID: 1028] Rx:00 00 00 00 00 83 FF 83 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
...Rx:00 BB A0 00 0D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
...Rx:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
...Rx:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
...Rx:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
...Rx:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Error, Command: 0x83, Status: 0x80
[ID: 1028] MOTCP Read Block - Station: 192.168.7.120:502:255, Address: 4X:1 to 4X:64 > Status: 128
[ID: 1028] Tx:00 00 00 00 00 06 FF 03 00 40 00 0C
[ID: 1028] Rx:00 00 00 00 00 1B FF 03 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
...Rx:00 BB A0 00 0D 00 00 00 00
[ID: 1028] MOTCP Read Block - Station: 192.168.7.120:502:255, Address: 4X:65 to 4X:76 > Ok
 

If I change block size to 64 then this happens.

 

  • MVP 2023
Posted

Don't forget that Unitronics starts Modbus addresses at 0, and UniStream only makes available what you define.  If your SCADA app asks for data the UniStream is not configured to serve up then it won't work.

Post your code or PM it to me so I can see your exact Modbus configuration.

Joe T.

  • 4 years later...
Posted

Hi,

Sorry that this is a old topic but I was having the same problem and this was the second Google result. 

I am connecting a Unistream to Web Studio (Now AVEVA Edge).

I had the same error as above so I went to the driver page and there was no error 28.

Then went and found the generic driver help and it listed the Error 28 as Framing.

So I then got to the  Standard Driver Sheets help page and at the bottom it said:

Each Standard Driver Sheet can have up to 4096 rows. However, the Read Trigger, Enable Read When Idle, and Write Trigger commands attempt to communicate the entire block of addresses that is configured in the sheet, so if the block of addresses is larger than the maximum block size that is supported by the driver protocol, then you will receive a communication error (e.g., "invalid block size") during run time. Therefore, the maximum block size imposes a practical limit on the number of rows in the sheet, and that limit varies by driver. For more information, please refer to the driver documentation for your selected driver. 

 

So the sheet can hold 4096 rows, but Modbus driver has a max of 255 bytes.

Changed my sheet to be below the 255 Byte limit and it worked.

This limit is not talked about on the main driver help page so it was easy to over look.

Hope this helps someone, though I hope that you are not still working on the problem 4 years later.

2N2907

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
×
×
  • Create New...

Important Information

This site uses cookies. By clicking I accept, you agree to their use.