Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 18 из 18

Тема: СП3хх - групповые запросы к ПР

  1. #11

    По умолчанию

    Я тоже решил так делать, с чтением понятно. Но имею проблему как записывать. Например у меня 20 кнопок, каждая формирует при нажатии "функциональная кнопка" свой код команды в один и тот же PSW регистр. Подозреваю что работать это не будет, будет всегда в регистре код от последней прочитанной кнопки. Да? Тогда как? Каждую в отдельный регистр? Но как их потом объединить по ИЛИ в один регистр, отправляемый на запись? Или лучше по нажатию каждой кнопки ставить отдельный бит, а затем макросом присваивать в PSW константу кода опросом этих бит "если 1, то константа, иначе "0"? Команд будет много (до 200), только через код реально их писать в контроллер.
    Последний раз редактировалось Серёга Букашкин; 09.08.2018 в 14:39.

  2. #12
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    3,825

    По умолчанию

    Цитата Сообщение от Серёга Букашкин Посмотреть сообщение
    Я тоже решил так делать, с чтением понятно. Но имею проблему как записывать. Например у меня 20 кнопок, каждая формирует при нажатии "функциональная кнопка" свой код команды в один и тот же PSW регистр. Подозреваю что работать это не будет, будет всегда в регистре код от последней прочитанной кнопки. Да? Тогда как? Каждую в отдельный регистр? Но как их потом объединить по ИЛИ в один регистр, отправляемый на запись? Или лучше по нажатию каждой кнопки ставить отдельный бит, а затем макросом присваивать в PSW константу кода опросом этих бит "если 1, то константа, иначе "0"? Команд будет много (до 200), только через код реально их писать в контроллер.
    Я же Вам уже показал на примере цифрового ввода - писать нужно сразу в регистр ПР( 4х), а не в PSW. Запись ведь панель делает по изменению значения и в Вашем случае всегда по одному регистру.

    ЗЫ.
    К стати вместо ф.кнопки можете использовать кнопку Операции с данными. Она проще
    Захват-1.jpg
    Последний раз редактировалось petera; 09.08.2018 в 15:07.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  3. #13
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    3,825

    По умолчанию

    Цитата Сообщение от Серёга Букашкин Посмотреть сообщение
    Мне нужно чтобы запись выполнялась постоянно. Беда если при отпускании кнопки посылка записи с кодом "0" не пройдет, а она однократная. Команда зависнет. Нужно свободным битом постоянно мигать чтобы сделать посылки командного регистра постоянными? Другого способа нет?
    Тогда конечно нужно ф. кнопку использовать
    Она может формировать команды записи в четырех случаях
    и при нажатии
    Захват-1.png

    и при отпускании
    Захват-2.png
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  4. #14
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    3,825

    По умолчанию

    Цитата Сообщение от Серёга Букашкин Посмотреть сообщение
    Да, и у меня используется режим "Зажата", код идёт все время нажатия. Поэтому через PSW. Но как будет отправляться не понимаю пока. Если нужно постоянно подтверждать код, то получается нужно подмешивать нечто мигающее например в бите 15 у этого регистра. И на запись отправлять уже всю эту смесь из PSW. Также постоянная посылка контрольного бита нужна, чтобы со стороны приемника иметь критерий "нет связи" и по нему блокировать все команды, зависание их недопустимо, может привести к аварии управляемой установки. Вероятность обрыва связи во время действия команды никто не отменял.
    Это уже паранойя какая-то
    Зачем все время посылать? Так никто не делает.
    Что, значит не записалось от первого нажатия? Из-за ошибок связи? Так по умолчанию панель трехкратный повтор записи будет делать если не записалось с первого раза. Плюс выскочит окно с сообщением о потери связи.
    Если панель пишет в слейв значение, то вместо, например 123, не может самопроизвольно записаться 124. Тут либо записалось новое ПРАВИЛЬНОЕ значение в регистр слейва либо в нем останется старое, ПРЕДЫДУЩЕЕ значение.
    Был в ПРке 0 в регистре команд, так 0 и останется. Увидит оператор 0 и нажмет второй раз кнопку и все дела.

    Если связь пропала физически, то "режим "Зажата", код идёт все время нажатия" не спасет. Хотите оставить - оставьте только сразу в 4х пишите не в PSW.

    Насколько я понял у Вас код команды д.б записан в регистр не постоянно. При отпускании кнопки должен записаться 0 в регистр ПР.
    Тут проще сделать в ПР принудительный сброс значения в 0, если в течение какого-либо времени не придет от панели запись 0
    Например так
    Захват-1.png
    Последний раз редактировалось petera; 09.08.2018 в 18:48.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  5. #15
    Пользователь Аватар для Сергей0308
    Регистрация
    25.06.2011
    Адрес
    Галактика Андромеды (M31)
    Сообщений
    8,168

    По умолчанию

    Если команда прошла и связь пропала, то никакими настройками панели проблему не поправишь, здесь надо или ПР200 мастером делать, там есть уже готовые переменные для контроля связи, либо в ПР примерно как-то так сбрасывать:


    Периодический сброс сетевой переменной.PNG
    Вложения Вложения
    Последний раз редактировалось Сергей0308; 10.08.2018 в 00:46.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  6. #16
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,225

    По умолчанию

    Цитата Сообщение от Серёга Букашкин Посмотреть сообщение
    Простые способы есть и для приемника-слейва, единственное условие- всегда передавать командный регистр в добавленным битом "1". На приемнике получив эту "1" стираем ее в этой же сетевой переменной и взводим таймер задержки на небольшое время (чтобы дождался следующей посылки). При потере связи и окончании таймера имеем соответствущий сигнал, по которому блокируем исполнение любой команды. Сами команды в сетевой переменной стирать не надо. При возобновлении связи снова придет 1 и текущая команда (или ее отсутствие), а исполнение разблокируется. Поэтому и тема в том как долбить с панели запись постоянно. Похоже тут нет таких вариаций настроек как у ПР200-мастер, попробую один из битов регистра постоянно инвертировать чтобы он всегда был под изменением. Собираю регистр в PSW, и отправляю. Проверить не могу, панели вживую ещё нет. Но на ИП320 такой метод работает прекрасно.
    Так это Вы решаете проблему связи у слейва, а Вам как я понял нужно у мастера знать записан или нет запрос, тут только ориентироваться на бит ошибки связи самой панели
    Последний раз редактировалось capzap; 10.08.2018 в 10:14.
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  7. #17

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    Вам как я понял нужно у мастера знать записан или нет запрос
    Это не нужно вовсе. Не важно записалось или нет. Контроль излишен если отправлять регистр не по изменению регистра, а постоянно.

  8. #18
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,225

    По умолчанию

    Ну может тогда сменить вектор решения управления, я например со скад и панелей на любое действие отправляю единицу, а не гашу поднятый сигнал, все эти работы делаю в контроллере, обнуляю пришедьшую единиц и инвертирую внутреннюю переменную
    Последний раз редактировалось capzap; 10.08.2018 в 10:47.
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

Страница 2 из 2 ПерваяПервая 12

Похожие темы

  1. трм 101 простые запросы
    от nemo_1977 в разделе Помощь Разработчикам
    Ответов: 1
    Последнее сообщение: 25.01.2016, 13:25
  2. Ответов: 1
    Последнее сообщение: 07.02.2015, 05:24
  3. МДВВ и групповые запросы в сети
    от ASo в разделе Эксплуатация
    Ответов: 1
    Последнее сообщение: 07.02.2015, 05:24
  4. СП270. Групповые операции с битами PSB
    от petera в разделе Панели оператора (HMI)
    Ответов: 2
    Последнее сообщение: 04.12.2014, 10:42
  5. Как квитировать запросы в owen_io.dll?
    от kost2 в разделе Сетевые технологии
    Ответов: 1
    Последнее сообщение: 22.10.2013, 14:25

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •