semi合集-English.pdf - 第2169页
SEMI E54.16-0705 © SEMI 2005 14 specified by t he Reportin g Mode and Exception Status Repo rting Inter v al confi guration pr operties of the functional block. 7.3.4 Device Manager Object Configuration Propertie s — The…

SEMI E54.16-0705 © SEMI 2005 13
Device Manager Object (DM)
Profile ID = 00, Instance ID = 01
Sequence
Number
Name Storage Class CDM Tag Standard NV or CP Data Type
28 Exception Detail Type CP DmA18 SCPTexceptionDetailType (*)
#5
29 Exception Detail Alarm Queue NVO DmA19 SNVT_exc_detail (*)
#5
30 Exception Detail Warning Queue NVO DmA20 SNVT_exc_detail (*)
#5
31 Date and Time NVO DmA21 SNVT_time_p (*)
#5
32 Date and Time Type CP DmA22 SCPTdateTimeType (*)
#5
66 Test ID
#2
(*)
#5
NVI DmA34 SNVT_test_id (*)
#5
67 Password
#3
(*)
#5
NVI DmA35 SNVT_password (*)
#5
68 Exception Queue
#4
(*)
#5
NVI DmA36 SNVT_exc_que (*)
#5
128 Attribute ID
#1
(*)
#5
NVI DmA33 SNVT_member (*)
#5
#1
This input is used to specify an attribute for the Restore Default and Publish Attribute services.
#2
This input is used to specify a test ID for the Perform Diagnostics service.
#3
This input is used to specify a password for the Unlock service.
#4
This input is used to specify a password for the Get and Clear Exception Queue services.
#5
(*) LonMark interoperability extension. Refer to §6.8.3 for further definition.
7.3.2 Device Manager Functional Block Services — Table 7 summarizes the services implemented by the Device
Manager functional block.
Table 7 Device Manager (DM) Object Services
Device Manager Object (DM)
Profile ID = 00, Instance ID = 01
Service Request
Code
Service Name CDM Tag Request Parameters Result Parameters
1 Reset DmS1 Node Object RQ_RESET
2 Abort DmS2 Node Object RQ_ABORT (*)
#1
3 Recover DmS3 Node Object RQ_RECOVER
(*)
#1
4 GetAttribute DmS4 Read NV or CP NV or CP Value
5 SetAttribute DmS5 Write NV or CP
13 Execute DmS6 Node Object RQ_ENABLE
14 Perform Diagnostics DmS7 Node Object RQ_SELF_TEST
8 Publish Attribute DmS8 Node Object
RQ_PROPAGATE (*)
#1
NVO Value
9 Lock DmS9 Node Object RQ_LOCK (*)
#1
10 Unlock DmS10 Node Object RQ_UNLOCK
(*)
#1
11 Get Exception Queue DmS11 Node Object
RQ_GET_EXC_QUEUE (*)
#1
12 Clear Exception Queue DmS12 Node Object
RQ_CLEAR_EXC_QUEUE
(*)
#1
#1
(*) LonMark interoperability extension. Refer to §6.8.3 for further definition.
7.3.3 The Publish (DmS8) notification service for the Device Manager exception status is implemented when an
RQ_PROPAGATE request is received on the nviRequest input to the Node Object functional block. A specific
network variable may be specified on the SNVT_member input. This causes the value of this network variable to be
propagated across the network to other network variable(s) to which it may be bound. The implementation of the
Device Manager functional block updates the specified output network variable according to the conditions

SEMI E54.16-0705 © SEMI 2005 14
specified by the Reporting Mode and Exception Status Reporting Interval configuration properties of the functional
block.
7.3.4 Device Manager Object Configuration Properties — The DM object has configuration properties to control
exception reporting as shown in Table 8. These parameters are Standard Configuration Property Types (SCPTs).
7.3.4.1 The type SCPT_rept_mode(*) contains two four-bit fields specifying the reporting method for alarms and
warning conditions. For example, in Neuron C, the application programming language used on the Neuron Chip, the
declaration of SCPT_rept_mode is as follows:
typedef enum {
REP_REQUEST = 0,
REP_REQ_LATCHED = 1,
REP_EVT_TRIGD_ON = 2,
REP_EVT_TRIGD_ONOFF = 3,
REP_TIME_TRIGD = 4,
REP_EVT_ON_TIME_TRIGD = 5,
REP_EVT_ONOFF_TIME_TRIGD = 6,
} rept_mode_t;
typedef struct {
rept_mode_t alarm_rept_mode :4;
rept_mode_t warn_rept_mode :4;
} SCPT_rept_mode;
7.3.4.2 The type SCPT_exc_sts(*) is a 16-bit value representing times from 0.00 to 655.35 seconds, with a
resolution of 0.01 seconds. This parameter is optional. The default reporting mode is REP_REQUEST.
7.3.4.3 Device Manager Functional Block Output Network Variables — The Device Manager functional block of
the CDM defines the attribute variable Device Status. The data type SNVT_dev_status is an enumeration. One field
of the union is an enumeration, corresponding to the device status attribute defined by the table Device Status
Attribute Values of the CDM. The values of this type are defined in Table 8.
Table 8 Device Status Attribute Variable Enumeration Values
Value Enumeration Tag
0 DS_UNKNOWN
1 DS_INIT_SELFTEST
2 DS_IDLE
3 DS_SELFTEST_EXCPT
4 DS_EXECUTING
5 DS_ABORT_1
6 DS_ABORT_2
7.3.4.4 The application programming language used to declare SNVT_dev_status is as follows:
typedef enum {
DS_UNKNOWN = 0,
DS_INIT_SELFTEST = 1,
DS_IDLE = 2,
DS_SELFTEST_EXCPT = 3,
DS_EXECUTING = 4,

SEMI E54.16-0705 © SEMI 2005 15
DS_ABORT_1 = 5,
DS_ABORT_2 = 6,
} dev_status_t;
7.3.4.4.1 The value DS_ABORT_1 corresponds to the Abort from Idle or Executing state, and the value
DS_ABORT_2 corresponds to the Abort from Initialized/Self Testing or Self Test Exception state of the DM object.
7.3.4.5 The type SNVT_exc_que(*) contains four fields specifying the exception queue and exception elements to
retrieve. For example, in Neuron C, the application programming language used on the Neuron Chip, the declaration
of SNVT_exc_que_mode is as follows:
typedef enum {
REP_ALARM = 0,
REP_WARNING = 1,
} que_t;
typedef struct {
que_t exception_type :1;
int element_number :1;
SNVT_state exception_list[13];
int exception_clear :1;
} SNVT_exc_que;
7.3.4.6 The type SNVT_exc_detail(*) is a sequence of three structures containing arrays. The ANSI/EIA/CEA-
709.1 protocol limits the size of each of these arrays to 9 bytes, so that the type fits within the network variable size
limit of 31 bytes. For example, in Neuron C, the declaration of SNVT_exc_detail is as follows:
typedef struct {
u_char comn_exc_size;
int calibration : 1;
int real_time : 1;
int communic : 1;
int RAM : 1;
int EEPROM : 1;
int EPROM : 1;
int microproc : 1;
int diagnostic : 1;
/*--------------------------*/
int resvd1 : 1;
int reset : 1;
int notify_mfr : 1;
int maintenance : 1;
int power_inputV : 1;
int power_outptV : 1;
int power_resvd : 1;
int power_overC : 1;
u_char comn_exc_dtl[7];