Jump to content

New UniLogic Software 1.34.192


Daniel_EWW

Recommended Posts

Just to clarify. Don't run this command unless you know that the sector size is the problem.

The issue is explained here:

https://learn.microsoft.com/en-us/troubleshoot/sql/database-engine/database-file-operations/troubleshoot-os-4kb-disk-sector-size

 

Assuming that your windows, and program files are on C drive, then:

1. Open the command prompt as Administrator

2. Type:   

 fsutil fsinfo sectorinfo c:

You should look at PhysicalBytesPerSectorForAtomicity and PhysicalBytesPerSectorForPerformance

The values should be either 512 or 4096. Any other value, especially values larger than 4096 will cause a problem with SQL Server, and then we need to force windows to use a sector size of 4096 bytes. The command of doing so is few posts above, and it is also explained in the link in this post (by Microsoft).

 

  • Like 1
Link to comment
Share on other sites

  • 4 weeks later...

Seasons greetings for all,

Brothers &  Sisters around this revolving globe.

I would like to ask something related to PID algorithms for kilns, ceramic dryers and so on.

I'm wondering here is the Unitronics Engineering Team will develop a function for Ramp & Soak thermal processes in this new year 2024.

The Unilogic Software is easy to use and also versatile.  The function will control the Rate of Change of heat being transferred to the dryer or kiln, according to the ramp time and temperature setpoint for each stage configured using Data Tables for the thermal profile.

image.png.581838d4d35d1ab655b1f2b4ed4725cd.png

I would appreciate your comments about it, a tool like this will help a lot with ceramics kilns and dryers.

Very truly yours,

Marco Mendoza

Guatemala, Central America

 

 

 

 

Edited by Marco Mendoza
grammar mistakes correction.
  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...
On 11/22/2023 at 3:08 AM, VladF said:

Installing new version onto W-11 Home one Language. Installing itself is OK. After start - error (hiding behind the main banner). After "OK" - "Loading Components..." for a few seconds and ... That's all. Nothing start program.

Installing into VM W-10 is OK.

UL134_1.jpg

UL134_2.jpg

UL134_3.jpg

Hello Unitronics Community!    :  )

I would get the same "Notifier" error at runtime and it would self-terminating this app.

This was under a clean WIN 10 install and a clean Unilogic 1.34 build192.

During the 1.34 192 install, I ran the SQL updater ...... it reported it found NO SQL LocalDB to update!

After doing ALL the suggested fixes made in this thread (ie: registry changes to *4095, etc) ...... nothing worked!

Only after I installed SQL Server Express LocalDB and .NET Framework 4.7.2 ..... did everything start working perfectly!

(NOTE: Im a code "hack"  ..... not a computer geek! )

 

Link to comment
Share on other sites

On 12/22/2023 at 10:38 AM, Marco Mendoza said:

Seasons greetings for all,

Brothers &  Sisters around this revolving globe.

I would like to ask something related to PID algorithms for kilns, ceramic dryers and so on.

I'm wondering here is the Unitronics Engineering Team will develop a function for Ramp & Soak thermal processes in this new year 2024.

The Unilogic Software is easy to use and also versatile.  The function will control the Rate of Change of heat being transferred to the dryer or kiln, according to the ramp time and temperature setpoint for each stage configured using Data Tables for the thermal profile.

image.png.581838d4d35d1ab655b1f2b4ed4725cd.png

I would appreciate your comments about it, a tool like this will help a lot with ceramics kilns and dryers.

Very truly yours,

Marco Mendoza

Guatemala, Central America

 

 

 

 

 

Hello Marco!      :  )

Your  desired "Ramp & Soak"  FB   or code paradigm has sparked my intrest as well!

(we may want to start our thoughts on this in a new thread)

In prima facie:

I'm assuming a variable controlled electric heating element to  "ramp up" , "plateau" , "ramp up spike" then "ramp down" to cool off.

In the "ramp down cool" slope, do you require "active cooling" or simply the lack of the induced electric heat over time?

My thoughts would NOT to use "Data Tables" to define the slope temperature/time data profiles. A simple "start and end" variable assignment is all that is needed for each ramp slope. (look at your graph above, and look at the entire ramp profile as a "polygon" including the bottom base line).

ie:

Var1 =      60 degrees            Var2 =    135 degrees         (initial starting ramp)

Var2 =     135 degrees            Var3 =    135 degrees       (steady plateau)

Var3 =     135 degrees             Var4 = 295 degrees         (up spike ramp)

Var4 =  295 degrees             Var5 =    60 degrees            (cool down ramp)

Basically,

My thoughts to your "Ramp & Soak" PLC solution is to simply use the "Point-in-Polygon" C-code (attached below) and use its output varibales to control the varable heating source.

I currently use it in my "invisable dog fence" pet contaiment code to determin if the dog is "in" or "out" of the allowed yard area.

I'm sure we can easily modify this "Point-in-Polygon" C-code to inform us if temperature is above or below the ramp slope at any given point in time ......... and then package it in an FB.

 

 

...... your thoughts?

 

POINT-IN-POLYGON   C-code 

package point_in_polygon.c;

/**
 * Used to perform the Raycasting Algorithm to find out whether a point (in this case, time and temperature) is in (in this case, above or below a certain temperature at the time sampling period) given polygon.
 */
public class PointInPolygon {
    /**
     * Performs the even-odd-rule Algorithm to find out whether a point is in a given polygon.
     * This runs in O(n) where n is the number of edges of the polygon.
     *
     * @param polygon an array representation of the polygon where polygon[i][0] is the x Value of the i-th point and polygon[i][1] is the y Value.
     * @param point   an array representation of the point where point[0] is its x Value and point[1] is its y Value
     * @return whether the point is in the polygon (not on the edge, just turn < into <= and > into >= for that)
     */
    public static boolean pointInPolygon(int[][] polygon, int[] point) {
        //A point is in a polygon if a line from the point to infinity crosses the polygon an odd number of times
        boolean odd = false;
        // int totalCrosses = 0; // this is just used for debugging
        //For each edge (In this case for each point of the polygon and the previous one)
        for (int i = 0, j = polygon.length - 1; i < polygon.length; i++) { // Starting with the edge from the last to the first node
            //If a line from the point into infinity crosses this edge
            if (((polygon[i][1] > point[1]) != (polygon[j][1] > point[1])) // One point needs to be above, one below our y coordinate
                    // ...and the edge doesn't cross our Y corrdinate before our x coordinate (but between our x coordinate and infinity)
                    && (point[0] < (polygon[j][0] - polygon[i][0]) * (point[1] - polygon[i][1]) / (polygon[j][1] - polygon[i][1]) + polygon[i][0])) {
                // Invert odd
                // System.out.println("Point crosses edge " + (j + 1));
                // totalCrosses++;
                odd = !odd;
            }
            //else {System.out.println("Point does not cross edge " + (j + 1));}
            j = i;
        }
        // System.out.println("Total number of crossings: " + totalCrosses);
        //If the number of crossings was odd, the point is in the polygon
        return odd;
    }
}






 
Link to comment
Share on other sites

6 hours ago, RickL said:

 

Hello Marco!      :  )

Your  desired "Ramp & Soak"  FB   or code paradigm has sparked my intrest as well!

(we may want to start our thoughts on this in a new thread)

In prima facie:

I'm assuming a variable controlled electric heating element to  "ramp up" , "plateau" , "ramp up spike" then "ramp down" to cool off.

In the "ramp down cool" slope, do you require "active cooling" or simply the lack of the induced electric heat over time?

My thoughts would NOT to use "Data Tables" to define the slope temperature/time data profiles. A simple "start and end" variable assignment is all that is needed for each ramp slope. (look at your graph above, and look at the entire ramp profile as a "polygon" including the bottom base line).

ie:

Var1 =      60 degrees            Var2 =    135 degrees         (initial starting ramp)

Var2 =     135 degrees            Var3 =    135 degrees       (steady plateau)

Var3 =     135 degrees             Var4 = 295 degrees         (up spike ramp)

Var4 =  295 degrees             Var5 =    60 degrees            (cool down ramp)

Basically,

My thoughts to your "Ramp & Soak" PLC solution is to simply use the "Point-in-Polygon" C-code (attached below) and use its output varibales to control the varable heating source.

I currently use it in my "invisable dog fence" pet contaiment code to determin if the dog is "in" or "out" of the allowed yard area.

I'm sure we can easily modify this "Point-in-Polygon" C-code to inform us if temperature is above or below the ramp slope at any given point in time ......... and then package it in an FB.

 

 

...... your thoughts?

 

POINT-IN-POLYGON   C-code 

package point_in_polygon.c;

/**
 * Used to perform the Raycasting Algorithm to find out whether a point (in this case, time and temperature) is in (in this case, above or below a certain temperature at the time sampling period) given polygon.
 */
public class PointInPolygon {
    /**
     * Performs the even-odd-rule Algorithm to find out whether a point is in a given polygon.
     * This runs in O(n) where n is the number of edges of the polygon.
     *
     * @param polygon an array representation of the polygon where polygon[i][0] is the x Value of the i-th point and polygon[i][1] is the y Value.
     * @param point   an array representation of the point where point[0] is its x Value and point[1] is its y Value
     * @return whether the point is in the polygon (not on the edge, just turn < into <= and > into >= for that)
     */
    public static boolean pointInPolygon(int[][] polygon, int[] point) {
        //A point is in a polygon if a line from the point to infinity crosses the polygon an odd number of times
        boolean odd = false;
        // int totalCrosses = 0; // this is just used for debugging
        //For each edge (In this case for each point of the polygon and the previous one)
        for (int i = 0, j = polygon.length - 1; i < polygon.length; i++) { // Starting with the edge from the last to the first node
            //If a line from the point into infinity crosses this edge
            if (((polygon[i][1] > point[1]) != (polygon[j][1] > point[1])) // One point needs to be above, one below our y coordinate
                    // ...and the edge doesn't cross our Y corrdinate before our x coordinate (but between our x coordinate and infinity)
                    && (point[0] < (polygon[j][0] - polygon[i][0]) * (point[1] - polygon[i][1]) / (polygon[j][1] - polygon[i][1]) + polygon[i][0])) {
                // Invert odd
                // System.out.println("Point crosses edge " + (j + 1));
                // totalCrosses++;
                odd = !odd;
            }
            //else {System.out.println("Point does not cross edge " + (j + 1));}
            j = i;
        }
        // System.out.println("Total number of crossings: " + totalCrosses);
        //If the number of crossings was odd, the point is in the polygon
        return odd;
    }
}

 

 

Ramp&Soak.png

Link to comment
Share on other sites

Dear, 

When you'll post the new version, there is a bug in the 1.34.192 with cut and copy on webserver at compiling really annoying.

And really hard to found the issue inside many webpage!

Please when i can work again on my Unilogic project?

Regards,

Aymeric

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...
On 1/19/2024 at 1:55 PM, rockber said:

what about help files updated with the news functions, i can not find some info about new or "olds" (non native) functions like "Insert to String"...

@Cara Bereck Levy, is it possible to react on that message, please? (I can help you by describing the exact behavior of those functions) 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...