ODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
ODVAObject & Device Profile
Definition (Process & Recommendations)
System SIG
1998 Annual Meeting
ODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
Core System SIG Members
• Allen-Bradley
• Control Technology
• Cutler-Hammer
• National Instruments
• OMRON
• Turck
ODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
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 SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
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
SIG Creation
ODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
Step 2: First Meeting
• Determine voting rules
• Clarify scope of SIG
• Submit final charter to TRB for approval
SIG Creation
ODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
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 SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
Step 3: Begin Profile(s)
• Initially focus on sensor/actuator
• Define minimal device functionality first
EXAMPLE:Throttling Valve
Identifying Objects
ODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
Step 4: Identify Preliminary Object(s)
• Use physical view as first guess
Position
• Identify “inputs”
Identifying Objects
ODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
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 SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
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.)
• Place “input(s)” as next attribute(s)
Control Attributes
ID NeedAccess Rules Name
Data Type
Description of Attribute
Sematics of values
1 State USINTValue indicates current state of instance
2 Position
NOTE: Object definition INDEPENDENT OF SUBNET
ODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
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
Control Attributes
ID NeedAccess Rules Name
Data Type
Description of Attribute
Sematics of values
1 State USINTValue indicates current state of instance
2 Position0-100, 0%=Closed, 100%=Open
ODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
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)
Control Attributes
ID NeedAccess Rules Name
Data Type
Description of Attribute
Sematics of values
1 State USINTValue indicates current state of instance
2 Position UINT
Valve position in one hundredths of a percent
0-10000, 0=Closed, 10000=Open
ODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
Step 8: Create “Attribute Descriptions”
• Further clarify any value restrictions or support requirements in attribute descriptions following Instance Attributes table.
PositionValue determines desired valve position in hundredths of a percent, wherezero (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”.
Control Attributes
ODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
Step 9: Identify object “Outputs”
Setpoint
Actual
To avoid confusion,input name changed
to “Setpoint”
Control Attributes
ID NeedAccess Rules Name
Data Type
Description of Attribute
Sematics of values
1 Conditional State USINTValue indicates current state of instance.
2 Required Setpoint UINT
Valve position in one hundredths of a percent.
0-10000, 0=Closed, 10000=Open
3 Actual UINT See "Setpoint" See "Setpoint"
ODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
• Start Simple
• Review existing objects for possible reuse• Add functionality maintaining technology independence
(positioner may be pneumatic, stepping motor, etc.)
Step 10: Inheritance
Basic Throttling ValveStateSetpoint
Throttling Valve+ Actual
Throttling Valve+ Zero+ Span
NOTE: When making decisions THINK OF THE CUSTOMER!
ODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
Step 11: Add “Attribute Description”
ActualValue 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.
Control Attributes
ID NeedAccess Rules Name
Data Type
Description of Attribute
Sematics of values
1 Conditional State USINTValue indicates current state of instance.
2 Required Setpoint UINT
Valve position in one hundredths of a percent.
0-10000, 0=Closed, 10000=Open
3 Optional Actual UINT See "Setpoint" See "Setpoint"
ODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
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 SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
Step 12: Define Behavior
• Use template
NON-EXISTENT
IDLE
RUNNING
Create or Power Up/
Delete or Power Down/Set or Get Attribute/
Apply/
Reset/
NON-EXISTENT
IDLEIDLE
RUNNING
IDLE
Behavior
Get Attribute/
RUNNING
ODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
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 SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
Step 13: Identify “Configuration Attributes”
• Relative to IDLE state, are there any configuration attributes?
Configuration Attributes
ID NeedAccess Rules Name
Data Type
Description of Attribute
Sematics of values
1 State USINT
2 Required Setpoint INT
Valve position in one hundredths of a percent.
0-10000, 0=Closed, 10000=Open
3 Optional Actual INT See "Setpoint" See "Setpoint"4 Zero5 Span
NOTE: Send Member to System SIG and Conformance SIG
EARLY in definition process.
ODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
Step 14: Attribute Relationships• Does a common calibration behavior exist?• Does “Zero” adjust affect “Span”?
Device CalibrationTo 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.
Configuration Attributes
ODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
ID NeedAccess Rules Name
Data Type
Description of Attribute
Sematics of values
1 State UINT
2 Required Setpoint UINT
Valve position in one hundredths of a percent.
0-10000, 0=Closed, 10000=Open
3 Optional Actual UINT See "Setpoint" See "Setpoint"
4 Optional Zero INTCalibrate for fully closed. See semantics.
5 Optional Span INTCalibrate for fully open. See semantics.
Step 15: Complete Attribute Definition
ZeroIf 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.
SpanIf 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.
NOTE: Signed 16 Bit integers used here.
Configuration Attributes
When is value “saved” to non volatile memory?Prior to a “Set Attribute Response”?
Only upon receipt of a “Save” or “Apply” request to the “Throttling Valve” object?
(For consistency with other objects,specify in Device Profile, not in Throttling Object profile.)
ODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
Step 16: Define Unique Dialogs
• Define dialogs when an “unsupported” value is set within node.
ClientConfiguration
Tool
ThrottlingValveNode
Set_Attribute_Req, Throttling_Valve, 1, Setpoint, 870
Node accepts 800 or 900, not 870
Set_Attribute_Resp, 800
Success response containsactual value accepted.
ODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
Step 17: Revise Object ProfileSetpoint
Value determines desired valve position in hundredths of a percent, wherezero (0) is fully closed, 10000 is fully open. Values greater than 10000
shall be interpreted as “fully open”. Some valves may not supportthe 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, 870Set_Attribute_Resp, 800
ODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
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.
Configuration Attributes
ODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
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 SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
Step 19: Define “IO Assemblies”
Byte Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 00 Actual1
Input Assembly Instance 2
Byte Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 00 Setpoint1
Output Assembly Instance 1
IO Assemblies
Size (length) of “Assemblies” are currently fixed, since IO Messages of lengths other than that specified bythe “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 SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
Step 20: “IO Assemblies” Selection
Device Net
Connection (Polled IO)
Assembly [7]Assembly [6]
Assembly [5]
Assembly [4]
Assembly [3]Assembly [2]
Assembly [1]produced_connection_pathconsumed_connection_path
“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)
IO Assemblies
Client tools shall set; consumed size, consumed_connection_path,produced size, produced_connection_path,
consistent with length of produced and consumed assemblies.
ODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
Step 21: Dynamic Assemblies(“Create” service conditional on Dynamic Assembly support.)
DeviceNet
ConnectionPolled
Assembly[0]
ACTIVERUNNING ESTABLISHED
CreateResp, 100Explicit Response
External Events
SetAttribSingle, Assembly, 100, MemberList, ..Actual..
SetAttrib, MemberList, ..Actual..Explicit Request
SetAttrResp SetAttrRespExplicit Response
ApplyResp ApplyRespExplicit Response
Apply, Assembly, 100 ApplyExplicit Request
ACTIVE
Explicit Request Create, Assembly, 0
Assembly[100]
NON EXISTENT
INACTIVECreate
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 SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
Step 22: “IO Assemblies” Selection
Device Net
Connection (Polled IO)
Assembly [100]{Member List::=
Class8,Valve,Instance8, 1
Attrib8, ActualClass8,Identity,
Instance8, 1Attrib8,Status}
IO Assemblies
ThrottlingValve
State,Actual,Setpoint
Identity
Status,
Member List of “Dynamic Assembly” instance specified using “Appendix I, Logical Encoding”. If desired, rules on “layout order” defined.
(Required encoding defined in Device Profile)
ODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
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 SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
Step 23: Create “Device Profile”• Identify required & optional objects (DeviceNet, Connection, Identity, Message
Router)
• Identify object relationships and dialogs
Device Model
Message Router
Device Net
Connection (Polled IO)
Assembly [2] (Produced
Input)
Assembly [1] (Consumed
Output)
Throttling Valve
Connection (Explicit)
Identity
Connection (Cyclic/COS IO)
Ack Handler
ODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
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 SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
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)
External Events
ODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
Step 25: Identify “Master Sequence of Events”
NON-EXISTENT
IDLE
INACTIVE
Create or Power Up/
Delete or Power Down/Set or Get Attribute/
Scanner Started/Allocate & Send Idle Messages
Scanner Reset/Stop Sending IO Messages
NON-EXISTENT
IDLEIDLE
INACTIVE
ACTIVE
Application Started/Send IO Messages
ACTIVE
Application Stopped/Send Idle Messages
INACTIVE
IDLE
External Events
“Vendor Specific” behavior
INACTIVE
ODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
Step 26: Define Normal Behavior(Assume all objects in operational state)
Message Router
Device Net
Connection (Polled IO)
Assembly [2] (Produced
Input)
Assembly [1] (Consumed
Output)
Throttling Valve
Connection (Explicit)
Identity
Connection (Cyclic/COS IO)
Receive Data
Device Net
Connection (Polled IO)
Received DataSetpoint
Assembly [1] (Consumed
Output)
Actual
Throttling Valve
Assembly [2] (Produced
Input)Actual
Poll ResponseConnection (Polled IO)
Device Net
Poll Response
External Events
Ack Handler
ODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
Step 27: Message Sequence Chart(First “Receive Data” Event)
DeviceNet
ConnectionPolled
Assembly[1]
Assembly[2]
ThrottlingValve
INACTIVE IDLERUNNING ESTABLISHED
Poll Request
INACTIVE
Receive Data
ACTIVESetpoint
RUNNING
ActualPoll Response
Actual
ACTIVE
Is receipt of “Setpoint”an implied “Apply”OR
ignored if not “RUNNING”?(Clarify in Device Profile)
External Events
ODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
Step 28:Message Sequence Chart( “Receive Idle” Event while “RUNNING”)
DeviceNet
ConnectionPolled
Assembly[1]
Assembly[2]
ThrottlingValve
ACTIVERUNNING ESTABLISHED
Poll Request
ACTIVE
Receive Idle
RUNNING
Actual
Poll Response
Actual?
Does“Assembly” detect zero length message and “Reset” valve
ORdoes “Assembly” pass
“Position = 0” to valve?
(Clarify in Device Profile)
?IDLE?
Is there a response to a “Receive Idle”?
(Clarify in Device Profile)
External Events
ODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
Step 29:Message Sequence Chart( “Connection Timeout” Event while “RUNNING”)Device
NetConnection
PolledAssembly
[1]Assembly
[2]Throttling
Valve
ACTIVERUNNING ESTABLISHED ACTIVE
“End of Consumption”
INACTIVE
RUNNING
(Define “inter object” dialogs within Device Profile.)
IDLE
“Reset”
“End of Production”
INACTIVE
TIMED OUT
External Events
ODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
Step 30: Update Behavior(if required)
NON-EXISTENT
IDLE
RUNNING
Create or Power Up/
Delete or Power Down/Set or Get Attribute/
Apply/
Reset/
External Events
Get Attribute/
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 bythe next consumed IO Message. If only “Explicit Messages” are used
for control (no IO Message allocated), connection timeout faults may notbe detected unless specified otherwise in Device Profile!
ODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
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
90
80
70
60
50
Setpoint = 90@ t4
0 10 20 30 40Time
Actual
External Events
If “Actual” attribute wanders, does valve continually produce IO Messages at interval equal to
“production inhibit time or is a “dead band” attribute required?
(Specify desired behavior in Device Profile.)
ODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
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)
Event Event Description Event ActionFirst "Receive Data"
After connection is allocated, the first IO Message, with data, is received.
"Assembly [1]" passes an implied "Apply" to "Throttling Valve"
"Receive Idle" while "RUNNING"
Device is operational and an IO Message with NO data is received.
"Assembly [1]" passes a "Reset" to "Throttling Valve"
IO Connection "Times Out"
Device is operational and an IO Message is NOT consumed for a period exceeding the "expected_packet_rate".
"Connection [2]" passes a "End of Production/Consumption" to "Assemblies [1-2]" and a "Reset" to "Throttling Valve".
External Events
DO NOT place “communications specific”signals in “Application Objects”.
The RELATIONSHIPS shall be placed inthe Device Profile.
ODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
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 SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
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”)
Fault Behaviors
ODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
Step 34: Existing ProfilesDevice Indication Fault Details
Generic Not specified. Not specified.
Limit Switch"Diagnostic" bit 1 in "IO_Assembly"
"Diagnostic" attribute of "Presence Sensing Object" with possible faults NOT specified.
Inductive Proximity Switch
"Diagnostic" bit 1 in "IO_Assembly"
"Diagnostic" attribute of "Presence Sensing Object" with possible faults NOT specified.
General Purpose Discrete IO
One to many "Status" bits in "IO Assemblies"
"Status" description in "Discrete Input Point Object" states; "1=product specific alarm or status".
Communications Adapter Not specified. Not specified.General Purpose Analog IO Not specified. Not specified.
AC Drives"Faulted" specified in many "IO Assemblies"
"Fault Code" attribute in "Control Supervisor". Codes clearly specified in "AC/DC Drive Object"
Fault Behaviors
ODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
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”.
Fault Behaviors
ODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
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.
Fault Behaviors
ODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
Step 37: Sample DialogDevice
NetConnection
PolledThrottling
ValveQueue
RUNNING ESTABLISHED
Insert Member, Valve, 1, Position Timeout
RUNNING
ConnectionExplicit
ESTABLISHED FAULTED
Assembly[2]
ACTIVE
Explicit RequestRemove Member, Queue, 1, List, 1
1,C8,Valve,I8, 1,UINT, Position TimeoutExplicit Response
Poll Response “IO Message”
Await client “diagnostic application” delay
Poll Request
Fault Behaviors
“Error Flag” (bit 7 = FALSE)
Await next scan delay
“Error Flag” (bit 7 = TRUE)
ODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
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 SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
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
Test Plans
ODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
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 SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
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
EDS
ODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIGODVA System Architecture SIG©1998 ODVA©1998 ODVA
DeviceNetDeviceNet
\slides\ODVA 98
Prior to submittal of DSE to TRB;
• DSE shall have signatures of SIG members
• Updated specification sections
• Test Plan
• Prototype EDS
Step 40: SIG Deliverables