AdvancedHMI Software
General Category => Support Questions => Topic started by: tbrew01 on August 23, 2013, 09:04:21 PM
-
Hi, I'm trying to communicate to a mirco 850 using modbus TCP. I have to of the variables mapped to modbus addresses within the processor. But keep getting an unhandled exception:
Private Sub PolledDataReturnedValue(ByVal sender As Object, ByVal e As MfgControl.AdvancedHMI.Drivers.Common.PlcComEventArgs)
Try
Value = e.Values(0)
Catch
DisplayError(e.Values(0) & "-INVALID Value RETURNED!")
Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
any ideas? thanks
-
For some reason the driver is not returning values. Try changing the code to this:
DisplayError("-INVALID Value RETURNED!")
-
Hi archie,
I changed the code to not throw the exception. I've had a look at the packets in wireshark, and the correct value (207 or 0xCF) in the holding register is being returned in a packet.
i'll attach a screen shot
-
i've had a bit of a play around today. I thought the fact that it was running in a virtual machine may be causing the problem. I installed Visual Basic Express on the windows 7 machine and I experienced the same problem. The driver polls the PLC, the PLC responds but the driver returns invalid data. This seems to rule out virtual machine causing the problem and points to a bug in the driver i suppose.
-
The Modbus driver definitely has a problem since the version 3.5. It will be fixed in version 3.58 which should be posted tonight.
In the mean time, the Micro850 manual says that it supports CIP symbolic (tag names), so you may want to try the EthernetIPforCLXCom driver. It is discussed on pages 44 and 53 of this manual:
http://literature.rockwellautomation.com/idc/groups/literature/documents/um/2080-um002_-en-e.pdf
-
Thanks for the prompt support. Yes, I did see the CIP Ethernet/IP mentioned in the manual and tried the CLX driver before I moved to the modbus TCP driver. The CLX driver return the error, Unable to determine processor type. I then did some digging and found a tech note about the the ethernet/ip on the 850, it mentioned not being able to interface with panel view screens, through ethernet ip and that they hope to add this support in a later firmware release.
-
Version 3.58 is now available that has the working version of the Modbus driver.
-
Thanks Archie, the new driver is working like a charm. I will definitely consider using advanced hmi on some of our smaller projects.
-
Hi Archie,
I'm trying to use AdvancedHMI with Micro850 controller. But I recieved errors.
I tried to read tab based variables from the controller. I used your BasicLabel control and specified PlcAddressValue property - "Test13".
Also I used EthernetIPforCLXCom driver in order to communicate over EthernetIP and specified only the IP address.
I recieved these message in the output: A first chance exception of type 'MfgControl.AdvancedHMI.Drivers.Common.PLCDriverException' occurred in MfgControl.AdvancedHMI.Drivers.dll
The thread 0x2564 has exited with code 259 (0x103).
A few times it says: "Check processor slot" and finally: "No response from PLC(21)"
Can you help ?
PS. I tested a similar comunication with one of the paid alternatives and it worked so the problem is not in the hardware or in the network infrastructure. I also don't want to use Modbus.
Thanks in advance
-
Start with the normal network troubleshooting by making sure you can ping the IP address you put in the EthernetIPforCLX driver. With the "paid alternative" are you using a tag based (CIP symbol) driver?
-
I just tested your AdvancedHMIBetaV380 version of the project. And the result was the same. I receive these messages:
Com. Error. Check processor slot
Com Error. No presponsle from PLC(21)
Exception of type 'MfgControl.AdvancedHMI.Drivers.Common.PLCDriverException' was thrown
Yes, there is a ping to the controller. Also I found out that your driver makes asucessfully a tcp connection to the controller but can't read the tag value.
I tested the product of Ingear - their NET.LOGIX 5.0 DEVELOPER EDITION. However, I'm not sure if their library makes simple TCP connection or EthernetIP. However, since they want money , it should be EthernetIP connection.
-
I don't have a Micro850 to test with, so I can only be of limited help. I would next do a WireShark packet capture and compare the the 2 drivers to see if they are using the CIP service codes to read tag values.