User guide
viii
Fixed Timers .......................................................................................... 36
Scaled Timers and I/O Objects ............................................................. 37
Calculating Accuracy for Software Timers .......................................... 37
Accuracy of Millisecond Timers ..................................................... 37
Accuracy of Second Timers............................................................. 40
Delay Functions..................................................................................... 40
EEPROM Write Timer .......................................................................... 41
Chapter 3. How Devices Communicate Using Network Variables ................ 43
Major Topics ................................................................................................. 44
Overview ....................................................................................................... 45
Behavior of Writer and Reader Devices ............................................... 46
When Updates Occur............................................................................. 47
Declaring Network Variables ...................................................................... 47
Examples of Network Variable Declarations....................................... 48
Connecting Network Variables ................................................................... 49
Use of the is_bound( ) Function ............................................................50
Network Variable Events ............................................................................ 51
The nv_update_occurs Event ................................................................ 51
The nv_update_succeeds and nv_update_fails Events ....................... 52
The nv_update_completes Event.......................................................... 53
Synchronous Network Variables................................................................. 53
Declaring Synchronous Network Variables......................................... 54
Synchronous vs. Nonsynchronous Network Variables........................ 54
Updating Synchronous Network Variables ......................................... 54
Preemption Mode ............................................................................ 55
Processing Completion Events for Network Variables.............................. 55
Partial Completion Event Testing........................................................55
Comprehensive Completion Event Testing ......................................... 55
Tradeoffs................................................................................................. 56
Polling Network Variables .......................................................................... 56
Declaring an Input Network Variable as Polled ................................. 58
Declaring an Output Network Variable as Polled............................... 58
Explicit Propagation of Network Variables................................................ 60
Initial Value Updates for Input Network Variables.................................. 62
Monitoring Network Variables.................................................................... 65
Authentication.............................................................................................. 66
Setting Up Devices to Use Authentication .......................................... 66
Declaring Authenticated Variables and Messages ....................... 67
Specifying the Authentication Key ................................................ 67
How Authentication Works................................................................... 67
Changeable-Type Network Variables ......................................................... 68
Processing Changes to a SCPTnvType CP .......................................... 71
Validating a Type Change .............................................................. 72
Processing a Type Change.............................................................. 73
Processing a Size Change ............................................................... 74
Rejecting a Type Change ................................................................ 75
Changeable-Type Example ................................................................... 75
Chapter 4. Using CPs to Configure Device Behavior ..................................... 83
Overview ....................................................................................................... 84
Declaring Configuration Properties............................................................ 84
Declaration of Configuration Network Variables................................ 85
Declaring Configuration Properties within Files ................................ 86