Commit e8705467 authored by claes's avatar claes

New classes to get/sto pointer attributes

parent cf29a2ed
/* /*
* Proview $Id: rt_plc_io.c,v 1.3 2005-09-01 14:57:56 claes Exp $ * Proview $Id: rt_plc_io.c,v 1.4 2007-10-08 13:39:47 claes Exp $
* Copyright (C) 2005 SSAB Oxelsund AB. * Copyright (C) 2005 SSAB Oxelsund AB.
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
...@@ -192,8 +192,8 @@ void bcddo_exec ( ...@@ -192,8 +192,8 @@ void bcddo_exec (
void dibcd_exec ( void dibcd_exec (
plc_sThread *tp, plc_sThread *tp,
pwr_sClass_dibcd *object pwr_sClass_dibcd *object)
) { {
int val; /* One digit */ int val; /* One digit */
int i; /* Loop index*/ int i; /* Loop index*/
int j; /* Loop index*/ int j; /* Loop index*/
...@@ -277,8 +277,8 @@ Signal 0 1 2 3 4 5 6 7 8 9 A B C D E F ActVal ...@@ -277,8 +277,8 @@ Signal 0 1 2 3 4 5 6 7 8 9 A B C D E F ActVal
void gray_exec ( void gray_exec (
plc_sThread *tp, plc_sThread *tp,
pwr_sClass_gray *object pwr_sClass_gray *object)
) { {
int i; /* Loopcounter */ int i; /* Loopcounter */
pwr_tBoolean in; /* Digital in after invert */ pwr_tBoolean in; /* Digital in after invert */
pwr_tBoolean odd; /* Convert flag */ pwr_tBoolean odd; /* Convert flag */
...@@ -307,3 +307,149 @@ void gray_exec ( ...@@ -307,3 +307,149 @@ void gray_exec (
/* Result */ /* Result */
object->ActVal = sum; object->ActVal = sum;
} }
/*_*
GETDPPTR
@aref getdpptr GETDPPTR
*/
void GetDpPtr_init( pwr_sClass_GetDpPtr *o)
{
pwr_tUInt32 p;
pwr_tAttrRef aref = o->DpPtrObject;
/* Reset the indirect bit to fetch the pointer, not the value */
aref.Flags.b.Indirect = 0;
if ( ODD( gdh_GetObjectInfoAttrref( &aref, &p, sizeof(p))))
o->Ptr = gdh_TranslateRtdbPointer( p);
}
void GetDpPtr_exec( plc_sThread *tp,
pwr_sClass_GetDpPtr *o)
{
if ( o->Ptr)
o->Value = *o->Ptr;
}
/*_*
GETAPPTR
@aref getapptr GETAPPTR
*/
void GetApPtr_init( pwr_sClass_GetApPtr *o)
{
pwr_tUInt32 p;
pwr_tAttrRef aref = o->ApPtrObject;
/* Reset the indirect bit to fetch the pointer, not the value */
aref.Flags.b.Indirect = 0;
if ( ODD( gdh_GetObjectInfoAttrref( &aref, &p, sizeof(p))))
o->Ptr = gdh_TranslateRtdbPointer( p);
}
void GetApPtr_exec( plc_sThread *tp,
pwr_sClass_GetApPtr *o)
{
if ( o->Ptr)
o->Value = *o->Ptr;
}
/*_*
GETIPPTR
@aref getipptr GETIPPTR
*/
void GetIpPtr_init( pwr_sClass_GetIpPtr *o)
{
pwr_tUInt32 p;
pwr_tAttrRef aref = o->IpPtrObject;
/* Reset the indirect bit to fetch the pointer, not the value */
aref.Flags.b.Indirect = 0;
if ( ODD( gdh_GetObjectInfoAttrref( &aref, &p, sizeof(p))))
o->Ptr = gdh_TranslateRtdbPointer( p);
}
void GetIpPtr_exec( plc_sThread *tp,
pwr_sClass_GetIpPtr *o)
{
if ( o->Ptr)
o->Value = *o->Ptr;
}
/*_*
STODPPTR
@aref stodpptr STODPPTR
*/
void StoDpPtr_init( pwr_sClass_StoDpPtr *o)
{
pwr_tUInt32 p;
pwr_tAttrRef aref = o->DpPtrObject;
/* Reset the indirect bit to fetch the pointer, not the value */
aref.Flags.b.Indirect = 0;
if ( ODD( gdh_GetObjectInfoAttrref( &aref, &p, sizeof(p))))
o->Ptr = gdh_TranslateRtdbPointer( p);
}
void StoDpPtr_exec( plc_sThread *tp,
pwr_sClass_StoDpPtr *o)
{
if ( o->Ptr)
*o->Ptr = *o->InP;
}
/*_*
STOAPPTR
@aref stoapptr STOAPPTR
*/
void StoApPtr_init( pwr_sClass_StoApPtr *o)
{
pwr_tUInt32 p;
pwr_tAttrRef aref = o->ApPtrObject;
/* Reset the indirect bit to fetch the pointer, not the value */
aref.Flags.b.Indirect = 0;
if ( ODD( gdh_GetObjectInfoAttrref( &aref, &p, sizeof(p))))
o->Ptr = gdh_TranslateRtdbPointer( p);
}
void StoApPtr_exec( plc_sThread *tp,
pwr_sClass_StoApPtr *o)
{
if ( o->Ptr)
*o->Ptr = *o->InP;
}
/*_*
STOIPPTR
@aref stoipptr STOIPPTR
*/
void StoIpPtr_init( pwr_sClass_StoIpPtr *o)
{
pwr_tUInt32 p;
pwr_tAttrRef aref = o->IpPtrObject;
/* Reset the indirect bit to fetch the pointer, not the value */
aref.Flags.b.Indirect = 0;
if ( ODD( gdh_GetObjectInfoAttrref( &aref, &p, sizeof(p))))
o->Ptr = gdh_TranslateRtdbPointer( p);
}
void StoIpPtr_exec( plc_sThread *tp,
pwr_sClass_StoIpPtr *o)
{
if ( o->Ptr)
*o->Ptr = *o->InP;
}
!
! Proview $Id: pwrb_c_getapptr.wb_load,v 1.1 2007-10-08 13:39:12 claes Exp $
! Copyright (C) 2005 SSAB Oxelsund AB.
!
! 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 the program, if not, write to the Free Software
! Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
!
! pwrb_c_getapptr.wb_load -- Defines the class GetApPtr.
!
SObject pwrb:Class
!/**
! @Version 1.0
! @Group Plc,PlcIO
! @Summary Get the value for a analog pointer attribute.
! Get the value for a analog pointer attribute.
! @image orm_getapptr_fo.gif
!
! Fetches the value of a analog pointer attribute, i.e. a
! attribute with the Pointer bit set in Flags. The pointer has
! to be a rtdb offset pointer, not an absolute pointer.
!*/
Object GetApPtr $ClassDef 511
Body SysBody
Attr Editor = pwr_eEditor_AttrEd
EndBody
Object RtBody $ObjBodyDef 1
Body SysBody
Attr StructName = "GetApPtr"
EndBody
!/**
! Specifies the name of pointer attribute.
!*/
Object ApPtrObject $Intern 1
Body SysBody
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
EndBody
EndObject
!/**
! A Plc private pointer to the actual value.
!*/
Object Ptr $Intern 2
Body SysBody
Attr TypeRef = "pwrs:Type-$Float32"
Attr Flags |= PWR_MASK_POINTER
Attr Flags |= PWR_MASK_PRIVATE
Attr Flags |= PWR_MASK_INVISIBLE
EndBody
EndObject
!/**
! Attribute value.
!*/
Object Value $Output 3
Body SysBody
Attr PgmName = "Value"
Attr Flags |= PWR_MASK_STATE
Attr Flags |= PWR_MASK_NOEDIT
Attr TypeRef = "pwrs:Type-$Float32"
Attr GraphName = "val"
EndBody
EndObject
EndObject
Object DevBody $ObjBodyDef 2
!/**
! Specifies number of segments of the actual object name
! that is to be displayed in the symbol of the GetApPtr
! object. The segments are counted from behind.
!*/
Object ApPtrObjectSegments $Intern 1
Body SysBody
Attr TypeRef = "pwrs:Type-$Int32"
EndBody
EndObject
Object PlcNode $Buffer 2
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] = 2
Attr parameters[2] = 1
Attr parameters[3] = 0
Attr subwindows = 0
Attr graphmethod = 7
Attr graphindex = 0
Attr default_mask[0] = 0
Attr default_mask[1] = 1
Attr segname_annotation = 0
Attr rtbody_annotation = 1
Attr compmethod = 35
Attr tracemethod = 3
Attr connectmethod = 0
Attr executeordermethod = 0
Attr objname = "GetApPtr"
Attr graphname = "GetApPtr"
Attr debugpar = "Value"
EndBody
EndObject
Object Template GetApPtr
Body DevBody
Attr ApPtrObjectSegments = 2
EndBody
EndObject
EndObject
EndSObject
!
! Proview $Id: pwrb_c_getdpptr.wb_load,v 1.1 2007-10-08 13:39:12 claes Exp $
! Copyright (C) 2005 SSAB Oxelsund AB.
!
! 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 the program, if not, write to the Free Software
! Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
!
! pwrb_c_getdpptr.wb_load -- Defines the class GetDpPtr.
!
SObject pwrb:Class
!/**
! @Version 1.0
! @Group Plc,PlcIO
! @Summary Get the value for a digital pointer attribute.
! Get the value for a digital pointer attribute.
! @image orm_getdpptr_fo.gif
!
! Fetches the value of a digital pointer attribute, i.e. a
! attribute with the Pointer bit set in Flags. The pointer has
! to be a rtdb offset pointer, not an absolute pointer.
!*/
Object GetDpPtr $ClassDef 510
Body SysBody
Attr Editor = pwr_eEditor_AttrEd
EndBody
Object RtBody $ObjBodyDef 1
Body SysBody
Attr StructName = "GetDpPtr"
EndBody
!/**
! Specifies the name of pointer attribute.
!*/
Object DpPtrObject $Intern 1
Body SysBody
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
EndBody
EndObject
!/**
! A Plc private pointer to the actual value.
!*/
Object Ptr $Intern 2
Body SysBody
Attr TypeRef = "pwrs:Type-$Boolean"
Attr Flags |= PWR_MASK_POINTER
Attr Flags |= PWR_MASK_PRIVATE
Attr Flags |= PWR_MASK_INVISIBLE
EndBody
EndObject
!/**
! Attribute value.
!*/
Object Value $Output 3
Body SysBody
Attr PgmName = "Value"
Attr Flags |= PWR_MASK_STATE
Attr Flags |= PWR_MASK_NOEDIT
Attr TypeRef = "pwrs:Type-$Boolean"
Attr GraphName = "val"
EndBody
EndObject
EndObject
Object DevBody $ObjBodyDef 2
!/**
! Specifies number of segments of the actual object name
! that is to be displayed in the symbol of the GetDpPtr
! object. The segments are counted from behind.
!*/
Object DpPtrObjectSegments $Intern 1
Body SysBody
Attr TypeRef = "pwrs:Type-$Int32"
EndBody
EndObject
Object PlcNode $Buffer 2
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] = 2
Attr parameters[2] = 1
Attr parameters[3] = 0
Attr subwindows = 0
Attr graphmethod = 7
Attr graphindex = 0
Attr default_mask[0] = 0
Attr default_mask[1] = 1
Attr segname_annotation = 0
Attr rtbody_annotation = 1
Attr compmethod = 35
Attr tracemethod = 3
Attr connectmethod = 0
Attr executeordermethod = 0
Attr objname = "GetDpPtr"
Attr graphname = "GetDpPtr"
Attr debugpar = "Value"
EndBody
EndObject
Object Template GetDpPtr
Body DevBody
Attr DpPtrObjectSegments = 2
EndBody
EndObject
EndObject
EndSObject
!
! Proview $Id: pwrb_c_getipptr.wb_load,v 1.1 2007-10-08 13:39:12 claes Exp $
! Copyright (C) 2005 SSAB Oxelsund AB.
!
! 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 the program, if not, write to the Free Software
! Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
!
! pwrb_c_getipptr.wb_load -- Defines the class GetIpPtr.
!
SObject pwrb:Class
!/**
! @Version 1.0
! @Group Plc,PlcIO
! @Summary Get the value for a integer pointer attribute.
! Get the value for a integer pointer attribute.
! @image orm_getipptr_fo.gif
!
! Fetches the value of a integer pointer attribute, i.e. a
! attribute with the Pointer bit set in Flags. The pointer has
! to be a rtdb offset pointer, not an absolute pointer.
!*/
Object GetIpPtr $ClassDef 512
Body SysBody
Attr Editor = pwr_eEditor_AttrEd
EndBody
Object RtBody $ObjBodyDef 1
Body SysBody
Attr StructName = "GetIpPtr"
EndBody
!/**
! Specifies the name of pointer attribute.
!*/
Object IpPtrObject $Intern 1
Body SysBody
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
EndBody
EndObject
!/**
! A Plc private pointer to the actual value.
!*/
Object Ptr $Intern 2
Body SysBody
Attr TypeRef = "pwrs:Type-$Int32"
Attr Flags |= PWR_MASK_POINTER
Attr Flags |= PWR_MASK_PRIVATE
Attr Flags |= PWR_MASK_INVISIBLE
EndBody
EndObject
!/**
! Attribute value.
!*/
Object Value $Output 3
Body SysBody
Attr PgmName = "Value"
Attr Flags |= PWR_MASK_STATE
Attr Flags |= PWR_MASK_NOEDIT
Attr TypeRef = "pwrs:Type-$Int32"
Attr GraphName = "val"
EndBody
EndObject
EndObject
Object DevBody $ObjBodyDef 2
!/**
! Specifies number of segments of the actual object name
! that is to be displayed in the symbol of the GetIpPtr
! object. The segments are counted from behind.
!*/
Object IpPtrObjectSegments $Intern 1
Body SysBody
Attr TypeRef = "pwrs:Type-$Int32"
EndBody
EndObject
Object PlcNode $Buffer 2
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] = 2
Attr parameters[2] = 1
Attr parameters[3] = 0
Attr subwindows = 0
Attr graphmethod = 7
Attr graphindex = 0
Attr default_mask[0] = 0
Attr default_mask[1] = 1
Attr segname_annotation = 0
Attr rtbody_annotation = 1
Attr compmethod = 35
Attr tracemethod = 3
Attr connectmethod = 0
Attr executeordermethod = 0
Attr objname = "GetIpPtr"
Attr graphname = "GetIpPtr"
Attr debugpar = "Value"
EndBody
EndObject
Object Template GetIpPtr
Body DevBody
Attr IpPtrObjectSegments = 2
EndBody
EndObject
EndObject
EndSObject
!
! Proview $Id: pwrb_c_stoapptr.wb_load,v 1.1 2007-10-08 13:39:12 claes Exp $
! Copyright (C) 2005 SSAB Oxelsund AB.
!
! 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 the program, if not, write to the Free Software
! Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
!
! pwrb_c_stoapptr.wb_load -- Defines the class StoApPtr.
!
SObject pwrb:Class
!/**
! @Version 1.0
! @Group Plc,PlcIO
! @Summary Store the value for a analog pointer attribute.
! Store the value for a analog pointer attribute.
! @image orm_stoapptr_fo.gif
!
! Stores the value of a analog pointer attribute, i.e. a
! attribute with the Pointer bit set in Flags. The pointer has
! to be a rtdb offset pointer, not an absolute pointer.
!*/
Object StoApPtr $ClassDef 514
Body SysBody
Attr Editor = pwr_eEditor_AttrEd
EndBody
Object RtBody $ObjBodyDef 1
Body SysBody
Attr StructName = "StoApPtr"
EndBody
!/**
! Value input.
!*/
Object Value $Input 1
Body SysBody
Attr PgmName = "In"
Attr TypeRef = "pwrs:Type-$Float32"
Attr GraphName = "in"
EndBody
EndObject
!/**
! Specifies the name of pointer attribute.
!*/
Object ApPtrObject $Intern 2
Body SysBody
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
EndBody
EndObject
!/**
! A Plc private pointer to the actual value.
!*/
Object Ptr $Intern 3
Body SysBody
Attr TypeRef = "pwrs:Type-$Float32"
Attr Flags |= PWR_MASK_POINTER
Attr Flags |= PWR_MASK_PRIVATE
Attr Flags |= PWR_MASK_INVISIBLE
EndBody
EndObject
EndObject
Object DevBody $ObjBodyDef 2
!/**
! Specifies number of segments of the actual object name
! that is to be displayed in the symbol of the StoApPtr
! object. The segments are counted from behind.
!*/
Object ApPtrObjectSegments $Intern 1
Body SysBody
Attr TypeRef = "pwrs:Type-$Int32"
EndBody
EndObject
Object PlcNode $Buffer 2
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] = 1
Attr parameters[1] = 2
Attr parameters[2] = 0
Attr parameters[3] = 0
Attr subwindows = 0
Attr graphmethod = 7
Attr graphindex = 0
Attr default_mask[0] = 1
Attr default_mask[1] = 0
Attr segname_annotation = 0
Attr rtbody_annotation = 1
Attr compmethod = 35
Attr tracemethod = 3
Attr connectmethod = 0
Attr executeordermethod = 0
Attr objname = "StoApPtr"
Attr graphname = "StoApPtr"
Attr debugpar = "In"
EndBody
EndObject
Object Template StoApPtr
Body DevBody
Attr ApPtrObjectSegments = 2
EndBody
EndObject
EndObject
EndSObject
!
! Proview $Id: pwrb_c_stodpptr.wb_load,v 1.1 2007-10-08 13:39:12 claes Exp $
! Copyright (C) 2005 SSAB Oxelsund AB.
!
! 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 the program, if not, write to the Free Software
! Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
!
! pwrb_c_stodpptr.wb_load -- Defines the class StoDpPtr.
!
SObject pwrb:Class
!/**
! @Version 1.0
! @Group Plc,PlcIO
! @Summary Store the value for a digital pointer attribute.
! Store the value for a digital pointer attribute.
! @image orm_stodpptr_fo.gif
!
! Stores the value of a digital pointer attribute, i.e. a
! attribute with the Pointer bit set in Flags. The pointer has
! to be a rtdb offset pointer, not an absolute pointer.
!*/
Object StoDpPtr $ClassDef 513
Body SysBody
Attr Editor = pwr_eEditor_AttrEd
EndBody
Object RtBody $ObjBodyDef 1
Body SysBody
Attr StructName = "StoDpPtr"
EndBody
!/**
! Value input.
!*/
Object Value $Input 1
Body SysBody
Attr PgmName = "In"
Attr TypeRef = "pwrs:Type-$Boolean"
Attr GraphName = "in"
EndBody
EndObject
!/**
! Specifies the name of pointer attribute.
!*/
Object DpPtrObject $Intern 2
Body SysBody
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
EndBody
EndObject
!/**
! A Plc private pointer to the actual value.
!*/
Object Ptr $Intern 3
Body SysBody
Attr TypeRef = "pwrs:Type-$Boolean"
Attr Flags |= PWR_MASK_POINTER
Attr Flags |= PWR_MASK_PRIVATE
Attr Flags |= PWR_MASK_INVISIBLE
EndBody
EndObject
EndObject
Object DevBody $ObjBodyDef 2
!/**
! Specifies number of segments of the actual object name
! that is to be displayed in the symbol of the StoDpPtr
! object. The segments are counted from behind.
!*/
Object DpPtrObjectSegments $Intern 1
Body SysBody
Attr TypeRef = "pwrs:Type-$Int32"
EndBody
EndObject
Object PlcNode $Buffer 2
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] = 1
Attr parameters[1] = 2
Attr parameters[2] = 0
Attr parameters[3] = 0
Attr subwindows = 0
Attr graphmethod = 7
Attr graphindex = 0
Attr default_mask[0] = 1
Attr default_mask[1] = 0
Attr segname_annotation = 0
Attr rtbody_annotation = 1
Attr compmethod = 35
Attr tracemethod = 3
Attr connectmethod = 0
Attr executeordermethod = 0
Attr objname = "StoDpPtr"
Attr graphname = "StoDpPtr"
Attr debugpar = "In"
EndBody
EndObject
Object Template StoDpPtr
Body DevBody
Attr DpPtrObjectSegments = 2
EndBody
EndObject
EndObject
EndSObject
!
! Proview $Id: pwrb_c_stoipptr.wb_load,v 1.1 2007-10-08 13:39:12 claes Exp $
! Copyright (C) 2005 SSAB Oxelsund AB.
!
! 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 the program, if not, write to the Free Software
! Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
!
! pwrb_c_stoipptr.wb_load -- Defines the class StoIpPtr.
!
SObject pwrb:Class
!/**
! @Version 1.0
! @Group Plc,PlcIO
! @Summary Store the value for a integer pointer attribute.
! Store the value for a integer pointer attribute.
! @image orm_stoipptr_fo.gif
!
! Stores the value of a integer pointer attribute, i.e. a
! attribute with the Pointer bit set in Flags. The pointer has
! to be a rtdb offset pointer, not an absolute pointer.
!*/
Object StoIpPtr $ClassDef 515
Body SysBody
Attr Editor = pwr_eEditor_AttrEd
EndBody
Object RtBody $ObjBodyDef 1
Body SysBody
Attr StructName = "StoIpPtr"
EndBody
!/**
! Value input.
!*/
Object Value $Input 1
Body SysBody
Attr PgmName = "In"
Attr TypeRef = "pwrs:Type-$Int32"
Attr GraphName = "in"
EndBody
EndObject
!/**
! Specifies the name of pointer attribute.
!*/
Object IpPtrObject $Intern 2
Body SysBody
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
EndBody
EndObject
!/**
! A Plc private pointer to the actual value.
!*/
Object Ptr $Intern 3
Body SysBody
Attr TypeRef = "pwrs:Type-$Int32"
Attr Flags |= PWR_MASK_POINTER
Attr Flags |= PWR_MASK_PRIVATE
Attr Flags |= PWR_MASK_INVISIBLE
EndBody
EndObject
EndObject
Object DevBody $ObjBodyDef 2
!/**
! Specifies number of segments of the actual object name
! that is to be displayed in the symbol of the StoIpPtr
! object. The segments are counted from behind.
!*/
Object IpPtrObjectSegments $Intern 1
Body SysBody
Attr TypeRef = "pwrs:Type-$Int32"
EndBody
EndObject
Object PlcNode $Buffer 2
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] = 1
Attr parameters[1] = 2
Attr parameters[2] = 0
Attr parameters[3] = 0
Attr subwindows = 0
Attr graphmethod = 7
Attr graphindex = 0
Attr default_mask[0] = 1
Attr default_mask[1] = 0
Attr segname_annotation = 0
Attr rtbody_annotation = 1
Attr compmethod = 35
Attr tracemethod = 3
Attr connectmethod = 0
Attr executeordermethod = 0
Attr objname = "StoIpPtr"
Attr graphname = "StoIpPtr"
Attr debugpar = "In"
EndBody
EndObject
Object Template StoIpPtr
Body DevBody
Attr IpPtrObjectSegments = 2
EndBody
EndObject
EndObject
EndSObject
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