Jump to content


Popular Content

Showing content with the highest reputation since 07/20/2018 in all areas

  1. 2 points
    I have the same thought and I am really missing VisiDiff here. Currently my workaround is: - I keep every version in separate file. - I add a "routine" for every version in each file, called "version changes V x.xx". This routine exists only of comment blocks where I describe what has been done. - Mark new lines in a ladder code with a green background - I disable lines instead of deleting them and mark them with a red background - If changes are to be made within a line/block, I duplicate the original line and disable its. The changes are made to the duplicated line which will be marked with an orange background. - Add comments to those changes why I made those changes. This way I can track down changes from one version to another within the ladder code. To find overall changes, I read the comments block which describes all changes
  2. 2 points
    Try going to project in the toolbar. Then options. Then try unchecking ping on discovery
  3. 1 point
  4. 1 point
    Do you still have the screen protector film on the HMI screen? If so, remove that and carefully clean the screen. That is not a bootstrap display, that is Information Mode. It appears when the screen is touched for 4 seconds. I have had a particle trapped under the screen protection film that was recognized as a continuous touch. These are resistive touch screens, different from your cell phone (which are capacitive). Resistive touch screens respond to pressure. Make sure there isn't anything touching the screen or torquing it in some way.
  5. 1 point
    Items of note: - There are no subroutine calls. - You are still unnecessarily combining too much logic into a single ladder rung. - Your alarm comparisons should be "</=" or ">/=" instead of just "=", and perhaps should be latched. - You have multiple instances of comparison blocks with no coil following, so they do nothing.
  6. 1 point
    I strongly recommend that you do not do conditional subroutine calls. Write your logic so that the subroutine will always be called continuously. Coils in an uncalled subroutine are in limbo and can give you unexpected results. Under normal circumstances, a well-written program avoids conditional subroutine calls.
  7. 1 point
    No. The PLC IO module needs 24V for the "1" state. You'll need a high speed converter to step the voltage up. Try using Dr. Google to find something, or I've been known to roll my own on a small piece of perf board- The output will be inverted, but that doesn't matter for counting pulses. Joe T.
  8. 1 point
    Hello, This probably isn't as elegant of a solution as you are looking for, but you can turn your ladder code into a PDF and search for text in the comments that way. Just go to print and save as a pdf, then hit cntrl - F and type what you want to find in the search. You could also just make a bit that does nothing and give it a name you can search for later. Like I said, not elegant but I can't think of another way in Visilogic. Best of luck to you.
  9. 1 point
    I typically use a quadrature encoder (has two outputs - A and B ) with a sourcing 24V signal. These are available from many manufacturers. Do you have a specific one you're looking at? Joe T.
  10. 1 point
    This is what your linearization block should look like for the example I described above: This will linearize the 4-20mA input to 0.0 to 100.0.
  11. 1 point
  12. 1 point
    Sounds like you have the connection correct - not sure why you think it wouldn't be a complete path. For temperature measurement, I believe you need the RA22 model for a thermocouple input, but you should be able to use an RTD with your model.
  13. 1 point
    Paul^2, This is a really good example of a complex EX-RC1 application so I'm going to crank through it for the benefit of the forum. Thank you for posting your code! CANbus is a "sending" protocol - you don't read the PT400 inputs from the V130, you send them from the EX-RC1. The same applies to digital inputs. It's also not the easiest thing in the world to understand, but once you've done one it makes sense. It's important that you map out your memory first, as described below: Laying things out- EX-RC ID #2- No DI modules IO-PT 4 modules not configured and mapped to local MIs - I configured them as DIN 100 RTDs and mapped them to local MI 11..26. Open up the hardware configuration on the RC1 to see what I did. So - RTD's located in MI 11..26 with be sent to ID #1 V130 MI 201..216. I chose this address block because there's nothing existing around it. Local O32 ..O95 - V130 outputs O8..O71 This will require four MIs to hold all these bits- V130 MI 20..23 -> RC1 #2 MI 40..43. I didn't use MI 20 in RC1 because it was already mapped to temperature data. EX-RC ID #4- (make sure it really is ID #4 based on the DIP switches) No DI modules IO-PT 4 modules partially configured - I configured them as DIN 100 RTDs (alpha = .0385) and mapped them to local MI 11..14. RTD's located in MI 11..26 with be sent to ID #1 V130 MI 221..224. Local O32 ..O63 - V130 outputs O72..O103 This will require two MIs to hold all these bits- V130 MI 26..27 -> RC1 #4 MI 110..111. IO-AO6 module - configured 0-10V to local MI 60..65. The V130 will send its own MI60..65 to these. This is a lot to get you head around, but take your time and make your own map of what registers and outputs in the V130 correspond to which I/O in the RC1s. All your actual control code will be written in the V130. And I may have made a mistake somewhere in here. I wasn't able to test the configuration. Let me know if it behaves. Joe T. 1 EX-RC3Paul14-7-2018 JT.vlp Main1Paul14-7-2018 JT.vlp 1 EX-RC2Paul14-7-2018 JT.vlp
  14. 1 point
    Hi Stef, My view is that what you are asking is the way most of the people on the forum make their money from, so we are not simply going to give you all the code to achieve what you want, given it takes us time to develop such applications and often our solutions are very proprietary and innovative. In my case I would be breaking contractual agreements and I am sure others are in the same boat. That said, we are quite happy to help you through any difficulties you might encounter along the way of writing your own program. For pointers on how to do this, you should have a good look through the large number of examples you will find in Visilogic under Help/Examples/Projects that will assist you in this regard. Combine the various things you find in there into your one program. We all discovered the ins and outs of Visilogic this way, and still learn something new every day. cheers, Aus
  15. 1 point
    Ohh well. We are assuming the battery is good and actually making electrical stimulation. Could you possibly check that it is actually seating properly, with some delicate meter probing? And does SB8 change if you take it out? Clutching at straws now. 1). What is SB9 showing? 2). You haven't inadvertently got SB24, or SB300 firing off during shutdown? Actually do a search. 3). Actually DO an initialise and reset. I have had occasional very odd behaviour that an I & R completely cures....must be something to do with "left-over" data. 4). Is the plc on a nice supply or perhaps needing a filter? Or near anything doing lots of RFI? 5). Vectors over-writing the area? (Even though it is a pain, I always label everything to do with any vector work, so that I don't inadvertently use something in use) 6) HMI data entry fields aren't momentarily active somehow during startup, and writing zeros? 7) Is there expansion in use? Check/wiggle all connections. Good luck, Aus
  16. 1 point
    Glenn; Perhaps Vibration or shock has loosened the connection for the touch screen ribbon cable in the motherboard connector. Open the back of the unit and check . Flat ribbon cable 4 contacts wide along the side of the motherboard. Unitronics does not recommend opening the units -- but ..... Dan
  17. 1 point
    SDW 0 is a free-running accumulator with 10 ms precision. You could use that by making a copy of the value at some time and then doing a continuous subtraction of the current value minus the copy . SDW 3 counts instances of 2.5 ms. So it's count at 10 ms is 4. You could use this and do some math to get real time. Or you could increment an ML with a self resetting 0.01 s timer: Now my OCD is kicking in..... It would be interesting to let it run and compare the accumulated value to a real chronometer and see what the accuracy of the timers are. Here's one I found online: http://online-stopwatch.chronme.com/ The maximum value of an ML is 2,147,483,248, so if you let your accumulator run up to 2,000,000,000 (2 billion) you will have accumulated 231.48 days worth of seconds. On second thought, that's too long to wait. If you let it go for 6 hours your ML should be equal to 2,160,000. If you ran the online chronometer for 6 hours and you have fast hands you could put a bit in front of the timer so you could stop and start it from the screen. Then you could look at the value of the ML when the online chronometer stops compare the two. Joe T.
  18. 1 point
  19. 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
  20. 1 point
    I think he also wants the tank to fill up. In this case, he should have a transparent hole in the image, and put a bar graph (meter) behind the image.
  21. 1 point
    Timers are good until you need to extract information, like machine down time. Then it's time to make your own so you can do whatever you want with it. Unitronics doesn't have a built in stopwatch picture, so I Googled "stopwatch image" so I had something to put on the screen. Then I put my time calculation registers on top of it. Take a look at the attached program. Joe T. Stopwatch.vlp
  22. 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...
  23. 1 point
    The easiest way is to set in Hardware configuration I0 as high Speed counter. In the second line, you can define operand (MI) for frequency measurement. See relevant help topic for details. In selected MI you will receive the number of pulses per second - Hz. Then, you need to multiply the this result by 60 to receive the number of pulses per minute. Then, you need to divide this result by the number of pulses your plate gives per revoluiton. The final reult will be in RPM (Revolutions per minute). What is the expected range of results? How many pulses gives your disk per revolution? What is the presision needed? Just note - Enhanced Vision models (for example V130) support special function Frequency measurements. It gives the frequency with resolution and precision of 0.01Hz.