Что корифеи скажут? Нет ли в моей теории явных ляпов?
Что корифеи скажут? Нет ли в моей теории явных ляпов?
И еще сразу вопрос. По моим представлениям конфигуратор реализует некоторую последовательность опроса и в сущности выполняется в некоторой отдельной системной задаче. В общем опрос с конфигуратором выглядит как вариант №2. Так почему его ругают при большом количестве модулей?
Теория и практика иногда сталкиваются. Когда это случается, теория проигрывает. Всегда. (Закон Линуса)
Прям такой-эдакий "недоляп" вы только планируете работать и , как я понял , только структуру продумываете , а как у вас с кодом дела обстоят ?
1.Можно и без ПЛК начать тренироваться , только я вас заранее огорчу работать код будет не так как вы рассчитываете , а ... как есть , с некоторыми "нюансами".
2. При всем уважении к товарищам библиотечникам скажу так десятки проектов работают ч-з конфигуратор с количеством модулей 4...12 . Самый первый проект ч-з конфигуратор ПЛК100 работает по модбасу с 12ю частотниками (485й) и 8 модулей на DCON (232-АС3м) . Плюс слэйв , плюс сетевые переменные (UDP) .
3. Чисто для прикола сделал опрос 4 Z-SG (по 1му реалу) и МДВВ на базе дельты (1 DWORD - маска входов , 1 DWORD - маска выходов) ч-з сислибком (Овен Модбас либ мне не нравится ) и Что ???? Скорость ни капельки не увеличилась по сравнению с конфигуратором !!!
4. Конфигуратор работает НОРМАЛЬНО ! Просто как начудят , как наконфигурируют (мы конфигурировали-конфигурировали да невыконфигурировали) , что просто ... короче афтар жжот .
5. Теоретизировать по поводу кода опроса это как секс по книжкам изучать , лучше собственно и лично на практике ... пробовать .
6. Длительность выполнения программы в 50мс !!! Это что ? Программа управления космическим шаттлом ? Тогда модулей маловато ! Откуда вы берете эти дикие миллисекунды ?
7. Вообще "Если можешь что-то делать - бери и делай!" .
в конфигураторе определенно или не чистится буффер, или не проверяется соответствие отвечающего ведомого требуемому, что при малых таймаутах (настройка ожидания ответа меньше 100мс) приводило к сказочным результатам при управлении ПЧ и модулями мдвв. Возможно связано с тем, что ответ для ведомого с адресом 2 приходил с опозданием от ведомого 1. хотелось бы увидеть исходный код, отвечающий за работу конфигуратора. Думаю, много кто желает понять причину непредсказуемого поведения конфигуратора и знать наверняка, как обходить его подводные камни.
Последний раз редактировалось spectrum48k; 23.08.2015 в 15:35.
Набрал статистику скорости опроса по сети Modbus.
Мастером выступал ПЛК110. В качестве слейва выступал S7-1214 (он имитировал работу МВ110-8АС).
Опрос проводился с использованием библиотеки modbus.lib. Реализацию опроса прикрепляю (см. проект).
Мастер и слейв соединены проводом длиной 30 см.
Реальное время опроса оказалось значительно больше рассчитанного теоретически. Так для опроса 16 байт данных на скорости 115200 бод затрачивается 8мс, в то время как расчет дает значение в 1,9 мс (см. пост №20). С другой стороны если оценить разницу времени опроса 32 и 16 байт, 48 и 32 байт, то она как раз составляет 2 мс.
Последний раз редактировалось Спорягин Кирилл; 04.09.2015 в 14:11.
Для скорости 115 Кбод были получены данные для опроса 64, 80 и 96 байт.
64 байт = 14 мс;
80 байт = 16 мс;
96 байт = 18 мс.
Следовательно, опрос 16 байт, действительно, занимает примерно 1,9 мс. Т.е. практические данные сходятся с рассчитанными теоретически. Единственно, что теоретический расчет не учитывает некоторую постоянную составляющую.
А вот почему она такая большая - для скорости 115 Кбод примерно 6 мс - и почему разная для разных скоростей, мне пока не понятно.
Во всех экспериментах параметр MinCycleLength был установлен в 0.
Я думаю, что он тут не при чем.
я не вникал в проект.. а могу чисто интереса ради попросить установить MinCycleLength 10 ? Ну, просто очень любопытно...