У вас, кстати, написано, что приложение управляющее, а сама управляющая задача в списке не представлена.
Вы имеете ввиду задачу «Управлять релейным выходом»? Если да, то посмотрите, пожалуйста, раздел «Работа с дискретными входами», там написано про работу с релейным выходом.
Да, все верно, нигде не написано, что приложение должно работать в реальном времени. В данном случае ОСРВ использовалась в большей степени для организации архитектуры приложения, которое требует IMHO многозадачности. Если у вас есть информация об ОС для МК, которая позволяет решать вопросы синхронизации, работы с приоритетами задач, предоставлять возможность использования мьютексов, семафоров, очередей, и обеспечивать быструю работу с динамической памятью, но при этом не будет иметь приставки «Реального времени» поделитесь, пожалуйста, ибо я такой не знаю)))
Лично для меня, в данный момент, тема «использовать или нет RTOS» относится больше к вопросу удобства, которое я получу в итоге. Если решить задачу можно без RTOS и это будет приемлемо по срокам, сложности, требованиям по масштабируемости и времени реакции, то выбор будет в пользу этого решения.
Написать код без RTOS, который бы учитывал приоритетность задач, синхронизировал доступ к ресурсам и т.п. можно, но это требует большего профессионализма, нежели, чем использование возможностей, предоставляемых RTOS. Конечно – это не причина, чтобы останавливаться в развитии! Но на определенном этапе может быть вынужденной необходимостью. Вряд ли с первого раза получится сделать «хорошо» без соответствующего опыта.
По части ресурсов, насколько я понимаю, та же FreeRTOS не сильно прожорливая, планировщик, если верить статьям занимает порядка 250 байт в ОЗУ, задача — 64 байта плюс ее стэк. К тому же, мы получаем дополнительные плюшки, опять-таки, если верить интернет источникам (сам не проверял), например, работа с динамическим выделением памяти (malloc, free и т.п.): для ряда МК может вообще отсутствовать, либо быть очень громоздкой, в FreeRTOS есть функции (pvPortMalloc(),vPortFree()), которые позволяют это делать эффективно (но, как уже сказал выше, не тестировал этот момент).
Пара моментов:
— в примере, для синхронизации доступа используется мьютекс из FreeRTOS;
— функция чтения тоже должна использовать тот же мьютекс;
— работу с данными можно сделать более оптимально, если это критично.
Открывает «Дизайнер» форм. Здесь можно разместить простой текст, bargraph, trend, данные из Modbus регистров и т.д.
Список возможных элементов конечно очень скудный, с нормальной SCADA не сравнить, но поиграть можно. Лично мое мнение, для нормальной работы пока не годится.
Я когда увидела название надеялась на какое-то откровение, интересное решение по отладке modbus.
Наверное просто ваш уровень уже настолько высок, что материал статьи для вас просто не интересен и скучен. Те, у кого таких знаний не достаточно, смогут найти, что-то полезное для себя. Modbus довольно прост и узкоспециализирован, и я пока не вижу темы, которая содержала бы «откровения», кроме как вопросы непосредственной реализации протокола своими силами. Но это уже за рамками тематики статьи.
А в итоге статья о том, что есть переходники из 485 и терминалки.
Ммм… название «Программное обеспечение для тестирования и наладки устройств и сетей на базе MODBUS» и предполагает обзор «терминалок» и прочего ПО предназначенного работы с Modbus, с остановкой на определенных моментах, которые важны в при решении конкретных задач. Не вижу противоречия.
К сожалению, в современных реалиях на производстве (особенно на шахтах и рудниках) весь верхний уровень — это Windows. А наладку, тестирование и диагностику, зачастую, приходится вести именно «сверху», поэтому приходится использовать софт под эту платформу.
Он упомянут:
"… В таком случае вам пригодится сниффер для последовательного порта, желательно, с поддержкой протокола Modbus. В качестве примера можно привести Free Serial Analyzer, COM Port Toolkit… "
Вы имеете ввиду задачу «Управлять релейным выходом»? Если да, то посмотрите, пожалуйста, раздел «Работа с дискретными входами», там написано про работу с релейным выходом.
Написать код без RTOS, который бы учитывал приоритетность задач, синхронизировал доступ к ресурсам и т.п. можно, но это требует большего профессионализма, нежели, чем использование возможностей, предоставляемых RTOS. Конечно – это не причина, чтобы останавливаться в развитии! Но на определенном этапе может быть вынужденной необходимостью. Вряд ли с первого раза получится сделать «хорошо» без соответствующего опыта.
По части ресурсов, насколько я понимаю, та же FreeRTOS не сильно прожорливая, планировщик, если верить статьям занимает порядка 250 байт в ОЗУ, задача — 64 байта плюс ее стэк. К тому же, мы получаем дополнительные плюшки, опять-таки, если верить интернет источникам (сам не проверял), например, работа с динамическим выделением памяти (malloc, free и т.п.): для ряда МК может вообще отсутствовать, либо быть очень громоздкой, в FreeRTOS есть функции (pvPortMalloc(),vPortFree()), которые позволяют это делать эффективно (но, как уже сказал выше, не тестировал этот момент).
Cоздаем массив, например такой:
Но работаем с ним только через функции, например так:
Пара моментов:
— в примере, для синхронизации доступа используется мьютекс из FreeRTOS;
— функция чтения тоже должна использовать тот же мьютекс;
— работу с данными можно сделать более оптимально, если это критично.
Открывает «Дизайнер» форм. Здесь можно разместить простой текст, bargraph, trend, данные из Modbus регистров и т.д.
Список возможных элементов конечно очень скудный, с нормальной SCADA не сравнить, но поиграть можно. Лично мое мнение, для нормальной работы пока не годится.
Наверное просто ваш уровень уже настолько высок, что материал статьи для вас просто не интересен и скучен. Те, у кого таких знаний не достаточно, смогут найти, что-то полезное для себя. Modbus довольно прост и узкоспециализирован, и я пока не вижу темы, которая содержала бы «откровения», кроме как вопросы непосредственной реализации протокола своими силами. Но это уже за рамками тематики статьи.
Ммм… название «Программное обеспечение для тестирования и наладки устройств и сетей на базе MODBUS» и предполагает обзор «терминалок» и прочего ПО предназначенного работы с Modbus, с остановкой на определенных моментах, которые важны в при решении конкретных задач. Не вижу противоречия.
"… В таком случае вам пригодится сниффер для последовательного порта, желательно, с поддержкой протокола Modbus. В качестве примера можно привести Free Serial Analyzer, COM Port Toolkit… "
Опечатки здесь нет, пояснение дал A1ien чуть выше!