AzeoTech

Administrators
  • Content Count

    5,671
  • Joined

  • Last visited

Everything posted by AzeoTech

  1. AzeoTech

    Time since restart

    %j is day of the year. There is no 0th day of the year, so it always starts at 1. To do it you'd need to split it: "D: " + floor((SysTime() -(v.time_of_last_restart[0]))/86400) + FormatDateTime(" H:%H M:%M S:%S",SysTime() -(v.time_of_last_restart[0]))
  2. The latest build of DAQFactory (but I'm not sure about the latest release) adds several options to the HTTP.Get() function. That function now looks like: response = HTTP.Get(URL, [remote path], [port], [extra headers], [secure], [get headers]) URL is the URL without HTTP:// and without any path, so for example "www.azeotech.com" Path is the path on the server, and defaults to "/" Port defaults to 80 extra headers is a string with any extra headers you want to add. They'll need to be formatted as if they were in the actual header as I believe they are just injected into the default headers. Windows handles this. Secure = non-zero does an SSL connection (https://). If 0, it is a straight HTTP connection If [get headers] is supplied and non-zero, then response is a 2 element array. The first element is the response content, the second element is the headers for the response. If [get headers] is 0, or not supplied, then response is just a string with the content.
  3. AzeoTech

    Page Draw Lag-High Latency

    Any chance you can either post your .ctl document or email it to us at support@ along with which page is causing you the troubles? I should then be able to quickly find the culprit
  4. AzeoTech

    Install fails on Windows 7

    Hmm, that is very odd. No direct ideas. Any chance I can remote into your system at some point and see? Just email us direct at support@
  5. AzeoTech

    User Graph Interaction

    You can try adding: yAxisFrozen = 0 xAxisFrozen = 0 to the OnPaint event for the graph. They'll still be able to pan / zoom, but then it will instantly jump back to the programmed scaling.
  6. AzeoTech

    Common script for similar component type

    If you select multiple components, both the Event and the Properties docking windows will edit values for all the components at once. It is one of the advantages of using the docking Properties window over the popup component properties, though some things are not accessible from the docking Properties.
  7. AzeoTech

    Thaw and Freeze Graph using code

    Yes, but it is a variable not a function: component.myGraph.YAxisFrozen = 0 will unfreeze the Y axis. Set to 1 to freeze it. There is a corresponding X version.
  8. AzeoTech

    MySQL error for logging

    Is your ODBC data source actually setup correctly? Judging by the error message, it seems like you created the ODBC data source called "FDB", but then didn't actually link it to the database.
  9. AzeoTech

    Asking password before setting a component

    Email us directly and I can get you a link to the beta.
  10. AzeoTech

    Asking password before setting a component

    There is in the next release, which will probably be in January. It's not quite "this" as that returns a pointer, but rather a string that returns the component name, called, appropriately, "ComponentName". So you can pass this to a common function, then use execute() or evaluate() to access the component by name.
  11. AzeoTech

    Asking password before setting a component

    First, you might want to check this post I made about using Edit boxes: https://support.azeotech.com/topic/3233-edit-boxes-in-hmi-software/ At present there is no way to make EntryDialog cover passwords. You'd really just have to create your own popup window with a password edit box and a nice function to call it. As for the first part, you might try using the OnChange event of the Edit Box.
  12. First, why are you using an export set and not a logging set? Export sets were originally designed to be run after acquisition is done, for saving data after the fact, while logging sets are designed for logging continuously, as the data comes in.
  13. AzeoTech

    Get Serial / RS232 Data

    OK, first the reason your x7 sequence didn't work is because you didn't declare x as a variable. You have to declare it as a global variable: global x = 7 or: global x x = 7 Next, use the query method, not the stream method. Using stream requires you to constantly service the buffer, otherwise you get old data (like you saw), or you get out of sync (like you saw the second attempt with purge()). Instead create a sequence that looks something like this: device.myDevice.purge() private string datain while(1) try device.myDevice.write("send net weight" + chr(13)) datain = device.myDevice.readUntil(10) weight.addValue(strToDouble(mid(datain,6,6))) catch() ? strLastError endcatch delay(30) endwhile I'm assuming you have the mid() correct, though if the output string is just + xx.x lbs, then you don't need the mid() at all, just: weight.addValue(strToDouble(data))
  14. Not sure where you are going with this. The Real Time Web feature only works with the DAQConnect service and their servers. You can't point it to your own computer as you don't have a DAQConnect server. How did you get the Object Not Found errors? What Help file were you trying to look at?
  15. AzeoTech

    Daqfacotry says file is corrupted

    Can you please send us the .ctl document to our "support at" email?
  16. AzeoTech

    Ctrl + F across DaqFactory

    Yes, newer releases of DAQFactory support a script dump. It is in the File menu. This will create a text file with pretty much every piece of script in all the various parts of DAQFactory. It does not, however, include Expressions in things like variable value controls.
  17. AzeoTech

    Rotate Component

    Alas no. Someone else just posted that as a requested new feature. You might add your voice:
  18. AzeoTech

    2018 Update?

    We actually don't like to do releases right before the holidays, so the next release will be in the beginning of 2019. New features include: Fixed issues with serial devices appearing after deletion Added lock mouse movement so you can mark individual components to be ignored by mouse click, like background panels Added getPixel / getPixels to Canvas so you can get pixel values off the screen, primarily for examining webcam data png/gif support: LoadImage() function and imagePath variable, as well as load button on symbol component. Transparency too. Using PNG's instead of regular images will reduce the .ctl file significantly. Resize constraint (with shift) for images to keep aspect the same Page scaling. Helps with printing too Page.screenwidth / screenheight variables so you can automatically scale to the screen size Display value and text no longer paint white background if align != 0. Also, to do transparent, erase all colors. Visible parameter for graph traces so you can easily add a check box to enable and disable traces ComponentName variable for components, so you can have a component call a sequence function and pass its name. Keypad Plus/Minus cycles through graph marker traces.
  19. Do you want it to be continuously added, or just every time 1000 gallons ticks over, add some amount?
  20. No problem and thank you for sharing the resulting solution.
  21. AzeoTech

    sms message

    SMS can usually be done by simply sending an email. Most SMS providers offer an email address that if you send an email to it, it will forward it to text. That is by far the easiest way to do it.
  22. No, you have to create a separate channel for the same tag, one for input and one for output.
  23. AzeoTech

    Compare .CTL Files

    The only way to do it is to use the Script Dump feature, which generates a single big text file with all the script of your .ctl document. And then compare two of them. Unfortunately this does not pick up things like Expressions in screen components, only Actions, Events, Sequences and the like.
  24. You can use the default connection to get around that problem. The default connection defaults to "Local" so that you can just type: myChannel[0] and it will take from myChannel from the Local connection (which always exists). However, if you have a remote connection with a bunch of channels with the same name as the screens you had created for Local, you can do: system.Connection.Default("Remote") to change the default connection to a connection named "Remote". Of course you can name your connection whatever you want, and in fact, you can have multiple connections, and switch between them. If they have the same channel names, the screens will just redraw with the different data.