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.


Topics - sramirez

Pages: [1]
1
Support Questions / "The path is not of a legal form" error
« on: July 21, 2023, 08:02:57 AM »
I have a tag that I am trying to read with AdvancedHMIDrivers.EthernetIPforCLXCom.  It is a valid tag but I get the error "The path is not of a legal form".

Here is the crazy thing, it was working and then I did a Build in VS2019 and started getting this error.

I thought I had a corrupted Visual Studio project file so I created a new project and copied the code over to the new project.  The .Read(tagname) command worked for a while.  I did multiple builds and after a few hours the new project stopped working with the "The path is not of a legal form" error.  I have no idea what to do.

Any guidance would be great.

2
Open Discussion / GetTagList errors with "Error from Get Attribure List"
« on: January 26, 2023, 08:48:07 AM »
After upgrading to 3.9.9.2538 (AdvancedHMI399yBeta38), I am getting this error when running GetTagList

Dim EthernetIPforCLXCom1 As New AdvancedHMIDrivers.EthernetIPforCLXCom

        With EthernetIPforCLXCom1
            .IPAddress = "192.168.1.9"
            .PollRateOverride = 1000
            .ProcessorSlot = 0
        End With
        Dim AllTags() As AdvancedHMI.Drivers.CLXTag = EthernetIPforCLXCom1.GetTagList

The stack trace is as follows:
"   at MfgControl.AdvancedHMI.Drivers.CIP.CLXTemplateObject.ParseGetAttributeListResponse(Byte[] data)" & vbCrLf & "   at MfgControl.AdvancedHMI.Drivers.CIP.CLXTemplateObject..ctor(Byte[] data)" & vbCrLf & "   at MfgControl.AdvancedHMI.Drivers.CIP.CIPforCLX.GetUDTInfo(UInt16 dataType, UInt16 sequenceNumber, Int64 ownerObjectID)" & vbCrLf & "   at MfgControl.AdvancedHMI.Drivers.CIP.CIPforCLX.GetCLXTags(Int32 timeout, Int32 transactionNumber, Int64 ownerObjectID)" & vbCrLf & "   at MfgControl.AdvancedHMI.Drivers.EthernetIPforCLX.GetTagList(Int32 timeOut)" & vbCrLf & "   at MfgControl.AdvancedHMI.Drivers.EthernetIPforCLX.GetTagList()" & vbCrLf & "   at Test_AdvancedHMI_GetTagList.Form1.Button1_Click(Object sender, EventArgs e) in C:\git\Framework\Framework_Dev_Line4\Test_AdvancedHMI_GetTagList\Form1.vb:line 12"

I am not sure what to try...
Thanks,
Shawn R

3
Support Questions / GetTagList() suggestion for future enhancement
« on: December 21, 2022, 10:02:03 AM »
I have tried to use the AdvancedHMIDrivers.EthernetIPforCLXCom  .GetTagList() on a number of PLCs we have.  It works on some but others fail due to a timeout.  If I set the timeout on a few of the PLCs to a ridiculous amount it still times out.  Those PLCs have a very large amount of tags.

I would like to suggest a new option where the base tag that you want to look at is passed as a parameter and it only looks within that tag.  We have a lot of tags that are UDTs with child lists and UDTs, so in my case it would make sense I believe.

I figured it wouldn't hurt to put it out there.  Maybe you already have something like this.

Thanks,
Shawn R

4
Support Questions / ReadUDT() problem with array of UDT
« on: December 16, 2022, 11:30:19 AM »
I am attempting to use the ReadUDT() function with a UDT that has a an array(1).
The array type is a second UDT which has a tag that is a defined length string.

I get an "Index was out of range." error when making the call   plc.ReadUDT(Of sr_ParentUDT)("srTestTag")

The tags are in the attached image.

If I change srTestTag.TestList[0].Name from a defined length string of 20 to just a string it works fine.

If I use ReadUDT() on the array element directly the defined length string works as expected.
plc.ReadUDT(Of sr_ChildUDT)("srTestTag.TestList[0]")


Hopefully this makes sense.  It is hard to describe in words.

Thanks for any help.
Shawn R

5
Support Questions / How to handle ReadUDT() with an array of boolean
« on: December 07, 2022, 03:56:56 PM »
I have a test UDT that I am trying to read a tag with the Data Type of BOOL[3]
I get an error "Index out of range" when I try to use ReadUDT().

I can't figure out what I am doing wrong since I am setting the size of the List(of boolean) in the constructor.

Dim plc As New AdvancedHMIDrivers.EthernetIPforCLXCom
plc.ipaddress = "192.168.1.9"
Dim obj As Test1 = plc.ReadUDT(Of Test)("Test1")

UDT
Test1.TestString STRING
Test1.TestBool BOOL[3]

My vb class is defined as
Public Class Test
  Public Property TestString as string
  Public Property TestBool as new List(of boolean)
  Public Sub New()
     for i = 0 to 2
        TestBool.add(0)
     next
  End Sub
End Class

Thanks for any assistance.
Shawn


Pages: [1]