-
- Кто может сказать, как устроен режим зеркалирования (или
стекирования, как тут было уточнено) у промышленных контроллеров по
сети между различными периферийными модулями и самим контроллером? - Make_Pic(05.02.2024 16:28)
- По modbus (или другой) вычитывается состояние slave, с достаточной для конкретной системы управления частотой. - Cкpипaч(05.02.2024 16:41)
- Мультикасты не пробовали? - Eddy_Em(30.01.2024 09:55)
- +1. UDP с подтверждением. Я так фирмварь прошиваю сразу в группах
контроллеров. - Гyдвин(30.01.2024 10:10)
- LwIP? - Make_Pic(05.02.2024 16:29)
- Как бы это не выглядело смешно, но вот это. Минимум ресурсов при вполне устраивающей функциональности... Ибо у меня оно начиналось больше 15 лет назад с Atmega328 и до сих пор много где работает. Сопровождение'c... Работает, кстати, и в ARM, и в RISСV без проблем. Только сильно шустрее :) Гyдвин(1 знак., 05.02.2024 17:09, ссылка)
- LwIP? - Make_Pic(05.02.2024 16:29)
- +1. UDP с подтверждением. Я так фирмварь прошиваю сразу в группах
контроллеров. - Гyдвин(30.01.2024 10:10)
- EtherCAT, PDO объекты синхронизированы с частотой цикла, обычно
около 2кГц - dxWAk(29.01.2024 22:51)
- Весь EtherCAT не надо , есть описанные протоколы попроще? Хотелось
алгоритм прикинуть. - Make_Pic(30.01.2024 05:25)
- Алгоритм прикидывается в табличке. Реализовал такое по
последовательному интерфейсу. Идёт обмен кадрами между МК. Размеры
кадров фиксированы. Кадры поделены на управляющую часть, данные
реального времени и пакетную часть для данных, не критичных ко
времени. Nikolay_Po(1645 знак., 30.01.2024 09:13)
- ...Возможна ситуация, когда обе стороны поднимут свои запросы на
один и тот же тип данных. В таком случае, чтобы не зависнуть без
подтверждений, одна из сторон либо всегда принимает и подтверждает
запросы безусловно, либо всегда подтверждает, даже отказавшись
принять. В зависимости от того, какое направление передачи данных
этого типа приоритетное (приоритеты нужно расставить). ... Make_Pic(95 знак., 30.01.2024 11:49)
- Явно заданных значений приоритетов нет, приоритет данных задаётся в исполняемом коде. Например, сторона, чьи данные считаются приоритетными, поднимает запрос на обновление своих изменений и не снимает его до тех пор, пока другая сторона не подтвердит обновление. А если наоборот, менее приоритетная сторона запросила обновление в момени, когда своё обновление запрашивает главный МК, то главный просто шлёт подтверждение ведомому, игнорируя его изменения, до тех пор, пока ведомый Nikolay_Po(71 знак., 30.01.2024 15:23)
- ...Возможна ситуация, когда обе стороны поднимут свои запросы на
один и тот же тип данных. В таком случае, чтобы не зависнуть без
подтверждений, одна из сторон либо всегда принимает и подтверждает
запросы безусловно, либо всегда подтверждает, даже отказавшись
принять. В зависимости от того, какое направление передачи данных
этого типа приоритетное (приоритеты нужно расставить). ... Make_Pic(95 знак., 30.01.2024 11:49)
- Вдогонку - Постоянно читать массивы и полностью их передавать не
надо. Передача происходит только изменения элементов массива.
Вопрос как синхронизировать и отслеживать изменения. Предположил,
что существует проверенный протокол/алгоритм для этого. Возможно
ошибаюсь. - Make_Pic(30.01.2024 07:10)
- Чтобы не париться с первоначальной синхронизацией, которая всё равно потребует полной передачи данных, мой протокол передаёт полный объём данных всегда. Но благодаря делению данных на реальное время и прочие, нет проблем со скоростью обмена. - Nikolay_Po(30.01.2024 09:18)
- например так LordN(213 знак., 30.01.2024 07:33)
- Алгоритм прикидывается в табличке. Реализовал такое по
последовательному интерфейсу. Идёт обмен кадрами между МК. Размеры
кадров фиксированы. Кадры поделены на управляющую часть, данные
реального времени и пакетную часть для данных, не критичных ко
времени. Nikolay_Po(1645 знак., 30.01.2024 09:13)
- Весь EtherCAT не надо , есть описанные протоколы попроще? Хотелось
алгоритм прикинуть. - Make_Pic(30.01.2024 05:25)
- мы такое делали, но не по езернету, а по sport'у. - Alex68(29.01.2024 22:09)
- Можете примерно рассказать как это обеспечивалось? - Make_Pic(30.01.2024 05:25)
- главный dsp по таймеру или по приходу данных из внешего мира кидал
длинный блок данных из своей памяти по последовательному каналу
sport всем подчиненным dsp используя dma, там данные принимались
также посредством dma в память, после чего каждый dsp смотрел в
данные - это ему или нет. - Alex68(30.01.2024 16:19)
- Какая скорость передачи была? - Make_Pic(05.02.2024 15:07)
- примерно 50 мегагерц была тактовая, или выше- уже не помню. физически шина была lvds - Alex68(05.02.2024 15:19)
- Какая скорость передачи была? - Make_Pic(05.02.2024 15:07)
- ? - Make_Pic(30.01.2024 14:57)
- главный dsp по таймеру или по приходу данных из внешего мира кидал
длинный блок данных из своей памяти по последовательному каналу
sport всем подчиненным dsp используя dma, там данные принимались
также посредством dma в память, после чего каждый dsp смотрел в
данные - это ему или нет. - Alex68(30.01.2024 16:19)
- Можете примерно рассказать как это обеспечивалось? - Make_Pic(30.01.2024 05:25)
- Ну, у серьезного оборудования это называется стекирование. А зачем
бы это потребовалось на МК - не знаю )) - POV(29.01.2024 21:58)
- Дык вот понадобилось. Как попроще сделать прикидываю - Make_Pic(30.01.2024 05:26)
- Кто может сказать, как устроен режим зеркалирования (или
стекирования, как тут было уточнено) у промышленных контроллеров по
сети между различными периферийными модулями и самим контроллером? - Make_Pic(05.02.2024 16:28)