Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Tped

Pages: [1]
1
seems to be working, i got rid of the msgbox in the catch exception and replaced it with a richtext box so i could track it.
i disconnected the plc and reconnected after if faulted.  It took longer than I expected to recover, but it finally did.  Thanks for the help, i really appreciate it.

2
Archie, it appears to be stable, but still breaks when I download to my plc when making changes.  Is there any way to make it self recover?

3
Yes, try catch.  that is the popup from the code.  I'll kill the try catch and post what happens next time it chokes.

4
it popped an error, but a different one this time.
this application uses a timer to read 2 arrays from the plc every 60 seconds and log the data into a csv file.
it also reads from a spreadsheet and writes recipe data to the plc.

this popped up during one of the timed array reads.  screenshot attached.

5
So far so good, I'll update if I run into issues.  Thanks for the quick reply.

7
Project is running.  v399x
I'm reading an array of 500 reals and an array of 500 strings.

DataCollectionValue = EthernetIPforCLXCom1.Read("DataCollectionSensors", 500)
DataCollectionName = EthernetIPforCLXCom1.Read("DataCollectionSensorsNames", 500)

No issues.

When I have to download to the plc and the comms die, I get this error:
System.IndexOutOfRangeException: Index was outside the bounds of the array
msgbox has a bunch of text from the Try/Catch, but these two are always present when this happens
EthernetIPforCLXCom.vb Lines 443/364

it never recovers unless I kill the app and restart.  What should I do to make this more robust?  Or is there any way to get the comms back without a restart?

8
Support Questions / Logix ReadUDT exception
« on: June 08, 2019, 07:31:43 AM »
I have my udt class created, and a tag defined to it (TestData as UDT_Results).  When i run this line
TestData = EthernetIPforCLXCom1.ReadUDT(Of UDT_Results)("TestResults", 1)
i get this back

System.NullReferenceException
  HResult=0x80004003
  Message=Object reference not set to an instance of an object.
  Source=MfgControl.AdvancedHMI.Drivers
  StackTrace:
   at MfgControl.AdvancedHMI.Drivers.UDTBytesToClass.a[a]()
   at MfgControl.AdvancedHMI.Drivers.UDTBytesToClass.GetObjectFromBytes[t](Byte[] data, Int32 startIndex)
   at MfgControl.AdvancedHMI.Drivers.EthernetIPforCLX.ReadUDT[t](String startAddress, Int32 numberOfElements)
   at MfgControl.AdvancedHMI.FormMain.Subscription_DataReceived(Object sender, PlcComEventArgs e) in D:\Documents\Advanced HMI\3120 Pentair Data Management\AdvancedHMI\FormMain.vb:line 61
   at AdvancedHMIDrivers.EthernetIPforCLXCom.DataRecSync(Object e) in D:\Documents\Advanced HMI\3120 Pentair Data Management\AdvancedHMIDrivers\AllenBradley\EthernetIPforCLXCom.vb:line 291


Not sure what i'm doing wrong, I'm a PLC guy, this vb stuff is pretty new to me.

Pages: [1]