Действительно, что-то не подумал.. Но так лучше получится. Спасибо.
Вид для печати
Действительно, что-то не подумал.. Но так лучше получится. Спасибо.
Добрый день. Появились новые шаблоны сетевых устройств для ТРМ200, ТРМ201, ТРМ202, а также примеры проектов. Примеры созданы для панели ИПП120, а шаблоны могут использоваться и для ПР200, а после выхода на рынок ПР100 с RS так же и для них.
В ближайшее время шаблоны будут доступны из "Менеджера компонентов" OWENLogic.
https://youtu.be/Givjp7-AeE8
Пример вывода разных текстовых сообщений для СМИ2.
https://youtu.be/oysKu-pSV9A
Здравствуйте, Юрий!
Шаблоны сетевых устройств ТРМ138, где можно найти?
Спасибо!
С уважением, Сергей.
Всем спасибо! Разобрался, после звонка в тех. поддержку.
Коллеги, добрый день.
У меня нубский вопрос относительно имен сетевых переменных.
На данный момент понадобилось прицепить к ПР200 четыре МВ110 8А, подскажите, пожалуйста, нужно ли переименовывать сетевые переменные (добавлял МВ110 из шаблона) соответственно адреса в сети модбаса у меня разные, а сами переменные имеют одинаковые имена. Заранее благодарен за помощь и еще раз извиняюсь за тупые вопросы. Ранее не работал с шаблонами устройств от слова совсем.
Спасибо. Приму к сведению. Лоджик не выделял красным, пока я не начал вносить изменения.
Добрый день. Если считать шаблон одним устройством, то ограничение на кол-во слейвов подключенных к сетевому интерфейсу -16, 2 интерфейса Master -32 шаблона. Но при большом кол-ве устройств на шине и сложном алгоритме начинает играть роль время цикла и опрос всех устройств на шине, приходится искать баланс, как-то так.
добрый день,
хочу попробовать подключить к ПР110 ПМ01, но в OWEn Logic не могу найти шаблон для этого устройства в Менеджере компонентов, в Онлайн-базе тоже не вижу его.
где можно скачать или кто-нибудь может скинуть шаблон для импорта..
насколько мне известно - нет возможности подключать пм01 к ПРкам. ни к 200 ни к 110. нет нужных команд управления.
Так как периодически прилетают запросы на создание шаблонов сетевых устройств для различного оборудования, сделал демонстрацию, в которой показаны основные моменты по подготовке таких шаблонов.
https://www.youtube.com/watch?v=nw1JvDFqS88
Добрый день! Существует шаблон счетчика Меркурий?
Добавлен шаблон для поплавкового датчика уровня с интерфейсом RS-485, в первом сообщении так же прикреплен пример проекта в OwenLogic для ИПП120. Демонстрация работы https://youtu.be/05w1rle3weE.
al.pasat не существует, у счетчика протокол не Modbus.
Если Вы организуете обмен с другими с устройствами из ПР то он Вам пригодится ( Шаблон) при загрузки шаблона У Вас будут
сформированы сетевые переменные того устройства какой шаблон Вы загрузите . Я им не пользуюсь. Формирую Сам чтобы оптимизировать
количество переменных передаваемых в Скаду систему .
Добрый день.
10 сообщений назад, все показано и рассказано как делать и пользоваться. https://owen.ru/forum/showthread.php...l=1#post327765
Объясните настройку переменных для чтения устройства, отдельной переменной и о переменной Статуса.
Думал, что подав импульс на переменную для чтения всего устройства произойдет цикл чтения всех переменных устройства, но это оказалось не так.
Так как все таки использовать данные переменные для чтения например всех переменных устройства с циклом 1 секунда например ?
Нужно читать именно все переменные, тогда проще установить период опроса 1000 мс и все, будет читаться каждую секунду, если нужно выделить группу регистров и задать им определенный период, тогда назначить им всем одну и ту же битовую переменную и устанавливать ее с определенным периодом, сбросится она вроде как сама, после выполнения команды.
Ревака Юрий а примером кода можно ? как это она сама сбросится если мы ее выставим в 1 ?
У меня MB110-8АС, оставил только float и статусы каналов, но у меня используются не все каналы модуля сейчас, а только 3, потом буду добавлять.
Так как ПР не умеет читать группой, если я правильно понимаю, хочу сделать чтение только нужных и с разным периодом. Смысл например читать температуру улицы даже раз в сек ? вот никакого. Но что-то не получается добиться такого чтения. Думал просто подав импульс произойдет чтение всех указанных параметров, но не тут то было.... Я так понимаю надо держать 1 включенной на время чтения, но какое оно ? как сбрасывать после чтения ?
Не совсем понимаю, мы создаем переменную и пишем в нее 1 (каждый цикл), по сути там 1 всегда. Кто аппаратно его сбросит ?
Или я не туда смотрю, какие-то специализированные переменные для этого есть ?
Почему нет в справке по данному вопросу НИЧЕГО ?
Покажите скриншот настроек, я же не могу знать куда вы смотрите и что видите.
Что значит нет ничего?
Свойства переменной опрашиваемого устройства настраиваются справа от таблицы:
• Имя переменной — наименование для отображения в таблице переменных;
• Тип — тип переменной: булевский, целочисленный или с плавающей запятой;
• Бит (только для переменных булевского типа) — номер бита для чтения;
• Регистр/Адрес регистра — значение регистра, к которому обращается прибор, отображается в таблице;
• Функция чтения/функция записи — отключение или выбор функции записи/чтения;
• Количество (только для целочисленных переменных) — количество занимаемых переменной регистров: 1 или 2;
• Запуск чтения — назначается переменная булевского типа для принудительного чтения данной переменной;
• Запуск записи — назначается переменная булевского типа для принудительной записи данной переменной;
• Статус — назначается целочисленная переменная, в которую будет записан код ошибки Modbus, в случае ее появления;
• Комментарий — текстовое описание переменной для отображения в таблице переменных;
Я говорю об этом. О каком аппаратном сбросе вы говорите, применительно к данным переменным ?
И покажите где в справке ОЛ хоть слово о применении данных переменных ?
Вот покажите как планировалось их использовать для чтения тех или иных переменных из программы, кто это придумал должен же был как-то это описать в справке или как ?
В вашем случае достаточно установить период опроса 1000 или как часто необходимо опрашивать, удалить неиспользуемые каналы, и все будет опрашиваться с нужным периодом. либо использовать бит чтения, выставляя его с нужным периодом, ничего больше делать не нужно, но есть особенность, если период будет больше времени опроса, будет включаться время опроса, можно время опроса выставить в максимум или можно выделить в отдельное устройство модбас с одинаковым адресом, добавить нужные регистры и включать/выключать обмен самих модулей, то что обведено вверху справа "Опрос".
По всем тонкостям уже давно собираюсь сделать материал, так как это насущный вопрос.
Так.
Опрос - 1 просто разрешает опрос устройства и ничего более, пока в 1, устройство будет опрашиваться. Почему же устройство опрашивается, если переменная Опрос НЕ ЗАДАНА ???? где логика ? при чем опрашиваются ВСЕ переменные, в которых переменная "Запуск чтения" так же НЕ ЗАДАНА
Что на счет переменных Статус ?
И таки бит en1 и en2 не будет сбрасываться, если активировать вход и не трогать..
И таки не понимаю, о каком аппаратном сбросе бита речь, все в программе. Аппаратно, когда мы послали импульс в какую-то ВНУТРЕННЮЮ (флаг, маркер) переменную ПР и после чтения она будет сброшена самим ПР а не нашей программой. А то ваши слова об аппаратности переменных еще больше сбивают с толку.
Нет, флаги разрешения опроса самого устройства en1, en2 это постоянные значения (0 или 1), если туда ничего не назначено, ничего и не анализируется, модуль всегда в работе. А вот флаг чтения rd, он взводится по фронту, специально триггер поставил, а сбрасывается сами процессором, после опроса всех регистров куда входит флаг. Для всех остальных регистров где нет флагов чтения/записи работает опрос по заданному значению периода опроса, можно поставить в максимальное значение или выделить в отдельное устройство и запускать по разрешению, тогда не будет достигнуто максимальное время 65535 мс, разбив таким образом по группам, можно хоть раз в 10 минут запросы делать. Если флаг rd принудительно выставить в "1" без фронта, будет опрос с максимально возможной скоростью.
Вот у меня вопрос созрел, даже два: насколько понял опрос это и чтение и запись переменной, я правильно понял? Тогда почему не написать не опрос, а обмен, так, мне кажется, будет понятней, не будет вводить в заблуждение, всё-таки, под опросом я больше склонен понимать чтение, русский язык он очень коварный!
И второе: почему у Вас везде стоит галочка "Запись по изменению"?
Я вот в одном из проектов решил убрать эту галочку и всё перестаёт работать, пишется один регистр в СМИ2, даже период поставил 1000 мс, не пишет и всё, стоит поставить галочку запись по изменению - начинает писать, что за лабуда, противоречит вашим описаниям! Вот проект: Вложение 48360
СМИ2 находится рядом в 30 см от ПР200! Цикл программы 2 мс.
Объект рабочий, я не могу там долго экспериментировать, только когда что-то не работает или что-то добавим, в последний раз добавили счётчик воды с импульсным выходом(подключен на I6), залил программу без галочки "Запись по изменению", не работает, запись не идёт, ставлю галочку, перезаливаю, всё заработало, ура и так приблизительно каждые полгода!
Короче, какие мне в следующий раз поставить значения в настройках обмена, чтобы заработало без галочки "Запись по изменению", только скорость прошу не трогать, её я не стану менять, так как дело не в ней, с галочкой всё прекрасно работает на этой скорости!
В последних сообщениях нет ни одной операции на запись, чекбокс запись по изменению относится именно к записи, и Вы можете заметить, что при отключении команды на запись, он становится неактивным. Поэтому даже не знаю в чем причина, возможно импульсы в тот момент не изменяются, тогда команда не будет отправляться, если запись по изменению.
Видимо Вы как-то не так поняли: при записи по изменению всё хорошо работает, как только снимаю галку перестаёт работать, писать значения в единственный регистр, хотя по моим предположениям и вашим рассказам должно писать с периодом 1000 мс(такие у меня настройки) независимо изменилось значение или нет, я так понял Вы ещё никогда не пробовали писать что-либо с каким-то периодом?
И по первому вопросу хотелось бы внести ясность: опрос это только чтение или чтение и запись одновременно?
Ревака Юрий вы опять сбиваете с толку, rd будет сброшен на следующем цикле самим RTRIG, при чем тут какая то аппаратность процессора после чтения переменной ? хватит уже придумывать новые способности для ПР. или вы хотите сказать что если цикл ПР будет 10 мс, а чтением переменных 20 мс (всем поставим переменную rd для разрешения), то rd будет сброшен через 20 ? Из аппаратных вижу только часы, все остальное программные функции
з.ы. то есть фактически отключить опрос в ПР получается нельзя ? раз он будет выполняться при 1 в параметре Опрос и при отсутствии параметра, или при 0 в параметре устройство отключено ?
Например Опрос = 1, регистры с параметром Запуск чтения = 0 - переменные этих регистров никогда читаться не будут пока не подадим импульс на Запуск чтения ?
Понял о чем речь, специально проверил сейчас еще раз, да действительно настройка "Период опроса" это для чтения, если добавить команду на запись, без чекбокса "запись по изменению" запись не производится, т.е. в зависимости от ситуации или устанавливаем запись по изменению, тогда отправка будет при каждом изменении, что не всегда рационально, или используем флаг записи, алгоритм его работы как и с флагом чтения.
p.s Для меня это тоже стало неожиданностью, знал и забыл, или не обращал внимание.:confused:
Опрос = не задано, читается все.
С разрешением понятно (Опрос = 0 - нет опроса), Опрос = 1 - ведется опрос согласно Запуск чтения.
Так все же, переменная, привязанная к "Запуск чтения" будет сохранять лог 1 до окончания опроса или все же будет сброшена на следующем цикле FB RTRIG ?
Если rd, будучи запущенной через RTRIG контролируется ПР и удерживается в 1 до окончания запроса, который может быть дольше цикла ПР ее можно воспринимать как переменную busy ? или нет ?
Если к нескольким регистрам будет привязана одна переменная rd - какое будет поведение ? С учетом того, что нет групповых запросов в ПР.
И по поводу переменных Статус как применительно к устройству так и применительно к регистру вы ничего не написали...
Я сейчас попытаюсь все варианты собрать в одно целое и сделать пример, что как и когда. Скриншоты выше, там 10 регистров на чтение с установленными битами rd, после включения входа устанавливается этот бит, через 1 мс он сбросится, но он уже попал в модбас для запуска чтения, и после этого идут команды по очереди, с учетом отсутствия групповых, пока не отправятся все задания где задействован этот бит, после ничего не происходит, если отсутсвуют регистры для чтения по периоду опроса. На счет busy, сходу не скажу, но в ПР своя очередь, думаю что нет смысла сильно наворачивать еще и в логике. Статус устройства общий, "Статус — указание булевской переменной, в которую записывается статус прибора: 1 — устройство функционирует нормально, 0 — связь с устройством потеряна." если прибор отключен бит меняется с 1->0, на счет регистра "Статус — назначается целочисленная переменная, в которую будет записан код ошибки Modbus, в случае ее появления."