OSADL Fieldbus Framework Meeting · 2008. 11. 29. · Connection == Mapping (actor code only knows...
Transcript of OSADL Fieldbus Framework Meeting · 2008. 11. 29. · Connection == Mapping (actor code only knows...
![Page 1: OSADL Fieldbus Framework Meeting · 2008. 11. 29. · Connection == Mapping (actor code only knows it's local variables) Actor code is without semantics: „PLC Director“ possible](https://reader036.fdocuments.net/reader036/viewer/2022071605/6141b47ed64cc55ff075573f/html5/thumbnails/1.jpg)
Slide 1 - http://www.pengutronix.de - 26.11.2008
OSADL Fieldbus Framework Meeting
SPS/IPC/Drives 20082008-11-26, 9:30 - 13:00 MEZ
Robert Schwebel <[email protected]>
![Page 2: OSADL Fieldbus Framework Meeting · 2008. 11. 29. · Connection == Mapping (actor code only knows it's local variables) Actor code is without semantics: „PLC Director“ possible](https://reader036.fdocuments.net/reader036/viewer/2022071605/6141b47ed64cc55ff075573f/html5/thumbnails/2.jpg)
Slide 2 - http://www.pengutronix.de - 26.11.2008
Agenda
● 10:00 - 11:00 Presentations I: Technology
● Aims of the Fieldbus Framework Project (R. Schwebel, M. Kremer)● Current State of Prototypes: 3S, Pengutronix (R. Schwebel)● User Expectiations (Plenum Discussion)
● 11:00 - 11:30 Coffee Break
● 11:30 - 12:00 Presentations II: Administrative Aspects
● Legal Status of Userspace Drivers (C. Emde)● Business Plan Draft (R. Schwebel)
● 12:00 - 13:00 Panel Discussion
● Commitments● Definition of a Roadmap● Assignment of Tasks
![Page 3: OSADL Fieldbus Framework Meeting · 2008. 11. 29. · Connection == Mapping (actor code only knows it's local variables) Actor code is without semantics: „PLC Director“ possible](https://reader036.fdocuments.net/reader036/viewer/2022071605/6141b47ed64cc55ff075573f/html5/thumbnails/3.jpg)
Slide 3 - http://www.pengutronix.de - 26.11.2008
Agenda
● 10:00 - 11:00 Presentations I: Technology
● Aims of the Fieldbus Framework Project (R. Schwebel, M. Kremer)● Current State of Prototypes: 3S, Pengutronix (R. Schwebel)● User Expectiations (Plenum Discussion)
● 11:00 - 11:30 Coffee Break
● 11:30 - 12:00 Presentations II: Administrative Aspects
● Legal Status of Userspace Drivers (C. Emde)● Business Plan Draft (R. Schwebel)
● 12:00 - 13:00 Panel Discussion
● Commitments● Definition of a Roadmap● Assignment of Tasks
![Page 4: OSADL Fieldbus Framework Meeting · 2008. 11. 29. · Connection == Mapping (actor code only knows it's local variables) Actor code is without semantics: „PLC Director“ possible](https://reader036.fdocuments.net/reader036/viewer/2022071605/6141b47ed64cc55ff075573f/html5/thumbnails/4.jpg)
Slide 4 - http://www.pengutronix.de - 26.11.2008
Aims of the Fieldbus Framework Project
● How does non-Industrial networking work these days?
root@thebe:~# ifup eth0root@thebe:~# apt-get install lighttpdReading package lists... DoneBuilding dependency treeReading state information... DoneThe following NEW packages will be installed: lighttpd0 upgraded, 1 newly installed, 0 to remove and 552 not
upgraded.Need to get 360kB of archives.After this operation, 979kB of additional disk space will be
used.Do you want to continue [Y/n]? yGet:1 http://debian.tu-bs.de testing/main lighttpd 1.4.19-5
[308kB] Fetched 360kB in 0s (431kB/s)Selecting previously deselected package lighttpd.Unpacking lighttpd (from .../lighttpd_1.4.19-5_i386.deb) ...Setting up lighttpd (1.4.19-5) ...Starting web server: lighttpd. root@thebe:~#
![Page 5: OSADL Fieldbus Framework Meeting · 2008. 11. 29. · Connection == Mapping (actor code only knows it's local variables) Actor code is without semantics: „PLC Director“ possible](https://reader036.fdocuments.net/reader036/viewer/2022071605/6141b47ed64cc55ff075573f/html5/thumbnails/5.jpg)
Slide 5 - http://www.pengutronix.de - 26.11.2008
Aims of the Fieldbus Framework Project
● How does non-Industrial networking work like these days?
root@thebe:~# ifup eth0root@thebe:~# apt-get install lighttpd
● Industrial Networking should be That Simple (TM)!
![Page 6: OSADL Fieldbus Framework Meeting · 2008. 11. 29. · Connection == Mapping (actor code only knows it's local variables) Actor code is without semantics: „PLC Director“ possible](https://reader036.fdocuments.net/reader036/viewer/2022071605/6141b47ed64cc55ff075573f/html5/thumbnails/6.jpg)
Slide 6 - http://www.pengutronix.de - 26.11.2008
Which Problem are we Trying to Solve?
● Tell hardware what to do:
„Rot at e! “
(Obviously, this needs realtime beha-viour, the device needs to be told when and how, but we leave these boring de-tails out for now ...)
![Page 7: OSADL Fieldbus Framework Meeting · 2008. 11. 29. · Connection == Mapping (actor code only knows it's local variables) Actor code is without semantics: „PLC Director“ possible](https://reader036.fdocuments.net/reader036/viewer/2022071605/6141b47ed64cc55ff075573f/html5/thumbnails/7.jpg)
Slide 7 - http://www.pengutronix.de - 26.11.2008
What we have these days instead is ...
1. ... no modern APIs (object dictionary is no IT interface!)2. ... no language independence3. ... no clear layering (in code, not in marketing slides)4. ... no public review of stack code5. ... no vendor independence6. ... no bus independence7. ... no market independence
![Page 8: OSADL Fieldbus Framework Meeting · 2008. 11. 29. · Connection == Mapping (actor code only knows it's local variables) Actor code is without semantics: „PLC Director“ possible](https://reader036.fdocuments.net/reader036/viewer/2022071605/6141b47ed64cc55ff075573f/html5/thumbnails/8.jpg)
Slide 8 - http://www.pengutronix.de - 26.11.2008
Design Goal 1: Modern APIs
● Think POSIX
● Respect the last 15 years of Linux Development
● Object Oriented Design
● Multi Instance
![Page 9: OSADL Fieldbus Framework Meeting · 2008. 11. 29. · Connection == Mapping (actor code only knows it's local variables) Actor code is without semantics: „PLC Director“ possible](https://reader036.fdocuments.net/reader036/viewer/2022071605/6141b47ed64cc55ff075573f/html5/thumbnails/9.jpg)
Slide 9 - http://www.pengutronix.de - 26.11.2008
Design Goal 2: Language Independence
● No constraints to programming language:
C, C++, Java, C#, IEC-61131, Python, Ruby, ... ergo: C with Wrappers
● Must run on low-ressource systems:
H720x (70 MHz ARM); Blackfin (no mmu)
![Page 10: OSADL Fieldbus Framework Meeting · 2008. 11. 29. · Connection == Mapping (actor code only knows it's local variables) Actor code is without semantics: „PLC Director“ possible](https://reader036.fdocuments.net/reader036/viewer/2022071605/6141b47ed64cc55ff075573f/html5/thumbnails/10.jpg)
Slide 10 - http://www.pengutronix.de - 26.11.2008
Design Goal 3: Clear Layering
● Well Defined Interfaces
● Testability / Certification● Clean, Layered Stack Design● Plugin Concept (Proprietary / OSS) - „Buy & Play“
Hardware
Stack 1 Stack 2
App/Test Code
![Page 11: OSADL Fieldbus Framework Meeting · 2008. 11. 29. · Connection == Mapping (actor code only knows it's local variables) Actor code is without semantics: „PLC Director“ possible](https://reader036.fdocuments.net/reader036/viewer/2022071605/6141b47ed64cc55ff075573f/html5/thumbnails/11.jpg)
Slide 11 - http://www.pengutronix.de - 26.11.2008
Design Goal 4: Peer Review
![Page 12: OSADL Fieldbus Framework Meeting · 2008. 11. 29. · Connection == Mapping (actor code only knows it's local variables) Actor code is without semantics: „PLC Director“ possible](https://reader036.fdocuments.net/reader036/viewer/2022071605/6141b47ed64cc55ff075573f/html5/thumbnails/12.jpg)
Slide 12 - http://www.pengutronix.de - 26.11.2008
Design Goal 5: Vendor Independence
● Strategic Arguments:
● Escape one-way vendor lock-insby migrating to service & supportbusiness models
● „Best Source“ strategy:optimal mix ofopen and closed source
● Linux makes independence ofa single processor manufacturerpossible
● Linux makes independence of operating system vendors possible
![Page 13: OSADL Fieldbus Framework Meeting · 2008. 11. 29. · Connection == Mapping (actor code only knows it's local variables) Actor code is without semantics: „PLC Director“ possible](https://reader036.fdocuments.net/reader036/viewer/2022071605/6141b47ed64cc55ff075573f/html5/thumbnails/13.jpg)
Slide 13 - http://www.pengutronix.de - 26.11.2008
Design Goal 6: Bus Independence
● Unified Framework for All Fieldbus Technologies
Or:
● Several Fieldbusses in One System (i.e. local I/O + Fieldbus I/O)
● Box with local I/Os (GPIO, SoC integrated ADC/DAC)
Migration to Ethernet
![Page 14: OSADL Fieldbus Framework Meeting · 2008. 11. 29. · Connection == Mapping (actor code only knows it's local variables) Actor code is without semantics: „PLC Director“ possible](https://reader036.fdocuments.net/reader036/viewer/2022071605/6141b47ed64cc55ff075573f/html5/thumbnails/14.jpg)
Slide 14 - http://www.pengutronix.de - 26.11.2008
Design Goal 7: Market Independence
● We must match to as many markets' demands as possible:
● Automation (PLC: read inputs - calculate - write outputs - cycle)
● Measurement (bus sends data packets, stream away; sync reqs)
● Automotive (self defined protocols)
● Embedded (local I/Os, no fieldbus at all)
![Page 15: OSADL Fieldbus Framework Meeting · 2008. 11. 29. · Connection == Mapping (actor code only knows it's local variables) Actor code is without semantics: „PLC Director“ possible](https://reader036.fdocuments.net/reader036/viewer/2022071605/6141b47ed64cc55ff075573f/html5/thumbnails/15.jpg)
Slide 15 - http://www.pengutronix.de - 26.11.2008
Agenda
● 10:00 - 11:00 Presentations I: Technology
● Aims of the Fieldbus Framework Project (R. Schwebel, M. Kremer)● Current State of Prototypes: 3S, Pengutronix (R. Schwebel)● User Expectiations (Plenum Discussion)
● 11:00 - 11:30 Coffee Break
● 11:30 - 12:00 Presentations II: Administrative Aspects
● Legal Status of Userspace Drivers (C. Emde)● Business Plan Draft (R. Schwebel)
● 12:00 - 13:00 Panel Discussion
● Commitments● Definition of a Roadmap● Assignment of Tasks
![Page 16: OSADL Fieldbus Framework Meeting · 2008. 11. 29. · Connection == Mapping (actor code only knows it's local variables) Actor code is without semantics: „PLC Director“ possible](https://reader036.fdocuments.net/reader036/viewer/2022071605/6141b47ed64cc55ff075573f/html5/thumbnails/16.jpg)
Slide 16 - http://www.pengutronix.de - 26.11.2008
Current State of Prototype at Pengutronix
● Industrial I/O has some history in our projects (see next slide ...)
● We are „Embedded People“, not „Automation People“(but some of our customers are)
● Our customers have Embedded Systems which need to interact withtheir environment
![Page 17: OSADL Fieldbus Framework Meeting · 2008. 11. 29. · Connection == Mapping (actor code only knows it's local variables) Actor code is without semantics: „PLC Director“ possible](https://reader036.fdocuments.net/reader036/viewer/2022071605/6141b47ed64cc55ff075573f/html5/thumbnails/17.jpg)
Slide 17 - http://www.pengutronix.de - 26.11.2008
History @PTX: JVisu
● Process Data first came up in our project around 2003
● No fieldbus involved - first project was about ultrasound measurement
● First experiments with JVisu (Gleixner), but it was necessary to compile software on the backend side for process data integration
![Page 18: OSADL Fieldbus Framework Meeting · 2008. 11. 29. · Connection == Mapping (actor code only knows it's local variables) Actor code is without semantics: „PLC Director“ possible](https://reader036.fdocuments.net/reader036/viewer/2022071605/6141b47ed64cc55ff075573f/html5/thumbnails/18.jpg)
Slide 18 - http://www.pengutronix.de - 26.11.2008
History @PTX: libpv-1.x
● During our projects, an Open Source library has grown up to access shared process data:
![Page 19: OSADL Fieldbus Framework Meeting · 2008. 11. 29. · Connection == Mapping (actor code only knows it's local variables) Actor code is without semantics: „PLC Director“ possible](https://reader036.fdocuments.net/reader036/viewer/2022071605/6141b47ed64cc55ff075573f/html5/thumbnails/19.jpg)
Slide 19 - http://www.pengutronix.de - 26.11.2008
History @PTX: libpv-1.x
● libpv-1.x is used in more complex scenarios today(autonomous measurement robots, data loggers, heat pumps ...)
![Page 20: OSADL Fieldbus Framework Meeting · 2008. 11. 29. · Connection == Mapping (actor code only knows it's local variables) Actor code is without semantics: „PLC Director“ possible](https://reader036.fdocuments.net/reader036/viewer/2022071605/6141b47ed64cc55ff075573f/html5/thumbnails/20.jpg)
Slide 20 - http://www.pengutronix.de - 26.11.2008
Problems with libpv-1.x
● We didn't care about the „where do the data come from“ question
● Centralized locking: race free, but slow
● No mapping layer, variables have to be referenced by name
● We started searching for alternatives in 2006...
Ptolemy II
![Page 21: OSADL Fieldbus Framework Meeting · 2008. 11. 29. · Connection == Mapping (actor code only knows it's local variables) Actor code is without semantics: „PLC Director“ possible](https://reader036.fdocuments.net/reader036/viewer/2022071605/6141b47ed64cc55ff075573f/html5/thumbnails/21.jpg)
Slide 21 - http://www.pengutronix.de - 26.11.2008
Ptolemy II:
● „Heterogeneous Hierarchical Modeling“
● „The Ptolemy project studies modeling, simulation, and design of concurrent, real-time, embedded systems“
(http://ptolemy.eecs.berkeley.edu)
● Model Based Design:
● Hierarchical Topology Models● Several „Domains of Execution“ - Semantics
● The Ptolemy II project has provided the theoretical background for almost all modern realtime control systems & modeling tools
![Page 22: OSADL Fieldbus Framework Meeting · 2008. 11. 29. · Connection == Mapping (actor code only knows it's local variables) Actor code is without semantics: „PLC Director“ possible](https://reader036.fdocuments.net/reader036/viewer/2022071605/6141b47ed64cc55ff075573f/html5/thumbnails/22.jpg)
Slide 22 - http://www.pengutronix.de - 26.11.2008
Ptolemy II: „Actor Based Design“
![Page 23: OSADL Fieldbus Framework Meeting · 2008. 11. 29. · Connection == Mapping (actor code only knows it's local variables) Actor code is without semantics: „PLC Director“ possible](https://reader036.fdocuments.net/reader036/viewer/2022071605/6141b47ed64cc55ff075573f/html5/thumbnails/23.jpg)
Slide 23 - http://www.pengutronix.de - 26.11.2008
History @PTX: libpv-2.x
● Based on Ptolemy II, we started a prototype implementation
● Actor Based, no execution semantics in the actors
● Fully object oriented, but written in C
● The „network“ is the process image (with persistence)
● Connection == Mapping (actor code only knows it's local variables)
● Actor code is without semantics:
● „PLC Director“ possible (static schedule: read/process/write)● Fully asynchronous event system possible● Lockless / Locking variants (independend of actor implementation)● Bridging to other modeling tools (LabVIEW, Matlab/Simulink)
![Page 24: OSADL Fieldbus Framework Meeting · 2008. 11. 29. · Connection == Mapping (actor code only knows it's local variables) Actor code is without semantics: „PLC Director“ possible](https://reader036.fdocuments.net/reader036/viewer/2022071605/6141b47ed64cc55ff075573f/html5/thumbnails/24.jpg)
Slide 24 - http://www.pengutronix.de - 26.11.2008
Roadmap (Draft)
● Phase I:
● Definition & Implementation of an Infrastructure Library● Merger of the 3S / Homag / Pengutronix Prototypes● Proof of Concept, based on selected & simple Use Cases● Milestone: Library Release 1.0 (for testing purposes)
● Phase II:
● Call for Stack Implementation● Refactoring of the Infrastructure based on Feedback
● Phase III:
● Graphical Configuration Tool for Mapping Layer
![Page 25: OSADL Fieldbus Framework Meeting · 2008. 11. 29. · Connection == Mapping (actor code only knows it's local variables) Actor code is without semantics: „PLC Director“ possible](https://reader036.fdocuments.net/reader036/viewer/2022071605/6141b47ed64cc55ff075573f/html5/thumbnails/25.jpg)
Slide 25 - http://www.pengutronix.de - 26.11.2008
Thank you for listening! Questions ... ?