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 - timryder

Pages: 1 ... 4 5 [6]
76
Support Questions / Re: Writing a large number of tag values at once
« on: September 13, 2017, 09:47:50 AM »
Thank you for the answer, would you mind answering my second question i posted?

Quote
Here is my exact code.

Code: [Select]
Dim array As Single() = LocalListXPos.ToArray()
EthernetIPforMicro800Com1.Write("PartPositionsX[1]", 32, array)

Where LocalListXPos is just a List object of type Single.

One of the arguments is "startAddress" where i put "PartPositionsX[1]" as this is the first one of the array of 32.  Does the function automatically increment somehow? Will this indeed get all of my x coordinates from my local array down to the PLC in their respective locations?  PartPositionsX[1] - PartPositionsX[32]?

Thanks Archie

77
Support Questions / Re: Writing a large number of tag values at once
« on: September 12, 2017, 04:05:17 PM »
Here is my exact code.

Code: [Select]
Dim array As Single() = LocalListXPos.ToArray()
EthernetIPforMicro800Com1.Write("PartPositionsX[1]", 32, array)

Where LocalListXPos is just a List object of type Single.

One of the arguments is "startAddress" where i put "PartPositionsX[1]" as this is the first one of the array of 32.  Does the function automatically increment somehow? Will this indeed get all of my x coordinates from my local array down to the PLC in their respective locations?  PartPositionsX[1] - PartPositionsX[32]?


78
Support Questions / Re: Writing a large number of tag values at once
« on: September 12, 2017, 03:56:17 PM »
Ok but is there a response or a synchronous mode for writing values to the PLC?
I would be nice if I had a confirmation that the data was written instead of having to write my own sort of handshaking check.

79
Support Questions / Writing a large number of tag values at once
« on: September 12, 2017, 01:12:10 PM »
Doing an application where I need to send down a bunch of Real Numbers to a micro800 plc on a button_press event.

I noticed that there are two different types of Writes for the Com component.  There is plain .Write and then there is .BeginWrite.

I have 32 tags to write down, which in the plc is actually an array of 32 different real numbers. Ex:  PartCoordinatesX[1...32]
also PartCoordinatesY[1...32].

What is the best way to accomplish this? I can loop through until it's done but how do you get a synchronous feed back that the data was sent successfully? Is there any handshake like that? 

OR does the BeginWrite which has arguments of "startAddress, Number of Elements" seem like the better option.  In either case, whats the best course here?  And also is there some synchronous mode to write data into the plc which gives me feedback?

Thanks in advance!

80
Application Showcase / Re: $200 7” Touchscreen
« on: September 12, 2017, 11:38:57 AM »
This is awesome... im thoroughly impressed. I have a product line I'm looking at putting a tiny pc and AHMI on for use.  This gives me a huge kickstart!

Thanks

81
Application Showcase / Re: MDIParent Form Model
« on: September 12, 2017, 11:18:05 AM »
I have the solution for you Phrog,
From the main MDIParent Form, Open each of the child forms during the Form_Load event.

Code: [Select]
childFormMain.MdiParent = Me                                                      'Sets all of the application forms as MDI Children
        childFormAlarms.MdiParent = Me
        childFormManual.MdiParent = Me
        childFormMachineSetup.MdiParent = Me
        childFormPartSetup.MdiParent = Me

        childFormMain.Show()                                                              'Show all of the children initially to load them in memory
        childFormAlarms.Show()
        childFormManual.Show()
        childFormMachineSetup.Show()
        childFormPartSetup.Show()

        childFormMain.BringToFront()                                                      'The children are displayed using the BringToFront method, so here we show the first page.
        childFormMain.Focus()

Then on the button click method (which doesn't have to be an AHMI "FormChangeButton" btw), use the following logic

Code: [Select]
If Me.HasChildren = True Then
            For Each frm As Form In Me.MdiChildren
                If TypeOf (frm) Is frmManual Then
                    CType(frm, frmManual).BringToFront()
                    CType(frm, frmManual).Focus()
                    Me.Refresh()
                    Exit Sub
                End If
            Next
        End If

Just change the "frmManual" to whatever form Name you're trying to show.  Make sure to set each forms "Name" property as that's how we're calling them.

So the basic idea is to open them all up ahead of time and then just bring to front the form you want to see.
No flashy at all.

82
Application Showcase / MDIParent Form Model
« on: September 11, 2017, 11:36:28 AM »
I've used AHMI on several HMI Applications already but I didn't like the way that change the pages worked so I made my own MDI-Parent/Child form control and I've adapted it to work quite smoothly.  Having used this on several machines already I can say that I'm pretty happy with it.

This particular application is servicing a Micro850 PLC from Allen-Bradley over Ethernet and which has 2 Servo Linear stages for positioning parts directly under a laser marker.  There is also a built in Keyence camera which is being controlled by this application over Winsock TCP/IP.  This app has the ability to build custom part configurations for differing setups as well as store and open previously saved ones.  The HMI will synchronize with the PLC the coordinates for each of the parts programmed.

It also logs machine activity and Part data including Serial Number and Camera Pass/Fail to an excel spreadsheet per the customers request.

I have disabled the PLC coms so when you download the sample make sure to re-enable them if you plan on using this. AdvancedHMIControls project and then in the Subscriptionhandler.vb un-comment the SubscribeToComDriver method.











https://drive.google.com/drive/folders/0B8Vb3TS6SQwxTEROWWR0X1RwcTg?usp=sharing

Just click on the drop down above the files list and there will be an option to download it.

83
Open Discussion / Re: What would you like to see in the next major release?
« on: September 11, 2017, 11:04:30 AM »
The lack of a decent alarm component is the top on my list.  I realize that this can be rather difficult but I'd like to see at least a template form or something that comes with AdvanceHMI which can give noob users an idea how to do it better.

Also I think the whole navigation is a bit clunky, I created an MDI Client application which works much cleaner than your typical pages version.

Maybe offer a template for that too?

Pages: 1 ... 4 5 [6]