我正在尝试使用Allen Bradley的vHMIABE驱动程序从Vb应用程序控制Allen Bradley ControlLogix PLC,并且我一直收到此错误:
http://imageshack.com/a/img842/4560/lqy2.png
当我点击使用以下代码的“连接”按钮时会出现此错误:
Private Sub PLC_Connect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PLC_Connect.Click
'Connection to PLC
Display.Items.Clear()
With Read_Bit
.Control_PLCType = vHMIABE.enuPLCType.ControlLogix 'PLC of ControlLogix
.Control_PLCIPAddress = "192.168.1.112"
.Control_SocketNumber = 44818
.Control_ResponseTimeOut = 5000 'The communication will timeout after 5 secondes
.Memory_Function = vHMIABE.enuPLCMemoryFunction.Connect ' Connection
.Control_UseAdvancedErrorReporting = True 'Description of error messages
.Control_Update() ' Make the connection
End With
With Write_Bit
.Control_PLCType = vHMIABE.enuPLCType.ControlLogix 'PLC of ControlLogix
.Control_PLCIPAddress = "192.168.1.112"
.Control_SocketNumber = 44818
.Control_ResponseTimeOut = 5000 'The communication will timeout after 5 secondes
.Memory_Function = vHMIABE.enuPLCMemoryFunction.Connect ' Connection
.Control_UseAdvancedErrorReporting = True 'Description of error messages
.Control_Update() ' Make the connection
End With
End Sub
我尽可能多地发表评论,以使我的代码更容易理解
有人有什么想法吗?
非常感谢。
答案 0 :(得分:1)
我不知道这个驱动程序,但我可以给你一个更现代的基于.NET的选项,它更容易使用。实际上,单行代码将写入或读取变量
要阅读的代码示例:
EthernetIPforCLXCom1.Read("MyTag")
答案 1 :(得分:0)
在第一个完成之前,您无法使用第二个.control_update。必须等待第一个.control_update语句的Done事件才能执行第二个。