Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Программная среда Pl7 Pro
Диалог специалистов АВОК > ОБЩИЙ ФОРУМ > Автоматизация систем
colorprint2008
По заднему фронту меркера %M0 должна запускаться система, таймер должен досчитать до 20, после чего должен сброситься бит %М2, таймер устанавливается в 0 и система должна ожидать повторного включения заднего фронта меркера %М0. В данный момент счетчик досчитывает до 19 сбрасывается в 0 и начинает счет с начала. Есть предположение, что это связано с выше упомянутым задним фронтом. Как решить эту проблему?
Заранее спасибо.
!
IF %S13 THEN
SET %MW3:X0;
END_IF;
IF %MW3:X0 THEN
%MW4:=50;
%MW9:=20;
RESET %MW3:X0;
END_IF;
!
IF FE %M0 THEN
SET %M9;
END_IF;
IF %M9 THEN
%MW5:=%MW4;
SET %M2;
END_IF;
%M12:=%S6;
%M13:=%M12;
IF FE %M13 AND %M9 THEN
%MW8:=%MW8+1;
RESET %M13;
END_IF;
IF %MW8>=%MW9 THEN
%MW5:=%MW6;
RESET %M2;
RESET %M9;
%MW8:=0;
END_IF;
san
Попробуйте написать в конце программы
%M0:=%M0;
colorprint2008
Саму себе переприсвоить? А для чего это делается, объясните физический смысл данной записи.
P.S. Большое спасибо, работает. rolleyes.gif
san
Цитата(colorprint2008 @ 10.5.2013, 15:59) *
Саму себе переприсвоить? А для чего это делается, объясните физический смысл данной записи.

Это магия :-)
На самом деле EBOOL в PL7 (да и в UNITY) хранит в памяти не только само значение но и предыдущее значение и бит форсирования (он тут не причем). Так вот, при каждом обновлении переменной текущее значение записывается в предыдущее. RE и FE сравнивают биты текущего и предыдущего значения и делают выводы о фронтах. Ну а теперь, что же происходит?
Для %I всё работает как часы, так как каждый цикл эта переменная обновляется. А вот %M обновляется у Вас только по изменению с SCADA/HMI или таблицы анимаций. То есть, после изменения, её (%M0) никто не трогает и функции RE и FE будут отлавливать "вечный" фронт. Переприсвоение заставляет освежить переменную %M0 и крутиться битам текущий-предыдущий.
Типа что-то такого...
vladun
Колдун smile.gif
colorprint2008
Теперь понятно. Спасибо.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.