• Content Count

  • Joined

  • Last visited

Community Reputation

0 Neutral


About AzeoTech

  • Rank

Recent Profile Visitors

50,302 profile views
  1. AzeoTech

    Modbus write multiple registers

    You can definitely do it through script. Just pass an array for data points. So for example: device.mydevice.setRegisterS32(1, 100, {1,2,3}) which would set register 100/101 to 1, 102/103 to 2, and 104/105 to 3 (register pairs because of the S32 of course). Note that it is "Set" not "Write", and is "Register" not "Holding" because Input Registers can't be set, so there is no reason to differentiate on the output side. Note that with channels, DAQFactory will automatically combine reads of the same type into a minimum number of calls if they are consecutive and the same data type. It will not fill in blanks, though, so sometimes its best to create dummy channels. That said, on the output side you cannot do multiple outputs with one query through channels because there is no way to set multiple channels simultaneously.
  2. I'm going to let LabJack give you a more specific response, but in general you'd want to set some flag, possibly a digital output, or some virtual I/O point that is accessible through the LabJack driver. Create a channel for that point, and then use the Event of the channel to look for a particular state and trigger your sequence.
  3. AzeoTech

    Graph Trend Line between 2 points changing

    It is because of the way DAQFactory optimizes the graph data on large data sets. It does a boxcar min/max and as new data comes in the boxcar locations change causing those mins/maxs to change slightly, especially at edges like when no data is coming in. This can make the connecting line jump around. Normally you can't see it because its only one pixel.
  4. AzeoTech

    if statement not working

    Yes, it may be a threading issue. You should debug it either by adding a breakpoint or by adding ? statements. Also, see if it does it if you stop all the other sequences / events.
  5. Sorry, that image you posted isn't a real image. It needs to be in a standard format.
  6. AzeoTech

    Print Export Function Crashing in Windows 7

    Yes, that is the bug mentioned in the post. You can't use the right-click graph capture feature in newer OS's. You'll have to use an alternative such as the printPDF function.
  7. AzeoTech

    sms message

    Yes, that is the right direction, but you almost certainly will need either a carriage return or a carriage return / line feed afterwards. I typically like to do it with a variable, or you can just add the chr() commands to the end. private string CRLF = chr(13) + chr(10) device.gsmmodem.write("+CMGS" + crlf) ...
  8. AzeoTech

    if statement not working

    There isn't a cache, but if you edit a sequence that is running, you have to stop the sequence and restart it to pick up the changes. If that isn't it, I'd have to see the rest of the code to know what is happening. You might have a symbol name conflict (i.e. a private or global variable with the same name as one of your channels.)
  9. OK, this is the line that checks the condition: if ((Pressure[0] > 80) && (Pressure[1] <= 80)) To check for it to be over 80 for over 10 minutes you'd do instead: if ((Pressure[systime(), systime() - 600] > 80)) The problem is not sending emails over and over again so you'd have to add some logic to prevent that. It could be to repeated send every so often if the alarm state is maintained, or to only set if reset. This is actually what the Alarming feature of DAQFactory makes easy.
  10. AzeoTech

    DAQFactory communicating with other HMI's

    That would largely depend on the HMI. That particular one has 3 serial ports, so if one wasn't in use you could connect that to the PC and communicate with DAQFactory over that connection. But that is just the hardware layer. The real question is what protocol does the HMI speak? I couldn't find it on their website. If it talks Modbus, you could setup DAQFactory as a Modbus master or Modbus slave (depending on which license of DAQFactory you have) and transfer that way. That would be easiest, especially if the HMI can act as a Modbus Slave and DAQFactory can be the Modbus master.
  11. Sure. Use a Conversion on the channel. You can either hard code the 5 values into each Conversion, or use variables that you then persist to disk using one of a variety of methods. Which method to use depends largely on exactly how many total values you expect to persist. The easiest way is to create a Test D to A channel for each value with a History of 1 and a Persist of 1. But if there are a lot of values to store, you'd be better off using the File. functions to store them to a flat file. Of course if you are using the program internally using a development version of DAQFactory and don't need to change them often, you can just put the values directly into the Conversions.
  12. AzeoTech

    Certificate authority is invalid

    I checked and the DAQConnect SSL cert is valid. It was actually just updated in February and doesn't expire for several years. So, something changed on your Windows setup that invalidated the certificate authority. You may have to add the authority manually. Open in a browser, then view it's certificate and the CA associated with it, then add the CA to your store as valid. You may have to search the web for the details on how to do this for your particular version of Windows. FYI: a certificate authority is a central, globally trusted site that your system contacts to verify that the DAQConnect cert is valid. Its kind of like a tree. I'm saying that I'm DAQConnect (my SSL) and you can ask the mayor (the CA) to confirm that. The mayor says he's the mayor, and you can ask the state governor (the CA's CA) to confirm that. The governor says he's the governor and you can ask the king to confirm that. The king is know by everyone so doesn't need confirmation (or it is done a different way: outside my pay grade on how they confirm that). Different website's SSL certs will have different paths to the king, and there are actually more than one king. In your case, your system is telling you it thinks that the mayor is invalid or corrupt, so you need to tell it that the mayor is actually the mayor.
  13. AzeoTech

    there's a bug in release 17.1

    Exactly that. Delete the file pegrc32a.dll and copy pegrp32a.dll to pegrc32a.dll so you end up with two files, pegrc32a.dll and pegrp32a.dll that are the same, and the same as the original pegrp32a.dll.
  14. AzeoTech

    "p-Modbustcp 0010: Timeout" Error

    We are talking about two different things. It just happens that you named them both the same thing. In DAQFactory, there are comm devices that you create and give a name. This name is what shows up in the Channel table, and you used "TouchPro". But a comm device is made up of two things, a port (serial or ethernet) and a protocol. This allows you to use a single port on separate devices (useful for those using radio modems) among other things. In your case, you have the one device, but you created two ethernet port connections to the same IP, named "TouchPro" and "Ethernet". The quickest way to see this is to go Quick - Device Configuration, then select your TouchPro device. Then you will see in the serial/ethernet configuration window that those two "ports".
  15. AzeoTech

    Modbus tcp and rtu master and slave

    You are talking about Modbus Master? Then yes, it doesn't matter. The ports are handled by the remote device. port 502 and port 503 are two completely different connection points so are no different than port 502 and port 502. To connect to a device you need the IP and the port. Any changes in either of these are a different connection, even though a change of port is still the same device. I like to think of it like a telephone to an office building. The IP address gets you to the main office line, and the port # is the extension. So calling the telephone number (IP address) gets you to the right building (device), but you also need to know the extension (port) of the person (protocol) you want to talk to. If your device has both 502 and 503 open and available to receive calls (sockets), then DAQFactory can certainly connect to both simultaneously using two different DAQFactory "ports" and "devices".