gromit

MrPLC Member
  • Content count

    265
  • Joined

  • Last visited

Everything posted by gromit

  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. 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.
  3. 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. 
  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. 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"
  6. 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?
  7. 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.
  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. 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.
  11. 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
  12. 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."
  13. 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.
  14. 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?
  15. PLC5 First-out logic

    Thanks pcmccartney1. At the end of the day I finally built and tested the first-out logic as solicited. The average program scan time is under 20 msec, which contributes to the successful operation of the first-out scheme. As mentioned, I fully tested it today with no errors. Tomorrow, we will be starting the skid/system and the first-out logic will be required to assist with identifying inputs which cause intermittent trips or shut downs. FIRSTOUT.pdf FIRSTOUT.RSP
  16. Does anyone have PLC5 First-out logic?
  17. PLC5 First-out logic

    BobLfoot, I believe the latter is what I am looking for, whereby the first bit in a trip string latches in as the culprit that caused the trip...ergo first-out. thanks
  18. FlexI/O RIO baud rate

    Reading through several publications, it appears that cycling power after changing the dip switch settings is the right course of action. Thanks.
  19. After changing the Flex IO baud rate via the S2-3 and S2-4 dip switches, does the new baud rate automatically become active, or must the power be cycled on the Flex I/O adapter ? thanks
  20. I have four timers used in my PLC5 program and want to capture the highest accumulated value of the four, much like the processor maximum scan time, where I can manually reset it. Is there a simple ladder logic scheme that can accomplish this with the PLC5 instruction set? Thanks.
  21. Thanks Mickey... I couldn't figure out how to make the SRT--(Sort) instruction work. Please see the attached logic that works perfectly. MAX_ACC_DDS.pdf
  22. How can I marshall floating point files into integer files to be read by ModbusTCP link?
  23. I was able to create the 2nd order polynomial equation in Excel and used it in the CPT (Compute) instruction. Then, tested it and it works great. THANKS FOR THE ASSISTANCE!