Обучаем новичка программированию ПЛК и Скада-систем
Re: Обучаем новичка программированию ПЛК и Скада-систем
У меня комфорт не установлен. В KTP1200 Basic для события Click кнопки можно назначить действие ScreenObjectCursorUp, ScreenObjectCursorDown или ScreenObjectPageUp, ScreenObjectPageDown.
Re: Обучаем новичка программированию ПЛК и Скада-систем
Спасибо, и тут есть! я уже скриптами стал из.....ся. Кстати, по поводу вот текстовых сообщений. Примерно так это выглядит? Завтра на стенде буду пробовать, сейчас нет возможности
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Re: Обучаем новичка программированию ПЛК и Скада-систем
1. в первой цепочке используй операцию "меньше" (<) вместо OUT_RANGE. Должно быть Level_LI1_R < Set_level_high.
2. во второй цепочке используй IN_RANGE (внутри диапазона), вместо OUT_RANGE (вне диапазона). Получится Set_level_high =< Level_LI1_R =< Set_level_high_high
3. и добавь третью цепочку: записывай значение "2" при условии Level_LI1_R > Set_level_high_high. Операция "больше".
У тебя для этого текстового сообщения три состояния - Normal (0), High (1) и Very High (2).
2. во второй цепочке используй IN_RANGE (внутри диапазона), вместо OUT_RANGE (вне диапазона). Получится Set_level_high =< Level_LI1_R =< Set_level_high_high
3. и добавь третью цепочку: записывай значение "2" при условии Level_LI1_R > Set_level_high_high. Операция "больше".
У тебя для этого текстового сообщения три состояния - Normal (0), High (1) и Very High (2).
Re: Обучаем новичка программированию ПЛК и Скада-систем
Спасибо, что разжевал. Все сделал, все работает. Вопрос меня мучает, про фиксацию. Ну если вдруг понадобится фиксировать какое-то сообщение до квитирования. Попробовал реализовать сбросом,установкой битов, но оно что-то не сбрасывается из скады у меня. И еще вопрос, у меня есть ПИД-регулятор, я сделал для него переключение между ручным режимом и автоматом. Создал для него 1 поле ввода/вывода и 1 поле вывода. Настроил параметры видимости. Когда в ручном режиме я сам задаю сколько мне на выход ЧРП нужно, то есть активно поле в/в, в автомате соответственно поле вывода просто. Так вот мне нужно, дабы избежать резких скачков пид-регулятора, при переводе допустим,из ручного (в котором забито значение 40 %) в автомат, чтобы это значение копировалось туда и наоборот, если у меня в автомате на выходе 80, при переводе переключателя в ручной режим тоже становилось 80. Не подскажите,как это можно реализовать
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Re: Обучаем новичка программированию ПЛК и Скада-систем
Какой из ПИД-регуляторов используешь? PID_Compact?
Re: Обучаем новичка программированию ПЛК и Скада-систем
так точно, PID_Compact!
Re: Обучаем новичка программированию ПЛК и Скада-систем
Каким образом вывод архивов трендов,сообщений можно в панели организовать? В ВыньЦЦ есть окно "Configuration dialog" там можно выбрать период времени и архив загрузится. Здесь же такого нет
Re: Обучаем новичка программированию ПЛК и Скада-систем
Тебя интересует безударный переход с автоматического на ручной режим (bumpless switchover). Это не что-то новенькое для Сименса. Надо поискать.creept писал(а):PID_Compact!
Re: Обучаем новичка программированию ПЛК и Скада-систем
скажите, в этой теме вопрос архивирования alarm´ов обсуждался?
в мануале написано, что при вызове alarm сообщение (hmi) автоматически сохраняется. у панелей могут быть, как слоты для карт так и для usb устройств.
в каком месте нужно указывать место сохранения?
в мануале написано, что при вызове alarm сообщение (hmi) автоматически сохраняется. у панелей могут быть, как слоты для карт так и для usb устройств.
в каком месте нужно указывать место сохранения?
Supervision of erection
Re: Обучаем новичка программированию ПЛК и Скада-систем
с панелью, как я правильно сапорт понял, только на компе сохраненные просматривать можно. могу врать, общался только с basic панелями.Здесь же такого нет
и вопрос, а где можно "картинок" красивых набрать, для визуализации?
в TIA Portale количество доступных зависит от типа выбранной панели, круче панель, больше инструментов доступных.
Supervision of erection
Re: Обучаем новичка программированию ПЛК и Скада-систем
Нет, не обсуждался. На Ваши вопросы ответить не готов.Ka3ax писал(а):скажите, в этой теме вопрос архивирования alarm´ов обсуждался?
Re: Обучаем новичка программированию ПЛК и Скада-систем
Здравствуйте, ребята подскажите такую вещь. Мне нужно, чтобы после запуска насоса (то есть команда прошла), в течение какого-то времени система не обращала внимание на ошибки (с датчиков, исп.механизмов и прочее), чтобы показатели успели прийти в норму и насос постоянно не останавливался. Я делаю так (как мне кажется правильно, но я не уверен): во-первых у меня регистрируются ошибки по вибрации, давлению, температуре, и концевик открытия кожуха. Для возможности старта насоса меня интересуют только температура и концевик кожуха-эти алармы я объединил в одну переменную - М200.1 (start_err). То бишь если концевик или какая-то из температур =1, то М200.1-true, и если нажата клавиша старт. При выполнении 2 этих условий система получает статус-ON, далее следует таймер, блок ИЛИ, и проверка статуса на случай если нажата клавиша стоп или присутствует какая-то ошибка (на этот раз любая, т.к система уже должна была прийти в норму). Вообщем скрин ниже. Ребята, я правильно рассуждаю:
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Re: Обучаем новичка программированию ПЛК и Скада-систем
Составление логических уравнений - это искусство переводить с разговорного языка на язык логики высказываний.
Смотрим:
Существует три типа таймера TON, TOF и TP:
1) TON выдает выходной сигнал всегда не дольше, чем сигнал на входе таймера.
2) TOF выдает выходной сигнал всегда дольше, чем сигнал на входе таймера.
3) TP выдает сигнал строго фиксированного времени, независимо от сигнала на входе (ему достаточно фронта сигнала на входе).
Нам подходит TON, т.к. сигнал "насос запущен" всегда должен длится не дольше, чем вся работа насоса (работа = насос запущен + запуск насоса).
ошибка_работа := ошибка AND насос_запущен,
где ошибка - это чистая ошибка, ошибка_работа - это ошибка, которая принудительно обнулена в процессе запуска.
Таким образом нужно иметь следующие переменные: работа_насоса, насос_запущен, ошибка, ошибка_работа.
Обрати внимание: никакой кнопки "пуск насоса" в алгоритме нет. Кнопка косвенно участвует в алгоритме через переменную "работа насоса", она включает эту переменную, но не в этой части программы.
Смотрим:
creept писал(а):Мне нужно, чтобы после запуска насоса (то есть команда прошла), в течение какого-то времени система не обращала внимание на ошибки (с датчиков, исп.механизмов и прочее)
Переменная "работа насоса" включает таймер "насос запущен".creept писал(а):после запуска насоса (то есть команда прошла), в течение какого-то времени
Существует три типа таймера TON, TOF и TP:
1) TON выдает выходной сигнал всегда не дольше, чем сигнал на входе таймера.
2) TOF выдает выходной сигнал всегда дольше, чем сигнал на входе таймера.
3) TP выдает сигнал строго фиксированного времени, независимо от сигнала на входе (ему достаточно фронта сигнала на входе).
Нам подходит TON, т.к. сигнал "насос запущен" всегда должен длится не дольше, чем вся работа насоса (работа = насос запущен + запуск насоса).
Что значит "не обращать внимание"? Это значит, что у системы есть вход для контроля ошибки, но в процессе запуска на входе ошибка должна принудительно обнуляться и таким образом система не будет реагировать на ошибку. При чем обнуление ошибки можно делать с помощью сигнала "насос запущен", взятый с выхода таймера TON. Можно обнулять ошибку так:creept писал(а):система не обращала внимание на ошибки (с датчиков, исп.механизмов и прочее)
ошибка_работа := ошибка AND насос_запущен,
где ошибка - это чистая ошибка, ошибка_работа - это ошибка, которая принудительно обнулена в процессе запуска.
Таким образом нужно иметь следующие переменные: работа_насоса, насос_запущен, ошибка, ошибка_работа.
Обрати внимание: никакой кнопки "пуск насоса" в алгоритме нет. Кнопка косвенно участвует в алгоритме через переменную "работа насоса", она включает эту переменную, но не в этой части программы.
Re: Обучаем новичка программированию ПЛК и Скада-систем
Здесь есть знатоки WIN CC ? Если да, то есть небольшой вопрос , как правильно реализовать подсчет времени наработки за смену , с занесением этого времени в архив и вывод отчета по наработке в дальнейшем. В голове крутится мысль, что по стартовому тегу должен запускаться некий таймер, по тегу остановки останавливаться , в конце смены , к примеру в 8:00, некая процедура должна занести полное подсчитанное время в архив и в случае удачной пересылки данных сбросить таймер и заново начать отсчет времени для новой смены. Осваиваю VBA как запускать и останавливать счетчик уже разобрался с остальным пока , что тупик.
Re: Обучаем новичка программированию ПЛК и Скада-систем
HMI comfort 1500 в TIA.
изменения цвета иконки, пиктограммы.
в свойствах пиктограммы в меню "анимация, динамическое изменение цвета и моргание" привязываю ко внутренней переменной (tag) bool, например, "Ogonek". Имя осталось с примера "зажигания" факела, visible "изучал"
назначаю цвета для 1 и 0. Тип переменной RANGE, radiobutton одиночный бит не доступен.
внутреннению Bool-переменную изменяю нажатием на кнопку "Сменить состояние", специально для теста создаю. кнопка устанавливает или сбрасывает бит переменной "Ogonek"
если включить моргание, то при нажатии кнопки с"менить состояние" изменяется переменная и пиктограмма моргает.
если выключаю моргание, то ничего с пиктограммой не происходит при изменении переменной "состояние".
пока что в симуляции делаю это. возможно симуляция криво идет, так как заметил, что назначив одному объекту анимацию, анимируется другой, в свойствах которого выключена анимация. В следующий раз все отрадно.
изменения цвета иконки, пиктограммы.
в свойствах пиктограммы в меню "анимация, динамическое изменение цвета и моргание" привязываю ко внутренней переменной (tag) bool, например, "Ogonek". Имя осталось с примера "зажигания" факела, visible "изучал"
назначаю цвета для 1 и 0. Тип переменной RANGE, radiobutton одиночный бит не доступен.
внутреннению Bool-переменную изменяю нажатием на кнопку "Сменить состояние", специально для теста создаю. кнопка устанавливает или сбрасывает бит переменной "Ogonek"
если включить моргание, то при нажатии кнопки с"менить состояние" изменяется переменная и пиктограмма моргает.
если выключаю моргание, то ничего с пиктограммой не происходит при изменении переменной "состояние".
пока что в симуляции делаю это. возможно симуляция криво идет, так как заметил, что назначив одному объекту анимацию, анимируется другой, в свойствах которого выключена анимация. В следующий раз все отрадно.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Supervision of erection