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сек. Наверное надо было это в другой теме). Буду рад любой подсказке.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
|
|
08.12.2022, 16:37 | |
Ответы с готовыми решениями:
5
Калькулятор с функцией запоминания
Запоминания программой прошлых проектов
|
33 / 33 / 3
Регистрация: 07.05.2013
Сообщений: 71
|
|
10.01.2023, 08:39 | 2 |
Здравствуйте, Доффи4.
Взглянул Ваш проект и понял, что реализация любой хотелки превратится в перепись почти всего проекта ![]() Я так понимаю изменений будет еще ОЧЕНЬ много, соответственно необходимо изменить архитектуру программы. Например: если нужно запомнить этап подпрограммы - необходимо у подпрограммы реализовать выходную переменную этапа. Так же реализовать входные переменные: "номер этапа" и "перевести подпрограмму на указанный номер этапа" и т.д. На языке программирования FBD/CFC по быстрому хотелки не удобно реализовывать. Для Вашей программы могу порекомендовать больше использовать язык ST и SFC (поможет упорядочить программу и значительно упростит внесение изменений.) P. S. Заметил косяк в программе не предусмотрена задержка выполнения алгоритма до того как будут получены данные из интерфейса RS485.
0
|
Модератор
![]() |
|
10.01.2023, 10:18 | 3 |
Спрошу из практического любопытства - а для чего требуется сначала получить что-то от панели?
Ведь настройки и так хранятся в энергонезависимых переменных самого ПЛК. Возможен вариант некорректных данных, но он устраняется отдельной подпрограммой контроля и коррекции входных параметров. Т.е. у меня вопросы: 1. какая цель ожидания данных от интерфейса связи? 2. какой объём данных требуется получить от интерфейса? 3. как проконтролировать получение требуемого объёма данных? Если не сложно - покажите и кодом. Сообразил, речь не о переменных, а об опросе модулей ввода-вывода. Всё равно, остаются вопросы по объёму данных и его контролю. И как контролируете ошибки связи с несколькими модулями? Ошибки могут быть периодическими из-за помех, поэтому аварийный останов оборудования по первому взведению ошибки связи невозможен.
0
|
33 / 33 / 3
Регистрация: 07.05.2013
Сообщений: 71
|
|
10.01.2023, 21:03 | 4 |
На входе дискретного модуля висит кнопка "Аварийный останов" или "пуск" и тд. При подачи питания на контроллер значения булевой переменной будет false. Таким образом при подачи питания сразу начнется процедура "аварийный останов" с соответствующим уведомлением всего и всех. Для котельных разная "загазованность". Для охраны "Взлом". Уверен, что еще примеры сможете и сами придумать.
Пара модулей на интерфейсе уже может привести к "странностям". В кодесис можно реализовать опрос библиотеками или с помощью штатного средства "Конфигурация ПЛК". Для "Конфигурации ПЛК" в "ModBus (Master)" есть два параметра "Last address" и "Last error". То есть при опросе модулей для конкретного адреса есть статус "Last error", если при опросе 128 адреса ласт еррор = 0, значит все ок. и на оборот. Если опрос библиотеками, то нужно смотреть описание библиотек. Согласен что фильтры дискретных сигналов по времени должны быть, но пяток секунд постоять после подачи питания будут не лишним) У меня было около 1000 дискретных сигналов на объекте каждый лишний раз упаришься фильтровать. ![]()
0
|
Модератор
![]() |
|
10.01.2023, 22:07 | 5 |
Обычную паузу как-то делал без таймера в квадратике - средствами условия перехода.
Не по теме: Мне уже доводилось делать программы для ПЛК Овен, но количество входов-выходов было невелико и модули не использовались. Это было 10 лет назад. Потом работал с другими ПЛК, модули которых подключались по внутренней шине и их неисправности отслеживались служебными переменными. А что такое загрузка-сохранение настроек?
0
|
33 / 33 / 3
Регистрация: 07.05.2013
Сообщений: 71
|
|
11.01.2023, 12:28 | 6 |
Здравствуйте, Павел.
Чтение/сохранение настроек во внутреннюю энергонезависимую память в виде файла по формату записи похожему на CSV. Так как стандартные средства "ретэйн" и тд. работают пока аккумулятор/батарейка новая (полгода/год) внутри контроллера.
1
|
11.01.2023, 12:28 | |
Помогаю со студенческими работами здесь
6
Автоматическое запоминания время пользователя код для запоминания учетной записи Алгоритм запоминания языка при изучении... Программа для запоминания таблицы умножения OpenFileDialog проблема запоминания главного каталога Программа для запоминания англ. слов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |