Jump to content

Flex727

MVP 2023
  • Posts

    3,257
  • Joined

  • Last visited

  • Days Won

    236

Everything posted by Flex727

  1. Just a few suggestions: 1) Make sure the coil is not duplicated elsewhere in your project. 2) Make sure the subroutine the coil is in is being called by the Main routine. 3) Make sure the ladder rung is not disabled. 4) You can't make online edits, be sure to re-download the project to the PLC after your change.
  2. I've been using Unitronics PLC and VisiLogic software for a couple of years now. While it lacks a few features we'd all like to have such as online editing, there is no better programming interface for ladder logic on the market, in my opinion. I'll try to answer your questions, if I may... 1. Changing a coil or contact, downloading takes 20 seconds. Changing just the position of a item on the display screen takes 70 seconds to get the changes to the unit. I can only imagine how long the downloads will take when I develop a real program. Not having on-line editing in this day and age is unheard of. Why is this taking so long to send a trivial change ? Visilogix 9.3.0 comes no where near using any amount of my cpu power, maybe 25%. >>In my experience, there is not a linear relationship between the size of the program and the download time. Larger programs will take a bit longer, but nothing like you are fearing. Make sure you are performing a straight download and not trying to do any sort of burn operation. Also, if you have ethernet connectivity you can speed things up a bit by downloading over ethernet. If you must use serial, make sure both the PLC and the VisiLogic software are set to communicate at 115k. 2. If I put the plc in stop mode and single cycle it, any bar graphs disappear from the screen. They do come back when the plc is back to Run mode. 3. Clicking on a coil or contact brings up a window where I can SET the contact. When I do, the SET button changes to Reset. That's silly. There should always be two buttons, Set AND Reset. >>I'm not sure why you think this. It makes no sense to Set a coil that is already on or Reset a coil that is off. My complaint is that forcing I/O requires a right-click, and is thus a two-step operation. 4. Copy & Paste logic elements. The Pasted element is not put at where the mouse was clicked. It is put below and to the left, mostly. Sometimes to the right. >>This is a feature rather than a bug, though most people don't like it. The pasted element goes in the same spot it came from and has nothing to do with where you mouse click. For HMI elements I usually create a scratch HMI display that is blank to paste elements, then I move them to the coordinates I want them, copy again and paste to the final location. When performing ladder element copy/paste it can be quite handy to have the element go to the exact same spot in every rung I paste it and I like that functionality there - though the spot must be empty or it will paste at the bottom of the rung. 5. I have to click / drag / etc by the actual element symbol. I should be able to do operations when selecting the address box above it. >>This is also a "feature". Each basic ladder element is composed of two parts and each part has separate functionality. The address box is for addressing and the element symbol is for moving, but it also lets you very conveniently change from a normally open contact to a normally closed, or a transition contact etc by simply right-clicking and selecting a new function. It also works with coils and certain other elements. The ability to drag and drop elements anywhere, not just within a ladder rung and the ability to change the element type on the fly are two of the handiest aspects of this software. Here is my top 3 list for improvements to VisiLogic: 1) Ability to open two programs at once to allow copy and paste between them. 2) A simulator to allow program testing without the need for a physical PLC. 3) Online editing capability.
  3. You have to re-initialize the ethernet card with the new IP address. Changing the MIs only changes the data that the card will get the address from, but it only looks there during initialization. Thus MB4000 triggers the initialization process to update the address.
  4. You're probably doing the right thing to make sure your program does what you intend, however, I'm curious about what your problem really is. Are you saying that the program is losing its "Power Up" values (the ones you enter when you are writing the program in VisiLogic), or are you saying it's losing the values last entered as part of normal program operations (i.e. user entry or created via internal calculation)? If it's the latter, my understanding is the battery power is what retains those values. If it's the former (the Power Up values) then my understanding is that they should be retained in flash memory along with the rest of the program.
  5. Well, that didn't format very well, but I think I finally got it working. I was confused between local port and remote port. I also didn't realize at first that I needed two MODBUS IP Config FBs in the Master PLC. While we're on this subject, any suggestions are welcome for a rock-solid routine that will detect and correct network problems automatically. What I'm doing is looking for a status message greater than zero and/or no change in transaction count for 2 sec. If either of these is seen, I close the socket, reinitialize the ethernet & socket, then re-connect the socket. This works pretty well, but I'm worried that I may be missing something important. Thanks.
  6. I'm learning networking as fast as I can, but it's still a confusing subject for me. I've been able to successfully network 2 PLCs using MODBUS IP over ethernet, but now I need to add a third and can't seem to get it to work. Although I have a basic understanding of ports and sockets, I can't find the right combination to get everything talking. Can someone fill in the blanks with the proper or suggested values for each? Each PLC also needs to be able to communicate with a PC. PLC1 Master PLC2 Slave0 PLC3 Slave1 PC IP Address 192.168.1.101 192.168.1.102 192.168.1.103 192.168.1.100 Init Socket (PLC comm) Socket # ? Socket # ? Socket # ? Port # ? Port # ? Port # ? Init Socket (PC comm) Socket 1 Socket 1 Socket 1 Port #? Port # ? Port # ? I get confused about whether the Socket # and Port # needs to be the same on each end of the communications path or must be different. Likewise whether the Socket # and Port # needs to be different between the two slave PLCs. Thanks for your help.
  7. I fixed my problem by changing everything to the 192.168.1.xxx subnet. This tells me that the problem was due to some sort of firewall running on my laptop that wasn't allowing access to the 10.1.1.xxx addressing. I cannot find any firewall running on my laptop, so I'm not sure how to fix it, but the problem appears to be within my laptop (though why did PING work?) and not anything to do with the PLC. Thanks, Ofir and Ziwi, for your attempts to help.
  8. I think you can write the Display Number into SI252 to go to that display.
  9. Thanks for your reply. Since I'm not connected through a router or network, I'm not sure the Default Gateway really matters, but I've tried a number of different settings, all to no avail. The two PLCs and the laptop PC are connected through a digital switch, not a router. I've also tried connecting the PC directly to one of the PLCs with a crossover cable, but that doesn't work either. Again, PING works fine, just can't connect using VisiLogic. I have no anti-virus or firewall running right now (not connected to the internet) - any other settings I should be looking at? What are the minimum requirements to connect VisiLogic to a PLC via Ethernet? -PLC Name -PLC Port # -PLC IP Address -Protocol: TCP -Socket initialized to TCP Slave -PLC & PC on the same subnet Those are all I can think of and I've checked and re-checked all these items. What am I missing?
  10. I'm suddenly having a problem that I can't figure out. I hope someone can provide a few tips. I am trying to connect to a couple of v570s via ethernet from my laptop. I've never had a problem doing this in the past but suddenly something is broken. I have two v570s successfully talking to each other through an ethernet switch using MODBUS IP. When I connect my laptop to the switch I can ping either v570 successfully, but I cannot connect to either using VisiLogic. I have the PLC Names set properly, have the correct port number, and IP addresses entered into the communication box, but no go. Here is the setup on each PLC: PLC Master - Socket 3 initialized to Port 502, protocol TCP, Master, for PLC-PLC com (IP Address 10.1.1.101) Socket 1 initialized to Port 20256, protocol TCP, Slave, for PLC-PC comm PLC Slave - Socket 2 initialized to Port 502, protocol TCP, Slave, for PLC-PLC comm (IP Address 10.1.1.102) Socket 1 initialized to port 20256, protocol TCP, Slave, for PLC-PC comm. PC - IP Address set to 10.1.1.100 All three are set to 255.255.255.0 for subnet mask, and 010.255.255.255 for Default Gateway. System bits on both PLCs show both sockets on each PLC to be initialized, as well as the ethernet card. I'm sure I'm overlooking some silly little thing - what is it? Thanks.
  11. I have used Unitronics PLCs networked using both UDP, when networked independently from the customer network and MODBUS IP when connected to the customer network. My networking knowledge is somewhat limited and I now have an application where I would like to use UDP because I will be networking up to 30 PLCs, but do not wish to work through opening and closing ports so many times. This project must reside on the customer's network. Will the PLCs running UDP cause problems for my customer's standard TCP protocol network?
  12. Emil, just wanted to let you know that I was able to test using your suggestions over the last few days and it seems to be working well. Thank you very much for your outstanding assistance.
  13. Thank you for the quick response! I will try all your suggestions and get back to you.
  14. Thank you, Emil - that helps a lot. Just to make sure I understand, you do not think Autotune is necessary for a pressure control scenario? I will add that the process will involve dramatically changing demand and the intent is to try to keep it steady by varying the pump. As far as where I want to perform Autotune, I don't care - whatever will provide the customer the most trouble-free operation. I haven't been able to get the PID Server to actually exchange data with the I/O, even though I was able to get it connected and online to the PLC. Perhaps it was the starting values I was using for some of the configuration variables, but I was having a big problem with the PID control acting as a "switch" rather than smooth control. Once the target was reached, the pump would immediately drop to the minimum (CV Low) and when the process input dropped below target the pump would immediately go to maximum (CV High). After a few cycles of this the PID control would stop working and give a Status value of -7. I will be trying again with your recommendations and with a better understanding based on your reply. Even assuming I can overcome the "switch" behavior, I want the PID control to be able to recover automatically in the event of an error. Can you suggest actions I should take to automatically initiate recovery if there is a PID control error?
  15. I have limited experience with the Unitronics PID function and desperately need some help. I am using a V570 with an IO-AI4-AO2 I/O Expansion and VisiLogic 8.6.3. I am connecting a pressure sensor (4-20ma) to AI0 and controlling a pump on AO0, also with 4-20ma. I have set up a PID control loop using the example file in VisiLogic, but some of the configuration MIs are a bit confusing. Can someone provide a common sense explanation for some of the less obvious ones? For example, the PV high and low limit - what are these values doing? I understand the limits on CV, but not PV. Also, I am unable to get the Autotune PID Server to work properly. I was able to get it online with the PLC with all the MIs set, but when I run the Server, nothing happens - there is no data exchange with the I/O module. Any helpful hints? Lastly, this is an extremely simple control loop and could probably work well with proportional control only. Can I & D be turned off? Either way, what are some basic starting values I should input into the configuration MIs to at least get me down the road to tuning the control loop?
  16. Okay, I'm dumb - it looks for a NULL character. Sorry for the confusion.
  17. Thanks, but that appears to provide the TOTAL length of the Excel line being created. How does it know the length of the INDIVIDUAL vectors that make up the line? Or is there something I'm totally missing? Looking at the example project, (V570_DS_card_demo.vlp), Field #1 is Date to ASCII (vector of 5 MIs) and Field #2 is RTC to ASCII (also a vector of 5 MIs), then there are 2 Numeric Fields. The Indirect Text MIs (MI500 & MI510) are each LABELED as being vectors of length 5, but how does the FB know they are vectors and what the length is?
  18. There is something about this FB that I don't understand that isn't addressed in the Help file nor in the recent webinar on this subject. Looking at the Project Example for SD cards, when you open the "Create Excel Delimited Line" function there are 4 fields defined (MI500, MI510, MI508, & MI509). The "Size (in chars) column shows an "*". Why is that? Since this field is a vector of 5 MIs, where is that indicated to the function to grab 5 MIs rather than just 1 (i.e. where is it being told that MI500 and MI510 are vectors of length 5?)
  19. Thank you very much, Emil. I will spend a couple of days looking at this and get back to you.
  20. I have an odd customer request that has me stumped as to how to program this efficiently - perhaps someone here can help. I am using a v570 PLC to control 10 valves. I have 10 demand digital inputs (requests to open individual valves) and 10 digital outputs to open and close the valves. The pump that pushes chemical through these valves is not capable of handling more than a few open valves simultaneously, also some of the valves are more important than others. So, the customer would like an input on-screen to adjust the number of valves that can be open simultaneously and a priority selection for any or all of the valves. If there are more than the input value number of valves being requested to open simultaneously, then additional valves should be held off until an open valve closes. Valve opening should be in FIFO order with priority valves taking precedence. The biggest problem I'm having is trying to deal with the FIFO (i.e. maintaining a continuous and current hierarchical list of valves waiting their turn to open) and for dealing with the conflict that allows the priority valves to move to the head of the line. Can anyone suggest the basic framework of an algorithm that will accomplish this in VisiLogic? Thank you for your help.
  21. Even though I had originally installed VisiLogic from a link on the website and then tried to re-install from the CD that came with one of my V570s, all I had was an empty folder where the images should be. I tried to re-install again from the link in your reply (directly above) and the folder is now populated as it should be. I'm not sure what the problem was before, but I have my image library now. Thanks.
×
×
  • Create New...