FYI, Additional .NONLOP/ZONE Control info that is helpful. Jaime Claramunt wrote to Tom VandeWater: "Which one defines meas > setpoint zone, LZONE ? (assuming err=spt-meas)" Jaime, This is another good question that is not well defined in any of the Foxboro documentation that I have read and the answer depends on what value you have for .INCOPT If .INCOPT = 0, (INC/DEC or Reverse control action), .ERROR value is calculated as you say ie: .ERROR = (.SPT - .MEAS) example: .SPT = 500 .MEAS = 550 500 - 550 = -50.0 If .INCOPT = 1, (INC/INC or Direct control action), Foxboro computes the .ERROR value but reverses/changes the sign: .ERROR = -(.SPT - .MEAS) example: .SPT = 500 .MEAS = 550 -(500 - 550) = +50.0) .ERROR = +50.0 .LZONE always applies to a negative .ERROR value .HZONE always applies to a positive .ERROR value So you can see that the meaning of HZONE doesn't always mean High Zone above setpoint and LZONE doesn't mean Low Zone below setpoint because that changes when the .INCOPT value changes. If .INCOPT = 0 .LZONE is active when .MEAS > .SPT .HZONE is active when .MEAS < .SPT If .INCOPT = 1 .LZONE is active when .MEAS < .SPT .HZONE is active when .MEAS > .SPT I know, COMPLICATED, but true! Tom VandeWater Control Systems Developer/Analyst Dow Corning Corporation Carrollton, KY USA -----Original Message----- From: Jaime Claramunt R. (Inforsa) [mailto:jclaramunt@xxxxxxxxxxxxxxx] Sent: Wednesday, January 19, 2005 2:54 PM To: tom.vandewater@xxxxxxxxxxxxxx Subject: RE: [foxboro] NONLOP function IMPORTANT READ THIS Tom, Thx for this point...now I beginning to get it Which one defines meas > setpoint zone, LZONE ? (assuming err=spt-meas) Regards Jaime -----Mensaje original----- De: foxboro-bounce@xxxxxxxxxxxxx [mailto:foxboro-bounce@xxxxxxxxxxxxx]En nombre de tom.vandewater@xxxxxxxxxxxxxx Enviado el: Miercoles, 19 de Enero de 2005 16:29 Para: foxboro@xxxxxxxxxxxxx Asunto: Re: [foxboro] NONLOP function IMPORTANT READ THIS FYI, User ALERT concerning .NONLOP differences between old PIDX/XE blocks and new PIDA blocks!! Foxboro made a big boo boo when they built the PIDA block. This may be because the folks that built it read their own documentation for a PIDX block which incorrectly states: "HZONE High Zone is a connectable, settable, real input that defines, in terms of the error, the upper limit of the zone in which the nonlinear gain option is exercised. HZONE is expressed as a percentage of the measurement span." HZONE in a PIDX/XE block is actually defined in Engineering Units instead of percentage of the measurement span. It is expressed as percentage of the measurement span only in the new PIDA blocks. I know this because we are in the process of converting all of our PID, PIDE, PIDX, and PIDXE blocks to PIDA in order to utilize some of the new functions provided by the PIDA block, (i.e. setpoint ramping .SPROPT, deviation alarm delay .DEVTIM, and ZONE control .NONLOP.) It really created problems because I used the PIDX/XE block settings for .HZONE / .LZONE in the new PIDA blocks and essentially lost control of the process. There is a significant issue concerning the .NONLOP because the old blocks HZONE and LZONE settings utilized engineering unit values and the PIDA's use % of fullscale for HZONE and LZONE. An example that you can easily build in an active controller follows: PIDX block for FC0001 is a steam flow controller that has a range of 0 - 1,000 LB/HR NONLOP = 1 (USE .HZONE, .LZONE, .KZONE SETTINGS) HZONE = 100 (LB/HR) LZONE = 100 (LB/HR) KZONE = 0 (NO GAIN APPLIED OR OUTPUT CHANGE WHEN .MEAS IS LESS THAN 100 LB/HR ABOVE OR BELOW SETPOINT) (USE GAIN DEFINED BY .PBAND AND INTEGRAL DEFINED BY .INT WHEN .MEAS IS GREATER THAN 100 LB/HR ABOVE OR BELOW SETPOINT. i.e. OUTSIDE THE ZONE). If .SPT = 500, .OUT = 50, and .MEAS = 500 the block output would not change until .MEAS > 600 or < 400. PIDA block replacement for FC0001 is a steam flow controller that has a range of 0 - 1,000 LB/HR NONLOP = 1 (USE .HZONE, .LZONE, .KZONE SETTINGS) HZONE = 100 (% of full scale) LZONE = 100 (% of full scale) KZONE = 0 (NO GAIN APPLIED OR OUTPUT CHANGE WHEN .MEAS IS LESS THAN 100 % ABOVE OR BELOW SETPOINT) (USE GAIN DEFINED BY .PBAND AND INTEGRAL DEFINED BY .INT WHEN .MEAS IS GREATER THAN 100 % ABOVE OR BELOW SETPOINT. i.e. OUTSIDE THE ZONE, WHICH IS IMPOSSIBLE). If .SPT = 500, .OUT = 50, and .MEAS = 500 the block output would not change until .MEAS > 1,500 or < -1000). -----Original Message----- From: foxboro-bounce@xxxxxxxxxxxxx [mailto:foxboro-bounce@xxxxxxxxxxxxx]On Behalf Of Johnson, Alex (Foxboro) Sent: Wednesday, January 19, 2005 12:40 PM To: foxboro@xxxxxxxxxxxxx Subject: Re: [foxboro] NONLOP function Please use the PIDA block and not the: PID PIDE PIDX PIDXE blocks. The PIDA does what the others do and much more. Regards, Alex Johnson Invensys Process Systems Invensys Systems, Inc. 10707 Haddington Houston, TX 77043 713.722.2859 (voice) 713.722.2700 (switchboard) 713.932.0222 (fax) ajohnson@xxxxxxxxxxx -----Original Message----- From: foxboro-bounce@xxxxxxxxxxxxx [mailto:foxboro-bounce@xxxxxxxxxxxxx] On Behalf Of Brian Bates Sent: Wednesday, January 19, 2005 9:35 AM To: foxboro@xxxxxxxxxxxxx Subject: Re: [foxboro] NONLOP function Jaime I use this to control the level of a tank, that has minor upsets in level every 15 minutes when filters are backwashed. When the backwash starts, the tank level starts to drop, and without the NLOPT, the Prop. action would open the feed valve, which causes a swing in the feed chemicals (not desirable). This configuration allows the controller to (almost) ignore the backwash upsets. The controller is configured as follows: NONLOP = 1, HZONE = 0.2, LZONE = 0.2, and KZONE = 0.1 (PBAND = 100). When the spt deviation is between +0.2, and - 0.2, the controller gain is (1.0 X 0.1) = 0.1 (1,000% PB). If the error is larger than + or - 0.2, the gain is 1 (100% PB). It is confusing because Foxboro uses PB for setting controller gain, and the KZONE is a gain factor, so you must convert PB to gain to calculate the effect of your chosen KZONE. -Regards, Brian Bates. "Jaime Claramunt R. (Inforsa)" To: foxboro@xxxxxxxxxxxxx <jclaramunt@infor cc: sa.cmpc.cl> Subject: [foxboro] NONLOP function Sent by: foxboro-bounce@fr eelists.org 01/19/2005 11:24 AM Please respond to foxboro Hi List, Does anybody knows how to work with NONLOP option on PIDXE block ? Manuals are a little bit confusing...about HZONE and LZONE (percent of span, absolute value, of error,) Do you have an actual case ? Thx Jaime Claramunt INFORSA paper mill _______________________________________________________________________ This mailing list is neither sponsored nor endorsed by Invensys Process Systems (formerly The Foxboro Company). Use the info you obtain here at your own risks. Read http://www.thecassandraproject.org/disclaimer.html foxboro mailing list: //www.freelists.org/list/foxboro to subscribe: mailto:foxboro-request@xxxxxxxxxxxxx?subject=join to unsubscribe: mailto:foxboro-request@xxxxxxxxxxxxx?subject=leave _______________________________________________________________________ This mailing list is neither sponsored nor endorsed by Invensys Process Systems (formerly The Foxboro Company). Use the info you obtain here at your own risks. Read http://www.thecassandraproject.org/disclaimer.html foxboro mailing list: //www.freelists.org/list/foxboro to subscribe: mailto:foxboro-request@xxxxxxxxxxxxx?subject=join to unsubscribe: mailto:foxboro-request@xxxxxxxxxxxxx?subject=leave _______________________________________________________________________ This mailing list is neither sponsored nor endorsed by Invensys Process Systems (formerly The Foxboro Company). Use the info you obtain here at your own risks. Read http://www.thecassandraproject.org/disclaimer.html foxboro mailing list: //www.freelists.org/list/foxboro to subscribe: mailto:foxboro-request@xxxxxxxxxxxxx?subject=join to unsubscribe: mailto:foxboro-request@xxxxxxxxxxxxx?subject=leave _______________________________________________________________________ This mailing list is neither sponsored nor endorsed by Invensys Process Systems (formerly The Foxboro Company). Use the info you obtain here at your own risks. Read http://www.thecassandraproject.org/disclaimer.html foxboro mailing list: //www.freelists.org/list/foxboro to subscribe: mailto:foxboro-request@xxxxxxxxxxxxx?subject=join to unsubscribe: mailto:foxboro-request@xxxxxxxxxxxxx?subject=leave