Industry News, Trends and Technology, and Standards Updates

Numerical values in SEMI E5 (SECS-II)

shutterstock_1461663908

In a SECS/GEM communication session, numerical values are important because they are used by the equipment to report results in the form of process variable values or inspection data to a factory host system, and by the factory host to update configuration data, recipe parameters, and other variables on the equipment.

This blog post describes how the item formats in SEMI E5 (SECS-II) map to the specific numerical values used in an equipment application. 

Item Format for numerical values in SEMI E5

The SEMI E5 (Specification for SEMI Equipment Communications Standard 2 Message Content (SECS-II)) standard document defines the following Item Format Codes for numerical values. Note that the table also includes the SEMI E173 (Specification for XML SECS-II Message Notation (SMN)) XML element type for each format code. 

SEMI E5 Item Format Code E173 Value Type Value Range

Octal

Meaning

SMN

C#

C++

Minimum ~ Maximum

10

Binary

BIN

byte

unsigned char

0 ~ 255

30

8 byte Signed Integer

SI8

long

long long

-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807

31

1 byte Signed Integer

SI1

sbyte

char

-128 ~ 127

32

2 byte Signed Integer

SI2

short

short

-32,768 ~ 32,767

34

4 byte Signed Integer

SI4

int

int, long

-2,147,483,648 ~ 2,147,483,647

40

8 byte Floating Point

FP8

double

double

-1.79769313486232e+308 ~ 1.79769313486232e+308

44

4 byte Floating Point

FP4

float

float

-3.402823e+38 ~ 3.402823e+38

50

8 byte Unsigned Integer

UI8

ulong

unsigned long long

0 ~ 18,446,744,073,709,551,615

51

1 byte Unsigned Integer

UI1

byte

unsigned char

0 ~ 255

52

2 byte Unsigned Integer

UI2

ushort

unsigned short

0 ~ 65,535

54

4 byte Unsigned Integer

UI4

uint

unsigned int, unsigned long

0 ~ 4,294,967,295

 

An item format for a numerical value is usually chosen as the same value type used by the equipment application when it defines the variable internally.

There are the other Item Format Codes defined in SEMI E5; for further details, refer to the SEMI E5 standard document.

Big-Endian and Little-Endian

Computer memories primarily use a little-endian system in which the least significant byte of a numerical value is stored at the smallest memory address and the most significant byte at the largest.
In contrast, SEMI E5 uses a big-endian system in which the most significant byte of a numerical value is transmitted first and the least significant byte last.

For example, the decimal value 123,456,789 is represented by 0x075BCD15 in hexadecimal.

In a computer’s little-endian system, the least significant byte 0x15 is stored at a memory address X, and the most significant byte 0x07 is stored at X + 3.

In the SEMI E5 big-endian system, the most significant byte (0x07) is transmitted first, and the least significant byte (0x15) is transmitted last.

  123,456,789 (= 0x075BCD15

Memory address

X

X + 1

X + 2

X + 3

Computer memory

0x15

0xCD

0x5B

0x07

 

 

 

 

 

Time course

T

T + 1

T + 2

T + 3

SEMI E5 (SECS-II)

0x07

0x5B

0xCD

0x15

 

This endian conversion should be handled automatically by a SECS driver in compliance with SEMI E5—the equipment application does not need to take care of it.

Minimum and Maximum number of bytes for one item

In SEMI E5, the number of bytes for a single item is called the length bytes and its valid range is a minimum of zero (0) bytes up to a maximum of 16,777,215 bytes (0xFFFFFF in hexadecimal). A zero-length (0 bytes) item means that the item is empty (NULL). In general, a one-length (1 byte) item is used to represent a single item with a single value. Items with more than a 1 byte length usually contain array values with up to 16,777,215 elements for a 1 byte item in the array (total 16,777,215 bytes), 8,388,607 elements for a 2 byte item (total 16,777,214 bytes), 4,194,303 elements for a 4 byte item (total 16,777,212 bytes) and 2,097,151 elements for an 8 byte item (total 16,777,208 bytes).

Difference between Signed Integer and Unsigned Integer

Unsigned integer values are usually used for an identifier like an ID value. Specifically in the superior standard document, SEMI E30 (Specification for the Generic Model for Communications and Control of Manufacturing Equipment (GEM)), an identifier item should be defined as an unsigned integer format in SEMI E5. Examples include ALID, CEID, DATAID, ECID, PRTID, SVID, TRID, VID.

Difference between Binary format and 1-byte Unsigned Integer

There are two Item Format Codes—Binary format (Octal 10) and the 1 byte Unsigned Integer (Octal 51)—whose values can range from 0 - 255.
The Binary format with 1 byte length is specifically used for acknowledge codes. For example, 0 = Accepted, 1 = Error (not accepted), and so on.

Binary format with more than 1 byte is usually used to transmit a binary array such as binary file data.

How to choose between 4-byte Floating Point and 8-byte Floating Point

The precision of floating point numbers is different between float type and double type.

The precision of the float type is about 7 decimal digits, which corresponds to the single floating point, 4 byte Floating Point (Octal 44) in SEMI E5.

The precision of the double type is about 16 decimal digits, corresponding to the double floating-point, 8 byte Floating Point (Octal 40) in SEMI E5.

For further information, refer to IEEE 754 Standard for Floating-Point Arithmetic.

Conclusion

This blog post has summarized how the item format is defined for numerical values in SEMI E5 (SECS-II). To learn more about SEMI standards, you can purchase and read the SEMI standard documents themselves, and feel free to contact the Cimetrix Support team by clicking the button below.

Contact Us

Topics: Industry Highlights, Semiconductor Industry, Smart Manufacturing/Industry 4.0, Standards

Posted by Yukiya Takanashi on Jan 31, 2024 10:45:00 AM