SteveMyres

Members
  • Posts

    466
  • Joined

  • Last visited

1 Follower

Recent Profile Visitors

9,881 profile views

SteveMyres's Achievements

Advanced Member

Advanced Member (3/5)

0

Reputation

  1. Yeah, it doesn't start scanning till I tell it to earlier in the non-looping part of the sequence, and right before I start it, I purge(), so there "shouldn't" be anything queued up. Good thought about piled up packets though, hadn't considered that. And yeah, I'm still at the point of just getting it working to validate the device and feasibility for use with DF. If I deploy it, I'll do the code right.
  2. Have a weird situation. Here's the current stage of implementing the latest sensor (Ethernet, industrial style). It's scanning at 15Hz / 900rpm, so I expect a data packet every 66-67ms. I have a 20ms delay, the loop processing seems to take about 6-7ms, so I would assume it would loop the while(), then wait at the ReadUntil() for another 40ms till the next complete packet is in the buffer, then rinse and repeat. When the systime() is active, it seems that the loop is executing every 20-25ms or so, as if the ReadUntil() doesn't have to wait when it gets there. I've confirmed with Wireshark that I'm only getting a transmission every 65-70ms. I'm assuming the ReadUntil() removes the bytes from the buffer when the test is met. If so, how can the loop iterate faster than received data transmissions?? while(1) RawResp = device.Lidar.ReadUntil(3) RespStrArr = parse(RawResp, -1,",") DataCount = NumRows(RespStrArr)-18 DataStrArr = Prefix[18,DataCount] + RespStrArr[18,DataCount] Data= StrTodouble(DataStrArr)*Sines[0,DataCount] Delay(0.02) //?Data //?systime() endwhile
  3. I'm looking at using a lidar unit, which among other modes, once started, will stream multiple measurement in packets, with range and azimuth. How do I listen on the serial port for those packets? I can send command strings from either the device or port monitor dialogs and in some cases get replies, but the streaming responses don't show up.
  4. I want to check an email account for emailed production reports, then enter the data in a database. The email account that would be convenient for this is a typical ISP account requiring SSL, which I don't believe DAQ Factory supports. The emails are available through a web page as well, and I've been playing with HTTP.Get() to try to read the emails from there, but it doesn't seem that there's a URL API to log in, you have to do it via either saved password in the browser (I use Vivaldi), or type it into fields in the login page, neither of which I think will apply to DAQ Factory. I did manage to get a return from the server but it contained text complaining that I needed a browser that supports Javascript. Is there some simple known way to get email from a POP server that uses SSL but also has a webmail page?
  5. Hmm, that does seem like a lot better idea. Will definitely consider. Thanks!
  6. Yeah, that's what I would actually like to do (compare to the readback, which I actually poll anyway), but the sequence is in the UI, so I don't want to lock it for too long, and a major rewrite to make it a background task is bigger than I have time for. I'll probably just do a double write, trusting that that will catch 99% of the missed cases. Could do it in the UI quick sequence and do a system pump each iteration I guess.
  7. I have an application running where, probably due to Ethernet traffic levels, occasionally setpoint channel writes to a Modbus PLC are not completed on the first try. I'm setting the channel value in the UI object where the user inputs the setpoint. I often do user setpoint writes via a direct device call in the UI object where they make the setpoint, and in that case I might just repeat the write after a small delay. In this case, where I'm writing to a channel, if I write to the channel again with the same value, will it do the comms again or is the channel table aware enough to only do writes on an actual change in channel value? Also, I'm definitely open to any other ideas on diagnosing the problem or remediating it. Thanks!
  8. Suggest the following. These settings look closest to what the working settings are called in that note I directed you to. semail.strAuthenticate = "LoginPlain" semail.strConnectionType = "SSL_TLS" semail.strSSLProtocol = "SSLv2orv3"
  9. Or build an SMTP server. And yeah, I think you have to enable 2FA to get it working.
  10. Host created an FAQ that includes screenshots for the steps at https://hosteng.com/FAQFiles/Do-more.htm#FAQ0054 They did the FAQ earlier this week and were of course testing it as they went, so I know it still works.
  11. Yes, I'm using a GMail.Com address and that process is what I'm using with all my emailing PLCs, and they're all still working as of last night.
  12. It actually does, it's just more roundabout than before. You have to set up the GMail account to use 2 Factor authentication. Then, while logged into your account, you can get GMail to generate a new password to use with "less secure" devices (or software) that can only do username + password. I guess GMail assumes that if you're logged in using 2FA to generate the password, then the necessary enhanced security wonderfulness will rub off on that password. I do this with PLCs quite a bit, and there's a step by step instructions on how to set GMail up for this at ttps://forum.hosteng.com/index.php?topic=3163.0. Scroll all the way down to the bottom of the page.
  13. Quickest interim solution -- just added a VLOOKUP() to the Excel file, so the name is actually in the CSV verbatim.
  14. Right, I had used parens. Just typed from scratch and messed it up in the post. OK thanks for the explanation!