PDA

Просмотр полной версии : Шаблоны модулей МХ110 для CODESYS 3.5



Александр Приходько
16.11.2014, 03:27
Внимание!
Тема закрыта. ПО не рекомендуется к использованию.
Вместо данного ПО используйте драйверы модулей Mx110: http://www.owen.ru/forum/showthread.php?t=21365



Здравствуйте, коллеги.

Нами начата разработка под кодовым названием - Шаблоны модулей МХ110.
Данная разработка представляет собой программную надстройку для среды CODESYS 3.5 SP5.
Данная настройка будет в себя включать уже настроенные модули МХ110 и набор функциональных блоков для работы с этими блоками.
Под словом настроенные имеется ввиду, что за пользователя уже прописаны все наиболее часто используемые параметры.
Остается лиши выбрать какие из этих параметров опрашивать и привязать к ним переменные.


Проект находится на начальной стадии разработки.
Прошу остро не реагировать, но все ваши пожелания и рекомендации очень помогут нам для создания законченного и удобного инструмента.


Третья публичная версия: 15608

Данный процесс продемонстрирован в видео примерах ниже.
После данных операций настройки Ваших модулей будут полностью сбрасываться.[/B][/COLOR]


1. Данное ПО предназначено для среды CODESYS 3.5 SP4/SP5.
Настоятельно рекомендуем использовать CODESYS 3.5 SP5 и активировать опцию AutoReconnect!

2. Для установки этого компонента в ОС Windows 7/8/8.1 необходимо запустить CODESYS от имени администратора.
Войти в меню Инструменты->Менеджер пакетов. В открывшемся меню нажать кнопку установить.
Выбрать каталок в котором расположен инсталлятор, и установить.
После установки CODESYS необходимо полностью закрыть и запустить заново.

3. Для обновления этого компонента на более новую версию рекомендуется запустить CODESYS.
Войти в меню Инструменты-> Менеджер пакетов. В открывшемся меню удалить предыдущую версию.
Закрыть CODESYS. Выполнить установку компонента, согласно инструкции, в п.1.

Активация функции AutoReconnect:

http://www.youtube.com/watch?v=Wg0dgFLjlkg

Установка шаблонов MX110:

http://www.youtube.com/watch?v=iKQEljddVyw

Методика использования шаблонов МХ110:

http://www.youtube.com/watch?v=Vm6WU5JgQRg



1. Реализованы оставшиеся шаблоны:

<tbody>
МК110-4К.4Р


МК110-4ДН.4Р


МК110-4ДН.4ТР


МК110-8Д(ДН).4Р


МВ110-1ВИ1


МВ110-1ВИ2


МВ110-1ТД


МВ110-4ТД


МВ110-pH

</tbody>
Теперь данное ПО поддерживает всю линейку.
2. Добавлены иконки модулей
3. Библиотека MX110_Assistant теперь добавляется в явном виде. Это необходимо для того чтобы по нажатию F2 были доступны модули библиотеки.



1. Изменен подход к ведению версионности. Теперь все наши модули будут иметь версию как Modbus Slave, наша внутренняя версионность перенесена в поле "Номер модели".
2. Названия модулей переделаны в стиле:

<tbody>
MV110-8А


MV110-8АS


MV110-16D


MК110-8D.4R


MU110-8I


MU110-6U


MU110-8R


MU110-8K


MU110-16R


MU110-16K

</tbody>
3. В модули 8АС и 2АС добавлен опрос параметра DP – положение точки.
4. В модуле 8АС в параметре C_TIME_2 исправлен параметр времени (1996844369 мс) на 100мс.
5. Добавлены TextList’ы с кодами ошибок для 8а/2а и 8ас/2ас.
6. Объединены в библиотеке блоки расшифровывающие ошибки для модулей 8А/2а и 8АС/2АС, чтобы не дублировались.
7. В библиотеке Mx110Assistant функциональный блок ARRAY_TO_REAL переименован в MV110_Get_Real.
8. В модули 8/16/32Р запись маски будет производиться не по триггеру, а циклически.



1. Переменные формата с плавающей точкой будут выводиться как переменная REAL, а не как 2 регистра WORD.
2. Пользовательская документация



Библиотека:
15609
Перечень устройств:
15610
Пример реализации в CODESYS:
15611

kukla100
16.11.2014, 14:22
Так я и не понял, что такое Rising Edge. Как им пользоваться?

Александр Приходько
17.11.2014, 01:02
Это означает - что это триггерная переменная. Запись произойдет тогда, когда флаг этой переменной активирован.
Если это не надо, можно переключить в обычный циклический обмен.

Александр Приходько
17.11.2014, 01:43
Александр, спасибо!

Слегка повозился с СПК107, пока не скачал Ваш документ по адаптации от версии 3 к версии 3,5.
Там Вы все толково разъяснили, а если еще и шаблоны сделали, могу только радоваться.

Вопросы у меня по производительности СПК107:
Какой объем переменных и алгоритмов он потянет?
Какой спектр их обычных применений?
Какой практический предел переменных ввода-вывода, которые можно затянуть в него?
С каким контроллером из существующих можно сравнить СПК107?


Шаблоны еще не сделали, это первая предварительная версия. Там есть еще над чем работать, чотелось бы получить обратную связь от клиентов.
Остальные вопросы не в рамках темы.

Ограничений по алгоритмам нет.
Вы ограничены камнем в 400МГ и размерами ОЗУ на СПК107.
Предел по переменным ввода-выода, смотря что вы имеете ввиду.
Если речь именно о Модбасе, то в совокупности около 600 регистров.
Но мы ведем разговор с 3S о расширении этих границ.
Если этого мало, можно перейти на библиотечный режим.
Если речь вообще о переменных, то ограничение - ОЗУ.
СПК107 можно сравнить с любым контроллером. Вопрос то в чем?

Ефремов Николай
17.11.2014, 06:58
Посмотрел- считаю, что очень удобно будет пользоваться(не надо лезть в РЭ и считать сдвиги регистов). Вопрос по МВ110-8А(С)-в этом модуле у Вас получилось 40 запросов к модулю(если требуются все данные с модуля), каждый из которых повторяется через 100 мс, но тогда получается что один модуль займёт всё время при общении с ПЛК(СПК)-вероятно это будут очередные грабли для начинающих без хорошей(понятной) инструкции как рассчитать время и как убрать лишние регистры из опроса. Возможно я ошибаюсь.

Amko
17.11.2014, 07:30
Запросы к каналам МВ110-8А идут по очереди или сразу все?
Зачем нужен этот массив из вордов, если их все равно переводить в Real? Можно сразу считывать число в формате с плавающей точкой? Понимаю, что стандарт модбаса такое не поддерживает, но тут же шаблон :) может можно.
Насколько это все будет стабильно и работоспособно? Слышал многое всякого про стабильность работы модбаса из под конфигуратора. Мнения, мягко говоря, разделились.

Александр Приходько
17.11.2014, 12:25
Посмотрел- считаю, что очень удобно будет пользоваться(не надо лезть в РЭ и считать сдвиги регистов). Вопрос по МВ110-8А(С)-в этом модуле у Вас получилось 40 запросов к модулю(если требуются все данные с модуля), каждый из которых повторяется через 100 мс, но тогда получается что один модуль займёт всё время при общении с ПЛК(СПК)-вероятно это будут очередные грабли для начинающих без хорошей(понятной) инструкции как рассчитать время и как убрать лишние регистры из опроса. Возможно я ошибаюсь.

Хорошее и понятное руководство будет, это даже не сомневайтесь.
Для новичков на первых порах возможно и не нужна сверх скорость опроса.
И в данном случае 100 мс не суммируется, это интервал циклического опроса каждого параметра.

Александр Приходько
17.11.2014, 13:41
Запросы к каналам МВ110-8А идут по очереди или сразу все?
Зачем нужен этот массив из вордов, если их все равно переводить в Real? Можно сразу считывать число в формате с плавающей точкой? Понимаю, что стандарт модбаса такое не поддерживает, но тут же шаблон :) может можно.
Насколько это все будет стабильно и работоспособно? Слышал многое всякого про стабильность работы модбаса из под конфигуратора. Мнения, мягко говоря, разделились.
Каждый канал - это отдельный запрос.
Если в канале несколько регистров, значит это групповой запрос.
Данные Float сразу получить нельзя, т.к. это не стандартный формат Modbus. И компания 3S напрочь отказывается поддерживать FLAOAT.

Все модули тестируются на живом железе. Работать будут стабильно.

Александр Приходько
18.11.2014, 13:11
Обновлен релиз до версии 3.5.4.7.
Внесено множество изменений. Полный перечень исправлений и исходник, находятся в шапке.

lar
19.11.2014, 15:46
Codesys v.3.5 SP3 Patch 5
Не могу загрузить

15321

Александр Приходько
19.11.2014, 15:52
Codesys v.3.5 SP3 Patch 5
Не могу загрузить

15321

Наверно надо было сказать, что компонент в первую очередь под SP5 собирался. Может и в SP4 работать, но не ниже.

lar
19.11.2014, 16:11
Где взять для SP3? У меня СПК 207-03.WEB [М01] v.3.302

Александр Приходько
19.11.2014, 23:27
Где взять для SP3? У меня СПК 207-03.WEB [М01] v.3.302
Поддержки более старых версий не будет. В силу ряда причин. Ставьте SP5 и будет счастье.
Благо и на М01 есть прошивка с рантаймом 3.5.4.20.

Все новые приблуды будут нацелены на обновленный продукт на процессоре в 600Мгц.
Который со дня на день пойдет в продажу. На заводе уже завершается постановка в серию.

Александр Приходько
20.11.2014, 02:56
Шаблоны еще не сделали, это первая предварительная версия. Там есть еще над чем работать, чотелось бы получить обратную связь от клиентов.
Остальные вопросы не в рамках темы.

Ограничений по алгоритмам нет.
Вы ограничены камнем в 400МГ и размерами ОЗУ на СПК107.
Предел по переменным ввода-выода, смотря что вы имеете ввиду.
Если речь именно о Модбасе, то в совокупности около 600 регистров.
Но мы ведем разговор с 3S о расширении этих границ.
Если этого мало, можно перейти на библиотечный режим.
Если речь вообще о переменных, то ограничение - ОЗУ.
СПК107 можно сравнить с любым контроллером. Вопрос то в чем?

По числу регистров Modbus был не точен. Их на чтение запись было доступно 1280. Сейчас мы это значение увеличили в 4 раза.
Нужно переустановить с сайта Target файлы ревизии 23.

Виктор Кошкин
20.11.2014, 10:01
Здравствуйте Александр!
Спасибо за выпущенный релиз.
После установки возникла проблема, при создании нового проекта не видит добавленное оборудование из данной сборки в списке предлагаемых устройств. В чем может быть причина? Действовал в соответствии с видеоинструкцией.
Установленное ПО CDS V3.5 SP5, Windows 7 (не обладаю правами администратора).

Осинский Алексей
20.11.2014, 11:03
Здравствуйте Александр!
Спасибо за выпущенный релиз.
После установки возникла проблема, при создании нового проекта не видит добавленное оборудование из данной сборки в списке предлагаемых устройств. В чем может быть причина? Действовал в соответствии с видеоинструкцией.
Установленное ПО CDS V3.5 SP5, Windows 7 (не обладаю правами администратора).
Добрый день!
Удалите, пожалуйста, пакет. И еще раз установите. После установки нажимайте не сразу "Finish", а "Next" и разверните список установленного оборудования. Проверьте, что устройства установлены в систему (скриншот внизу)
15341

У Вас была установлена предыдущая версия пакета? Если да - перед установкой удалите ее и все устройства из нее т.к. некоторых устройств может быть не видно из-за того, что версия их изменилась на младшую.

Виктор Кошкин
20.11.2014, 11:31
Добрый день!
Переустановил, все как на скриншоте, не выходит. Устанавливаю все впервые и сразу с версии 3.5 SP5. Не может это быть связано с отсутствием прав доступа к системным папкам, т.к. работаю под пользователем?

Осинский Алексей
20.11.2014, 11:40
Добрый день!
Переустановил, все как на скриншоте, не выходит. Устанавливаю все впервые и сразу с версии 3.5 SP5. Не может это быть связано с отсутствием прав доступа к системным папкам, т.к. работаю под пользователем?

Может быть. Устройства устанавливаются в папку "C:\ProgramData\CODESYS\Devices\91\". Проверьте в ней наличие подпапок с именем 1628 XXXX и что в них лежит? должна быть папка 3.5.4.0 и в ней файл device.xml
Инсталлятор пишет, что устройства "installed succesfully"?

Виктор Кошкин
20.11.2014, 11:53
Может быть. Устройства устанавливаются в папку "C:\ProgramData\CODESYS\Devices\91\". Проверьте в ней наличие подпапок с именем 1628 XXXX и что в них лежит? должна быть папка 3.5.4.0 и в ней файл device.xml
Инсталлятор пишет, что устройства "installed succesfully"?

Да папки все есть и файлы в них! Инсталлятор пишет, что все корректно установлено и в списке производителей появляется Owen, но устройств в нем нет. Пока нет возможности попробовать под администратором, после проверки отпишусь.15342

Осинский Алексей
20.11.2014, 14:17
Да папки все есть и файлы в них! Инсталлятор пишет, что все корректно установлено и в списке производителей появляется Owen, но устройств в нем нет. Пока нет возможности попробовать под администратором, после проверки отпишусь.15342

В этом окне устройства и не появятся. Сначала добавьте модуль ModBus Com, потом дочерний по отношению к нему ModBus Master, а уже дочерним по отношению к мастеру можно добавить наши шаблоны.
Например вот так:
15345
На форуме был документ в котором расписывалось как работать с ModBus в CDS 3.5. Ничего не меняется. Просто вместо ModBus Slave'a Вы добавляете наш шаблон.

Либо же Вы можете проверить наличие устройств выполнив команды меню "Tools-Device Repository" и проверить узел "Fieldbuses - Modbus - Modbus Serial Slave" после перезапуска CDS.
Прошу прощения, у меня CDS английский.

lar
20.11.2014, 15:11
Я сейчас ставил. Чтоб они появились надо Codesys перезагрузить.
Успешность установки можно посмотреть в Инструменты/Менеджер проектов/Детали

Виктор Кошкин
20.11.2014, 18:45
Господа, прошу прощения за то, что сбил всех с толку!
Все дело оказалось в моей невнимательности. На самом деле я хотел добавить в проект СПК1хх, почему то я подумал, что их таргет файлы включены в данную сборку и не мог понять почему при создании нового проекта они не отображаются в списке предлагаемых устройств. Теперь все в порядке. Всем спасибо!

Александр Приходько
20.11.2014, 19:42
В дальнейшем инсталяторы шаблонов, библиотек и Target фалов объединим в единый.

kukla100
22.11.2014, 16:34
В КДС2 в настройках шаблонов релейных модулей есть режим записи не циклический, а от изменения переменных привязанных к ним. Нельзя ли и тут что то такое сделать?

Александр Приходько
22.11.2014, 22:11
В КДС2 в настройках шаблонов релейных модулей есть режим записи не циклический, а от изменения переменных привязанных к ним. Нельзя ли и тут что то такое сделать?
Как правило маски пишут постоянно. Вы можете в настройках выставить запись не циклическую, а по переменной.

Эдуард_Н
23.11.2014, 04:38
Вы имеете ввиду "RISING_EDGE" ? Тогда возникает 1000 проблем. Предлагаю в шаблоны включить блок который будет управлять триггером "RISING_EDGE". Может даже так:

kukla100
23.11.2014, 13:04
Вопрос не в тему, извиняюсь, но как вам удаётся набирать программу сразу в нескольких строках?

Осинский Алексей
24.11.2014, 10:07
Вы имеете ввиду "RISING_EDGE" ? Тогда возникает 1000 проблем. Предлагаю в шаблоны включить блок который будет управлять триггером "RISING_EDGE". Может даже так:

Какие проблемы у Вас возникают в связи с использованием Rising Edge'a?
Используя такую структуру (как в примере) Вы лишний раз грузите ПЛК (каждый триггер - ФБ, для каждого ФБ отдельный вызов да и хранить состояние нужно).
Гораздо проще хранить где-то предыдущее значение маски, сравнивать его с текущим, и, если они отличаются, выдавать сигнал на запись.

например:


PROGRAM PLC_PRG
VAR
wTmpMask:WORD; //Здесь храним старое значение маски
wMask:WORD; //Маска для записи
xTrigger:BOOL:=FALSE; //Триггер для Rising Edge
END_VAR

IF xTrigger THEN //Если триггер установлен - сбросим его
xTrigger:=FALSE;
ELSIF wTmpMask<>wMask THEN //Если триггер не уставновлен - проверим изменилась ли маска, и если изменилась
wTmpMask:=wMask;
xTrigger:=TRUE; //подадим команду на запись
END_IF

Эдуард_Н
24.11.2014, 10:55
можно конечно всяко разно, ни кто незапрещает. Вот тут: http://www.owen.ru/forum/showthread.php?t=19067, вообще такие споры кипят. У меня вход вордовский, и подаю туда теже сигналы которые в релейный модуль. Хотя про сравнение маски думал, но незнал как это сделать. Опядь же, уменя запись триггера происходит только присмене выхода, допустим переключение насосов, а тут надо постоянно сравнивать маску, что не есть удобно.

Осинский Алексей
24.11.2014, 12:14
Опядь же, уменя запись триггера происходит только присмене выхода, допустим переключение насосов, а тут надо постоянно сравнивать маску, что не есть удобно.

Не совсем понял эту фразу, и прикрепленные скриншоты не помогли.
ФБ R_TRIG и F_TRIG делают то же, самое что и мой пример, но не со всей маской, а с отдельными ее битами. Т.е. постоянно сравнивают значения битов - изменился или нет. Поэтому не пойму неудобства.

lar
24.11.2014, 13:21
Вопрос не в тему, извиняюсь, но как вам удаётся набирать программу сразу в нескольких строках?
Присоединяюсь к вопросу. Есть какое то групповое редактирование?


PS Для пользователей шаблонов- обязательно удаляйте неиспользуемые регистры в шаблоне, я с МУ110-8Р из-за них пол дня потерял.

Эдуард_Н
24.11.2014, 13:32
Не совсем понял эту фразу, и прикрепленные скриншоты не помогли.
ФБ R_TRIG и F_TRIG делают то же, самое что и мой пример, но не со всей маской, а с отдельными ее битами. Т.е. постоянно сравнивают значения битов - изменился или нет. Поэтому не пойму неудобства.

Если чесно я тоже вас не очень понял, можете выложить коротенький пример использования вашей программы.

Осинский Алексей
24.11.2014, 14:48
Если чесно я тоже вас не очень понял, можете выложить коротенький пример использования вашей программы.
Ваш вопрос был: как сделать запись по изменению значения.
Моя программа - проверяет изменилась маска или нет. Если изменилась, то подается команда на запись (RISING EDGE в терминологии CDS 3.5). Ключевые строки комментированы, если какая-то непонятна - спрашивайте.
В моей программе слово "триггер" стоит понимать как "Команда на запись" т.е. это переменная типа BOOL (а не ФБ R_TRIG или F_TRIG), по которой будет происходить запись.

Использовать кучу триггеров для анализа одной переменной крайне затратное дело.

Эдуард_Н
24.11.2014, 15:43
Описание всегда плохо воспринимаю, лучше наглядно, в примере.

Рабиндранат
24.11.2014, 16:59
Здравствуйте.
Появление готовых конфигураций на модули - очень правильный и хороший шаг.
Жаль, для ПЛК1хх эту затею так и не довели до ума.

Сейчас как раз под рукой оказалась СПК107 и МВ110-8АС. Модуль добавляется быстро и удобно.

Не устраивает время опроса модуля. Как я понимаю, на каждый параметр идет свой запрос-ответ.
Можно ли как-то организовать опрос всех параметров сразу?

Осинский Алексей
24.11.2014, 18:01
Описание всегда плохо воспринимаю, лучше наглядно, в примере.
Не представляю, что тут можно показывать наглядно. Но давайте так:
15409
При этом если Вы в любом месте своей программы (выше или ниже этого кусочка, который я предложил) измените переменную wMask, то пройдет команда на передачу параметра wMask у модуля т.к. в каждом цикле я сравниваю wMask с ее предыдущим сохраненным значением и если они отличаются, то сохраняю значение wMask как предыдущее и подаю команду на передачу по сети.

Модуль 8Р на скриншоте для примера. С любой переменной можно поступить так же.

Эдуард_Н
24.11.2014, 18:21
Спасибо, всё встало на свои места. Век живи, век учись.

Getmanov
27.11.2014, 20:04
Для МУ11016Р не работает запись/чтение периода ШИМ. Если заменить групповую запись на запись параметра для одного выхода всё пишется/читается. В чем может быть проблема? Я использую запись параметра только для двух выходов, остальные переменные не соотнесены, может в этом дело?

RV9WFJ
27.11.2014, 20:44
Можно ли как-то организовать опрос всех параметров сразу?Используйте групповой опрос. С использованием библиотеки modbus у меня опрашивает больше 10 раз в секунду все входы.

RV9WFJ
27.11.2014, 20:46
Для МУ11016Р не работает запись/чтение периода ШИМ. Если заменить групповую запись на запись параметра для одного выхода всё пишется/читается. В чем может быть проблема? Я использую запись параметра только для двух выходов, остальные переменные не соотнесены, может в этом дело?

Возможно ошибаюсь, но помоему мх110 не поддерживают команду на групповую запись. Только чтение.

Getmanov
27.11.2014, 22:40
помоему мх110 не поддерживают команду на групповую запись
Если ув. RV9WFJ не ошибается, тогда просьба к Александру Приходько- исправьте шаблон.

Осинский Алексей
28.11.2014, 10:37
Для МУ11016Р не работает запись/чтение периода ШИМ. Если заменить групповую запись на запись параметра для одного выхода всё пишется/читается. В чем может быть проблема? Я использую запись параметра только для двух выходов, остальные переменные не соотнесены, может в этом дело?
Подробнее, пожалуйста. Со скриншотами желательно. Во время тестирования таких проблем замечено не было.
---UPD---
Возможно я понял в чем проблема - периоды ШИМ пишутся по команде (RISISNG EDGE, Триггер) для разгрузки сети т.к. вряд ли возникнет ситуация, в которой нужно будет постоянно их писать.
Чтобы записать значения установите переменную типа Bool, которую меняйте с FALSE на TRUE в тот момент, когда нужно записать переменную и с TRUE на FALSE в следующем цикле ПЛК.
Скриншот: 15501

Если Вам нужно писать периоды постоянно - смените триггер опроса с RISING EDGE на CYCLIC.
Скриншот: 15502
2жды кликните по каналу на вкладке Modbbus Slave Channel и измените тип опроса "2" на скриншоте

Осинский Алексей
28.11.2014, 10:42
Возможно ошибаюсь, но помоему мх110 не поддерживают команду на групповую запись. Только чтение.

Вы ошибаетесь. Не все модули поддерживают групповые запросы, это да. Но если уж поддерживают, то и чтение и запись.
Как Александр уже говорил все шаблоны тестируются на реальном оборудовании.

Getmanov
28.11.2014, 13:02
Подробнее, пожалуйста. Со скриншотами желательно. Во время тестирования таких проблем замечено не было.
---UPD---
Возможно я понял в чем проблема - периоды ШИМ пишутся по команде (RISISNG EDGE, Триггер) для разгрузки сети т.к. вряд ли возникнет ситуация, в которой нужно будет постоянно их писать.
Чтобы записать значения установите переменную типа Bool, которую меняйте с FALSE на TRUE в тот момент, когда нужно записать переменную и с TRUE на FALSE в следующем цикле ПЛК.
Скриншот: 15501

Если Вам нужно писать периоды постоянно - смените триггер опроса с RISING EDGE на CYCLIC.
Скриншот: 15502
2жды кликните по каналу на вкладке Modbbus Slave Channel и измените тип опроса "2" на скриншоте
С триггером понятно, так и проверял.
Скриншоты в понедельник или вторник, оборудование увезли на объект.

Осинский Алексей
28.11.2014, 13:13
С триггером понятно, так и проверял.
Скриншоты в понедельник или вторник, оборудование увезли на объект.

И, на всякий случай, версию прошивки модуля вывода.

Эдуард_Н
30.11.2014, 17:28
Обновился сегодня до CODESYS V3.5 SP5 Patch 4. В проектах было замечно, что у модуля 8А на месте стандартного изображения появился значёк красног цвета с вопросом внутри, хотя у других модулей такого нет.
Устраняеться обновлением устройства

Александр Приходько
30.11.2014, 22:57
Обновился сегодня до CODESYS V3.5 SP5 Patch 4. В проектах было замечно, что у модуля 8А на месте стандартного изображения появился значёк красног цвета с вопросом внутри, хотя у других модулей такого нет.
Устраняеться обновлением устройства

Если посмотрите лог исправлений, то увидите, что часть модулей была переименована в новой версии.
А у Вас в проекте CDS ругается, что он не может найти модуль.
Нажмите на нем правой кнопкой, нажмите обновить устройство и выберите подходящий модуль и будет Вам счастье.

Getmanov
04.12.2014, 15:01
Скриншоты в понедельник или вторник, оборудование увезли на объект.
Скриншоты сделать не удалось, просто не хватило времени. На днях попробую с другим комплектом, если проблема повторится, задокументирую.

Александр Приходько
09.12.2014, 22:32
Реализована новая версия шаблонов МХ110.
Теперь мы поддержали все модули, имеющиеся в нашей линейке.

В новой версии мы постараемся сделать реализацию формата REAL для чисел с плавающей точкой (которые на данный момент передаются как 2 переменные WORD) и доделаем пользовательскую документацию.

Дмирой
22.01.2015, 20:04
Александр Приходько, когда выложите новую версию шаблона? С ув. Дмитрий.

Осинский Алексей
28.01.2015, 16:30
Александр Приходько, когда выложите новую версию шаблона? С ув. Дмитрий.
Добрый день, Дмитрий!
Подскажите пожалуйста, какого функционала (в существующей версии) Вам не хватает?

Sulfur
30.01.2015, 13:38
Есть ли возможность добавить в библиотеку ModulsOwenLib модуль выходов МУ110-16К? В данный момент есть только 16R, но нужен именно K. Задача - писать ШИМ напрямую.

Осинский Алексей
30.01.2015, 14:21
В данный момент есть только 16R, но нужен именно K.
Откуда у Вас такие сведения? (см. рисунок)
16466
Если у Вас каким-то образом оказалась версия инсталлятора, в которой модуль называется просто 16R (хотя я таких версий не помню), то смело используйте шаблон 16Р для модуля 16К.
Номера регистров там идентичны.
Или скачайте из 1го поста этой темы последнюю версию инсталлятора.

Sulfur
31.01.2015, 14:58
Откуда у Вас такие сведения? (см. рисунок)
смело используйте шаблон 16Р для модуля 16К. Номера регистров там идентичны.
Я имел ввиду малость другое - шаблон именно в ModulsOwenLib, подключаемый не к порту (Devices) а с помощью CommCon



Или скачайте из 1го поста этой темы последнюю версию инсталлятора.
Там и брал. КДС3.5, чистая установка.
--------------
Или подскажите обозначение регистра, который сообщает об ошибке связи с модулем.

Осинский Алексей
02.02.2015, 10:25
Я имел ввиду малость другое - шаблон именно в ModulsOwenLib, подключаемый не к порту (Devices) а с помощью CommCon

Дело в том, что эта тема относится к шаблонам именно 1го типа. Ответ в личке, чтобы не засорять ветку.

Дмирой
03.02.2015, 00:03
Добрый день, Дмитрий!
Подскажите пожалуйста, какого функционала (в существующей версии) Вам не хватает?

Алексей, по-моему, не все модули, выпускаемые компанией Овен там представлены. "Модуль ввода дискретных сигналов МВ110-8ДФ" отсутствует.

yfalyov
03.02.2015, 16:32
Скажите, а шаблон для МЭ110-220 будет?

Осинский Алексей
03.02.2015, 17:14
Скажите, а шаблон для МЭ110-220 будет?

Вы имеете в виду все модули линейки МЭ?

yfalyov
05.02.2015, 10:54
Конкретно интересует МЭ110-220.3М. Хотя в библиотеке шаблонов нет ни одного модуля МЭ.

yfalyov
10.02.2015, 08:35
Так что, про шаблоны никто не знает?

RV9WFJ
10.02.2015, 12:20
На МЭ110 3М могу на ModBus.lib код дать, но у меня там не все параметры опрашиваются. Если чего не хватит можете сами допилить. Только версия прошивки модуля должна быть не ниже 1.23

Дмирой
19.02.2015, 00:48
Уважаемый производитель, когда же будут шаблоны на все модули, выпускаемые Вами?

artvhm
19.02.2015, 12:34
А почему шаблоны построены не на групповых запросов. Ведь для того же мв110-8а один запрос где читаются 48 регистров должен быть быстрее чем 40 отдельных запросов или нет?

Осинский Алексей
20.02.2015, 09:54
А почему шаблоны построены не на групповых запросов. Ведь для того же мв110-8а один запрос где читаются 48 регистров должен быть быстрее чем 40 отдельных запросов или нет?
так было сделано для того, чтобы пользователь мог удалить регистры, которые лично ему не нужны т.к. достаточно редко возникает необходимость реально читать все регистры.

Осинский Алексей
20.02.2015, 10:01
Уважаемый производитель, когда же будут шаблоны на все модули, выпускаемые Вами?
Добрый день!
Работы ведутся. Как только они будут закончены обновленный инсталлятор появится в шапке темы.

artvhm
20.02.2015, 10:31
так было сделано для того, чтобы пользователь мог удалить регистры, которые лично ему не нужны т.к. достаточно редко возникает необходимость реально читать все регистры.
Мне очень интересно разобраться как происходит обмен при работе через конфигуратор. Смотрите на скорости 38400 запрос одного регистра примерно 3мс+2мс задержка ответа модуля+3мс ответ модуля+10мс время между фреймами по умолчанию. Итого 18мс. В шаблоне 40 запросов, пусть нам нужны только 16. На это нужно 288 мс. Значит больше трех модулей в секунду мы не опросим . А при групповом запросе всех регистров получаем 3мс+2+16+10=31 мс. Что почти в 10 раз быстрее. И второй момент как ведёт себя планировщик, если он не успевает опросить регистры с отведенной частотой. В шаблоне по умолчанию 100мс. С такой скоростью по моим подсчетам можно успеть опрашивать только 5 регистров. А что случается когда их допустим 16?

Осинский Алексей
20.02.2015, 10:51
В шаблоне по умолчанию 100мс.
Немного не пойму, откуда взялось ограничение. И почему именно 100мс?
Признаться, я такого не помню.

Модули опрашиваются по кругу. Т.е. 1-й,2-й,3-й,... n-nй.
Программа вернется к 1му модулю не раньше, чем будут опрошены все модули вне зависимости от того, сколько времени займет опрос 1го модуля и от того, сколько времени займет опрос всех модулей.
Но это относится к функционированию модуля Modbus Master, а он реализован компанией 3S.
Нами же реализованы только шаблоны модулей Mx110

artvhm
20.02.2015, 12:00
Немного не пойму, откуда взялось ограничение. И почему именно 100мс?
Признаться, я такого не помню.

это не ограничение, это время цикла опроса, регистров в вашем шаблоне. Разумеется время можно изменить, но по умолчанию оно такое.



Модули опрашиваются по кругу. Т.е. 1-й,2-й,3-й,... n-nй.
Программа вернется к 1му модулю не раньше, чем будут опрошены все модули вне зависимости от того, сколько времени займет опрос 1го модуля и от того, сколько времени займет опрос всех модулей.
Но это относится к функционированию модуля Modbus Master, а он реализован компанией 3S.
Нами же реализованы только шаблоны модулей Mx110

В том и дело если опрос по модбас не используется на максимум. Опрос идет не по модулям, а по циклу опроса регистров. У меня например мастер успешно опрашивает 4-ый по счету модуль каждые 100мс, 1 и 2 каждые 500мс, 3 каждую 1000мс. Тут все логично и понятно обмен успевает пройти в оговоренные рамки. Меня интересует что будет когда мастер не может опросить регистр с скоростью установленное во времени цикла. Ваш шаблон был просто для примера у вас 40 запросов, с временем цикла каждого 100мс. Если модуль один и остальные настройки таргета в части модбаса не трогать. То после опроса 5 регистра, наступит время опроса 1, но остаются не опрошенными еще 35 регистров. И вполне очевидно что мастер продолжит опрашивать их и только дойдя до последнего, вернется к первому. Т.е. реальный опрос будет идти каждые 700-750мс, вместо установленных 100мс. Вроде бы тоже логично сами виноваты :) . Мастер танцует как может.
Но если среди слейв устройств будут разные по времени опроса регистры. Они также будут опрашиваться с тем временем которое получится? Или более низкая уставка опроса будет иметь приоритет?.
Если приоритета нет, то отсутствие групповых запросов в шаблонах это просто вредительство:)Потому что работа по шаблонам в текущем виде ( я про те модули где регистров много) и так не высокий отклик по сети модбас, делает не предсказуемым

artvhm
20.02.2015, 12:11
Сами по судите у меня в системе 4 модуля. мв110_8а, мв110_8а, му110_16к,мк110_8д_4р. Если строить все на ваших шаблонах то опрос дискретных входов в последнем модуле наступит. Только через 1500мс и даже если убрать из опроса половину не нужных регистров, то время реакции системы 400-500мс на дискретное событие видеться чудовищным. Я уже не говорю что запрос реал значения скажем температуры и циклическое время измерения очень желательно синхронизировать

Осинский Алексей
20.02.2015, 12:13
это не ограничение, это время цикла опроса, регистров в вашем шаблоне. Разумеется время можно изменить, но по умолчанию оно такое.
Все, понял о чем речь.
Со 100% уверенностью не могу сказать (а на практике отследить этот момент достаточно сложно), но думаю, что под периодом опроса имелся в виду "минимальный период опроса", а не гарантированный период опроса.
Т.е. если очередь опроса параметра дошла до него, а время до след. опроса еще не прошло, то параметр просто пропускается, но все параметры опрашиваются циклически.

Но это мои догадки. Ответить со 100% вероятностью смогут только разработчики в 3S.
На днях, возможно, придется работать с большим кол-вом модулей, там на практике попытаюсь отловить этот момент.

artvhm
20.02.2015, 12:40
Все, понял о чем речь.
Со 100% уверенностью не могу сказать (а на практике отследить этот момент достаточно сложно), но думаю, что под периодом опроса имелся в виду "минимальный период опроса", а не гарантированный период опроса.
Т.е. если очередь опроса параметра дошла до него, а время до след. опроса еще не прошло, то параметр просто пропускается, но все параметры опрашиваются циклически.

Но это мои догадки. Ответить со 100% вероятностью смогут только разработчики в 3S.
На днях, возможно, придется работать с большим кол-вом модулей, там на практике попытаюсь отловить этот момент.

Я тоже думаю что минимальный. Поэтому и говорю что шаблоны для аналоговых модулей построены странно. Они забивают мастер не нужной работай и он соответственно, не гарантирует период опроса для действительно важных регистров в других модулях

Lyohin
14.03.2015, 15:42
У меня такой вопрос.
Модули ввода вывода МВ110.2АС и МВ110.8А подключены к СПК207, CODESYS загружена в СПК. При этом программа предусматривает опрос и других модулей (см. изображение). Модули, находящиеся слева отображают результаты измерений верно, однако остальные модули не подключены к сети RS485, но статусы измерений у всех входов успешны. Почему так? Пользовался шаблонами Мх110.
1. Если связь с каким-либо модулем в сети пропадает, как это передать в панель СПК207? Как реализовать в CODESYS формирование ошибки связи с модулем? Предполагется ли данная реализация в библиотеке шаблонов модулей Мх110? Если нет, просьба подсказать как программно реализовать ошибку связи с модулями.
2. Как уйти от цифр (в модулях слева), если датчик отключен? Через редактор интерфейсов?
3. Увеличение скорости. К одному из входов модуля подключен термометр сопротивления. Так вот, значение температуры обновляется раз в 20-25 сек. Скорость передачи задана в настройках МodbusCom 38400. Так же и в модулях.

Lyohin
17.03.2015, 11:41
Так как все-таки ПРАВИЛЬНО реализовать в СПК207 ошибку связи с модулем ввода-вывода? Можно ли так, как во вложении? Или по другому это делается? Где-то эта тема обсуждалась?

yfalyov
20.03.2015, 10:05
Добрый день!
Работы ведутся. Как только они будут закончены обновленный инсталлятор появится в шапке темы.

Обрисуйте пожалуйста реальные сроки окончания работ по модулям. Нужен модуль вывода параметров сети.

ASo
20.03.2015, 10:06
Зачем он Вам? Все равно, Вы не будете брать все переменные модуля. А тогда - лишнее время ответа.

yfalyov
20.03.2015, 12:53
Зачем он Вам? Все равно, Вы не будете брать все переменные модуля. А тогда - лишнее время ответа.

Дело в том, что я не программист, и мне нелегко разобраться в настройках подключения и съема показаний . А с шаблонами легче.

yfalyov
20.03.2015, 12:54
Если был пример на языке CFC, тогда было бы легче, но пример только на ST.

Sepsis
03.04.2015, 09:31
СПК110 + модули линейки Мх110 (32ДН/8АС/8И/16К), CDS v3.5 SP5
Последние версии таргета, библиотек etc...

Установил библиотеку Mx100 Assistant, добавил модули, привязал переменные - в общем, выполнил все стандартные манипуляции. Все запустилось, но как-то странно все работало. Все модули опрашивались без ошибок, на дискретных входах сигналы корректно обрабатывались, дискретный выход задавался, но ридбек не подтверждал на выходе наличие сигнала. Светодиоды (что светодиоды каналов дискретных выходов, что RS-485) на модулях мерцали с большим периодом, в целом, сложилось впечатление, что периодически "отваливалась" сеть.
Как бы то ни было, поэкспериментировав с периодом опроса регистров, таймаутами задержек и временем между фреймами, и не обнаружив причину таких странностей решил полностью продублировать проект, заменив только модули на стандартные из модбас либы. Все завелось и заработало с первого раза - работа нормализовалась.

Добавлю, что очень интересно будет узнать результаты эксперимента по опросу большого кол-ва модбас слейвов. А именно, через какой промежуток времени (здесь стоит сделать отступление и дать понять, что я осознаю, полученные данные таких замеров будут относительными - влияет и кол-во опрашиваемых регистров и проч настройки сети) опросится последний модуль в сети...

vnkorol
09.04.2015, 19:08
Очень хотелось бы, чтобы в MV110_Get_Real можно было подсовывать не только массив из двух значения флоат, а тупо, через запятую эти два значения. Поясняю. Считываю с ТРМ138 каждый канал в архив из пяти значений - положение десятичной точки, значение датчика трёхзначное целое, флаг аварии датчика и два значения флоат, которое склеиваем MV110_Get_Real. Так вот, прежде чем конвертировать значение датчика в REAL, надо проверить, не в аварии ли датчик, т.к. ТРМ138 - странная железка - в случае ошибки датчика, на экране LLLL, а по модбасу отдает последнее верное значение.

msnya
10.04.2015, 19:02
Здравствуйте.
Настроил опрос с помощью шаблонов: 17654
Версия таргета 3.5.4.20
версия Modbus COM 3.4.0.0.
Modbus Master 3.5.5.0
Пытаюсь управлять релейным выходом, но при каждом новом цикле опроса состояние выхода сбрасывается. Т.е. если подаю TRUE на первый выход, то он не включается на постоянно а щелкает на некоторое время в каждом цикле опроса.
Подскажите пожалуйста с чем это может быть связанно?

жекон
10.04.2015, 19:08
Вы бы скрин сделали с вкладки где переменные привязаны, это у вас скорее всего шим работает

msnya
11.04.2015, 11:46
На сколько я понимаю ШИМ работать не должна.
17659

Эдуард_Н
11.04.2015, 12:34
Лучше проект целиком показали, а так не понятно.

msnya
11.04.2015, 14:52
Спасибо всем! Удалил канал записи параметров ШИМ - проблема исчезла.

andrey96
24.04.2015, 11:26
Добрый день. Настроил МВ110-8А согласно инструкции по шаблону MV110_8A. Все работает и выводит текущие температуры с датчиков в камерах охлаждения. Но температура отображается не верно она выше градусов на 6-7 , а то и выше. В чем может быть проблема?

vnkorol
24.04.2015, 11:34
Добрый день. Настроил МВ110-8А согласно инструкции по шаблону MV110_8A. Все работает и выводит текущие температуры с датчиков в камерах охлаждения. Но температура отображается не верно она выше градусов на 6-7 , а то и выше. В чем может быть проблема?

Какие датчики установлены?

andrey96
24.04.2015, 11:49
Какие датчики установлены?

ТСМ 50м с кабальным выводом

vnkorol
24.04.2015, 12:34
Без таблетки 4-20мА? по трехпроводной схеме подключены?

andrey96
24.04.2015, 12:42
Без таблетки 4-20мА? по трехпроводной схеме подключены?

да подключены на прямую без таблетки

Эдуард_Н
24.04.2015, 12:47
Там вроде две штуки ТСМ 50м, пробовали переберать их?

vnkorol
24.04.2015, 13:02
По трехпроводной схеме? Тестером сопротивление мерили, бьется с реальной температурой?

andrey96
24.04.2015, 18:29
В холодильной камере Установлено 2 датчика , датчик объема и на самом испарителе .Из датчика выходит 3 провода один питание и два сопротивления.которые сопротивления между ними стоит перемычка ( они объединены ) .и так подключены все датчики . Таких камер 6, на всех температура выше реальной . Пока решил просто калибровкой температуры в программе . Измерение тестером не замерял . После калибровки температура почти совпадает , есть небольшая погрешность . Не понятно почему изначально она выше .