Может быть выполнить работу с Com-портом не в ФБ, а в отдельной PRG с собственным циклом? Проще отслеживать будет.
Может быть выполнить работу с Com-портом не в ФБ, а в отдельной PRG с собственным циклом? Проще отслеживать будет.
Как здесь (пост № 154 http://www.owen.ru/forum/showthread....ght=modbus.lib) ???????
Тогда вопрос как все правильно разнести если у меня 54 модуля МДВВ, примерно по 27 на каждый из портов RS485 контроллера ПЛК 110-220.60
Последний раз редактировалось a_gricaj; 17.09.2016 в 23:27.
Мне кажется, разнести в любом случае. Во-первых: сократится периодичность опроса каждого модуля по отдельности, а во-вторых: если я не ошибаюсь, то советуют использовать репитеры после каждых 32 приборов на RS-485.
Ну репитер думаю мне не нужен, так как все модули будут рядышком возле контроллера по 27 шт на каждый из двух портов контроллера, а вот как разнести правильно программно опрос: например если брать 27 модулей на одном порту, это получается 27 слов - чтение входов и 27 байт - запись выходов, которые кстати не получается еще и записать.
Может правильно разнести так:
1 функциональный блок инициализация порта RS485-1;
2 функциональный блок инициализация порта RS485-2;
3 функциональный блок чтение модулей на порте RS485-1 - 27 слов;
4 функциональный блок чтение модулей на порте RS485-2 - 27 слов;
5 функциональный блок запись в модули на порте RS485-1 - 27 байт;
6 функциональный блок запись в модули на порте RS485-2 - 27 байт;
а есть же еще два порта RS232, на них же тоже можно наверное вешать преобразователь RS232<=>RS485 и тоже опрашивать модули???
Как тут поступить????????????????????????????????????????
Был проект на ПЛК-110.60, где использовались модули МВ110-32ДН, МУ110-8Р и МВ110-8АС, общим количеством 13 штук. Все на одном порту RS-485. Опрос организовал через конфигуратор. Работает нормально, но там было не критично время задержки. Примерно раз в секунду данные обновляются. Здесь же все модули дискретные, поэтому всё зависит от поставленной задачи, а так, скорость обмена будет нормальной.
64 регистра в общем вышло.
И да, запись производится тоже словами, а не байтами, там просто в одном байте управление, а второй всегда нулю равен.
Последний раз редактировалось KSergey; 18.09.2016 в 00:15.
Вас почему всех так тянет спросить способ совершить невозможное? Пять импульсов в секунду это минимум потребуется сделать 10 запросов в секунду,а это 100мс из них на запрос уходит примерно 20мс, так возможно опросить всего пять модулей, ну даже пускай десять,этого все равно не достаточно
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
Сеть собирал не я - мне нужно переделать после другого программиста, а она собрана повторюсь 54 шт мдвв. Мне нужно "вытянуть" максимум по просу. Ну может 5 секунд я и загнул конечно. Вот и спрашиваю совет, как правильно все организовать.,
Подскажите пожалуйста как правильно записать байт в 50 регистр МДВВ (см. посты выше).
Последний раз редактировалось a_gricaj; 18.09.2016 в 10:29.
Счетчиков потребуется примерно пол сотни, а это дополнительная нагрузка на обмен, все таки дополнительно читать еще 50 регистров, придется жертвовать точностью в сторону скорости.
Я уже реализовал подобный объект, правда управление без контроллера с МастерСкада и модулей 23 шт. и не МДВВ, а МВ. Счетчики не использовал - то в принцпе устраивает, да импульсы иногда пропускает - но не критично.
Так себе думаю, получается все 54 модуля нужно разделить на 4 порта ( RS-485-1, RS-485-2, RS-232+преобразователь, DebugRS-232+преобразователь) - итого 13 модулей на порт - 13 слов - входа, и 13 байт - выходов. Все это дело опрашивать с помощью библиотеки Modbus.lib, так как http://www.owen.ru/forum/showthread....ght=modbus.lib и с конфигуратором похоже лучше не связываться.
Осталось разобраться с modbus.lib. В тойже теме пост № 149 человек написал: "А затем выясняется: что для N количества модулей необходимо вынести открытие порта в одну задачу, обращение к N устройствам еще в несколько, а обработку полученных данных в другую задачу."
Вот у меня отсюда и вопрос - как же тогда правильно программно организовать опрос.????
Кто нибуть вообще пол сотни МДВВ опрашивал?????
Последний раз редактировалось a_gricaj; 18.09.2016 в 12:11.