Добрый день!
Небольшой вопрос - работает ли внутри макроса для ПР200 запись в функциональный блок?
Owen Logic 1.13.182.17329 - обновил сегодня.
Дело в том, что написан макрос, с его целочисленного входа поступает сигнал на вход блока записи в функциональный блок (все это внутри макроса). Снаружи к целочисленному входу подключена целочисленная переменная, с хранением ее в энергонезависимой памяти и с инициализированным начальным значением. При конфигурировании внутри макроса выбран таймер TON, для него записывается время.
Целочисленная энергонезависимая переменная изменяется на экране ПР-200 - при помощи системы меню.
При запуске симулятора идет предупреждение о нулевом значении времени на этом таймере.
Будет ли работать данная связка на "железе"?
Вопрос задаю потому, что пока что нет возможности проверить на реальном ПР200, без симуляции.
На ОЛ-12 такая структура работает. Нет оснований считать что на 13-м вдруг перестанет. Отчего сомнение? 13-й вообще ничего не гарантирует и как бы на испытаниях? Я бы не рискнул его зарядить на реальный объект. С предупреждением такого содержания не сталкивался, пусть автор ОЛ ответит. Время=0 это не криминал. Кстати ОЛ даже делить на "0" допускает, а результат такого деления какой? "0"!.
Последний раз редактировалось Серёга Букашкин; 13.02.2019 в 15:15.
Объект реальный. Ранее внутри макросов не пользовался даже переменными, хотя пара-тройка десятков объектов на ПР110 и ПР200 были с моими программами.
Дело в том, что система обновления ОЛ уже предлагает такое обновление, и я его послушно выполнил (даже два подряд, т.к. пропустил выход двух обновлений). Привык доверять обновлениям, т.к. считаю, что в Овене работают достаточно грамотные и ответственные руководители проектов.
Увидел (с радостью), что реализована более широкая конвертация программ с одной модели ПР200 на другую (просил об этом в службе поддержки, рад что сделали). Кроме того, на овеновском семинаре просил сделать диагностику связи ПР200 с модулем расширения (сами понимаете, почему) - и это тоже было выполнено в предыдущих обновлениях.
Серьезный проект для реального объекта уже создан, вопрос стоял в том, выносить ли из макросов порядка 12 таймеров, или, как вариант, подобрать интервалы времени при пусконаладке и не давать возможности их изменить в будущем без моего участия (думаю, понимаете, почему последний вариант не очень хорош для несерийных изделий и нетиповых объектов).
PS Серьезно считаете, что не стоило переходить на версию 13 ? Я все же попробую, если что отпишусь - надеюсь, все работает нормально.
Последний раз редактировалось konst_smn; 13.02.2019 в 15:24.
А как относитесь к особенностям деления на "0"? Эта тема раньше мелькала, но заглохла. Результаты такого деления неадекватны для всех типов переменных. Ну что что стоило для целочисленных при "0" в знаменателе считать его "1"? Приходится такую подмену делать каждый раз в программе, чтобы не нарваться на разрыв функции. О результате сужу по симулятору, что на самом деле будет в ПР200 при делении на "0" не проверял, но надеюсь что не зависание.
Последний раз редактировалось Серёга Букашкин; 13.02.2019 в 15:45.
При симуляции не работает запись в функциональный блок (в моем случае таймер TON) ни внутри макроса, ни при выносе цепочки из макроса.
Пример приложил, таймер работает просто как элемент задержки на 1 цикл. То ли недоработка симулятора, то ли в реальном железе не будет работать... И вернуться на версию 12 в полном проекте огромный труд.... Что делать, ужас тихий...
Вопрос разработчикам - будет ли работать запись времени задержки в таймер TON на реальном "железе", ПР200-220.3.Х?
Если ответ отрицательный, в условиях существующих сроков сдачи заказчику - придется отказаться от настраиваемого времени задержки.
Последний раз редактировалось konst_smn; 14.02.2019 в 11:57.