Jump to content

Saragani

Administrators
  • Content count

    806
  • Joined

  • Last visited

  • Days Won

    74

Saragani last won the day on May 17

Saragani had the most liked content!

Community Reputation

97 Excellent

6 Followers

About Saragani

Profile Information

  • Gender
    Not Telling

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Saragani

    Exporting and Importing Modules issue...

    Hi, This is not a bug. Each tag and UDT have a unique ID (in this case, a GUID). Upon import, we look for tags with the same ID and see if both match in definition (and if so, we don't create a new tag, but use the existing one). I think (I don't remember, and I must look the code for confirming) that if a matching tag with the same ID is not found, then we look for a tag with the same name and then check if it matches. The same logic is being used when you copy paste something (like HMI element or a rung etc). Lets say you've copied a Binary Image element, deleted the original element, and then changed the linked bit to an Int16. You would want to preserve the working state of the copied element on paste, but on the other hand, not create a new Bit tag on every paste. The copied element can be either pasted on the same program, or on a different one. This is why we do it on both copy and paste.
  2. The idea was to protect the user from accessing an invalid cell index. You can use Load From Array and Store In Array elements in order to get or set values in array dynamically.
  3. You can define how many digits will show in a numeric box. You should have a property called "Decimal Precision which defines how many numbers will appear after the dot. The default is 3, so the number will look like: -9999999999.999 The bold part is what you control (just like with Int, but with Int, the entire number is divided by 10, 100, 1000 etc, so 65535 becomes 655.35 or 65.535). In Int16 the max number of digits is 5, and in Int32 it's 10 if I recall correctly. However, with Real numbers, you can get up to numbers like 10^38, and you can also get to numbers like 10^-38 (0.00000000000......00001) The next version of UniLogic will support Exponential Notation on Web and HMI, so numbers like 12345678901 will become 1.234E10 (when the decimal precision is 3. You can get more digits after the dot if you change the precision). If that exponential notation good enough for you? Besides that, you can reduce the number of your Numeric box. You will see the exclamation mark, but it has no hard. It just notifies you that your numeric box might not be large enough. BR, Saragani
  4. Saragani

    Cannot delete data sampler

    Can you send the project to the support and I'll look into it? Thanks.
  5. Saragani

    "HMI Overload" in version 22.13

    OK. We have an open bug on this issue, however the QA was not able to reproduce it. Do you have a project that you can share, or a history file that I can open? Do you know if old history files, created before version 1.23 (with old firmware) show the date correctly? (Meaning old history files shows the date and new history files don't), because if that;s the case, then I have a clue why it happens, and then I can instruct the QA how to reproduce it.
  6. Saragani

    "HMI Overload" in version 22.13

    Is the invalid date in hmi or web server?
  7. I'm not sure WinZip can extract rar files, but WinRar and 7Zip can.
  8. You are talking about doing a SIN-1 in VisiLogic, right? Doesn't VisiLogic have ASin under the Ladder Float -> Trig functions?
  9. OK. But the index suggestion makes it that only one layer is visible (and this most likely not the case when people use layers). Some people use the layer in order to make a Message Box (or a popup window). It pops over the screen content, while the content below stays visible. Defining a set to Booleans (in this case 8), also requires a lot of Boolean tags to be defined, and it is hard to handle. Here is my suggestion (I'm still not saying that it will be implemented, it is just a suggestion). Each screen will have an optional tag, which is a "bitmap" of the visible layers. Assuming there are only 8 layers, then an 8 bit number is enough. If that tag is not set, or it's value is -1 (on a signed Int 8), or 255 (on an unsigned int 8), then all layers are visible. Value = 0 means no layer is visible (since all bits are 0). 1 -> Layer 0 is visible 2 -> Layer 1 is visible 3 -> Layer 0 and 1 are visible (Each layer visibility is depended on the value of the related bit in that tag value). This makes it easy enough to handle and understand without defining a start state and several other states that you defines the layers visibility. What do you think?
  10. I confirmed that it happens, and I understand why: When you change the IP address then it conflicts with the default gateway and vice versa. (By conflict, I mean that the first 3 octets of the IP Address and the default gateway do not match), so it reverts them back. We'll check this issue, and look for a possible solution. For now, an official bug record was opened.
  11. Please try to be specific with information / definition like: * How you define the initial state of the layers visibility for a screen when it loads (where you define it and how? Note: this is not possible with Custom Controls, since they have layers too, so if placed in a screen, then there would be layers inside layers (so controlling visibility would affect only the screen). * How would you change the visibility for one or more layers when after a screen already loaded. I can't promise that it will be added to the features list (but it is worth trying)
  12. Saragani

    Cominbing two 16 bits to get a 32 bit

    Anyway with buffers it's 3 actions: Copy tag to buffer: From low, offset 0 to buffer Copy tag to buffer: From high, offset 2 to buffer Copy buffer to tag: From buffer, offset 0, length 4, to Int32 or UInt32
  13. Saragani

    Cominbing two 16 bits to get a 32 bit

    You can also just put a 32 bit tag in your modbus operation, and the PLC will read 2 registers instead, (if you give it address 0, then it will read both 0 and 1). Then, assuming that order of the high and low on the encoder (the endianess of the numbers) is the same as in the PLC, then it would work fine (if not, them the high and low 16 bits numbers will be flipped, and then you could better have to read them separately, and do what ORSO suggested)
  14. No, The Layer is just a feature for creating layered UI (for example, you an element above another element). This feature allows you to hide a specific layer, so then you can see and edit the elements behind it. Feature like this exists in Siemens Step 7, Photoshop, and other UI designing softwares. You cannot control the layer visibility in code. If you want to do that, then you can submit a feature request and maybe it will be implemented in the future. For now, you can place the elements you want, inside a Custom Control, and use that custom control inside your screen. Then you can hide the entire custom control by linking it to a visibility bit.
  15. Saragani

    Change the color in Meter between value max

    Hi, Yes, it is possible to change the color of the fill according to its value, but only if the fill is solid. Look for a property called "Fill Solid" and check it. After you check it, then you should see that a new property called "Ranges" was added to the property grid. Click on the ... button, and define ranges of values with a fill color. Note: If the value is not within any range, it falls back to the pre-defined Fill Color.
×