PLX-DAQ version 2 - now with 64 bit support! (and further new features)

Fixed a UI problem with Office 365

Yes

Implemented 2 "custom dev points" ("new line was read" and "new data row recognized") which get called by the system automatically and where custom code can be pasted and used (example included in code)

' If (newLine = "CLEARDATA") Then ' MsgBox "Looks like we are about to get started!" ' End If

If the above lines are uncommented EXCEL crashes.

Mea culpa - I never wanted to hurt your feelings :) It is just the picture looks quite funny and the code behind quite ... unique ;)

I think I get the idea behind your "stop logging" - at the moment this is done by just disconnecting. But ok, there might be a use case behind this. I'll note that for the next version. Thanks for the input. What do you mean by beep? I am familiar with the VBA "beep" command but I wouldn't know where to place it with any reason. I even removed it from the original code as it annoyed me too much on connect/disconnect :-X All disabled buttons are disabled for good reasons, as they relate to the old "stamp" module that is no longer in place. Someday I might either remove all parts of it from the macro or code anew, I don't know yet :) The reset Timer is something I haven't dealt with at all at the moment. That's all "old stuff" from version 1.

And yeah, the example code crashes? Good thing it is an example code :) I will change with 2.5 to something as useless but more stable ;) I can image some code like "ignore cleardata if day of month is even" example :)

Thank you very much for testing all versions and providing feedback! It is much appreciated!

I never wanted to hurt your feelings

Just joking around. Thought noobs could trace a command received to what happens on the EXCEL. sheet.

Did something like this:

   Select Case DataVal(0)
.
.
.

    'Stop logging.     Under sketch control Arduino stops logging in EXCEL,  LarryD 
    Case "STOPLOGGING"
          Call cmdConnect_Click
          
    'Make Beep.        To get attention, Arduino can make EXCEL Beep,  LarryD
    Case "BEEP"
         Beep

And

Private Sub cmdResetTimer_Click() 'LarryD
        TimeStart = Timer    
        TimeLast = Timer     
        TimeAdd = 0            
        txtStatus2 = "Timer Reset"   
End Sub

Great work! I'm looking at doing something similar in a Windows application.

Hi Larry,
sorry for the late response - somehow I wasn’t notified about the two replies. Or I accidentally deleted the mails :stuck_out_tongue: dunno

Now I get what you are talking about. Ok. But just as a question: if I don’t want the data to be logged I would just stop sending the data from my Arduino to the serial port :-X I am a bit unsure whether to blow up code or not by adding commands … a screw it - it will be added! “The customer is always right” :wink:
I will however add a “Pause Logging” feature in the PLX DAQ UI as well thus one can keep being connected to the Arduino but pause logging from PC side. Both features go hand in hand.

Beep is good as well.

Timer I have to check as I said I never looked at it before. But many thanks for providing a code preview.

I hope I will find time for the next version before Christmas.

@CBJARL: thanks a lot! :slight_smile:

IMHO, I would not worry about adding functionality, make it your own.

The point of stoping logging is the Arduino could do this if a certain condition was met while you sleep ;)

Edit: 'Pause Logging' would be good as connection would not be broken

.

LarryD:
The point of stoping logging is the Arduino could do this if a certain condition was met while you sleep :wink:

sure yes, but look. I guess you would do:

void loop()
{

//do Stuff

Serial.print("DATA,TIME,Whatsoever")

if(Sensorvalue==false)
   Serial.print("STOPLOGGING")
else
   Serial.print("STARTLOGGING")

}

Why not to keep it simple rather:

void loop()
{

//do Stuff



if(Sensorvalue<>false)
   Serial.print("DATA,TIME,Whatsoever")
}

In the end I do not need to tell PLX DAQ to stop logging (aka ignore input send from Arduino) if I simply not send data from the Arduino to PLX DAQ.

Or am I missing something here?

The Button on the UI for pausing logging will be build in nevertheless. Even with a GET thus Arduino can check for if logging is paused at the moment. Afterwards it won’t be a huge thing to implement STOPLOGGING and STARTLOGGING command as well (simple invoke button) I am just not getting the real use case you see :-/

Why not to keep it simple rather:

I was thinking a bit further, maybe stop logging, saving the file and then shutting down EXCEL. Not sure if this can be done in the Macro.

I do like simple. :)

I have used your work several times now and really do appreciate being able to do so.

Thanks for the Christmas present!

Larry

FYI: You might want to review Megunolink's offering for ideas. http://www.megunolink.com/

.

Duh - I did it.
I reworked lots of the code once more to get it more stable and easier to maintain (added comments, formatted code etc.)
Also I looked at Megunolink (thanks for the info) but I guess they are just hardcore sophisticated with their Software. PLX DAQ should be for the easy user or at least for pros that would like to build out of the box possibilities for simple consumers. What looks promising is http://docs.blynk.cc/ if you want your data to be available on a smartphone.

@CBJARL: one more thing, you could basically paste 90% of the code to Visual Basic and build a native Windows application. But well - you still need some sheet or further use for the commands received :wink:

So without further delay:


=============================================================
This version is already outdated !! Link to always most recent version of PLX DAQ v2 here:
==> https://forum.arduino.cc/index.php?topic=437398.msg3013761#msg3013761 <==
=============================================================


What’s new in “version 2.5” aka Change log:

  • Added a “Pause logging” / “Resume logging” button that can (well no surprise) stop the logging of the data without disconnecting the Arduino. The Button is enabled when connected

  • Removed the old 4 checkboxes as the functions are useless without Stamp nowadays and replaced with 3 custom checkboxes. As with old PLX DAQ v1 these checkboxes can be controlled by Arduino code: change text, check/uncheck box, read status of boxed (if checked or not). Codes changed from “DOWNLOAD” / “STORED” / “USER1” to CUSTOMBOX1 / CUSTOMBOX2 / CUSTOMBOX3. “USER2” was removed completely.

  • Moved “Reset on Connect” around a bit for better UI layout

  • Re-implemented the code for “Reset Timer” button. I don’t know why I removed that anyways in version 2.1 …

  • I added a new example sketch that demonstrates the new functions and how one can use them

  • I also rework the example codes in the custom dev points for not crashing Excel anymore - hopefully :wink:

  • Added new functions to call in Excel by Arduino:

  • Beep : makes a simple beep

  • Pauselogging : stops printing logged data to the Excel sheet

  • Resumelogging: continues pasting data again

  • Stoplogging : disconnects the Arduino

  • Saveworkbook : simply saves the workbook

  • SaveworkbookAs,Filename : saves the workbook as a new copy in the same folder by the name Filename.xlsm

  • ForcequitExcel: forces Excel to close. Note: the workbook will not be saved by this!

Might be I implemented even further things but I think I lost track of what I did today :smiley:

Image-Link: http://www.freebie-base.de/Pics/PLX_DAQ_v2.5.png
(hosted on my server, no traffic hijack)

=============================================================
This version is already outdated !! Link to always most recent version of PLX DAQ v2 here:
==> https://forum.arduino.cc/index.php?topic=437398.msg3013761#msg3013761 <==
=============================================================

PLX-DAQ-v2.5.zip (129 KB)

PLX-DAQ-v2-DefaultSketch.ino (2.03 KB)

NetDevil:
What looks promising is http://docs.blynk.cc/ if you want your data to be available on a smartphone.

I found Bluetooth Graphics Terminal a more or less direct equivalent to the the way I was using PLX.

Thanks for all your work, again :) .

Looks like this can turn into quite an nice tool.

Note: If 2.5 is running and accepting data from your supplied INO, things function fine.

  • If however, when you move the VBA window, I have noticed Excel sometimes crashes 10 or so seconds later.
  • Maybe freeze the ability of moving VBA window while data is being received.

  • Also, if you try to use the vertical scroll bar on the right side of the Excel screen while data is being received, Excel crashes. (so Larry don't scroll :confused: )

  • Quitting at 450 works great.

Edit Also, when data is being received and you click the 'Reset Timer' button, Excel crashes.

OK, maybe the rule should be while data is received do not touch. ;) .

LarryD: Thanks for all your work, again :)

(...)

OK, maybe the rule should be while data is received do not touch. ;)

Thanks for the feedback :)

I could use the buttons and checkboxes quit frequently but let me have another look over the next days. Maybe it has something to do with Office365 again ;)

Anyways we are getting better and better with each release and bring PLX DAQ back to its glory days :)

It appears: scrolling, moving the VBA window or clicking the reset button freezes then crashes Excel (while data is received). Almost as if any interruption in data received is not tolerated.

.

Hello,

I'm having a little trouble getting my PLX-DAQ(v2.3) to work. Whenever I try to run my Arduino program with PLX open, I get the error message "avrdude: ser_send():write error: sorry no info available". Whenever I run my code with the program disconnected though, it runs fine. However, when my Arduino is connected, the Excel sheet does display the column labels. Any help would be greatly appreciated!

Make sure you don't have the com port open in Excel when you try uploading in the IDE.

.

Hi,

Thanks for the response! The serial monitor was closed when I was getting that error. I'm not sure if it's a problem with my Arduino code, but here's the the portion that is supposed to send the data:

void setup (){
 Serial.begin(9600);
  Serial.println("CLEARDATA");
  Serial.println("LABEL,Load,Drum Speed,Wheel RPM,Run Time");  // These labels DO work 

// Irrelevant Stuff
}


void loop() {

// Even more of irrelevant stuff

      if((millis()- refresh) >= 100){   // When to send Data  
                Serial.print("DATA");
                Serial.print(mloadVal);
                Serial.print(",");
                Serial.print(dmph);
                Serial.print(",");
                Serial.print(wrpm);
                Serial.print(",");
                Serial.println(timerSeconds);
                refresh = millis();

// Rest of the irrelevant stuff
}

SharkWheelSDSU:
but here’s the the portion that is supposed to send the data:

                Serial.print("DATA");

Serial.print(","); <<== this one was missing
                Serial.print(mloadVal);

You were missing the , after the DATA
Try opening the direct debug window in PLX DAQ and you should be able to see how your lines are incoming from Arduino in PLX DAQ.

Well I wasn’t able to fix the problem with the UI crashing … It is totally arbitrary and I cannot put my finger on where and what and how crashes the form. It is both when moving the form as well when moving the whole application. Scrolling on the sheet works fine with me but as soon as you do some action that stops the macro from working for a few seconds it crashes some times after. For example when you move the window around you can see the logging to pause in the direct debug window.

So I just added a warning message on the UI :-X

Alongside some other staff:


=============================================================
This version is already outdated !! Link to always most recent version of PLX DAQ v2 here:
==> https://forum.arduino.cc/index.php?topic=437398.msg3013761#msg3013761 <==
=============================================================


What’s new in “version 2.6” aka Change log:

  • Fixed the reset timer button (there was a useless message box implemented somehow)
  • Formatted the timer to always have 6 trailing digits
  • removed the old fashioned limit to 27 columns - now supports the thousands of columns that Excel supports (although it is getting pretty slow with too many columns)
  • Set the columns all to be aligned centrally on default and column captions to be written in bold by default
  • and well yeah - added the warning remark not to play around too much with the window during logging

I also updated the example sketch once more (included stand alone and in the zip file as well).

Image-Link: http://www.freebie-base.de/Pics/PLX_DAQ_v2.6.png
(hosted on my server, no traffic hijack)

=============================================================
This version is already outdated !! Link to always most recent version of PLX DAQ v2 here:
==> https://forum.arduino.cc/index.php?topic=437398.msg3013761#msg3013761 <==
=============================================================

PLX-DAQ-v2.6.zip (132 KB)

PLX-DAQ-v2-DefaultSketch.ino (2.03 KB)

Adding the comma after "DATA" worked! Thanks so much!

:frowning: :confused:

Im a newbee
I just want to directly write serial monitor values to excel i downloaded all versions. v2 v2.2 v2.3
I dont get whats the correct code. when i clicked connect nothing changes. com3 was recognize where my arduino was connected

PS: im using DHT22 Humidity and Temperature sensor.

Untitled.png