ESX.4cl-ag: Programming of the controller with C for safety projects
Description
The course includes the explanation of the hardware functions and the programming of the controller in C considering the requirements in SIL2/PLd/Ag PL d Cat2 projects. Further contents are the introduction to the diagnostic functions, memory protection and other safety specific functions of the software.
The course is intended for developers who program their own safety applications on the ESX.4cl-ag.
Objectives
The participant
- Knows the hardware and software requirements for programming the ESX.4cl-ag
- Knows the STW documentation (user and safety manual) and is able to use it for target-oriented research
- Knows the requirements for the programming of safety projects
- Can program own safety applications with C and the STW software package
- Knows the debugger solutions
- Can use STW Tools to load, parameterize and monitor the software on the ESX.4cl-ag
Prerequisites
Basic knowledge of programming electronic controllers.
Programming skills in the programming language "C".
Course Content
- Introduction to the hardware of the ESX.4cl-ag
- Mainboard, supplies, main switch, GND concept, pin assignment,
- Multicore architecture & Coprocessor iMX 6
- Inputs / Outputs
- Ethernet interface, Ethernet switch, CAN-bus, RS232, LIN
- Software development environment
- Installation and setup of the software
- Compiler
- Communication interfaces
- CAN bus: Initialize, read and process data of the CAN-objects
- Application layer: SAE J1939 and CANopen
- Ethernet: Programming with the LwIP library
- Programming requirements for SIL2/PLd/Ag PL d Cat2 projects (Safety Manual)
- Introduction to safety functions
- STW-API, memory protection
- Introduction to SIL2 diagnostics
- STW-Tools
- Introduction to openSYDE
- Code generation, template, openSYDE library
- Flashing, parametrizing, monitoring, visualizing
- Data administration on laptop and controller
- Debugger
- Introduction of the hardware solution
- Demonstration of the Lauterbach hardware debugger
- Programming exercises