Section 7.  Installation 
 
 
Some smart sensors send strings containing NULL characters. To manipulate a 
string that has NULL characters within it (in addition to being terminated with 
another NULL), use MoveBytes() instruction. 
 
7.7.18.4 Inserting String Characters 
Example: 
Objective: 
Use MoveBytes() to change "123456789" to "123A56789" 
Given: 
StringVar(7) = "123456789"                         'Result is 
"123456789" 
try (does not work): 
StringVar(7,1,4) = "A"     'Result is 
"123A<NULL>56789" 
Instead, use: 
StringVar(7) = MoveBytes(Strings(7,1,4),0,"A",0,1) 'Result is 
"123A56789" 
 
7.7.19  Subroutines 
A subroutine is a group of programming instructions that is called by, but runs 
outside of, the main program. Subroutines are used for the following reasons: 
•  To reduce program length.    Subroutine code can be executed multiple 
times in a program scan. 
•  To ease integration of proven code segments into new programs. 
•  To compartmentalize programs to improve organization. 
By executing the Call() instruction, the main program can call a subroutine from 
anywhere in the program. 
A subroutine has access to all global variables 
(p. 500). Variables local (p. 504) to a 
subroutine are declared within the subroutine instruction. Local variables can be 
aliased (as of 4/2013; OS 26) but are not displayed in the Public table.  Global 
and local variables can share the same name and not conflict. If global variables 
are passed to local variables of different type, the same type conversion rules 
apply as apply to conversions among variables declared as Public or Dim.  See 
Expressions with Numeric Data Types 
(p. 161) for conversion types. 
Note To avoid programming conflicts, pass information into local 
variables and / or define some global variables and use them exclusively 
by a subroutine.