Multiple functional blocks with multiple ufpts – Echelon i.LON SmartServer 2.0 User Manual
Page 75

i.LON SmartServer 2.0 Programming Tools User’s Guide
61
nviTemp implements nviTemp;
nvoAC_OnOff implements nvoAirConditioner_OnOff;
nvoFurnace_OnOff implements nvoFurnace_OnOff;
} fbHVACFunction external_name ("HVAC Function")
fb_properties {
nciHeartbeat,nciOffline,nciThrottle,nciHysteresis
};
/////////////second FB instantiated/////////////////////////
network input SNVT_switch nviACSwitch;
network input SNVT_switch nviFurnaceSw;
network output SNVT_hvac_mode nvoHVACMode;
fblock UFPTSwitchEncoder {
nviACSwitch implements nviACSwitch;
nviFurnaceSw implements nviFurnaceSwitch;
nvoHVACMode implements nvoHVACMode;
} fbSwitchEncoder external_name ("Digital Encoder");
Multiple Functional Blocks with Multiple UFPTs
The following example demonstrates how to use multiple functional block arrays in a model file to
create multiple sets of functional blocks that are instances of their respective UFPTs. You could then
write separate FPM applications for the UFPTs instantiated by the model file. When you deploy the
FPM applications on the SmartServer and select the XIF generated from this model file, the internal
FPM device will include arrays of the functional blocks that are separate instances of their respective
FPM applications.
#define NUM_HVAC_FBs 2
#define NUM_SWITCH_ENCODER_FBs 2
#include
////////////first FB array instantiated///////////////////////////
network input SNVT_hvac_mode nviHVACMode[NUM_HVAC_FBs];
network input SNVT_temp_f nviSetPoint[NUM_HVAC_FBs];
network input SNVT_temp_f nviTemp[NUM_HVAC_FBs];
network output SNVT_switch nvoAC_OnOff[NUM_HVAC_FBs];
network output SNVT_switch nvoFurnace_OnOff[NUM_HVAC_FBs];
network input SCPTmaxSendTime cp nciHeartbeat[NUM_HVAC_FBs];
network input SCPTmaxRcvTime cp nciOffline[NUM_HVAC_FBs];
network input SCPTminSendTime cp nciThrottle[NUM_HVAC_FBs];
network input UCPTHysteresis cp nciHysteresis[NUM_HVAC_FBs];
fblock UFPTHVACController {
nviHVACMode[0] implements nviHVACMode;
nviSetPoint[0] implements nviSetPoint;
nviTemp[0] implements nviTemp;
nvoAC_OnOff[0] implements nvoAirConditioner_OnOff;
nvoFurnace_OnOff[0] implements nvoFurnace_OnOff;
} fbHVACFunction[NUM_HVAC_FBs] external_name ("HVAC Function")
fb_properties {