Для синхронізації процесів по часу, в CANOpen
використовується Об’єкт Time Stamp. Даний Об’єкт є 6-байтною послідовністю, яка показує абсолютний час в мілісекундах
після опівночі, та кількість днів після 1-го січня 1984 року.. Для більш
критичних по часу синхронізацій (порядку мікросекунд) використовується високоякісний time-stamp який
кодується 32-бітною послідовністю, що показує кількість мікросекунд. Лічильник
мікросекунд таким чином повинен рестартувати кожні 72 хвилини. Даний сервіс
функціонує за моделлю Producer-Consumer 9.4.5. Об’єкт Emergency
Повідомлення Emergency передається при виникненні
фатальної помилки на пристрої і має високий пріоритет. Воно відправляється кожен раз при виникненні нової
помилки. Коди помилок визначаються за допомогою комунікаційного профілю
пристрою. Emergency Object є опціональним. Якщо він
підтримується, то повинні підтримуватись як мінімум два коди помилок 00xx (помилок немає) і 11xx(генерація помилки). Вміщує 8
байт даних і підтвердження передачі. Даний сервіс функціонує за моделлю Producer-Consumer.
9.4.6. Діагностичні
сервіси NodeGuard та Heartbeat
9.4.6.1. Node Guarding. Для слідкування за працездатністю вузлів в мережі, тобто за регулярною
передачею ними PDO, NMT Master може
вести базу даних стану NMT-Ведених. Цей процес називається Node Guarding (Охорона
Вузлів). Для цього NMT-Ведучий регулярно полінгує NMT-Ведених (рис. 9.49). Для виявлення відсутності NMT-Ведучого, NMT-Ведені в свою чергу перевіряють, чи проводився на
певному інтервалі полінг (Life Guarding) Node Guarding активний
також і в режимі стоп Регулярно NMT Master відправляє Дистанційні Кадри і перевіряє дані в відповіді з записом в базі даних. Якщо вони відрізняються - це відображається в прикладній програмі NMT-Ведучого через Network Event Service
9.4.6.2. Heartbeat. Протокол Heartbeat (серцебиття) є опціональним і
являється рекомендованою альтернативою Node Guarding. З певною циклічністю Heartbeat Producer відправляє Heartbeat-повідомлення з частотою,
визначеною Heartbeat Producer Time Object (рис. 9.51). Один, або більше Heartbeat Consumer можуть його отримати. Якщо Heartbeat Consumer не отримає за певний час цей
об’єкт – буде згенероване повідомлення Heartbeat Event. Даний сервіс функціонує за
моделлю Producer-Consumer.
|
Сети > CANopen(укр) >