Jump to content

MWD

Members
  • Posts

    17
  • Joined

  • Last visited

Everything posted by MWD

  1. I have a table that I store the current Boolean state of inputs 0-7. My table updates fine with the date, time, input name and Boolean state of all inputs. I can't figure out how to display the Boolean results in the table in a 00000000 format on the HMI. I am doing a table read from row 0 moving the Boolean field to MI15. In the HMI display, the start of the vector is MI 15 for 8 and I get no results on the display. What am I missing? Thanks in advance for your help.
  2. On file open of a project I was working on last night in Visilogic, I get a pop up that says "Security" in the title bar and "Error 20101025" in the box. Can't find this anywhere on the net or on the forum. Likely file corruption for some reason but sure would like to recover several hours of work if someone knows anything. All other VLP's open fine and turned virus protection off.
  3. Thanks IF I use a positive transition, the coil will toggle only on when a "on" meaning it will take two on transitions to go low. I thought I could use the "X" to toggle a bit to log a time stamp when a input when high and then when it goes low. Must not be the right method.
  4. Thats correct.a 0 to 1. Very simple net with a n/o input to a X coil. Hold input high and I can watch the coil 1 to 0 randomly. I have no issue with a regular coil or set coil.
  5. I have a V130 and was going to use "TOGGLE COIL" to toggle memory bit 1/0. Using a PNP input and when I closed the switch, I could see the COIL flash on/off under debug and I can watch the MB toggle state as well. Thought I might have a bad power supply but its clean and other inputs do the same. This is on a test board so all wires are very short and have no RF floating around. Ideas?
  6. Hi, I’m chasing my tail. With a ladder, what is the most efficient logic to log a single table row with the state of 6 inputs and write a row with a 0 or 1 transition of any single input? Can you point me to a sample that may help? I know I need to set a flag but am having trouble getting it correct. Thanks
  7. After pointing that out, that makes perfect sense. I wasn't thinking about it as an "and" string. Thanks for following up Shane.
  8. Thanks that does help. I tried it and I can have one copy on on one monitor for reference and another monitor for live code. The only thing that is unfortunate is, Visilogic does not use shared Windows memory for cut/paste. Any chance that you folks are going to change your IDE to do this at some time? Thanks again for the quick comments.
  9. Two programs at once so one might be able reference or cut/paste code from one to another.
  10. Ok, I've been hacking away for a year or so with Visilogic and there is one thing that I've always wonder what others do to get around it. That is, how does one reference a prior code instance, example or routine since Visilogic is not re-enterent nor allows for multiple windows? I always find myself saving what I'm working on and having to open the reference code. I have resorted to having a second machine running just so I can look at a prior routine. What trick am I missing? It shouldn't be this cumbersome.
  11. Thanks fellows, the example you attached is really the same as I was going to do in multiple rungs. I realize the ladder I wrote is not ideal, its just that sometimes I hack together a concept just to see how the blocks might work and then optimize after its understood. I ran into the problem submitted and was just wondering what the issue might be. Regards and thanks again for the input.
  12. I wanted to make a accumulated hour meter. Seemed simple enough by just using the 1 sec pulse to trigger multiple count up accumulators, SEC, MIN, Hours. It appears that there is a limit for the number of function blocks that can be nested. In the attached example the first increment counter (sec) counts to 59 then resets MI20 to 0. The store command enables the second INC function M21 (MIN). This all works properly except for the last compare and store to reset the minute counter to 0. When the MI21 INC function ENO goes high, the compare block does not do the AB compare nor does the STORE function reset MI21 to 0. A trace does show the blocks are enabled but the function themselves do not work. Is there a limitation for the number of functions that can be chained? Theoretically I should be able to add another chain for hours. Other suggestions for a simple run time timer?
  13. Simon thanks for the reply. This post is a follow up for others that are learning and might learn from my mistakes. My test program was to store a time counter value in a table for reporting and also to not lose the accumulated value due to a system failure. Mistake 1 - I was using the "Reset & Initialize" command to test with, not thinking it was initializing the DB as well. I was thinking about the DB as a file and not a memory table. If you want to use the DB as a static file, use the SD card for storage. Mistake 2 - Once I figured out the above and used just the "Reset" command, the DB value was still resetting to 0. I found that the variable I was testing with had a value of 0 for power up initialization that I had missed. A reset command is the same as a power up and was initializing the variable just as it should. After I removed the power up value and reset the PLC, the DB retained its value properly. Thanks again for the support.
  14. Could use some help to get un-stuck. I am putting together a routine where I want to store variables in the event of a power failure. I thought that if I created a table and wrote the data to the cells of that table, the data was written to NVram, but found when I re-powered my V130 that the data in the table was clean. The test routine is simple where I take a MI value and do a Write Row. I verify the data exists by executing a read row into another variable to check it. What is the the correct way to save data for restart in the event of a power-fail? Thanks in advance Mwd
  15. Thanks for the replies. Thanks UniGuru, I went back to the help file and found where you found it. Just to post for others, this is not transparent to find since the information is embedded in a link, inside the help file making it not searchable. The system bits info can be found under; SB-System Bit System Operands "System Bits" heading, click on "General, SBs 0-15" (note this link is not highlighted) It would be nice for us "Newbie's" if Unitronics would consider releasing documentation with a date on it newer than 2004 to make it easier to put it all together. MWD
  16. Thanks for this, it works well. I don't find that SB13 is documented in the Vision documentation or in the help file. Is there a more up to date manual that what is packed with the Vision software I missed? I have also attached an example of an hours counter that others may find useful. I find that the "Increment" function is very useful rather than using the "ADD" function. Regards, MWD
  17. I need to create pump run timers. I previously have used the M90 series using the 1 sec pulse and the add function to accumulate seconds/minutes hours. I recently purchased a V130 to create a pump controller and find that the function does not work the same. I created a simple net with a SB3, 1 second pulse feeding an ADD block where A & C are the M0 variable and B=1. This simple function should add a 1 to A and accumulate it in C each time the 1 second pulse enables the function block. Instead, each time the 1 second pulse holds the EN high on the ADD block , A & C accumulate in hundreds of milliseconds. I also noticed that this same behavior exists when using the 1 second pulse in front of the new INCREMENT function. Why does this act different than that of an M90 and is there a slicker way of creating run timers? VisiLogic 9.0.1 OLPC V130-33-R2, REV A, OS:3.3(03) timer test.vlp
×
×
  • Create New...