Freezing And Lockups


Recommended Posts

Hi Guru

 

We have an installation of DaqFactory running on a core duo machine with 2G of memory and running Windows 7. Everything normally works fine. When modifying pages that contain graphs the system will occasionally freeze and require a restart. When using page capture on pages with graphs the same problem occurs but on a much more regular basis. Is there a problem that's specifically related to graphs ?. We use page capture to export jpegs of pages(8 separate pages) every 30 seconds to a network machine that is running a small web server, the ability  to have graphs on these pages would be really useful as we can the view the history of a channel remotely using little bandwidth because  the pages are only served on demand and the data is never more than a minute old. If graphs are a problem I could export the channel data, create the graph in excel and export this as a web page using VB, what is the format to subset the exported channel by time (say 24hrs) rather than by number of points. We are running 5.87b.

 

Thanks in advance.

Link to comment
Share on other sites

It is the graphs that are the issue.  I'm not really sure why it has become more of an issue than before.  We are looking into it.

 

As a workaround you can try this:

 

1) on each page, pick on component.  In its OnPaint event, have it call a sequence, say called "captureGraph".  Make sure you call it as a function:

 

captureGraph()

 

2) now create a sequence called captureGraph.  In it, you'd have something like:

 

if (systime() - lastGraphTime > 60)
   page.Capture("Page_0","c:\daqfactory\myCapture.jpg")
   lastGraphTime = systime()
endif
 
3) in an autostart sequence, declare and initialize lastGraphTime:
 
global lastGraphTime = systime()
 
What this does is put the captureGraph function into the main thread of the application.  The issue with graphs has to do with multithreading, so putting the graph in the main thread should resolve the issue.  In the meantime, we'll take a closer look.
Link to comment
Share on other sites

Hi Guru

 

Thanks for that, I set the refresh rate to my page to 60 sec, picked a component and  with the onpaint event I entered two lines;

? systime()

captureGraph()

 

My sequence consists of the page.Capture line from above plus I added a line with ? systime() for debugging. Systime gets printed every 60 secs as expected from the onpaint event but the sequence never runs. If I start the sequence manually it works but with the occasional lock up as its running in its own thread as you said.

I am thinking of going back to generating the graphs externally, is there a simple way to export a channel with a time stamp appended to the file name ?

 

Thanks again.

Link to comment
Share on other sites

Thanks, it would certainly make life a lot easier if we could use page capture even if we stopped data capture during export, as we only observe data in an immediate way(apart from graphs) 10 second gaps in data collection would not be a problem, however I don't suppose it's possible to suspend data collection while exporting a page. I will email you with contact details and would like to try your solution.

 

I have been looking at the export set features as they could also be useful to us for sending data to third parties. In order to indentify the data sets I have been modifying the file name. I cannot get the %c of systime() to work with the .strFileName,  it will work the long winded way with %H %M etc. is this a Windows limitation ? .

 

Your support is as always fantastic.

Thanks again

Link to comment
Share on other sites

Yes, the %c form doesn't work because it has slashes in it and you can't use slashes in filenames.  That's a general OS limitation as most OS's I know use forward and/or back slash for file paths.  Windows kind of supports both.

 

You don't need to suspend data collection, but you may be able to switch the page to a blank page, wait, say, 2 seconds, then do the capture, then change the page back.  But, we got your email and have a fix in progress, so I'd like to get it to you to see if it resolves your issue the right way.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.