beautypg.com

16 program signatures, 1 text signature, 2 binary runtime signature – Campbell Scientific CR1000 Measurement and Control System User Manual

Page 242: 3 executable code signatures, Crbasic example 51. program signatures

background image

Section 7. Installation

242 

 

 

scan times, two separate scans can be used with logic to jump between them. If a
PulseCount() is used in both scans, then a PulseCountReset is used prior to
entering each scan.

7.8.16 Program Signatures

A program signature is a unique integer calculated from all characters in a given
set of code. When a character changes, the signature changes. Incorporating
signature data into a the CR1000 data set allows system administrators to track
program changes and assure data quality. The following program signatures are
available.

• text signature
• binary-runtime signature
• executable-code signatures

7.8.16.1 Text Signature

The text signature is the most-widely used program signature. This signature is
calculated from all text in a program, including blank lines and comments. The
program text signature is found in the Status table as

ProgSignature

. See CRBasic

example Program Signatures

(p. 242).

7.8.16.2 Binary Runtime Signature

The binary runtime signature is calculated only from program code. It does not
include comments or blank lines. See CRBasic example Program Signatures

(p.

242).

7.8.16.3 Executable Code Signatures

Executable code signatures allow signatures to be calculated on discrete sections
of executable code. Executable code is code that resides between BeginProg and
EndProg instructions. See CRBasic example Program Signatures

(p. 242).

CRBasic Example 51. Program Signatures 

'Program reports the program text signature (ProgSig = Status.ProgSignature), the

'binary run-time signature (RunSig = Status.RunSignature), and calculates two

'executable code segment signatures (ExeSig(1), ExeSig(2))

'Define Public Variables

Public

RunSig, ProgSig, ExeSig(2),x,y

'Define Data Table

DataTable

(Signatures,1,1000)

DataInterval

(0,1,Day,10)

Sample

(1,ProgSig,FP2)

Sample

(1,RunSig,FP2)

Sample

(2,ExeSig(),FP2)

EndTable

'Program

BeginProg

ExeSig() =

Signature

'initialize executable code signature