Functional Profile:
UFPToutdoorLuminairController
(Preliminary)
Overview
This document provides a basic overview of the UFPToutdoorLuminairController profile currently being finalized by one of the LonMark task groups. This document does not cover every aspect of this profile, but rather provides information on the basic function / content of the network variables and configuration properties and how they might apply to an outdoor LED fixture.
Example Usage
The UFPToutdoorLuminairController Object resides on the driver / generator or an associated interface and communicates via a LonWorks network. The following objects are expected to be present on a device implementing this profile.
- Node Object (implementing the optional nviTimeSet)
- Outdoor Luminair Controller Object
Object Details
Figure 2. Object Details
Table 1. Outdoor Luminair Controller Network Variable Type Details
NV #(M/O)* / Variable
Name / In
Out / SNVT
Name (index) / Principal NV / Polled / Service Type** / Description
5(m) / nviDevRequest / In / UNVT_dev_request / N / N / - / Device request
3(m) / nviEnergy / In / SNVT_elec_ksh_l / N / N / - / Electric energy
1(m) / nviLampValue / In / SNVT_switch / N / N / - / Luminair state and value (set)
2(m) / nviRunHours / In / UNVT_time_hour_32 / N / N / - / Run time hours (set)
10(m) / nvoEnvironment / Out / UNVT_environment / N / N / Unsp. / Outdoor lighting controller environment variables
6(m) / nvoLampValue / Out / SNVT_switch / N / N / Unsp. / Luminair state and value (current)
9(m) / nvoStatus / Out / UNVT_lamp_status / N / N / Unsp. / Luminair operation status (alarm conditions)
*M = mandatory, O = optional.
Table 2. Outdoor Luminair Controller Configuration Property Details
M / O* / SCPT NameNV Name
Type or SNVT / SCPT
Index / Associated NVs ** / Description
M / cpBkupSchedule
UCPTbkupSchedule / Functional Block / Fallback switching schedule
M / cpDeviceOutSelection
UCPTdeviceOutSelection / nviLampValue / Sets the hardware output mode where applicable
M / cpDimLowLevelLight
SCPTminSetpoint / 53 / Functional Block / Minimum low light level set point
M / cpDimMaxVolt
UCPTdimMaxVolt / Functional Block / Maximum dim voltage
M / cpEnableStatusMsg
UCPTenableStatusMsg / Functional Block / Mask defining which outputs are enabled for reporting via nvoStatus
M / cpGPSLocation
UCPTgpsLoc / Functional Block / GPS location of the fixture
M / cpLampPower
UCPTlampPower (SNVT_power) / Functional Block / Maximum power of the lamp
M / cpMaxSendTime
SCPTmaxSendTime / 49 / Functional Block / Maximum time between output variable transmissions (heart beat)
M / cpMinSendTime
SCPTminSendTime / 52 / Functional Block / Minimum time between output variable transmissions (throttle)
M / cpOLCLimits
UCPTOLCLimits / nvoStatus / Defines the limits for the alarms / events reported via nvoStatus
M / cpWarmUpTime
UCPTWarmUpTime (SNVT_time_sec) / Functional Block / Lamp warm up time
* M = mandatory, O = optional
** List of NVs to which this configuration property applies.
Mandatory Network Variables
Device Request – Input
network input UNVT_dev_request nviDevRequest
text("%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d", command,command_ex1,command_ex2[0],command_ex2[1],data[0],data[1],data[2],data[3],data[4],data[5],data[6],data[7],data[8],data[9],data[10],data[11],data[12],data[13],data[14],data[15],data[16],data[17],data[18],data[19],data[20],data[21],data[22],data[23],data[24],data[25],data[26]);
This input network variable is intended to provide a generic means for transferring a command via the UFPToutdoorLuminairController to a host controller running on an associated generator / ballast controller. For an integrated design, this input would likely go unused. The LonMark task group is in the process of defining some generic commands that would leverage this input. There have apparently been discussions about using this bi-directionally.
Valid Range
Field Name / Data Type / Array/Size / Description / Unitscommand / unsigned short
command_ex1 / unsigned short
command_ex2 / unsigned short / Y – 2
data / unsigned short / Y - 27
Limits / Scales (A*10^B*(raw + C))
Field Name / Min / Max / Invalid / A / B / C / Scaling Notes
command / 0 / 255 / 1 / 0 / 0
command_ex1 / 0 / 255 / 1 / 0 / 0
command_ex2 / 0 / 255 / 1 / 0 / 0
data / 0 / 255 / 1 / 0 / 0
Default Value
Unspecified.
Configuration Considerations
There are no configuration properties associated with this variable.
Service Type
Not applicable
Energy – Input
network input SNVT_elec_kwh_l nviEnergy
text("%f");
This input network variable is used to set or assign the accumulated energy consumption for the object. There may be cases where the accumulated energy needs to be set or reset. As an example, if a lamp driver was replaced that contained the node, but the lamp itself was not replaced, the accumulated energy consumption might need to be restored as part of the change out. Likewise, a re-lamping might create the need to reset the accumulated energy consumption. This input provides the means to set this value. Note that the accumulated energy must be stored in a non-volatile fashion by the device.
Valid Range
* M = mandatory, C = Conditional, O = Optional
Limits / Scales (A*10^B*(raw + C))Field Name / Min / Max / Invalid / A / B / C / Scaling Notes
-2147483648 / 2147483647 / 2147483647 / 1 / -1 / 0 / Kilo-Watt Hrs (0.1 resolution)
Default Value
Unspecified.
Configuration Considerations
There are no configuration properties associated with this variable.
Service Type
Not applicable
Lamp Value – Input
network input SNVT_switch nviLampValue
text("%f %d", value, state);
This input network variable provides a means for setting the lamp state (on / off) as well as its value (dimming level).
Valid Range
Field Name / Data Type / Array/Size / Description / Unitsvalue / unsigned short / % of full level
state / signed short / 0 – off, 1 - on / state code
Limits / Scales (A*10^B*(raw + C))
Field Name / Min / Max / Invalid / A / B / C / Scaling Notes
value / 0 / 200 / 5 / -1 / 0 / 0 – 100%, 0.5 Incr.
state / -1 / 1 / -1 / 1 / 0 / 0
Default Value
Unspecified.
Configuration Considerations
cpDeviceOutSelection (see below)
Service Type
Not applicable
Run Hours – Input
network input UNVT_time_hour_32 nviRunHours
text("%d");
This input network variable is used to set or assign the accumulated running hours for the object. There may be cases where the accumulated run time needs to be set or reset. As an example, if a lamp driver was replaced that contained the node, but the lamp itself was not replaced, the accumulated run time might need to be restored as part of the change out. Likewise, a re-lamping might create the need to reset the accumulated run time. This input provides the means to set this value. Note that the accumulated run time hours must be stored in a non-volatile fashion by the device.
Valid Range
Field Name / Data Type / Array/Size / Description / Unitssigned quad / hours
Limits / Scales (A*10^B*(raw + C))
Field Name / Min / Max / Invalid / A / B / C / Scaling Notes
-2147483648 / 2147483647 / 1 / 0 / 0
Default Value
Unspecified.
Configuration Considerations
There are no configuration properties associated with this variable.
Service Type
Not applicable
Environment– Output
network output UNVT_environment nvoEnvironment
text("%d %d %d %d %d %d %d %d %d", lampCurrent,lampVoltage,supplyVoltage,supplyCurrent,ballastTemp,power,powerFactor,runHours,energy);
This output network variable is used to report the current environment variables / conditions associated with the operation of the lighting controller. A device implementing this profile that cannot provide data for all of the fields listed in this structure should use the appropriate “invalid value” for the field in question as a means of identifying an unsupported field.
Valid Range
Field Name / Data Type / Array/Size / Description / UnitslampCurrent / UNVT_amp_ac_mil / Electrical current (lamp) / milliamperes
lampVoltage / SNVT_volt_ac / Lamp voltage / volts ac
supplyVoltage / SNVT_volt_ac / Supply voltage / volts ac
supplyCurrent / UNVT_amp_ac_mil / Electrical current (supply) / milliamperes
ballastTemp / SNVT_temp_p / Temperature / degrees Celsius
power / SNVT_power / Power / Watts
powerFactor / SNVT_pwr_fact / Power factor / Multiplier
runHours / UNVT_time_hour_32 / Cumulative run time (hours) / Hours
energy / SNVT_elec_kwh_l / Cumulative energy / kilo-Watt-hours
* M = mandatory, C = Conditional, O = Optional
Limits / Scales (A*10^B*(raw + C))Field Name / Min / Max / Invalid / A / B / C / Scaling Notes
lampCurrent / 0 / 65535 / 65535 / 1 / 0 / 0
lampVoltage / 0 / 65535 / 65535 / 1 / 0 / 0
supplyVoltage / 0 / 65535 / 65535 / 1 / 0 / 0
supplyCurrent / 0 / 65535 / 65535 / 1 / 0 / 0
ballastTemp / -27317 / 32767 / 32767 / 1 / -2 / 0 / 1/100th Deg. C.
power / 0 / 65535 / 1 / -1 / 0 / 1/10th Watt
powerFactor / -20000 / 20000 / 5 / -5 / 0
runHours / -2147483648 / 2147483647 / 1 / 0 / 0
energy / -2147483648 / 2147483647 / 2147483647 / 1 / -1 / 0 / 1/10th Res.
Default Value
Unspecified.
Configuration Considerations
There are no configuration properties explicitly associated with this variable.Note that the cpMaxSendTime and cpMinSendTime properties could be used to control the update rate of nvoEnvironment, however in a stand-alone network management mode with the SmartServer, the SmartServer regulates the polling rate.
Service Type
Unspecified
Lamp Value – Output
network output SNVT_switch nvoLampValue
text("%f %d", value, state);
This output network variable reports the lamp state (on / off) as well as its value (light level).
Valid Range
Field Name / Data Type / Array/Size / Description / UnitsValue / unsigned short / % of full level
State / signed short / 0 – off, 1 - on / state code
Limits / Scales (A*10^B*(raw + C))
Field Name / Min / Max / Invalid / A / B / C / Scaling Notes
value / 0 / 200 / 5 / -1 / 0 / 0 – 100%, 0.5 Incr.
state / -1 / 1 / -1 / 1 / 0 / 0
Default Value
Unspecified.
Configuration Considerations
There are no configuration properties explicitly associated with this variable. Note that the cpMaxSendTime and cpMinSendTime properties could be used to control the update rate of nvoLampValue, however in a stand-alone network management mode with the SmartServer, the SmartServer regulates the polling rate.
Service Type
Unspecified
Status– Output
network output UNVT_lamp_status nvoStatus
text("%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d", time_old.year,time_old.month,time_old.day,time_old.hour,time_old.minute,time_old.second,alarm_old.lamp_current_high,alarm_old.lamp_current_low,alarm_old.main_current_high,alarm_old.main_current_low,alarm_old.lamp_voltage_high,alarm_old.lamp_voltage_low,alarm_old.main_voltage_high,alarm_old.main_voltage_low,alarm_old.powerfactor_low,alarm_old.temp_high,alarm_old.power_high,alarm_old.power_low,alarm_old.relay_failure,alarm_old.cap_failure,alarm_old.lamp_failure,alarm_old.ballast_failure,alarm_old.inter_com_failure,alarm_old.exter_com_failure,alarm_old.main_volt_below_spec,alarm_old.lamp_restart_count,alarm_old.fading_ready,alarm_old.bit_22_res,alarm_old.bit_23_res,alarm_old.bit_24_res,alarm_old.bit_25_res,alarm_old.bit_26_res,alarm_old.bit_27_res,alarm_old.bit_28_res,alarm_old.bit_29_res,alarm_old.bit_30_res,alarm_old.bit_31_res,alarm_old.bit_32_res,alarm_old.bit_33_res,alarm_old.bit_34_res,alarm_old.bit_35_res,alarm_old.bit_36_res,alarm_old.bit_37_res,alarm_old.bit_38_res,alarm_old.bit_39_res,alarm_old.bit_40_res,time_new.year,time_new.month,time_new.day,time_new.hour,time_new.minute,time_new.second,alarm_new.lamp_current_high,alarm_new.lamp_current_low,alarm_new.main_current_high,alarm_new.main_current_low,alarm_new.lamp_voltage_high,alarm_new.lamp_voltage_low,alarm_new.main_voltage_high,alarm_new.main_voltage_low,alarm_new.powerfactor_low,alarm_new.temp_high,alarm_new.power_high,alarm_new.power_low,alarm_new.relay_failure,alarm_new.cap_failure,alarm_new.lamp_failure,alarm_new.ballast_failure,alarm_new.inter_com_failure,alarm_new.exter_com_failure,alarm_new.main_volt_below_spec,alarm_new.lamp_restart_count,alarm_new.fading_ready,alarm_new.bit_22_res,alarm_new.bit_23_res,alarm_new.bit_24_res,alarm_new.bit_25_res,alarm_new.bit_26_res,alarm_new.bit_27_res,alarm_new.bit_28_res,alarm_new.bit_29_res,alarm_new.bit_30_res,alarm_new.bit_31_res,alarm_new.bit_32_res,alarm_new.bit_33_res,alarm_new.bit_34_res,alarm_new.bit_35_res,alarm_new.bit_36_res,alarm_new.bit_37_res,alarm_new.bit_38_res,alarm_new.bit_39_res,alarm_new.bit_40_res);
This output network variable is used to report on any alarm conditions associated with the operation of the lighting controller. Both the current and last alarm / event condition state is reported via this output.
Valid Range
Field Name / Data Type / Description / Unitstime_old / SNVT_time_stamp / Time stamp of previous alarm data / Year, Month, Day..
old.lamp_current_high / unsigned:1 / Lamp current high
old.lamp_current_low / unsigned:1 / Lamp current low
old.main_current_high / unsigned:1 / Main current high
old.main_current_low / unsigned:1 / Main current low
old.lamp_voltage_high / unsigned:1 / Lamp voltage high
old.lamp_voltage_low / unsigned:1 / Lamp voltage low
old.main_voltage_high / unsigned:1 / Main voltage high
old.main_voltage_low / unsigned:1 / Main voltage low
old.powerfactor_low / unsigned:1
old.temp_high / unsigned:1
old.power_high / unsigned:1
old.power_low / unsigned:1
old.relay_failure / unsigned:1
old.cap_failure / unsigned:1
old.lamp_failure / unsigned:1
old.ballast_failure / unsigned:1
old.inter_com_failure / unsigned:1
old.exter_com_failure / unsigned:1
old.main_volt_below_spec / unsigned:1
old.lamp_restart_count / unsigned:1
old.fading_ready / unsigned:1
old.bit_22-40_res / unsigned:19 / Future use
time_new / SNVT_time_stamp / Time stamp of latest alarm data / Year, Month, Day..
new.lamp_current_high / unsigned:1 / Lamp current high
new.lamp_current_low / unsigned:1 / Lamp current low
new.main_current_high / unsigned:1 / Main current high
new.main_current_low / unsigned:1 / Main current low
new.lamp_voltage_high / unsigned:1 / Lamp voltage high
new.lamp_voltage_low / unsigned:1 / Lamp voltage low
new.main_voltage_high / unsigned:1 / Main voltage high
new.main_voltage_low / unsigned:1 / Main voltage low
new.powerfactor_low / unsigned:1
new.temp_high / unsigned:1
new.power_high / unsigned:1
new.power_low / unsigned:1
new.relay_failure / unsigned:1
new.cap_failure / unsigned:1
new.lamp_failure / unsigned:1
new.ballast_failure / unsigned:1
new.inter_com_failure / unsigned:1
new.exter_com_failure / unsigned:1
new.main_volt_below_spec / unsigned:1
new.lamp_restart_count / unsigned:1
new.fading_ready / unsigned:1
new.bit_22-40_res / unsigned:19 / Future use
Default Value
Unspecified.
Configuration Considerations
cpEnableStatusMsg – Mask cp that determines which output events / conditions are enabled for reporting via nvoStatus.
cpOLCLimits – Defines the threshold limits for the various alarm conditions reported by nvoStatus.
Service Type
Unspecified
Mandatory Configuration Properties
Back Up Schedule
Applies to Functional BlockcpBkupSchedule
UCPTbkupSchedule
typedef struct {unsigned short hour_on; unsigned short minute_on; unsigned short hour_off; unsigned short minute_off;} UCPTbkupSchedule;
This configuration property defines a fallback switching schedule for the controller to use in the event that communications with the segment controller is lost.
Device Output Selection
Applies to nviLampValuecpDeviceOutSelection
UCPTdeviceOutSelection
enumeration type, dev_out_select_t, text(“%m”)
This configuration property defines the hardware output mode for the controller if more than one output control option is available. For a controller integrated into the generator / driver, this cp would likely go unused.
Valid Range
Tag name / Member / Value / Commentdev_out_select_t / MEM_NUL / -1
Member_0 / 0
Relay / 1
ECO_Mode / 2
Volt_1to_10 / 3
DALI / 4
Default Value
Member_0
Dim Low Level
Applies to Functional Block cpDimLowLevelLight
SCPTminSetpointReference SNVT_lev_percent
This configuration property sets the minimum allowed light level for dimming operation.
Default Value
00*2 (0.000)
Maximum Dimming Voltage
Applies to Functional BlockcpDimMaxVolt
UCPTdimMaxVoltReference SNVT_volt
This configuration property sets the maximum dimming voltage, i.e. the voltage level that equates to 100% light output.
Default Value
00*2
Alarm Condition Enable
Applies to Functional BlockcpEnableStatusMsg
UCPTenableStatusMsg
typedef struct {unsigned lamp_current_high:1; unsigned lamp_current_low:1; unsigned main_current_high:1; unsigned main_current_low:1; unsigned lamp_voltage_high:1; unsigned lamp_voltage_low:1; unsigned main_voltage_high:1; unsigned main_voltage_low:1; unsigned power_factor_low:1; unsigned temp_high:1; unsigned power_high:1; unsigned power_low:1; unsigned relay_failure:1; unsigned cap_failure:1; unsigned lamp_failure:1; unsigned ballast_failure:1; unsigned inter_com_failure:1; unsigned exter_com_failure:1; unsigned main_volt_below_spec:1; unsigned lamp_restart_count:1; unsigned fading_ready:1; unsigned bit_22_res:1 … unsigned bit_40_res:1;} UCPTenableStatusMsg;
This configuration property identifies the available alarm conditions that can be output from nvoStatus, which are enabled for reporting on the controller. This “mask” cp regulates the list of potential alarm conditions the controller can output.
Default Value
00*5
GPS Location
Applies to Functional BlockcpGPSLocation
UCPTgpsLocReference UNVT_gps_loc
typedef struct {struct longitude{signed short degrees; signed quad minutes;}; struct latitude{signed short degrees; signed quad minutes;}; flooat elevation;} UNVT_gps_loc;
This configuration property sets the GPS location of the asset.
Default Value
00*15
Maximum Lamp Power
Applies to Functional BlockcpLampPower
UCPTLampPowerReference SNVT_power
This configuration property specifies the maximum power of the lamp associated with this controller.
Default Value
00*2
Maximum Send Time
Applies to Functional BlockcpMaxSendTime
SCPTmaxSendTimeReference SNVT_time_sec
This configuration property defines the maximum period of time (heartbeat) allowed between successive transmissions of the controllers key outputs. Note that in a stand-alone network management mode with the SmartServer, the SmartServer regulates the polling rate (master / slave), so this cp would be unused.
Minimum Send Time
Applies to Functional BlockcpMinSendTime
SCPTminSendTimeReference SNVT_time_sec
This configuration property defines the minimum period of time (throttle) required between successive transmissions of the controllers key outputs. Note that in a stand-alone network management mode with the SmartServer, the SmartServer regulates the polling rate (master / slave), so this cp would be unused.
Alarm Condition Limits
Applies to nvoStatuscpOLCLimits
UCPTOLCLimits
typedef struct {UNVT_amp_ac_mil lamp_current_high; UNVT_amp_ac_mil lamp_current_low; UNVT_amp_ac_mil main_current_high; UNVT_amp_ac_mil main_current_low; SNVT_volt_ac lamp_voltage_high; SNVT_volt_ac lamp_voltage_low; SNVT_volt_ac main_voltage_high; SNVT_volt_ac main_voltage_low; SNVT_pwr_fact power_factor_low; SNVT_power power_high; SNVT_power power_low; } UCPTOLCLimits;
This configuration property defines the threshold limit criteria used for reporting the various, enabled alarm conditions using nvoStatus.
Warm Up Time
Applies to Functional BlockcpWarmUpTime
UCPTWarmUpTimeReference SNVT_time_sec
This configuration property defines the warm up time for the lamp / fixture under control.
Additional Considerations
None specified.
UFPToutdoorLuminairController Profile 1