Спасибо, так получается с таймером.
А как на счет моего основного вопроса в этой ветке по сохранению параметров ИП320 на ПЛК ???
Чувствую, что сегодня вечером заказчик будет меня убивать :-(((
Спасибо, так получается с таймером.
А как на счет моего основного вопроса в этой ветке по сохранению параметров ИП320 на ПЛК ???
Чувствую, что сегодня вечером заказчик будет меня убивать :-(((
Не совсем ясно, в чем у вас сложность. Пример мы вам выложили, пример этот рабочий. Если не получается его вставить в ваш проект - задайте вопросы по примеру. Перекапывать ваш проект и искать, где вы ошиблись, у нас физически нет возможности.
Задайте конкретный вопрос и получите конкретный ответ.
"Тот UMD, который предназначен для восстановления настроек, отрабатывает, записывает данные в соответствующие регистры панели. Однако, в саму панель данные не попадают!"
Если UMD отрабатывает, значит данные в панель должны попадать. Соответственно, UMD у вас работает некорректно. Проверьте условия, при которых он включается в работу.
Последний раз редактировалось Kirill; 24.11.2008 в 11:18.
Для чего тогда был этот пост? Если для того, чтобы просто отписаться, проще было сказать, что Вы не можете мне помочь. А как задать вопрос еще более конкретно - фантазии уже не хватает.
Если созданы 2 UMD, которые определяют одно и то же физическое устройство, то при здравой логике запись в регистры одного UMD (при выключенном втором UMD) должна отражаться на ИП320. Однако в программе в регистры значения попадают, а в самой ИП320 ничего не меняется. Причем посыл команды 0x00FF тому UMD, который должен восстановить настройки, ничего не меняет. Уж как только не пробовал.
Так что как с этим всем бороться - неизвестно...
Может загадка решится тем, что в режиме BY command по команде =FF идет запись только одного регистра??
блок blink у вас вызывается следующим образом
BLINK_RESTORE(ENABLE:=TRUE , TIMELOW:=T#98ms , TIMEHIGH:=T#200ms );
соответственно, 98 мс передача не производится, а потом в течение 200мс в каждом цикле вы заставляете umd стучаться в панель.
Попробуйте задать
BLINK_RESTORE(ENABLE:=TRUE , TIMELOW:=T#200ms , TIMEHIGH:=T#2ms );
Быть может даже не 200мс, а более в time low, но timehigh надо задать примерно равным одному циклу ПЛК.
Еще одно важное замечание.
Поставьте в конфигурации ПЛК в модбас мастере в свойствах интерфейса параметр framing time 10 или 20 мс.
и в UMD параметр amount repeat 1.