Function Manual 01/2014 BRAUMAT Function description Tank Cooling Management BRAUMAT with STEP 7 https://support.industry.siemens.com/cs/ww/en/view/80142364
Siemens AG 2014 All rights reserved Warranty and liability Warranty and liability Note The Application Examples are not binding and do not claim to be complete regarding the circuits shown, equipping and any eventuality. The Application Examples do not represent customer-specific solutions. They are only intended to provide support for typical applications. You are responsible for ensuring that the described products are used correctly. These application examples do not relieve you of the responsibility to use safe practices in application, installation, operation and maintenance. When using these Application Examples, you recognize that we cannot be made liable for any damage/claims beyond the liability clause described. We reserve the right to make changes to these Application Examples at any time without prior notice. If there are any deviations between the recommendations provided in these application examples and other Siemens publications e.g. Catalogs the contents of the other documents have priority. We do not accept any liability for the information contained in this document. Any claims against us based on whatever legal reason resulting from the use of the examples, information, programs, engineering and performance data etc., described in this Application Example shall be excluded. Such an exclusion shall not apply in the case of mandatory liability, e.g. under the German Product Liability Act ( Produkthaftungsgesetz ), in case of intent, gross negligence, or injury of life, body or health, guarantee for the quality of a product, fraudulent concealment of a deficiency or breach of a condition which goes to the root of the contract ( wesentlichevertragspflichten ). The damages for a breach of a substantial contractual obligation are, however, limited to the foreseeable damage, typical for the type of contract, except in the event of intent or gross negligence or injury to life, body or health. The above provisions do not imply a change of the burden of proof to your detriment. Any form of duplication or distribution of these Application Examples or excerpts hereof is prohibited without the expressed consent of Siemens Industry Sector. Caution The functions and solutions described in this article confine themselves to the realization of the automation task predominantly. Please take into account furthermore that corresponding protective measures have to be taken up in the context of Industrial Security when connecting your equipment to other parts of the plant, the enterprise network or the Internet. Further information can be found under the Item-ID 50203404. http://support.automation.siemens.com/ww/view/en/50203404 Siemens Industry Online Support This article is taken from the Siemens Industry Online Support. The following link takes you directly to the download page of this document: http://support.automation.siemens.com/ww/view/en/80142364 Entry-ID: 80142364, V1.0, 01/2014 2
Siemens AG 2014 All rights reserved Table of contents Table of contents Warranty and liability... 2... 4 1.1 Introduction... 4 1.2 Cooling strategies... 6 1.3 Monitoring... 10 1.4 How to integrate the function... 12 1.5 How to engineer the function... 12 1.5.1 Parameterization... 12 1.5.2 PLC Engineering... 12 1.6 Interface... 14 1.6.1 Parameters - Global Data... 14 1.6.2 Parameters - Local Data... 15 2 Contact... 17 3 History... 18 Entry-ID: 80142364, V1.0, 01/2014 3
Copyright Siemens AG 2014 All rights reserved 1.1 Introduction The function block "tank cooling" controls the cooling zones (valves) of a tank depending on the level and the preselected temperature zones. The settings (target temperature, duration, ramp function) and the number of up to 8 temperature sensors and cooling zone valves, including their allocation can be specified by means of parameterization. For various errors and limit alarm messages are available. The function could be integrated in BRAUMAT with the user parameter file TankCool.pcu, readable with the BRAUMAT Parameterization. Up to 128 datasets (tanks) are predefined with this function. If the DB is extended, more datasets could be used. Temperature sensor selection Up to 8 cooling zones with valves and integrated temperature controllers Up to 8 temperature sensors Free assignment of cooling zone / temperature sensor If the level in the tank does not reach the sensor the lowest sensor is used If the level reaches the sensor, the system is using the defined sensor automatically Figure 1-1: Temperature sensor selection Sensor 4 Sensor 3 Selected sensor Sensor 2 Used sensor Sensor 1 Entry-ID: 80142364, V1.0, 01/2014 4
Copyright Siemens AG 2014 All rights reserved Cooling zone selection In the recipe cooling zones can be released. A cooling zone is only used when the level in the tank is high enough. If no selected cooling zone is covered by product, the cooling is disabled. Figure 1-2: Cooling zone selection Sensor 4 Sensor 3 Released but not used Released but not used Sensor 2 Used cooling zone Sensor 1 Entry-ID: 80142364, V1.0, 01/2014 5
Copyright Siemens AG 2014 All rights reserved + 1.2 Cooling strategies Cooling zones are activated by following different strategies: Fermenting Maturation Cool down by ramp function Normal cooling Strategy: Fermentation ( Fermentation_On = 1 + Auto_Zones_On=1) The most top released cooling zone is used for cooling first. If the actual temperature (AV_TempSensor_x) is higher than the set point (SP_TankTemp) and a parameterized time (TimeDelay_NextZone=1) is elapsed, the next released lower cooling zone is used in addition to keep the temperature. The controller has a hysteresis (Hyst_TempContr) to avoid opening / closing the valves too often. If the temperature deviation is too high all released cooling zones will be used immediately. Figure 1-3: Fermentation Sensor 4 Sensor 3 + Sensor 2 Sensor 1 Entry-ID: 80142364, V1.0, 01/2014 6
Copyright Siemens AG 2014 All rights reserved Strategy: Maturation ( Maturation_On =1 + Auto_Zones_On=1) The lowest cooling zone is released used for cooling first. If the actual temperature is higher than the set point and a parameterized time is elapsed, the next released higher cooling zone is used in addition to keep the temperature. The controller has a hysteresis to avoid opening / closing the valves too often. Figure 1-4: Maturation Sensor 4 Sensor 3 Sensor 2 + + Sensor 1 Entry-ID: 80142364, V1.0, 01/2014 7
Copyright Siemens AG 2014 All rights reserved Temp. diff. Strategy: Cool down by Ramp ( Cooling_On =1) with a Ramp-flag The set point of temperature is continuously reduced by a ramp function to cool down the tank smoothly. There are two different ramp modes. The ramp value will be calculated continuously by set point final tank temperature, actual tank temperature and total time for the ramp. Parameters: Ramp-flag TempRampTT_On=1 Rule: (AV_TankTemp-SP_TankTemp)*10 / SP_TimeCooling >= 1 The calculateted setpoint SP_TempCalc is related to SP_TankTemp, SP_TimeCooling and AV_TimeCooling After activation of Cooling_On, the value of SP_TempCalc will be set to next calculated value The ramp is defined by the set point temperature / hour increase or decrease. Parameters: Ramp-flag TempRampKH_On =1 SP_RampTemp KH which has the Unit K/hour Every full hour the cooling valves will be opening till reaching the new calculated setpoint (= actual value -/+ SP_RampTempKH ) This cooling scenario will be stopped, when reaching the SP_TankTemp Figure 1-5: Cool down by ramp Temperature set point Time Figure 1-6: Real trend with ramp steps ( cooling down from 30 to 10 C in 10 minutes ) When none of ramp-flags is set, the strategy Normal cooling will be active. Entry-ID: 80142364, V1.0, 01/2014 8
Copyright Siemens AG 2014 All rights reserved Strategy: Normal cooling ( Cooling_On = 1) All released cooling zones are used to reach as fast as possible the set point temperature. Entry-ID: 80142364, V1.0, 01/2014 9
Copyright Siemens AG 2014 All rights reserved 1.3 Monitoring Temperature monitoring The lowest cooling zone is monitored: to avoid freezing for deviating too high and too low temperature For parameters see table below: Table 1-1 Set point Alarm Temp_FreezeAlarm (global) Alarm_TempFreeze Temp_AlarmHigh (local) Alarm_TempHigh Temp_AlarmLow (local) Alarm_TempLow The values Temp_AlarmHigh/Low are relative values related to calculated setpoint Alarm_Temp_Tank_Alarm_high is set, if Temp_Tank_act > Temp_Tank_Setpoint + Temp_Tank_Alarm_hig Alarm_Temp_Tank_Alarm_low is set, if Temp_Tank_act < Temp_Tank_Setpoint - Temp_Tank_Alarm_low Time monitoring The module provides four monitoring timers: Max time fermentation Max storage time Max time CIP Max time sterile The values are defined for all tanks together in the global data set. The start flags are defined in the local record, the actual values as well. For parameters see table below: Table 1-2 Time monitoring set point (global) actual value start flag (local) Max time fermentation SP_AlarmFermenTime AV_FermenTime Fermentation_On Max time storage SP_AlarmStoreTime AV_StorageTime TankStorage Max time CIP SP_AlarmCIPTime AV_CIPTime TankCleaned Max time sterile SP_AlarmSteriTime AV_SterileTime TankSterile Entry-ID: 80142364, V1.0, 01/2014 10
Copyright Siemens AG 2014 All rights reserved More Parameters More parameters see table below: Table 1-3 TempRampIncr_On Ramp increase, decrease = 0: Ramp cooling down = 1: Ramp temperature going up (by fermentation) Hyst_Level Hysteresis level Level hysteresis, to avoid too fast switching Hyst_TempContr Hysteresis temperature Temperature hysteresis, to avoid too fast switching TimeDelay_NextZone Delay time in min Delay time for switch on/off of the zones TempDiff_NxtZo_On TempDiff_NxtZo_Off Temperature difference switch on more zones Temperature difference switch off more zones Temperature difference for switch on of more zones Temperature difference for switch on off more zones Temp_PreStop Pre stop temperature Cooling valves are switched off, if temperature actual value = temperature set point - pre stop temperature Number_MinZones (globalerdatensatz) Minimum number of cooling zones Minimum number of cooling zones during cooling Status_Tank free user tank status Here the user can store tank status to be displayed by text list in BRAUMAT. LevelTank_DB, LevelTank_DW Pointer on the tank level Pointer on the tank level in the dataset of the data management. NOTE This is a user specific solution and not part of the BRAUMAT Standard Library. You are invited to give feedback for improvements. Entry-ID: 80142364, V1.0, 01/2014 11
Copyright Siemens AG 2014 All rights reserved 1.4 How to integrate the function Please follow the steps of the table below to integrate the function. Table 1-4 No. Action 1. Take the project Tankcool and copy all blocks (FB410, FC 410, FC 411, UDT 410 and DB 410) in the folder of your STEP 7 project. If you get only the source-files, compile first. 2. Call UC FB 410 in FB 1225 (1 second time slice). 3. Download the according blocks to the PLC. 4. Copy the parameter file Tankcool.pcu to the folder <drive>:\windcs\pcu.00x\.. and restart BRAUMAT. 5. 1.5 How to engineer the function 1.5.1 Parameterization Tank geometry Start Parametrization ->Tankcool -> Dataset n Defines these parameters: Number of cooling zones (NumberOfZones) Level of cooling zones (LevelZone_1.. n ) Level of cooling probes (LevelSensor_1.. n) Map zone to sensor (Zone_x_SensorNr). Link the sensor with the actual value (AV_TempSensor_1.. n) Tank parameter Link the temperature setpoint, cooling time set and actual value (SP_TankTemp, SP_TimeCooling, AV_TimeCooling) Defines these parameters: 1.5.2 PLC Engineering Hysteresis tank volume (Hyst_Level) Hysteresis temperature controller (Hyst_TempContr) Pre stop temperature (Temp_PreStop) Temperature alarm (Temp_AlarmLow/High) Temperature ramp (SP_TempRampKH) Delay time next zone (TimeDelay_NextZone) Activation of the cooling valves, alarm engineering Has to be engineered in FB410, Network 3, 4. Here one Example for tank 1: Network Entry-ID: 80142364, V1.0, 01/2014 12
Copyright Siemens AG 2014 All rights reserved // Controlling zone output valves A "TankCoolingDB".au[1].Output_Tank_Limit_1_x = "ICM4.020-T1-V1-CA" A "TankCoolingDB".au[1].Output_Tank_Limit_2_x = "ICM4.021-T1-V2-CA" A "TankCoolingDB".au[1].Output_Tank_Limit_3_x = "ICM4.022-T1-V3-CA" Network // Alarms on Tank 1 A "TankCoolingDB".au[1].Alarm_Temp_Alarm_up_x = "MSG001" A "TankCoolingDB".au[1].Alarm_Temp_Alarm_lo_x = "MSG002" A "TankCoolingDB".au[1].Alarm_Ferment_Time_x = "MSG003" A "TankCoolingDB".au[1].Alarm_Matur_Time_x = "MSG005" A "TankCoolingDB".au[1].Alarm_CIP_max_Time_x = "MSG006" Entry-ID: 80142364, V1.0, 01/2014 13
Copyright Siemens AG 2014 All rights reserved 1.6 Interface Here are all Parameters of the global dataset and local dataset. 1.6.1 Parameters - Global Data Dataset can be modified by Parametrization -> Tankcool -> Global Data. The following table describes the parameters (global): Table 1-5 BRAUMAT Param field Data type Comment Anz Integer 1 255, number of tanks (dataset) Number_MinZones Byte Minimal number of zones LowZoneFerment_On Boolean 0 = off 1 = switch on lowest zone during fermentation Summ_AlarmTemp Boolean Group alarm temperature limit Summ_AlarmTime Boolean Group alarm time limit FillingStartZone_x Integer <= Level of filling start zone SP_AlarmFermenTime Integer Global set point for fermentation monitoring in hrs. SP_AlarmStoreTime Integer Global set point for storage monitoring in hrs. SP_AlarmSteriTime Integer Global set point for sterile monitoring in hrs. Temp_FreezeAlarm Integer Global set point for freeze alarm Version_V7 Bool Version_V7=1: AIN, Level, Temp.,Setpoint values are interpreted as REAL now. NOTE With BRAUMAT version V7 you have to use real values for all analog parameters. That means, you have to use for example for SP_TankTemp: DFM5-8, Setpoint (REAL) SP_TimeCooling: DFM5-8, Setpoint (REAL) AV_TankTemp: DFM5-8, ActualValue (REAL) LevelTank AIN, ProcValAct (REAL) AV_TempSensor_x AIN, ProcValAct (REAL) LevelZone_x INT-value x 10 LevelSensor_x INT-Value x 10 Entry-ID: 80142364, V1.0, 01/2014 14
Copyright Siemens AG 2014 All rights reserved 1.6.2 Parameters - Local Data Dataset can be modified by Parametrization -> Tankcool -> Dataset x. The following table describes the parameters (local): Table 1-6 BRAUMAT Param field Data type Comment Cooling_On Boolean 1 = Enable Cooling. Main switch for tank cooling Maturation_On Boolean 1 = Tank in Maturation, needed for AutoZones_On and time monitoring AutoZones_On Boolean Switch on auto zones Fermentation: zones selection top down maturation, storage zones selection bottom up Fermentation_On Boolean 1 = tank in Fermentation, needed for AutoZones_On and time monitoring TankStorage Boolean 1 = tank in Storage, needed for AutoZones_On andtime monitoring. TankCleaned Boolean 1 = tank in Cleaned, needed for time monitoring setpoint in Global- Data.SP_AlarmCIPTime. In case of alarm in Local- Data.Alarm_CIPTime is activated. TankSterile Boolean 1 = tank in sterile, for time monitoring setpoint SP_AlarmSterileTime. In case of alarm in Local- Data.Alarm_Sterile_Time is activated. TempRampTT_On Boolean 1 = the ramp is calculated by SP_TankTemp and SP_TimeCooling. TempRampKH_On Boolean 1 = ramp is calculated by SP_RampTempKH TempRampIncr_On Boolean 0 = default, cooling ramp 1 = heating by fermentation, temperature should go up. Hyst_Level Integer Hysteresis tank level (in %) Hyst_TempContr Byte Hysteresis temperaturecontroller (1 = 0.1 K) Temp_PreStop Byte Value pre stop temperature (1 = 0.1 K) Temp_AlarmHigh Integer Value temperature too high, alarm (1 = 0.1 K), Alarm_TempHigh is activated. Temp_AlarmLow Integer Value temperature too low, alarm (1 = 0.1 K), Alarm_TempLow is activated. TimeDelay_NextZone Integer Delay time for switch the next coolingzone (1 = min). TempDiff_NxtZo_On Integer Temperaturedifference for switch on next coolingzone (1 = 0.1 K). TempDiff_NxtZo_Off Integer Temperaturedifference for switch off next coolingzone (1 = 0.1 K). SP_RampTempKH Byte Setpoint for ramp as temperaturevalue / hour (1 = 0.1 K/hour). Entry-ID: 80142364, V1.0, 01/2014 15
Copyright Siemens AG 2014 All rights reserved BRAUMAT Param field Data type Comment SP_TankTemp Source Link for setpoint tank temperature (normally DFM). SP_TimeCooling Source Link for setpoint cooling temperature (normally DFM). AV_TimeCooling Source Link for actual value cooling time. SP_TempCalc Integer Temperatureregulation: calculated temperature setpoint Status_Tank Byte Free user databyte for tankstatus. LevelTank_DB Integer Pointer data block with tank level. LevelTank_DW Integer Pointer dataword with tank level. LevelTank Source Link for actual level value CountZoneTopDown Byte Zonecounter for mode top down NumberOfZones Byte Number of zones of tank. LevelZone_1 8 Integer Adjust of level position (%) for the position zone 1 till 8. LevelSensor_1 8 Integer Adjust of probe position (%) for the position zone 1 till 8 Zone_x_SensorNr Integer 1 8: Map zone to probe, which probe belongs to which zone. AV_TempSensor_x Source Link for actual temp. value Zone_1_On 8 Boolean Feedback valve for zone 1till 8. Alarm_TempHigh, _Low Boolean Feedback alarm temperature high/low Alarm_FermentTime Boolean Alarm fermentation time exceeded if: AV_FermentTime = GlobalDatum.SP_AlarmFermentTime Alarm_MaturTime Boolean Alarm storage time exceeded if: AV_MaturTime= GlobalDatumSP_AlarmStorageTime Alarm_CIPTime Boolean Alarm CIP time exceeded if: AV_FermentTime = GlobalDatum.SP_AlarmCIPTime Alarm_SterilTime Boolean Alarm sterile time exceeded if: AV_SterileTime = GlobalDatum.SP_AlarmSterileTime Alarm_TempFreeze Boolean Alarm freezing time exceeded if:alarm_tempfreeze = GlobalDatum. SP_TempFreezeAlarm AV_FermenTime Integer Actual value, fermentation time AV_StorageTime Integer Actual value, storage time AV_CIPTime Integer Actual value, CIP time AV_SterileTime Integer Actual value, sterile time Entry-ID: 80142364, V1.0, 01/2014 16
Copyright Siemens AG 2014 All rights reserved 2 Contact 2 Contact Stefan Schranner Siemens AG IndustrySector I IAAS PAPM&BD B Schweinfurter Str. 1 97080Würzburg Germany mailto: stefan.schranner@siemens.com Entry-ID: 80142364, V1.0, 01/2014 17
Copyright Siemens AG 2014 All rights reserved 3 History 3 History Table 3-1 Version Date Modifications V1.0 11/2013 First version Entry-ID: 80142364, V1.0, 01/2014 18