Commit fa6c56ad authored by Claes Sjofors's avatar Claes Sjofors

Classes for constant analog and integer values added, ConstAv and ConstIv

parent eea95f12
!
! Proview Open Source Process Control.
! Copyright (C) 2005-2012 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_c_constav.wb_load -- Defines the class ConstAv.
!
SObject pwrb:Class
!/**
! @Version 1.0
! @Group PlantConfiguration,Signals
! @Summary Constant Analog value
! Constant analog value.
!
! Configures constant analog value in the Plant Configuration.
! The integer value can't be modified from the HMI in runtime.
!
! It is though possible to modify a ConstAv from the PLC program.
!
!*/
Object ConstAv $ClassDef 607
Body SysBody
Attr Editor = pwr_eEditor_AttrEd
Attr Method = pwr_eMethod_Standard
Attr PopEditor = 1
EndBody
Object RtBody $ObjBodyDef 1
Body SysBody
Attr StructName = "ConstAv"
EndBody
!/**
! Optional text, for example, the name of the signal or
! what it represents.
!*/
Object Description $Attribute 1
Body SysBody
Attr TypeRef = "pwrs:Type-$String80"
EndBody
EndObject
!/**
! Actual value.
!*/
Object ActualValue $Attribute 2
Body SysBody
Attr TypeRef = "pwrs:Type-$Float32"
Attr Flags |= PWR_MASK_CONST
EndBody
EndObject
!/**
! Engineering unit of ActualValue.
!*/
Object Unit $Attribute 5
Body SysBody
Attr TypeRef = "pwrs:Type-$String16"
EndBody
EndObject
!/**
! The lower respectively upper limits in the bar graph at
! presentation of ActualValue in the object display.
!*/
Object NoOfDecimals $Attribute 6
Body SysBody
Attr TypeRef = "pwrs:Type-$UInt8"
EndBody
EndObject
!/**
! @Summary A XttGraph object that will open a graph for this object.
! A XttGraph object that will open a graph that contains data for
! this object. This graph can be opened from the popup menu for
! this object.
!*/
Object DefGraph $Attribute 9
Body SysBody
Attr TypeRef = "pwrs:Type-$AttrRef"
EndBody
EndObject
!/**
! @Summary A help topic for this hierarchy.
! A help topic in the xtt help file that contains help for this hierarchy.
! The help can be displayed from the popup menu for this object.
!*/
Object HelpTopic $Attribute 12
Body SysBody
Attr TypeRef = "pwrs:Type-$String40"
EndBody
EndObject
EndObject
EndObject
EndSObject
!
! Proview Open Source Process Control.
! Copyright (C) 2005-2012 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_c_constiv.wb_load -- Defines the class ConstIv.
!
SObject pwrb:Class
!/**
! @Version 1.0
! @Group PlantConfiguration,Signals
! @Summary Constant Integer value
! Constant integer value.
!
! Configures constant integer value in the Plant Configuration.
! The integer value can't be modified from the HMI in runtime.
!
! It is though possible to modify a ConstIv from the PLC program.
!
!*/
Object ConstIv $ClassDef 608
Body SysBody
Attr Editor = pwr_eEditor_AttrEd
Attr Method = pwr_eMethod_Standard
Attr PopEditor = 1
EndBody
Object RtBody $ObjBodyDef 1
Body SysBody
Attr StructName = "ConstIv"
EndBody
!/**
! Optional text, for example, the name of the signal or
! what it represents.
!*/
Object Description $Attribute 1
Body SysBody
Attr TypeRef = "pwrs:Type-$String80"
EndBody
EndObject
!/**
! Actual value.
!*/
Object ActualValue $Attribute 2
Body SysBody
Attr TypeRef = "pwrs:Type-$Int32"
Attr Flags |= PWR_MASK_CONST
EndBody
EndObject
!/**
! Engineering unit of ActualValue.
!*/
Object Unit $Attribute 5
Body SysBody
Attr TypeRef = "pwrs:Type-$String16"
EndBody
EndObject
!/**
! @Summary A XttGraph object that will open a graph for this object.
! A XttGraph object that will open a graph that contains data for
! this object. This graph can be opened from the popup menu for
! this object.
!*/
Object DefGraph $Attribute 9
Body SysBody
Attr TypeRef = "pwrs:Type-$AttrRef"
EndBody
EndObject
!/**
! @Summary A help topic for this hierarchy.
! A help topic in the xtt help file that contains help for this hierarchy.
! The help can be displayed from the popup menu for this object.
!*/
Object HelpTopic $Attribute 12
Body SysBody
Attr TypeRef = "pwrs:Type-$String40"
EndBody
EndObject
EndObject
EndObject
EndSObject
!
! Proview Open Source Process Control.
! Copyright (C) 2005-2012 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_c_getconstav.wb_load -- Defines the class GetConstAv.
!
SObject pwrb:Class
!/**
! @Version 1.0
! @Group Plc,PlcIO
! @Summary Get constant analog value
! Get Constant analog value
! @image orm_getconstav_fo.png
!
! Fetches the value of a ConstAv object.
!
! @b See also
! @classlink ConstAv pwrb_constav.html
!*/
Object GetConstAv $ClassDef 609
Body SysBody
Attr Editor = pwr_eEditor_AttrEd
Attr Method = pwr_eMethod_DevBodyOnly
Attr Flags = pwr_mClassDef_DevOnly
EndBody
Object RtBody $ObjBodyDef 1
!/**
! Used by the PLC Editor.
!*/
Object Status $Output 1
Body SysBody
Attr PgmName = "ActualValue"
Attr Flags |= PWR_MASK_STATE
Attr Flags |= PWR_MASK_RTVIRTUAL
Attr Flags |= PWR_MASK_DEVBODYREF
Attr TypeRef = "pwrs:Type-$Float32"
Attr GraphName = "val"
EndBody
EndObject
EndObject
Object DevBody $ObjBodyDef 2
!/**
! Used by the PLC Editor. Specifies the complete name of
! the current ConstAv object.
!*/
Object AvObject $Intern 1
Body SysBody
Attr PgmName = "AvObject"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
EndBody
EndObject
!/**
! Specifies how many segments of the ConstAv object name that
! is to be displayed in the symbol of the GetConstAv object.
! The segments are counted from behind.
!*/
Object AvObjectSegments $Intern 2
Body SysBody
Attr TypeRef = "pwrs:Type-$Int32"
EndBody
EndObject
Object PlcNode $Buffer 3
Body SysBody
Attr Class = pwr_eClass_PlcNode
Attr Flags |= PWR_MASK_INVISIBLE
EndBody
EndObject
EndObject
Object GraphPlcNode $GraphPlcNode
Body SysBody
Attr object_type = 260
Attr parameters[0] = 0
Attr parameters[1] = 0
Attr parameters[2] = 1
Attr parameters[3] = 0
Attr subwindows = 0
Attr graphmethod = 7
Attr graphindex = 1
Attr default_mask[0] = 0
Attr default_mask[1] = 1
Attr segname_annotation = 0
Attr devbody_annotation = 1
Attr compmethod = 8
Attr compindex = 0
Attr tracemethod = 0
Attr traceindex = 0
Attr connectmethod = 6
Attr executeordermethod = 0
Attr objname = "GetConstAv"
Attr graphname = "ConstAv"
EndBody
EndObject
Object Template GetConstAv
Body DevBody
Attr AvObjectSegments = 2
EndBody
EndObject
EndObject
EndSObject
!
! Proview Open Source Process Control.
! Copyright (C) 2005-2012 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_c_getconstav.wb_load -- Defines the class GetConstIv.
!
SObject pwrb:Class
!/**
! @Version 1.0
! @Group Plc,PlcIO
! @Summary Get constant analog value
! Get Constant analog value
! @image orm_getconstav_fo.png
!
! Fetches the value of a ConstAv object.
!
! @b See also
! @classlink ConstIv pwrb_constiv.html
!*/
Object GetConstIv $ClassDef 610
Body SysBody
Attr Editor = pwr_eEditor_AttrEd
Attr Method = pwr_eMethod_DevBodyOnly
Attr Flags = pwr_mClassDef_DevOnly
EndBody
Object RtBody $ObjBodyDef 1
!/**
! Used by the PLC Editor.
!*/
Object Status $Output 1
Body SysBody
Attr PgmName = "ActualValue"
Attr Flags |= PWR_MASK_STATE
Attr Flags |= PWR_MASK_RTVIRTUAL
Attr Flags |= PWR_MASK_DEVBODYREF
Attr TypeRef = "pwrs:Type-$Float32"
Attr GraphName = "val"
EndBody
EndObject
EndObject
Object DevBody $ObjBodyDef 2
!/**
! Used by the PLC Editor. Specifies the complete name of
! the current ConstIv object.
!*/
Object IvObject $Intern 1
Body SysBody
Attr PgmName = "IvObject"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
EndBody
EndObject
!/**
! Specifies how many segments of the ConstIv object name that
! is to be displayed in the symbol of the GetConstIv object.
! The segments are counted from behind.
!*/
Object IvObjectSegments $Intern 2
Body SysBody
Attr TypeRef = "pwrs:Type-$Int32"
EndBody
EndObject
Object PlcNode $Buffer 3
Body SysBody
Attr Class = pwr_eClass_PlcNode
Attr Flags |= PWR_MASK_INVISIBLE
EndBody
EndObject
EndObject
Object GraphPlcNode $GraphPlcNode
Body SysBody
Attr object_type = 11
Attr parameters[0] = 0
Attr parameters[1] = 0
Attr parameters[2] = 1
Attr parameters[3] = 0
Attr subwindows = 0
Attr graphmethod = 7
Attr graphindex = 1
Attr default_mask[0] = 0
Attr default_mask[1] = 1
Attr segname_annotation = 0
Attr devbody_annotation = 1
Attr compmethod = 8
Attr compindex = 0
Attr tracemethod = 0
Attr traceindex = 0
Attr connectmethod = 21
Attr executeordermethod = 0
Attr objname = "GetConstIv"
Attr graphname = "ConstIv"
EndBody
EndObject
Object Template GetConstIv
Body DevBody
Attr IvObjectSegments = 2
EndBody
EndObject
EndObject
EndSObject
......@@ -38,6 +38,8 @@ palette NavigatorPalette
class Av
class ATv
class Co
class ConstAv
class ConstIv
class Di
class Do
class Dv
......@@ -875,6 +877,7 @@ palette PlcEditorPalette
class GetAp
class GetApPtr
class GetAv
class GetConstAv
class StoAo
class StoAp
class StoApPtr
......@@ -935,6 +938,7 @@ palette PlcEditorPalette
class CStoIo
class CStoIp
class CStoIv
class GetConstIv
class GetIi
class GetIo
class GetIp
......
......@@ -144,6 +144,8 @@ static crrgen_tRefList reflist[] = {
{ pwr_cClass_CStoDTp, "DevBody", "Object", crrgen_eType_Write, crrgen_eTable_Object, 0},
{ pwr_cClass_reset_so, "DevBody", "OrderObject", crrgen_eType_Read, crrgen_eTable_Object, 1},
{ pwr_cClass_GetData, "DevBody", "DataObject", crrgen_eType_Ref, crrgen_eTable_Object, 0},
{ pwr_cClass_GetConstAv, "DevBody", "AvObject", crrgen_eType_Read, crrgen_eTable_Object, 0},
{ pwr_cClass_GetConstIv, "DevBody", "IvObject", crrgen_eType_Read, crrgen_eTable_Object, 0},
{ pwr_cClass_Di, "RtBody", "SigChanCon", crrgen_eType_Ref, crrgen_eTable_Object, 0},
{ pwr_cClass_Do, "RtBody", "SigChanCon", crrgen_eType_Ref, crrgen_eTable_Object, 0},
{ pwr_cClass_Po, "RtBody", "SigChanCon", crrgen_eType_Ref, crrgen_eTable_Object, 0},
......
......@@ -7135,6 +7135,26 @@ int gcg_comp_m8( gcg_ctx gcgctx, vldh_t_node node)
/* Insert io object in ioread list */
gcg_aref_insert( gcgctx, attrref, GCG_PREFIX_REF, node);
return GSX__SUCCESS;
case pwr_cClass_GetConstAv:
if ( cid != pwr_cClass_ConstAv) {
gcg_error_msg( gcgctx, GSX__REFCLASS, node);
return GSX__NEXTNODE;
}
/* Insert io object in ioread list */
gcg_aref_insert( gcgctx, attrref, GCG_PREFIX_REF, node);
return GSX__SUCCESS;
break;
case pwr_cClass_GetConstIv:
if ( cid != pwr_cClass_ConstIv) {
gcg_error_msg( gcgctx, GSX__REFCLASS, node);
return GSX__NEXTNODE;
}
/* Insert io object in ioread list */
gcg_aref_insert( gcgctx, attrref, GCG_PREFIX_REF, node);
return GSX__SUCCESS;
break;
default:
gcg_error_msg( gcgctx, GSX__REFCLASS, node);
return GSX__NEXTNODE;
......
......@@ -559,7 +559,7 @@ int gobj_get_object_m6( WFoe *foe, vldh_t_node node, unsigned long index)
sts = ldh_GetAttrRefTid( ldhses, &attrref, &cid);
if (EVEN(sts)) return sts;
if ( cid != pwr_cClass_Av) {
if ( !(cid == pwr_cClass_Av || cid == pwr_cClass_ConstAv)) {
foe->message( "Selected object is not an Av object");
BEEP;
return 0;
......@@ -1159,6 +1159,10 @@ int gobj_get_object_m14( WFoe *foe, vldh_t_node node, unsigned long index)
strcpy( parname, "AvObject");
create_classid = pwr_cClass_GetAv;
break;
case pwr_cClass_ConstAv:
strcpy( parname, "AvObject");
create_classid = pwr_cClass_GetConstAv;
break;
default:
foe->message( "Select an analog signal or attribute in the navigator");
BEEP;
......@@ -1876,7 +1880,7 @@ int gobj_get_object_m21( WFoe *foe, vldh_t_node node, unsigned long index)
sts = ldh_GetAttrRefTid( ldhses, &attrref, &cid);
if (EVEN(sts)) return sts;
if ( cid != pwr_cClass_Iv) {
if ( !(cid == pwr_cClass_Iv || cid == pwr_cClass_ConstIv)) {
foe->message( "Selected object is not a Iv object");
BEEP;
return 0;
......@@ -2072,6 +2076,10 @@ int gobj_get_object_m24( WFoe *foe, vldh_t_node node, unsigned long index)
strcpy( parname, "IvObject");
create_classid = pwr_cClass_GetIv;
break;
case pwr_cClass_ConstIv:
strcpy( parname, "IvObject");
create_classid = pwr_cClass_GetConstIv;
break;
default:
foe->message( "Select an integer signal or attribute in the navigator");
BEEP;
......
......@@ -734,6 +734,9 @@ int WAttNav::crossref()
case pwr_cClass_Ii:
case pwr_cClass_Io:
case pwr_cClass_Co:
case pwr_cClass_Sv:
case pwr_cClass_ATv:
case pwr_cClass_DTv:
sts = WNav::crr_signal( brow, ldhses, NULL, name, NULL);
break;
default:
......
......@@ -708,6 +708,9 @@ int WItemBaseObject::open_crossref( WNav *wnav, double x, double y)
case pwr_cClass_Iv:
case pwr_cClass_Ii:
case pwr_cClass_Io:
case pwr_cClass_Sv:
case pwr_cClass_ATv:
case pwr_cClass_DTv:
sts = wnav->crr_signal( wnav->brow, wnav->ldhses, NULL, name, node);
break;
default:
......@@ -2672,6 +2675,9 @@ int WItemAttrObject::open_crossref( WNav *wnav, double x, double y)
case pwr_cClass_Iv:
case pwr_cClass_Ii:
case pwr_cClass_Io:
case pwr_cClass_Sv:
case pwr_cClass_ATv:
case pwr_cClass_DTv:
sts = wnav->crr_signal( wnav->brow, wnav->ldhses, NULL, aname, node);
break;
default:
......
This diff is collapsed.
This diff is collapsed.
......@@ -1193,6 +1193,9 @@ int ItemAttrObject::open_crossref( XNavBrow *brow, double x, double y)
case pwr_cClass_Ii:
case pwr_cClass_Io:
case pwr_cClass_Co:
case pwr_cClass_Sv:
case pwr_cClass_ATv:
case pwr_cClass_DTv:
sts = xnav_crr_signal( brow, file, aname, node);
break;
default:
......
......@@ -138,6 +138,9 @@ int XCrr::crossref()
case pwr_cClass_Ii:
case pwr_cClass_Io:
case pwr_cClass_Co:
case pwr_cClass_Sv:
case pwr_cClass_ATv:
case pwr_cClass_DTv:
sts = xnav_crr_signal( xcrrnav->brow, file, name, NULL);
break;
default:
......
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