Page 1 of 2 1 2 LastLast
Results 1 to 50 of 95
Like Tree6Likes

Thread: USB Temperature Data Logger - RML (Roast Monitor Language)

  1. #1
    CoffeeSnobs Owner Andy's Avatar
    Join Date
    Mar 2004
    Location
    Internet
    Posts
    15,308
    Blog Entries
    1

    USB Temperature Data Logger - RML (Roast Monitor Language)

    This is the biggest Roast Monitor feature release in quite some time...

    RML - Roast Monitor Language.

    This is a very powerful addition to the Roast Monitor as it gives the ability to create your own rules for events during the roast.* These could be as simple as a beep at first crack to a verbal warning about roasting too fast.*

    There is a HTML file in the Roast Monitor package called: Introducing RML

    In it you will find the formal language specification along with some easy examples that should get you going quickly.

    If you are stuck on something post the RML up here and someone will help troubleshoot it.

    When you write something that others could use feel free to share it in this thread.

    If you do post RML scripts in here then using the "code" tags will help keep this thread neater.

    Enjoy!
    8-)

  2. #2
    CoffeeSnobs Owner Andy's Avatar
    Join Date
    Mar 2004
    Location
    Internet
    Posts
    15,308
    Blog Entries
    1

    Re: USB Temperature Data Logger - RML (Roast Monitor Language)

    Below is one that I tried tonight (with lower temps for testing).

    Something similar should added to all RML files to give you an alert for eminent fire

    :)

    Code:
    # No air flow or burners way too high.
    
    IF M1R_NOW > 50
    {
       AUDIO "/\/windows/\/media/\/tada.wav";
       ALERT "C per minute is climbing too fast, currently " : M1R_NOW;
       LOG "C per min rise is " : MR_NOW;
    }
    
    
    # Serious FIRE RISK
    
    IF M1D_NOW > 240 AND M1D_NOW < 260
    {
       AUDIO "/\/windows/\/media/\/Windows Exclamation.wav";
       ALERT "WAKEUP - Roaster is about to catch fire. Temp is now " : M1D_NOW;
       LOG "Current Temp is " : M1D_NOW;
    }
    
    IF M1D_NOW > 260 AND M1R_NOW > 20
    {
       AUDIO "/\/windows/\/media/\/Windows Exclamation.wav";
       ALERT "Check your insurance policy or put the fire out now";
       LOG "The fire started when the Current Temp was " : M1D_NOW;
    }

    edit 24 Aug 2011 - changed to suit the current version.
    Previous syntax was MD for meter degrees, now M1D for Meter #1 Degrees as you could be loging up to 9 inputs
    -- Andy
    Last edited by fromthebeanbag; 10th July 2012 at 09:31 AM.

  3. #3
    Senior Member fatboy_1999's Avatar
    Join Date
    Jul 2004
    Location
    Melbourne
    Posts
    2,077

    Re: USB Temperature Data Logger - RML (Roast Monitor Language)

    Not bad.

    Now add the part that calls the emergency services and sends the SMS to the insurance company and were about done!
    adifoto likes this.

  4. #4
    Senior Member GrahamK's Avatar
    Join Date
    Jun 2009
    Location
    Ormiston - Brisbane
    Posts
    512

    Re: USB Temperature Data Logger - RML (Roast Monitor Language)

    Fantastic new feature Andy, and much appreciated by myself, so thanguverrrymush* [smiley=thumbsup.gif]

    One of the measurements I like to log is the Time between Cracks, and Total Roast time since "Load". Now able to Alert & Log that easily.

    Attached is a file of the code I am using to do that in case anyone else finds it useful. Tested, but still to be tested in anger. (Probably do that tonight)

    Update: If you reset and log another set within the same session the Alert display re-displays the 1st set of times, while the logging actually logs the correct times. (Im using the default.rml feature) Not sure why but seems related to screen (Alert) messages because if you have had another message prior like meter not switched on, it repeats that instead of the time alerts.?. I circumvent by restarting monitor between sessions for now.

    Pointing out mistakes or suggesting improvement also gratefully accepted* ;)

    GrahamK


  5. #5
    CoffeeSnobs Owner Andy's Avatar
    Join Date
    Mar 2004
    Location
    Internet
    Posts
    15,308
    Blog Entries
    1

    Re: USB Temperature Data Logger - RML (Roast Monitor Language)

    Quote Originally Posted by 0134272E272B0D460 link=1304437799/3#3 date=1304474337
    If you reset and log another set within the same session the Alert display re-displays the 1st set of times, while the logging actually logs the correct times.
    I noticed similar during initial testing too but didnt get back to report it (but I will). It had me scratching my head for a minute until I noticed the time of the error was 15 minutes prior.

    Quote Originally Posted by 0134272E272B0D460 link=1304437799/3#3 date=1304474337
    I circumvent by restarting monitor between sessions for now
    Thats what I did too.
    ;)

    Quote Originally Posted by 0134272E272B0D460 link=1304437799/3#3 date=1304474337
    Attached is a file of the code I am using
    Wow, you were super fast to start playing and that is a useful thing to keep track of.

    I also noticed that you had to change the extension of the rml so you could upload it here. Ive just fixed that on the server too.

    Looking forward to seeing what others dream-up for their Roast Monitor Language files.

  6. #6
    Senior Member GrahamK's Avatar
    Join Date
    Jun 2009
    Location
    Ormiston - Brisbane
    Posts
    512

    Re: USB Temperature Data Logger - RML (Roast Monitor Language)

    Very minor mistake in the IntroducingRML.html instructions:

    TC("First crack")
    is the temperature of first crack in the template.

    should be:

    TD("First crack")

    GrahamK

  7. #7
    CoffeeSnobs Owner Andy's Avatar
    Join Date
    Mar 2004
    Location
    Internet
    Posts
    15,308
    Blog Entries
    1

    Re: USB Temperature Data Logger - RML (Roast Monitor Language)

    Thanks for the heads-up Graham.

    That was my fault! The internal testing version 2.25 used C for Celcius and I asked for it to be changed to D or degrees to save the confusion for those in the USA running the Fahrenheit version.

    Ive just changed it in the HTML in the download file and in the online RML document.
    8-)

  8. #8
    Senior Member GrahamK's Avatar
    Join Date
    Jun 2009
    Location
    Ormiston - Brisbane
    Posts
    512

    Re: USB Temperature Data Logger - RML (Roast Monitor Language)

    I have had a problem with the calculations when using in a proper roast. Suspect the variables do not hold their value well, so going to change my whole program to see if I can group what data I need for the calculations together, so their is no time lag between getting the times and doing arithmetic on them. All good fun. (For me anyway)* ;)

    GrahamK

  9. #9
    CoffeeSnobs Owner Andy's Avatar
    Join Date
    Mar 2004
    Location
    Internet
    Posts
    15,308
    Blog Entries
    1

    Re: USB Temperature Data Logger - RML (Roast Monitor Language)

    Thanks to Grahams very detailed bug report (via email today) there is now a new version of RML in the Roast Monitor package.

    It turns out that the problem only happened after 1000 seconds when a comma was added (eg: 1,000.555 seconds) so it slipped past all the internal short testing.

    Good find Graham!
    8-)

  10. #10
    Senior Member GrahamK's Avatar
    Join Date
    Jun 2009
    Location
    Ormiston - Brisbane
    Posts
    512

    Re: USB Temperature Data Logger - RML (Roast Monitor Language)

    Nice one Andy* [smiley=thumbsup.gif] . That was quick.* :o
    Like the new vertical comments text.

    Will give it a proper whirl soon

    Update: Problem solved - tested OK* ;)

    New RML file attached if anyone interested

    GrahamK


  11. #11
    Junior Member
    Join Date
    Jul 2010
    Posts
    25

    Re: USB Temperature Data Logger - RML (Roast Monitor Language)

    Love the new Roast Monitor v2.33, but it created a minor panic at the start of my roasting session tonight when the RML failed to load!

    RM v2.33 requires some minor changes to the RML code:

    Attached is and update to Grahams default.rml for v2.33 for all those in a panic.


    (edit... put the RML in the code tag below so others can read it without downloading) -- Andy

    Code:
    # Default.rml file including:
    # Calculating and logging the difference between 1st & 2nd Crack and Total Roast time since "Load".
    # Note: Remove the "#" characters to provide more verbose Alerts and Logging of the values
    #
    # V4 06/05/2011 - GrahamK
    # V5 18/08/2011 - maca55 - minor mods for RM v2.33 support, first crack warning added
    #
    
    LIMIT 1 {
              LOG " ";
              LOG "default.rml V5 13/08/2011 loaded";
              LOG "===============================================================================";
              LOG " ";
            }
    
    IF M1S("Second Crack") > 0
       LIMIT 1 { 
                LOG "Beans Loaded at Temp = " : M1D("Load") : "C";
                SET FirstC = M1S("First Crack");
                SET SecondC = M1S("Second Crack");
               ALERT "Second Crack time = " : SecondC;
               LOG "First Crack time = " : FirstC;
               LOG "Second Crack time = " : SecondC;
                SET Timebtwc = ((SecondC-FirstC)/60);
                LOG "First Crack Temp = " : M1D("First Crack") : "C";
                LOG "Second Crack Temp = " : M1D("Second Crack") : "C";
                LOG "Time Between Cracks = " : Timebtwc : " minutes";
                ALERT "Time Between Cracks = " : Timebtwc : " minutes";
               }
    
    IF M1S("Unload") > 0
       LIMIT 1 {
                SET Loadt = M1S("Load");  
                SET Unloadt = M1S("Unload");
               ALERT "Unload time = " : Unloadt;
               LOG "Unload time = " : Unloadt;
               LOG "Load time = " : Loadt;
                SET Timebtwc = ((Unloadt-Loadt)/60);
                LOG "Unload Temp = " : M1D("Unload") : "C";
                LOG "Total Roast Time = " : Timebtwc : " minutes";
                ALERT "Total Roast Time = " : Timebtwc : " minutes";
               }
    
    
    # Alert - First crack should happen soon
    if M1D_NOW > 195
       LIMIT 3
          BEEP;


  12. #12
    Senior Member
    Join Date
    Feb 2008
    Posts
    308

    Re: USB Temperature Data Logger - RML (Roast Monitor Language)

    Nice work guys, just ran a test profile on the KKTO empty to see how it works in practise.

    To save my hungover head from trying to work it out, can someone post Grahams default rml with all times in minutes? At the moment some of it logs/alerts in seconds and some in minutes, I would like it to all display in minutes.

    EDIT - Its OK! Got my head around it, attached is the default file with all times set to display and log in minutes.

    (edit... put the RML in the code tag below so others can read it without downloading) -- Andy


    Code:
    # Default.rml file including:
    # Calculating and logging the difference between 1st & 2nd Crack and Total Roast time since "Load".
    # Note: Remove the "#" characters to provide more verbose Alerts and Logging of the values
    #
    # V4 06/05/2011 - GrahamK
    # V5 18/08/2011 - maca55 - minor mods for RM v2.33 support, first crack warning added
    #
    
    LIMIT 1 {
              LOG " ";
              LOG "default.rml V5 13/08/2011 loaded";
              LOG "===============================================================================";
              LOG " ";
            }
    
    IF M1S("Second Crack") > 0
       LIMIT 1 { 
                LOG "Beans Loaded at Temp = " : M1D("Load") : "C";
                SET FirstC = M1S("First Crack")/60;
                SET SecondC = M1S("Second Crack")/60;
               ALERT "Second Crack time = " : SecondC : " minutes";
               LOG "First Crack time = " : FirstC : " minutes";
               LOG "Second Crack time = " : SecondC : " minutes";
                SET Timebtwc = (SecondC-FirstC);
                LOG "First Crack Temp = " : M1D("First Crack") : "C";
                LOG "Second Crack Temp = " : M1D("Second Crack") : "C";
                LOG "Time Between Cracks = " : Timebtwc : " minutes";
                ALERT "Time Between Cracks = " : Timebtwc : " minutes";
               }
    
    IF M1S("Unload") > 0
       LIMIT 1 {
                SET Loadt = M1S("Load")/60;  
                SET Unloadt = M1S("Unload")/60;
               ALERT "Unload time = " : Unloadt : " minutes";
               LOG "Unload time = " : Unloadt : " minutes";
               LOG "Load time = " : Loadt : " minutes";
                SET Timebtwc = (Unloadt-Loadt);
                LOG "Unload Temp = " : M1D("Unload") : "C";
                LOG "Total Roast Time = " : Timebtwc : " minutes";
                ALERT "Total Roast Time = " : Timebtwc : " minutes";
               }
    
    
    #Alert - First crack should happen soon
    if M1D_NOW > 195
       LIMIT 3
          BEEP;



  13. #13
    Senior Member GrahamK's Avatar
    Join Date
    Jun 2009
    Location
    Ormiston - Brisbane
    Posts
    512

    Re: USB Temperature Data Logger - RML (Roast Monitor Language)

    Great to see that the programs are starting to become collaborative.

    If anyone is interested I have attached the current defult rml that I use, which has been made compatible with v2.33. It calculates roughly the same times etc, but was designed to produce a more streamlined log of the roasts for a session which I can then save and/or print. It also allows for an input to be provided prior to hitting "Load" which will then include the bean origin and in my case the name of the Roaster program for documentation. These will need to be of course adapted for your own use.

    Type and Enter the origin code in the "Comments" field after the "Go" and before the "Load".

    It does not have the warning that galumay has added to the previous one yet.

    GrahamK


    (edit... put the RML in the code tag below so others can read it without downloading) -- Andy

    Code:
    # Default.rml file including:
    # Calculating and logging the difference between 1st & 2nd Crack and Total Roast time since "Load".
    #
    # V9 03/08/2011 - GrahamK
    #
    
    LIMIT 1 {
              LOG " ";
              LOG "default.rml V9 03/08/2011 loaded";
              LOG "===============================================================================";
              LOG " ";BEEP;
              SET origin = "A Region of origin was not identified";
              SET Prog  = "Program Not identified";
              ALERT "Before pressing Load Set Bean Origin to one of SA , CA , AF , IN , AS , OZ , IS";
            }
    
    IF M1S("Load") = 0 {
      
              IF origin = "A Region of origin was not identified"
                {
                IF M1S("SA") > 0
                  {
                   SET origin = "Region of Origin: South America";
                   SET Prog = "AD1";
                  }
                ELSE
                    IF M1S("CA") > 0
                      {
                       SET origin = "Region of Origin: Central America";
                       SET Prog = "AD1";
                      }
                    ELSE 
                        IF M1S("AF") > 0
                          {
                           SET origin = "Region of Origin: Africa";
                           SET Prog = "AD2";
                          }
                        ELSE
                            IF M1S("IN") > 0
                              {
                               SET origin = "Region of Origin: Indonesia";
                               SET Prog = "AD2";
                              }
                            ELSE
                                IF M1S("AS") > 0
                                  {
                                   SET origin = "Region of Origin: Asia";
                                   SET Prog = "AD2";
                                  }
                                ELSE
                                    IF M1S("OZ") > 0
                                      {
                                       SET origin = "Region of Origin: Australia";
                                       SET Prog = "AD1";
                                      }
                                     ELSE
                                        IF M1S("IS") 
                                          {
                                           SET origin = "Region of Origin: Islands";
                                           SET Prog = "AD1";
                                          }
                }
                      }
    ELSE
        LIMIT 1 {
                 ALERT origin : " - Roaster Prog : " : Prog; LOG origin : " - Roaster Prog : " : Prog; LOG " "; BEEP;
                }
     
    
    IF M1S("Second crack") > 0
       LIMIT 1 { 
                LOG "Load time           = " : (M1S("Load")/60) : " min : Load Temp         = " : M1D("Load") : " C";            
                SET FirstC = M1S("First crack");
                SET SecondC = M1S("Second crack");
    #           ALERT "Second Crack time   = " : SecondC/60;
                LOG "First Crack  time   = " : (FirstC)/60 : " min : First Crack Temp  = " : M1D("First crack") : " C";
                LOG "Second Crack time   = " : (SecondC)/60 : " min : Second Crack Temp = " : M1D("Second crack") : " C";
                LOG " ";
                SET Timebtwc = ((SecondC-FirstC)/60);
                LOG "Time Between Cracks = " : Timebtwc : " min";
                ALERT "Time Between Cracks = " : Timebtwc : " min";
               }
    
    IF M1S("Unload") > 0
       LIMIT 1 {
                SET Loadt = M1S("Load");  
                SET Unloadt = M1S("Unload");
    #           ALERT "Unload time         = " : Unloadt/60;
                SET Timebtwc = ((Unloadt-Loadt)/60);
                LOG "Total Roast Time    = " : Timebtwc : " min";
                LOG " ";
                LOG "Unload time         = " : (Unloadt)/60 : " min : Unload Temp       = " : M1D("Unload") : " C";
                LOG " ";
                ALERT "Total Roast Time           = " : Timebtwc : " min";
               }


  14. #14
    Senior Member
    Join Date
    Feb 2008
    Posts
    308

    Re: USB Temperature Data Logger - RML (Roast Monitor Language)

    I have been thinking about having a means of selecting the beans used in the roast and logging them. Not hard to make a list of available beans in say Notepad and then script to select and log bean varieties prior to load.

    Grahams idea with the selection of origins got me inspired with the idea of logging the beans being roasted.

    At this stage I am thinking it would need a prompt to select, then maybe manually copy and paste in the bean types, anyone who is interested in the idea is welcome to provide me with some coding inspiration!

    EDIT - Got it working, its a bit clunky but it logs my blend. Copy attached for those interested.

    (edit... put the RML in the code tag below so others can read it without downloading) -- Andy

    Code:
    # Default.rml file including:
    # Calculating and logging the difference between 1st & 2nd Crack and Total Roast time since "Load".
    # Note: Remove the "#" characters to provide more verbose Alerts and Logging of the values
    
    
    LIMIT 1 {
              LOG " ";
              LOG "default_002-3.rml 16/08/2011 loaded";
              LOG "===============================================================================";
              LOG " ";BEEP;
              SET blend = "A Blend was not identified";
              
              ALERT "Before pressing Load Set Bean blend to one of A , B , C , D , E , F , G";
            }
    
    IF M1S("Load") = 0 {
      
              IF blend = "A Blend was not identified"
                {
                IF M1S("A") > 0
                  {
                   SET blend = "Peru Ceja de Selva Estate, Nicuragua La Gloria Las Brisas, Ethiopian Ghimbi, Sumatra Sigararutang";
                   
                  }
                ELSE
                    IF M1S("B") > 0
                      {
                       SET blend = "Peru Ceja de Selva Estate, Santo Domingo Cibao Altura AA , Malawi Nyika AA, PNG Kone Ka";
                      
                      }
                    ELSE 
                        IF M1S("C") > 0
                          {
                           SET blend = "blank";
                          
                          }
                        ELSE
                            IF M1S("D") > 0
                              {
                               SET blend = "blank";
                              
                              }
                            ELSE
                                IF M1S("E") > 0
                                  {
                                   SET blend = "blank";
                                  
                                  }
                                ELSE
                                    IF M1S("F") > 0
                                      {
                                       SET blend = "blank";
                                       
                                      }
                                     ELSE
                                        IF M1S("G") 
                                          {
                                           SET blend = "blank";
                                          
                                          }
                }
                      }
    ELSE
        LIMIT 1 {
                 ALERT "Blend = " : blend;
                 LOG "Blend = " : blend;  
                      BEEP;
                }
    
    IF M1S("Second Crack") > 0
       LIMIT 1 { 
                LOG "Beans Loaded at Temp = " : M1D("Load") : "C";
                SET FirstC = M1S("First Crack")/60;
                SET SecondC = M1S("Second Crack")/60;
               ALERT "Second Crack time = " : SecondC : " minutes";
               LOG "First Crack time = " : FirstC : " minutes";
               LOG "Second Crack time = " : SecondC : " minutes";
                SET Timebtwc = (SecondC-FirstC);
                LOG "First Crack Temp = " : M1D("First Crack") : "C";
                LOG "Second Crack Temp = " : M1D("Second Crack") : "C";
                LOG "Time Between Cracks = " : Timebtwc : " minutes";
                ALERT "Time Between Cracks = " : Timebtwc : " minutes";
               }
    
    IF M1S("Unload") > 0
       LIMIT 1 {
                SET Loadt = M1S("Load")/60;  
                SET Unloadt = M1S("Unload")/60;
               ALERT "Unload time = " : Unloadt : " minutes";
               LOG "Unload time = " : Unloadt : " minutes";
               LOG "Load time = " : Loadt : " minutes";
                SET Timebtwc = (Unloadt-Loadt);
                LOG "Unload Temp = " : M1D("Unload") : "C";
                LOG "Total Roast Time = " : Timebtwc : " minutes";
                ALERT "Total Roast Time = " : Timebtwc : " minutes";
               }
    
    
    #Alert - First crack should happen soon
    if M1D_NOW > 195
       LIMIT 3
          BEEP;


  15. #15
    Senior Member
    Join Date
    Feb 2008
    Posts
    308

    Re: USB Temperature Data Logger - RML (Roast Monitor Language)

    I roasted a batch yesterday with the .rml file I have modified, I have attached an excerpt from the log and a copy of the graph to show the results. (also played with the heat slider - what the %$&* does it do??)




  16. #16
    Senior Member
    Join Date
    Feb 2008
    Posts
    308

    Re: USB Temperature Data Logger - RML (Roast Monitor Language)

    mmm...cant seem to edit to add another file, so here is the log,


  17. #17
    Senior Member
    Join Date
    Feb 2008
    Posts
    308

    Re: USB Temperature Data Logger - RML (Roast Monitor Language)

    I guess I should add a pic of the roast!



  18. #18
    Senior Member
    Join Date
    Apr 2010
    Posts
    107

    Re: USB Temperature Data Logger - RML (Roast Monitor Language)

    i think the heat slider is for controlling certain roasters by the looks of it. btw thats the flatest profile i have seen. usually the temp of the bean starts way cooler and angles up more to the 200 mark. not saying its wrong. see how she goes. ;)

  19. #19
    CoffeeSnobs Owner Andy's Avatar
    Join Date
    Mar 2004
    Location
    Internet
    Posts
    15,308
    Blog Entries
    1

    Re: USB Temperature Data Logger - RML (Roast Monitor Language)

    Quote Originally Posted by 61676A736B677F060 link=1304437799/13#13 date=1313481735
    thinking about having a means of selecting the beans used in the roast and logging them
    Dont spend too much time on that... the next version of Roast Monitor that Im testing does that.

    Some RML that will pop-up window that you type the bean and weight into. Worked a treat in testing this week with a couple of small bugs to iron-out before release to CS.

    Quote Originally Posted by 61676A736B677F060 link=1304437799/14#14 date=1314137238
    and a copy of the graph
    Looks like a screen shot edited. Try selecting the two check boxes on the [Save] pop-up, one is for the CSV, the other for JPG. It will save a screen shot for you without the background stuff.

    Quote Originally Posted by 61676A736B677F060 link=1304437799/14#14 date=1314137238
    played with the heat slider
    At 8 minutes 40 seconds odd you set the heat slider to 46%. It graphed it to show what you set it to (in red).

    If you make manual heat changes during a roast you can use the slider to annotate the graph with the same so you can see at a glace what you did.
    (see GrahamKs excellent User Guide in the first post of Roast Monitor thread)

    Quote Originally Posted by 61676A736B677F060 link=1304437799/15#15 date=1314137504
    cant seem to edit to add another file
    Press the [+] to the right of "Attachments" in your post to add up to 5 items in a single post.



  20. #20
    Senior Member
    Join Date
    Feb 2008
    Posts
    308

    Re: USB Temperature Data Logger - RML (Roast Monitor Language)

    [QUOTE=7758524F360 link=1304437799/18#18 date=1314167269]

    Dont spend too much time on that... the next version of Roast Monitor that Im testing does that.

    Some RML that will pop-up window that you type the bean and weight into.* Worked a treat in testing this week with a couple of small bugs to iron-out before release to CS.
    Cool, that was what i was working on now! (adding the weight too) I enjoy fiddling with the code but will be happy to have a look at yours when its done.


    Looks like a screen shot edited.* Try selecting the two check boxes on the [Save] pop-up, one is for the CSV, the other for JPG.* It will save a screen shot for you without the background stuff.
    No, its the .jpg file saved as you suggest.

    If you make manual heat changes during a roast you can use the slider to annotate the graph with the same so you can see at a glace what you did.*
    (see GrahamKs excellent User Guide in the first post of Roast Monitor thread)
    Aghh...OK, not really relevant to the KKTO then.


    Press the [+] to the right of "Attachments" in your post to add up to 5 items in a single post.
    Thanks - I missed that! In my defence it was after a 12hour night shift when i posted!

  21. #21
    CoffeeSnobs Owner Andy's Avatar
    Join Date
    Mar 2004
    Location
    Internet
    Posts
    15,308
    Blog Entries
    1

    Re: USB Temperature Data Logger - RML (Roast Monitor Language)

    Add the below to your default.rml file and it will save the profile at the end of the roast.
    (requires RoastMonitor Version 2.36+)

    If you have save as CSV and JPG in your preferences it will save both files when the rate of change is less than zero and you are more than 30 seconds into the roast.


    Code:
    # Autosave
     
    # Add this to the top of your default.rml file to save your profile when you drop the beans.
    
    # Usage: Load this RML, hit go when ready to start roasting.* 
    # Add the bean name and weight anytime before the roast finishes and the filename will become: 
    # YYYYMMDD-HHmm-Bean-Weight.csv
    # eg: 20110829-1328-Brazil-5.csv
    
    
    # In the pop-up, move the variables we want to change to the top of the list. 
    
    PRIORITY bean weight;
    
    # Use date/time at start for profile name in case we save twice.
    limit 1
    * *{
    * *set prefix = "profiles/\/" : date : "-" : time : "-";
    * *set saveNeeded = "no";
    * *}
    
    # Get well clear of initial temperature drop before considering save.
    if m1s_now > 30 and m1r_now > 5
    * *{
    * *set saveNeeded = "yes";
    * *}
    
    # Save once whenever the temperature drops.
    if* m1r_now < 0 and saveNeeded = "yes"
    * *{
    * *set filename = prefix : bean : "-" : weight;
    * *save filename;
    * *alert "Saved " : filename;
    * *set saveNeeded = "no";
    * *}
    
    # End Autosave
    If you cant make sense of something above please let me know, Ill try and explain it.

  22. #22
    Senior Member GrahamK's Avatar
    Join Date
    Jun 2009
    Location
    Ormiston - Brisbane
    Posts
    512

    Re: USB Temperature Data Logger - RML (Roast Monitor Language)

    Having only recently returned from* South Africa after* 3 week stay, I have been testing out the great new RML features (being able to make changes to User defined variable changes on the fly), and have created a new default RML based on previous ideas + ideas from Andys auto save feature.

    Love the new features Andy* ;)

    The basis is to create a concise log of the roasting session including various relevant details of each roast, which can be printed at the end. It also auto saves the profile files, but based on a time limit after "Unload" rather than sensing a temp change. It provides a period of time after Unload in which you can make changes to some of the variables such as the CS # and add a comment, which will be logged in the log file, along with bean name, Country of origin, and Roaster program name (based on a Hottop).

    To use:
    [list bull-greenball][*]Start up the RM program[/list]
    [list bull-greenball][*]Start your Template as required (and RML prog if not default)[/list]
    [list bull-greenball][*]Make changes to the 1st set of variables such as bean name, Origin and program # before pressing "GO"[/list]
    [list bull-greenball][*]Press GO and carry on with LOAD etc[/list]
    [list bull-greenball][*]After Unload make changes to CSNum and Comments variables (within the set time limit currently defaulted to 60 mins), and then hide the variables panel before the set time expires so it captures a clean screen shot for the jpeg[/list]
    [list bull-greenball][*]Close or Reset as required in readiness for the next roast[/list]

    One word of caution, changing the variables can sometimes be a bit tricky, so suggest some practise runs before using in anger.

    Also if you do not get time to add the CS # and comments, you can easily just edit them into the log file afterwards changing the placeholders to what you want.

    Note: If Weight is left to 0 it will default it to 250g

    I have attached a copy of the default rml, an example Log file and a picture of the variables panel

    If anyone is interested, Im happy to answer any questions or provide assistance should you like changes to suit a different environment.

    Graham








  23. #23
    CoffeeSnobs Owner Andy's Avatar
    Join Date
    Mar 2004
    Location
    Internet
    Posts
    15,308
    Blog Entries
    1

    Re: USB Temperature Data Logger - RML (Roast Monitor Language)

    Very nice Graham, the log is full of useful information and is really easy to read.

    A suggestion though... using a dash instead of a space in the bean and origin variables will mean that the resulting filename is easier to upload or URL link later if needed.

    20110916-0843-Brazil PN.csv

    would become

    20110916-0843-Brazil-PN.csv


  24. #24
    Junior Member
    Join Date
    Jul 2010
    Posts
    25

    Re: USB Temperature Data Logger - RML (Roast Monitor Language)

    Firstly thanks again to Andy for sharing this awesome update. I have been looking for a way to optimise my roast sessions and the more I can do while the roast is in progress the better. I love the new ability to auto generate the filename and auto save!

    Also, nice work Graham. I thought it was strange not to hear from you soon after such a nice RML update! (Looking at your RML, I suspect that space between the Brazil and PN was in the bean variable, as orgin isnt included in the filename.)

    Last week I gave up waiting for your updated version* and spent my free updating my RML - I came up with a hybrid version that will save both on temperature drop AND Unload events. I also added some stricter criteria for the temp drop event as I found I got a couple of false saves due to bad TC readings when switching the bean cooler on/off.

    Now that Graham has improved the logging code, I will try to incorporate this into my version so as not to confuse everyone. Plan to share here once I have tested it on a roast session this weekend.

  25. #25
    Junior Member
    Join Date
    Jul 2010
    Posts
    25

    Re: USB Temperature Data Logger - RML (Roast Monitor Language)

    I too have encountered some issues with the entering of variables. Some roast were saved as date-time-weight-weight instead of bean-weight. I thought I was careful to hit enter after updating a text box. Im suspecting there may be a little bug here?

    Andy can you let us know your method of reliably entering variables eg) click variable, type, hit enter, click on a different variable?

  26. #26
    CoffeeSnobs Owner Andy's Avatar
    Join Date
    Mar 2004
    Location
    Internet
    Posts
    15,308
    Blog Entries
    1

    Re: USB Temperature Data Logger - RML (Roast Monitor Language)

    Quote Originally Posted by 6E6260623636030 link=1304437799/23#23 date=1317045071
    I love the new ability to auto generate the filename and auto save!
    Me too!

    Quote Originally Posted by 6E6260623636030 link=1304437799/24#24 date=1317045482
    your method of reliably entering variables
    The java that runs the variable box is a little iffy, what you have in this version is an improvement on the previous, unreleased version.

    Click the data you want to change, wait for the "select all" to highlight the current contents and type what you want. To change the next field, do the same. A click away will "save" the contents of the field without hitting enter.

    Quote Originally Posted by 6E6260623636030 link=1304437799/24#24 date=1317045482
    Some roast were saved as date-time-weight-weight instead of bean-weight
    Errr... Ive done 100 odd roasts on this version and not seen that. In the RML that I posted in #20 above I only change the "bean" and "weight" variables, the rest are auto filled later in the roast.

    Quote Originally Posted by 6E6260623636030 link=1304437799/23#23 date=1317045071
    I will try to incorporate this into my version so as not to confuse everyone
    Not sure that trying to incororate all the code into one big file will always suit everyone but you can post what works for you if you like.

    If you have some snippits post them up too (use the code tags) so others might me able to cut and paste sections or see/learn how its written.

    Great to see someone else having a crack!

  27. #27
    Senior Member GrahamK's Avatar
    Join Date
    Jun 2009
    Location
    Ormiston - Brisbane
    Posts
    512

    Re: USB Temperature Data Logger - RML (Roast Monitor Language)

    You are right I do not include the Origin in the filename, but I do use it to document the roast.

    Working with the variables can be a bit tricky. Somtimes it carries the previous variable content and can duplicate it into the next variable if you just keep pressing Enter. So I always ensure they are what they should be after making the changes. I also usually Suspend the program while making the changes and Resume once completed. Not sure if it actually makes a difference or not in reality,*but I think it does ;)
    Just be wary if you do that because I once forgot to Resume, and took me a while to work out why the program was not doing what it should.

    As Andy says great to see at least one other person contributing to these features.

    Graham

  28. #28
    CoffeeSnobs Owner Andy's Avatar
    Join Date
    Mar 2004
    Location
    Internet
    Posts
    15,308
    Blog Entries
    1

    Re: USB Temperature Data Logger - RML (Roast Monitor Language)

    Try not using enter, just mouse clicking away or into another field will "set" the variable.

  29. #29
    Senior Member GrahamK's Avatar
    Join Date
    Jun 2009
    Location
    Ormiston - Brisbane
    Posts
    512

    Re: USB Temperature Data Logger - RML (Roast Monitor Language)

    Hi Andy, I actually use both methods, (Enter & mouse click on another field) but still sometimes a variable gets corrupted (its data gets replaced by data from another variable).

    In fact yesterday it seemed that hiding the pop-up also ended up corrupting one of the variables. It occurred a few times, but it was intermittent so I need to do some better testing before confirming that was actually the issue. Will try some proper debugging when I get the time.* :)

    None of this is a show stopper however, so not complaining, just mentioning it in case someone else is able to throw some light on the challenge.

    Graham

  30. #30
    CoffeeSnobs Owner Andy's Avatar
    Join Date
    Mar 2004
    Location
    Internet
    Posts
    15,308
    Blog Entries
    1

    Re: USB Temperature Data Logger - RML (Roast Monitor Language)

    Ohhh.... Ive not seen anything like that.
    I thought you were just talking about the field highlight/select-all that was going on.

    If there is a bug and we can replicate it Ill pass it on to get it fixed.


  31. #31
    CoffeeSnobs Owner Andy's Avatar
    Join Date
    Mar 2004
    Location
    Internet
    Posts
    15,308
    Blog Entries
    1

    Re: USB Temperature Data Logger - RML (Roast Monitor Language)

    Well thanks to maca55 and GrahamK reporting something that I hadnt seen... the bug has been found and fixed in Version 2.37

    I tested the version on the Snobbery roasts today and it worked fine.

    Grab V2.37 from the RoastMonitor thread.
    8-)

  32. #32
    Senior Member GrahamK's Avatar
    Join Date
    Jun 2009
    Location
    Ormiston - Brisbane
    Posts
    512

    Re: USB Temperature Data Logger - RML (Roast Monitor Language)

    Gave it a whirl today, and problem I was having with the variables now resolved. Thanx Andy.

    GrahamK

  33. #33
    Junior Member
    Join Date
    Dec 2010
    Posts
    1

    .wav files DMM

    Can any one tell me if or how I can configure the temperature data logger to use a wave file to make call outs such as first crack & second crack starts or announce end & dump now.

    I would really like to set up templates with voice announcements.

  34. #34
    CoffeeSnobs Owner Andy's Avatar
    Join Date
    Mar 2004
    Location
    Internet
    Posts
    15,308
    Blog Entries
    1

    Re: USB Temperature Data Logger - RML (Roast Monitor Language)

    (moved the above post from off topic)

    Pretty easy to do... RML can do just about anything!

    Copy the below into a new notepad file, save it as whatever.rml , load it into RoastMonitor using the RML button and away you go.

    The below code should play Exclamation.wav if the roast has been going for more than 60 seconds and the temeperature is over 194C
    It will also write in the alerts box and into the log file.

    You could certainly change that to voice recordings that say "Hey you, come over here and listen to first crack"
    :)


    Code:
    Limit 2
    if M1S_NOW > 60 and M1D_NOW > 194 
    {
    AUDIO "/\/windows/\/media/\/Windows Exclamation.wav";
    ALERT "WAKEUP - First crack is near." : M1D_NOW;
    LOG "Played the wav when temperature was " : M1D_NOW;
    }

  35. #35
    Senior Member GrahamK's Avatar
    Join Date
    Jun 2009
    Location
    Ormiston - Brisbane
    Posts
    512

    Re: USB Temperature Data Logger - RML (Roast Monitor Language)

    In case anyone has been making use of the rml file I supplied previously, attached is the lastest version (v12). I changed it to cater for the fact that you may not have reached 2nd Crack before Unloading, so provides slightly different statistics in the log file if that is the case. For this I had to re-structure the program a bit.

    Code:
    # Default.rml file including:
    # Calculating and logging the difference between 1st & 2nd Crack (or 1st Crack & Unload), and Total Roast time since "Load".
    # Allows Bean, Roaster Program, Bean Origin & Bean Weight (defaulted to 250g if not set) to be set in the variables list
    # Auto saves files a set (Waitime) secs after Unload, and allows comments to be added within set (Waittime + 10) secs
    #
    # V12 26/11/2011 - Graham Kennedy
    #
    
    LIMIT 1 {
    * ** ** * LOG " ";
    * ** ** * LOG "default.rml V12 26/11/2011 loaded";
    * ** ** * LOG "===============================================================================";
    * ** ** * LOG " ";BEEP;
    * ** ** }
    
    # Use date/time at start for profile name in case we save twice. Set Unloadt to be > than expected so as not to
    # save too early. Waitime can be set below as required
    LIMIT 1 {
    * ** ** * SET prefix = "profiles/\/" : date : "-" : time : "-";
    * ** ** * SET SaveNow = "false";
    * ** ** * SET Unloadt = 1500.00;
    * ** ** * SET Comment = " ";
    * ** ** * SET Waittime = 60;
    * ** ** }
    
    PRIORITY Bean Origin Prog Weight CSNum Comment;
    
    IF M1S("Load") > 0
    LIMIT 1 {
    * ** ** * IF Weight = 0 SET Weight = 250;
    * ** ** * ALERT "Bean: " : Bean : " - Origin: " : origin : " - Roaster Prog: AD" : Prog : " - Weight: " : Weight : "g";
    * ** ** * LOG "Bean: " : Bean : " - Origin: " : origin : " - Roaster Prog: AD" : Prog : " - Weight: " : Weight : "g";
    * ** ** * LOG " ";
    * ** ** * BEEP;
    * ** ** }
    
    IF M1S("Unload") > 0
    * *LIMIT 1 {
    * ** ** ** *LOG "Load time* ** ** ** =* " : (M1S("Load")/60) : " min : Load Temp* ** ** *= " : M1D("Load") : " C";
    * ** ** ** *SET FirstC = M1S("First crack");
    * ** ** ** *LOG "First Crack* time* *= " : (FirstC)/60 : " min : First Crack Temp* = " : M1D("First crack") : " C";
    
    * ** ** ** *ALERT "==== Roast Details ====";
    
    * ** ** ** *IF M1S("Second crack") > 0
    * ** ** ** ** {
    * ** ** ** ** *SET SecondC = M1S("Second crack");
    * ** ** ** ** *LOG "Second Crack time* *= " : (SecondC)/60 : " min : Second Crack Temp = " : M1D("Second crack") : " C";
    * ** ** ** ** *SET Timebtwc = ((SecondC-FirstC)/60);
    * ** ** ** ** *ALERT "Time Between Cracks = " : Timebtwc : " min";
    * ** ** ** ** }
    
    * ** ** ** *SET Loadt = M1S("Load");* 
    * ** ** ** *SET Unloadt = M1S("Unload");
    * ** ** ** *SET SaveNow = "true";
    #* ** ** ** ALERT "Unload time* ** ** *= " : Unloadt/60;
    * ** ** ** *LOG "Unload time* ** ** *= " : (Unloadt)/60 : " min : Unload Temp* ** * = " : M1D("Unload") : " C";
    * ** ** ** *LOG " ";
    * ** ** ** *SET Totalt = ((Unloadt-Loadt)/60);
    * ** ** ** *LOG "Total Roast Time* * = " : Totalt : " min";
    
    * ** ** ** *IF M1S("Second crack") > 0
    * ** ** ** ** *LOG "Time Between Cracks = " : Timebtwc : " min";
    * ** ** ** *ELSE
    * ** ** ** ** *{
    * ** ** ** ** * SET Timebtwc = ((Unloadt-FirstC)/60);
    * ** ** ** ** * LOG "Time Between First Crack and Unload = " : Timebtwc : " min";
    * ** ** ** ** *} 
    
    * ** ** ** *LOG " ";
    * ** ** ** *ALERT "Total Roast Time* ** ** ** = " : Totalt : " min";
    
    * ** ** ** *IF M1S("Second crack") = 0
    * ** ** ** ** {
    * ** ** ** ** *LOG "No Second Crack recorded";
    * ** ** ** ** *LOG " ";
    * ** ** ** ** }
    
    * ** ** ** *ALERT "Add comments now (you have " : (waittime + 10) : "secs)";
    * ** ** ** *BEEP;
    * ** ** ** }
    
     
    # Save automatically set secs after Unload and add CS num + comment a period after Unload to allow time for
    #* file save comments to appear.
    
    IF SaveNow
    * *IF M1S_NOW > (Unloadt + waittime) 
    * ** *LIMIT 1 {
    * ** ** ** ** *SET filename = prefix : bean;
    * ** ** ** ** *SAVE filename;
    * ** ** ** ** }
    
    IF SaveNow
    * *IF M1S_NOW > (Unloadt + (waittime + 15)) 
    * ** *LIMIT 1 {
    * ** ** ** ** *LOG " ";* ** ** ** ** *
    * ** ** ** ** *LOG "CS:" : CSNum : " - " : Comment;
    * ** ** ** ** *LOG " ";
    * ** ** ** ** *ALERT "Saved " : filename;
    * ** ** ** ** *ALERT "You can now STOP & Close or RESET the Roast Monitor";* ** ** ** ** 
    * ** ** ** ** *SET SaveNow = "false";
    * ** ** ** ** *BEEP;
    * ** ** ** ** }* ** ** ** *

    GrahamK


  36. #36
    Member
    Join Date
    Sep 2009
    Posts
    79

    Re: USB Temperature Data Logger - RML (Roast Monitor Language)

    Is it possible to change the roast heat from a percentage to temperature? For example, i have a Gene cafe and at the moment i set it to 35% for 235 degrees so i can see a visual of when i change the temp, but it would be good to be able to set it between 0-250 degrees.

  37. #37
    Senior Member GrahamK's Avatar
    Join Date
    Jun 2009
    Location
    Ormiston - Brisbane
    Posts
    512

    Re: USB Temperature Data Logger - RML (Roast Monitor Language)

    Once again - In case anyone has been making use of the rml file I supplied previously, attached is the latest version (v15). I changed it to detect and report whether or not the roast was conducted in "Auto" mode using the Hottop program, or whether there was some manual intervention of the Heating. Whenever I make changes I adjust the % Heat setting on the montor to reflect that. Any changes to the Monitor heat setting reports a "Manual" intervention. I find it useful anyway. I have also attached the code as a file, because some reported that a cut & paste from the inserted code to a notepad file lost all the line formatting.

    Code:
    # Default.rml file including:
    # Calculating and logging the difference between 1st & 2nd Crack (or 1st Crack & Unload), and Total Roast time since "Load".
    # Allows Bean, Roaster Program, Bean Origin & Bean Weight (defaulted to 250g if not set) to be set in the variables list
    # Auto saves files a set (Waitime) secs after Unload
    # Detects that Manual control has been assumed by the heat setting (Value 9) = >0 at Unload, otherwise defaults to auto
    #
    # V15 10/04/2012 - Graham Kennedy
    #
    
    LIMIT 1 {
    * ** ** * LOG " ";
    * ** ** * LOG "default.rml V15 10/04/2012 loaded";
    * ** ** * LOG "===============================================================================";
    * ** ** * LOG " ";BEEP;
    * ** ** }
    
    # Use date/time at start for profile name in case we save twice. Set Unloadt to be > than expected so as not to
    # save too early. Waitime can be set below as required
    LIMIT 1 {
    * ** ** * SET prefix = "profiles//" : date : "-" : time : "-";
    * ** ** * SET SaveNow = "false";
    * ** ** * SET Unloadt = 1500.00;
    * ** ** * SET Comment = " ";
    * ** ** * SET Waittime = 15;
    * ** ** * SET Control = "Auto Ht Cntrl";
    * ** ** * SET SecondC = 0;
    * ** ** }
    
    PRIORITY Bean Origin Prog Weight CSNum Comment Control;
    
    IF M1S("Load") > 0
    LIMIT 1 {
    * ** ** * IF Weight = 0 SET Weight = 250;
    * ** ** * ALERT "Bean/s: " : Bean : " - Orig: " : origin : " - Prog: AD" : Prog : " - Wt: " : Weight : "g";
    * ** ** * LOG "Bean/s: " : Bean : " - Orig: " : origin : " - Prog: AD" : Prog : " - Wt: " : Weight : "g";
    * ** ** * LOG " ";
    * ** ** * BEEP;
    * ** ** }
    
    IF M1S("Unload") > 0
    * *LIMIT 1 {
    * ** ** ** *IF M9D_MAX > 0
    * ** ** ** ** *{
    * ** ** ** ** ** SET Control = "Man Ht Cntrl";
    * ** ** ** ** *}
    * ** ** ** *LOG "Load time* ** ** ** =* " : (M1S("Load")/60) : " min : Load Temp* ** ** *= " : M1D("Load") : " C";
    * ** ** ** *SET FirstC = M1S("First crack");
    * ** ** ** *LOG "First Crack* time* *= " : (FirstC)/60 : " min : First Crack Temp* = " : M1D("First crack") : " C";
    * ** ** ** *IF M1S("Second crack") > 0
    * ** ** ** ** {
    * ** ** ** ** *SET SecondC = M1S("Second crack");
    * ** ** ** ** *LOG "Second Crack time* *= " : (SecondC)/60 : " min : Second Crack Temp = " : M1D("Second crack") : " C";
    * ** ** ** ** *SET Timebtwc = ((SecondC-FirstC)/60);
    * ** ** ** ** *ALERT "Time Between Cracks = " : Timebtwc : " min";
    * ** ** ** ** }
    * ** ** ** *SET Loadt = M1S("Load");* 
    * ** ** ** *SET Unloadt = M1S("Unload");
    * ** ** ** *SET SaveNow = "true";
    * ** ** ** *LOG "Unload time* ** ** *= " : (Unloadt)/60 : " min : Unload Temp* ** * = " : M1D("Unload") : " C";
    * ** ** ** *LOG " ";
    * ** ** ** *SET Totalt = ((Unloadt-Loadt)/60);
    * ** ** ** *LOG "Total Roast Time* * = " : Totalt : " min";
    
    * ** ** ** *IF SecondC > 0
    * ** ** ** ** *LOG "Time Between Cracks = " : Timebtwc : " min";
    * ** ** ** *ELSE
    * ** ** ** ** *{
    * ** ** ** ** * SET Timebtwc = ((Unloadt-FirstC)/60);
    * ** ** ** ** * LOG "Time Between First Crack and Unload = " : Timebtwc : " min";
    * ** ** ** ** * ALERT "Time Between First Crack and Unload = " : Timebtwc : " min";
    * ** ** ** ** *} 
    
    * ** ** ** *LOG " ";
    * ** ** ** *ALERT "Total Roast Time* ** ** ** = " : Totalt : " min";
    
    * ** ** ** *IF SecondC = 0
    * ** ** ** ** {
    * ** ** ** ** *LOG "No Second Crack recorded";
    * ** ** ** ** *LOG " ";
    * ** ** ** ** }
    * ** ** ** }
    
    # Save automatically x secs (Waittime) after Unload and add CS num as a comment
    
    IF SaveNow
    * *IF M1S_NOW > (Unloadt + waittime)
    * ** *LIMIT 1 {
    * ** ** ** ** *SET filename = prefix : bean;
    * ** ** ** ** *SAVE filename;
    * ** ** ** ** *ALERT "Files Saved";
    * ** ** ** ** }
    IF SaveNow
    * *IF M1S_NOW > (Unloadt + (waittime + 10))
    * ** *LIMIT 1 {
    * ** ** ** ** *SET SaveNow = "false";
    * ** ** ** ** *LOG " ";
    * ** ** ** ** *LOG "CS:" : CSNum : " - " : Control : " - " : Comment;
    * ** ** ** ** *LOG " ";
    * ** ** ** ** *ALERT "You can now STOP & Close or RESET the Roast Monitor";
    * ** ** ** ** *BEEP;
    * ** ** ** ** }


  38. #38
    Member
    Join Date
    Sep 2009
    Posts
    79

    Re: USB Temperature Data Logger - RML (Roast Monitor Language)

    Awesome GrahamK, thanks. Is the information you get from this RML (Bean type, time between cracks, etc) supposed to get exported to the .csv? I used your version 10 a few mins ago for a roast and all that info seems to be lost? I can see time between cracks on the .jpg but only because it was on screen during the capture

  39. #39
    Senior Member GrahamK's Avatar
    Join Date
    Jun 2009
    Location
    Ormiston - Brisbane
    Posts
    512

    Re: USB Temperature Data Logger - RML (Roast Monitor Language)

    No it all gets reported to the log file that is created by the monitor called "RoastMonitorLog" which it puts in the same folder as the software. Each time I have a roast session (usually 4-5 roasts) I delete or move any previous versions and it then create a new file with all the information reported by the RML program. In fact what I do is change the name of the file with a date prefix, then print it for my records. Each time it then creates a new version of "RoastMonitorLog", otherwise it appends to the end. So I allow it to append during my roasting session, then when Im finished for the day, change its name and print it etc.

    The log file looks something like this:

    Code:
    08:46:17 --- CoffeeSnobs.com.au* *Roast Monitor* *2.39 --- 2012-06-29 ---
    08:51:59 Starting RML program: default
    08:51:59* 
    08:51:59 default.rml V15 10/04/2012 loaded
    08:51:59 ===============================================================================
    08:51:59* 
    08:52:13 Bean/s: Counihan Blend - Orig: 3C - Prog: AD2 - Wt: 250g
    08:52:13* 
    09:10:50 Load time* ** ** ** =* 0.227 min : Load Temp* ** ** *= 133.3 C
    09:10:50 First Crack* time* *= 13.632 min : First Crack Temp* = 194.9 C
    09:10:50 Second Crack time* *= 18.663 min : Second Crack Temp = 215.2 C
    09:10:50 Unload time* ** ** *= 18.844 min : Unload Temp* ** * = 216.8 C
    09:10:50* 
    09:10:50 Total Roast Time* * = 18.617 min
    09:10:50 Time Between Cracks = 5.031 min
    09:10:50* 
    09:11:07 Saved image as 20120629-0851-Counihan Blend
    09:11:15* 
    09:11:15 CS:9 - Man Ht Cntrl - NO,ND - Looks Good 
    09:11:15* 
    09:48:01 --- CoffeeSnobs.com.au* *Roast Monitor* *2.39 --- 2012-06-29 ---
    09:53:21 Starting RML program: default
    09:53:21* 
    09:53:21 default.rml V15 10/04/2012 loaded
    09:53:21 ===============================================================================
    09:53:21* 
    09:53:39 Bean/s: Bolivia GM Est - Orig: S. America - Prog: AD1 - Wt: 250g
    09:53:39* 
    10:10:40 Load time* ** ** ** =* 0.298 min : Load Temp* ** ** *= 129.4 C
    10:10:40 First Crack* time* *= 12.786 min : First Crack Temp* = 196.1 C
    10:10:40 Second Crack time* *= 17.102 min : Second Crack Temp = 214.8 C
    10:10:40 Unload time* ** ** *= 17.301 min : Unload Temp* ** * = 216.6 C
    10:10:40* 
    10:10:40 Total Roast Time* * = 17.003 min
    10:10:40 Time Between Cracks = 4.316 min
    10:10:40* 
    10:10:56 Saved image as 20120629-0953-Bolivia GM Est
    10:11:05* 
    10:11:05 CS:9 - Man Ht Cntrl - NO,ND - Good 
    10:11:05* 
    13:08:59 --- CoffeeSnobs.com.au* *Roast Monitor* *2.39 --- 2012-06-29 ---
    13:14:03 Starting RML program: default
    13:14:03* 
    13:14:03 default.rml V15 10/04/2012 loaded
    13:14:03 ===============================================================================
    13:14:03* 
    13:14:19 Bean/s: Counihan Blend - Orig: 3C - Prog: AD2 - Wt: 250g
    13:14:19* 
    13:32:31 Load time* ** ** ** =* 0.257 min : Load Temp* ** ** *= 131.8 C
    13:32:31 First Crack* time* *= 13.734 min : First Crack Temp* = 194.9 C
    13:32:31 Second Crack time* *= 18.127 min : Second Crack Temp = 215 C
    13:32:31 Unload time* ** ** *= 18.462 min : Unload Temp* ** * = 217.5 C
    13:32:31* 
    13:32:31 Total Roast Time* * = 18.205 min
    13:32:31 Time Between Cracks = 4.393 min
    13:32:31* 
    13:32:48 Saved image as 20120629-1314-Counihan Blend
    13:32:56* 
    13:32:56 CS:9 - Man Ht Cntrl -* SO,ND - Good
    13:32:56* 
    14:18:48 --- CoffeeSnobs.com.au* *Roast Monitor* *2.39 --- 2012-06-29 ---
    14:23:39 Starting RML program: default
    14:23:39* 
    14:23:39 default.rml V15 10/04/2012 loaded
    14:23:39 ===============================================================================
    14:23:39* 
    14:23:56 Bean/s: KJM Blend - Orig: 4C - Prog: AD2 - Wt: 250g
    14:23:56* 
    14:42:17 Load time* ** ** ** =* 0.268 min : Load Temp* ** ** *= 129 C
    14:42:17 First Crack* time* *= 14.129 min : First Crack Temp* = 196.3 C
    14:42:17 Second Crack time* *= 18.392 min : Second Crack Temp = 215.8 C
    14:42:17 Unload time* ** ** *= 18.617 min : Unload Temp* ** * = 217.4 C
    14:42:17* 
    14:42:17 Total Roast Time* * = 18.349 min
    14:42:17 Time Between Cracks = 4.264 min
    14:42:17* 
    14:42:33 Saved image as 0120629-1423-KJM Blend
    14:42:42* 
    14:42:42 CS:9 - Man Ht Cntrl -* NO,ND - Good
    14:42:42*
    GrahamK

  40. #40
    Member
    Join Date
    Sep 2009
    Posts
    79

    Re: USB Temperature Data Logger - RML (Roast Monitor Language)

    Ahhh there it is. Much appreciated :)

  41. #41
    Senior Member Barry O'Speedwagon's Avatar
    Join Date
    Dec 2011
    Location
    PRL
    Posts
    2,118
    Hi All,
    Been spending some time trying to get this RML thing to run. Have tried copying and pasting the contents of the window within post #37 above into both Notepad and Wordpad, and saving the file with .rml extension. Have also tried specifying different encoding formats (ANSI, utf etc) when saving in Notepad. Have tried saving as both as default.rml and using XYZ.rml
    When I try to open the rml script (manually within the Roast Monitor or by default), nothing happens. E.g. attempting to do this manually, I can select the .rml file but when I hit 'accept' nothing happens. Over in the cmd shell thing, an error message appears: "Lexical Error at line 1 column 1: Encountered "\u00ff etc

    I'm thinking that copying and pasting into notepad is putting some invisible/incorrect characters into the file (I note a comment suggesting a problem above). Unfortunately, I don't seem to be able to see any attachments with the .rml file in the thread above (probably as a consequence of the new forum software?).

    Oh yeh, I made double sure that I was running the latest version .NET and Java.

    Any ideas? Is anyone able to post an attachment with the latest version of the default rml file (or point out where it is if I'm missing it)?
    Cheers in advance
    Barry O'Speedwagon

  42. #42
    Senior Member GrahamK's Avatar
    Join Date
    Jun 2009
    Location
    Ormiston - Brisbane
    Posts
    512

    RML file

    Hi Barry,

    I think the attachement got lost during the forum upgrade. I have re-attached to this post so see if it works.

    However Note: The forum would not allow a ".rml" filename so have attachefd as a .txt file. You will need to save it as a .rml file and if you want it to run automatically change its name to "default" from "default v15".

    Graham
    Attached Files Attached Files

  43. #43
    Senior Member Barry O'Speedwagon's Avatar
    Join Date
    Dec 2011
    Location
    PRL
    Posts
    2,118
    Hi Graham,

    Thanks very much. That fixed it. I thought I was going balmy earlier.

    Cheers
    BOSW

  44. #44
    CoffeeSnobs Owner Andy's Avatar
    Join Date
    Mar 2004
    Location
    Internet
    Posts
    15,308
    Blog Entries
    1
    Quote Originally Posted by GrahamK View Post
    The forum would not allow a ".rml" filename...
    ...another forum upgrade quirk.
    I just fixed the problem, here is Graham's RML to make sure.
    Attached Files Attached Files

  45. #45
    Senior Member artman's Avatar
    Join Date
    Jun 2006
    Posts
    1,930
    Sometime ago in another thread (that I cant locate) Andy mentioned the temp reading on the logger external probe was dependent on the temp the meter's internal sensor was measuring. I did a quick experiment and found they are independent (its the mad inquisitive scientist in me!!).

    I measured the temp inside a wine fridge using the probe with meter outside the fridge, then moved the meter inside the fridge and the reading on the meter didn't change (glass door on fridge). So it looks like when using the probe the temp displayed is the probe temp, with no temp the temp displayed is the ambient temp sensed by the probe inside the meter.

    Cheers

  46. #46
    Senior Member GrahamK's Avatar
    Join Date
    Jun 2009
    Location
    Ormiston - Brisbane
    Posts
    512
    Quote Originally Posted by artman View Post
    Sometime ago in another thread (that I cant locate)
    It was probably in the thread on the datalogger & Software, which gets "cleaned out" periododically by Andy to ensure the latest info stays current & on top. This thread is specific to RML programming

    GrahamK
    Last edited by GrahamK; 12th July 2012 at 11:11 AM.

  47. #47
    Senior Member artman's Avatar
    Join Date
    Jun 2006
    Posts
    1,930
    It was a thread about a CSer starting to use the logger and meausring the temps of his roast. Feel free to move/delete the above if its in the wrong spot, was just letting people know what I discovered.

    Edit: Found it:
    http://coffeesnobs.com.au/showthread...l=1#post287204

    Cheers

  48. #48
    Senior Member GrahamK's Avatar
    Join Date
    Jun 2009
    Location
    Ormiston - Brisbane
    Posts
    512
    Quote Originally Posted by artman View Post
    Edit: Found it:
    Thanks Artman, has not seen that one before.

    Regards

  49. #49
    KJM
    KJM is offline
    Senior Member
    Join Date
    May 2007
    Posts
    686
    The link to the RML spec seems to have been broken by the migration to the new forum software....

    Can we have a new link please? (I have a team of students who are needing to look at it!)

    /Kevin

  50. #50
    Senior Member flynnaus's Avatar
    Join Date
    May 2008
    Location
    Sydney
    Posts
    3,661
    Behmor Coffee Roaster
    Fixed. See Reply #44

Page 1 of 2 1 2 LastLast

Similar Threads

  1. Roast monitor software - different data logger
    By Rigman40 in forum Home Roasting - Tips, Tricks, Ideas
    Replies: 2
    Last Post: 8th November 2012, 02:16 PM
  2. USB Data Temperature Logger !
    By Anja_Schuhmann in forum Home Roasting - Tips, Tricks, Ideas
    Replies: 1
    Last Post: 24th February 2010, 09:05 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •