Jump to content

curtharrington1

Members
  • Posts

    45
  • Joined

  • Last visited

Posts posted by curtharrington1

  1. I am controlling a VFD via modbus where there is a forward bit and a reverse bit in a command word.  I need to implement logic to set/reset the bits based on the direction the VFD needs to move and I want this logic to be wrapped up in a single user defined function block using an enum as the input to protect against invalid arguments being passed.  I'm not sure if there is a way to do this but I've tried using the clunky LIST feature which did not work.  I know some of the UniLogic supplied blocks do this.  Does anyone have any thoughts on how to do this?  
     

     

  2. Try this:

    1. load a blank project with the new firmware onto the PLC
    2. make a blank project with firmware 1.32 and generate the application and firmware files to a DOC (USB stick)
    3. insert USB stick into PLC
    4. Go to UniApps
    5. Go to Upgrades
    6. check the "Forced" checkbox and tap "Upgrade Firmware"
    7. update application when firmware update is complete
    8. Now create blank application and new firmware files on a DOC
    9. Update the PLC's firmware then user application
    10. You should now be able to load the desired application with new firmware onto the PLC 
  3. On 9/9/2023 at 1:11 PM, Flex727 said:

    To my understanding (which admittedly may be totally wrong), the HMI updating is independent from the PLC CPU. One would think that would be an advantage, but I have found that the UniStream HMI processing to be very poor compared to, for example, the Vision PLC which runs everything off a single, slower CPU. I would love for one of the creators to explain this.

    The PLC CPU and HMI CPU are separate units.  There is a latency between ladder and HMI which can cause a noticeable when executing load screen actions from the ladder.  It's best to do all screen navigation from the HMI widget's Action dialog:
    image.png.ce4a677dc16e0a640c0e95d4b6720330.png 

    • Upvote 1
  4. Example:

    I want to start a trace on a tag used for the analog output to a VFD and the analog input for the motor feedback but I only want trace to be active when the tag for the motor enable (digital output) is true.  

     

    B&R's automation studio has trace trigger configuration settings for trigger on, trigger off, on delay and off delay which are very helpful for solo troubleshooting of complex systems.

  5. 13 minutes ago, Joe Tauser said:

    I didn't know about this one, so I went digging.  There are so many hidden nuggets in UniLogic!

    There is some information about Lists in the Help under "For" Loops, specifically as an input argument in the "For Each" function block.  I couldn't find an example on them.

    Any input from the Creators on how this works?

     

    Joe T.

    You can use lists as an argument for the "for each" loop without having to manage the max iterations of a typical for loop.  Here is a quick example of the for each with a list:

    image.png.a6a36ce530b3830b0aadd0fec7e20e30.png

    image.png.0c7e3ed588710f95a93a930d0a40ec3e.png

     

     

    Current Item tag is a local tag similar to this C example:

    bool list[10]; 

    int PE_Active = 0;                                         // INT16 in UniLogic

    for (int index = 0, index <= MAX_INDEX; index++){

       if(list[index] == true){

             PE_Active += PE_Active + 1;

       }

    }

     

     

     

  6. On 3/7/2023 at 2:21 AM, Saragani said:

    You want to copy the names of the layers from one screen to another? If that's what  you want, then no.
    If  you want to copy elements within a layer to another screen, then you can copy those elements and they will keep their layer. You can hide all layers (it will hide all layers, but the active one), and then you can CTRL+A to select all elements, and then Copy and Paste them to another screen. 

    You can also make a custom control to use on multiple screens.  This is nice because if you need to change something on that layer in all of the screens you made, you only need to modify the custom control.  I use this for my general header bar that has the navigation and some other icons which is used on over 60 screens.

  7. On 5/9/2023 at 4:40 AM, pascal said:

    Meldaw,

    I had the same "issue"

    I control 40 heaters with a pid, so I made 1 subroutine that i called 40 times with different parameters.....

    DIDN'T work !!!!!

    For each process, you have to use a different PID ! PID is running in background of PLC -> so you can't use 1 PID with different IO's....

    You could do it like this to make it more instantiable:
    image.thumb.png.1632196d9a27d795cf0ec1ee82d24ca0.png

     

    You pass in the reference to your PID instance, the setpoint, and the process variable and then operate the PID block.  The function block treats a struct input as a pointer reference so you should see your multiple PIDs working with very little code writing

  8. On 5/11/2023 at 2:33 AM, MELDAW said:

    For now i needed only two PID but i will need 5 more so i think that's gonna be hard somehow.

    Did you create unique PID structs in Global?

    image.png.96607cae15462e325e6f3e0f1d80994e.png

    In this image, I created 2 separate PID config structs with one common Autotune Parameters struct which (if you wanted to) you could use to for both PID:
    image.thumb.png.63633b8ec6bb48ab42e15668b0416686.png 

  9. On 12/16/2022 at 6:55 PM, Ausman said:

    curtharrington1,

    I don't know what happens in Unilogic as I don't use it, but you have to be very careful doing this in Visilogic as such an action completely stomps  on any matching operands that are used in the destination file.  It would be useful to know if this caution is correct for Unilogic.

    cheers, Aus

    Unlilogc is tag based unlike Visilogic which is address based.  Unilogic may rename imported tags with a "_1" postfix if the tag name already exists in the program.

  10. My wish list:

    1. It would be great to improve the help files.  For example the string functions are not well documented in the help files.  I don't use them often enough to remember exactly how they work so it would be nice to access the documentation of those functions in the help files.
    2. link every function to the help file location, this can save development time and training time.
    3. It would also be great to be able to trend/trace boolean tags without having to convert a boolean to an integer.
    4. Add logic functions (AND, OR, XOR) that use boolean tags instead integer tags.
    5. The Bottom Window system is infuriating: If the bottom window is on Auto-Hide, I have to mouse over the tab to show the window I want to see like Watch or IO.  The window will change if I mouse over a different tab while mousing up to the window I intended to interact with.  It would be better if I had to right-click to select the tab rather than mouse over.  Again, if the bottom window is on Auto-Hide and I want to dock it while the desired tab is displayed, docking the window changes the displayed tab to something else with no rhyme or reason.  The window should continue to display the Watch Window when I click to dock the bottom window instead changing to the IO tab.
    6. Display the IP address of the plc I am connected to while online with the plc.  I work with systems that use multiple UniStream PLCs connected to a switch, it would be helpful to see which one I am connected to.  For further reference, I remote into customer sites and I may not have a set of eyes in the PLC screens to use the locator tool.  I have attached two conceptual pictures for USB and ethernet connections in online mode

     

    image.thumb.png.c5e2048988bd724fb73c00160ae9adf2.pngimage.thumb.png.78ad7e78d924d5289950bc4868b4ba49.png

  11. On 2/11/2022 at 3:37 AM, Ahti said:

    So I asked it from Unitronics support!

    I googled it many times and no place found where you can get this information.

     

    And they describe how to make this file. 
    I add the example with file with 4 values what I used. 
    Tab should be between labels and nr.
    All symbols are not allowed. 

    Now I got what I needed.

    curve data.txt 61 B · 7 downloads

    Here is the format if anyone is interested:

    [Trend Tag]  [min range]   [max range]

  12.  

     

    On 6/28/2021 at 4:21 AM, Flarc said:

    Hi everyone,

    you can copy and paste with Unilogic (it's work with Visilogic too).
    - Open the code you need to copy
    - Copy
    - Open the new code from Unilogics (not from explorer)
    - Paste

    But, you can't compare two code with two unilogics session open. Shame.

    To build off of Flarc:

    • Open the source code you want to reference
    • rename the subroutine/function
    • right click on the renamed subroutine/function and click "Add to Library"
    • close the project without saving
    • Open the desired project
    • go to Library/Ladder/Functions
    • find the renamed function and right click
    • click on the module you want to drop the function into

    Now you can compare the code from the old project and the new project.  Delete the renamed function when you're done and clean up and tags added when you imported it and you should be good to go

  13. Did you install UniLogic V1.33?  If so, that install upgraded your SQL server from 2012 to 2019 which will make any project that laptop touches (V1.32 and older) unable to open on a computer running without SQL Server 2019.  Check the SQL Server version installed on the laptop, if it is newer than 2012 then download https://www.unitronicsplc.com/Download/WebUpdates/UniStream/UniLogic_SQL_Updater.zip and run the tool to update SQL Server on your other computers

  14. On 12/9/2022 at 3:34 PM, Gabriel Franco said:

    Set up a network bridge on the PC side between WiFi and LAN adapters. I´ve done it to share internet connection to devices without WiFi using a laptop, however I´ve never tried connecting a PLC to it.  It should work, I guess.

    I am heading on site tomorrow to set up the bridge.  

    1 hour ago, Ausman said:

    Both Flex and Gabriel have good suggestions.

    I'm sure there's a good reason for it, but why the industrial PC in the first place? 

    I've never done it in this situation, but I have used a wifi adapter like a Vonets VAP11G to get something with just a network port onto the local wifi.  Totally transparent and easy to do.

    cheers, Aus

    Industrial PC is used for remote monitoring of PLC's and pushing updates

  15. On 12/7/2022 at 7:50 PM, Ausman said:

    I think a little drawing of all the connections/layout might help.  The bit where I'm getting a little lost is "PC for Wifi".  Is this for WAN access or just connecting to the plc? 

    We use the industrial PC to remote into the site to look at the machines PLCs in runtime.  The 5" UniStreams are on the production machines and the 7" UniStream is to gather data via modbus from the machines and then send an email in the event of an alarm.  

    RemoteDA Topology.png

×
×
  • Create New...