0 / 0 / 0
Регистрация: 16.09.2022
Сообщений: 41
1

Кнопка запоминания

08.12.2022, 16:37. Показов 322. Ответов 5
Метки нет (Все метки)

Здравствуйте, нужно сделать запоминание по кнопке.
1. Нажимаешь на нее она выключает все выходы, которые были включены.
2. Повторное нажатие включает все те кнопки, которые были включены.

Работают исправно с in1 по in 18.
In_m работает, но есть недочет, выключает только, если включить сразу несколько входов(если включает по одному, то он выключает только последний включенный, а должен все включенные независимо от порядка и времени).
In_n вообще не выключает, тоже самое и с in_v и тд.
Также если кто знает не могли бы подсказать, как сделать включение по группам несколькими нажатиями.
Один раз нажать включит там с 1по3 выход, 2раза с 4 по6, а выключать будет, также 1 раз нажал выключит с 1по3, 2 раза с 4по6, и чтобы при этом не переключался 1, поставить допустим таймер 2сек.
Наверное надо было это в другой теме).
Буду рад любой подсказке.
Вложения
Тип файла: rar nelast4_444.rar (53.4 Кб, 5 просмотров)
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.12.2022, 16:37
Ответы с готовыми решениями:

Переменная для запоминания
Необходимо осуществить программу, редактирующую некоторый текст. Первый пункт я выполнил, ко...

Калькулятор с функцией запоминания
Приветствую всея форума. Такая проблема собственно: Требуется: написать калькулятор, в котором при...

Невозможность запоминания поля
при вводе логина или пароля на сайте браузер предлагает сохранить эти записи и при следующем...

Запоминания программой прошлых проектов
Всем привет, хотел спросить о том как сделать, чтобы программа запоминала прошлые проекты. Если...

Команда для запоминания даты
Нужно создать бат файл который От имени администратора запоминает текущую дату вводит дату...

5
33 / 33 / 3
Регистрация: 07.05.2013
Сообщений: 71
10.01.2023, 08:39 2
Здравствуйте, Доффи4.
Взглянул Ваш проект и понял, что реализация любой хотелки превратится в перепись почти всего проекта с затратами времени 5-10 человеко-часов).
Я так понимаю изменений будет еще ОЧЕНЬ много, соответственно необходимо изменить архитектуру программы.
Например: если нужно запомнить этап подпрограммы - необходимо у подпрограммы реализовать выходную переменную этапа. Так же реализовать входные переменные: "номер этапа" и "перевести подпрограмму на указанный номер этапа" и т.д.
На языке программирования FBD/CFC по быстрому хотелки не удобно реализовывать.
Для Вашей программы могу порекомендовать больше использовать язык ST и SFC (поможет упорядочить программу и значительно упростит внесение изменений.)

P. S. Заметил косяк в программе не предусмотрена задержка выполнения алгоритма до того как будут получены данные из интерфейса RS485.
0
Модератор
Эксперт по электронике
8276 / 4180 / 1595
Регистрация: 01.02.2015
Сообщений: 12,994
Записей в блоге: 3
10.01.2023, 10:18 3
Цитата Сообщение от AndreyAndreev Посмотреть сообщение
не предусмотрена задержка выполнения алгоритма до того как будут получены данные из интерфейса RS485
Спрошу из практического любопытства - а для чего требуется сначала получить что-то от панели?
Ведь настройки и так хранятся в энергонезависимых переменных самого ПЛК.

Возможен вариант некорректных данных, но он устраняется отдельной подпрограммой контроля и коррекции входных параметров.

Т.е. у меня вопросы:
1. какая цель ожидания данных от интерфейса связи?
2. какой объём данных требуется получить от интерфейса?
3. как проконтролировать получение требуемого объёма данных?

Если не сложно - покажите и кодом.

Сообразил, речь не о переменных, а об опросе модулей ввода-вывода.
Всё равно, остаются вопросы по объёму данных и его контролю.

И как контролируете ошибки связи с несколькими модулями? Ошибки могут быть периодическими из-за помех, поэтому аварийный останов оборудования по первому взведению ошибки связи невозможен.
0
33 / 33 / 3
Регистрация: 07.05.2013
Сообщений: 71
10.01.2023, 21:03 4
Цитата Сообщение от ФедосеевПавел Посмотреть сообщение
Спрошу из практического любопытства - а для чего требуется сначала получить что-то от панели?
Ведь настройки и так хранятся в энергонезависимых переменных самого ПЛК.
Возможен вариант некорректных данных, но он устраняется отдельной подпрограммой контроля и коррекции входных параметров.
Т.е. у меня вопросы:
1. какая цель ожидания данных от интерфейса связи?
На входе дискретного модуля висит кнопка "Аварийный останов" или "пуск" и тд. При подачи питания на контроллер значения булевой переменной будет false. Таким образом при подачи питания сразу начнется процедура "аварийный останов" с соответствующим уведомлением всего и всех. Для котельных разная "загазованность". Для охраны "Взлом". Уверен, что еще примеры сможете и сами придумать.
Цитата Сообщение от ФедосеевПавел Посмотреть сообщение
2. какой объём данных требуется получить от интерфейса?
Пара модулей на интерфейсе уже может привести к "странностям".
Цитата Сообщение от ФедосеевПавел Посмотреть сообщение
3. как проконтролировать получение требуемого объёма данных?
Сообразил, речь не о переменных, а об опросе модулей ввода-вывода.
Всё равно, остаются вопросы по объёму данных и его контролю.
И как контролируете ошибки связи с несколькими модулями?
В кодесис можно реализовать опрос библиотеками или с помощью штатного средства "Конфигурация ПЛК". Для "Конфигурации ПЛК" в "ModBus (Master)" есть два параметра "Last address" и "Last error". То есть при опросе модулей для конкретного адреса есть статус "Last error", если при опросе 128 адреса ласт еррор = 0, значит все ок. и на оборот.
Если опрос библиотеками, то нужно смотреть описание библиотек.
Цитата Сообщение от ФедосеевПавел] Посмотреть сообщение
Ошибки могут быть периодическими из-за помех, поэтому аварийный останов оборудования по первому взведению ошибки связи невозможен.
Согласен что фильтры дискретных сигналов по времени должны быть, но пяток секунд постоять после подачи питания будут не лишним) У меня было около 1000 дискретных сигналов на объекте каждый лишний раз упаришься фильтровать.
Цитата Сообщение от "ФедосеевПавел
Если не сложно - покажите и кодом.
Картинка во вложении. В шаге Init выключение всего и всех. Шаг stpDelay это и есть пауза на пять секунд при пуске программы. Сама программа выполняется в шаге stpWork. Обработка сервисных функций: связь, загрузка/сохранение настроек и тд. в шаге stpService.
Миниатюры
Кнопка запоминания  
0
Модератор
Эксперт по электронике
8276 / 4180 / 1595
Регистрация: 01.02.2015
Сообщений: 12,994
Записей в блоге: 3
10.01.2023, 22:07 5
Обычную паузу как-то делал без таймера в квадратике - средствами условия перехода.

Не по теме:

Мне уже доводилось делать программы для ПЛК Овен, но количество входов-выходов было невелико и модули не использовались. Это было 10 лет назад. Потом работал с другими ПЛК, модули которых подключались по внутренней шине и их неисправности отслеживались служебными переменными.

С этого лета вернулся к ПЛК Овен, но сразу с несколькими модулями. Из-за отсутствия опыта, времени на обучение и эксперименты (чтобы успокоить заказчика меня выпихнули в командировку, чтобы заказчик каждый день видел присутствие программиста и его работу), связывался с модулями через конфигуратор. И тут выяснилось, что отслеживание состояние обрыва связи весьма нетривиальная задача.

Скоро предстоит ещё один проект ПЛК+модуль. Думаю организовать обмен через библиотеки - в доках к ним есть пример.
В преддверии работ и расспрашиваю всех.



А что такое загрузка-сохранение настроек?
0
33 / 33 / 3
Регистрация: 07.05.2013
Сообщений: 71
11.01.2023, 12:28 6
Здравствуйте, Павел.
Цитата Сообщение от ФедосеевПавел Посмотреть сообщение
А что такое загрузка-сохранение настроек?
Чтение/сохранение настроек во внутреннюю энергонезависимую память в виде файла по формату записи похожему на CSV. Так как стандартные средства "ретэйн" и тд. работают пока аккумулятор/батарейка новая (полгода/год) внутри контроллера.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.01.2023, 12:28
Помогаю со студенческими работами здесь

Автоматическое запоминания время пользователя
Здравствуйте уважаемые программисты. Уже какой день не могу решить проблему. А вот и сама...

код для запоминания учетной записи
Всем привет... Нужна помощь .. нужен код для запоминания учетной записи. З,Ы, Заранее Благодарю !

Алгоритм запоминания языка при изучении...
Программисты, подскажите свои методы запоминания столь многочисленных функций языков...

Программа для запоминания таблицы умножения
Решил реализовать программу для запоминания таблицы умножения для младшей сестренки, что хочу...

OpenFileDialog проблема запоминания главного каталога
Добрый ночи, бьюсь уже 2ой час не могу найти выход из простой ситуации которая загнала в тупик...

Программа для запоминания англ. слов
Может кто-нибудь делал для себя что-то подобное. Нужна программа (портабельная, работающая с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru