gromit

MrPLC Member
  • Content count

    265
  • Joined

  • Last visited

Community Reputation

4 Neutral

About gromit

  • Rank
    Sparky

Profile Information

  • Gender Male
  • Country United States

Recent Profile Visitors

4642 profile views
  1. I believe I might have come up with something, as attached..."transfer.acd" I won't know for sure until I can load and test it.
  2. Thanks for your response pcmccartney1, but maybe I didn't ask the question correctly. I guess I just want to know does ControlLogix5000 have a Transfer algorithm, or two-input selector algorithm that can switch between the two inputs at variable ramp rates? Or possibly does RSLogix5000 have an assortment of algorithms or instructions that can be combined to achieve this function? I am actively looking through the various instructions but haven't been able to figure the secret sauce yet. 
  3. RSLogix5000 Transfer function Bumpless transfer between two inputs. If criteria or FLAG is true, then transfer from input-1 to input-2 at a prescribed ramp rate, and then release the output to match the selected input without rate restrictions.  Issue: The issue is that upon the status of particular input (FLAG), the control valve demand jumps from 0 to whatever the output of the PID’s Low Select value is (maybe 50% or 80% or other). Request: Ideally, I would like to mimic or replicate the Transfer algorithms provided in other control systems, as described below . The TRANSFER algorithm performs a transfer between the two inputs.  The output is equal to the IN2 input if the digital input FLAG is TRUE, and the IN1 input if the digital input FLAG is FALSE.  The algorithm automatically performs a bumpless transfer between the track input and the selected input when a tracking request is removed.  The algorithm ramps to the selected input (IN1 or IN2) at the specified track ramp rate (TRR1 or TRR2).  Internal tracking may be selected to allow a bumpless transfer between IN1 and the IN2 inputs.  Individual track ramp rates may be initialized to ramp from the IN1 to the IN2 and from the IN2 to the IN1. Attached is RSLogix5000 program "transfer.acd" Thanks.
  4. I was able to get it to work by using a counter and indirect addressing on a COP instruction, rather than an ACN instruction. Everything is working now.
  5. I was able to enhance the output to display one of 24 different causes, rather than just the trip number. such as Tank-1 Level Hii-Hi, Tank-2 Level Low-Low, FSL-101 Flow Low, etc. Now I just need help with maintaining the last 20 or so events. I tried using indirect addressing to save the string to 20 contiguous string registers, but it says that the ACN instruction doesn't allow indirect addressing. ANY IDEAS?
  6. Criticore, Thanks for your response. I was able to create the basic logic to convert the dd+mm+yyyy , hh+mm+ss and trip number to strings and then concatenate into a string, as follows (21112020 : 153550 > 12)...  BST AIC S:39 ST78:0 NXB AIC S:38 ST78:1 NXB AIC S:37 ST78:2 NXB AIC S:40 ST78:3 NXB AIC S:41 ST78:4 NXB AIC S:42 ST78:5 NXB AIC N77:10 ST78:9 BND    BST LES N77:10 999 XIC N77:0/0 NXB XIC N77:0/15 BND OSR N77:0/3 BST CTU C5:77 20 18 NXB GRT C5:77.ACC 20 RES C5:77 NXB ACN ST78:0 ST78:1 ST78:10 NXB ACN ST78:10 ST78:2 ST78:11 NXB ACN ST78:11 ST78:7 ST78:12 NXB ACN ST78:3 ST78:4 ST78:13 NXB ACN ST78:13 ST78:5 ST78:14 NXB ACN ST78:12 ST78:14 ST78:15 NXB ACN ST78:15 ST78:8 ST78:16 NXB ACN ST78:16 ST78:9 ST78:17 BND  The output is basic and ugly as follows, (dd+mm+yyyy+:+hh+mm+ss+>+trip number)(21112020  : 153550 > 12) and I would like to enhance it, but the current issue is that I am not able to figure out how to maintain the last 20 events. I tried using a counter to save the last 20 events into 20 contiguous string registers, but am not able to use indirect addressing to save the results to ST78:20 through ST78:40. Any assistance would be appreciated. Thanks.
  7. How can I concatenate strings into string files as follows. Any time an event occurs, I want an entry in the string file that includes date/timestamp from real time clock, and also an integer number that correlates with the first out or cause of the event. The integer can be anywhere from 1 to 25, and possibly 100 to indicate the trip has cleared. I would like it to be able to maintain the last 20 events. Please advise. An enhancement to this would be to type out the cause next to the date/timestamp, based on the value of the integer word. Such as...  if N7:0 = 1 "21/11/2020 15:32:24 Tank-1  Level High-High" if N7:0 = 4 "20/11/2020 11:12:04 Tank-2  Temperature High-High" if N7:0 = 2 "17/11/2020 05:31:02 Tank-1  Level Low-Low" if N7:0 = 1 "17/11/2020 03:22:12 Tank-1  Level High-High"
  8. If the PLC5 or SLC500 PLC program is password protected, can I still monitor it online and upload it to my laptop?
  9. Thanks for the clarification and additional details Michael. So the takeaway for PID with the INDEPENDENT equation (.PE=0), is/are as follows... 1)  KI is in repeats per minute rather than minutes per repeat…so the bigger the value speeds up the controller response 2) KP is proportional band rather than gain...so the bigger value slows down the controller response.
  10. Michael, Thanks for responding to my post; however, I am following up with you again to better convey my level of understanding and confusion associated with the PID instruction in a ControlLogix ladder diagram. The PID routine is placed in a 1000 msec periodic task. The PID equation type is INDEPENDENT, as confirmed by .PE = 0. Since the PIDs use the independent equation… …this means that KI is in repeats per minute rather than minutes per repeat…so the bigger the value the faster the integral  response…is this correct? …so now I’m trying to understand KP…is it actually gain, or is it proportional band. If it is gain then the larger number would give larger response for given error. If it is proportional band then the larger number would give smaller response for given error. The current tuning parameters are as follows. PD[].KP and PD[].KI are the proportional and integral tuning parameters, currently set at 0.25 and 0.05 respectively. Please advise. Thanks
  11. Michael, I'm not sure you saw my last reply ...as inserted below. "Looks like I found it  ...it is the PE parameter, which in my case is set to 0 (independent) .PE = 0 So that means that the smaller KP value and the smaller KI value work to speed up the controller response...correct? Thanks."
  12. Looks like I found it  ...it is the PE parameter, which in my case is set to 0 (independent) .PE = 0 So that means that the smaller KP value and the smaller KI value work to speed up the controller response...correct? Thanks.
  13. Super. Thanks for the reply Michael. In determining which equation is used, I was and am unable to determine if it is using dependent or independent equation, so where could I find that parameter?
  14. Can you please explain the ControlLogix PID with respect to tuning a loop? To speed up the control response should KI be increased or decreased, and same question for KP? Thanks.