beautypg.com

Internal fpm data point methods, Changed() – Echelon i.LON SmartServer 2.0 User Manual

Page 223

background image

i.LON SmartServer 2.0 Programming Tools User’s Guide

209

Variable Type

Size

unsigned long

32 Bits

long 32

Bits

unsigned int

32 Bits

int 32

Bits

float

32 Bits

double 64

Bits

Internal FPM Data Point Methods

For the data points declared in an FPM application or FPM driver, you can use the
Changed()method

to determine if a data point value has been changed, and you can use the

NotifyOnAllUpdates()

method to modify the Changed() method so that it checks whether

any data point property has been updated, including value, status, time of last update, and priority.

You can use the PROPAGATE()macro to write values to a structured data point.

For data points declared in an FPM application, you can use the ResetPriority()method to set
and reset the priority used by the module to write values to a data point.

You can use these internal data point methods in the Work() and OnTimer()routines of an FPM
application or driver.

FPM Scope

Internal Data Point

Method

Initialize()

Work()

OnTimer()

Shutdown

Changed() —

FPM Application
FPM Driver

FPM Application
FPM Driver

NotifyOnAllUpdates()* —

Propagate() —

FPM Application
FPM Driver

FPM Application
FPM Driver

ResetPriority() —

FPM Application

FPM Application

*Declared in constructor of FPM Application or FPM Driver

Changed()

You can use the Changed() method in the Work() and OnTimer()routines of an FPM
application or driver to determine whether the value of a data point has changed.

SYNTAX

bool Changed(const CVariable& rVar)

The rVar parameter specifies a data point declared in the FPM. If the value of the specified data
point has changed, this method returns a true value; otherwise, it returns a false value.

EXAMPLE

The following example demonstrates how you can use the Changed()method to check whether
the values of the data points in your FPM have changed.

void CUFPT_FPM_Application::Work()
{

if (Changed(x) || Changed(y))
{
//insert code here

}