Реклама / ООО «ИЗОЛПРОЕКТ» / ИНН: 7725566484 | ERID: 2Vtzqx6kV7S
IPB IPB
Проектирование, монтаж, наладка, сервис


Здравствуйте, гость ( Вход | Регистрация )

- Стандарт НП «АВОК» 7.11-2024
«Рекомендации по проектированию инженерных систем
дошкольных образовательных организаций»

АВОК в соц. сетях
ИНН: 7714824045 | erid: 2VtzqwzKQiU
 
Добавить ответ в эту темуОткрыть тему
> Программная среда Pl7 Pro, Помогите с кодом
colorprint2008
сообщение 8.5.2013, 14:33
Сообщение #1





Группа: New
Сообщений: 9
Регистрация: 15.6.2012
Из: Донецк
Пользователь №: 153819



По заднему фронту меркера %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
сообщение 8.5.2013, 16:06
Сообщение #2





Группа: Участники форума
Сообщений: 531
Регистрация: 10.1.2008
Из: Киев
Пользователь №: 14316



Попробуйте написать в конце программы
%M0:=%M0;

Сообщение отредактировал san - 8.5.2013, 16:11
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
colorprint2008
сообщение 10.5.2013, 15:59
Сообщение #3





Группа: New
Сообщений: 9
Регистрация: 15.6.2012
Из: Донецк
Пользователь №: 153819



Саму себе переприсвоить? А для чего это делается, объясните физический смысл данной записи.
P.S. Большое спасибо, работает. rolleyes.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
san
сообщение 11.5.2013, 8:38
Сообщение #4





Группа: Участники форума
Сообщений: 531
Регистрация: 10.1.2008
Из: Киев
Пользователь №: 14316



Цитата(colorprint2008 @ 10.5.2013, 15:59) *
Саму себе переприсвоить? А для чего это делается, объясните физический смысл данной записи.

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

Сообщение отредактировал san - 11.5.2013, 8:40
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
vladun
сообщение 11.5.2013, 9:33
Сообщение #5





Группа: Участники форума
Сообщений: 3069
Регистрация: 6.9.2006
Пользователь №: 3907



Колдун smile.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
colorprint2008
сообщение 13.5.2013, 8:35
Сообщение #6





Группа: New
Сообщений: 9
Регистрация: 15.6.2012
Из: Донецк
Пользователь №: 153819



Теперь понятно. Спасибо.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

Добавить ответ в эту темуОткрыть тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

Реклама
ООО «Арктика групп» ИНН: 7713634274



ООО "Русич" ИНН 9721068883 / ЕРИД 2VtzqvMjLF8


ООО «УНИСПЛИТ» ИНН: 6453155081 erid:2VtzqxXgvJi

Реклама: ООО «СибСтронг» | ИНН 6670013662 | ERID: 2VtzqwyM2dc

Последние сообщения Форума






RSS Текстовая версия Сейчас: 24.7.2025, 7:44
Политика ООО ИИП «АВОК-ПРЕСС» в отношении обработки персональных данных