Jump to content

NoamM

Moderators
  • Posts

    185
  • Joined

  • Last visited

  • Days Won

    10

Everything posted by NoamM

  1. Hi smartdesignmike, Yes, you can connect another UniStream as a VNC client as a remote display, and this unit won't need a CPU. From the Help section:
  2. Hi, Onionprint If you still encountering this issue please contact support@unitronics.com.
  3. Hi greml1n, Yes it is, but it's not scheduled in the near future.
  4. Hi Robots, You can use the "Copy/Move File" Ladder function in order to pass a file from/to your USB/SD and then use the Data Table Ladder functions.
  5. Hi TylerHPS, From checking the Help section I can see that "Convert CSV TO UDTF" status "-1" means that "The .csv name is an empty string or, contains the '/' character". What is your "Source CSV file name" (parameter B of "Convert CSV TO UDTF" Ladder function)?
  6. Our Support manager, Ofir, already passed your requests. I ca see the next feature requests: - Configure "time to expire" for UAC passwords - Complexity criteria for creating passwords through configuration - User will be blocked after several unsuccessful attempts. - User cannot use last 5 passwords - An option to ask the user to change his password on his first login to the system I can't guarantee anything, but I can insure that the features will be considered. Whats required that is not already exist today? in "UAC" -> "Properties Widow" -> "Password" in UniLogic the user can set: Password minimum length Must include numbers Must include special characters I will add this information to your requests .if you can contact the support and elaborate on the manner it will be great,
  7. Hi, the 16 users issue has been fixed, and it will be included in 1.23 version. Thanks for your input Interroga.
  8. Gabriel Franco, thanks for noticing, I also think it's unrelated (updated my previous post). It will be fixed.
  9. Hi Swervomotor, Currently its not possible to use a tag for the file name. I will add your feature request to Unitronics R&D. thanks.
  10. Hi sgull, Thanks for the feedback. I will pass your request for this feature.
  11. Hi snizami, Use "Swap bytes extended" to copy bytes in a tag from one location to another. Paramters: A - Source tag (INT16/UINT16/INT32/UINT32/REAL/BUFFER). B - Source byte index. C - Destination byte index. D - Length to swap. E - Swap type (AB_BA/ABCD_DCBA/ABCD_CDBA).
  12. In the link I already mentioned in the previous replies ( "SQL Query" function block usage) there is already a working "SQL Connector" configuration, just change the IP, Port, Username & Password. Use the information in this link "Unitronics Technical support" on the SQL section. There is a guide written by Unitronics Support that will help you troubleshot your issue, UPDATE: The issue resolve and ciprian.savoiu is able to query his DB (informed us by mail).
  13. Hi, Some info about the "SQL Connector" can be found in this answer "SQL Query" function block usage. What is the status in your query struct ("Create_SQL_Table") after using "SQL Query" Ladder function?
  14. Our QA teams were able to reproduce the issue, an official bug was opened and will be handled in the near future. Thank you hotwires, we appreciate your report.
  15. Hi, - Max number of Data Samplers is 32. - Max number of feeds in a Data Sampler is 16.
  16. Hi, There is an "Take Screenshot" action you can use in the "Actions" module. Example: You can use the "Event Trigger" assigned tag within your Ladder in order to initiate a screenshot.
  17. Happy to help. Just to elaborate on D Green comment. The issue is a wrong internal logic on the username/password mechanism. It exist until OS version 1.22.X but not likely to happen (the combinations of terms to it to exist is rare). This issue will be fixed in version 1.23.X. Workaround - Force upgrade the UniStream OS.
  18. Intro A UniLogic application writer need to keep on some ground rules in order to get the best performance from his UniStream. That’s because a GIF size in is calculated in the next manner: "Size in memory" = Width * Height * Frames * Bit depth Meaning that using a GIF without considering it dimensions can affected badly on the UniStream. ?How do I manage my GIFs Let's move on any of the equation elements and see how we can reduce them. Our start point is the "Damper.GIF" which dimensions are: - By right clicking on the GIF and choosing "Properties" -> "Details" Width – 1000 Height – 1000 Bit depth – 8 :By entering this link (ezgif.com) and choosing the GIF with "Choose file" and then "Upload". In the page that opened you can use - To resize the GIF Width & Height. The values that you want to resize to them are the size of the widget linked to the GIF in UniLogic.Enter the values and press "Resize it!". When it's done in the frame below you can press on "Save" to download it to your PC :(Frames – You can use the same website to remove some unneeded frames (less animated GIFs). In the next tab (1 Pressing on "skip" (2 or 3) can remove the frame (first or fifth). After any change you can use "Animate it!" and see your editing result :If we edit the example GIF to, let's say 100x100 with 5 frames (the application user can hardly tell) we save Old 1000 * 1000 * 7 * 8 = 56,000,000 bits New 100 * 100 * 5 * 8 = 400,000 bits .That's 55,600,000 bits or 6.95M bytes of memory ?To what values do I need to aim A user needs to aim as lower as possible because the memory divides between his other application features and it depends on the number of images/GIFs on the current screen. As a rule always aim to a GIF that is size is no higher than 50k
  19. I recently came a cross with a UniLogic application that use large structs. For example, one struct was composed of 80 members, and most of the members type was INT16, like so: In memory the struct look like this: struct MyStruct //struct size is 80 * 4 = 320 bytes { INT32 ID; //size 4 INT16 Val_1; //size 2 CHAR[2] padding1; //size 2 INT16 Val_2; //size 2 CHAR[2] padding2; //size 2 //…. INT16 Val_79; //size 2 CHAR[2] padding79; //size 2 } notice the padding that added to the struct. That's common in software in order to align the memory so work will perform more effectively. This padding cause every 2 bytes in an INT16 type an extra "weight" of 2 bytes – so every INT16 is 4 bytes. One can think that the struct size is 4 + 2 * 79 = 162 bytes, when in fact it 320 bytes, almost two times bigger (!). Now, let's try the next approach: In memory: struct MyStruct_NEW //struct size is 4 + 2 * 79 = 162 bytes { INT32 ID; //size 4 INT16[79] Val_Arr; //size 158 } And we got a struct size 162 bytes, as intended. Just imagine we use struct "MyStruct" in a 3,000 line Data Table, we will waste almost 0.5M bytes (3,000 * 158), while "MyStruct_NEW" waste nothing. For conclusion, when creating structs in UniLogic consider the padding factor in order to reduce your PLC memory consumption.
  20. When you are using "SQL Query" function block the first parameter is Query that belongs to an SQL data base. for example: In this example I've created a Query named "My Query" that belongs to data base "Database1". When I will use "SQL Query" function block with "My Query", UniStream will connect to "Database1" according to the specifics I gave it - IP = 1.2.3.4, Port = 1234, etc... In your case you preforming an "Insert" query, meaning your SQL client (the UniStream) will write data to the SQL Server, so you don't need to assign Outputs tags because no data will return from the server. You do however can see the execution state in your query "SQL Query Struct". In my example I have one "SQL Query Struct" for "My Query": Here I can check if the query executed properly and what is the query status report. Using Outputs - If for example I preformed the next query: Select top 1 PhoneNumbersColumn from MyCustomerTable I'm actually reading data to my SQL client (the UniStream) from my SQL Server, so I should assign Outputs tag for the 1 (due to "top 1") value the server returning. More about SQL in here. Using Parameters - If for example I preformed the next query: Select top 1 PhoneNumbersColumn from MyCustomerTable where CustomerID = @ID I'm requesting my SQL client (the UniStream) to take "@ID" value from my Parameters , and use it in the query. So "@ID" can be changed in each Ladder cycle and I can use the same query to request "PhoneNumbersColumn" according to a dynamic "CustomerID". The "@ID" called a placeholder and you can track your placeholders in this screen: There is more information in the UniLogic help:
  21. Hi Jack, It's not possible to change the VNC server port on UniStream.
  22. You can always use the Ladder function "ears" tool-tip in order to understand better the function. The tool-tip visible when hovering with the mouse courser over the ear. In "Fill Array Part" case: A - Array (destination), The data is written into this array B - Offset in array C - Operation (insert or overwrite D - Value to use. E - Number of times to repeat operation
  23. Hi, loading a program via a USB memory stick can be done in the next manner: #1 - From UniLogic download the application to a USB stick #2 - Connect it to your UniStream and go to UniApps -> System -> Upgrade -> User App Upgrade and press 'Import Application': Regarding your other question,online program edits (content of a data tag for example) can be done by connecting UniLogic to your UniStream (USB / Ethernet) and pressing 'online' (when your application is identical in both UniStream & UniLogic) like so:
  24. Hi Greml1n, Thank you for bringing up the idea. This is actually one of the countless features in our "To Do" list.We are aware of this need and working on a solution. Thanks UPDATE: Since version 15 you can use the 'File Browser' HMI widget to allow the user to copy without accessing any UniApps whatsoever: By the way, Since version 17 you can use the UAC (User Access Control) module for restricting ('No access','View only','Full access') "guest" users in your UniApps duo it does not fill your requirements:
×
×
  • Create New...