Commit 062567a6 authored by Claes Sjofors's avatar Claes Sjofors

Internal model controller, CompModeICM and CompICM added. Error display and...

Internal model controller, CompModeICM and CompICM added. Error display and float precision config added to Mode, CompModePID, PID and CompPID
parent d62ebe64
This diff is collapsed.
......@@ -50,5 +50,9 @@ void CompOnOffBurnerFo_exec( plc_sThread *tp, pwr_sClass_CompOnOffBurnerFo *obje
void CompOnOffBurnerFo_init( pwr_sClass_CompOnOffBurnerFo *object);
void CompOnOffZoneFo_exec( plc_sThread *tp, pwr_sClass_CompOnOffZoneFo *object);
void CompOnOffZoneFo_init( pwr_sClass_CompOnOffZoneFo *object);
void CompIMC_Fo_init( pwr_sClass_CompIMC_Fo *plc_obj);
void CompIMC_Fo_exec( plc_sThread *tp, pwr_sClass_CompIMC_Fo *plc_obj);
void CompModeIMC_Fo_init( pwr_sClass_CompModeIMC_Fo *plc_obj);
void CompModeIMC_Fo_exec( plc_sThread *tp, pwr_sClass_CompModeIMC_Fo *plc_obj);
#endif
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -29,22 +29,22 @@
100 20
135 20
101 20
102 243
103 108
104 2.73277
136 2.73277
102 -13
103 10
104 3.22397
136 3.22397
105 100
106 2
106 -2
107 1
108 55
109 1
110 35.55
111 0.499999
116 31
117 13
118 130
119 96
120 0
116 0
117 0
118 176
119 102
120 1
121 Claes context
122 0
126 0.5
......@@ -7283,7 +7283,7 @@ pwr_exe:
2304 $object.SetMinShow##Float32
2305 $object.SetMaxShow##Float32
2306 $local.TrendHold##Boolean
2307 $local.ScanTime##Float32
2307 $object.TrendTimeRange##Float32
99
99
99
......@@ -7762,6 +7762,8 @@ pwr_exe:
1202 1
1203 1
1204 0
1205 $object.SetPrecision##Enum
1206 2
99
13
1302 0
......@@ -7772,6 +7774,7 @@ pwr_exe:
1307
1308
1309 0
1310 2
99
99
99
......@@ -7909,6 +7912,8 @@ pwr_exe:
1202 1
1203 1
1204 0
1205 $object.SetPrecision##Enum
1206 2
99
13
1302 0
......@@ -7919,6 +7924,7 @@ pwr_exe:
1307
1308
1309 0
1310 2
99
99
99
......@@ -8107,7 +8113,7 @@ pwr_exe:
2304
2305
2306 $local.TrendHold##Boolean
2307 $local.ScanTime##Float32
2307 $object.TrendTimeRange##Float32
99
99
99
......@@ -8279,6 +8285,8 @@ pwr_exe:
1202 1
1203 1
1204 0
1205
1206 0
99
99
99
......@@ -8450,6 +8458,8 @@ pwr_exe:
1202 1
1203 1
1204 0
1205
1206 0
99
99
99
......@@ -8617,10 +8627,12 @@ pwr_exe:
103 0
12
1200 $object.ProcVal##Float32
1201 %10.3f
1201 %8.3f
1202 1
1203 1
1204 0
1205 $object.SetPrecision##Enum
1206 0
99
99
99
......@@ -9132,6 +9144,8 @@ pwr_exe:
1202 1
1203 1
1204 0
1205
1206 0
99
99
99
......@@ -9303,6 +9317,8 @@ pwr_exe:
1202 1
1203 1
1204 0
1205
1206 0
99
99
99
......@@ -9440,6 +9456,8 @@ pwr_exe:
1202 1
1203 1
1204 0
1205
1206 0
99
99
99
......@@ -9607,10 +9625,12 @@ pwr_exe:
103 0
12
1200 $object.SetVal##Float32
1201 %10.3f
1201 %8.3f
1202 1
1203 1
1204 0
1205 $object.SetPrecision##Enum
1206 0
99
13
1302 0
......@@ -9621,6 +9641,7 @@ pwr_exe:
1307
1308
1309 0
1310 2
99
99
99
......@@ -9754,10 +9775,12 @@ pwr_exe:
103 0
12
1200 $object.OutVal##Float32
1201 %10.3f
1201 %8.3f
1202 1
1203 1
1204 0
1205 $object.OutPrecision##Enum
1206 0
99
13
1302 0
......@@ -9768,6 +9791,7 @@ pwr_exe:
1307
1308
1309 0
1310 2
99
99
99
......@@ -9905,6 +9929,8 @@ pwr_exe:
1202 1
1203 1
1204 0
1205
1206 0
99
13
1302 0
......@@ -9915,6 +9941,7 @@ pwr_exe:
1307
1308
1309 0
1310 0
99
99
99
......@@ -10052,6 +10079,8 @@ pwr_exe:
1202 1
1203 1
1204 0
1205
1206 0
99
13
1302 0
......@@ -10062,6 +10091,7 @@ pwr_exe:
1307
1308
1309 0
1310 0
99
99
99
......@@ -10199,6 +10229,8 @@ pwr_exe:
1202 1
1203 1
1204 0
1205
1206 0
99
13
1302 0
......@@ -10209,6 +10241,7 @@ pwr_exe:
1307
1308
1309 0
1310 0
99
99
99
......@@ -10346,6 +10379,8 @@ pwr_exe:
1202 1
1203 1
1204 0
1205
1206 0
99
13
1302 0
......@@ -10356,6 +10391,7 @@ pwr_exe:
1307
1308
1309 0
1310 0
99
99
99
......@@ -10493,6 +10529,8 @@ pwr_exe:
1202 1
1203 1
1204 0
1205
1206 0
99
13
1302 0
......@@ -10503,6 +10541,7 @@ pwr_exe:
1307
1308
1309 0
1310 0
99
99
99
......@@ -10640,6 +10679,8 @@ pwr_exe:
1202 1
1203 1
1204 0
1205
1206 0
99
13
1302 0
......@@ -10650,6 +10691,7 @@ pwr_exe:
1307
1308
1309 0
1310 0
99
99
99
......@@ -11372,6 +11414,8 @@ pwr_exe:
1202 1
1203 1
1204 0
1205 $object.OutPrecision##Enum
1206 2
99
13
1302 0
......@@ -11382,6 +11426,7 @@ pwr_exe:
1307
1308
1309 0
1310 2
99
99
99
......@@ -11519,6 +11564,8 @@ pwr_exe:
1202 1
1203 1
1204 0
1205 $object.OutPrecision##Enum
1206 2
99
13
1302 0
......@@ -11529,6 +11576,7 @@ pwr_exe:
1307
1308
1309 0
1310 2
99
99
99
......@@ -12117,11 +12165,13 @@ pwr_exe:
102 65535
103 0
12
1200 $local.ScanTime##Float32
1200 $object.TrendTimeRange##Float32
1201 %5.0f
1202 1
1203 1
1204 0
1205
1206 0
99
13
1302 4
......@@ -12132,6 +12182,7 @@ pwr_exe:
1307
1308
1309 0
1310 2
99
99
99
......
This diff is collapsed.
include $(pwre_dir_symbols)
-include $(pwre_kroot)/tools/bld/src/$(os_name)/$(hw_name)/$(type_name)_generic.mk
ifeq ($($(type_name)_generic_mk),)
-include $(pwre_kroot)/tools/bld/src/$(os_name)/$(type_name)_generic.mk
endif
ifeq ($($(type_name)_generic_mk),)
include $(pwre_kroot)/tools/bld/src/$(type_name)_generic.mk
endif
-include ../../special.mk
-include ../special.mk
-include special.mk
copy : $(doc_dir)/sv_se/orm/simul_c.html \
$(doc_dir)/en_us/orm/simul_c.html
$(doc_dir)/sv_se/orm/simul_c.html : ../../simul.c
@ echo "Generating html files for simul sv_se..."
@ $(co_convert) -c -d $(doc_dir)/sv_se/orm "$(source)"
$(doc_dir)/en_us/orm/simul_c.html : ../../simul.c
@ echo "Generating html files for simul en_us..."
@ $(co_convert) -c -d $(doc_dir)/en_us/orm "$(source)"
This diff is collapsed.
/*
* Proview Open Source Process Control.
* Copyright (C) 2005-2016 SSAB EMEA AB.
*
* This file is part of Proview.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation, either version 2 of
* the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Proview. If not, see <http://www.gnu.org/licenses/>
*
* Linking Proview statically or dynamically with other modules is
* making a combined work based on Proview. Thus, the terms and
* conditions of the GNU General Public License cover the whole
* combination.
*
* In addition, as a special exception, the copyright holders of
* Proview give you permission to, from the build function in the
* Proview Configurator, combine Proview with modules generated by the
* Proview PLC Editor to a PLC program, regardless of the license
* terms of these modules. You may copy and distribute the resulting
* combined work under the terms of your choice, provided that every
* copy of the combined work is accompanied by a complete copy of
* the source code of Proview (the version used to produce the
* combined work), being distributed under the terms of the GNU
* General Public License plus this exception.
*/
#ifndef simul_h
#define simul_h
#include "rt_plc.h"
#include "pwr_simulclasses.h"
void Sim_SigGen_exec( plc_sThread *tp, pwr_sClass_Sim_SigGen *plc_obj);
void Sim_Integrator_exec( plc_sThread *tp, pwr_sClass_Sim_Integrator *plc_obj);
void Sim_LagFilter_exec( plc_sThread *tp, pwr_sClass_Sim_LagFilter *plc_obj);
void Sim_LeadLagFilter_exec( plc_sThread *tp, pwr_sClass_Sim_LeadLagFilter *plc_obj);
void Sim_SouFilter_exec(plc_sThread *tp, pwr_sClass_Sim_SouFilter *plc_obj);
void Sim_SouTOoFilter_exec(plc_sThread *tp, pwr_sClass_Sim_SouTOoFilter *plc_obj);
void Sim_Delay_exec(plc_sThread *tp, pwr_sClass_Sim_Delay *plc_obj);
void Sim_SlewRateLimiter_exec(plc_sThread *tp, pwr_sClass_Sim_SlewRateLimiter *plc_obj);
#endif
include $(pwre_dir_symbols)
-include $(pwre_kroot)/tools/bld/src/$(os_name)/$(hw_name)/$(type_name)_generic.mk
ifeq ($($(type_name)_generic_mk),)
-include $(pwre_kroot)/tools/bld/src/$(os_name)/$(type_name)_generic.mk
endif
ifeq ($($(type_name)_generic_mk),)
include $(pwre_kroot)/tools/bld/src/$(type_name)_generic.mk
endif
-include ../../special.mk
-include ../special.mk
-include special.mk
exe : $(doc_dir)/sv_se/orm/pwr_simulclasses_h.html \
$(doc_dir)/en_us/orm/pwr_simulclasses_h.html \
$(doc_dir)/sv_se/orm/pwr_simulclasses_hpp.html \
$(doc_dir)/en_us/orm/pwr_simulclasses_hpp.html
$(doc_dir)/sv_se/orm/pwr_simulclasses_h.html : $(inc_dir)/pwr_simulclasses.h
@ echo "Generating html files for struct sv_se..."
@ $(co_convert) -c -d $(doc_dir)/sv_se/orm "$(source)"
$(doc_dir)/en_us/orm/pwr_simulclasses_h.html : $(inc_dir)/pwr_simulclasses.h
@ echo "Generating html files for struct en_us..."
@ $(co_convert) -c -d $(doc_dir)/en_us/orm "$(source)"
$(doc_dir)/sv_se/orm/pwr_simulclasses_hpp.html : $(inc_dir)/pwr_simulclasses.hpp
@ echo "Generating html files for struct sv_se..."
@ $(co_convert) -c -d $(doc_dir)/sv_se/orm "$(source)"
$(doc_dir)/en_us/orm/pwr_simulclasses_hpp.html : $(inc_dir)/pwr_simulclasses.hpp
@ echo "Generating html files for struct en_us..."
@ $(co_convert) -c -d $(doc_dir)/en_us/orm "$(source)"
This diff is collapsed.
......@@ -39,6 +39,9 @@ foldersTree = gFld("<b>Object Reference Manual</b>", "../orm_intro.html")
aux1 = insFld(foldersTree, gFld("<b>Opc</b>", "opc_index.html"))
Opc(aux1)
aux1 = insFld(foldersTree, gFld("<b>Simul</b>", "simul_index.html"))
Simul(aux1)
aux1 = insFld(foldersTree, gFld("<b>TLog</b>", "tlog_index.html"))
TLog(aux1)
......
......@@ -3,6 +3,7 @@ pwrb 0.0.0.2
nmps 0.0.1.1
tlog 0.0.1.2
remote 0.0.1.4
simul 0.0.0.8
miscellaneous 0.0.0.9
basecomponent 0.0.0.10
profibus 0.0.250.7
......
......@@ -357,6 +357,7 @@ void mode_exec(
object->ForcVal = object->OutVal;
}
}
object->Error = object->ProcVal - object->SetVal;
}
/*_*
......
......@@ -288,6 +288,7 @@ sub ebuild # args: pass flavour
my $build_opc = 0;
my $build_profibus = 0;
my $build_otherio = 0;
my $build_simul = 0;
my $build_misc = 0;
my $build_ssabox = 0;
my $build_tlog = 0;
......@@ -310,6 +311,7 @@ sub ebuild # args: pass flavour
elsif ( $value[0] eq "opc" && $value[1] eq "1" ) { $build_opc = 1; printf( "-- opc\n");}
elsif ( $value[0] eq "profibus" && $value[1] eq "1" ) { $build_profibus = 1; printf( "-- profibus\n");}
elsif ( $value[0] eq "otherio" && $value[1] eq "1" ) { $build_otherio = 1; printf( "-- otherio\n");}
elsif ( $value[0] eq "simul" && $value[1] eq "1" ) { $build_simul = 1; printf( "-- simul\n");}
elsif ( $value[0] eq "misc" && $value[1] eq "1" ) { $build_misc = 1; printf( "-- misc\n");}
elsif ( $value[0] eq "ssabox" && $value[1] eq "1" ) { $build_ssabox = 1; printf( "-- ssabox\n");}
elsif ( $value[0] eq "tlog" && $value[1] eq "1" ) { $build_tlog = 1; printf( "-- tlog\n");}
......@@ -390,6 +392,11 @@ sub ebuild # args: pass flavour
_build("lib", "rt", "src", "all");
merge();
}
if ( $build_simul == 1) {
_module("simul");
_build("lib", "simul", "src", "all");
merge();
}
if ( $build_misc == 1) {
_module("misc");
_build("lib", "misc", "src", "all");
......@@ -464,6 +471,10 @@ sub ebuild # args: pass flavour
_module("telemecanique");
merge();
}
if ( $build_simul == 1) {
_module("simul");
merge();
}
if ( $build_misc == 1) {
_module("misc");
merge();
......@@ -544,6 +555,11 @@ sub ebuild # args: pass flavour
_build("mmi", "*", "src", "copy");
merge();
}
if ( $build_simul == 1) {
_module("simul");
_build("mmi", "*", "src", "copy");
merge();
}
if ( $build_misc == 1) {
_module("misc");
_build("mmi", "*", "src", "copy");
......@@ -631,6 +647,9 @@ sub build_all_modules ()
_module("opc");
build_all( $flavour);
merge();
_module("simul");
build_all( $flavour);
merge();
_module("misc");
build_all( $flavour);
merge();
......@@ -737,6 +756,11 @@ sub build_all_wbl ()
system( "rm $load_dir/*.dbs");
_build("wbl", "mcomp", "src", "lib");
merge();
_module("simul");
my($load_dir) = $ENV{"pwr_load"};
system( "rm $load_dir/*.dbs");
_build("wbl", "simul", "src", "lib");
merge();
_module("misc");
my($load_dir) = $ENV{"pwr_load"};
system( "rm $load_dir/*.dbs");
......@@ -873,6 +897,8 @@ sub create_all_modules ()
create();
_module("bcomp");
create();
_module("simul");
create();
_module("misc");
create();
_module("profibus");
......
......@@ -37,7 +37,7 @@
!
SObject pwrb:Class
!/**
! @Version 1.0
! @Version 2.0
! @Code rt_plc_pid.c
! @Group Plc,PlcControl
! @Summary Select control modes or forced control of Pid objects.
......@@ -401,6 +401,16 @@ SObject pwrb:Class
EndBody
EndObject
!/**
! Specifies the number of characters displayed after the decimal point
! for set value and process value in the object graph.
!*/
Object SetPrecision $Intern 28
Body SysBody
Attr TypeRef = "pwrb:Type-FloatPrecisionEnum"
Attr GraphName = "SetPrecision"
EndBody
EndObject
!/**
! The lower respectively upper limits in the bar graph at
! presentation of the control signal, OutVal, of the Pid
! object in the Mode display. The values may be changed
......@@ -430,6 +440,52 @@ SObject pwrb:Class
EndBody
EndObject
!/**
! Specifies the number of characters displayed after the decimal point
! for output value in the object graph.
!*/
Object OutPrecision $Intern 29
Body SysBody
Attr TypeRef = "pwrb:Type-FloatPrecisionEnum"
Attr GraphName = "OutPrecision"
EndBody
EndObject
!/**
! The difference between process value and set value.
!*/
Object Error $Intern 30
Body SysBody
Attr TypeRef = "pwrs:Type-$Float32"
Attr GraphName = "Error"
Attr Flags |= PWR_MASK_STATE
Attr Flags |= PWR_MASK_NOEDIT
EndBody
EndObject
!/**
! The lower respectively upper limits in the graphical
! display of the error in the object graph.
!*/
Object ErrorMinShow $Intern 31
Body SysBody
Attr TypeRef = "pwrs:Type-$Float32"
Attr GraphName = "ErrorMinShow"
EndBody
EndObject
Object ErrorMaxShow $Intern 32
Body SysBody
Attr TypeRef = "pwrs:Type-$Float32"
Attr GraphName = "ErrorMaxShow"
EndBody
EndObject
!/**
! Specifies that the ranges for set value, process value and output
! in the object graph can be adjusted.
!*/
Object AdjustableRanges $Intern 33
Body SysBody
Attr TypeRef = "pwrs:Type-$Boolean"
EndBody
EndObject
!/**
! Specifies the complete name of the Pid object
! associated to this Mode object. The attribute makes it
! possible to start the object display of the associated
......@@ -483,6 +539,10 @@ SObject pwrb:Class
Attr SetMaxShow = 100.0
Attr OutEngUnit = "%"
Attr SetEngUnit = "%"
Attr SetPrecision = 1
Attr OutPrecision = 1
Attr ErrorMinShow = -10.0
Attr ErrorMaxShow = 10.0
EndBody
EndObject
EndObject
......
......@@ -702,6 +702,15 @@ SObject pwrb:Class
EndBody
EndObject
!/**
! Specifies the number of characters displayed after the decimal point
! for set value and process value in the object graph.
!*/
Object SetPrecision $Intern 56
Body SysBody
Attr TypeRef = "pwrb:Type-FloatPrecisionEnum"
EndBody
EndObject
!/**
! The lower respectively upper limit in the graph at
! presentation of the control signal OutVal in the Pid
! object display. The values may be changed in the more
......@@ -730,6 +739,23 @@ SObject pwrb:Class
EndBody
EndObject
!/**
! Specifies the number of characters displayed after the decimal point
! for output value in the object graph.
!*/
Object OutPrecision $Intern 57
Body SysBody
Attr TypeRef = "pwrb:Type-FloatPrecisionEnum"
EndBody
EndObject
!/**
! Specifies time range for the trends in the object graph.
!*/
Object TrendTimeRange $Intern 58
Body SysBody
Attr TypeRef = "pwrs:Type-$Float32"
EndBody
EndObject
!/**
! Program cycle period in seconds, i.e. the sample time.
!*/
Object ScanTime $Intern 21
......@@ -1005,7 +1031,10 @@ SObject pwrb:Class
Attr OutMaxShow = 100.0
Attr SetMaxShow = 100.0
Attr SetEngUnit = "%"
Attr SetPrecision = 1
Attr OutEngUnit = "%"
Attr OutPrecision = 1
Attr TrendTimeRange = 100
Attr WindupMask = 4
Attr MaxWindup = 100.0
EndBody
......
!
! Proview Open Source Process Control.
! Copyright (C) 2005-2016 SSAB EMEA AB.
!
! This file is part of Proview.
!
! This program is free software; you can redistribute it and/or
! modify it under the terms of the GNU General Public License as
! published by the Free Software Foundation, either version 2 of
! the License, or (at your option) any later version.
!
! This program is distributed in the hope that it will be useful
! but WITHOUT ANY WARRANTY; without even the implied warranty of
! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
! GNU General Public License for more details.
!
! You should have received a copy of the GNU General Public License
! along with Proview. If not, see <http://www.gnu.org/licenses/>
!
! Linking Proview statically or dynamically with other modules is
! making a combined work based on Proview. Thus, the terms and
! conditions of the GNU General Public License cover the whole
! combination.
!
! In addition, as a special exception, the copyright holders of
! Proview give you permission to, from the build function in the
! Proview Configurator, combine Proview with modules generated by the
! Proview PLC Editor to a PLC program, regardless of the license
! terms of these modules. You may copy and distribute the resulting
! combined work under the terms of your choice, provided that every
! copy of the combined work is accompanied by a complete copy of
! the source code of Proview (the version used to produce the
! combined work), being distributed under the terms of the GNU
! General Public License plus this exception.
!
! pwrb_td_yesnoenum.wb_load -- Defines the enum type YesNo
!
SObject pwrb:Type
!/**
! @Version 1.0
! @Group Types
! Enumeration for float precision.
! The number specifies the number of characters after the decimal point.
!*/
Object FloatPrecisionEnum $TypeDef 85
Body SysBody
Attr TypeRef = "pwrs:Type-$Enum"
Attr PgmName = "FloatPrecisionEnum"
EndBody
!/**
! No decimals.
!*/
Object Fp0 $Value
Body SysBody
Attr PgmName = "Fp0"
Attr Text = "0"
Attr Value = 0
EndBody
EndObject
!/**
! 1 decimal.
!*/
Object Fp1 $Value
Body SysBody
Attr PgmName = "Fp1"
Attr Text = "1"
Attr Value = 1
EndBody
EndObject
!/**
! 2 decimals.
!*/
Object Fp2 $Value
Body SysBody
Attr PgmName = "Fp2"
Attr Text = "2"
Attr Value = 2
EndBody
EndObject
!/**
! 3 decimals.
!*/
Object Fp3 $Value
Body SysBody
Attr PgmName = "Fp3"
Attr Text = "3"
Attr Value = 3
EndBody
EndObject
!/**
! 4 decimals.
!*/
Object Fp4 $Value
Body SysBody
Attr PgmName = "Fp4"
Attr Text = "4"
Attr Value = 4
EndBody
EndObject
!/**
! 5 decimals.
!*/
Object Fp5 $Value
Body SysBody
Attr PgmName = "Fp5"
Attr Text = "5"
Attr Value = 5
EndBody
EndObject
EndObject
EndSObject
......@@ -131,6 +131,8 @@ palette NavigatorPalette
class BaseSwitch
class BaseTempSensor
class BaseTempSwitch
class CompImc
class CompModeImc
class CompModePID
class CompOnOffBurner
class CompOnOffZone
......@@ -508,6 +510,7 @@ palette NavigatorPalette
classvolume Remote Remote
classvolume Opc Opc
classvolume BaseComponent BaseComponent
classvolume Simul Simul
classvolume Inor Inor
classvolume OtherManufacturer OtherManufacturer
classvolume OtherIO OtherIO
......@@ -1194,6 +1197,17 @@ palette PlcEditorPalette
{
class Misc_DemoPattern
}
menu Simul
{
class Sim_Integrator
class Sim_Delay
class Sim_LagFilter
class Sim_LeadLagFilter
class Sim_SigGen
class Sim_SlewRateLimiter
class Sim_SouFilter
class Sim_SouTOoFilter
}
menu Components
{
menu BaseComponent
......@@ -1229,6 +1243,8 @@ palette PlcEditorPalette
class CompModeAMFo
class CompModePID_Fo
class CompPID_Fo
class CompModeImc_Fo
class CompImc_Fo
class CompOnOffBurnerFo
class CompOnOffZoneFo
class BaseMotorAggrFo
......
This diff is collapsed.
This diff is collapsed.
0! DefaultWidth 0
0! DefaultHeight 0
199
!/**
! ValueInputMediumBg
! Group Values
!
! <image> pwrct_valueinputmediumbg_gs.png
!
! <h1>Description
! Medium value input field with background relief.
! The object is drawn with colortheme colors.
! The background relief is drawn with the background color of
! the object.
!
! <h1>Default dynamics
! Value <link>GeDynValue, ,$pwr_lang/man_geref.dat
! ValueInput <link>GeDynValueInput, ,$pwr_lang/man_geref.dat
!
!*/
1
100 148.602
135 148.602
101 20
102 -139
103 -205
104 27.5731
136 27.5731
105 100
106 -25
107 -38
108 3.15
109 -0.15
110 1.02598
111 -0.0291026
116 0
117 0
118 119
119 112
120 0
121 Claes context
122 0
126 0.05
127 0.05
128 0
129 0.3
130 1.5
131 0.8
132 3
133 2
137 4510
138 3
139 2
140 2
141
134
22
2200 0
2201 9
2202 pwrct_valueinputmediumbgs
2203 300
2205 0
2204
2206 0
2207
2208
2209 0
2210 0
2211 0
2212 0
2213 4
2214
pwrp_pop:
pwrp_exe:
ssab_exe:
pwr_exe:
2215 1024
2246 0
2236 4096
2247 0
2216 0
2221 0
2237 0
2238 0
2239 0
2240 0
2241 0
2242 0
2217 0
2218 0
2219 1
2220
2230 0
2231 0
2222
2223 1
2224 0.5
2232 0.5
2225 0.5
2226 0
2227
2228 0
2229 0
2233 1
2234 1
2235 0
2243 0
2248 0
2245 0
2249
48
4802 0
4803 1
4800 360
4801
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
99
2244
1
100 1
105 0
101 1
106 0
102 65532
103 0
99
99
123
2
99
124
2
99
125
2
26
2604 O6
2600 3.15
2601 3
2602 1.01904
2603 -0.0150349
2605
25
2500 0
2501 1
2503 1
2504 0
2502
2
7
700 3
701 0
99
7
700 3.15
701 0
99
7
700 3.15
701 1
99
7
700 3
701 1
99
7
700 3
701 0
99
99
99
2608 0
2609 310
2629 310
2610 310
2611 0
2616 0
2614 5
2617 2
2615 0
2618 1
2607 0
2606
2612
28
2800 1
2801 0
2802 0
2803 0
2804 1.03407
2805 -0.0150349
2806 0
99
2613 0
2619 0
2620 0
2626 1
2627 0
2621 0
2622 0
2623 0
2624 4
2625 1
2628 0
99
26
2604 O7
2600 0
2601 -0.15
2602 1.01904
2603 -0.0150349
2605
25
2500 0
2501 1
2503 1
2504 0
2502
2
7
700 -0.15
701 0
99
7
700 0
701 0
99
7
700 0
701 1
99
7
700 -0.15
701 1
99
7
700 -0.15
701 0
99
99
99
2608 0
2609 310
2629 310
2610 310
2611 0
2616 0
2614 5
2617 2
2615 0
2618 1
2607 0
2606
2612
28
2800 1
2801 0
2802 0
2803 0
2804 1.03407
2805 -0.0150349
2806 0
99
2613 0
2619 0
2620 0
2626 0
2627 1
2621 0
2622 0
2623 0
2624 4
2625 1
2628 0
99
19
1904 O2
1900 3
1901 0
1902 1
1903 0
1908 334
1909 330
1910 330
1911 1
1915 0
1913 10
1916 2
1914 0
1918 0
1919 0
1920 0
1917 1
1921 0
1922 2
1923 0
1924 0
1925 10000
1926 0
1907 0
1906
1905
5
500 334
501 1
504 1
505 1
502
7
700 0
701 0
99
503
7
700 3
701 1
99
99
1912
28
2800 1
2801 0
2802 0
2803 0
2804 1
2805 0
2806 0
99
99
23
2304 O3
2300 0.65
2301 0.35
2302 0.8
2303 0.5
2305
9
900 3
901 304
904 338
902 A1
903
7
700 0.35
701 0.8
99
99
2306
5
500 2
501 1
504 1
505 0
502
7
700 0.35
701 0.5
99
503
7
700 0.65
701 0.8
99
99
2307
13
1300 1
1301 303
1306 338
1302 3
1305 1
1303
7
700 1
701 1.35
99
1304 0
1307 4
1308 0
99
2308
28
2800 1
2801 0
2802 -0.65
2803 0
2804 1
2805 -0.55
2806 0
99
2309 2
99
99
99
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -426,6 +426,8 @@
ge_eSave_Value_instance = 1202,
ge_eSave_Value_instance_mask = 1203,
ge_eSave_Value_zero_blank = 1204,
ge_eSave_Value_decimals_attr = 1205,
ge_eSave_Value_decimals_decr = 1206,
ge_eSave_ValueInput_attribute = 1300,
ge_eSave_ValueInput_format = 1301,
ge_eSave_ValueInput_min_value = 1302,
......@@ -1417,6 +1419,8 @@ class GeValue : public GeDynElem {
pwr_tAName attribute; //!< Database reference of an attribute with arbitrary type.
char format[80]; //!< Format of conversion from value to string.
int zero_blank; //!< Blank field when value i zero (integer or float).
pwr_tAName decimals_attr; //!< Database reference to number of decimals for float format.
int decimals_decr;
void *p;
pwr_tSubid subid;
......@@ -1430,12 +1434,13 @@ class GeValue : public GeDynElem {
GeValue( GeDyn *e_dyn, ge_mInstance e_instance = ge_mInstance_1) :
GeDynElem(e_dyn, ge_mDynType1_Value, ge_mDynType2_No, ge_mActionType1_No, ge_mActionType2_No, ge_eDynPrio_Value),
zero_blank(0), annot_typeid(0), annot_size(0), tid(0)
{ strcpy( attribute, ""); strcpy( format, ""); instance = e_instance;
zero_blank(0), decimals_decr(0), annot_typeid(0), annot_size(0), tid(0)
{ strcpy( attribute, ""); strcpy( format, ""); strcpy( decimals_attr, ""); instance = e_instance;
memset(old_value, 0, sizeof(old_value));}
GeValue( const GeValue& x) :
GeDynElem(x.dyn,x.dyn_type1,x.dyn_type2,x.action_type1,x.action_type2,x.prio), zero_blank(x.zero_blank)
{ strcpy( attribute, x.attribute); strcpy( format, x.format);
GeDynElem(x.dyn,x.dyn_type1,x.dyn_type2,x.action_type1,x.action_type2,x.prio), zero_blank(x.zero_blank),
decimals_decr(x.decimals_decr)
{ strcpy( attribute, x.attribute); strcpy( format, x.format); strcpy( decimals_attr, x.decimals_attr);
instance = x.instance; instance_mask = x.instance_mask;
memset(old_value, 0, sizeof(old_value));}
void get_attributes( attr_sItem *attrinfo, int *item_count);
......@@ -3155,14 +3160,15 @@ class GeAxis : public GeDynElem {
GeAxis( GeDyn *e_dyn) :
GeDynElem(e_dyn, ge_mDynType1_No, ge_mDynType2_Axis, ge_mActionType1_No, ge_mActionType2_No, ge_eDynPrio_Axis),
min_value(0), max_value(100), keep_settings(0), imin_value(0), imax_value(0), min_value_p(0), max_value_p(0), imin_value_p(0),
min_value(0), max_value(100), keep_settings(0), imin_value(0), imax_value(0), min_value_p(0),
max_value_p(0), imin_value_p(0),
imax_value_p(0), attr_type(0)
{ strcpy( minvalue_attr, ""); strcpy( maxvalue_attr, "");}
GeAxis( const GeAxis& x) :
GeDynElem(x.dyn,x.dyn_type1,x.dyn_type2,x.action_type1,x.action_type2,x.prio),
min_value(x.min_value),max_value(x.max_value), keep_settings(x.keep_settings),
min_value(x.min_value),max_value(x.max_value), keep_settings(x.keep_settings),
min_value_p(0), max_value_p(0), imin_value_p(0), imax_value_p(0)
{ strcpy( minvalue_attr, x.minvalue_attr); strcpy( maxvalue_attr, x.maxvalue_attr);}
{ strcpy( minvalue_attr, x.minvalue_attr); strcpy( maxvalue_attr, x.maxvalue_attr); }
void get_attributes( attr_sItem *attrinfo, int *item_count);
void save( ofstream& fp);
void open( ifstream& fp);
......
......@@ -663,8 +663,12 @@ menu ColorTheme
subgraph ValueLargeCenter pwr_exe:pwrct_valuelargecenter.pwsg 52
subgraph ValueInputSmall pwr_exe:pwrct_valueinputsmall.pwsg 50
subgraph ValueInputSmallBg pwr_exe:pwrct_valueinputsmallbg.pwsg 50
subgraph ValueInputSmallCenterBg pwr_exe:pwrct_valueinputsmallcenterbg.pwsg 50
subgraph ValueInputMedium pwr_exe:pwrct_valueinputmedium.pwsg 51
subgraph ValueInputMediumBg pwr_exe:pwrct_valueinputmediumbg.pwsg 51
subgraph ValueInputMediumBgs pwr_exe:pwrct_valueinputmediumbgs.pwsg 51
subgraph ValueInputMediumCenterBg pwr_exe:pwrct_valueinputmediumcenterbg.pwsg 51
subgraph ValueInputMediumCenterBgs pwr_exe:pwrct_valueinputmediumcenterbgs.pwsg 51
subgraph ValueInputLarge pwr_exe:pwrct_valueinputlarge.pwsg 52
subgraph ValueInputLargeBg pwr_exe:pwrct_valueinputlargebg.pwsg 52
}
......
......@@ -4911,6 +4911,22 @@ void grow_SetAxisRange( grow_tObject object, double minval, double maxval, int k
((GrowAxisArc *)object)->set_range( minval, maxval, keep_settings);
}
void grow_SetAxisFormat( grow_tObject object, const char *format)
{
if ( ((GlowArrayElem *)object)->type() == glow_eObjectType_GrowAxis)
((GrowAxis *)object)->set_format( format);
else if ( ((GlowArrayElem *)object)->type() == glow_eObjectType_GrowAxisArc)
((GrowAxisArc *)object)->set_format( format);
}
void grow_GetAxisFormat( grow_tObject object, char *format)
{
if ( ((GlowArrayElem *)object)->type() == glow_eObjectType_GrowAxis)
((GrowAxis *)object)->get_format( format);
else if ( ((GlowArrayElem *)object)->type() == glow_eObjectType_GrowAxisArc)
((GrowAxisArc *)object)->get_format( format);
}
void grow_SetModified( grow_tCtx ctx, int modified)
{
ctx->set_modified( modified);
......
......@@ -2383,6 +2383,8 @@ extern "C" {
void grow_SetAxisRange( grow_tObject object, double minval, double maxval, int keep_settings);
void grow_SetAxisFormat( grow_tObject object, const char *format);
void grow_GetAxisFormat( grow_tObject object, char *format);
//! Set that graph is modified or not since last save.
/*!
......
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment