Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation since 08/05/2010 in Posts

  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. 6 points
    You can create a struct that contains the information structure that you want to pass to the UDFB. It is more logical to pass a struct with 50 members other than passing 50 inputs. Think of how the ladder element that accepts the 50 inputs will look like. it will start at the benining of the screen, and you would have to scroll few pages down in order to see its end.
  3. 4 points
    If it is really bad I've been known to hang an electrolytic capacitor between the analog input and 0V. I'm not kidding. Something like 10 uF @ 25V. Joe T.
  4. 4 points
    The USB in the UniStream acts as an Ethernet card (while in Vision PLC, it acts as a serial port). The USB of the UniStream is an RNDIS device, and for getting // assigning the IP address of the PLC over the USB-Ethernet an uPnP protocol is used. If the firewall blocks the uPnP handshake between windows and the PLC, then UniLogic will not be able to get the IP Address and communicate with the PLC.
  5. 4 points
    This is a UDFB for linear ramp output with rise and fall time. The program detects change in the target value and ramps the output until it reaches the set point. If the new target value is greater than the current value, it makes a rising ramp. If the new target value is less than the current value, it makes a falling ramp. Calculates the relative ramp time according to maximum ramp and fall time given by the user. Function Inputs: Target value Rise time (This is the maximum rise time from the minimum output value to the maximum in msec) Fall time (This is the maximum fall time from the Maximum output value to the Minimum in msec) Maximum value of output Minimum value of output Function Output: Ramped output register Application: I wrote this UDFB to control hydraulic pressure using proportional valve via analog output. It could also be used to drive a stepper motor with acc/dec using pulse width modulation.
  6. 3 points
    OK, Done. Next release.
  7. 3 points
    Hi All I purchased this device on ebay. The model number is "VAP11G Bridge Cable Convert RJ45" (probably many alternatives available) Cost around €15.00 Works a treat on unistream. Plug in the ethernet and power via the USB port. PLC can now be programmed with the panel door closed over wifi. Should also work with Vision but you would need a power bank or 5v power supply.
  8. 3 points
    Continuity is easy - just connect +24V to one side of the wires one at a time and see if you get it on the other side. If you have a bundle to check you can switch wire feeds in with relays and make sure you only get one signal on a DI module connected to all wires. The RTD module only returns temperature from a resistance of about 25 ohms to 267 ohms. You could reverse-calculate the resistance, but I don't think this is the range you're looking for. Resistance is not so easy. Many moons ago I rolled my own ohmmeter with a DC power supply, current limiting resistors, voltage inputs on an analog module, and current sensors into another module. I was trying to measure to .01 ohm resolution on wire to make fuses and it kind of turned into a trainwreck. I learned about thermal drift of a multi-component system the hard way - I could not keep the thing calibrated. I eventually bought a really nice four-wire ohmmeter with a serial port and multiplexed it between the wires under test - the manufacturer liked it so much they asked if I would write an app note about it- https://www.tegam.com/wp-content/uploads/2015/10/AN103.pdf So this is an area I actually know a little more than the average bear about. This approach may be overkill for what you're trying to do. Can you be very specific about what you want? Joe T.
  9. 3 points
    @Arnor, I think I've found the problem. Take the dll below and overwrite the one that exists in your installation folder. Make sure to create a backup of the original dll first. Please update me if it helps. Thanks. Unitronics.RemoteOperator.dll
  10. 3 points
    I´m not sure if this fits your needs:
  11. 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.
  12. 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/
  13. 3 points
  14. 3 points
    I've had a lot of local requests for help on getting email working. There are a lot of pieces needed to make it work right and it has to be done in the right order. A PLC was never invented to send emails, and the fact the Unitronics can do this is a pretty awesome feature. I'm posting a sample program we wrote to hopefully show everything needed and some tricks to make it cool. Joe T. Sample Email Program V570 5-6-15.vlp
  15. 3 points
    Great news, but twice as tall (or 50% taller) is what I need more. I have regular need for 12 contacts in parallel and constantly breaking them into two sets of six is a pain.
  16. 3 points
    What is the answer to this math problem: 7-1x0+3/3=? If you understand the PEMDAS rule you will get the correct answer of 8. However, if you just run the operations from left to right, you'll get 1. Every ladder rung in your program must be compiled to machine language before the PLC can execute the code. Do you know all the rules the compiler will use when you have a very large net? I certainly don't. Remember, like all computers, the PLC can only do one thing at a time and a large net can provide ambiguity (to humans) so the result can sometimes be unpredictable. To avoid this potential problem, always make your nets reasonably simple and break them into functional parts. It's also easier to troubleshoot and for another programmer to understand what you're doing.
  17. 3 points
    Ohh no, the old usb issues! 1 Perhaps Win 7 is now doing the W10 trick of updating drivers to whatever Msoft deems best, regardless of what the user wants/knows. I'm still on 7 and haven't encountered this yet, but I very carefully look at every update that is offered and find what it is doing. The immediate suggestion is if you have System Restore on, you should roll back to before the updates and see what happens. 2 I have had instances where a usb cable has suddenly broken a line internally. I'm assuming you have tried another known good cable in your attempts? In my instances the error messages you're getting were similar..."unknown but I know something has been plugged in." Murphy's law says that this failure is going to happen just after an update that will appear to be the culprit! 3 Have a good read of this entire discussion: In particular note the program I recommend: http://www.pro-it-education.de/software/deviceremover/ Edit: I have discovered this link doesn't work anymore. Can now be found here: http://www.softpedia.com/get/System/System-Miscellaneous/Device-Remover.shtml I have found it incredibly useful for removing dud drivers Windows squirrels away. If you haven't had luck doing 1 & 2, try getting rid of everything using it and start again from known good drivers. ONLY install them. 4 I am finding more and more devices that used to be serial connections, but are now usb in the same looking body. But lo and behold they have just added a prolific/fake chip onto the pcb so that it "looks" like the unit is usb to the user. It is essentially still serial and the onboard chip lets them get into it if they don't have serial connections available, like modern stuff infuriatingly doesn't. I have been exceptionally careful about what I allow to happen during the first insertion of any device that likely falls into this description. It is a minefield. Tread carefully! cheers, Aus
  18. 3 points
    This problem dates back to when the USB to serial adapters were first introduced. It is not a Unitronics-only problem, it's a Windows thing. I have experienced multiple instances of the same driver trying to access the same COM port when it comes to the USB interface. It is a royal pain in the butt and you have to rip them all out and start with a clean slate. The problem is you can't see them all, even if you check "show non-present devices" in the Device manager. There is an environment variable you have to set to truly "Display All Non-Present Devices". This article describes the process to get all your defined COM ports to light up- https://technet.microsoft.com/en-us/library/ff184583.aspx You probably have a bunch of stuff defined that you didn't even know about. Uninstall all the COM ports. Then plug your PLC in and see what happens. Joe T.
  19. 3 points
    Set the Border Thickness to 0, and the Background Fill to transparent (by either choosing the transparent color, at the bottom left corner of the Stardard color, or by entering 00FFFFFF in the Advanced Color)
  20. 3 points
    So I am sure that some of you may know factoid 2 already but I decided I would share the benefit of lots of testing with everyone. In our products we use the V570, V350 and the JAZZ units to talk to variable speed drives on a regular basis. Most drives come standard with 485 Modbus as the only communications type unless you spend extra money getting optional com cards for the VFD. Two factoids relative to noise. There was a conversation that happened accidentally in the "I have a new project" topic where someone said that Unitronics was very susceptible to noise. Well VFDs make a large amount of noise and it is not always radio noise. A fair amount of the time the noise is actually contained on the local earth to where if you ground the shield of shielded cable you make your noise problem much much worse than in you do not ground your shield. The old conversation about sometimes you have to ground a shield on one end or the other or not at all must be practiced regularly. Factoid 1: I generally would not recommend one brand of product over another but 20 years of use on pressure transducers have shown conclusively that there are definite brands of transducers that work dramatically better than others in noisy conditions. If the noise is radio noise pretty much every transducer is as good as any other. If the noise is carried on the local earth ground of the machinery then really bad things happen on every brand of transducer I have ever used (list to follow) except 1. We have used: Ashcroft Murphy Pepperl & Fuchs GEM WIKA AST Dwyer (all private labeled so there is one that works) and in 100% of the cases when there is a site that has noise infecting the ground because of VFD usage there is a horrible amount of noise created (it has nothing to do with Unitronics) and there is only one cure (separate the sensor from the metal pipe is it screwed into to isolate the sensor from the grounded pipe. If you ever have a site that has what appears to have an incurable noise issue and a VFD is involved unground the sensor and see what happens (pressure sensor just unscrew it and leave is unconnected to anything metal and if your noise issue goes away your grounded piece of equipment is causing your noise issue. So what is the one sensor that seems to be impervious to noise on the grounded pipe? It is specific to exactly one model and one product type only. The SETRA 209 series pressure sensor works perfectly where nothing else will (without lots of noise smoothing). AST is second best (but not as good as the 209 series SETRA) and everything else is just bad. Unfortunately, the 209 series is not NEMA 4 rated and is only suitable to outdoor use with the help of a cover to make a 3R cover. No other model of SETRA transducer works like the 209. Just as a note (if you are not needing Class 1 Division 2) there are companies that make electrically isolated pipe union fittings (for cathodic protection) and we have used these from time to time to help customers through ground noise problems. Factoid 2: It is in the Unitronics documentation but who reads everything (or remembers it over enough time). When connecting to RS485 it is not just important but absolutely imperative that you do not connect wires to pins 2,3,4 and 5. Even if the opposite end is connected to nothing at all (except 1 and 6). What testing has shown is that if any of the other 4 wires touch each other (because you cut them short) they will make an otherwise quite communication line unbelievably noisy. Also even if the ends are not touching the wires themselves act as little antennas and noise becomes worse. How do we know and not guess at this? Because sometimes we try to do what is right and it ends up being horribly wrong. One of our techs went out an sourced a high speed modem cable (shielded with shield all the way up to a metal sheath on the plug). It was not an inexpensive cable and sounded like a really good choice. We were buying 15 foot cables and then cutting this in half to make 2 cables (other devices have screw terminals for their connections and not an RJ12 (RJ12 for RS485 to get all 6 connections) so we would cut away all cables except the two making connection to 1 and 6 at the Unitronics port. We had 70 or so with these cables out and a high percentage of the build had special drain wire considerations that had to be made to make the communication work ok. New project with a different brand of VFD has come along and we build our first three units and zero of them would communicate over 485 communication connection. (we tested everything before build and it worked) WHY? The cable we were using had 4 sets of twisted pairs inside the shield (so two wires were not connected on either end). Testing on a V350 showed that as long as we had a computer connected to port 1 communication between the PLC and the VFD was fast and excellent TX/RX accuracy, but as soon as we disconnect the computer from port 1 communications would fail to a rate of about 75% packet loss (at slowest communication speeds). We tried different grounding of the shield to no effect, we replaced cables (didn't expect that one to work) to no effect, we took the test VFD from our desk and replaced that VFD with one in the constructed panels (no effect), so then just because there was nothing else to try we took one of the connectors that comes in the box for the V100-17-RS4X Modbus adder card and just twisted that to a standard 3 wire Beldon (really poor connection) and communication success went back up to about 99%. So we soldered 3 of the connectors from the V100-17-RS4X and shrink wrapped it all so that we could ship the 3 panels to their end customers. Then began the process of figuring out the whys and wherefores as to what the heck was going on. Taking new (expensive shielded) cable we stripped multiples back all the way to the metal cased plug and found that the manufacturer had done a good job on construction. We removed just the two wires that were not connected to anything on either end and found that removal of the two unconnected wires help com success rise to the 60% level. Then made sure that no wires were touching out of the remaining 4 unconnected wires and coms rose to a 90% success rate. Then we cut the 4 remaining wires to be about 1 inch long and made sure they did not touch anything and coms rose to about 96%. Then made our own cable with an RJ12 connector to have only 2 (totally unshielded wires with low twists per foot) wires and comes were great. So now we will be buying specialty cables that have only the two required conductors inside them. Thank for reading and I hope our pain can save you some. Keith
  21. 3 points
    Hello, I currenlty busy with a project Unistream 7" + 2x 8DI/DO and a EX-RC1 + 3xPT4x, 2x4AI2AO + 2xAO6. Followed the instruction on the webinar. What took me some time was that you have to upload a ladder programm with Visilogic to the EX-RC1. They don't show it in the webinar - because standard the EX-RC1 is pre loaded with a program - which has an auto configuration for digital inut and output. But when you want to use it for analogue input/output you should change it - by uploading the program in Visilogic withe the serial (9 pins) cable and RJ11 connector. When you follow the webinar - the example is shown for maximum of 16MI. In my case it exceeds 16MI - so I had to change the program. After a lot of 'trial and error' I came to a simple sollution by stripping most of rungs out - and only used the minimum of code. To get the second set of 16MI - you have to change the start adresse by adding 16 (so 1016=start adres first vector, 1032=start adres second vector), and bassicly follow the instruction in the webinar. When the first vector is sent/receive through the canbus MB0 and MB1 blocks the sent/receive off the second vector. I attached the visilogic file - feel free to use it - or comment on it - I'm not an experienced programmer so constructive criticism is welcome. EX-RC1 - example more than 16MI.vlp
  22. 3 points
    Hello Active Just did a simple test with Kepserver and selected the ”Modbus tcp/ip driver” Channel properties=>Ethernet settings selected port 502 and ip protocol tcp/ip. Added a device and named it device1 and for the model selected “modbus”. ID <135.0.2.78>20 The V570 has this ip address and 20 is the slave number in my test situation. In the V570 socket init in my case socket 3 port number 502 and server(slave) followed by A Modbus ipconfig,selected in this function block socket 3 and gave it network id 20,time out 100 and retries 3 and assigned a function in progress mb. The indexes with slaves can be deleted using the clear link button. The next network has to have a “Modbus ip scanex” block and for the name in this block select the name of the Modbus ip config block. TCP card init was already done somewhere else in the program but you could follow the example explained in the visilogic helpfile and it’s called “configuring a modbus slave device”. In this example for the gateway you have to choose the ip address of the master unitronics plc but this is only needed I think if communication is between Unitronics plcs so leave the TCP settings in this block as they should be four your local network. For addresses see the example in the visilogic helpfile called “slave addressing” under Modbus ip. To test this all I started kepware opc quick client and added here an item “channel1.device1.40032” and here I can see the actual value from MI31 So kepware acts as a Modbus client and the V570 as a Modbus slave device in this situation. Did no projects with kepware and Unitronics but in our plant we have some Unitronics plc,s besides TI(CTI) PLC,s connected to Control Maestro(Wizcon) scada using Kepserver so this is why I could quickly made a simple test. Hope it will help you Regards Henny
  23. 3 points
    Receiving BMP file thru RS232 from fingerprint scanner and drawing it on the dispay: [media=] [/media]
  24. 3 points
    Big time thanks to Joe for his support, even thuogh sometimes I bug him when I am in a crunch, he always comes thru with an answer.
  25. 3 points
    A shepherd was herding his flock in a remote pasture when suddenly a brand-new BMW advanced out of the dust cloud towards him. The driver, a young man in a Broni suit, Gucci shoes, Ray Ban sunglasses and YSL tie, leaned out the window and asked the shepherd... "If I tell you exactly how many sheep you have in your flock, will you give me one?" The shepherd looked at the man, then looked at his peacefully grazing flock and calmly answered "sure". The man parked his car, whipped out his IBM ThinkPad and connected it to a cell phone, then he surfed to a NASA page on the internet where he called up a GPS satellite navigation system, scanned the area, and then opened up a database and an Excel spreadsheet with complex formulas. He sent an email on his Blackberry and, after a few minutes, received a response. Finally, he prints out a 130-page report on his miniaturized printer then turns to the shepherd and says, "You have exactly 1586 sheep. "That is correct; take one of the sheep." said the shepherd. He watches the young man select one of the animals and bundle it into his car. Then the shepherd says: "If I can tell you exactly what your business is, will you give me back my animal?", "OK, why not." answered the young man. "Clearly, you are a consultant." said the shepherd. "That's correct." says the man, "but how did you guess that?" "No guessing required." answers the shepherd. "You turned up here although nobody called you. You want to get paid for an answer I already knew, to a question I never asked, and you know very little about my business...... Now give me back my dog."
  26. 2 points
    Actually..... https://en.wikipedia.org/wiki/Apollo_Guidance_Computer The V130 has more horsepower than this. I listened to this book about the space program on audio- http://www.craignelson.us/books/rocket-men/ The actual landing of the lunar module on the moon was done by the astronauts. The landing site initially selected wasn't what NASA thought it was - it was full of boulders and Neil Armstrong had to manually fly the lander sideways for quite a distance to clear them. There are just some circumstances with too many unknown variables that a computer can't handle. J
  27. 2 points
    For me the utube moves are practically worthless. My hearing is not good and even with earphones the voices are ALL incrompehensible. There was one movie where there was some kind of subtitling, but only for a few shots. could you do this in all movies?
  28. 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.
  29. 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
  30. 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
  31. 2 points
    Cool. I've been round and round with the Server/Client quandary in my Modbus TCP adventures in figuring out Master and Slave. One way works. The other doesn't. Joe T.
  32. 2 points
    First of all, only put one logical operation per network. When you put several separate rungs in one network, it may not compile the way you think it will. Creating a new network guarantees separation of operations. It is also very helpful in troubleshooting to keep your functionality together. For example, the timers controlling the fan were spread across several networks. I grouped them together and wrote simpler timer pair logic in the Outputs subroutine. Timers reset themselves when power is removed. You don't need separate logic to reset them. I put together a state machine that steps through the tanks in order in automatic mode. I also moved the scaling and the alarms to their own subroutine. You'll notice that the Main routine is now very small. I put all the functions of the system into their own subroutine. I hate the phrase "best practices", but this way really does make it easier to understand what's going on. Let me know if it works the way you want it to. "Likes" are always appreciated. Joe T.
  33. 2 points
    Thank you for posting. We appreciate it! The problem is you are calling the all the Modbus reads with the same trigger and you're not checking to see if the Modbus task is busy. When you call a Modbus read block it actually spins off a separate process that takes a while to complete. It also really helps to put a little breathing room via timer between reads. I've modified your code to make a state machine cycle through the reads in order and slow it down to let the read function reset. I know the examples show chaining read blocks one after another, but my experience has been this doesn't work. You're probably going to have to update your version of Visilogic to open my file. You can fiddle with the delay times to make it go faster. You'll find that when you set them too low the blocks will hang up. Let us know how it works. Joe T. Thermofisher JT.vlp
  34. 2 points
    And while we're at it, we need the ability to lock the elements in place after they're lined up. I am constantly struggling not to move elements by one pixel when double-clicking to modify some property. Just a single property that applies to the entire HMI screen to lock all elements in place would be sufficient.
  35. 2 points
    OK. Still confusion. I'm assuming you are talking about having your push button "1" connected to Digital Input (DI) 1. Then your button 2 on DI 2 and so on. This will use many of the inputs, which is OK if you have them to spare. You saying "port" in some ways means the serial connection socket, hence my question. There are other ways of doing this, but......... Before I go any further, have you considered using a cheap touch screen computer running Remote Operator, directly linked to the PLC? In some ways this will be the easiest method of the lot as you can use the inbuilt number entry methods in Visilogic etc, but via a touch screen instead of the membrane keys. You may end in similar costs by the time you cost out keypads etc doing it the other way. You can find RO here to trial it: http://unitronicsplc.com/Download/SoftwareUtilities/Remote Operator V1.0.67.zip In the same thinking, maybe go up a PLC model to one that has a touchscreen as standard? cheers, Aus
  36. 2 points
    That description is subject to Israeli trademark number 049 115 116 032 065 112 114 105 108 033, and you need special permission to use it! ho ho. cheers, Aus
  37. 2 points
    Hi, even on programming languages like c# it's incorrect to show a view from code (for example a messagebox). Message boxes are usually required for a user input, and are in most cases 'code blocking' (The next command will not executed until the message box is closed, since it is waiting for a dialog result). In UniLogic, message boxes are shown in a response to a user interaction (clicks, for example), and the result of the user interacting with the message box is clicking on one of the buttons (OK/Cancel/Yes/No) is executing 1 or more actions defined by the programmer. This is the correct way or writing UI. I don't know the reason you want to show a message box, but for example, you want to show a message box like: "Temperature is over 80 deg), and you want to call it from Ladder. In that case, I would choose Alarm for several reasons; * Not blocking UI and annoys the user * What happens if the deg reaches 81 and then falls back to 70 and then again reaches 81? Should another messagebox open while an active one is already opened? * If the message box is designed to set a big when the OK is clicked, and the calling function is no longer running, what would you expect to happen? We do want our user to keep a separation of UI from logic (You won't see any "Load Screen" elements in Ladder, but we do give a Load Screen global action which can be triggered from a bit). A workaround for what you want is to have an overlay of something that looks like a message box with the texts and buttons that you want, and control it's visibility with a bit. (You can also design it as a custom control, so you will only need to set the visibility bit once, on the entire instance of the custom control) Another workaround is to design the whole message box as a screen, and load the screen when the bit is set (the global action will automatically reset the bit), and when done, use "Last Screen" action on the clicked button in order to return to the original screen.
  38. 2 points
    OK, Fixed. On next version, when you import a table from Excel, if the struct contains only strings, then UniLogic will consider empty rows as data. Now if your table has 10 rows and the Excel file has 2 rows of data, then UniLogic will import 10 rows, where the last 8 rows are empty. If the Excel file contains for example 12 rows of data, then it will only take the first 10. When the struct contains any non-string members , then UniLogic will take the num of non-empty rows. If for example, the excel has 2 rows of data (and the data table has 10), then only the first 2 rows will be overwritten. If the excel file has 12 rows of data, then only the first 10 rows will be taken. If you are converting an excel file to UDTF, then UniLogic would detect if the struct contains only string members, and if so, it will open a dialog for asking how many rows to convert to udtf.
  39. 2 points
    An HMI button is like a regular input - it will be on as long as you hold it. If you only want something to happen once then use the transitional. Only call one subroutine per network. I did a search on the coils you're resetting and found you are still using them as a regular coil. Don't do this; the logic driving the regular coil will always win. If you just want the extract and retract to be complimentary then drive them with a NC of the other. I don't see anything calling your Manual subroutine, but when you do call it O0 will go off regardless of what O0 is doing, unless the clamp MB 10 is on. Then it will go on or chatter. Use MBs to communicate between subroutines, and put all your outputs in one subroutine. I like to put one output per net and stack them in order. If you're going to use Sets and Resets, make sure you keep track of where they turn on and off. It's easy to get lost with this kind of coding. I've also attached a state machine example of how to code. This method uses a numeric pointer to jump between steps and limits what can be done in each step, as only one step can be active at a time. It will require you to re-think your program but it's way easier to troubleshoot. It really helps if you draw a flowchart of your program before you start writing it. Joe T. 1311-1 JT-SRP 1.vlp State machine example.vlp
  40. 2 points
    There is an example for PID loop in U90 ladder called "PID with motorized valve". You should check it out. Idea is to have a register that will contain virtual "position" of the valve expressed in 1/10 of a second (you need to know time it takes for valve to fully open from closed position, this will be PID max output). You will then compare this value with the PID output, if it is smaller than PID you open the valve, if it's larger you close it. You should have a small deadband. If output for opening the valve is active you increment virtual position register every 10ms (SB7). If output for closing is active you decrement it. I used this before with Vison and Jazz controllers and it works well.
  41. 2 points
    Thanks Ofir this is good news. For the SD Card Explorer alternative that I looked for I think I found an elegant solution. No need to install any software like FTP client what so ever. I found that Windows File Explorer can use as BI two-way FTP Client. First Unistream should be defined as FTP server with username, password and read-only option should remain unchecked. Then Using Windows File Explorer (not internet explorer) type the address:e.g: ftp://192.168.1.88/. Type in username and password in the pop-up window and the SD Cars content will show with the ability to drag and drop files in both direction. The difference between any Internet browser and windows File Explorer is that the later support two way file transfer. For quick access into the SD card files and folders and being able to make shortcut on the desktop or anywhere else follow this link http://windows.microsoft.com/en-us/windows/work-with-files-ftp-site#1TC=windows-7 Hope anybody will find it useful and I will be happy for any comments Ofer
  42. 2 points
    I would be surprised if this is the most cost-effective solution for you, however, I think you'll find that many PLC manufacturers have the same issue - they (properly) wish to protect the intellectual property rights of the program owner.
  43. 2 points
    You can find a manual under the function F1, but this one is very poor. A lot of things are not available. Like how to correct the clock in the PLC. Maybe this is why no one from Unitronics has answered you till now, I have the same problem and I don't like it this way.
  44. 2 points
    Forty days pass, the flood recedes, and Noah and his family are settling in. Noah's wife notices that all the animals are starting to reproduce, except for a pair of snakes. She asks Noah about it, and he says he'll take care of it. A week later, Noah brings his wife out to the workshop, and shows her the snakes in their basket on top of the picnic table he just built. "How is this going to get them to reproduce?" she asks. "Trust me," he replies. A few days after that, she notices there are eggs in the basket. She is delighted, and asks Noah how the picnic table could have possibly helped. He says, "My dear, even adders can multiply on a log table."
  45. 2 points
    Hi, first of all, thank you for your feedback. A password element has been implemented and it will be in version 1.4 of UniLogic, so that saves you the trouble of comparing strings just for password. (The new HMI password element lets you define a set of actions for Fail and/or success of password entry). As for comparing strings in ladder, you are right, there is no built in function for comparing 2 strings (So I'll ask for this feature), but it does not mean that you can't do it... Assuming that you have 2 strings then there are 2 solution: Solution 1: * Compare strings length * if lengths are equal then use "Find Substring" of 1 string on another. If the result is 0 (meaning string1 was found on index 0 on string2) then both strings are equal.... I don't see any option that this number will be possitive. It can only be 0 or -1 (meaning not found), since boths strings has the same length Solution 2: * Use Find Substring of String1 on String2, and then use Find Sonstring of String2 on String1.... If both results are 0, then strings are equal. (If the first result gives you a negative number, or any number greater than 0 then strings are not equal, and you don't need to do the second comparison).
  46. 2 points
    I might be coming in a bit late on this one, but I prefer UniCAN to link the PLCs in this way. The main advantage is that UniCAN can be event-driven from either end. Modbus must be polled using a master/slave arrangement. With UniCAN either PLC can send changes to the other PLC as soon as something happens. Also the CANbus hardware is on the V1040 PLC as a built-in option, which leaves your serial ports free for other uses. On this final point I am willing to be corrected, but I also think the CANbus physical layer is slightly easier to deal with than RS485. Just follow the rules, use the proper cable and it usually works. RS485 works well once it is up and running, but can be difficult to figure out initially. As with Modbus, there is a webinar: http://www.unitronics.com/support/webinars/canbus-unican
  47. 2 points
    Both of my esteemed colleagues appear to have missed the point of the question. Firstly, I assume you mean the V1040 (you typed V1020). There is the ability to set a splash screen that displays as soon as power is applied, to cover the black and white text that shows during the boot process. This is described in the help, search for the term "Splash" and go to the "System Images" topic. You will need to perform a download to make the splash screen active. If you want the splash screen to display for longer, also add the same image to the !Startup Display in your program, as per Joe's instructions.
  48. 2 points
    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.
  49. 2 points
    I'm guessing you want to display all this on the PLC screen. That's a bit more work. Two solutions come to mind- 1. Use the built-in Alarms function and configure all your events as "alarms" with no reset or acknowlege. The time-stamping and logging take care of themselves. The only downside is it will look hokey. 2. Use two tables - one stores all your event descriptions and an index pointer. When an event happens, look up the description with the index pointer and stuff it into a second table with a timestamp, bumping all the rows down and putting the newest event at row 0. Then build a screen that will display the table rows of ASCII strings of the time and the descripton. You could use the arrow keys to increment/decrement a pointer that will retrieve selected groups of rows and update your ASCII variables. It's really not as complicated as it sounds. Take a swing at it and let us know if you get stuck. Joe T.
  50. 2 points
    Hi Perry, No, for sure it will not work with 5V. You can make simple converter (see attached) or you need ot find encoder with 24V PNP or NPN interface.
×
×
  • Create New...