All Activity

This stream auto-updates     

  1. Yesterday
  2. It really sounds like a device issue, almost certainly with the USB/Serial converter. It is one of the reasons I really hate them and recommend folks purchase Ethernet->serial converters instead of USB to serial converters. With Ethernet, DAQFactory uses native Windows functions to communicate and that is all handled nicely because there is no 3rd party software involved. With USB->Serial, DAQFactory also uses native Windows, but that is then hijacked in Windows by the USB/Serial converter driver (the "virtual" comm port). If there are issues with that driver, and there often are, DAQFactory fails to communicate, which unfortunately makes DAQFactory look bad, even though it is not its fault. So, my initial recommendation is to make sure you are running the latest drivers for that converter, and my second recommendation, which you may not be able to implement, is to just switch off using USB converters and go for an Ethernet->serial converter. As for Win 10, also make sure you have disabled auto-updates. You can't explicitly do this, but have to use the trick of marking all your network connections as "metered".
  3. Last week
  4. AzeoTech

    Coefficient of Variation

    That is because the Krough value is the result of an average of 5 minutes of data and you haven't created a history. So, I would create a Test channel called KroughData, with Timing = 0. Then replace this line: Krough = stdDev(precalc) / avg(precalc) with these: private tKr = stdDev(precalc) / avg(precalc) tKr.time = systime() KroughData.AddValue(tKr) Also you can get rid of the line that says "global Krough"
  5. Earlier
  6. AzeoTech

    X-Axis Error datetime

    It is correct if you assigned the time stamp to the time portion of test.millitm.
  7. YamidP

    X-Axis Error datetime

    Hello, Guru, I got it right. The data sets are: Y-axis = test.Milltm determined by the following consultation global test = db.QueryToClass(dbase, "SELECT Millitm FROM [Tecnofar_CIP]. [dbo]. [FloatTable_CIP_Globales] ORDER BY DateAndTime asc") X-axis = test.Time or "Time the image shows the configuration. is this configuration correct?
  8. Ilaine

    Coefficient of Variation

    Hello Thank you very much for your quick and detailed response!! I ran the sequence code that you provided and I was able to display the CV Krough values for the last 5 minutes. However, I am still not able to plot such values. If I try to plot Krough (Y expression) versus Time (X expression), my graph is blank... I really need to plot the CV Krough, because for my measurements the CV Krough (for the last 5min) must be below 0.05 during at least 5 consecutive minutes. When that condition is met I can consider that my measurements are stable enough, so I can log the data and conduct some further calculations. Any insight of why the plot is not working? Thank you very much
  9. AzeoTech

    X-Axis Error datetime

    DAQFactory wants time in UNIX time, which is seconds since 1970. Today's date is a little more than 1.5 billion, and from the look of it, Time.DateAndTime are already in this format. So, you just need to combine Millitm and DateAndTIme (by dividing Millitm by 1000 and adding to DateAndTime). Then you can use the result as the X axis expression for the trend graph, or alternatively, stick the time stamp into the time portion of the main variable. So, if you have: myVariable = // some data from the database DateAndTime = // time stamps in proper form from somewhere myVariable.time = DateAndTIme // assigns time stamps to time portion of myVariable Once you've done that, then the X expression can just be "Time" as default. Be careful with your queries though. You make two queries to the same database, with one being sorted and the other not. That means the results won't line up. You should instead consider just doing one query and getting all the data as one.
  10. YamidP

    X-Axis Error datetime

    Good night, everyone I'm currently working on a project where I want to graph data vs time (2D graph). The data (Y axis) and time (X axis) is collected through SQL queries. The time data in the database is of datetime type, however, DAQFactory shows it in other values (see image ) What should I do to have the same type of data in DAQFactory? what kind of time data does daqfactory support? thank you
  11. AzeoTech

    Coefficient of Variation

    What is the actual formula (not in DAQFactory)? It looks like your graph is actually showing the last 25 minutes. Are you just looking to get it based on the last five minutes? In that case, you need to subset: StdDev(((pressure0[systime(), systime() - 300]- pressure1[systime(), systime() - 300] )/2.745)/pressure1[systime(), systime() - 300])/ Avg (((pressure0[systime(), systime() - 300] - pressure1[systime(), systime() - 300])/2.745)/pressure1[systime(), systime() - 300]) It kind of gets hard to read this way, so you might consider creating a calculated V channel, so V.pressure0_5min might be pressure0[systime(),systime()-300], and the same for pressure1. Then I'd create another calcuated V channel with the division, say v.kroughPreCalc ((v.pressure0_5min - v.pressure1_5min)/2.745)/v.pressure1_5min Then the final expression just becomes: stdDev(v.kroughPreCalc) / avg(v.kroughPreCalc) Remember, when naming the V channel you don't put the V. in front. That is just for accessing the data. That all said, I would, in fact, if I was doing this, do it in a sequence that runs all the time and calculates this at the same interval as data comes in: global Krough private timeFrame = 300 // seconds delay(timeframe) // wait 5 minutes for data to accumulate while(1) private p0 = pressure0[systime(), systime() - timeframe] private p1 = pressure1[systime(), systime() - timeframe] private precalc = (p0 - p1) / 2.745 / p1 Krough = stdDev(precalc) / avg(precalc) delay(1) // gives an update rate of once a second... endwhile
  12. Ilaine

    Coefficient of Variation

    Hello I am using a LabJack U6 to read four pressure transducers and a EI1050 thermohygrometer. I am almost done with my project, the only piece missing is that I need to plot the Coefficient of Variation in Krough (which is calculated based on the pressure values) for the last 5 minutes of measurements. That is my first time using DAQFactory, and I am not sure how can I write a function for that. If I use StdDev(((pressure0- pressure1 )/2.745)/pressure1)/ Avg (((pressure0 - pressure1)/2.745)/pressure1) I will not get the last 5 minutes of measurements... Thank you very much in advance Best Ilaine Matos
  13. AzeoTech

    Command db.Execute()

    Your construction of the SQL string is wrong. You need to use + to create the string: db.execute(dbase, "INSERT INTO HAR5.dbo.OEMH5(ContadorTotal) VALUES (" + conteo_salida[0] + ")")
  14. AzeoTech

    unlock graph

    If you mouse click lock you can also go to the Workspace and find the component there under the appropriate Page. If you click on it in the workspace, it selects it on the page. Then you can unlock it. Mouse click lock is great for big panels and other stuff that you might put underneath a bunch of components.
  15. dle

    unlock graph

    I was accidentally using lock against mouse click, that was the reason I couldn't use the right mouse click to unlock. Had to use the command Component.graph.mouselocked = 0
  16. AzeoTech

    unlock graph

    You should be able to just select it then right click. Just make sure you select it (i.e. ctrl-click). If you just click on the graph so that it displays the colored border, then you are presented with a different popup menu.
  17. Hoyer

    sequence.inserthere.running

    Thank you for the quick answer! :)
  18. AzeoTech

    sequence.inserthere.running

    Certianly. Use evaluate() instead of execute(). Execute() runs a string as a full statement (a complete line of script). Evaluate() takes the string and evaluates it as an expression which returns a result. It can't be used on its on. So while you can do: execute(myString) you can't do: evaluate(myString) Instead, you use evaluate with other script on the same line that uses that result, so: myVar = evaluate(myString) or in your case: if (evaluate("sequence." + myString + ".running") == 0)
  19. Hi! I have a very similar problem like this link below: The solution for this problem was: execute("beginseq(" + myString + ")") This way beginseq reads values of a poll. I would like to do the same with if (sequence.myString.running == 0) do somethingendif Do you have any suggestions for the problem? Thank you in advance! Hoyer
  20. dle

    unlock graph

    After locking the movement of the graph, I could not find a way to unlock it when right click on the graph. How to unlock the graph? Thanks.
  21. Hi, I have just transferred a DF system from a Win7 box to a Win 10 box. I am using all the same hardware, the only difference is that it is on a Win10 box as opposed to Win7. It is a relatively simple system. It has two interfaces, a Modbus unit (IP based) and a serial interface which is actually an SDI-12 unit to USB converter. I have other systems on Win 7 still operating using the SDI-12 to USB converter with the exact same instrument - a multi-parameter sonde. For some reason it regularly fails to read both the Modbus unit and the SDI-12 to USB instruments, this throws an error from the script I have written to communicate with the SDI-12 instrument - this comes up in an error window with the title "Alert" as well as being displayed in the Command/Alert window. To treat the symptom I wrote a script that runs every 5 minutes to check for the "Alert" window and if it exists it closes it and then runs the software for the sonde and have it rescan the ports which then gets all comms going again. Not the most ideal solution especially as the script doesn't always work. On checking the scheduler that runs my script every 5 minutes its log file tells me that the script has been run every 5 minutes but it appears that it cannot either see the Alert window or cannot access it. This system is remote from me and if I use Remote Desktop Connection to access it then the next time the scheduler runs the script to clear the Alert window it works. This suggests that somehow Windows 10 is going to sleep or not actioning commands - I have set Windows 10 to leave the screen on full time as well as not put the hard drive to sleep. Other jobs in the scheduler are working fine e.g. a script runs just after midnight and takes yesterdays data and adds that to a yearly file even though the system stopped accruing data at 8 pm the night before. Has anyone seen this type of behaviour in Windows 10. Thanks George
  22. Hi, thanks for the reply. I managed to get it working using the string. I think it was a wiring fault. Now time to try parsing. thanks.
  23. AzeoTech

    OPC Server / Client

    The client doesn't need any special DCOM configuration. The server is the one that has to be setup. You also may need to double check any firewalls, including the software firewall. And double check that you enabled all users on the server.
  24. YamidP

    OPC Server / Client

    What DCOM configuration do you recommend for the client and server?
  25. AzeoTech

    OPC Server / Client

    Either DCOM isn't setup correctly on the OPC server computer, or RSLinx has security settings that are blocking remote connections.
  26. AzeoTech

    stop all sequences

    You might have to stick with ending each sequence. You could also switch the entire system into safe mode. To stop the sequence that is currently running, simply "return" from it instead of calling endseq() from within.
  27. AzeoTech

    Serial Connection - New Protocol

    You used the correct format for entering hex values into the monitor, but it may be the wrong packet. Are you sure the destination ID is 2? The docs only show me a packet type of EA E5, you have EA E2.
  28. YamidP

    OPC Server / Client

    hello, everyone I am currently working on a server/client OPC communication project. The scenario is described in the image arq.jpg, however, when I go to select the OPC server tags (RSLinx Classic Gateway) I get the error in the image error.jpg NOTA: la configuraciĆ³n de seguridad DCOM se realizo como se describe aqui : https://www.softwaretoolbox.com/dcom/html/dcom_for_windows_7-_10-_-_server_2008r2.html How can I solve it? thanks you
  1. Load more activity