diff --git a/src/doc/orm/src/orm_strtoenum_fo.png b/src/doc/orm/src/orm_strtoenum_fo.png new file mode 100644 index 0000000000000000000000000000000000000000..e5c3d9c912ca631af6eaeddf502c7b1e38d966cf Binary files /dev/null and b/src/doc/orm/src/orm_strtoenum_fo.png differ diff --git a/src/wbl/pwrb/src/pwrb_c_strtoenum.wb_load b/src/wbl/pwrb/src/pwrb_c_strtoenum.wb_load new file mode 100644 index 0000000000000000000000000000000000000000..2656ae3c1bb3c3fe25e841a536cacb54069cb382 --- /dev/null +++ b/src/wbl/pwrb/src/pwrb_c_strtoenum.wb_load @@ -0,0 +1,156 @@ +! +! Proview Open Source Process Control. +! Copyright (C) 2005-2011 SSAB Oxelosund 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_strtoenum.wb_load -- Defines the class StrToEnum. +! +SObject pwrb:Class +!/** +! @Version 1.0 +! @Code rt_plc_io.c +! @Group Plc,PlcString,PlcConversion +! @Summary Convert string to enumeration value +! Convert string to enumeration value. +! @image orm_strtoenum_fo.png +! +! The StrToEnum object converts an enumeration string to the associated enum value. +! +! The enumeration type is specified in the TypeId attribute. +!*/ + Object StrToEnum $ClassDef 547 + Body SysBody + Attr Editor = pwr_eEditor_PlcEd + Attr Method = pwr_eMethod_Connections + Attr PopEditor = 2 + EndBody + Object RtBody $ObjBodyDef 1 + Body SysBody + Attr StructName = "StrToEnum" + EndBody + !/** + ! String input that will be converted to enumeration value. + !*/ + Object Str $Input 1 + Body SysBody + Attr TypeRef = "pwrs:Type-$String80" + Attr Flags |= PWR_MASK_STATE + Attr Flags |= PWR_MASK_RTVIRTUAL + Attr Flags |= PWR_MASK_NOEDIT + Attr Flags |= PWR_MASK_NOREMOVE + Attr GraphName = "Str" + EndBody + EndObject + !/** + ! Enumeration type id, eg pwrb:Type-PIDModeEnum. + !*/ + Object TypeId $Intern 2 + Body SysBody + Attr TypeRef = "pwrs:Type-$TypeId" + EndBody + EndObject + !/** + ! Pointer to the enum definition. + !*/ + Object EnumDefP $Intern 3 + Body SysBody + Attr Flags |= PWR_MASK_POINTER + Attr Flags |= PWR_MASK_PRIVATE + Attr Flags |= PWR_MASK_STATE + Attr Flags |= PWR_MASK_INVISIBLE + Attr TypeRef = "pwrs:Type-$Float32" + EndBody + EndObject + !/** + ! Size of enum definition. + !*/ + Object EnumDefRows $Intern 4 + Body SysBody + Attr Flags |= PWR_MASK_STATE + Attr Flags |= PWR_MASK_INVISIBLE + Attr TypeRef = "pwrs:Type-$UInt32" + EndBody + EndObject + !/** + ! Output that contains the enum value. + !*/ + Object ActVal $Output 5 + Body SysBody + 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 + Object PlcNode $Buffer 1 + 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] = 3 + Attr parameters[2] = 1 + Attr parameters[3] = 0 + Attr subwindows = 0 + Attr graphmethod = 1 + Attr graphindex = 0 + Attr default_mask[0] = 1 + Attr default_mask[1] = 1 + Attr segname_annotation = 1 + Attr compmethod = 35 + Attr compindex = 0 + Attr tracemethod = 0 + Attr traceindex = 0 + Attr executeordermethod = 2 + Attr objname = "StrToEnum" + Attr graphname = "StrToEnum" + EndBody + EndObject + Object Template StrToEnum + Body RtBody + EndBody + EndObject + EndObject +EndSObject + + + + +