It only took me about 6 weeks to get to it and complete it, but here is the video showing how to use the Ethernet/IP driver and deploy to a panel PC:
http://www.youtube.com/watch?v=D83XnI9I1EA
It would need a driver written which unfortunately are the most difficult components to add to the project. I am working on a driver model that will make writing drivers a lot easier for anyone that wants to try add a new communication driver. I'm trying to make it simple enough that you would only have to write the code to parse an address then build the stream of bytes that the PLC wants to see.If someone wanted to have this talk modbus tcpip, what would have to be done? Is there any request for modbus tcpip?
I've had a couple people say that the project doesn't work in VB Express. I downloaded VB Express 2008 and tried this current project and it works fine.
The drivers are designed to be "friendly" with the VB design enviroment and allow multiple forms to be used while passing data through the same data link layer portion of the drivers. The downside to this is exactly what you discovered.if i put two IP drivers into the project i cant set different IP addresses for either of them, if i edit one it changes the other? Is there any way around this? Thanks...
Private Sub Annunciator1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Annunciator1.Load
If Annunciator1.Value = True Then
Annunciator1.Visible = True
Else : Annunciator1.Visible = False
End If
End Sub
Try to set the visible property in the Annunciator.vb code:I'm trying to hide an annunciator on the screen whih shows when the estop is activated. I can get it to work in normal state and it highlights in red when activated, but when it is unactivated I want it to be hidden.
[SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]Private[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]Sub[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] PolledDataReturned([/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]ByVal[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] Values() [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]As[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]String[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2])[/SIZE]
[SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]Try[/COLOR][/SIZE]
[/COLOR][/SIZE][SIZE=2] Value = Values(0)[/SIZE]
[SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff] Me[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2].Visible = [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]Not[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] Value[/SIZE]
[SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]Catch[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] ex [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]As[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] Exception[/SIZE]
[SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff] If[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] Values(0).Length < 10 [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]Then[/COLOR][/SIZE]
[/COLOR][/SIZE][SIZE=2] TextDisplay = [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"INVALID VALUE!"[/COLOR][/SIZE]
[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff] Else[/COLOR][/SIZE]
[/COLOR][/SIZE][SIZE=2] TextDisplay = Values(0)[/SIZE]
[SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff] End[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE]
[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]End[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]Try[/COLOR][/SIZE]
[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]End[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]Sub[/COLOR][/SIZE]
[/COLOR][/SIZE]