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

Pages: [1] 2
1
Support Questions / Re: Array of DataSubscriber2 at runtime
« on: August 09, 2018, 09:39:05 PM »
Thanks Archie,

Went a slightly different route. I create one driver and two DataSubscribers per PLC. Identifying who is talking is critical.

Subscribing directly through the driver and identifying the data subscribed vs identifying the driver with two DS's is similar. So I went the latter.

Not super elegant, but works. Capped at 25 PLC's configurable via the ini file.
I have 25 (x2) simple event handler sub routines pre-configured that I link new DS's to as required, they in turn call a common function to process the data passing on their ID and incoming data. Works fine.

Thanks again.

2
Support Questions / Re: Array of DataSubscriber2 at runtime
« on: August 08, 2018, 11:55:59 PM »
Hi again,

So, bit of progress.

Runtime I create my EthernetIPforCLXCom Driver.  (Drv_Test)
Runtime I create my DataSubscriber2.  (DS_Test)

DS_Test.ComComponent = Drv_Test

I can also create the event handler

AddHandler DS_Test.DataChanged, AddressOf DS_Test_DataChanged

Code: [Select]
Private Sub DS_Test_DataChanged(sender As Object, e As MfgControl.AdvancedHMI.Drivers.Common.PlcComEventArgs)


        ProcessIncomingData(e)
End Sub


When the data changes the event handler fires.
In parameter 'e' I can see the PLC memory location and the changed data.
What I cannot determine is which Driver triggered it. (i.e. Drv_Test)

I can see the IP address of the triggering driver, which is indeed unique in this instance, but *MAY* not always be.

Any idea's here?
Alternative would be to pre-build many DS_Test_DataChanged() handlers with different names up to the maximum allowed different PLC's as per project scope, but I would far rather just have one and ID the triggering driver.

3
Support Questions / Re: Array of DataSubscriber2 at runtime
« on: August 08, 2018, 10:35:03 PM »
The drivers are created at run time too. So I will have the same problem with regard to linking to an event handler.

4
Support Questions / Re: Array of DataSubscriber2 at runtime
« on: August 08, 2018, 09:56:29 PM »
It is multiple datasubscriber2 because it is over multpiple PLC's.

Will be one per PLC.

5
Support Questions / Array of DataSubscriber2 at runtime
« on: August 08, 2018, 08:51:17 PM »
Hi All,

I have a situation where I want to create multiple DataSubscriber2 at runtime, but the quantity may vary depending on ini file settings.

I can create them no problem, (at least I think I can!), but I am having trouble linking them to an event handler function. Happy for the one routine to handle all as once I get the event details I can branch/react as required.

Any advice? Or am I fooling myself?

Cheers,
Graeme.

(Reason: I have a common app across multiple projects. Each project connects to different quantities of PLC's. I want to keep the application generic)

6
Thanks.

7
Hi all,

Whenever I open the MainFrom.vb file, it will create an AdvancedHMIDrivers.EthernetIPforCLXCom item, (naming it EthernetIPforCLXCom1). Despite the fact there is already an instance of one there already, (with a project specific name).

I cannot work out why? There is no reference to it anywhere in the code. It's as if the MainForm feels that it needs to see one hen it opens and doesn't recognise the existing.
If I delete it, close and re-open MainForm.vb it comes back.
If I rename it, close and re-open MainForm.vb I get another one.

There are no other AdvancedHMI items on the MainForm apart from a DataSubscriber2 already linked to the EthernetIPforCLXCom.

Any idea's on what to look for?
Thanks.

8
Hi Archie,

There is a BOOL array set up of [100].
I actually have 36 Check Boxes setup, consecutive, starting at Bit[40].

All display the same behaviour.

Thanks.

9
Hi Archie,

Upgraded to v3.99x, issue is still the same.

Happy to do any tests you may want.

Again, SuppressErrorDisplay gets me out of trouble.

Cheers,
Graeme

10
Thanks Archie, I will.

11
Hi,

I am getting the following error on an AdvancedHMIControls.CheckBox

"General Error: Offset plus Number of Elements extends beyond the end of the requested tag."

The comms method is EthernetIPforCLXCom, and works fine for all else.

The PLC tag in question is a type of BOOL. (Set up in an array as BOOL[100]), PLC is a L27 Compact Logix

The Advanced HMI check box control has the same PLC tag set in both:
PLCAddressCheckChanged
PLCAddressChecked

It works fine, as expected, however the error flashes on and off continually. I can turn the error off using SuppressErrorDisplay = true. But I would still like to know what is happening?

I am using AdvancedHMI version: 3.99(t)

Thanks,
Graeme.

12
Support Questions / App freezing when showing windows forms.
« on: July 31, 2017, 05:37:44 AM »
Hi All,

I have an interesting issue with the app freezing for a while before updating all content and working fine.

Windows form app with minimal PLC interaction.
Various windows forms a are shown at different times with the true HMI data.
These forms a created at runtime, but not shown.

One such form has a Tab Control on it with two tabs. Each tab has an overview with several basic labels (20+).
When I open/show this form, I pre-select which tab to view first.

When I open form to Tab A, all it's labels work 100% fine, quick acting, no issue. As soon as I click on Tab B, the tab is shown, but the app freezes. You cannot even move it around by the top title bar. After a wait of between 10 and 20 seconds, it comes to life and then works fine. You can alternate between tabs no issue, all is OK. You can also hide the tab, then re show with no issue.

It behaves completely the same in reverse if I open Tab B first.

Any idea's?

Regards,
Graeme

13
Support Questions / ComComponent runtime change
« on: June 02, 2017, 01:03:08 AM »
Hi All,

I want to be able to change the ComComponent during runtime for various BasicLabel and BasicIndicator. Is this achievable? (I have seen hint of SubscribeToComDriver but struggle to find implementation).

Alternatively, (and perhaps even better), could a common AdvancedHMIDrivers.EthernetIPforSLCMicroCom have it's IP address changed at runtime?

Any advice welcomed.
Thanks,
Graeme.

14
Open Discussion / Re: IP traffic with multiple windows forms
« on: March 28, 2017, 06:52:34 PM »
Thanks Archie.

15
Open Discussion / IP traffic with multiple windows forms
« on: March 28, 2017, 01:05:37 AM »
Hi,

I'm looking at a project with potentially a lot of I/O. I am building the HMI to have several Windows forms that I Show/Hide to manage the layout.

Question:
- Will the Basic Labels and Indicators continue to poll the PLC(s) even when not visible?

Cheers,
Graeme.

Pages: [1] 2