Jump to content

Damian

UniStream & UniLogic Beta
  • Posts

    534
  • Joined

  • Last visited

  • Days Won

    13

Everything posted by Damian

  1. Ok, So I tried my secondary laptop. Windows Xp Pro SP3. Downloaded a new Visilogic V9.3 off the web. Installed the new Visiloigc. Downgraded the Firmware in the V570. Re-upgraded the Firmare to V3.4 (b0) Created a brand new application. Created one numeric entry on the main screen, linking it to MI0 and leaving all else default. "Pressed" is the default. Download Ran, Still displaying as "Unpressed". This rules out a specific application, a specific computer, a specificwindows version, a corrupt V9.3 install and just about anything else I can think of other than .................. 1) Bug in the software or OS. 2) I've completely lost my marbles (typically the explanation my wife prefers)
  2. Hi Jason, Just a quick glance at your screenshot here is a great indication that you need to break up that network into smaller parts. The fact that your screen shot didn't even catch all the logic in the one single net is a red flag. Because of the way you you built your network, it is ambigous whether your function variables are loaded prior to the function being called. You don't want to have to look at the STL to have to figure out exactly how it will operate. And if whatever that wire is traveling vertically that we don't see what connects to is the code that reads the values in, this is asking for even more trouble. Suggestion: Have your negative transition in its own net, process the comparator, and fire one coil. Just below it, using a contact off your new coil, create another net that just loads the SI141 and SI142 register. Just below that, in a network all to itself, use the same contact to load the function call into SI140. Then, in another net all to itself, you can buffer SI143, Si144 and SI145 into MI's, or whereever else you may want them. Keeping the networks short and direct will make both you and the PLC happier. Good luck and let us know how you made out. D
  3. Why were the MF values omitted from the indirect store and vector operations? From what I can see, this eliminates any ability to create an indirect referencing structure with the MF's.
  4. This sounds eerily similar to the effects I was experiencing (post "Visi 9.3 Slow"), only for me it was acting this way no matter what unit I selected. It did eventually start to act better, oddly enough without any intervention from me.
  5. Hi TM, I agree. It would be nice to have the One-shot built in or the OS take care of it. Unless someone could come up with a rational reason how re-invoking the same screen on multiple consecutive scans (especially if it is already the current or loading screen) can be useful somehow. I've mulled it over and can't come up with one myself, but there are a lot of creative minds out there. My fealing is, if any function block should only rationally be invoked in a one shot fashion, then build it in for us so we can't goof it up. Like the CanOpen PDO you mention...... If it forces you to have it there, then why not take care of it for us and eliminate the extra work or possible screw up. D
  6. I just gave a class this morning on Unitronics/Visilogic and noticed that there is one common rookie mistake that seems to be made often with Visilogic. His problem, as he perceived it, was that he couldn't get his V130 to accept a numeric input. After fiddling around with his program a bit, and confirming that indeed the numeric input wasn't working, I started scanning through the ladder. Sure enough, he had used regular contacts to invoke HMI screen calls. The numeric input wasn't working because the screen call was being initiated every scan. This mistake seems to be common enough that it would be nice to maybe put some sort of warning at compile time if the logic sourcing the call does not contain a trasitional contact of some sort. I do realize that there are other methods of generating a one shot outside of using transitional contacts for HMI calls, and that it would be difficult to create a rule that would exclude all possible erroneous warnings for this, but I can't think of any other simple tests you can perform with Visilogic to help find this error. I still think it is worth some kind of warning as I have seen this cost many man hours by first time users. I also can't think of any good reason why you would ever want to call a screen in anything other than a one shot fashion. To this point, I think it should be considered to actually make the one-shot part of the call function itself. This way if someone invokes the HMI call it only invokes on the low to high transition of its enable input, and has to go from high to low again before you can re-invoke the call. There are other functions, such as for example the TCP init bocks, that may also deserve consideration for the transition being built into the block.
  7. Or much more preferrable, but I am sure much more work as well, to have that property selectable for each object rather than making it global.
  8. We need a "No Color Change" option for the "Disable Mode Color" and "Disable Text Color" page properties. Having a global color for all disabled objects doesn't work out well aestheticly in many/most cases.
  9. Ditto on all these points! Our customer just blew up a servo motor encoder because he plugged the encoder cable into the "Encoder Out connector" instead of the "Encoder in Connector". Manufacturer thought it was a good idea to use the same gender 15 pin D connector for both, and put them both right next to each other on the bottom of the drive. It's just asking for trouble. And yes, I've Ethernetted the expansion port myself a couple time. Thank goodness the circuitry is such that it doesn't damage anything. D
  10. Another tidbit of info. Using "remote operator" it actually displays properly on the PC, but not the HMI.
  11. HI Stein, I just created a new project from scratch. No logic at all except to name the PLC and initial the Ethernet IP address. Numeric entry defaults to "pressed" look. It shows as "Unpressed". Project is attached. D Pressed Test.vlp
  12. Hi Stein, It is happening with any projects I have. Even ones I did several years ago. It seems as though it is more tied to this version of Visilogic. Thanks, D
  13. I keep getting this error. This project is quite large and I don't want to have to do a grid search on this to find it. Is there any trick or way I am unware of to have Visilogic tell me where this font is? Thanks, D
  14. Hi Emil, My definite of initial value is the value an operand takes on a reboot. In the operand window, you have a column for the "Initial/Power Up" value (the little plug symbol) and the "Current Value" (under the little eye glasses). We are not really talking about initial values here. We are talking about the "current" values. It is standard practice with pratically all other manufacturers that the values under the eye glasses don't just disapear when going offline. They are retained. This way, when you download the program again, not only are you downloading the code, you are also downloading all the operand values (with the exception of the read only values). Has nothing to do with the 1st download, or the 1000th download. When you download, it sets the operand values to those values that are in the program. Right now, visilogic just downloads the code, but leaves all the operand values untouched. For example, I am online with the controller. The current value of ML65 is 1234. When I go offline, the controller should ask me if I want to retain the values of the operands, which normally I would say YES. Now, while offline, I can still see ML65 as having value 1234. I should be able to go in there and type in instead 4321 while still offline. Now when I go online, or download, Visilogic should ask me if I want to upload the RAM values that are in the PLC to the current program, OR, if I want to download the operand values based on what their values are in the program. If I choose to download the operand values, then ML65 should now be 4321 regardless of what the value was inside the PLC prior to that. That DOESN'T mean that after a re-boot, that the controller will always reset ML65 to 4321. That would only happen if an initial value was defined for ML65, and happened to be 4321. Now keep in mind, again, we are not talking values. Just because I want to determine what the values are when I download, does not mean I want those operands to assume those values everytime the thing reboots. I'm not just pulling this stuff out of the air. This is the way virtually everybody else does things. And generally, when the vast majority of manufacturers come to consensus on something it is usually because that is simply the best way to go about it. A small example of why this is useful. Say you have a project where your going to build 5 identical machines. The machine is heavily reliant on values that the setup guy has entered through the HMI. Maybe it always just runs one product, so there is no point in creating recipes. After I am done debugging machine #1, I know that all the setup values that were performed are going to be very close to what they need to be to get machine #2 running. I don't want to have to sit there and maybe type in 100+ new values in the touchscreen to get machine #2 to the level that machine #1 is at. I don't want to have to store things in excel files, or create code for data tables, or copy to an SD card that may or may not be there, or anything of that nature. I want to simply be able to just download, and have the new PLC completely duplicated both code and memory. That's it. Nothing more. That is all that I should need to do. If I have to do anything more than that, it is a waste of my time and the customer's money doing something that the software should already be taking care of for me. One thing I have found with Unitronics and Visilogic when introducing it to new customers. If I introduce it to someone with little or no PLC experience, they tend to pick it up easier because they don't have preconceived expectations. On the other side, introducing it to people with a lot of PLC experience often doesn't go so well. You hear phrases such as, "you mean I can't do this", or "this isn't very intuitive". It's a tougher sell, because they are already aware of things that they can do with other products that they can't do with Visilogic. Alot of these things are very small things. This operand issue, no online edits, copy and paste behavior. These are also the things that will frustrate an engineer and make them reluctant to use the product. This isn't just my opinion, I am reiterating the feedback of other's I have introduced the product to. Some examples of things that have frustrated me over the past week. 1) I have a project where I have a very similar grouping of objects on many different pages. These objects don't necessarily fall in the same location on every screen. Because of the copy/past behavior of the HMI, I first have to copy the objects to a blank screen, move them to a new location, and then cut and paste into the destination screen, because visilogic won't allow me to initiate a paste if the copied object came from a location that is already occupied at the destination. Most other software would either show the copied object on my mouse pointer and allow me to locate it anywhere I want, paste it wherever I click my mouse, paste it in the nearest available free spot, or simply paste it over top of the other anyhow and not care if they overlap. Any of these are better than they way Visilogic handles it, which is to just say NO. Can't do that. 2) I have a grid of toggle buttons on a screen that I set up to be green as ON and red as OFF. 64 of them in total. They were all already done, located, and assigned their appropriate individual operand. Guess what, customer didn't like green and red. He wanted light and Dark. Took me over 30 minutes of mindless clicking to make such a simple change because I had to perform the same action to all 64 objects. Other softwares, I could have highlighted them all. A window would have popped up showing all properties the objects have in common. I could have simply changed the color property for the ON state for all 64 at one time and done. Now 30 minutes is cut down to 30 seconds. Making the problem worse, was that about every tenth time i tried to double click on an object just to bring up the property window, it would inadvertently move the object, and I would have to go back and reposition after. And on top of that, after bringing up the property window, I would have to click on the color tab, which would bring up yet another window located at a completely different spot on the screen. Then I have to click on the new color, click OK in that box, move all the way over to the original window, and then again click ok on that box as well. Doesn't sound like much until you have to do it 64 times in a row. That a total of nine mouse clicks per object to change both the ON and OFF color, going all over the screen with the mouse. Or to put it simply, it took 576 mouse click just to change two colors, and that doesn't even include repositioning the objects that were inadvertantly moved. 3) I have a group of objects that needs to be bumped on the screen slightly in one direction or the other. Rather than attempt to get it perfect via the mouse with my jittery hands, I like to use the arrow keys to move highlighted objects around. If I select more than about 5 at one time, it goes into hourglass mode and takes about 10 seconds to shift over one pixel. If I have to move over 6 pixles, I am looking a full minute just to move some objects. Yet, if it is moved by the mouse it can move the group faster than I can blink. Doesn't make any sense. 4) I just finished downloading. Oops, I messed up and that normally open contact should have been a normally closed. I go offline, change it within about 2 seconds, and then hit simple download. Not download and burn, not download and reset, just simple download. I literally just tested it with a stop watch. It took over 30 seconds to complete. This is with a direct Ethernet connection. With a brand new Pentium I7, 3 GHz machine with 8 GB ram, solid state hard drive etc. 30 seconds to change one contact. It is difficult to quantify how much time these 4 very simple little things have cost in terms of time just this past week. But it is a lot. These are the things I really hope R&D puts a lot of thought into for the next generation product. Thanks, D
  15. I don't know exactly when it started happening, but I am having an issue with HMI objects that I have selected to be 3D Pressed in design time showing up as 3D Unpressed at runtime. No matter whether I select Pressed or Unpressed, they always look Unpressed when actually running on the V570. I even downloaded an old program that is working fine out in the field to the V570 and it is still not displaying properly. I am using Visilogic 9.3.0 build 0 The V570 has OS 3.4 (00) Boot 2.2 (05) BinLib: 1-1.10 (00) Factory Boot: 1.1 (01) Any ideas???
  16. Since the subject has been broached, Dave is bringing up some very good points that are important. In the operand window in visilogic, there is a column for initialized value, and current value. The current value goes blank when you go offline. It is industry practice (for good reason) that the online operand values are retained in the file for the program when you go offline. Therefore, even when offline, you should be able to modify and set the "current value" at will (both in the ladder as well as in the operand window). When you go back "online", it should ask you (similar to how it already works with timers) whether you want to upload the values in the PLC to the file, or rather download the values from the file into the PLC. The operand values SHOULD be part of the development file. If the operand has a "power up" value defined, then the power up value should take precedence. Does anyone else have an opinion on this? It is something that I have had to work around myself quite often. It does not seem like something that would require a huge investment in resources to achieve. Especially since some of the code of Remote Access can be copied. On a sice note, why doesn't remote access allow you to change operand values while online?
  17. Forum quirk ----- it interpreted by item b in the previous post as a "smiley" as a result of using the parentheses.
  18. Remote Access reads all the values and displays them as registers, not just bytes. The values can be manipulated in Operand Access (without needing to open excel) by selecting the memory region you wish to work with, and hitting the ONLINE glasses. This loads all the values of the selected region. After you hit the glasses again to go offline, you can now modify the values at will. When you are ready to download, select "WRITE REGIONS" and download that set of data. You can save the RAM also in excel format. Operand Access "is" in the Tools Menu. Make sure you are not using Remote Operator as opposed to Remote Access. I agree also that: a) These tools should be built into the development software, and not separate utilities You should have the option of going online and uploading the RAM values directly into the project file
  19. For some reason, I have one V570 program that contains a function block that will not allow me to copy and paste it. Specifically, it is a PLC Net ID block Pointing to Canbus1. If I try to copy the block, the rung, or export the subroutine I get the following message. Copy/Cut Operation cannot be performed (94) The selection contains elements that reference named constants. Ironically, I have another application almost identical, with the same exact block, pointing to the same exact address, and it copies and pastes just fine. Not a big deal ...... just a little flakey. I had to delete the block, export the subroutine, and then regenerate the block in the new application after import.
  20. Hi Ron, I assume you are using some type of 0-10v or 4-20mA to Pressure regulator to control the brake? PID control is the norm. You will probably end up leaving the D gain 0. You'll want to come up with some sort of scheme to adjust the response as the diameter winds down. D
  21. Hi Tim, I've got a handful of applications running that do exactly just what you are talking about. As long as each device has it's own socket, it treats them all like separate ports. Without any artificial time delays built in, and working purely off handshaking, I have found that I can cyclicly both send and receive 10 ML's between four separate slaves in around a 12.5ms full cycle on a V570. You can discount options 2,3, and 4 on your list, as if any were true i would be in serious trouble right now. D
×
×
  • Create New...