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

Pages: [1]
1
Hi Archie, far too many references...I will surely break something. The bigger question is what is causing the form to fire. Like I said if I step through in debug mode everything appears to work the way it should even though I'm not connected to a plc (I get an exception which gets logged...but no form firing). It's something else and I have no idea what it is because I can't recreate on my development computer. This is only occurring when deploying.

2
Hi Archie,
Just recompiled to 3.97c...no change. Something is different and I'm not sure what??? I've migrated to VS2013 and that's when it seems the issues arose, but can't say if that is related. Like I said I am running it as a service and have had no issues up until now (other than some of the fixes you've been working through), but this one has me stumped. When I step through the code line by line it does what it is supposed to. When I deploy it (using Installshield LE) on the production this is where I get that modal dialog...any ideas.

3
Okay thanks Archie...I'll let you know how it works. Up unto this point I haven't had any issues running in a service. I guess the question isn't so much about the messagebox, it's what's causing the messagebox to be thrown. Windows services are historically very difficult to troubleshoot, but I do know it is not a database connectivity issue I have on the otherside, it is definitely stemming from AdvancedHMI drivers when trying to do a write to the PLC.

How you manage to stay on top of this stuff and answer everyone's request so quickly is beyond me, but keep up the good work. I will provide some feedback on your update when I can.

4
Support Questions / Using AdvancedHMI Drivers in a Windows Service v3.97
« on: January 10, 2015, 01:14:17 PM »
Since updating to v3.97 and visual studio 2013. I am having an issue where everytime I try to write to the PLC I'm getting:

System.Windows.Forms; Showing a modal dialog box or form when the application is not running in UserInteractive mode is not a valid operation. Specify the ServiceNotification or DefaultDesktopOnly style to display a notification from a service application.

Since this is a windows service I am not using any forms in my code...I know it's stemming from the AdvancedHMI Driver references because I had a recent issue where a window was popping up says Incomplete Solution.

I was under the assumption that error was corrected when I added all of the AdvancedHMI projects to my solution. Now since installing on the production machine (and I'm actually connected to PLC's) I'm getting a similar error about the WindowsForms in my log, yet when I step through the code in debug mode (user interactive mode) everything writes to the PLC without issue.

I'm out of ideas here. Archie please is there anything you can think of here...

5
Support Questions / Re: Dialog Box - Incomplete Solution
« on: January 08, 2015, 07:39:40 PM »
Hi Archie,
Just a follow up to my post. I was missing the AdvancedHMIControls project in my solution. Recompiled and everything seems to be working now. Thanks for your speedy response.
-Controlsnut

6
Support Questions / Re: Dialog Box - Incomplete Solution
« on: January 08, 2015, 07:18:59 PM »
Okay. What is the proper way to bring this into an existing solution. My other projects within the solution will need a reference to the AdvancedHMIDrivers. Thanks in advance.

7
Support Questions / Dialog Box - Incomplete Solution
« on: January 08, 2015, 05:01:34 PM »
Hello,
I'm having a strange issue. I'm using the EthernetIPforCLXCom driver and it seems I can instantiate a new object no problem and when I look at the stack trace of newly created "plc" object it looks okay, meaning it has been given a bunch of default parameters i.e.,
DisableSubscriptions = false
IPAddress = "192.168.0.10"
PollRateOverride = 500
Port = 44818
ProcessorSlot = 0
So everything looks good up to this point. Then when I try to set the IPAddress using something like:
plc.IPAddress = "192.168.36.3";
I get a dialog showing up that says: Incomplete Solution
In the titlebar of the dialog box says AdvancedHMIDrivers...any thoughts?

8
Hi,
Just curious when the next release is slated. I think I read in the forum somewhere that there was some work being done on the send queue full issue many of us are struggling with.
Cheers!

9
Open Discussion / Re: Driver.CIP.ForwardOpen() Exceptions
« on: October 22, 2014, 03:31:19 PM »
Thanks Archie, I will look into this. Also, I will purchase some products!

10
Open Discussion / Re: Driver.CIP.ForwardOpen() Exceptions
« on: October 21, 2014, 09:51:54 PM »
Hi Archie,
Thanks again. Just so I'm clear, what I'm doing is I instantiate several plc 's using a call to new EthernetCLXcom driver and add them to a list. I then pull tags stored in a database that are assigned to the various plc's. How I filter is I use the IPAddress property and if it matches the ip property of the user configured tag in the database then I write to it. I have no control what order these tags are coming in and which plc's they are assigned to, so potentially one of my created EthernetCLXcom created drivers are not being used until after successive writes to some other plc's. From what you are saying does this mean that they may be timing out and closing the connection? Would it be reasonable to just do a dummy read from each PLC to maintain a "heartbeat" if you will so that this doesn't happen. Thanks and I would like to donate to this project, I think it is outstanding. How do I do this?

11
Open Discussion / Driver.CIP.ForwardOpen() Exceptions
« on: October 21, 2014, 07:16:02 PM »
Hi,
I keep getting these types of exceptions showing up intermittently. Call stack below. Is this a connection timeout exception of some sort?

MfgControl.AdvancedHMI.Drivers.Common.PLCDriverException: Exception of type 'MfgControl.AdvancedHMI.Drivers.Common.PLCDriverException' was thrown.
   at MfgControl.AdvancedHMI.Drivers.CIP.ForwardOpen()
   at MfgControl.AdvancedHMI.Drivers.CIP.WriteTagValue(CLXAddress tag, String[] value, Int32 numberOfElements, Int32 sequenceNumber)
   at AdvancedHMIDrivers.EthernetIPforCLXCom.Write(String startAddress, Int32 numberOfElements, String[] dataToWrite)
   at AdvancedHMIDrivers.EthernetIPforCLXCom.Write(String startAddress, Int32 dataToWrite)
   at iControlService.ServiceHandler.timer_elapsed(Object sender, EventArgs e)

12
Support Questions / Re: Can someone explain pollrateoverride
« on: October 21, 2014, 03:23:54 PM »
Hi Archie,
I've disabled subscriptions like you suggested, (although I only make writes to the plc, no reads). Attached is the log file of the app running for about 1 hour. As you can see it starts out with some generic exception and then continues with the send queue full error. I have a thread.sleep(100) after every 3 writes. Here is an exerpt of the one error. Is it possible I'm trying to write to a tag that doesn't exist. Please if you could look though the log. Thanks.

21/10/2014 1:15:43 PM: Problem clearing tag list - MfgControl.AdvancedHMI.Drivers.Common.PLCDriverException: Exception of type 'MfgControl.AdvancedHMI.Drivers.Common.PLCDriverException' was thrown.
   at MfgControl.AdvancedHMI.Drivers.CIP.ForwardOpen()
   at MfgControl.AdvancedHMI.Drivers.CIP.WriteTagValue(CLXAddress tag, String[] value, Int32 numberOfElements, Int32 sequenceNumber)
   at AdvancedHMIDrivers.EthernetIPforCLXCom.Write(String startAddress, Int32 numberOfElements, String[] dataToWrite)
   at AdvancedHMIDrivers.EthernetIPforCLXCom.Write(String startAddress, Int32 dataToWrite)
   at iControlService.ServiceHandler.timer_elapsed(Object sender, EventArgs e)

13
Support Questions / Re: Can someone explain pollrateoverride
« on: October 21, 2014, 07:54:56 AM »
Hi Archie,
Thanks a lot, and great job on these drivers...so many possible uses when you have access to plc controllers from high languages such as VB and C#. Like I said, my application does not perform any reads at all, just writes, so from what you're saying I can just set DisableSubscriptions to true. I'll try it and see if the problem goes away. Thanks for the speedy reply!

14
Support Questions / Can someone explain pollrateoverride
« on: October 20, 2014, 11:07:09 PM »
I'm using ethernetclx driver to make successive writes to a plc. I have been struggling with send queue full type exceptions intermittently  as well as CIP.ForwardOpen() type exceptions. I've added the thread.sleep(100) after every 3 writes to no avail. My quesiton is, I am not actually reading data and displaying it, I'm simply just making successive writes.

Is there a way to disable the polling of the plc as I don't need to update my application with any values from the plc? Could this be impacting some of the problems I am experiencing? Thanks.

15
Hi,
This is not a solution, but rather a comment. I too have been struggling with send queue full problem intermittently. In my cas I am doing successive writes and have done the above thread.sleep(100) method. Looking forward to an answer on this.

Pages: [1]