Enabling Data Scientist Use Cases with
Discoverability and Metadata
Greg Majcher
Rockwell Automation

Data is Valuable“Data is the new oil”

Technical Track© 2023 ODVA, Inc.

2023 Industry Conference & 22nd Annual Meeting
All rights reserved.

www.odva.org

2

Data Science Introduces New Use Cases

Data Scientists••••

What are they looking for? It depends
How do they want to access data? Don’t care
How much data? It depends
How often? It depends

This Photo by Unknown Author is licensed under CC BY-SA-NC

Technical Track© 2023 ODVA, Inc.

2023 Industry Conference & 22nd Annual Meeting
All rights reserved.

www.odva.org

3

Data Science Workflow
Identify
Needed Data

Collect Data

Define/Scope
the Problem
Clean/Organize
Data

Technical Track© 2023 ODVA, Inc.

Analyze
Data2023 Industry Conference & 22nd Annual Meeting
All rights reserved.

• Discover• Understand• Deliver

CreateConclusions

www.odva.org

4

Example User Stories••••

Identify areas for energy savings
Predict when a component will fail
Increase the efficiency of a process
Identify deteriorating quality in a process
or a product being produced• Diagnose performance or quality
differences between similar productionlines or facilities

Technical Track© 2023 ODVA, Inc.

2023 Industry Conference & 22nd Annual Meeting
All rights reserved.

Definedwww.odva.org

5How Can We Help

• Discover– Mechanisms to discover devices and the data they possess• Understand– Metadata to help understand the data

• Deliver– Efficient delivery mechanisms

Technical Track© 2023 ODVA, Inc.

2023 Industry Conference & 22nd Annual Meeting
All rights reserved.

www.odva.org

6

Discovering Devices

Technical Track© 2023 ODVA, Inc.

2023 Industry Conference & 22nd Annual Meeting
All rights reserved.

www.odva.org

7

Discover Devices•LLDPA•

ListIdentity

B

Technical Track© 2023 ODVA, Inc.

Is connected toB

Is connected toC

Is From Vendor A, Has Product Type B & Product Code C
Is at Revision D
Has Current Status of E
Has a Serial Number F and Product Name “G”
And is currently in State F

2023 Industry Conference & 22nd Annual Meeting
All rights reserved.

www.odva.org

8

Discover Devices
What could we do better?

Learn about device capabilities during discovery
CIP Security Profiles are delimited in the ListIdentity response
We can expand this idea to include other features/capabilities
Technical Track© 2023 ODVA, Inc.

2023 Industry Conference & 22nd Annual Meeting
All rights reserved.

www.odva.org

9

Discovering Data Online

Technical Track© 2023 ODVA, Inc.

2023 Industry Conference & 22nd Annual Meeting
All rights reserved.

www.odva.org

10

Discovering Data Online

Using a Brute Force Technique•••

Send request to all possible classes (65,535)
Send request to all instances of classes present (4,294,967,295)
Send request to all possible attributes (65,535)•65,535 + (4,294,967,295 x C) + (65,535 x I) = MANY, many messages

Technical Track© 2023 ODVA, Inc.

2023 Industry Conference & 22nd Annual Meeting
All rights reserved.

www.odva.org

11

Discovering Data Online with Better Implementations
Message Router Instance Attribute 1 eliminates 65,534 messages

1 65,535 + (4,294,967,295 x C) + (65,535 x I) = MANY messages

Technical Track© 2023 ODVA, Inc.

2023 Industry Conference & 22nd Annual Meeting
All rights reserved.

www.odva.org

12

Discovering Data Online with Better Implementations
Class Attributes 2 and 3 could eliminate over 4 billion messages

1 65,535 + (2 4,294,967,295 x C) + (65,535 x I) = thousands of messages
Technical Track© 2023 ODVA, Inc.

2023 Industry Conference & 22nd Annual Meeting
All rights reserved.

www.odva.org

13

Discovering Data Online with Better Implementations
Find_Next_Object_Instance* could be used for sparsely populated lists
Find_Next_Object_Instance Request
Class A, Instance 0, Max Return Values = 5
Find_Next_Object_Instance Response[1,2,4,8,16]
Find_Next_Object_Instance Request
Class A, Instance 16, Max Return Values = 5

Find_Next_Object_Instance Response[32,64,128,0]

Instance
1Instance
2Instance
16Instance32Class AInstance
4Instance
8Instance
64Instance
128*Note, this service cannot be used for UDINT instances
Technical Track© 2023 ODVA, Inc.

2023 Industry Conference & 22nd Annual Meeting
All rights reserved.

www.odva.org

14

Discovering Data Online with Better Implementations

Technical Track© 2023 ODVA, Inc.

2023 Industry Conference & 22nd Annual Meeting
All rights reserved.

www.odva.org

15

Discover Data Online
What could we do better?

New class attributes for supported instances and attributes modeled
after the Message Router’s Object_List attributeTechnical Track© 2023 ODVA, Inc.

2023 Industry Conference & 22nd Annual Meeting
All rights reserved.

www.odva.org

16

Understanding Data Online

Technical Track© 2023 ODVA, Inc.

2023 Industry Conference & 22nd Annual Meeting
All rights reserved.

www.odva.org

17

Understanding Data Online“Metadata” is documented in the specifications, but it is not exposed online

What if these columns were reported as standardized attribute properties?
We could define logical segments to retrieve them.

Technical Track© 2023 ODVA, Inc.

2023 Industry Conference & 22nd Annual Meeting
All rights reserved.

www.odva.org

18

Discovering Data Offline

Technical Track© 2023 ODVA, Inc.

2023 Industry Conference & 22nd Annual Meeting
All rights reserved.

www.odva.org

19

Discovering Data Offline
Yes, this is a valid EDS[File]

DescText = “NotSoSmart LazyBoy Widget EDS File";
CreateDate = 04-01-1999;$ Create date
CreateTime = 17:51:44;
Revision = 1.1;
$ Revision of EDS[Device]
VendCode = 65535;
VendName = “NotSoSmart, Inc.";
ProdType = 43;
ProdTypeStr = “Generic Device”;
ProdCode = 42;
MajRev = 1; $ Device Major Revision
MinRev = 1; $ Device Minor Revision
ProdName = "LazyBoy Smart-Widget";[Device Classification]
Class1 = EtherNetIP;
Technical Track© 2023 ODVA, Inc.

2023 Industry Conference & 22nd Annual Meeting
All rights reserved.

www.odva.org

20

Public Object Class and Vendor Specific Object Class EDS Sections[Discrete Input Class]
Revision = 2;
$ Revision 2 of the object is implemented
MaxInst = 8;
$ The highest instance number that exists in the product is 8
Number_Of_Static_Instances = 8;
$ There are 8 static instances present
Number_Of_Dynamic_Instances = 0; $ There are no dynamic instancesClass_Attributes = 1;
$ Class attribute 1 is supported
Instance_Attributes = 3, 4, 5, 6; $ Instance attributes 3, 4, 5, and 6 are supported
Class_Services = 0x14;$ Get is supported for class attributes
Instance_Services = 0x14, 0x10; $ Get and Set are supported for inst attributes
Object_Name = “Discrete Input Point Object”
Object_Class_Code = 0x08;

Technical Track© 2023 ODVA, Inc.

2023 Industry Conference & 22nd Annual Meeting
All rights reserved.

www.odva.org

21

Understanding Data Offline

Technical Track© 2023 ODVA, Inc.

2023 Industry Conference & 22nd Annual Meeting
All rights reserved.

www.odva.org

22Understanding Data Offline[Params]
Param1 = 0,6,"20 06 24 01 30 F0", $ Size, Link Path to Conn Mgr
Object0x0002,$ Descriptor
0xC7, 2,$ UINT Data Type, Data Size
"Percent I/O Utilization", $ Name"%",$ Units"Indicates what percentage of the I/O comms resources arein use in this device in units of 0.1%", $ Help string
0,1000,0,$ Min/Max/Default,,,,$ Unused fields,,,,;
Technical Track© 2023 ODVA, Inc.

2023 Industry Conference & 22nd Annual Meeting
All rights reserved.

www.odva.org

23

Delivering Data

Technical Track© 2023 ODVA, Inc.

2023 Industry Conference & 22nd Annual Meeting
All rights reserved.

www.odva.org

24

Delivering Data•

Request / Response

Unconnected & Class 3•

Small amounts of varied data

Multiple_Service_Packet•

Larger amounts of data

Send_Receive_Fragment•

Lots of data often

New transports

Technical Track© 2023 ODVA, Inc.

2023 Industry Conference & 22nd Annual Meeting
All rights reserved.

www.odva.org

25

Summary and Call to Action•••

There is a lot we can do immediately through vendor adoption
We can improve some of the existing definitions
We can define better alternatives

Technical Track© 2023 ODVA, Inc.

2023 Industry Conference & 22nd Annual Meeting
All rights reserved.

www.odva.org

26

Summary Plan
Near Term (Today)• Fully-defined EDS files
Medium Term (Next Releases)• Support for Message Router’s Object_List• Support for Max Instance and Number of Instances• Support for Param entries to define data
Long Term (Future Publication Cycles)• Enhance existing definitions• Define & Support online metadata• Define & Support new transport protocols where neededTechnical Track© 2023 ODVA, Inc.

2023 Industry Conference & 22nd Annual Meeting
All rights reserved.

www.odva.org

Common Industrial
Cloud Infrastructure
SIG
CIP System
Architecture SIG
TRB27

Thank You!
Questions?