temperature corrected speed in mark5 control system

  • Thread starter SATYANARAYAN PRADHAN
  • Start date
S

Thread Starter

SATYANARAYAN PRADHAN

What is this temperature corrected speed (TNHCOR) of the compressor, as it has been mentioned that during startup or shutdown of the gas turbine the IGV opens or closes as a function of temperature corrected speed (TNHCOR).

From CSP I found that TNHCOR is generated by multiplication of TNH and CTIM with some shift (about -4).

One more thing, what is this shift function? so far as I know whenever we are multiplying any two different quantities with different units, then we need to give a shift. Can anyone please explain this with an example, and how we can know how much shift we should give? Thanks.
 
Temperature-corrected speed (TNHCOR) is exactly as you say: It is a speed signal which is "biased" by compressor inlet air temperature, taking into account the variations in air density caused by variations in compressor inlet air temperature. (Air density decreases as compressor inlet air temeprature increases; it increases as CTIM decreases.) Variations in air density affect the compressor operating characteristics--specifically the surge and stall limits. By "biasing" IGV opening with temperature-corrected speed, the desire is to increase the margin of operation of the compressor--that is, operate it closer to the limits without exceeding them. (Axial compressor design and operation is very specialized and in some cases counterintuitive; it requires a LOT of mathematics to describe what happens and when and how.)

How effective or important is this bias? Effective- and important enough that many units with temperature-corrected speed will be tripped (emergency shutdown) if the compressor inlet thermocouples disagree by more than a pre-determined amount. It's a small bias (the temperature correction), but it's very important to the protection of the unit.

So..., someone's finally brought up the other "never-ending" subject (the Droop topic hasn't even really begun to fade from memory!). It was only a matter of time.... This is one reason this response is so long in coming....it is hoped that we can put this subject to rest once and for all. SHIFTs are kind of like Droop speed control--very difficult to explain, but very simple in reality.

The short answer is: The Mk V--and the Mk IV--use binary, two's complement "fixed point" mathematics to perform mathematical manipulations (addition, subtraction, multiplication, division, etc.) on values which are depicted and displayed in decimal format. Most of us use decimal "floating point" mathematics to perform our calculations. So, the designers made it easy for us to view and understand what's happening by not forcing us to view (and convert) binary values--which is what the control systems actually use internally!

Since the blocks used to perform the calculations can operate with any input value/resolution and may be required to produce an output of any resolution (in other words, they are "generic" blocks), the blocks require an additional parameter (the SHIFT) to achieve the desired binary output value/resolution. The other option would have been to develop an almost infinite number of blocks to operate on any combination of inputs to produce any desired output resolution with the SHIFT value hard-coded into the block; then the designers and programmers would have had to choose from a nearly infinite number of blocks. It's unfortunate that depicting the SHIFT parameter causes so much confusion and frustration.

So, if two numbers (displayed in decimal format) are being multiplied in the Mk IV and Mk V, the output of the multiplication block (in decimal format) is simply the result of the multiplication of the decimal input values (for example, 2 x 2 = 4). The SHIFT is only required for the binary manipulation of the numbers--not for the decimal manipulation. For all intents and purposes, one can "ignore" the SHIFT since it's really a "background" thing.

Too many people get hung up on SHIFTs, and give up on learning how to read the CSP because they think need to fully understand SHIFTs. Kind of understandable, since it's never really explained to anyone why the SHIFT is required and why it is shown in the CSP or the SpeedTronic elementary. From looking at the values on the displays, it seems that the Mk V and Mk IV are using floating-point decimal math; so the natural questions is: What is this SHIFT thing and why is it shown on the drawings/rung displays?

The only time one really needs to completely and fully understand SHIFTs and to be able to calculate what a SHIFT value needs to be is when they are using blocks which mathematically manipulate analog values that require a SHIFT to get the result of the operation to have the proper "resolution" (also sometimes referred to as "binary decimal point placement"). The other time one might need to fully understand shifts is if some custom, site-specific sequencing which uses blocks requiring shifts is not operating as intended or if the results of the calculations do not seem to be what one would expect, then one would want to verify the SHIFT values being supplied to the block(s).

For standard sequencing supplied with a running unit, the shift values should all be correct--therefore, one can just look at the block and have a VERY high degree of confidence that the result of the calculation has the proper binary resolution. Multiplying percent speed (TNH) by inlet temperature

In later versions of the Mark V Application Manual, GEH-6195, Appendix C-3 is titled "Mark V Math", and Sect. C-3.3.3 attempts to explain why "shifts" are required and how to calculate the amount of a shift to be used. For the strong of heart, there are examples of calculating shifts in Sect. C-3.3.3 of the Mark V Application Manual.

If you have concerns about some specific SHIFT values, please provide as much information as possible about the specific sequencing (scale code types of the inputs and the outputs of the blocks as well as the values of the SHIFT paramaters supplied to the blocks) and we will attempt to confirm the SHIFT values.

[UNLESS you are adding sequencing elements which requires shifts it is NOT necessary to modify any shift value in any existing sequencing which was supplied with the unit. DOING SO CAN HAVE CATASTROPHIC EFFECTS--of this you can have NO doubts!.]

markvguy
 
S

SATYANARAYAN

Thanks, I will try to find out this shift function by referring my application manual appendix C-3. Can you please explain the concept of surge and stall limit of axial flow compressor?

If we see the graph between CPD and IGV angle, there is a broken line just before IGV starts opening from 34 (approx.) to minimum full speed angle 57 degree. The region left of the broken line is the compressor surving region, am I right? also in that curve there is a region that shows negative pressure at 5th stage extraction, if compressor is allowed to operate in this region then there is another air operated valve number exactly I don't remember (I think VA141) opens to allow 11th stage air to be supplied for bearing cooling and sealing. But in our GE Frame 9E machines, I don't find such valve.

Regards,

Satyanarayan
 
R

Rahul P Sharma

It seems "shift" is like a "Rotate" operator in Microprocessor/Microcontroller's assembly programming language... A common example of academic interest is multiply by 2... Say if 10 is to be multiplied by 2... Most Microprocessors/controllers will have a "MUL" instruction to do it... But this instruction takes more machine cycles to execute... However this process can be done in a single machine cycle using a "RL" (Rotate Left) command (in a typical MCS-51 family microcontroller!!)... By "shifting" or rotating a bit one position left wise will always produce a result which is twice the number... So if 10 is to be multiplied by 2 all you have to "instruct" the processor/controller is to Rotate the positions of all the bits, to left, by one position...

10 = 0AH (HEX) = 0000 1010 (in binary)
RL (Rotate Left one bit)
= 00010100 = 14H (HEX)= 20 (Decimal)
RL (Rotate Left one bit again)
= 00101000 = 28H (HEX) 0r 40...

This technique can be used to multiply any number... A multiplication by 3 would require taking the difference between the "first RL" instruction and "second RL" instruction and adding that to the basic number... A Cross compiler does that job for you when you code in higher level languages like "C"... If you see the binary file of any "cross-compiled" code, its more likely that the compiler will use only "addition" and "subtraction" techniques instead of multiplication or division techniques... May be the controllers enjoy more only adding or subtracting the data...

au revoir
Rahul
 
S

speedtronicmarkv

<p>The shift is necessary for the binary mathematics as the markvguy has explained well in detail but may leave many of them confused and actually not needed for a person to understand the CSp and can be conveniently ignored. The following example will give some insight to the application of shift values and will more so be required for developing rungs that involves multiplication and division of analog values.

<p>Let's take an example of the value of TNH_RPM. TNH_RPM= TNH * KTNH_GAIN.
<pre>
units of TNH_RPM is rpm
units of TNH is %
units of KTNH_GAIN is rpm/%.
</pre>
<p>The units above are for us to read but for the Mark-IV/V/VI, the values are binary count system. again coming to the count system, all the values in the CSP are expresed in terms of values corresponding to 2^0 to 2^15, i.e. enigneering units being CNT0 to CNT15. If we take a look at scledata.dat, the corresponding counts of the units are:
<pre>
TNH_RPM - CNT13
TNH - CNT7
KTNH_GAIN - CNT7
</pre>
<p>if we take a look at the algorithm, the multiplication block shows a SHIFT=-1
when TNH of CNT7 is multiplied with KTNH_GAIN of CNT7, we would get TNH_RPM of CNT14, whose resolution is not suitable and the multiplication does not give the intended value. Hence there is a SHIFT of -1 given to make it CNT13. Again, why is it made as CNT13 instead of leaving it as CNT14 value? well, it is an exercise for the reader to find out.
 
The next never-ending topic continues... Let's remove any mystery.

The maximum CDB (Control Signal Database) value for the scale type of PCT, which is the scale type for TNH, is 128. 128 is 2 to the 7th power--a "B" number of 7. The maximum CDB value for the scale type of RPMGN is also 128, so KTNH_GAIN also has a "B" number of 7. When two binary numbers are multiplied, their "B" numbers are added, so the result of TNH time KTNH_GAIN would be a value with a "B" number of 14.

However, the maximum CDB value for TNH_RPM is 8192 (scale code type RPM) is 8192, which is a "B" number of 13, so it's necessary to use a shift of -1 to get the signal scaled from a "B" number of 14 to a "B" number of 13.

To determine the "B" number of a signal, one needs to know the scale code type of the signal and then consult SCLEDATA.DAT to determine the maximum CDB value and convert that number to a power of 2. (Isn't this fun?)

It should be clear that this is all only necessary for the "background" fixed point mathematics used by the processor(s) in the Mark V (and the Mark IV). It's to "adjust" the output to get the "resolution" necessary for the desired scale code type of the output signal.

This is a highly simplified explanation which doesn't fit every situation--but, again, the only time one really needs to know how to calculate SHIFTs is when they're writing or modifying sequencing. In a running turbine control panel which is not exhibiting any problems, the SHIFT values should all be exactly what are required--and should not require modification.

markvguy
 
Top