Learn about CANopen communication protocol.
Get to know the basic terms, DS402 profiles, network management, SDO, PDO and more.
Find out what are the advantages of distributed control?
What is the binary interpreter method?
An overview of the communication stack within the classical AUTOSAR
- AUTOSAR Static architecture
- Communication stack
- CAN stack
- PDU-ROUTER
LINKS:
---------
https://www.autosar.org/
CAN vs CAN FD with its higher piece rate (upto 5 Mbps) and bigger payload limit (64 Bytes) is a commendable successor to established CAN. Know other striking contrasts and advantages of CAN FD and its association with Bootloader.
https://www.embitel.com/blog/embedded-blog/classical-can-vs-can-fd-decoding-their-data-transfer-capabilities-and-compatibility-with-the-bootloader-software
An overview of the communication stack within the classical AUTOSAR
- AUTOSAR Static architecture
- Communication stack
- CAN stack
- PDU-ROUTER
LINKS:
---------
https://www.autosar.org/
CAN vs CAN FD with its higher piece rate (upto 5 Mbps) and bigger payload limit (64 Bytes) is a commendable successor to established CAN. Know other striking contrasts and advantages of CAN FD and its association with Bootloader.
https://www.embitel.com/blog/embedded-blog/classical-can-vs-can-fd-decoding-their-data-transfer-capabilities-and-compatibility-with-the-bootloader-software
Learn about the fundamentals of the MCAL layer from our AUTOSAR team.
Know more about the various device drivers and the layered architecture of the AUTOSAR MCAL. And get the details about how the Microcontroller Abstraction Layer (MCAL) works
Overview of Proxy Mobile IP for IPv6 mobility.
Mobile IP (MIP) allows mobile nodes to roam between networks while
keeping existing connections open thus allowing seamless operation
on application level.
However, Mobile IP requires additions to the OS kernel that make deployments
difficult if not impossible alltogether.
Proxy Mobile IPv6 (PMIPv6) allows mobility scenarios for non-MIP aware mobile nodes.
A proxy assumes all functionality required for mobile nodes to roam from
one wireless network to another. PMIPv6 achieves this with a Mobile Access Gateway
(MAG, the proxy) and a Local Mobility Anchor (LMA) that represents the single point of attachment
for corresponding nodes.
PMIPv6 is most suited for campus-type networks where all wireless networks are under
the control of a single authority.
Serial peripheral Interface - Embedded System ProtocolAditya Porwal
Serial Peripheral Interface (SPI) is a synchronous serial data protocol used by micro-controllers for communicating with one or more peripheral devices quickly over short distances. It can also be used for communication between two micro-controllers.
This one is for the community of AUTOSAR developers. Our AUTOSAR development team explains what are the different software modules of a Communication Stack (ComStack). Also, learn about the software modules of CAN based Communication Stack in AUTOSAR
In this AUTOSAR layered architecture, Communication Stack or ComStack facilitates communication. Hence ComStack can be defined as a software stack that provides communication services to the Basic Software Modules and Application Layer or Application Software.
https://www.embitel.com/product-engineering-2/automotive/autosar/
PIC A special purpose integrated circuit that function as an overall manager in an interrupt driven system.
It accepts request from the peripheral equipment,determines which of the incoming request is of the highest priority, ascertains whether the incoming request has a higher priority value than the level currently being serviced, and issues an interrupt to the CPU based on this determination.
CAN bus presentation covers all points in brief, at last please refer the references it really worth..
This was presented on 12-06-2017 in a Germany.
There was a 15 minutes time limit for presentation hence couldn't cover in detail
For further details please contact
This presentation discusses the details of the I2C protocol and interfacing of EEPROM with 8051 based on I2C protocol. It also discusses the other applications of I2C protocol
The Modbus protocol provides an industry standard method that Modbus devices use for parsing messages. This protocol was developed by Modicon, Incorporated, for industrial automation systems and Modicon programmable controllers.
Here is the presentation on ' MODBUS COMMUNICATION PROTOCOL'.
Multi-axis position control by EtherCAT real-time networking:
The strength of EtherCAT synchronization techniques allows it to be compatible with both low and high demanding applications. Combined with the correct implementation of both the network protocol, and a proper device profile, a true distributed motion control can be achieved.
Learn about the fundamentals of the MCAL layer from our AUTOSAR team.
Know more about the various device drivers and the layered architecture of the AUTOSAR MCAL. And get the details about how the Microcontroller Abstraction Layer (MCAL) works
Overview of Proxy Mobile IP for IPv6 mobility.
Mobile IP (MIP) allows mobile nodes to roam between networks while
keeping existing connections open thus allowing seamless operation
on application level.
However, Mobile IP requires additions to the OS kernel that make deployments
difficult if not impossible alltogether.
Proxy Mobile IPv6 (PMIPv6) allows mobility scenarios for non-MIP aware mobile nodes.
A proxy assumes all functionality required for mobile nodes to roam from
one wireless network to another. PMIPv6 achieves this with a Mobile Access Gateway
(MAG, the proxy) and a Local Mobility Anchor (LMA) that represents the single point of attachment
for corresponding nodes.
PMIPv6 is most suited for campus-type networks where all wireless networks are under
the control of a single authority.
Serial peripheral Interface - Embedded System ProtocolAditya Porwal
Serial Peripheral Interface (SPI) is a synchronous serial data protocol used by micro-controllers for communicating with one or more peripheral devices quickly over short distances. It can also be used for communication between two micro-controllers.
This one is for the community of AUTOSAR developers. Our AUTOSAR development team explains what are the different software modules of a Communication Stack (ComStack). Also, learn about the software modules of CAN based Communication Stack in AUTOSAR
In this AUTOSAR layered architecture, Communication Stack or ComStack facilitates communication. Hence ComStack can be defined as a software stack that provides communication services to the Basic Software Modules and Application Layer or Application Software.
https://www.embitel.com/product-engineering-2/automotive/autosar/
PIC A special purpose integrated circuit that function as an overall manager in an interrupt driven system.
It accepts request from the peripheral equipment,determines which of the incoming request is of the highest priority, ascertains whether the incoming request has a higher priority value than the level currently being serviced, and issues an interrupt to the CPU based on this determination.
CAN bus presentation covers all points in brief, at last please refer the references it really worth..
This was presented on 12-06-2017 in a Germany.
There was a 15 minutes time limit for presentation hence couldn't cover in detail
For further details please contact
This presentation discusses the details of the I2C protocol and interfacing of EEPROM with 8051 based on I2C protocol. It also discusses the other applications of I2C protocol
The Modbus protocol provides an industry standard method that Modbus devices use for parsing messages. This protocol was developed by Modicon, Incorporated, for industrial automation systems and Modicon programmable controllers.
Here is the presentation on ' MODBUS COMMUNICATION PROTOCOL'.
Multi-axis position control by EtherCAT real-time networking:
The strength of EtherCAT synchronization techniques allows it to be compatible with both low and high demanding applications. Combined with the correct implementation of both the network protocol, and a proper device profile, a true distributed motion control can be achieved.
Models and Service Layers, Hemoglobin and HobgoblinsRoss Tuck
As presented at ZendCon 2014, AmsterdamPHP, PHPBenelux 2014, Sweetlake PHP and PHP Northwest 2013, an overview of some different patterns for integrating and managing logic throughout your application.
EtherCAT - Ethernet for Control Automation Technology - is an Ethernet-based fieldbus system, invented by Beckhoff Automation. The protocol is standardized in IEC 61158 and is suitable for both hard and soft real-time requirements in automation technology. EtherCAT is a highly flexible Ethernet network protocol that is developing at a rapid rate and growing at an even faster clip. A unique principle called “processing on the fly” gives EtherCAT a handful of unique advantages. Because EtherCAT messages are passed before being processed in each node, EtherCAT operates at a high speed and efficiency. The process also creates flexibility in topology and incredible synchronization. Outside of the advantages gained from “processing on the fly,” EtherCAT benefits from superb infrastructure. EtherCAT includes, among other things, a safety protocol and multiple device profiles. EtherCAT also benefits from a strong users group. The combination of benefits means EtherCAT is poised for continued growth.
10. In order to meet customers’ needs for EtherCATdevices, we provide a variety of EtherCAT I/O devices. The ECAT-2000 is equipped with the EtherCAT protocol and installed by daisy chain connection which permits the flexibility in devices installation and reduces infrastructure and operation costs. All the modules can be deployed in the network topologies such as star, line or ring. The isolation input and output design protects the ECAT-2000 against the harmful interference and environment.
Learn more: www.icpdas-usa.com?r=slideshare
It describes the MMC storage device driver functionality in Linux Kernel and it's role. It explains different type of storage devices available and how they are handled from MMC driver point of view. It describes eMMC (internal storage) device and SD (external storage) devices in details and SD protocol used for communicating with these devices in Linux.
The Design of an MVB Communication Controller Based on an FPGAIJRESJOURNAL
Abstract:According to the TCN standard (Train Communication Network Standard), in order to design the MVB controller simply and quickly, this paper presents an new design idea, which avoids the cumbersome process in the traditional design process and makes the MVB controller design become efficient and concise. The design realizes the real-time protocol associated with the multifunction vehicle bus (MVB) device and the design process for all layers associated with the MVB device link layer. The design is a concurrent, easy-to-parameter and reconfigurable top-down design process that is implemented through programmable gate arrays (FPGAs) and related circuits. The design provides an efficient and rigorous design idea, and was verified by some experiments successfully.
Elmo Motion Control has integrated its compact Harmonica digital servo drive into an automated print inspection machine. Mounted in the optical head of the system, the Harmonica controls the position of the camera as it scans each millimeter of the newly printed area.
Elmo's Whistle digital servo drives are compact, with high power density. This case study shows how one of our customers in the robotics industry, Autonomous Solutions Inc., used them to increase the power and agility of their Chaos mobile robot platform.
The integral heat sink of the Gold Drum HV can dissipate around 18 W – 22 W, depending on the mounting method. This “no fan” approach can be advantageous up to an average current of 20 A -25 A with the 800 V types, and 35 A- 40 A with the 400 V types.
The Tweeter and Whistle Servo Drive Controller were found to be the lightest and most efficient servo controllers with the most intelligence for the remote manipulation and handling system challenge.
Using the Tuba & Cornet digital servo drives, Elmo Motion Control has implemented a unique ECAM-based solution for managing an application that prints labels on boxes moving at irregular intervals along a conveyor.
“One Solution” isn’t just a slogan for us. We understand your business needs down to the finest details. We also appreciate that in this industry time means money. So we have designed for you servo power supplies that are cost-efficient and meet the highest safety standards.
The Tambourine-20 is Elmo’s latest compact, direct-to-mains power supply for servo applications. The Tambourine complements our servo drives that do not include an integrated power supply.
Elmo's Tambourine-100 is a state-of-the-art, thermally protected power supply that accepts 3-phase voltage source up to 3 x 480 VAC.
Gold Duo is a compact, wall-mounted integrated digital servo drive solution that contains two drives in a single product. It weighs just 479 g (16.9 oz) and offers up to 2 x 1.6 kW of continuous power or 2 x 3.2 kW of peak power.
The solution operates under a single power supply and is designed for applications with up to two axes.
When you have Elmo voltage capabilities, you can choose the optimum combination of motor windings and drive size to yield the operating voltage. Elmo’s Gold Servo drives support a very wide range of DC and AC voltages, from 10VDC to 800VDC and from 30VAC to 530VAC.
Our complete range of servo drives not only provides any power range you need, it provides the highest density power (smallest servo drives) in the industry, precisely delivering the exact power you need, with zero emissions and zero noise technology.
Elmo’s Gold Servo Drives master the ability to run any
servo motor with qualitative power in the range of
10W – 65,000W.
Solution for Industrial Printing & Textile Machines | Elmo Motion ControlElmo Motion Control
Our G-MAS uses a CANopen virtual encoder to improve master-slave performance on advanced industrial printing machines.
Find out how you can save money by using motion controllers virtual encoder.
Discover our cutting edge motion controller which enables real-time synchronization for high demanding systems. In three words: fast, precise and simple.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
2. 2
What is CANOpen ? Wikipedia definition: “CANopen is a communication protocol and device profile specification for embedded systems used in automation.” CANOpen is the communication protocol that is used by the G-MAS and drives. It has been standardized by CiA – CAN in the Automation organization. Every CANOpen device has an object dictionary – a list of supported objects that can be read from and written to. These objects indicate and change the device behavior.
3. 3
Basic Terms Object Dictionary – The list of objects which are supported by a device. Some objects are mandatory and some are optional, but each object is defined in the standard. Every object has an index (address) and sub-index (entry). For example: object 0x608F has three entries – sub-indices 0,1,2. The data type, default value, and the access type (RO RW) of the object entries are defined in the standard.
4. 4
Basic Terms CAN ID – Every drive has a specific ID on the CAN bus. In order to address a specific drive, the G-MAS needs to add the Drive ID to the COB ID, so that in practice, when G-MAS sends an SDO to a drive with ID 1, it will send it with CAN ID 0x601 and will receive an answer with CAN ID 0x581 (0x602 and 0x582 for Drive 2). The range of drive IDs is 1-127.
5. 5
Basic Terms The COB ID is composed of these 11 bits: The list of function codes: These tables and additional data
can be found in the CANOpen
“application layer and communication
profile” document, p.86.
6. 6
Basic Terms
CAN Sniffer – A software and hardware utility used to monitor CAN bus traffic.
For example:
0 00000601 8 23 FF 60 00 00 00 00 00 5606.678380 R
COB - ID
Number of data bytes - 8 is the maximal number of data bytes
message data bytes
Time - indicates the time that the message was sent Basic CANopen- FAQ
7. 7
DS301 and its Derivatives CANopen devices are divided into families. Each family has its own object dictionary and specific definitions. The most basic family is the DS301 family. All other families are derivatives of this family. DS301 – The basic family of CAN devices. It holds the basic terms (PDOs SDOs etc.) and the basic object dictionary that DS301 devices need to support (like object 0x1000 “device type”).
8. 8
DS301 and its Derivatives DS301 Family Derivatives: DS402 Servo Drives – For example Elmo drives, need to support additional objects, for example: actual position – object 0x6064. DS401 IOs – These devices have Digital/Analog Inputs/Outputs, user may write to outputs and read from Inputs. These devices may support objects like write outputs – object 0x6200. DS406 encoders - These devices send position via a predefined method. User may use these positions for application purposes.
9. 9
DS402 Profiles DS402 devices can operate in different operation modes. G-MAS can decide in what mode it wants to operate the drive: NC – G-MAS manages the drive position by periodically sending the drive positions at small predefined intervals. The motion profile is calculated by the G-MAS. Distributed – G-MAS does not manage the motion sequence, it only sends specific motion data (velocity, acceleration, target position, etc.) and waits for the drive to perform the operation, the motion profile is built by the drive.
10. 10
DS402 Profiles The DS402 defines motion profiles that either can be NC or Distributed:
11. 11
NMT- Network Management The drive has an internal communication state machine that needs to be operated by G-MAS: These tables and additional data can be found at CANOpen “application layer and communication profile” document, p.83
12. 12
NMT- Network Management The COB ID of NMT is 0x0, therefore we need to indicate the node ID in the message itself. NMT message structure (2 bytes): When a drive is detected on bus G-MAS needs to send it an NMT “start remote node” according to the state machine. NMT commands: 1 – start remote node 129 – reset node 2- stop remote node 130 – reset communication 128 – enter pre operational state
command
Node ID
13. 13
NMT- Network Management
Let’s see it via a CAN sniffer:
Node sends heartbeat boot up message: 0 00000701 1 00 17508.107790 R
COB ID 0x701 indicates a heartbeat message of drive 1
1 byte of data
State boot up
G-MAS sends NMT “start remote node” 0 00000000 2 01 01 17508.108560 R
0x0000 is the COB ID of NMT
2 data bytes
Command – 0x01 means “start remote node”
Node ID – 0x01
Now the drive is in operational state.
Additional data can be found in the CANOpen “application layer and communication profile” document, p.77.
14. 14
HEARTBEAT DS301 defines the HEARTBEAT protocol. In this protocol, the drive sends HEARTBEAT messages to G-MAS. G-MAS monitors the HEARTBEATs, per device. If a HEARTBEAT was missed, G-MAS can indicate that an error occurred and notify the user. In order to configure the device to send HEARTBEATs, the G-MAS needs to download an SDO and configure the HEARTBEATs period.
15. 15
HEARTBEAT When a CAN device sends a HEARTBEAT it also indicates its internal state. The HEARTBEAT COB ID is 0x700. Message structure (1 byte): Most significant bit is reserved (always zero). The seven other bits indicate the drive state.
16. 16
HEARTBEAT The seven other bits indicate the drive state: 0 – Boot up: When a drive is turned on, it sends this first HEARTBEAT; this is how G-MAS identifies that the drive exists on the bus. 4 – Stopped: All communication is stopped; the drive only accepts NMT messages and only sends HEARTBEATs. 5 – Operational: The drive is fully operational for all purposes; it will accept and will send all types of messages. 6 – Pre-Operational: The drive will not accept PDOs In this state. The state machine can be found on p.12.
17. 17
HEARTBEAT
What does a HEARTBEAT look like via a CAN sniffer?
00000701 1 05 6877.559220 R
COB ID – 0x701 means drive 1 sent a HEARTBEAT message
1 – byte of data
State - The drive is in state 5: operational
18. 18
EMERGENCY When an error occurs at the drive level the G-MAS needs to be notified ASAP. This is the purpose of the EMCY message. The drives sends an EMCY with three information fields that may help identify the error:
19. 19 After G-MAS indicates an EMCY message it changes the drive state to error stop. After the error has been removed, the G-MAS may send an NMT reset command and continue working normally.
EMERGENCY
20. 20
EMERGENCY
Let’s look at an emergency message that is sent from the drive:
0 00000081 8 10 82 21 00 00 00 00 00 ..!..... 5703.092070 R
0x81 – This the COB ID of EMCY message from axis 1
8 data bytes
Emergency error code 0x8210 with Error register 0x21 means “Attempt to access an unconfigured RPDO” (Elmo Motion Control CANopen DS 301Implementation Guide, p.13-24)
Manufacturer specific error code is 0x 00 00 00 00 00
Additional data about EMCY can be found in the “Elmo Motion Control CANopen DS301 Implementation Guide” document, p. 6-1 and in the CANOpen “application layer and communication profile” document, p. 69.
21. 21
SDO – Service Data Object SDO is one of the most common messages in CAN communication and it enables a direct access to an object. When a user sends a SDO to the drive through G-MAS it can be one of the two SDOs: SDO Download – User wants to write to an object entry. SDO Upload – User wants to read an entry.
22. 22
SDO – Service Data Object The G-MAS sends the download/upload request and the drive returns a positive or a negative (SDO abort) response. A negative response is always returned with a reason for the abortion. A negative response might be returned when the object/entry does not exist or other specific reason.
23. 23
SDO – Service Data Object SDO Command Code – Specifies what kind of SDO this is (e.g., download/upload, response/request). The command code comprises the three most significant bits of the message data. Common SDO Command Codes: 1 - Initiate download request (G-MAS side) 2 - Initiate upload request (G-MAS side) 3 - Initiate download response (DRIVE side) 2 - Initiate upload response (DRIVE side) 4 - SDO ABORT response
24. 24
SDO – Service Data Object SDO download messages structure:
The first byte holds the command (download/upload, request/response).
25. 25
SDO – Service Data Object
Bytes 1-3 hold the index and sub-index of the object (they called multiplexer). Bytes 4-7 in the G-MAS message are the data bytes to download (not all bytes are necessarily used). Bytes 4-7 in the drive message are reserved, they will hold the abort code when message aborted.
26. 26
SDO – Service Data Object
How does an SDO download look at the CAN sniffer log?
Download request (G-MAS side):
0 00000601 8 2B 85 60 00 34 12 00 00 12733.538310 R
COB ID 601 means that G-MAS sent an SDO to drive with ID = 1
8 data bytes were sent
0x2B = 0010 1011, the three most significant bits are the command code – 1 means initiate download request
Index – 0x6085 (object number) - quick stop deceleration
Sub-index - 0x0 (entry number)
Data – 0x00 00 12 34
27. 27
SDO – Service Data Object
How does an SDO download look at the CAN sniffer log?
Download response (Drive side):
0 00000581 8 60 85 60 00 00 00 00 00 12733.537650 R
CAN ID 581 means that Drive with ID = 1 is responding
8 data bytes were sent
0x60 = 0110 0000, the three most significant bits are the command code – 3 means initiate download response
Index – 0x6085 (quick stop deceleration)
sub-index - 0x0
Data – 0x00 00 00 00 – always 0 when positive response, abort code when SDO is aborted
28. 28
SDO – Service Data Object SDO upload messages structure: Similarly to SDO download, first byte is the command and bytes 1-3 are the index and sub-index in both messages.
29. 29
SDO – Service Data Object
Bytes 4-7 in G-MAS message are reserved (no need to send data). These bytes in the drive message hold the required data (or abort code) .
30. 30
SDO – Service Data Object
How does an SDO upload looks like in the sniffer ?
G-MAS sends upload request:
0 00000602 8 40 85 60 00 00 00 00 00 6912.343960 R
COB ID – 0x602 means that G-MAS sent an SDO to drive with ID 2
8 bytes of data
0x40 = 0100 0000 – command code is 2, meaning SDO upload request
Index - 0x6085 (quick stop deceleration)
sub-index – 0x00
Data – reserved (always 0)
31. 31
SDO – Service Data Object
How does an SDO upload looks like in the sniffer?
Drive replies with:
0 00000582 8 42 85 60 00 34 12 00 00 6912.344580 R
COB ID – 0x582 means that drive with ID 2 replies
8 bytes of data
0x42 = 0x0100 0010 - – command code is 2 meaning SDO upload response
Index - 0x6085 (quick stop deceleration)
sub-index – 0x00
Data – 0x00 00 12 34
Additional data can be found in the CANOpen “application layer and communication profile” document, p. 40
32. 32
SYNC – Synchronization Object This is a message that is sent by the G-MAS for the purpose of synchronization: The SYNC message synchronizes the handling of PDOs at the DRIVE level: For TPDO – Synchronization is with respect to transmission. For RPDO – Synchronization is with respect to processing of incoming PDOs.
33. 33
SYNC – Synchronization Object When G-MAS wants to send SYNC messages to the drives, it notifies them (by SDO download) what is going to be the SYNC sending period. G-MAS periodically sends the SYNC message on the CAN bus (everyone can see it).
34. 34
SYNC – Synchronization Object
SYNC message is addressed to all drives, therefore its COB ID does not include a Drive ID.
The COB ID of a SYNC message is 0x80.
Let’s see how a SYNC message looks like via a CAN sniffer log:
00000080 0 2484.192160 R
COB ID – 0x80 means SYNC message addressed to all drives
Data – always 0 since the data has no significanse
Additional data in the CANOpen “application layer and communication profile” document, p. 67
35. 35
PDO – Process Data Object SDOs have a lot of overhead – only 4 bytes contain data in a normal SDO message. In order to save this overhead the PDO was created. PDO message contains only data. There are two types of PDOs: RPDO – a PDO that G-MAS sends to the drive. TPDO – a PDO that the drive sends to G-MAS.
36. 36
PDO – Process Data Object How can the G-MAS / drive tell to which object / entry the message was sent? PDO Mapping: G-MAS sends several SDOs according to the DS301 protocol and notifies the drive in advance which PDOs it wants to send/receive and in with which method. When the drive / G-MAS receives a PDO, it knows its destination and is purpose in advance.
37. 37
PDO – Process Data Object Elmo drives and G-MAS use 4 types of PDOs: PDO1 – Used for motion control. PDO2 – Used for binary interpreter messages (sending command MO = 1 through G-MAS gateway). PDO3 / 4 – Reserved for user purposes. G-MAS provides 15 TPDO mappings and 5 RPDO mappings. G-MAS also provides a user with the ability to manually map the PDOs (to non-common objects).
38. 38
PDO – Process Data Object In profile position, G-MAS maps RPDO1 to target position and control word, by default. TPDO1 is mapped to position actual value and status word. Let’s see the sniffer log of the first command in the motor on sequence: G-MAS sends RPDO1 to Drive with ID 1: 00000201 6 A0 86 01 00 06 00 13478.020790 R Drive replies with TPDO1: 00000181 6 A0 86 01 00 31 02 13478.021510 R
39. 39
PDO – Process Data Object
G-MAS sends RPDO1 to Drive with ID 1:
00000201 6 A0 86 01 00 06 00 13478.020790 R
COB ID – 0x201 means RPDO1 directed to drive with ID 1
6 bytes of data
target position 0x 00 01 86 A0
Control word 0x 00 06
The drive knows in advance which bytes are related to the control word and which are related to target position, since the G-MAS performed PDO mapping before sending the PDO.
40. 40
PDO – Process Data Object
Drive replies with TPDO1:
00000181 6 A0 86 01 00 31 02 13478.021510 R
COB ID – 0x181 means TPDO1 sent from drive with ID 1 to G- MAS
6 bytes of data
position actual value 0x 00 01 86 A0 = 100,000
Status word 0x 02 31
41. 41
PDO – Process Data Object PDOs can be sent synchronically and asynchronically. The method is determined by the PDO mapping. RPDO might be sent from G-MAS:
•With every SYNC message.
•With every change in the object value. TPDO might be sent on Drive:
•With every SYNC message.
•With every change in the object value.
•By timer value. Additional data in the CANOpen “application layer and communication profile” document, p. 33.
42. 42
Control Word Control Word – Object 0x6040 sub-index 0. This is a very important object. G-MAS uses it to send to the commands to be executed (e.g., “set motor on”) the drive. The CW structure is:
Each bit has a role, affecting the drive behavior.
43. 43
Status Word Status Word – Object 0x6041 sub-index 0. This is another important object. The drive updates its status to this object, so that by sampling this object the G-MAS knows the drive status (e.g., is motor on?). The SW structure:
44. 44
Drive FSTM G-MAS changes the drive FSTM according to this state machine diagram: The state machine and additional data can be found at CANOpen “drives and motion control device profile” document, p. 22.
45. 45
Example – ‘Motor On’ Sequence G-MAS and the drive perform a handshake protocol for turning the motor on. In profile position, RPDO1 is mapped to Control Word and Target Position. TPDO1 is mapped to Status Word and Position Actual value. The transitions in the following example are according to the DS402 state machine described.
46. 46
Let’s see the sniffer log of a motor on sequence:
G-MAS sends RPDO1 to drive 1:
0 00000201 6 FF FF FF FF 07 00 19571.810470 R
Control word 0x 00 07 = 0000 0111
We can look at the “bits of the controlword” table
Drive 1 replies with TPDO1
0 00000181 6 FF FF FF FF 33 02 19571.809580 R
Status word 0x 02 33 = 0010 0011 0011
From looking at the “state coding” table:
This is only the DS402 state, the motor is not on yet.
Example – ‘Motor On’ Sequence
47. 47
Let’s see the sniffer log of a motor on sequence:
G-MAS sends:
0 00000201 6 FF FF FF FF 0F 00 19571.805490 R
Control word = 0x 00 0F = 1111
From looking at the table:
Drive replies with:
0 00000181 6 FF FF FF FF 37 06 19571.802550 R
Status word – 0x 06 37 = 0110 0011 0111
From looking at the table:
And now the motor is on!
Example – ‘Motor On’ Sequence
48. 48
Example – ‘MoveAbsolute’
Let’s see the sniffer log of a moveabsolute sequence in profile position:
First of all G-MAS sends SDOs to indicate the desired acceleration (0x6083), deceleration (0x6084) and velocity (0x6081) all with sub-index 0x0:
0 00000601 8 23 83 60 00 40 42 0F 00 14529.534180 R
0 00000581 8 60 83 60 00 00 00 00 00 14529.533530 R
0 00000601 8 23 84 60 00 40 42 0F 00 14529.533120 R
0 00000581 8 60 84 60 00 00 00 00 00 14529.532370 R
0 00000601 8 23 81 60 00 40 42 0F 00 14529.531980 R
0 00000581 8 60 81 60 00 00 00 00 00 14529.531530 R
All of these objects received the value of 0x 00 0F 42 40 = 1,000,000
49. 49
Example – ‘MoveAbsolute’ Now G-MAS and Drive handle a handshaking protocol: CW: SW: This chart and additional data can be found in the CANOpen “drives and motion control device profile”, document p. 43.
50. 50
Example – ‘MoveAbsolute’
G-MAS sends RPDO1 with the target position and control word:
0 00000201 6 E8 03 00 00 3F 00 14529.530460 R
COB ID – 0x201 means RPDO1 to drive 1
Target position - 0x 00 00 03 E8 = 1000
Control word – 0x 00 3F = 0011 1111 – enable operation + bit 4 set new point is raised
Drive replies with TPDO1:
0 00000181 6 FF FF FF FF 37 16 14529.529690 R
0 00000181 6 FF FF FF FF 37 12 14529.528210 R
COB ID – 0x181 means TPDO1 from drive 1
Position actual value- 0x ff ff ff ff = -1
Status word – 0x16 37 = 0001 0110 0011 0111 – operation enabled + target reached +ack
Status word – 0x12 37 = 0001 0010 0011 0111 – operation enabled + target not reached +ack
51. 51
Example – ‘MoveAbsolute’
G-MAS sends RPDO1 with the target position and control word:
0 00000201 6 E8 03 00 00 2F 00 14529.530460 R
COB ID – 0x201 means RPDO1 to drive 1
Target position - 0x 00 00 03 E8 = 1000
Control word – 0x 00 2F = 0010 1111 – enable operation + bit 4 is down, now G-MAS waits for target reached indication
Drive replies with TPDO1:
0 00000181 6 00 00 00 00 37 02 14529.529690 R
0 00000181 6 E8 03 00 00 37 06 14529.528210 R
COB ID – 0x181 means TPDO1 from drive 1
Position actual value- in the first TPDO it’s 0 (next value after 0xff ff ff ff = -1) in the second it’s 1000
Status word – 0x02 37 = 0000 0010 0011 0111 – operation enabled + target not reached
Status word – 0x06 37 = 0000 0110 0011 0111 – operation enabled + target reached – motion ended