PID Loop and Totalizer Using Analog Input

Hello Everyone

I need to solve the following tasks:

1. Make totalizer using Analog Input signal.

I have MD+ series controller with AI card with Flow Transmitters wired on it. Transmitter measures current flow rate. Engineering units of FT is [kg/hr]

Which block in Control Strategie is right to use to make Totalizer to count

- summary(Total) flow rate of last 2 hours in [kg]

- summary flow  rate of a 24 hours (last day, use 00:00 PST as base point) [tonnes/day]

2. Two flow runs , with an oil in first pipe and depressant in second pipe, with Flow Transmitters, which measuring current flow rate, installed on each pipe as well. Motor operated valve is used to inject depressant into oil pipe. By technology it is needed to inject 200 gramms of Depressant per each tonne of oil. How will PID block for MOV be set? What I think is to add two PID`s and make cascade mode of operating of:

PID1, with following parameters:

PV - FT installed on depressator pipe (4-20mA)

SP - ?

OUT - will be connected to SP of PID2

PID2, with following parameters

PV - FT installed on oil pipe (4-20mA)

SP - ?

OUT - MOV

Kindly advice if have related experience. Thank you in advance!

Daniyar Mamenov

Design & Application Engineer

Projects - ME&CIS

INTECH Process Automation - Kazakhstan Office

  • Hi Daniyar, we normally use an integrator function block to perform the totalising function. This can accumulate the number of kilograms. For your second question you should probably consider using ratio control function block. The oil in your first pipe will be the wild flow input. The ratio controller will then control the setpoint of the second PID to keep it at a known ratio to the first PID flow input. Hope this helps. If you have a system based on PCSD then you will find control modules which provide both ratio control and totalizing.
  • In reply to scottjturner:

    scottjturner said:
    Hi Daniyar, we normally use an integrator function block to perform the totalising function. This can accumulate the number of kilograms. For your second question you should probably consider using ratio control function block. The oil in your first pipe will be the wild flow input. The ratio controller will then control the setpoint of the second PID to keep it at a known ratio to the first PID flow input. Hope this helps. If you have a system based on PCSD then you will find control modules which provide both ratio control and totalizing.

    Thank you. I`ll try it

    Daniyar Mamenov

    Design & Application Engineer

    Projects - ME&CIS

    INTECH Process Automation - Kazakhstan Office

  • In reply to Daniyar Mamenov:

    I developed the last 2 hours average values integration function, so I did following:

    - added INT1(integrator block), set TIME_UNIT (rate time base) = [seconds], set IN = oil flow rate AI, integration type = 0 to ? (demand)

    - added day time event 1 , OUT_D connected to INT1.RESET_IN, so INT1 reset after 1 min pass

    - added INT2(integrator block), set TIME_UNIT (rate time base) = [hours], set IN = INT1.OUT_D (integrated value from INT1by 1 min), integration type = 0 to ? (demand)

    - added day time event 2, OUT_D connected to INT2.RESET_IN, so INT1 reset after 2 hours pass

    - added ACT1 block with expression as follows: '^/X.CV'= '^/INT1.OUT_D'/120

    - added day time event 3, OUT_D connected to ACT1.IN_D, so ACT1 executes every 1.59 hours

    Scan rate for block set to 200ms.

    Everyting working good exept thing

    When check the INT1 average by dividing INT1.OUT_D/60 when 1 min pass, I get good average value per minute, but when 

    divide INT2.OUT_D/120 when 2 hours pass, I get half of average value.

    Please suggest where I could do wrong?

    Thanks in advance

    Daniyar Mamenov

    Design & Application Engineer

    Projects - ME&CIS

    INTECH Process Automation - Kazakhstan Office