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
+
+
+
+
+