Просмотр полной версии : Управление выходами по таймеру
Здравствуйте,
ПЛК110-220.30.Р-М
МУ110-224.16К
Начал писать программу, при появлении сигнала на дискретном входе 1 контроллера начинают отрабатывать выходы на модулях вывода. Всего будет задействовано 24 выхода.
Пока получилось так что первый выход отрабатывает при нажатии кнопки и остается включенным 5 секунд. После того как первый отработал включается второй выход на 5 секунд и тд.
Как мне реализовать переход с первого выхода на второй? Программа на скриншоте.
вместо этого кода вставить следующую конструкцию
IF tTON.Q THEN
// реализация включения выходов по алгоритму
END_IF;
tTON(IN:=NOT tTON.Q,PT:=T#5s);
lara197a
16.01.2018, 15:03
По заднему фронту.
F_TRIG
Уважаемые,, подскажите еще как назначить QX6.1.0.0.0 элементом массива? Как в кодесис 3 не получается, т е вместо out1 написать например out[1]
lara197a
17.01.2018, 07:59
Обзовите выход как-то в области ввода-вывода, к примеру "puskatel_1"
При инициализации массива присвойте переменной массива эту переменную.
или отдельно пропишите присвоение значения переменной из массива
(на прямую или через указатель)
массив из булей ручками в программе out[1] := out1; не подходит?
) ага 24 раза, а если 48 попросят?
указатели для битов сложны для понимания и код получится не менее громоздкий, вернее разбросаный по проекту, легче обычное присвоение
ЗЫ не открывал, возможно здесь работа с битами из конфигурации http://www.owen.ru/forum/showthread.php?t=15455&p=142016&viewfull=1#post142016
lara197a
17.01.2018, 11:12
Кстати да, совсем забыл.
С битами, через указатель КДС работать не будет.
Лучше простая инициализация присваиванием.
Если нудно, то цикл FOR вам в помощь. создайте переменные с одинаковым именем и номерами.
А что нельзя QX6.1.0.0.0 обозвать out, и, потом обращаться out.0, out.1 и т.д.
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot