Jump to content

Flex727

MVP 2023
  • Posts

    3,257
  • Joined

  • Last visited

  • Days Won

    236

Everything posted by Flex727

  1. Of course. Can you be more specific as to what your trying to do and what you are using for communications between the two PLCs?
  2. Thanks for taking the time to report back on your solution!
  3. Being the administrator is not sufficient. You must install VisiLogic "As Administrator" and run VisiLogic "As Administrator". The latest version of VisiLogic (9.8.64) does this automatically. Try uninstalling 9.8.31 and re-installing 9.8.64.
  4. A little more information would be very helpful. Is this the first time to open VisiLogic after a new install, or has it been working fine and this started suddenly? What operating system are you running on your computer? Do you have other versions of VisiLogic installed? Did you install VisiLogic with UAC off and Administrator privileges? Are you running VisiLogic with Administrator privileges? Have you tried opening a different project? Have you tried re-booting your computer? If all else fails, uninstall VisiLogic and re-install, or else try installing the newest version (9.8.64) and using Version Swapper to swap to it and try that.
  5. If you need to display in Time format, I usually just run an Accumulated Timer (TA) with the Preset at 24 hours. If you need to show a run time of greater than 24 hours then you can increment an MI each time the timer expires and show that just to the left of the timer display.
  6. Using indirect pointers allows you to have a large number of checks without having a separate if statement for each. By the way, you are using the String Library to display your recipe names on pushbuttons. Don't do that. The String Library is intended to allow you to switch languages on pushbuttons with fixed text. Just use an HMI String variable, add a touch operand and display the variable as an unpressed pushbutton.
  7. You have that column in the Data Table defined as an Integer. Use a Numeric element to display an integer number.
  8. With just a quick glance, you are not allocating a vector of 10 MIs to your Recipe Name Read Row FB and overwriting your integer. (Recipe Addition subroutine, ladder rung 3)
  9. I don't believe there is any problem with reading a Data Table row on every PLC cycle.
  10. In addition to what Joe said, I'll also note that a 20 character string will need to be placed into a vector of 10 MIs.
  11. Personally, I'm not certain of the order of events when you get into that much detail. I think it takes several cycles to get an HMI screen fully displayed, so not sure when the "Is Displayed" bit turns on or off. However, a positive transition of the button press should only be on for one PLC cycle so it shouldn't matter. Maybe the button is bouncing a bit? Try putting a timer on the button press so that it can't activate again for a tenth of a sec or so.
  12. Yes. Here is the comment you were looking for (credit @cantcliff): http://forum.unitronics.com/topic/3579-some-noob-questions/?tab=comments#comment-12994 Read physical inputs and map to memory Run the ladder logic. Scans left to right, top to bottom. Write physical outputs Updates HMI Communications
  13. Agreed, @sgull. But, as in UniLogic, is there a built-in RESET on the next PLC cycle which would activate the transition contact again?
  14. @Ausman, did you see this in the Version Changes notes for 9.8.64? "VisiLogic and other software utilities are now set to "Run as Admin".
  15. If he is using the Jump Condition Table on the HMI, there is no ladder logic associated with the screen jump.
  16. I almost never use the Jump Condition Table for display navigation because in complex projects I will invariably end up adding a screen navigation button to a display and forget to add the corresponding jump condition. I have a subroutine where I handle every HMI screen jump in ladder so that I can repeat navigation button addresses without needing to add jump conditions. With external keys it can be a bit more complicated. In that situation I will have an "Is Displayed" operand for each screen and use a direct contact of that bit along with a positive transition of the function key to navigate to the correct screen. Try that and see if it fixes your problem.
  17. What was the response? I just tried to open another project created in 9.8.64 and it wouldn't open in 9.8.31 (notified me that it was created with database 153 vs database 152 for 9.8.31). I see that the VisiLogic version available online still says 9.8.64. I tried to open @Joe Tauser's Stopwatch program again with 9.8.31 and it opens fine. Are there now 2 versions of VisiLogic 9.8.64 floating around, one using database 152 and one using database 153?
  18. It would help to see the rest of your code, but clearly as soon as MB 3 turns off, O 2 will turn on. You will need logic that is a bit more complex to handle your objective. I would set up something akin to a State Machine where you have bits that are Set and Reset according to which tank is the active tank with logic that switches them according to your needs. Additional comments: 1) You should use a Positive Transition of MB 1 to Reset MB 10, MB 11, & MB 12 and place that in a separate rung from the rest of the O 2 coil logic. 2) Do NOT place separate logic threads in the same ladder rung. The thread with SB 1 - MB 16 - TD 2 should be in a separate rung (and you do not need SB 1 there). 3) You do not need the inverted contact of MB 1 after MB 10 - they are already mutually exclusive. 4) Need more details of how you switch between Automatic and Manual modes. As shown above, it is impossible for logic to switch out of automatic mode (see #1 above).
  19. Samba has certain memory operand address limitations. The program would not work as is, but if all the operand addresses were moved (take care with vectors!) to within the address space of the Samba, then the ladder logic and screens could be copied to a Samba program. Better yet, endeavor to understand the operation of Joe's program and re-create it in your Samba program to meet your specific needs.
  20. There is a filter built-in to the Hardware Configuration for the sensor input. In addition, there are filter Function Block options available under the Function Block (FB) drop down menu when in ladder view.
  21. Thermocouple inputs normally have an implied decimal point to give you a reading in tenths of a degree. Either display the value using the implied decimal, or divide by 10 to get an integer value. There are filters available to help stabilize the temperature reading, if needed.
  22. Just have a 24 hour timer which increments a "Days" counter (or integer operand). Or if your display must be in hours, then a 60 minute timer that increments an "Hours" counter (or integer operand).
  23. I'm thinking the "Project Navigation Tree" is the left-hand pane with the HW Configuration, Ladder, HMI, Alarms, Trends, String Library, etc.
×
×
  • Create New...