Вложение 826
Вот часть проекта, в которой пытаюсь сохранить данные с панельки и затем восстановить.
Ко всему прочему появился вопрос по ФБ TON, который используется в данном примере. На его вход подано IN:=TRUE, интервал времени истек, а на выходе TRUE так и не появляется. Такое замечал уже не раз при использовании TON. Почему это может происходить?
project.RAR
Еще раз.
Для чего тогда был этот пост? Если для того, чтобы просто отписаться, проще было сказать, что Вы не можете мне помочь. А как задать вопрос еще более конкретно - фантазии уже не хватает.
Если созданы 2 UMD, которые определяют одно и то же физическое устройство, то при здравой логике запись в регистры одного UMD (при выключенном втором UMD) должна отражаться на ИП320. Однако в программе в регистры значения попадают, а в самой ИП320 ничего не меняется. Причем посыл команды 0x00FF тому UMD, который должен восстановить настройки, ничего не меняет. Уж как только не пробовал.
Так что как с этим всем бороться - неизвестно...
блок 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.