Jump to content


Popular Content

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

  1. 6 points
    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
  2. 3 points
    I'm convinced this is delusional. CDs were originally pretty bad because sound engineers failed to properly tailor the sound for the new media and instead used the equilization curves for vinyl with insufficient modification. That's no longer the case. Nowadays, the abysmal compression of MP3s may be worse than vinyl, but no one who really cares about sound quality should be listening to either compressed MP3 or vinyl. Vinyl necessarily has extreme equalization in order to achieve any bass response, necessarily lacks sufficient channel separation, and degrades every time the record is played. </rant> THIS I agree with wholeheartedly.
  3. 3 points
    This major release introduces MQTT, another piece of the Industry 4.0 puzzle. MQTT is a machine-to-machine connectivity protocol that runs over TCP/IP. MQTT joins the UniStream range of communication channels and protocols that supply the connectivity required by Industry 4.0 including SQL, built-in webserver that enables the controller to be accessed via any browser, and more. This release also supports new UniStream 5” models US5-Bx-R38 + US5-Bx-T42, offering new, built-in I/O configurations. Other important features in this release: HID Device support for devices such as scanners PostgreSQL support, in addition to SQL Server and MySQL UniApps localization for Korean & Italian, plus a new Korean virtual keyboard Read the version changes for more features at: https://unitronicsplc.com/software-unilogic-for-programmable-controllers/
  4. 3 points
  5. 2 points
    Hi, 1). Vision reads bar. 2). Vision executes bar entry routine. 3). Vision proceeds to bar. 4). Vision reads different codes. 5). Vision interprets codes, runs decision-making subroutine. 6). Vision waits for a while accepting results of decision-making sub. 7). Vision leaves bar sub.....somewhat unsteadily. 8). Vision attempts to run main program normally, but errors appear out of nowhere. Sorry JT. Couldn't help myself. You'll get a serious answer soon from someone who really knows how. cheers, Aus
  6. 2 points
    Your code is actually fairly straightforward and easy to read. One thing I would change is how your command numbers get set. This is a classic example of how Unitronics doesn't always compile the way we think it will. In this code- The logic I see is "If SB 147 and MB 460 pressed then Toggle MB 450 then based on MB 450 write either 0 or 1 to MI 60 and set MB 470". So I'm guessing you want to toggle MB 450 first and then write a number. But that's not how it compiles. Look at the STL Quick View for this network (right click on the network number)- "!" is the beginning of a logical statement the PLC solves. So let's break it down: 1. ! - Look at the state of MB 450 and copy it to LB 0 (local scratch bit 0) 2. ! - Look at SB 147 and the Rising edge of MB 460. If true, toggle MB 450. So far so good. 3. ! - Look at SB 147 and the Rising edge of MB 460 (again) AND the state of LB 0. If true, write 1 to MI 60. But wait! Didn't we want to toggle MB 450 and then consider it's state for the Store blocks? As you can see, this won't happen. General rule of thumb for Unitronics programming. If you operate on a bit (MB or timer), don't use it as a condition in the same network. To get predictable results, you need to break the network apart: I realize this seems redundant and illogical. But that's how it is. Enter this logic and look at the resultant STL views to see for yourself. Joe T.
  7. 2 points
    Are your linear blocks in a subroutine that's not being called? Post your code. Joe T.
  8. 2 points
    Unitronics offers 3-day training classes at regular intervals and at various places around the country. They are VERY good and a great value (I've been and found it valuable). Take advantage of one if you can. https://unitronicsplc.com/support-training-and-seminars/ If you're serious and need to learn, spring for the airfare and go.
  9. 2 points
    Hi Derek, +1 to all that Joe says. I also suggest that you make frequent use of the Help/Help, and Help/Examples files found within the program itself. Nearly all the knowledge you want is contained within and is easily accessible. Like with anything new and sometimes complex, the learning curve can be very steep. How did us old codgers get all our know-how in the first place before internet forums even existed?.......That would be the examples and help files, and a fair bit of brain tinkering along the way. The forum is a great resource for "stumbling blocks" or other questions that pop up in one's brain. Participants that have had a go at things in the first place before asking questions will get more sympathetic responses than those who show no effort being put in at all! (and by the sound of it you are in the first category!) cheers, and happy learning. Aus
  10. 2 points
    Phase 1: Don't try to write the PLC program yet. Sketch out a flowchart of your program on paper. This sounds like a simple step, but even if you think you have the program operation clear in your mind it's much easier to have a plan to refer to. It's a good to play with the software to get familiar with it. Go through all the drop-down menus and look at the functions available, even if you may not know yet what they do. Know that they're there. Phase 2: Google "State Machine" and get familiar with the concept. This is my preferred method of programming a sequence as it is by far the easiest to troubleshoot. You use the flowchart you created in Phase 1 to make it. Your program won't work right the first time (mine never do and I've got 30 years under my belt) but it will be much easier to find problems in the small chunks of code that the state machine runs on. Look at this post for an example I did- http://forum.unitronics.com/topic/4333-when-set-coils-turns-on-it-turns-the-corresponding-reset-coil-on-also/?tab=comments#comment-15823 Phase 3: Profit!! No, really- write code and post it with questions. There's nothing more frustrating than try an answer programming questions from people without being able to see the whole picture. Good luck! Joe T.
  11. 2 points
    Loaded your code into a V570 (it's what I have handy - really need to appropriate myself a V700) and connected it to the PC running the terminal program. This is what came out: So it appears to be working. I added a Scan block and a field on the display to show the raw value of what comes back. Load this in and let us know what you find. Joe T. rs232send_JT.vlp
  12. 2 points
    Any news on a possible release date for the PDF format Unilogic manual?
  13. 2 points
    @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 ?
  14. 2 points
    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
  15. 2 points
    Talked to Dan at US tech support - he suggested SD File Utilities -> File Status function block The "A" output bit MB 39 does what I need. I just call this function before I write the data line to see if I have to call a another Write Line for the header first. Joe T.
  16. 1 point
    Displaying an integer on screen uses "implied decimals". Near the middle of the Numeric Variable above you'll see a setting for the number of decimal places. In the picture above you'll see 2.1 (look just to the right of "Base Format:"). If you want to display a 3 digit number with 2 decimal places, you would use 3.2. The number 26451 would be displayed as 264.51. By doing your linearization from 0-100 for the 0-10 volt analog input, you don't have to multiply by 10 to get one decimal place of precision. Feel free to ask more questions, if needed.
  17. 1 point
    By the way, you can manually check for the need for defragmentation and take care of it, if needed, before you save. You can find the item under the Build menu. I rarely bother though.
  18. 1 point
    I agree with Joe and am glad to see him asking the Creators. However, if it is always 5 digits you could cheat a little bit and pretend the decimal point you could do at the "thousands mark" is a comma. Just a little bit of division/maths beforehand. Even having the dec point might be a good enough separator for now, giving that little bit of extra clarity. Depends what country you are in. I quote from something copied from a site and have underlined the important bit: Great Britain and the United States are two of the few places in the world that use a period to indicate the decimal place. Many other countries use a comma instead. The decimal separator is also called the radix character. Likewise, while the U.K. and U.S. use a comma to separate groups of thousands, many other countries use a period instead, and some countries separate thousands groups with a thin space. In Aus it is getting hard to keep up with constantly changing norms, seemingly dictated by what is PC or trendy at the time. Used to be commas, but supposedly it is now the thin space. cheers, Aus
  19. 1 point
    I made a CNC router for my son. I would not look at a PLC for that task. Take a look at the Mach card and Mach 4 software is about $200. You'll have a easy to program machine without the pain.
  20. 1 point
    Hello, Currently UniStream does not support DHCP – You need to set static IP address. Please note that if IP address of a unit will be changed –the operator will not be able to know the new IP address of the Unit.
  21. 1 point
    What Joe said Yup - things we COULD not have implemented with a standard micro-controller. And people - like it or not, the whole Industrial Internet of Things/Smart Factory/Industry 4.0 is real, here to stay, and the COM abilities of Linux are absolutely crucial. We - the Unitronics royal We - keep current...because eventually you, as automation professionals, will need this type of connectivity. Transition is the name of the game, and as professionals you know how to adapt Yes, it is very different - but, once you get the hang of it - it is good, well worth it in my humble opinion.
  22. 1 point
    Hi all, I thought I'd share a little trick I've had for many years...in case I get hit by a bus. Hate to see it wasted. Much of my stuff is machines that plug into normal General Purpose 10A outlets (Aus = 240V). As such, years ago I had a lot of trouble with DC motor drives pulling way too much current when they were powered up, and they would routinely trip the breaker on that circuit. A normal solution would be a different curve breaker, but in these locations this was not possible. Most Inrush limiting devices are designed to be on the load's PCB, but back then there was little around for me to use anyway. I had to come up with a bullet-proof but simple way of doing it. As usual the brain got the washing machine going and out came this idea at the end of the cycle. I ended up with 2 variations of the theme on the attached pdf. 1). The pdf version uses a relay and normal light globe. The globe reduces the inrush to minimal levels because initially it is running at it's "normal" conditions. But there is enough voltage still getting through to the load that it charges up it's capacitors with hardly any higher current at all and the globe's brilliance decreases as this happens. It's essentially working as a simple resistor. Once voltage at the load reaches the relay's trip threshold, the relay turns on and supplies full power until the main source is switched off. You vary the globe's wattage to find the ideal compromise time, in most instances I work on 0.5 to 1 second. You will be surprised how well it works if you do an experimental lashup. 2). In many cases I have multiple drives to power and I use the PLC to control the initial powerup. They all go through a master safety contactor when running directly, with a further individual relay/contactor downstream for each. In this case I initially run them sequentially through a link to a globe in the same manner. ie the globe "neutral" is on the downstream side of the master contactor but before the individual switching. The PLC runs them all through a sequential power up via the globe and then closes the main contactor once all the routines finish. Thus I have a single globe that glows brightly, dims, next drive turned on and globe brightens again, dims etc etc with all drives eventually being powered direct. Once it is all finished, I then do the motor control necessary. I know that most of the time this is not necessary. But I still encounter moments when this method has proven itself time and time again. The beauty is the inherent simplicity and also the ease of replacing the restrictive mechanism...the globe. Not that I have had to do it. I first implemented it over 20 years ago and on ALL devices it is still working on the same drives....and the same globe! Globes must, of course, be nasty "environmentally unfriendly" old fashioned filament types. Not modern, "full of mercury and electronics" flourescents, or "specific frequency hard on the eyes" LEDS, which are all sooooooo much better for the environment...ha! But that's another discussion along the lines of a Prius vs a Hummer! cheers, Aus INRUSH LIMITER.pdf
  23. 1 point
    We've run into this problem communicating over modems. Your packet timeout is too short on the PLC side. Little known SI parameter - SI 101 TCP/IP retries base timeout. Factory defaults to 2 (200 ms). If you're on a local network this is plenty of time. Our testing with two GPRS modems and Wireshark showed a typical initial packet transition time of 500 ms through the cellular system. Your PLC is hanging up on the SCADA system. Set SI 101 to 10 and see what happens. Joe T.
  24. 1 point
    bpond, please do upload the file - I'd love to see it!
  25. 1 point
    You can connect GSM modem. We recommend our GSM kit, which includes Enfora modem and all accessories around ot make connection fast and easy. Anyway, we support another few brands of GSM modems. Having GSM modem, you can easilly program it both to call preprogrammed numbers and to send SMS. Som of our users alreqady did similar alarm systems. They are programmed to call number for few seconds. The person who receives the call sends back SMS, let's say with word "STATUS" (any other mesage can be programmed) and receive SMS with variables, which state the problem. If there is no "Status" SMS for some time, the controller calls next person in charge... Just idea...