AzeoTech

Administrators
  • Content Count

    5,686
  • Joined

  • Last visited

Everything posted by AzeoTech

  1. 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.
  2. 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.
  3. 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))
  4. 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?
  5. AzeoTech

    Daqfacotry says file is corrupted

    Can you please send us the .ctl document to our "support at" email?
  6. 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.
  7. AzeoTech

    Rotate Component

    Alas no. Someone else just posted that as a requested new feature. You might add your voice:
  8. 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.
  9. Do you want it to be continuously added, or just every time 1000 gallons ticks over, add some amount?
  10. No problem and thank you for sharing the resulting solution.
  11. 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.
  12. No, you have to create a separate channel for the same tag, one for input and one for output.
  13. 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.
  14. 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.
  15. Sure. Use channel.clearAll() to remove all channels, then channel.Add() to add new ones. Channel.add() doesn't let you specify every parameter, but once you've created the channel with it, you can then address the channel by name to change other parameters. Combine that with reading the file using file.open, etc.
  16. The OPC driver won't do anything with a channel until you read or write that channel. So you can easily have script look at a startup flag and then only read the desired OPC channels. Since most OPC is async, you only have to read the channel once to get it into the async table, but you can do this after doing other processing.
  17. AzeoTech

    User Screen Components

    Correct, there is no linking. There are two ways to handle your challenge that I can think of: 1) push as much of your code into function calls in sequences so that you have a minimal amount of code in the actual symbol. The only thing that makes this difficult in the current release is that there is no way to get the name of the component. But that is an easy fix on our part, so we'll add that right now and make it available on the beta. Contact us directly via email for a link to the beta. Anyhow, the idea is that the component really has no script, other than a function call to script that is in a sequence, passing whatever details are needed. 2) put your script into a string variable and use execute() to run it. This is not as efficient because DAQFactory has to compile the string into code with every execute(), but it does work. You can, in fact, do this from a file, by using File. functions to load a text file with script, and then execute() to run it. But of course, that has some serious security issues unless you make it read-only on the client side.
  18. Alas, the desktop probably has a hub internally, so most any USB device could be interfering. After updating, I would contact LabJack support for some input as this is most likely on their side.
  19. Following that same suggestion, I would make sure the LabJack is alone on the USB hub. You might be getting interference from other USB devices, one of the many reasons I dislike USB connections.
  20. At present it only supports GET.
  21. No. This is an unusual feature of Javascript/jquery not typical to most programming languages. Usually the way you would handle this is to put whatever script you have that runs when you click inside a function (Sequence) and have the button call that function. Then you can also call that function from anywhere else.
  22. That is a bit odd. You aren't polling very fast at all. I would start by double checking that you are running the latest LabJack UD drivers and firmware. I'd also set the Timing of all 4 of my channels to the same. There is no advantage of reading them at different timings unless you really need that, in which case I would consider setting the Avg? column and average 1 second reads down to whatever rate you want.
  23. Yes, there was a bug that would cause this to happen. In actual fact, the serial port is deleted, which is why you can't click on Configure, but it still shows up in the list. This issue has been fixed for the next release. You can contact us directly for a beta, or just run with it, understanding that even though it shows in the list, it isn't really there.
  24. That is fine. You can assemble the name from a channel by simply concatenating values. For example: "c:\dataDir\myFile_" + myChannel[0] + ".csv"
  25. Screenshots are done with: page.capture() Uploading can be done through the FTP. commands, or possibly other solutions (shell commands?). Depends on what you are doing. Download data from the web is done with: http.get() Note that most of these functions require DAQFactory Pro.