Sei sulla pagina 1di 53

ODVA

Object & Device Profile


Definition
(Process & Recommendations)

System SIG
1998 Annual Meeting

ODVA System Architecture SIG DeviceNet


\slides\ODVA 98
1998 ODVA
Core System SIG Members
Allen-Bradley
Control Technology
Cutler-Hammer
National Instruments
OMRON
Turck

ODVA System Architecture SIG DeviceNet


\slides\ODVA 98
1998 ODVA
Device Profiles
SIG Creation
Identifying Objects
Control Attributes
Behavior
Configuration Attributes
IO Assemblies
Device Model
External Events
Fault Behaviors
Test Plans
Electronic Data Sheets

ODVA System Architecture SIG DeviceNet


\slides\ODVA 98
1998 ODVA
SIG Creation

Step 1: Create a SIG


If an appropriate Special Interest Group
does not exist, contact the Chief Technical
Officer of Technical Review Board
Submit a SIG Charter to TRB
A call for participants will be distributed
to all ODVA members

ODVA System Architecture SIG DeviceNet


\slides\ODVA 98
1998 ODVA
SIG Creation

Step 2: First Meeting


Determine voting rules
Clarify scope of SIG
Submit final charter to TRB for approval

ODVA System Architecture SIG DeviceNet


\slides\ODVA 98
1998 ODVA
Device Profiles
SIG Creation
Identifying Objects
Control Attributes
Behavior
Configuration Attributes
IO Assemblies
Device Model
External Events
Fault Behaviors
Test Plans
Electronic Data Sheets

ODVA System Architecture SIG DeviceNet


\slides\ODVA 98
1998 ODVA
Identifying Objects

Step 3: Begin Profile(s)


Initially focus on sensor/actuator
Define minimal device functionality first

EXAMPLE:
Throttling Valve

ODVA System Architecture SIG DeviceNet


\slides\ODVA 98
1998 ODVA
Identifying Objects

Step 4: Identify Preliminary


Object(s)
Use physical view as first guess
Identify inputs
Position

ODVA System Architecture SIG DeviceNet


\slides\ODVA 98
1998 ODVA
Device Profiles
SIG Creation
Identifying Objects
Control Attributes
Behavior
Configuration Attributes
IO Assemblies
Device Model
External Events
Fault Behaviors
Test Plans
Electronic Data Sheets

ODVA System Architecture SIG DeviceNet


\slides\ODVA 98
1998 ODVA
Control Attributes
Step 5: Create
Instance Attribute Table
Since all instances have a state transition
diagram, recommend State as attribute
identifier #1 (Assumes Invalid State for Service error response is supported.)
NOTE: Object definition
Place input(s) as next attribute(s)
INDEPENDENT OF SUBNET
Access Data Description of Sematics of
ID Need Rules Name Type Attribute values

Value indicates current


1 State USINT state of instance
2 Position

ODVA System Architecture SIG DeviceNet


\slides\ODVA 98
1998 ODVA
Control Attributes

Step 6: Define Semantics of


Position
Range of Position from zero (0) to one
hundred (100) percent (or full range based on data type?)
Zero (0) percent is closed
One hundred (100) percent is fully open
Access Data Description of Sematics of
ID Need Rules Name Type Attribute values

Value indicates current


1 State USINT state of instance

0-100, 0%=Closed,
2 Position 100%=Open

ODVA System Architecture SIG DeviceNet


\slides\ODVA 98
1998 ODVA
Control Attributes
Step 7: Determine
Data Type of Position
Should Position have 100 increments,
1000 increments, or 10000 increments?
(See Appendix J, Volume I for data types)
Access Data Description of Sematics of
ID Need Rules Name Type Attribute values

Value indicates current


1 State USINT state of instance
Valve position in one 0-10000,
hundredths of a 0=Closed,
2 Position UINT percent 10000=Open

ODVA System Architecture SIG DeviceNet


\slides\ODVA 98
1998 ODVA
Control Attributes
Step 8: Create
Attribute Descriptions
Further clarify any value restrictions or
support requirements in attribute
descriptions following Instance Attributes
table.
Position
Value determines desired valve position in hundredths of a percent, where
zero (0) is fully closed, 10000 is fully open. Some valves may not
support the full resolution, but shall accept full range of values. Values
greater than 10000 shall be interpreted as fully open.

ODVA System Architecture SIG DeviceNet


\slides\ODVA 98
1998 ODVA
Control Attributes

Step 9: Identify object Outputs


Actual

Setpoint
To avoid confusion,
input name changed
to Setpoint
Access Data Description of Sematics of
ID Need Rules Name Type Attribute values

Value indicates current


1 Conditional State USINT state of instance.
Valve position in one 0-10000,
hundredths of a 0=Closed,
2 Required Setpoint UINT percent. 10000=Open
3 Actual UINT See "Setpoint" See "Setpoint"

ODVA System Architecture SIG DeviceNet


\slides\ODVA 98
1998 ODVA
Step 10: Inheritance
Start Simple
Review existing objects for possible reuse
Add functionality maintaining technology
NOTE: When
independence (positionermaking decisions
may be pneumatic, stepping motor, etc.)
THINK OF THE CUSTOMER!
Basic Throttling Valve
State
Setpoint

Throttling Valve
+ Actual

Throttling Valve
+ Zero
+ Span

ODVA System Architecture SIG DeviceNet


\slides\ODVA 98
1998 ODVA
Control Attributes
Step 11: Add
Attribute Description
Actual
Value identifies actual valve position in hundredths of a percent, where
zero (0) is fully closed, 10000 is fully open. Some valves may not
support the full resolution, thus providing actual indications in greater
increments, like; 0, 100, 200 and so forth. This attribute is optional.

Access Data Description of Sematics of


ID Need Rules Name Type Attribute values

Value indicates current


1 Conditional State USINT state of instance.
Valve position in one 0-10000,
hundredths of a 0=Closed,
2 Required Setpoint UINT percent. 10000=Open
3 Optional Actual UINT See "Setpoint" See "Setpoint"

ODVA System Architecture SIG DeviceNet


\slides\ODVA 98
1998 ODVA
Device Profiles
SIG Creation
Identifying Objects
Control Attributes
Behavior
Configuration Attributes
IO Assemblies
Device Model
External Events
Fault Behaviors
Test Plans
Electronic Data Sheets

ODVA System Architecture SIG DeviceNet


\slides\ODVA 98
1998 ODVA
Behavior

Step 12: Define Behavior


Use template

NON-EXISTENT
NON-EXISTENT
Create or
Power Up/
Set or Get Attribute/ Delete or Power Down/
IDLE

Apply/
Get Attribute/ Reset/
RUNNING

ODVA System Architecture SIG DeviceNet


\slides\ODVA 98
1998 ODVA
Device Profiles
SIG Creation
Identifying Objects
Control Attributes
Behavior
Configuration Attributes
IO Assemblies
Device Model
External Events
Fault Behaviors
Test Plans
Electronic Data Sheets

ODVA System Architecture SIG DeviceNet


\slides\ODVA 98
1998 ODVA
Configuration Attributes

Step 13: Identify


Configuration Attributes
Relative to IDLE state, are there any
configuration
NOTE:attributes?
Send Member to
System SIG and Conformance
Access Data Description of SIGSematics of
ID Need Rules Name Type Attribute values
1 EARLY in
State definition
USINT process.
Valve position in one 0-10000,
hundredths of a 0=Closed,
2 Required Setpoint INT percent. 10000=Open
3 Optional Actual INT See "Setpoint" See "Setpoint"
4 Zero
5 Span

ODVA System Architecture SIG DeviceNet


\slides\ODVA 98
1998 ODVA
Configuration Attributes

Step 14: Attribute Relationships


Does a common calibration behavior exist?
Does Zero adjust affect Span?
Device Calibration
To calibrate, place valve in IDLE state via an explicit Reset service.
ZERO ADJUST:
While in IDLE state, perform a Set Attribute on Setpoint with a value of zero
(0) to the instance. Visually check valve. If partially open, perform a Get
Attribute of Zero, decrement value by desired amount, then perform a Set
Attribute to Zero attribute. Continue until valve is fully closed.
SPAN ADJUST:
While in IDLE state, perform a Set Attribute on Setpoint with a value of 10000.
Visually check valve. Depending upon position, perform a Get Attribute of
Span and increment/decrement value by desired amount, then perform a Set
Attribute to Span attribute. Increment or decrement value until valve is fully
open.
ODVA System Architecture SIG DeviceNet
\slides\ODVA 98
1998 ODVA
Configuration Attributes
Step 15: Complete
Attribute Definition
Access Data Description of Sematics of
ID Need Rules Name When
Typeis value saved to non volatile memory?
Attribute values
1 State UINTPrior to a Set Attribute Response?
Valve position in one 0-10000,
Only upon receipt of a Save
hundredths of a or Apply request to the
0=Closed,
2 Required Setpoint UINT Throttling Valve object?
percent. 10000=Open
3 Optional Actual UINT See "Setpoint" See "Setpoint"
Calibrate for fully
4 Optional Zero INT (Forclosed.
consistency with otherSeeobjects,
semantics.
specify in Device Profile,for
Calibrate notfully
in Throttling Object profile.)
NOTE:
5 Signed 16 Bit
Optional Span INT open. See semantics.

integers used here.


Zero
If optional attribute supported, it shall be maintained in Non Volatile memory.
Value may be factory set, therefore, a default value does not exist. Value may
only be set while in IDLE state.
Span
If optional attribute supported, it shall be maintained in Non Volatile memory.
Value may be factory set, therefore, a default value does not exist. Value may
only be set while in IDLE state.

ODVA System Architecture SIG DeviceNet


\slides\ODVA 98
1998 ODVA
Step 16: Define Unique Dialogs
Define dialogs when an unsupported
value is set within node. Node accepts 800
or 900, not 870

Client Set_Attribute_Req, Throttling_Valve, 1, Setpoint, 870 Throttling


Configuration Valve
Tool Node
Set_Attribute_Resp, 800

Success response contains


actual value accepted.

ODVA System Architecture SIG DeviceNet


\slides\ODVA 98
1998 ODVA
Step 17: Revise Object Profile
Setpoint
Value determines desired valve position in hundredths of a percent, where
zero (0) is fully closed, 10000 is fully open. Values greater than 10000
shall be interpreted as fully open. Some valves may not support
the full resolution, but shall accept the full range of values. For this
attribute, the successful response to a Set Attribute Single shall always
contain the value accepted, which shall be rounded down when full
range not supported.

EXAMPLE:
Set_Attribute_Req, Throttling_Valve, 1, Setpoint, 870
Set_Attribute_Resp, 800

ODVA System Architecture SIG DeviceNet


\slides\ODVA 98
1998 ODVA
Configuration Attributes

Step 18: Class Attributes

All objects in Volume II have been updated


to reference a common set of class
attributes shared by all classes.
Specify in Device Profile if any class
attributes are required.
Only specify additional class attributes,
when necessary.
ODVA System Architecture SIG DeviceNet
\slides\ODVA 98
1998 ODVA
Device Profiles
SIG Creation
Identifying Objects
Control Attributes
Behavior
Configuration Attributes
IO Assemblies
Device Model
External Events
Fault Behaviors
Test Plans
Electronic Data Sheets

ODVA System Architecture SIG DeviceNet


\slides\ODVA 98
1998 ODVA
IO Assemblies

Step 19: Define IO Assemblies


Input Assembly Instance 2
Byte Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
0 Actual
1

Output Assembly Instance 1


Byte Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
0 Setpoint
1

Size (length) of Assemblies are currently fixed, since


IO Messages of lengths other than that specified by
the consumed connection size may result in an
error at the consuming node. This may be due to
invalid configurations between two nodes.

(Deviations SHALL be specified in Device Profile.)

ODVA System Architecture SIG DeviceNet


\slides\ODVA 98
1998 ODVA
IO Assemblies

Step 20: IO Assemblies Selection


Client tools shall set;
consumed size, consumed_connection_path, Assembly [7]
produced size, produced_connection_path, Assembly [6]
consistent with length of produced and consumed assemblies. Assembly [5]
Assembly [4]
Connection
(Polled IO) Assembly [3]
produced_connection_path Assembly [2]
consumed_connection_path Assembly [1]

Device
Net

Generic Tools prefer Assembly instance specified


using Appendix I, Logical Encoding.
(EXAMPLE: Class8, Assembly, Instance8, 1, Attribute8, Data)

(Required support & encoding defined in Device Profile)


ODVA System Architecture SIG DeviceNet
\slides\ODVA 98
1998 ODVA
External Events

Step 21: Dynamic Assemblies


(Create service conditional on Dynamic Assembly support.)
Device Connection Assembly Assembly
Net Polled [0] [100]
RUNNING ESTABLISHED ACTIVE NON EXISTENT
Explicit Request Create, Assembly, 0 Create

CreateResp, 100 INACTIVE


Explicit Response

Explicit Request SetAttribSingle, Assembly,


SetAttrib, MemberList, ..Actual..
100, MemberList, ..Actual..
SetAttrResp SetAttrResp
Explicit Response

Explicit Request Apply, Assembly, 100 Apply

ACTIVE
ApplyResp ApplyResp
Explicit Response

Does transition of Assembly [100] from INACTIVE to ACTIVE guarantee


that all informationin the Member List attribute is valid?

(Define meaning of ApplyResp in Device Profile.)

ODVA System Architecture SIG DeviceNet


\slides\ODVA 98
1998 ODVA
IO Assemblies

Step 22: IO Assemblies Selection


Assembly [100] Throttling
{Member List::= Valve
Class8,Valve,
Instance8, 1 State,
Attrib8, Actual Actual,
Connection Class8,Identity, Setpoint
(Polled IO) Instance8, 1 Identity
Attrib8,Status}
Status,

Device Member List of Dynamic Assembly instance specified


Net using Appendix I, Logical Encoding.
If desired, rules on layout order defined.

(Required encoding defined in Device Profile)


ODVA System Architecture SIG DeviceNet
\slides\ODVA 98
1998 ODVA
Device Profiles
SIG Creation
Identifying Objects
Control Attributes
Behavior
Configuration Attributes
IO Assemblies
Device Model
External Events
Fault Behaviors
Test Plans
Electronic Data Sheets

ODVA System Architecture SIG DeviceNet


\slides\ODVA 98
1998 ODVA
Device Model

Step 23: Create Device Profile


Identify required & optional objects (DeviceNet,
Connection, Identity, Message Router)

Identify object relationships and dialogs


Ack Handler
Connection
(Cyclic/COS IO) Assembly [2]
(Produced
Connection Input) Throttling
(Polled IO) Valve
Assembly [1]
Connection (Consumed
Device
(Explicit) Output)
Net
Identity

Message Router

ODVA System Architecture SIG DeviceNet


\slides\ODVA 98
1998 ODVA
Device Profiles
SIG Creation
Identifying Objects
Control Attributes
Behavior
Configuration Attributes
IO Assemblies
Device Model
External Events
Fault Behaviors
Test Plans
Electronic Data Sheets

ODVA System Architecture SIG DeviceNet


\slides\ODVA 98
1998 ODVA
External Events

Step 24: Identify External Events


Receive Idle (Zero length IO Message)
Receive Data (Normal IO Message)
Receive Data (Invalid length IO Message)
Receive Data (Invalid local configuration)
Local Power Applied (Subnet power applied before local)
Local Power Removed (while Subnet power applied)
Object Faults
Device Modes (Manual, Auto, Program, Calibrate)

ODVA System Architecture SIG DeviceNet


\slides\ODVA 98
1998 ODVA
External Events

Step 25: Identify


Master Sequence of Events
NON-EXISTENT
NON-EXISTENT
Create or
Power Up/
Set or Get Attribute/ Delete or Power Down/
IDLE

Scanner Reset/
Scanner Started/
Stop Sending IO Messages
Allocate & Send Idle Messages
INACTIVE

Application Started/ Application Stopped/


Send Idle Messages
Vendor Specific Send IO Messages
behavior ACTIVE

ODVA System Architecture SIG DeviceNet


\slides\ODVA 98
1998 ODVA
External Events

Step 26: Define Normal Behavior


(Assume all objects in operational state)

Ack Handler
Connection
Poll Response (Cyclic/COS IO) Assembly [2]
(Produced
Actual
Connection
Actual
Input) Throttling
Poll Response
(Polled IO) Valve
Receive Data
Assembly [1]
Received Data
Connection (Consumed
Device Setpoint
(Explicit) Output)
Net
Identity

Message Router

ODVA System Architecture SIG DeviceNet


\slides\ODVA 98
1998 ODVA
External Events

Step 27: Message Sequence Chart


(First Receive Data Event)
Device Connection Assembly Assembly Throttling
Net Polled [1] [2] Valve
RUNNING ESTABLISHED INACTIVE INACTIVE IDLE
Poll Request
Receive Data

ACTIVE
Setpoint

RUNNING
Actual

ACTIVE
Poll Response Actual

Is receipt of Setpointan implied Apply


OR
ignored if not RUNNING?
(Clarify in Device Profile)

ODVA System Architecture SIG DeviceNet


\slides\ODVA 98
1998 ODVA
External Events

Step 28:Message Sequence Chart


( Receive Idle Event while RUNNING)
Device Connection Assembly Assembly Throttling
Net Polled [1] [2] Valve
RUNNING ESTABLISHED ACTIVE ACTIVE RUNNING
Poll Request
Receive Idle

?
IDLE?
Actual?
Actual

DoesAssembly
Poll Response detect zero length
message and Reset valve
OR
does Assembly pass Is there a response to
Position = 0 to valve? a Receive Idle?

(Clarify in Device Profile) (Clarify in Device Profile)

ODVA System Architecture SIG DeviceNet


\slides\ODVA 98
1998 ODVA
External Events

Step 29:Message Sequence Chart


( Connection Timeout Event while RUNNING)
Device Connection Assembly Assembly Throttling
Net Polled [1] [2] Valve
RUNNING ESTABLISHED ACTIVE ACTIVE RUNNING

TIMED OUT

End of Consumption

INACTIVE
End of Production

Reset
INACTIVE

IDLE

(Define inter object dialogs within Device Profile.)

ODVA System Architecture SIG DeviceNet


\slides\ODVA 98
1998 ODVA
External Events

Step 30: Update Behavior


(if required)
NON-EXISTENT
Create or
Power Up/
Set or Get Attribute/ Delete or Power Down/
IDLE

Apply/
Reset/
Get Attribute/
RUNNING
If setting of some or all attributes
allowed in this state, clearly specify
in object profile.
ODVA RULING: If a Set Attribute is allowed on
Setpoint while in RUNNING state, it shall be overwritten by
the next consumed IO Message. If only Explicit Messages are used
for control (no IO Message allocated), connection timeout faults may not
be detected unless specified otherwise in Device Profile!
ODVA System Architecture SIG DeviceNet
\slides\ODVA 98
1998 ODVA
External Events

Step 31: Update Behavior


If COS, is an Actual IO Messages sent upon receipt
of Setpoint, then at interval equal to production
inhibit time?
Is an error generated if Actual <> Setpoint after a
period of time? 100
Actual
90
If Actual attribute wanders, does
valve continually produce IO 80
Messages at interval equal to
production inhibit time or is a 70
dead band attribute required?
60 Setpoint = 90
(Specify desired behavior in @ t4
Device Profile.) 50
0 10 20 30 40
Time
ODVA System Architecture SIG DeviceNet
\slides\ODVA 98
1998 ODVA
External Events

Step 32: External Events


A good Device Profile has evidence that the
various event scenarios were discussed,
resolved and SIG decisions documented.
(DSE-68-59)
DO NOT place communications specific
signals in Application Objects.
Event The RELATIONSHIPS
Event Descriptionshall be placed in Event Action
First "Receive the Device
After connection Profile.
is allocated, the first "Assembly [1]" passes an implied
Data" IO Message, with data, is received. "Apply" to "Throttling Valve"
"Receive Idle"
while Device is operational and an IO "Assembly [1]" passes a "Reset" to
"RUNNING" Message with NO data is received. "Throttling Valve"
Device is operational and an IO
Message is NOT consumed for a "Connection [2]" passes a "End of
IO Connection period exceeding the Production/Consumption" to "Assemblies
"Times Out" "expected_packet_rate". [1-2]" and a "Reset" to "Throttling Valve".

ODVA System Architecture SIG DeviceNet


\slides\ODVA 98
1998 ODVA
Device Profiles
SIG Creation
Identifying Objects
Control Attributes
Behavior
Configuration Attributes
IO Assemblies
Device Model
External Events
Fault Behaviors
Test Plans
Electronic Data Sheets

ODVA System Architecture SIG DeviceNet


\slides\ODVA 98
1998 ODVA
Fault Behaviors

Step 33: Device Fault Indications


Assume previous Fault Events occurred in
device. How does a controller or tool know
what happened?
TODAY: Generally Vendor Specific
behavior, with few profiles specifying how
specific faults are determined.

(Indication in Heartbeat or Bit in Produced IO Message)

ODVA System Architecture SIG DeviceNet


\slides\ODVA 98
1998 ODVA
Fault Behaviors

Step 34: Existing Profiles


Device Indication Fault Details

Generic Not specified. Not specified.

"Diagnostic" bit 1 in "Diagnostic" attribute of "Presence Sensing


Limit Switch "IO_Assembly" Object" with possible faults NOT specified.

Inductive Proximity "Diagnostic" bit 1 in "Diagnostic" attribute of "Presence Sensing


Switch "IO_Assembly" Object" with possible faults NOT specified.
"Status" description in "Discrete Input Point
General Purpose One to many "Status" bits in Object" states; "1=product specific alarm or
Discrete IO "IO Assemblies" status".
Communications
Adapter Not specified. Not specified.
General Purpose
Analog IO Not specified. Not specified.
"Fault Code" attribute in "Control Supervisor".
"Faulted" specified in many Codes clearly specified in "AC/DC Drive
AC Drives "IO Assemblies" Object"

ODVA System Architecture SIG DeviceNet


\slides\ODVA 98
1998 ODVA
Fault Behaviors

Step 35: Determining


Fault Details
Device Profile should specify a common
interface to read faults, even when they are
vendor specific.
Common interface simplifies user
programming.
Common interface allows support by general
tools.
ODVA System Architecture SIG DeviceNet
\slides\ODVA 98
1998 ODVA
Fault Behaviors

Step 36: Queue for Faults

System SIG defining a common object where


all faults may be retrieved via Explicit
Message requests.
Prefer faults be encoded using Appendix I/J
for interpretation by common client dialog.

ODVA System Architecture SIG DeviceNet


\slides\ODVA 98
1998 ODVA
Fault Behaviors

Step 37: Sample Dialog


Device Connection Connection Assembly Throttling Queue
Net Polled Explicit [2] Valve
RUNNING ESTABLISHED ESTABLISHED ACTIVE FAULTED RUNNING
Insert Member,
Valve, 1, Position
Timeout
Error Flag
(bit 7 = TRUE)
Await next scan delay
Poll Request

Poll Response IO Message

Await client diagnostic application delay

Explicit Request
Remove Member, Queue, 1, List, 1

1,C8,Valve,I8, 1,UINT,
Explicit Response Position Timeout Error Flag (bit 7 = FALSE)

ODVA System Architecture SIG DeviceNet


\slides\ODVA 98
1998 ODVA
Device Profiles
SIG Creation
Identifying Objects
Control Attributes
Behavior
Configuration Attributes
IO Assemblies
Device Model
External Events
Fault Behaviors
Test Plans
Electronic Data Sheets

ODVA System Architecture SIG DeviceNet


\slides\ODVA 98
1998 ODVA
Test Plans

Step 38: Test Plans


SIG submitting the Device Profile to the TRB
shall provide Test Plan to the Conformance
SIG
Test Plan shall ONLY test items specified
in Device Profile
Test Plan shall test items specified in
related Application Objects

ODVA System Architecture SIG DeviceNet


\slides\ODVA 98
1998 ODVA
Device Profiles
SIG Creation
Identifying Objects
Control Attributes
Behavior
Configuration Attributes
IO Assemblies
Device Model
External Events
Fault Behaviors
Test Plans
Electronic Data Sheets

ODVA System Architecture SIG DeviceNet


\slides\ODVA 98
1998 ODVA
EDS

Step 39: Electronic Data Sheets


SIG submitting the Device Profile to the TRB
shall provide an EDS to the Conformance
SIG
EDS shall ONLY contain items specified in
Device Profile
EDS shall contain items specified in related
Application Objects

ODVA System Architecture SIG DeviceNet


\slides\ODVA 98
1998 ODVA
Step 40: SIG Deliverables
Prior to submittal of DSE to TRB;

DSE shall have signatures of SIG members


Updated specification sections
Test Plan
Prototype EDS

ODVA System Architecture SIG DeviceNet


\slides\ODVA 98
1998 ODVA

Potrebbero piacerti anche