AdvancedHMI Software
General Category => Open Discussion => Topic started by: Khosrow on March 14, 2017, 02:46:58 PM
-
Archie:
I want to thank you for the great job you have done developing AdavancedHMI controls and dlls.
I have been using the old version (before r or may be t) of your AdvancedHMIDrivers.dll and MfgControl.AdvancedHMI.Drivers.dll in my VB.net 2010 to read 2 Tags off AB CompactLogix PLCs. Here are the statements I use in my code to Read 2 Tags off 2 PLCs:
Imports AdvancedHMIDrivers
Public Class MainForm
Public AbPLc(2) As EthernetIPforCLXCom
Private Sub MainForm_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
AbPLc(1) = New EthernetIPforCLXCom
AbPLc(1).IPAddress = "192.168.1.207"
AbPLc(1).Timeout = 1000
AbPLc(2) = New EthernetIPforCLXCom
AbPLc(2).IPAddress = "192.168.1.204"
AbPLc(2).Timeout = 1000
End Sub
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Dim DataStr As String
Try
DataStr = AbPLc(1).Read(Tag1.Text)
Lab1.Text = DataStr
Application.DoEvents()
DataStr = AbPLc(2).Read(Tag2.Text)
Lab2.Text = DataStr
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
End Class
As soon as I replace the above 2 dlls with their new version v, or w, I get the error message”
“Read Failed. Path Segment Error (Invalid Tag Name), Status Error=4”
It is my understanding that as of version 3.99r only Ethernet card routing is available. My problem is that I do not know what Routing Path I should use to make my application work with the latest version of dlls.
I can ping the 2 IP address and I have access through Rslogix5000 or Linx but not with the latest version of your AdvancedHMI.libraries.
Any help that you can provide me to make my application work with version w is greatly appreciated.
Thanks
Khosrow
-
The Path Segment Error is a direct response from the PLC, so the PLC is receiving the request and responding to it. Double check your tag name and make sure it is a Controller scope tag or prefixed with the PROGRAM:xxxxx.yyyy
-
Archie:
The tags are correct and my application has been working since November, but with the old version of the 2 libraries.
The only thing I do to my application is copying the latest version of 2 dlls to the debug folder of my application and run it.
I have no problem with the dlls created before Sept. 22 of 2016 but not release w.
Khosrow
-
Can you do a Wireshark capture and post it?
-
I tested your code with versoin w, it worked for me
Private Sub MainForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load
AbPLc(1) = New EthernetIPforSLCMicroCom
AbPLc(1).IPAddress = "192.168.1.10"
AbPLc(1).Timeout = 500
End Sub
Private Sub BasicButton1_Click(sender As Object, e As EventArgs) Handles BasicButton1.Click
Dim DataStr As String
Try
DataStr = AbPLc(1).Read("T4:1.ACC")
Label2.Text = DataStr
Application.DoEvents()
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
-
Thanks for trying it.
My problem is that I am using 2 CompactLogix PLCs in a network environment and I use Tags instead of registers.
What I cannot understand is why the versions prior of r work so beautifully while the new versions of AdvancedHMIDrivers.dll all fail.
I tried what Archie suggested in addressing the tags like Program:BM2180.PID_PV instead of just PID_PV. none of the versions could recognize or handle it.
Something has definitely changed in EthernetIPforCLXCom class from version r to .....w.