Jump to content


Popular Content

Showing content with the highest reputation since 12/22/2017 in all areas

  1. 1 point
  2. 1 point
    And that, my friends, is why Unitronics has some of the best customer service in the business (besides making great products). Thanks, Cara!
  3. 1 point
    1) When editing IO Inputs or Outputs Alias Names directly (from the table view, without going into window for editing single tag) - cold not put a space symbol between words while writing (later when the whole "Input5AbracadabraOpenSesame" is written, you can, of course go back and put spaces in between words finally getting to the "Input 5 Abracadabra Open Sesame"). Problem is not observed while editing in single tag editor window. This is new mis-behavior, which was not observed some versions earlier. 2) In Data Table view - String literals are center-aligned without any obvious reason, which detracts from readability of large tables. For Number literals it makes sense to have them centered within cells, which more likely adds readability rather than destroys it, but it's a different story for the Strings. 2.1) In the same Data Table view - it is unable to directly edit anything without explicitly going into editor window for each cell with double click... That's so tiresome and time consuming for large tables. Exception is direct Paste, which however helps little, if each cell is slightly different. 3) Alarms - ID's could not be freely changed... I see no obvious reason for not allowing to do that because there are gaps still allowed (by deleting some alarms in the middle) and no automatic reordering of ID's is then happening. Of course it does not change much, but adds to the overall order and clarity of the project. Thus why not allow to change them freely, of course, with checking for duplicates. 3.1) Alarms could not be moved around (between groups for example). Took me few weeks to reorder entire system of 100+ Alarms... 4) Ladder function could not be duplicated, like almost anything other could. 5) The XY Plot is wrong type of thing, or at least I need a different flavor (see attached pictures): a) XY_Beijer is the reference - a single clearly visible point of arbitrary size is drawn for each feed in data sampler; the lines referencing these point(s) to the X and Y axes are drawn (switchable on/off); the background where any arbitrary function could be drawn or at least a clear background where any arbitrary picture could be put into (switched during runtime, not statically linked); b) there is always a cause - see the Weather_compensation; c) and a workaround - see the Comfo_Uni which is far from ideal, but at least works, somehow... Why all of this - I was asked to implement Comfomatic (Weather compensation for central heating) functionality as addition to primary functionality. Typically it is done in special hardware like Danfoss ECL series controllers, however the underlying mathematics is rather simple, so why not.... It worked out - making a usable user interface is a major pain on the Unistream platform.... d) of course in ideal world, I'd be asking the Unitronics team to implement the entire functionality in specialized function block, both for GUI as well as for Ladder, however I understand there are so many uses for these PLCs that implementing separate function block for each of them would lead to the same clutter which was seen in VisiLogic series software and which the Unitronics guys were presumably trying to avoid in Unistream. e) and there is always a workaround of the workaround - or better, I call it suggestion 2: The the simple Canvas control could be added to the GUI section - thus allowing users to draw whatever they need to solve such challenging tasks... (or if the screen is already a canvas itself, then at least allow to draw some primitives - dots, lines & rectangles from the Ladder (yes I know there is a Line element in GUI, but it is static, you can not even put a variable as its X1,Y1 and X2, Y2 points... thus it's unusable). 6) Each MODBUS target has the Modbus Remote Slave structure attached. This structure has very useful variable 'Fail' within it. It could be ideally suitable for checking for communication problems, and throwing Alarm to the user if any. But what's next - user cannot clear the alarm, because there is now way to drop it to the zero (I mean, there is no way to write 0 to this structure). Yes, of course there is again a workaround - copy the contents to another variable and then compare to it, not the 0, But why always a workaround? Why not do the things right the firsthand. 7) I'm still begging for ability to reorder members of the struct, like it's done in SMS Message composition with the List Of Text Variable - simple control to move members up and down. It has no meaning while the project is little and simple, but when it becomes large enough, when various functionality is added to different parts all the time, when structs determine what is written to different tables back and forth, then keeping various recent additions together with their primary counterparts rather than at the end of the struct, could be soooo meaningful. At present its a tremendous and very time consuming job to reorder the structs, by renaming and replacing every single appearance everywhere, when it could so easy be made to happen automatically. Not to mention, that is so easy in plain C, just cut one and paste above each other... Many thanks for the product already that great (light years away from said Vision or Samba), but of course, any improvement would be warmly welcome. P.S. Please double-check the communication with Cinterion BGS2T modem - it tends to drop from time to time (worse with USB-COM, better with UAC-01RS2, but still not ideal) and then it's unrepairable till the next complete reboot of the PLC... (re-initialisation has no effect).
  4. 1 point
    Any news on a possible release date for the PDF format Unilogic manual?
  5. 1 point
    @Cara Bereck Levy "fusible link" is the term used in the US automotive industry for a length of wire intended to act as a fuse. Happy New Year Ms. Cara ūüéČ
  6. 1 point
    A = Starting address of the original string B = Starting address of the string fragment that will be inserted into the original string (A) C = Offset from the beginning of the original string (where the new string will be inserted). This is in bytes - remember that there are two bytes per MI operand. D = Starting address of the final composite string Look carefully at the graphic on the FB when placed in the ladder for clues as to what each operand does. @Cara Bereck Levy, I really couldn't find any proper help on this function in the help file. Did I miss it? Also, the tool tips on this function do not provide any useful information.
  7. 1 point
    This needs to be moved to the appropriate forum, but I don't know which one. What PLC are you using?
  8. 1 point
    I am particularly jumpy when working in or around high voltage electron tube power amplifiers. Even little sounds startle me. I've had other people clap or make a loud bang while I had my head in an equipment cabinet, NOT FUNNY AT ALL! Amazing how the timing can go when you shoot the juice to equipment and something else goes bang, pop, bing, bang or boom. Heart arrhythmia's can certainly result from such events. Happy New Year Aus!
  9. 1 point
    Fair Dinkum!…..(Aussie for "exasperated incredulousness".) What is it with me and the Poltergeists looking over my shoulder waiting for just the right moment to do something? When turned off, my air compressor has a control system that instantly releases the remaining air once the tank gets down to about 20psi. I keep my air connections in good condition and it takes any time over a week for pressures to drop enough for this to happen, depending on what is on the lines. In the workshop over the New Year I spent an entertaining few hours doing a complex wiring lash-up of an idea I'd been working on. Finished the final connection b/n the various components and checked it all over carefully…everything looked OK. Powered on the supply and WHOOOOSSHHHHHH!!!! 5m away the compressor release had opened at EXACTLY that moment. I absolutely pooped my pants....a lovely New Year present for myself. After they also applied the defibrillator a few times, I again pondered how these strange timings continue to happen to me. cheers, and HNY, 2018. Aus
  10. 1 point
    Hello Arthur, i think that you have to work in reverse mode; after digit the "small" string that you want find you have to push the "enter" button in the keyboard...at this button you can couplead an action that will set one BIT...this BIT will enabled a start an UDFB this function will check the lenght of the String that you have insert and load the Strings in the colum of your DT, one by one, and check the firstly positions (the same quantity of your String)...if the result is ok you will stop the search and return the line where the complete string is stored. I hope that I explained clearly what I mean.
  11. 1 point
    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.
  12. 1 point
    Download the attached Rar file, and extract the files to UniLogic installation directory. This means that the "UniLogic Diagnostics.exe" (and all the other files) must be placed in the same directory where "Unitronics.Shell.UI.exe" is located (usually at: "C:\Program Files (x86)\Unitronics\UniLogic\") After you've extracted the files, run "UniLogic Diagnostics.exe" and click on Diagnose. Most chances that it will show "SQL Instance" as one that has problems. In case it find problems, the "Fix" button will become enabled. Click on Fix, and the program will attempt to fix the problem, and then it will re-diagnose the problems to confirm that they are fixed. Please tell me what problems it found . Also tell me if it managed to fix the problem that you're experiencing with UniLogic (that it is stuck in loading components). Thanks. UniLogic Diagnostics.rar
  13. 1 point
    Hi. Value types, like integers, Bits, Real, are being passed by value (Meaning, their value is being passed to the function, and not the pointer to the value) when used in a function-in. So any attempt to change their value within a function code will only affect the value inside the function. Arrays and structs are being passed by Reference, so if you change a value of a bit or a number inside it from a function code, then it will affect the value outside the function. You have 2 options: Passing an array/ struct, or pass the number / bit as a function-out (which means that it will be passed as a reference). I hope this information helps.
  14. 1 point
    Unitronics uses single precision floating point- https://en.wikipedia.org/wiki/Single-precision_floating-point_format As described in the above link, once you get above 9 digits (as you show in your example) the magical exponent shift lever kicks in and knocks the number of significant digits down to 7 to allow for the exponent value. Which is why cleverly manipulated long integers are more accurate and precise than floating point in many applications. Joe T.
  15. 1 point
    1) Use the Find String in String function block and search for ASCII 20h (space). Then write logic to make them enter the string again if you find it. 2) The Find function will return a pointer of the space location. You can use the Remove function to get rid of it. You may have to let the functions loop a couple of times to find all instances of a space character. Joe T.
  16. 1 point
    I had a quick look, maybe I could give a few suggestions. - Use Scan_Ex block and separate all those functions into separate blocks (one net for config, one for scan etc.) - You are calling connect block after every Modbus operation, maybe try calling it via transition contact only when Socket that you use is not connected. Tell us back how it goes.
  17. 1 point
    Greettings, have there been any development on the construction of a simulator to test new programs or modifications before uploading them to the PLC?
  18. 1 point
    For additional information on what to do when a Unitronics goes weird, search the Help for "bootstrap". Joe T.
  19. 1 point
    Depending on the endianness that your SCADA system is expecting, you can do a Modbus read of an ML and the combination will be done for you. If you haven't already read the Unitronics Help on "Slave Address Tables" I would suggest you look it over. The ML's can be read but you have to specify an offset. You may have to specify a read length of two words, as the original Modbus spec was written around 16 bit words. How is the variable defined in the SCADA system? Can you give us more specific details of what you are trying to do? Joe T.
  20. 1 point
  21. 1 point
    You need to find another cable to try Jon as this seems to be the common element. Have you tried a different USB port on the PC as well??
  22. 1 point
    OK. 1 Have you tried another type of usb device in the same socket on the PC? Anything at all that previously worked ok. 2 In the same vein, have you tried using another socket on the PC? 3 Re the broken core, yes...it makes no sense that the system still recognises a plug insertion with one line down, but that's what happened, and happened a few times. I don't know the mechanics of the usb process enough. A new cable and away it went. I am not at all hard on cables, but I do know there are many different construction qualities out there! 4 Go back even further on system restore....as far as you can? Maybe it wasn't the update? It still reeks of driver issue. cheers, Aus
  23. 1 point
    Go to the software section of this website and get UniDownload - http://unitronicsplc.com/Download/SoftwareUtilities/UnitronicsUniDownloader_5_0_B25.exe It's designed for what you're trying to do. Joe T.
  24. 1 point
    Hello, It seems that indeed the BinLib version cause to this issue. Please try to recover the PLC as follow: Use COM1 RS232 115200 baud rate 2sec time out Connect 6 wire cable instead of the 4 wire cable. Reboot the PLC The PLC should beep > tap once to stop the beeping Go to VisiLogic>communication & O/S, the 4th tab is system modes Check the communication by clicking on the GET button If you have a communication>Switch to Factory BOOT Go to O/S tab>check Download only the BinLib by clicking on the Advance button>BinLib (only) If the download will success, then replace to 4 wire back and download the BOOT and then the O/S.
  25. 1 point
    System Bit 2 is unique in that it is only high for a single scan at power-up. Generally it is utilized for configuration parameters of our communications function blocks (Serial, Ethernet, CAN), PID, Loadcell, PTO, etc.