Jump to content

Walkerok

MVP 2015
  • Posts

    261
  • Joined

  • Last visited

  • Days Won

    28

Everything posted by Walkerok

  1. Ok, Thank you live tech support for the answer. And, as suspected it is very simple. Just double click any open area on a screen and the menue that comes up to change the whole screen background also brings up what default colors will be applied to objects on that particular screen for "disabled, focus, and marking". Make the needed changes on that menu and you are good to go. Keith
  2. High speed couters in my history count up. Im not sure what the end goal is, but if you need to for example show a decreasing value down to zero you can take the total value and subtract, then show this value on screen. For example when I have written programs for wire cutting machines in the past I can chose to either count up as the encoder spins till I meet the customers length then make a cut, or I can count down from the wanted length to zero then make the cut. After the cut I reset to either zero or the maximum value and do it all over again. If the goal is to know if something is spinning forwards or backwards (and how far it went) then you will need a quadrature encoder that will allow you know what direction you are turning and you will add in one direction and subtract in the other. In any case make sure you do not compare a high speed input value using an equals function block you should always use a greater than or equals or a less than or equals. Thanks Keith
  3. This is for a V560. I have a customer that is requiring that I not use either the on screen keypad or the number keypad that is on the V560 to change the value of a number setting on screen. While functionally it is easy enough for me to use the touch property of a number box on screen to allow the use of only the up down arrows on the keypad to meet the customers requirement, I am finding the marking view to have little useful information in the help files. I read where I am supposed to be able to change the settings of an item when ever a marking view bit is set, but on the number variable itself I see no way to change what the values are for when the marking view becomes true. I am sure this is easy, but I can't find it. Thank you Keith
  4. If you have atimer that always stays at the maximum time. And you have a simple input that is supposed to activatet the timer, then my question is what event are you using to reset the timer? The last two times I went to cussing and swearing over timers it was my fault both times. Try a program of just one line where the same input activates the same timer , but have nothing else in the program. If this makes the timer work just fine then there is something on another net (rung) in your real program that is causing your timer to reset on every scan (or you have referenced the same timer twice "that will do it too"). Keith
  5. I was faced with a problem yesterday on a different PLC brand where certain pieces of data were lost after the unit had been sitting on a shelf as a backup for the customer for too long. This brought me to think about what I need to do for Unitronics products to avoid the same fate at some point in the future. Lets take an easy scenario. I have a PLC that I am using to monitor different limit inputs on a machine. For each of these limit inputs I have a fixed amount of time I want to wait to avoid nussance shutdowns and alarms. I do not want the user to have access to the delay times so that the times can not be extended from what I have set. I typically block the ability of the useer to get to info mode so that they can not change data in my program through that particular doorway so info mode will not be available to manually re-enter the times to key limit delay timers. In its simplest form I have a net that says that if I0 is true for 3 seconds then make MB0 true to trigger an alarm or shutdown depending on a decision set that is enterable by the user. When the battery dies (hopefully 7 years into the future and not sooner) I am assuming that this information will be lost with no user ability to re-enter all of the appropriate time delays. The question is what is my best way to protect key pieces of data even after a battery failure so that only the user enterable variables would need to be re-entered after a battery failure? Flash burned table, loading values into MIs and T variable on first scan every time, other solution? I am looking at this for Jazz, M91, and V series controllers.
  6. MIssed it by that much :-) Thanks Joe, I apparently failed my 2 bit math class. Pun Intended Keith
  7. If we go away from an asumption that the input chanel has failed or been dmaged. It is possible for the linearization to create negative numbers that would show up on screen periodically. If you are doing the calculations using only MI locations to store the information on the linearization. If I remember correctly the prebuilt linearization function has values that it will not show correctly becuase of overflow when the calculations are made exceeding the length of a standard 16 bit MI. If you have not done so all ready, try making your own linearization calculations in the ladder logic. If you have a number that exceeeds 16,535 durring the calculation process it will run over and may or may not show a negative value (depending on the exact size of the number). If any number is too large to fit in an MI location use the appropriate math blocks and store and manipulate at least a part of the linearization calculation in a 32 bit structure using ML locations to prevent the overflow that could be happening in a 16 bit MI location set of calculations. Of course if the analog input chanel is damaged then this won't help but if, like Joe said, you get 0-4095 raw values when inputing a 0-10VDC signal then the linearization calculation is more likely cause for your periodic negative values you are seeing on screen. Keith
  8. Thank You very much for the input. Thats helps me put my mind to rest on this subject.
  9. I'm not sure I am understanding the question correctly, but PIn 6 is the - and Pin 1 is the + of your two wire RS485 communications ports. All + communications connections for all of the devices on the multidrop network are on the same line and all of the - communications connections ar on the other line. If you look at the help file in Visilogic (search for "multi drop" there is a pictorial of the connection under "Network Topology and Wiring"). Keith
  10. I realize that this is not strictly a PLC question, but we have some awfully experienced people here that might be able to keep me out of trouble. I have a customer that uses an extremely low range "guage" pressure transducer +/- 30" WC (or +/- .0294 Bar) used to control a process with operating control points between (-0.5) to 6" WC. Because this sensor is so low in range as you might imagine there is a real and ever present possibility to change the Zero point of the pressure transducer from process realities that permenantly deform the sensing disk of the sensor. The customer want the ability to place this sensor into atmosperic conditions and call whatever the sensor sees as the zero position. The way I look at it I have a choice. Since I am making calculations to put the sensors raw values into engineering values, I can either shift the high and low ranges of the sensor depending on the zero up front or I can wait till the end of the calculation and then just make a positive or negative shift to make it show zero on screen and use this shifted value to also be what the program looks at to make the control decisions. What I am looking for is if anyone has done this, what are the pit-falls (if any) do you see to doing the zeroing either way, or am I looking at this all wrong and need to rethink how to do the function in general? I am thinking that if I do it at the end I can write in a comparision of the total shift to what zero should be and then I can prevent the user from using what is effectively a broken sensor by only allowing a maximum shift from where the zero point should be, but I do not want to creat new problems. Comments would be much appreciated. Thank you in advance Keith
  11. There are many industrial products which have a reference to ABC for a modbus 485 connection. In my experience the c is actually only a polite place to give you to connect the shield drain of a shielded wire connection and not actually a 0V location. At least this is how it works when connecting to indistrial product with the same three available connections I have worked with in the past. The second part of your question is relative to core modbus coding and what the data sructure is for the information you want to move from one place to the next and will be controlled by the version of Modbus that has been initialized in the devices you want to collect data from and to. You will be able to find manuals on standard modbus codign online, but I do not know what your native language is so I do not know if there will be something that will be easy for you to read. Keith
  12. The reason you are getting the message is the propbably same reason I got that same error two days ago. If you are running Vista or windows 7 you more than likely had a windows update recently (since the last time you used Visilogic program). If your computer is like mine the automatic update reset my UAC to on without my permission. Just go back into UAC and turn it back off. I do not know why this happens but it has happened twice on my work computer in the last 6 months. Keith
  13. For a buner that is only 225,000 BTU per hour you do not need two blocking valve you will only need one (this does not incluse your modulating valve). So what I would recomend is that you buy a small Honeywell control such as the one that I have attached the PDF for. This one shows to be avaialable from Amazon for $108 and uses hot surface ignition and not a spark rod. If you want to use spark instead there are other modelas I am just showing this one as an example. So to complete the thought you add the flame control and one more solenoid valve (that will move the gas flow you need) in series with the modulating control valve that you will be controlling with your PLC. You decied when to turn the flamer on and off in the PLC so you keep your modulating valve closed when not burner is needed, 100% open when the burner needs to ignite, and fully modulating after say 30 seconds have gone by (ignition process will be complete or will have failed by then). Enjoy your project it's the kind I call fun :-) Thanks Keith Honeywell hot surface ignition control.pdf
  14. I know thisa is not really an answer to your question, but from what I can tell of the Visilogic program send to back is not what you or I would consider a send to back function found in a drawing program. It does not permenantly move the object to the back as we might want. What I have been able to usefully use "send to back" for is to select an object that is inside another object. For example, when I make number entries or views for a V530 I have to draw a series of boxes around my entries to not make them look like they are just acidentally thrown up on the page. After I enclose the number entry box with other art work (lets say rectangles) you are no longer able to select the number box until the artwork around it is sent to back. I feel your pain, as I too have experienced the situation you are seeing. Just to save you some aggrivation in the future when manipulating artwork on the screens, you have to be ultra careful how you create the art so that you do not have permenant box outlines when joining objects together (such as the burner piping pictorial provided). You will not be able to send particular items to front/back to make the piping look seamless to cover up thse outlines. Also if you notice the small grey areas on the gas valves (artwork from the unitronics program art files) you have to be careful to pick a background that masks the background to make it blend. While you can make a background invisible you have to make your own artwork to do this more times than not because, like in the two valves shown, when you make the background invisible any part of valve that is too close to thae same color as the background seems to also become invisible (as it does on this valve artwork). Thanks Keith
  15. Any comments/guesses from anyone? Is there a way to have the thermocouple type be settable on a touchscreen entry? Thank You Keith
  16. Your jumper settings seem fine and you said you have set the hardware setting On the U90 software for 4-20ma so that all seems correct. Since you are using an external signal simulator to generate the 4-20/0-10VDC analog, if you are using a generator that is generating its own loop power, have you connected the negative side of this simulated signal to the 0V terminal of the U91 and the positive side of your simulator to AN0? If you are using a simulator that does not supply its own loop power then you need to connect the + side of your simulator to the +V terminal of the PLC and the negative side of your simulator to AN0 to get a usable 4-20ma signal into the PLC. Thanks Keith
  17. I do not know where you are located, but please be careful in this project. Using a PLC to take flame signal information in and make flame safety decision directly into a PLC (no matter what brand of PLC it is) is typically considered something to stay away from. You never know when a piece of higher level elcetronics may fail in an unsafe manner and cause a gas valve to remain open when it should not, or several other failure modes possibles with burners (even small ones like you are working with). I know you are making this for yourself, and that you will have no one to sue but yourself, but this really calls for a small "low cost" flame safety control relay and then you just use the PLC to turn the burner on and off, turn the water valve on and off, modulate the firing rate of the burner through the use of the modulating valve, and all other controlling timers and functions you may want to have. For those who want to jump on this and say that they know people who use PLCs to make flame safety decisions on burners, remember that there is almost always a Honeywell, Fireye, Siemens, Eclipse, or certified Flame safety PLC for flame safety in the control mix as a last line of defense for liability mitigation. And for those people who would argue still not needing one. I would argue that when something bad happens, you want a certified flame safety product to point the law suit to instead of the PLC programmer and the PLC hardware manufacturer. I would strongly advise you on the consideration of using a flame safety controller that has been designed, rated, and certified for small burner use. Like the ones found on home hot water heater units made by, White Rogers, Honeywell, Siemens, Etc. Their cost is modest and can be bought for about $150 US (one piece purchase price 24 VAC/DC operating system). Keith
  18. I have many applications where the Control that is programmed has been made for a particular industry tast, but I will not know what specific sensors will be used to make the final application. The most common example of this is a simple thermocouple. In most instance the thermocouple used will be either a T, J, or K type, but I do not know what it will be till just before sale (or told once the unit is allready in the field and the customer picked some other type than what I set up in the hardware configuration. Wile I know that this should not happen it does and I would like to not have to send files out to be downloaded by the custoemr to make field alterations for this kind of change. In the specific projects I have in mind, they are all Vision series controllers and are most commonly either a V570, V350, V530, and V1040. I am not looking for a user to be able to select between thermcouple, 4-20ma, and 0-10Vdc (since these changes would required physical jumper changes). I am only looking to give options for different thermocouples types. Is there a way to make the thermocouple type selectable on the touch screen screen? Or, do I need to pick up the raw thermocouple data and scale this via ladder programming and use the converted engineering value calculations for all further operations and display images? Thanks Keith
  19. I have never worked on a catapillar engine controller so I am guessing here, but I am assuming that you are picking up either Modbus or some other serialcommunication from the Cat controller and trying to put that into a nice Human friendly package on the V1040. In most devices your active status and alarm information comes in on a single integer (or multiple integers) with numbers between 0-999 indicating up to 999 messages that can apear on a viewing screen. You have to create a look up table that tells the V1040 what you wnat to show on screen for each and every one of these integer possibilities. Obviously that is a time consuming amount of just grunt work entering information for all of the integer posibilities. If you are than going to try and make conditional diagnostic information apear on screen then it gets alot more difficult. because at that point you will need to corelate the integer number to what was actually happening to the cat at the time of the failure. There will usually be a register that will tell you what inputs and outputs are active at all times (typically in the form of an intger number), that will corelate to bits being active or not active on that register. The V1040 has a bit test function block that will allow you to test to see if an individual bit is set or not. This will allow you to create animation on screen for when the Cat is running or not , failed or not, What limits inputs are active or not, ........ETC. In other words lots of time making a program to make it look simple and pretty on the V1040 screen. Keith
  20. I have done this for melting furnaces a few times. The easiest way to acomplish what you want to to treat this like a soak ramp (both in the up and down direction). So for example, you want to make sure that you limit the progression of heat to 2 degrees F every 1 hour. Set a PID loop to control the heating rate at a particular set point then write ladder code so that the set point starts at the current temperature of the Kiln and then raise the Set Value (SV) of the PID loop 2 degrees above its current present value (PV). Hold this (SV) for one hour then raise the (SV) 2 more degrees and count off another hour and then dit it again. Rinse and repeat until you meet your final temperature. Hold the final temperture (SV) at the max soak point until the process is complete, and then ramp the (SV) down the same way you brought it up till you get bellow a particular temperature point then stop the process. The values for the PID I can not help you with since this is as variable as the colors in the rainbow. However, there is an Autotune Function Block that can help out quite a bit. (You will have to fire the anealing oven to do this autotune) Thanks Keith
  21. I do not see a toggle choice available on binary text. I am using Visilogic 9.3.0. When I create a binary text block I have no choices at all other than what to define the text to be for the on/off condition of the bit. If I right click the binary text block I can assign a touch variable to the block, but I never see a toggle function in either the creation or the touch variable assignment. Where do I go to be able to assign a toggle to this? Thank You Keith
  22. I need to create a maintained button on a V530 and can find no way to do this other than writting ladder logic to make binary artwork be held in the off or on state. This creates a massive waste of nets on my part and I must be missing something. Please tell me there is a way to designate a button/maintained switch on the touch screen without all of the extra steps I am putting myself through. Thanks Keith
  23. Im sorry if I am missing the understanding needed here. I can use the key SBs to know when a key is pressed and I can know what screen is active by looking at SI2 (I am not finding a reference to a bit that has a unique association to each screen number being active or inactive if there is one then all of the following discussion is not needed:) ), but If I am going to make a user programmable decision for I0 - I17 as to wheather or not each individual one will be looking for a normally closed or normally open contact, I am not seing how I can allow the user set a bit directly without doing a compare block. An example may be in order to make sure I am not asking the question incorrectly. What I need to do 17 times (I0-I17) is: I------------------If I0 is true (closed) ---------------------- MB0 is false -----------I------------------( activate Coil) I I I I I------------------I0 is false (open)--------------------------MB0 is true________I Where MB0 is the bit I need to set to allow the same net to be activated by either a normally closed switch or a normally open switch depending on what the customer has available. I can figure out no way to allow the user to change the state of MB0 directly to allow my program to reduce the number of compare function blocks to get me away from the maximum limitation the U90 program says I have exceeded. I Can reduce the compares from 17 to 5 by putting 4 normally closed/normally open enterable MIs on one screen and then only comparing the SI2 to a particular screen and then assigning 2 keys to set or reset a MB, but I would like to do better than that so I have maximum lattitude to free up compares to activate Analog action points for multiple control processes. I-------------If SI2 = 5--------I-----------SB40 positive transition---------------------(set MB0) I I I--------SB41 positive transition-----------------------(reset MB0) I know Im asking alot from a little JAZZ unit, but I prefer not going up to a Vision model, since this is a product that is sold over and over again by my company. Thank You everyone for your help Keith
  24. I have been using a comparison block to allow users to set a series of conditions. In this case the user base wants to have PLC inputs changable as to wheather a normally closed input or a normally open input is acted apon. That is easy enough for me to write ladder that allows this to hapen by looking at a series of bits. My problem comes in that I have just exceeded the number of comparisons that a program is allowed. Since I have not been able to determine a way to set bits directly from the kepad, I have been puting MIs on the screens and if the user sets MI? = 0 then the normally closed state of the ladder will be used or if MI? = 1 then the normally open ladder section will be used. To do this I have to have a comparison on the MI? value. I am also doing the normal comparisons that just come along with moving between screens and deciding action points for analog signals (and so on and so forth). If I can set the Bit directly I would be able to remove 17 comparisons and be able to finish this version of the program no problem. Any ideas? Keith
  25. Really more of an interesting note than anything else, but when in debug mode all of the on screen buttons for the JAZZ control pad that pop up on a computer screen can either be clicked or punched on the computer keyboard except the return button. I am unsure at this point if it is something special to my program, but the only thing different I have been doing is using the SB82 bit after having read that most wonderful thread on that subject. (lowered my screen numbers by more than 50% because I can do multiple integer entries on one sceen ). Now this is a remarkably small price to pay if it is indeed a side effect of using the SB82 function, but I just figured I would note it so that if the U90 ladder is updated it maight have a chance to be corrected in a normal update process. The return/enter button on the JAZZ works just fine. It is only the virtual keypad in the computer screen in debug mode. Also, I have seen where when entering a variable with the onscreen debug keypad, the last position in any entry just shows a tilda symbol and not the entered value. The value does get entered correctly it just does not show correctly on the virtual 2 line display . Thank You Keith
×
×
  • Create New...