Jump to content

Swervomotor

Members
  • Content Count

    54
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by Swervomotor

  1. I would check the aspect ration of whatever "screen" (tablet with VNC viewer) and match that as close as possible to the screen. For instance I would go with the low cost Unistream 7" with a 16:9 aspect ratio and find a 10"ish tablet with that ratio. Scaling is done through the VNC viewer on the tablet. I use RealVNC as a VNC viewer and the scaling can be adjusted in the properties of the connection.

    On the Unitronics website I see:

    7" 16:9

    10.4" 4:3

    15.6" 16:9

    -Swervomotor

     

  2. You should be able to create a new file no problem, Do you need a new folder for each file? Or can you create a folder on the SD from a PC and store your files in that folder?

    Your method of backup you will need to change the SD file # limit from 32, but you might start getting issues with so many files on the SD card as time passes.

    We store them to the SD in a folder then use the FTP functions to send them to our local FTP server, then overwrite.   SD cards go bad.

  3. To be honest this could be easily accomplished with a micro controller (like arduino, ESP8266 or ESP32, or even a raspberryPi), power supply,  and a opto-isolated  relay board. >$100

    Unless you are trying to teach ladder logic or the unilogic environment it is quite overkill. IMO

    -Swervomotor

  4. I have not but am strongly considering a unistream 10.4 multi-touch for this purpose, or possibly a lower end model and VNC from a tablet.

    It has so many built in Coms I think they would be great.  I would need these questions answered (through research) before I decided to pull the trigger.

    Possible to interface with Mqtt? For voice control through voice assistant, cell phone app, and PLC control of existing networked smart "things".

    Power/cost study to determine if I can make the distances I would need to my entire property with centralized I/O or do I need networked distributed I/O w/local Power supply.

    To be honest I wish they made a POE arduino nano/micro/esp  for this purpose.

    I hate changing batteries so while something like a battery powered ESP32 would be great (2 cores, wifi, etc.) I need something that is POE or hardwired to central/distributed  I/O

     

    I'm sure you could do PC control for cheaper but I'm so familiar with the Unistream the cost difference is much less important then the learning curve and hardware/software troubleshooting.

    -Swervomotor

  5. I've had better luck (actually getting something done with IT) having IT setup an FTP Server on the network and giving me a client username and password.  I then setup the client on the unistream and FTP send to send the CSV on my end.  This way works better for me because then I can add a bunch of machines and don't have to have IT involved because I re-use the username and password. 

  6. I routinely find myself bouncing between 3-4 different revisions of unilogic depending on what version the program on the controller was created on.  I've only been able to do this by uninstall whatever version I have and re-install the version I need.  Is there a quicker way to somehow keep multiple versions on the same box without having to go through the uninstall- install process?

  7. What is the best/reliable/fastest way to "cast and control" the HMI screen to a tablet (on the other side of a machine)  

    Hardware would be a Unistream, would a VNC veiwer or webserver be the best option or are their other alternatives?

  8. After FTP is received I usually:

    1st "Convert CSV to UDTF"

    2nd "Load DTI From File"

    I would use a HMI element "Combo Box" to show the operator the available files.

    Each file name in the combo box would be linked to an index number which when the " Selected" bit of the combo box goes high stores the appropriate file name as a string to parameter "C" of the "load DTI from File" then loads that data from Parameter C-->A

    The downside to this method is that the available files listed in the combo box would be fixed so you could not change them easily.

    The way I handle this type situation is with another index data table to hold all the part numbers that would run on the machine, the operator scans their job/part number and on the back end we go search the part number data table using "Find DTI Column Value" and load whatever string is listed in that row data into Parameter C of "Load DTI from File" 

    -Swervomotor

  9. You can use the built in functions to send a CSV file:

    HMI button sets a bit-->

    "Store DTI to File"  Make sure to set "F" to 1 so it saves a CSV file  onto the SD card-->

    Then when the "H" status finishes (1-->0) you can use the built in "FTP Send" to send that CSV file you named in the "Store DTI to File"

    Then go find it and open in Excel (import as CSV).

     

    Now if you want to import it back into the PLC after you make changes to the file you need to reverse  this process:

    save as CSV (on computer)

    "FTP Receive"

    "Convert CSV to UDTF"

    "Load DTI from File"

     

     

    • Like 1
  10. Look a the help file under "timer TP"  and "increment" 

    You can use the falling edge of Timer.Out of one timer to start the other and increment your counter.  

    I try to avoid using direct coils if possible and use SET and RESET coils. 

  11. Good day everyone,

    I have a project with 20 Ethernet/IP scanners running on a unistream 15.6".  The machine network is separate from the plant network and goes through a layer 3 switch with VLAN port.  I also have 6 Modbus TCP devices running on the machine network.  I noticed when debugging the program I was having some bugs from what I assumed was network clogging with cyclic communication.  By lengthening the RPI on some nodes I was able to resolve most issues. I also have a lot of disconnecting issues when trying to monitor in Online mode.   I notice in the Help file under the Scanner Node Struct there is a Uint16 for the RPI. 

    1st Question: Am I able to Write a value to this "on the fly" and not have to reset the plc?  Not everything on the machine needs to run at the same time so I would love to be able to transfer higher RPI to nodes when not in use and lower RPI to those nodes in use. 

    2nd Question:  Am I able to use the "Enable Node Bit" (in the same struct) in the same fashion on the fly? if so, does the device stay connected and you would be able to turn on or off cyclic communication in one ladder scan?  Or would there be a delay (greater than the RPI) after the node was Enabled before communication would begin?

    Thanks,

    -Swervomotor

  12. I decided to use Internal Control Bit Arrays 2 x(255) on this  large project to keep the global tag list manageable. 

    I need to reset all these bits with an HMI button. Is there a way to reset an entire bit array? I get compile errors when attempting to use the reset coil.  I really really don't want to have to put reset coils in for 500+ bits

     

    Thanks in advance

  13. What are some ways to speed up screen changes in your project?

    I have a screen with 9 data tables (1 visible at a time based on the value from a combo box) and about 30 buttons (same only 3 visible based on combo box value)

    It takes about 5 seconds to load this screen. What are some ways to speed up screen changes and optimize HMI design?

     

     

  14. 7 hours ago, Isakovic said:

    Read value and add to sum, then increment a counter to read next value and so on. Shouldn't be a massive code.

    You can use "Jump to Region" to loop it so it is done in a single scan.

    This ^^

    I think this could be done in less than 10 rungs. One idea of process flow is:

     

    Function In: Last Row to read

    Local Variable: Value1

    variable SumTotal = 0;

    RowIndex = 0

    Do until RowIndex = last row to read

    Get Value from current row index (built in function block)  and move it to local variable (store)

    sum (SumTotal + Value1)

    Index RowIndex

    Loop

    SumTotal = Function Out.

     

     

     

     

     

×
×
  • Create New...