28
Bonn, 03. September 2006 Session: Information Technology for Agricultural Machines » Software in Tractors: Aspects of Development, Maintenance and Support « Dipl.-Ing. Rainer Hofmann, AGCO GmbH, Germany

» Software in Tractors: Aspects of Development ... in Tractors...Bonn, 03. September 2006 Session: Information Technology for Agricultural Machines » Software in Tractors: Aspects

Embed Size (px)

Citation preview

Bonn, 03. September 2006

Session: Information Technology for Agricultural Machines

» Software in Tractors: Aspects of Development, Maintenance and Support «

Dipl.-Ing. Rainer Hofmann, AGCO GmbH, Germany

Bonn, 03. September 2006

Development of Software is like building a Cathedral Development of Software is like building a Cathedral ……

Bonn, 03. September 2006

(1) General aspects of software engineering (in agricultural machines)

(2) Software applications in tractors – an overview

(3) Economical requirements for software

(4) Software development process

(5) Maintenance of software

(6) Software as a product

(7) Integration across manufactures – ISOBUS and other standards

(8) Conclusions

Structure

Bonn, 03. September 2006

• Software controls all vital functions of agricultural machines

• Technical innovation is driven by software

• Software is key and core competence in agricultural machinery companies

• Manufacturers intellectual property in software engineering is a key factor

• Quality of software defines the quality of a machine

• Tractors and other agricultural machines are safety critical systems

• Time, cost and quality have to be balanced

• >> Software can be easily and quickly modified <<

• Software engineering is defined by its validation process

• Software does not create parts cost

• Software is a product in general

1) General aspects of software engineering in tractors …

Bonn, 03. September 2006

1. Basic (tractor) control functions

2. Human machine interface (HMI)

3. Automatic functions

4. Data management

5. Service and support

2) Software applications in tractors

AreasAreas of of softwaresoftware applicationsapplications in in tractorstractors

Bonn, 03. September 20062) Software applications in tractors

• Engine• Transmission• Hydraulic spool valves and power lift• Power train (4-WD, diff.lock)• PTO• Steering• Brake systems • Electrics (lighting, washer, …)• HVAC

Optimisation of mechanical functions: Efficiency = ‘Load sensing’ Ease of operation Flexibility of production Supervision to reduce wear and prevent damage Diagnostic and calibration

Basic Basic controlcontrol functionsfunctions ((tractortractor))

Bonn, 03. September 20062) Software applications in tractors

• Dashboard• Graphical display systems (terminal)• Operator panels (armrest) • Multifunction levers• Warning and error indication • External or remote operation

Identification of driver to a machine Ergonomic and intuitive operation Driver focus on main or critical function Simple operation / easy to learn ↔ option for manual optimisation of tractor

functions via menu setups

HumanHuman--MachineMachine--InterfaceInterface (HMI)(HMI)

Bonn, 03. September 20062) Software applications in tractors

• Engine – transmission management

• Headland management (automatic operation sequence)

• Automatic steering via GPS / camera / sensors

• Implement process control

• Precision farming process control

Optimisation for unskilled drivers Driver focus on main or critical function Intuitive and context sensitive operation of parallel processes

Automatic Automatic FunctionsFunctions

Bonn, 03. September 20062) Software applications in tractors

Data acquisition and logging

• Machine (load, condition, performance, position ..)

• Agricultural working process

• Driver and labour hours

• (chemical) substances and material flow

Office Software

• Documentation / Plant Production

• Precision Farming

• Fleet management

• Accounting

Legal requirements for traceability of food production Economic traceability and optimisation Driver is not owner of the process

DataData ManagementManagement

Bonn, 03. September 20062) Software applications in tractors

• Diagnostic systems (off board)

• Flash download and parameterize the system atassembly line

• Field programming systems for software and parameter update

Reduce downtime and costs for service Tracking of machine during life cycle Increase flexibility in production Logistic handling of software as a (‘mechanical’) part Prevent manipulation e.g. speed control, engine power

Service and SupportService and Support

Bonn, 03. September 2006

Electronic architecture of a top end standard tractor

2) Software applications in tractors …

Bonn, 03. September 2006

• Network 4 (CAN) Busses

• 20 ECUs

• Software per ECU

Multifunction armrest: 16.000 lines of code (50 files)

Dashboard: 28.000 lines of code (94 files)

Main tractor-ECU: 120.000 lines of code(230 files)

Vario-Terminal: 160.000 lines of code

Terminal with Linux OS: 50.000.000 lines of code (OS) and

250.000 lines of code (application)

• > 90 % C-Code;

• 50 % Development by OEM

• 50% Development by suppliers

2) Software applications in tractors …

Complexity Complexity

Bonn, 03. September 2006

• Low volumes of components

• Differentiation of products

• Short life cycles of electronic hardware components: μ-processor, memory, …

• Long life cycle of machines in production: 10 … 15 years

and of spare parts: 15…18 years

• Safety critical system: hazards as machine operation and in public road traffic

• Security against manipulation: e.g. speed control or engine power

• Costs of hardware decrease in time compared to performance, but add to each tractor

• Reusability of software is an economic must

3) Economical requirements for software design …

Challenges for software design Challenges for software design

Bonn, 03. September 2006

Hardware independence

Increasing number of software modules per microprocessor

Integration of software modules from (different) suppliers in an (any) ECU

Network topology

Real-Time operating system

Generic software modules

Generic communication protocols

inside microprocessor units = Virtual bus system

and on bus networks (CAN)

Definite and detailed software design and verification processes

Software version control system

3) Economical requirements for software design …

Strategies and Solutions Strategies and Solutions

Bonn, 03. September 2006

Hardware Microcontroller

3) Economical requirements for software design …

Core Software Microcontroller

Basic Software:• I/O Interface

• Network communication management (CAN, …)

ApplicationSoftw

are 1

ApplicationSoftw

are 2

ApplicationSoftw

are n

ECU software architectureECU software architecture

Real-Tim

eO

peratingsystem

ECU

External bussystem (CAN,..)

Internal virtualbus system (GD)

Bonn, 03. September 2006

Hardware MicrocontrollerCore Software Microcontroller

Basic Software

Module

Module

Hardware MicrocontrollerCore Software Microcontroller

Basic Software

Module

Module

Module

Hardware Microcontroller

3) Economical requirements for software design …

Core Software Microcontroller

Basic Software

Module

Module

Module

ECU ‚A‘

ECU ‚B‘

ECU ‚C‘

InterchangeabilityInterchangeability of software modules of software modules

External bussystem (CAN,..)

Bonn, 03. September 2006

- Debugger - Code tester- Simulation

- Test bench - Tractor integration

- Network integration

- Field test - Fleet test

- Tractor function

- Hardware - Software architecture- Network topology

VV--Model: design and validation cycleModel: design and validation cycle

4) Software development process …

Requirements Definition

Specific Design

Basic Design

Component Implementation

ComponentTest

Integration Test(ECU)

System Testing (HIL, Network)

Vehicle Testing

- Module - Control algorithm- Simulation

- C-coding

- Code generation

Bonn, 03. September 2006

Quality Management of Software: DesignQuality Management of Software: Design

Requirements Definition

Specific Design

Basic Design

Component Implementation

• Risk analysis

• Functional specification

• FMEA

• Software specification

• Network and communication layout

• Manual code generation

• Simulation, rapid prototyping and C-code generator

4) Software development process …

Bonn, 03. September 2006

Diversification of test methods and persons:

• Modul level - manual and automatic test:

Debugger, Emulator,

Hardware-in-the loop: simulation and stimulation

Automatic code test tools

• Integration level in tractor:

Validation of functionality

Validation of FMEA

• Field test

• Fleet test

»Does a modification of 1 line of code require the full test cycle?«

4) Software development process …

Quality Management of Software: ValidationQuality Management of Software: Validation

ComponentTest

Integration Test(ECU)

System Testing (HiL, Network)

Vehicle Testing

Bonn, 03. September 2006

Update of one module has to be consistent to any other module in any other ECU in the network of a tractor … for the whole life cycle!

5) Maintenance of software …

Maxim of software updates Maxim of software updates

Bonn, 03. September 2006

• Hardware - ID

• Bootloader Flash - ID

• Applikationssoftware - 1 - ID

• Applikationssoftware - 2 – ID

• …

• Applikationssoftware - n - ID

• Parametersatz - ID

Identification of hard- and software of each ECU and each module in a tractor

Software version control for ECU update Software version control for ECU update

• Hardware - ID

• Bootloader Flash - ID

• Applikationssoftware - 1 - ID

• Applikationssoftware - 2 – ID

• …

• Applikationssoftware - n - ID

• Parametersatz - ID

• Hardware - ID

• Bootloader Flash - ID

• Applikationssoftware - 1 - ID

• Applikationssoftware - 2 – ID

• …

• Applikationssoftware - n - ID

• Parametersatz - ID

5) Maintenance of software - update process …

• Hardware - ID

• Bootloader Flash - ID

• Applikationssoftware - 1 - ID

• Applikationssoftware - 2 – ID

• …

• Applikationssoftware - n - ID

• Parametersatz - ID

• Hardware - ID

• Bootloader Flash - ID

• Applikationssoftware - 1 - ID

• Applikationssoftware - 2 – ID

• …

• Applikationssoftware - n - ID

• Parametersatz - ID

Bonn, 03. September 20065) Maintenance of software - update process …

• Data base contains all relevant software modules

• ‚Label‘ is defined as a tested combination of soft- und hardware-versions

• Update means flashing all modules and ECUs to achieve a higher or lower level

• Update of a single ECU or module is not possible

Software update Software update

Bonn, 03. September 2006

• Modular architecture in software und communication (generic protocol)

• Identification and registration of individual software equipment of a customer tractor

• Commercial release process for a software update on dealer level

• Protection against copy

• Organisation, administration and logistic processes

6) Software is a product in general …

Bonn, 03. September 2006

… the automotive approach: … the agricultural machinery approach:

AUTomotive Open System ARchitecture

7) Integration across manufacturers - ISOBUS …

‘‘ISOBUSISOBUS’’ ISO 11783ISO 11783

Standards, the way to handle complex electronic structures:Standards, the way to handle complex electronic structures:

Bonn, 03. September 2006

Manufacturer ..

7) Integration across manufacturers - ISOBUS …

Manufacturer CManufacturer B

Manufacturer A

Manufacturer ..Manufacturer C

Manufacturer BManufacturer A

Manufacturer ..Manufacturer C

Manufacturer BManufacturer A

Manufacturer ..Manufacturer C

Manufacturer BManufacturer A

Manufacturer ..Manufacturer C

Manufacturer BManufacturer A

Manufacturer ..Manufacturer C

Manufacturer BManufacturer A

Bonn, 03. September 2006

An approach for further manufacturer integrationAn approach for further manufacturer integration

AnwenderAnwender--PlattformPlattform ISOBUS ISOBUS e.Ve.V..

• Membership for manufacturers, associations, suppliers, test institutes

• Platform for electronic engineering

• Coordination of industrial introduction of electronic standards

• Development of test tools and test scenarios and documentation (data base)

• Organisation and performance of workshops, plugfests and certification tests

• Coordination of technical enhancements

• Training

7) Integration across manufacturers - ISOBUS …

Bonn, 03. September 2006

Functionality of software:Functionality of software:• Automatic control of machines and processes

• Field robotic

Complexity of software: Complexity of software: • Number of modules and their interdependencies

• Integration of machine networks and data linkage to office software

Engineering efforts and expenses:Engineering efforts and expenses:• … for design and development of software

• … for test and validation of software

• … for administration and support of software in production und service

8) Conclusions …

Growing increase of Growing increase of ……

Bonn, 03. September 2006

• ‘Think in processes’

• Improve methods for absolute encapsulation of software modules

• ‘Functional safety’: improve robustness of software

• Extension of standards e.g. ‘ISOBUS’ (ISO 11783)

• Establish models and platforms for software development processes between manufacturers

• Establish economic platforms for software cooperation between OEM and suppliers

• Open source systems – or at least open architecture

8) Conclusions …

…… possible approachespossible approaches