It is important to turn Action Log Off: each SETVAL writes to Action Log file and possibly to Action Log ODBC database. Turn off Action log to make scripts faster.
# text10 is screen
tag displays start time
set startime
[clock seconds]
SETVAL
text10=$startime
# important to
turn Action Log off
SETVAL
%DALOGSTATUS=0
# This reads tags
from TextArryB and writes tags to TextArryA
# of 1000
elements, 70 characters each element
for {set Z 0}
{$Z<$1000s} {incr Z} {
SETVAL "TextArryA($Z)=[GETVAL TextArryB($Z)]"
}
# text11 &
txt12 are screen tags to display stop time and elapsed time
for this script
set stoptime
[clock seconds]
SETVAL
text11=$stoptime
set delta [expr
$stoptime - $startime]
SETVAL
text12=$delta
The time to process is about 2 seconds, about ¼ the time as 200 tags. This is because the there are only 2 tag ids that must be found with the two text arrays and there are 200 tag ids that must be found for the 200 individual tags.