1887

пятница, моё

То чувство, когда написал многопоточную dll с асинхронными callback'ами, взаимодействующую с платой по udp, совместимую с любым языком программирования...
...и хрен кто оценит
Вы смотрите срез комментариев. Показать все
3
Автор поста оценил этот комментарий
А гарантированная доставка как реализована?
раскрыть ветку (34)
11
Автор поста оценил этот комментарий
Гарантированная доставка по udp?
раскрыть ветку (9)
2
Автор поста оценил этот комментарий
именно. Ненадёжный он, но простой
0
Автор поста оценил этот комментарий
Учитывая, что у него еще и callback'и АСИНХРОННЫЕ (по определению любой callback асинхронен) Да еще и dll совместима с любым приложением, которое способно использовать dll (вот это паварот !) - а нахрен dll вообще нужны ?
раскрыть ветку (6)
0
Автор поста оценил этот комментарий
там написано про ЯП. Может автор имел ввиду разные правила вызова и передачи параметров в разных языках?
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Различие в _правилах_ (имелось ввиду в синтаксисе ?) при вызовах и передаче параметров может отличаться исключительно синтаксически для разных языков.
Фактически же это происходит всегда и везде абсолютно одинаково: через стек.
0
Автор поста оценил этот комментарий
> по определению любой callback асинхронен
Мм, что?
раскрыть ветку (3)
1
Автор поста оценил этот комментарий
Но разумеется в данном случае речь идет об априорной асинхронности конкретно callback механизма WINAPI.
Глобально, callback разумеется может быть и синхронным.
раскрыть ветку (1)
1
Автор поста оценил этот комментарий
Только сейчас понял, что используется Builder, а соответственно WinAPI. Тут, разумеется, асинхронно.
0
Автор поста оценил этот комментарий
Ну а как он может быть синхронен событию (или уж на то пошло - так вообще чему угодно), если выполняется на уровне приложения, в его адресном пространстве?
После аппаратного события-инициатора отрабатывает ядро, дрйвер устройства, MM, диспетчер сообщений, а уж потом, да и то если нет задач поважнее доходит до передачи управления приложению, и хорошо, если рассылка сообщений уже прошла и callback обработан.
0
Автор поста оценил этот комментарий
Потому и спрашиваю. Интересно, как человек вопрос решил.
2
Автор поста оценил этот комментарий
пока никак, не задумывался об этом. Если останется время, или начальство потребует, буду в начало каждого пакета его номер пихать, например...
Сейчас перед отправкой каждого запроса идёт проверка подключения к плате - отсылается пакет, если приходит такой-то ответ, то всё хорошо, едем дальше, если приходит другой пакет, всё плохо, если не пришло вообще ничего, ждем 300 мсек, пробуем ещё пару раз, если ничего не пришло - плата не подключена
раскрыть ветку (23)
3
Автор поста оценил этот комментарий
Имеется в виду что для "гарантированности" надо использовать TCP)
RTFM OSI.
раскрыть ветку (12)
1
Автор поста оценил этот комментарий
его ебануться реализовывать) особенно на контроллере
раскрыть ветку (11)
1
Автор поста оценил этот комментарий
Ебануться реализовывать - это гарантированную доставку на 485м. А на UDP это не так сложно, и путей много. Подумал, может тебе что еще в голову интересное пришло.
раскрыть ветку (10)
1
Автор поста оценил этот комментарий
Чего это вдруг? Никогда не задумывался, но всегда любил 485й за его простоту.
Та же самая реализация modbus, с проверкой CRC (16), и определенным кол-вом попыток запроса.
Быть может в сравнении с TCP, где в библиотеках уже все заложено, работать с 485м сложнее.
За три года работы, кстати только два раза сталкивался с косяками сетей 485, когда необходим был на линии репитер, и не более. Пакеты не терял :-)
раскрыть ветку (9)
0
Автор поста оценил этот комментарий
Он у тебя был линком или шиной?
раскрыть ветку (8)
0
Автор поста оценил этот комментарий
Немного не понял вашей терминологии.
На данный момент работаю с 8-ю изолированными 485-ми сетями, в каждой сидит мастер. Помимо мастера, на линии по ~200 slave устройств. В определенных узлах стоят репитеры (адамы, icp-con и подобные). По всей видимости - это шина.
А что значит - линком?
Кстати, да, а почему автор не юзанул 485, гораздо же проще? Одну микруху max485csa на плату, и один RS-485 <-> USB на компутор. По мне, брать байты с COM намного проще, нежели с сокетами возиться. Открыл порт - да бери :-)
раскрыть ветку (7)
1
Автор поста оценил этот комментарий
Простая терминология, и все правильно вы поняли :)
У нас в подобной сети с реализацией реального времени некоторые проблемы-таки есть. Устройства очень разные висят, где-то пакеты доходят до 5-6кб - непросто их тоже обеспечить, не подвешивая сработки с остальных. Усложняется как раз таки работой на более нижнем уровне - протоколы у устройств разные, и требования у них соответственно. Все это вкупе обеспечивает головную боль большому количеству кодеров разных уровней стабильно :)
Ну и фантомы от меди, лежащей в куче, существенно увеличивает количество ошибок.
0
Автор поста оценил этот комментарий
согласен, проще) но заказчик захотел ethernet
раскрыть ветку (5)
1
Автор поста оценил этот комментарий
Странно, это как раз таки.
Эзернет можно юзать кому не лень, посылая на микрушку лишнее гамно, в отличии от монополизированного RS232 / 485.
Да и дальность, всего 100 метров, в отличии от 1200 для 485го.
А вы под ARM пишете, я так понимаю?
раскрыть ветку (4)
0
Автор поста оценил этот комментарий
да, cortex m4. Устройство находится в метре от пк, и в сети кроме устройства и пк никого нет, так что всё спокойно
раскрыть ветку (3)
1
Автор поста оценил этот комментарий
уууу.... так это не взаимодействие, это слив. На серьезных объектах за такую реализацию обмена руки отрывают. И не имеет никакого значения, насколько быстро и правильно работает логика. Нет гарантированного обмена - всему твоему коду цена ноль.
раскрыть ветку (9)
0
Автор поста оценил этот комментарий
если останется время - сделаю гарантированную доставку. Проект через месяц сдавать. У нас в одной локальной сети будут находиться только компьютер и плата, и на 4-м Кортексе tcp поднимать всё-таки неохота...
раскрыть ветку (8)
1
Автор поста оценил этот комментарий
Причем тут TCP? Хотел UDP - юзай UDP, просто запили гарантированную доставку.
раскрыть ветку (7)
2
Автор поста оценил этот комментарий
Проект явно студенческий, и если нету требований по безопасности/надежности, зачем оно надо ?..
Что вы подразумеваете под гарантированной доставкой?

На серьезных объектах предъявляют требования не только по надежности, но и по безопасности, что подразумевает сертификацию не только ПО но и средств передачи данных.Серьезные объекты не работают на Windows, там используются системы реального времени на которых реализовать и доказать безопасность обмена на UDP/TCP .... Нет возможности в общем.
Там везде применяется резервирование (питание/управляющие устройства итд итп), а ПО/процесс разработки проверяется на соответствия стандартам.

И там не используется C++/интерпретируемые языки. Только Си/Асм.

Разной задаче - разный инструмент.

Автору добра и удачи !
раскрыть ветку (5)
1
Автор поста оценил этот комментарий
Спасибо!
Да, студенческий, я второй курс закончил :)
Требований нет, начальство одобряет.
И тебе добра и удачи)
1
Автор поста оценил этот комментарий
Ты обкурился? Все бумажные требования закрываются спец. проверкой. Винда стоит на каждом втором промышленном компе и на каждом втором федеральном объекте особой важности, embedded будет жить вечно. Резервирование и прочая хрень вообще не имеют отношения к функциональности кода. А вот этот самый функционал начинается с гарантированности доставки информации, и уже заканчивается удобством и скоростью. Я тебе это говорю как инженер, седьмой год работающий на охранку федеральных объектов особой важности.
раскрыть ветку (3)
1
Автор поста оценил этот комментарий
Стоять на промышленном компе она может, в зависимости от требований которые к нему предъявлены. (если это небезопасное устройство - пожалуйста. Были случаи что на них в кваку играли. Если доказательство безопасности строилось с учетом отсутствия безопасности этого устройства - пожалуйста. )
Вы пишите о надежности, я о безопасности.
Я не представляю как дела обстоят в охранке объектов особой важности, видимо к ним такие требования не предъявляются.
К системам ж/д автоматики и авионики такие требования предъявляются. Там составляется доказательство безопасности, код/этапы проектирования сертифицируются по стандартам отросли.
Когда я обкуриваюсь я не думаю о работе. Очень рад за ваш 7-ми летний стаж.
раскрыть ветку (2)
0
Автор поста оценил этот комментарий
Не знаю какие там у вас стандарты и в какую сторону отросли, но видимо хреновые, если у вас в кваку рубятся. У нас ставятся СЗИ, и даже антивирус не нужен.
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Отраслевой стандарт - EN 50126. Можете почитать, если вам интересно.
Случай с квакой это косяк не наш, и этот вопрос там уже решили. Да и всякое бывает в условиях эксплуатации.
СЗИ это да.

Я вообще изначально не мерился... А хотел как то высказать, что если в ТЗ не описаны какие то требования к надежности, то попытки её обеспечения это лишний функционал.Пустая трата денег.
Тем более что обеспечить её одной пересылкой оповещений - ересь.
Ладно .... В интернете всегда кто то не прав, и пытаться вступать в холи вары на полу-пустом месте....
0
Автор поста оценил этот комментарий
со временем)
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества