Michael Lloyd

MrPLC Member
  • Content count

    963
  • Joined

  • Last visited

Everything posted by Michael Lloyd

  1. Copy Of Add on instruction

    Short version - yes you can. You can add to the original and use that if the belt has a different processor. The easiest is to do it the way you outlined it here
  2. Can you share how you're wiring the loop?
  3. I've never had the luxury, need, or desire to continuously disrupt the process by using a sinewave for a setpoint. I'm sure you haven't either. Typically you step the setpoint, analyze the result, adjust tuning parameters, step change, etc. Maybe the OP is working on an exercise intended to teach loop tuning?
  4. This?: http://www.ni.com/tutorial/6450/en/ Controlled by a PLC or controlled by a PID loop in a PLC?
  5. I don't think you're dense, but if you are you have company :)
  6. I think you can use a PID loop with the analog output fed back to the PV of the loop, then vary the gain and integral values to adjust the output "characteristics". Tap off of the output for an analog representation of the sine wave. I am struggling to understand what type of signal you are looking for. If analog, what is the scale or limits? 0-100%; -100% - 0 - 100%? Actual frequency and amplitude? Frequency in Hz. kHz? I don't think you are looking for a Boolean value but I don't want to assume so I'll ask.
  7. Thinking thru the AOI over lunch- I think I used the wrong value for t. <-- scratch this, more thinking below
  8. Ok... scratch the AOI. I almosts always over complicate the first draft and this was no exception. Besides that it has errors.  How do you see this function working?  The idea behind what you want to implement isn't clear. Are you going to drive an analog output? Linear motor driving a pump? 
  9. There's a SIN function block and you can use SIN( ) in structured text but there's more to it than just the SIN portion of the equation. The value for t seems to be as easy as using a periodic task and then extracting t with: GSV(Task, THIS, Rate, TaskRate); // Get the rate of the task. The units are microseconds t := TaskRate / 1000000;; // Convert Microseconds to Seconds I may tinker with writing an AOI for this if I can find some free time today
  10. There may be an easier way but you could write a structured text routine for the SIN function (copy / paste from Wikipedia): Its most basic form as a function of time (t) is: where: A, amplitude, the peak deviation of the function from zero. f, ordinary frequency, the number of oscillations (cycles) that occur each second of time. ω = 2πf, angular frequency, the rate of change of the function argument in units of radians per second , phase, specifies (in radians) where in its cycle the oscillation is at t= 0.   When  is non-zero, the entire waveform appears to be shifted in time by the amount /ω seconds. A negative value represents a delay, and a positive value represents an advance.  
  11. PID Control Loop

    You're not vaporizing or condensing on the water side so M*Cp*Delta T can used to calculate the amount of heat being input and removed in the system. The steam side is a little more difficult and only useful if you're trying to evaluate the heat exchanger. M = mass flow rate, #/Hr Cp = Specific heat of the fluid. Water is easy. It's 1 Delta T is obvious Hopefully you have flow measurement. Most of the time (in my industry) liquid flow rate is displayed in GPM (gallons per minute) or BPH (barrels and hour). If GPM it's pretty easy to get #/Hr. #/Hr = GPM * 500 * Sg (specific gravity). Water (in your temperature range) has a specific gravity of 1.0-ish, which makes the calc easy. Know how much heat the exchanger is capable of producing (Bob's warnings about hot spots and calcification are spot on) vs how much heat is required is a good start to analyzing whether or not you can speed the process up and it will tell you if the exchanger is fouled. I doubt if you can. You may even have a fouled heat exchanger if it's been in service for a while and the steam system water isn't treated properly. There should be an exchanger spec sheet available. Sometimes (rarely these days) the nameplate has the info that you need. Sensor 1 is your PV since you're are blending cold water with hot water and the desired temperature of the blend is your target.
  12. Add-on Profile install help

    This: EDS allows RSlinks to ID the device (which is why you install them from RSLinx I guess) while AOP tells the logix how to handle the device" seems to agree with you. This is a post by Ken Roach (also a valued member here) from another forum:   which leads me to - does the AOP you installed match the module series?
  13. Add-on Profile install help

    Ok... just making sure it wasn't typo for AOI. Any chance that you need to update the EDS file? https://literature.rockwellautomation.com/idc/groups/literature/documents/pm/1756-pm002_-en-d.pdf    
  14. For some reason I see where other people use the max range of the sensor. You don't have to do that. The PT100 RTD range is -200° C to 600° C (-328° F to 1,112° F). If you only need a small piece of the range then scale it that way. Your PID loops will hug you (from 6' away, while wearing a mask that dust can penetrate) for it. The following is working fine (PT100) in dozens of locations. The range changes but functionality doesn't. This is (clearly) for the IR6I
  15. Add-on Profile install help

    What is an AOP?
  16. /* Source: #N[N187:4]:[N187:5] Dest: #N[N187:1]:0 Length: 20 */   I'm not a PLC5 guy, and I never really needed or desired to use indirect addressing,  but aren't N187; N187:5; N187:1 pointers for indirect addresses? Roughly, If N187:4=0, N187:5 = 1, N187:1 = 2 then the copy command would be Copy N:0 thru N:1 to N:2 (or some version of that)    
  17. RsLogix 5000 Comment Editing While Online

    I understand, I spent about 4 months, off and on, documenting a shade over 9,000 tags in a boiler program this year. It was not fun. I used up all of my cuss words and had to order more. The vendor supplied their best effort and it was almost empty. It was a SLC to CLX conversion using the AB tool. I've never been a fan of that tool but it has been elevated to spawn if satan status. 
  18. RsLogix 5000 Comment Editing While Online

    It might not sound like it would be faster but I've had pretty good luck with putting the Description in Excel, have the Tags open on one screen and the Excel sheet open on the other, and copy / paste from Excel to the tag description. Once you get a rhythm going it goes pretty quickly. You can construct tags in Excel by putting word or word groups in several columns (make sure to put spaces where you need them) and using a formula to create the tag. Something like A1&B1&C1
  19. RsLogix 5000 Comment Editing While Online

    I always forget to think about the various versions. I think I started at 17 and did the bulk of my work on 19. We have everything from 16 to 28 where I'm working now.  That said, I missed this part of the post  I don't use Produced / Consumed tags, neither do my two friends that work a lot with the CLX. Ie I'm no help. A friend of mine checked with his test PLC and confirmed "You can import offline docs only and it won't make you download when you reconnect", which has been my experience. But that's not Produced / Consumed tags.
  20. RsLogix 5000 Comment Editing While Online

    It's been a while since I've done something like this so I wouldn't try it with every tag. Select the first couple of tags and put an x or whatever into the Description. Save. Now try an offline import, then go online. It should have the updated tags even though you upload (NOT DOWNLOAD, unless the equipment needs a rest :o) ). If that doesn't work I'll dig around a bit. I know I've done it before but it's been awhile.   If a tag doesn't have something in the Description it will not show up in an export.
  21. Major Fault

    Great minds and all that :)  
  22. Major Fault

    Which processor? Does it have a memory card in it? if so it can be set up to reload the program from the memory card and if the memory card hasn't been updated it'll load the "older" version of the program. La Marche. Is it an old "UPS" or just a battery charger. The La Marche UPS wasn't the speediest at cutting over. If that's what it is I'm not surprised that it glitched
  23. PID loop tags- In CLX there is a tag array for a PID loop and there is a tag array for a PIDE loop (my preference). They are not the same tag structure each structure is made up of a number of different elements (Real, bool, etc). Then there is the UDT (User Defined Data Type). I have some that area made up of Strings, Bools, Floats, and Integers. UDT's can be made from any and all data types. How do you deal with that?
  24. Find a Tag in RSLogix 5000

    Look for Local:I:1, etc