semi合集-English.pdf - 第2165页
SEMI E54.16-0705 © SEMI 2005 10 CMD_UNLOCK = 10, CMD_GET_EXCEPTION_QUEUE = 11, CMD_CLEAR_EXCEPTION_QUEUE = 12, CMD_EXECUTE = 13, CMD_PERFORM_DIAGNOSTICS = 14, } semi_request_t; typedef struct { unsigned int flblock_index…

SEMI E54.16-0705 © SEMI 2005 9
Table 3 Common Device Model Required and Optional Object Types
SEMI Object
Name
LONMARK SEMI Class
ID/Instance ID
#1
CDM Tag
#2
LONMARK Functional
Profile Name
Required By
LONMARK
#1
R
equired By
CDM
#2
Required
By NCS
(DM)
Device Manager
#4
0 / 1 DmIO Node Object Yes Yes Yes
(SAC)
Sensor/Actuator/C
ontroller
#4
0 / 1 SacIO Node Object Yes Yes Yes
Assembly 180.81 / 1 through i Asm Manufacturer-specific
Members
No No No
Local Link Turnaround
Connection
#3
Lnk Turnaround Connection
#3
No No No
Sensor-AI 180.11 / 1 through k Sai SFPTsemiSensorAI No No No
Sensor-EI 180.22 / 1 through l Sei SFPTsemiSensorEI No No No
Sensor-BI 180.18 / 1 through m Sbi SFPTsemiSensorBI No No No
Actuator-AO 180.31 / 1 through n Aao SFPTsemiActuatorAO No No No
Actuator-EO 180.34 / 1 through o Aeo SFPTsemiActuatorEO No No No
Actuator-BO 180.33 / 1 through p Abo SFPTsemiActuatorBO No No No
Controller 180.51 / 1 through q C SFPTsemiController No No No
Sensor-BI-TH 180.19 / 1 through s Sbith SFPTsemiSensorBITH No No No
#1
LonMark groups SEMI Class IDs as reference 180 and designates specific object name categories as .XX. See LONMARK Application Layer
Interoperability Guideline and http://types.lonmark.org.
#2
See E54.1 – CDM specification for further information
#3
A turnaround connection is not a profile, but is a protocol-specific method for creating a link
#4
The LonMark Application Layer maps the SEMI Device Manger (DM) and Sensor/Actuator/Controller (SAC) objects to the LonMark Node
object.
7.1.3 Service Requests Code — Most service requests are implemented as network variable updates addressed to the
network variable corresponding to the specified attribute. The exceptions to this mapping are requests that require
more than a 31 byte response. In that case, the request is implemented as a network variable update containing a file
request to an nviSemiReq input to the Node Object functional block of a device. This input is defined by the
SNVT_semi_req type as follows:
typedef enum {
struct {
CMD_RESET = 1,
CMD_ABORT = 2,
CMD_RECOVER = 3,
CMD_GET_ATTRIBUTE = 4,
CMD_SET_ATTRIBUTE = 5,
CMD_OERATE = 6,
CMD_RESTOTE_DEFAULT = 7,
CMD_PUBLISH_ATTRIBUTE = 8,
CMD_LOCK = 9,

SEMI E54.16-0705 © SEMI 2005 10
CMD_UNLOCK = 10,
CMD_GET_EXCEPTION_QUEUE = 11,
CMD_CLEAR_EXCEPTION_QUEUE = 12,
CMD_EXECUTE = 13,
CMD_PERFORM_DIAGNOSTICS = 14,
} semi_request_t;
typedef struct {
unsigned int flblock_index;
semi_request_t service_code;
unsigned int parameter; // Optional parameter
} SNVT_semi_req;
7.1.4 A device accepts a SNVT_semi_req request by updating the nvoSemiStat and nvoFileStat outputs of the
Node Object function block. The nvoSemiStat output is defined by the SNVT_semi_status type as follows:
typedef enum {
struct {
STAT_SUCCESS = 0,
STAT_UNSUPPORTED_SERVICE = 1,
STAT_UNSUPPORTED_ATTRIBUTE = 2,
STAT_SET_ATTRIBUTE_ERROR = 3,
STAT_GET_ATTRIBUTE_ERROR = 4,
STST_CALIBRATION_ERROR = 5,
STAT_SERVICE_REQUEST_ERROR = 6,
STAT_DIAGNOSTIC_ERROR = 7,
} semi_status_t;
typedef struct {
semi_status_t status;
unsigned long selected_file;
struct address { // Address of the requesting device
unsigned short domain_id[6];
unsigned short domain_length;
unsigned short subnet;
unsigned short node;
}
} SNVT_semi_status;
7.1.5 If the nvoSemiStat and nvoFileStat outputs indicate the request was accepted, the requesting device then
fetches the requested data by transferring the file with the file index reported by the nvoSemiStat response.
7.1.6 Object Attributes — The SEMI GetAttribute and SEMI SetAttribute service requests are implemented as
network variable fetch, poll, and update requests addressed to the network variable corresponding to the specified
attribute. This is appropriate when responses greater than 31 bytes are not required. A GetAttribute service request
may be addressed directly to any network variable as a LonTalk request message, using the LonTalk protocol
network management NV fetch mechanism. A GetAttribute service request may also be addressed to an output
network variable as a LonTalk NV poll message, using the NV selection mechanism. A SetAttribute service request

SEMI E54.16-0705 © SEMI 2005 11
may be addressed to an input network variable as a LonTalk NV update message, using the NV selection
mechanism. The confirmation of a SetAttribute (network variable update) is provided by the acknowledged service
of the LonTalk protocol transport layer.
7.1.7 Sequence Numbers — Each network variable in a functional block is identified by means of a self-
documentation string stored in the device’s memory. This string contains the functional block index of the functional
block to which this variable belongs, and the Sequence Number of the network variable within its functional block.
For the LONWORKS NCS, this sequence number is identical to the numerical sequence number specified by the
CDM tag. As an example, using the Device Manager object instance declared as the second object instance in the
device it has an Instance Id of 1. The Device Manager attribute Standard Revision Level has the tag DmA2. The
self-documentation string for this network variable is, therefore, specified as “@1|2.”
7.1.8 Publish Service — The Publish notification service is implicit when an output network variable is updated.
The device propagates the value of the output network variable (equivalent to a read-only attribute) to any input
network variable(s) to which it may be bound. The ANSI/EIA/CEA-709.1 (LONWORKS) protocol only supports
propagation of output network variables. In CDM terminology, this means that only read-only attributes may be
published. If a specific device model requires publication of a read/write attribute, an output network variable whose
value mirrors the value of the input (read/write) network variable may be introduced to the object definition.
7.2 Sensor/Actuator/Controller Object (*) — The SEMI CDM SAC object coordinates the functionality of Sensor,
Actuator, and Controller objects in the device. The SAC object is mapped to the LONMARK Node object functional
block. Each device must support one (and only one) Node object functional block. The SAC functional block as
well as its common required and optional attributes, services and behavior are described in document SEMI E54.1
the CDM standard specification. Extensions to the current SNVT list and LONMARK Interoperability Guidelines are
marked with an asterisk (*).
7.2.1 Extensions to the Node Object functional profile are defined in the LONMARK Interoperability Guidelines,
which form part of the LONMARK Functional Profiles for SEMI SAN-compliant devices based on LONWORKS
technology. Table 4 summarizes the network variables that implement the attributes of the SAC object. Table 5
summarizes the services implemented by the SAC object.
Table 4 Sensor/Actuator/Controller (SAC) Object Network Variables
Sensor/Actuator/Controller Object (SAC)
Profile ID = 00, Instance ID = 01
Sequence
Number
Name Storage Class CDM Tag Standard NV or CP Data Type
1 Last Calibration Date CP SacA1 SCPTlastCalibrationDate (*)
#2
2 Next Calibration Date CP SacA2 SCPTnextCalibrationDate (*)
#2
3 Expiration Timer NVO SacA3 SNVT_time_hour
4 Expiration Warning Enable CP SacA4 SCPTexpirationWarningEnable (*)
#2
5 Run Hours NVO SacA5 SNVT_time_hour
128 Attribute ID
#1
(*)
#2
NVI SacA65 SNVT_member (*)
#2
#1
This input is used to specify an attribute for the Restore Default and Publish Attribute services.
#2
(*) LonMark interoperability extension. Refer to §6.8.3 for further definition.
Table 5 Sensor/Actuator/Controller (SAC) Object Services
Sensor/Actuator/Controller Object (SAC)
Profile ID = 00, Instance ID = 01
Service
Request
Code
Service Name CDM Tag Request Parameters Result Parameters
1 Reset SacS1 Node Object RQ_RESET
2 Abort SacS2 Node Object RQ_ABORT (*)
#2
3 Recover SacS3 Node Object RQ_RECOVER (*)
#2
4 GetAttribute SacS4 Read NV or CP NV or CP Value
5 SetAttribute SacS5 Write NV or CP