Показано с 1 по 6 из 6

Тема: Запись значений. Ошибка: "имеет больше одного отношения передачи данных".

  1. #1

    Question Запись значений. Ошибка: "имеет больше одного отношения передачи данных".

    Здравствуйте.
    Возникло недопонимание в записи двух разных значений по двум разным событиям.
    Посмотрите информативный скриншот.
    На скриншоте две программы ST(кнопки ПУСК и СТОП). Логика программ идентична друг другу, только в программе СТОП значения переменной "Управляющий_выход_ПУСК" меняются местами.
    Налаживая связь переменных "Управляющий_выход_ПУСК"(ПУСК и СТОП) из дерева объектов с "Усп_Состояние установки_Выход" дерева системы получаю при компиляции ошибку: "имеет больше одного отношения передачи данных".

    Вопросы:
    1. Как реализовать запись значения в "Усп_Состояние установки_Выход" по событиям нажатий кнопок ПУСК и СТОП, чтобы записи этих значений не конфликтовали друг с другом?
    2. Как сделать так, чтобы после перезапуска среды исполнения оставалось значение "Усп_Состояние установки_Выход", которое было до перезапуска?
    3. Правильно ли я понимаю, что фиксированная кнопка держит значение на "Управляющий_выход_ПУСК" до того момента пока её не отожмут?; если это так, тогда получается, что для того чтобы использовать кнопку СТОП, нужно сначала отжать кнопку СТАРТ? И как вообще на практике тогда реализовываются подобные задачи не совсем понятно, ведь нужна визуальная информативность, что кнопка в данное время нажата!?
    4. Как на практике интереснее и лучше всего на ваш взгляд реализовать данную задачу?

    Можете просто выложить свои библиотечные объекты для реализации данной задачи, а я выберу наиболее приемлемый и мы его закрепим в теме как лучший для использования. Обязательно народу пригодится, и плюсы в карму полетят.
    Благодарю всех за проявленный интерес и ваше время.
    Вопрос по двойной записи значений.png

  2. #2

    По умолчанию

    Неужели из 37 человек, которые посмотрели данную тему нет человека знающего ответ хотя бы на первый из заданных мной вопросов?
    UP

  3. #3

    По умолчанию

    Цитата Сообщение от maxoptimizer Посмотреть сообщение
    Здравствуйте.
    Возникло недопонимание в записи двух разных значений по двум разным событиям.
    Посмотрите информативный скриншот.
    На скриншоте две программы ST(кнопки ПУСК и СТОП). Логика программ идентична друг другу, только в программе СТОП значения переменной "Управляющий_выход_ПУСК" меняются местами.
    Налаживая связь переменных "Управляющий_выход_ПУСК"(ПУСК и СТОП) из дерева объектов с "Усп_Состояние установки_Выход" дерева системы получаю при компиляции ошибку: "имеет больше одного отношения передачи данных".

    Вопросы:
    1. Как реализовать запись значения в "Усп_Состояние установки_Выход" по событиям нажатий кнопок ПУСК и СТОП, чтобы записи этих значений не конфликтовали друг с другом?
    2. Как сделать так, чтобы после перезапуска среды исполнения оставалось значение "Усп_Состояние установки_Выход", которое было до перезапуска?
    3. Правильно ли я понимаю, что фиксированная кнопка держит значение на "Управляющий_выход_ПУСК" до того момента пока её не отожмут?; если это так, тогда получается, что для того чтобы использовать кнопку СТОП, нужно сначала отжать кнопку СТАРТ? И как вообще на практике тогда реализовываются подобные задачи не совсем понятно, ведь нужна визуальная информативность, что кнопка в данное время нажата!?
    4. Как на практике интереснее и лучше всего на ваш взгляд реализовать данную задачу?

    Можете просто выложить свои библиотечные объекты для реализации данной задачи, а я выберу наиболее приемлемый и мы его закрепим в теме как лучший для использования. Обязательно народу пригодится, и плюсы в карму полетят.
    Благодарю всех за проявленный интерес и ваше время.
    Вопрос по двойной записи значений.png
    1. Вы две переменных тянете на один и тот же канал. Так работать вроде бы не будет. Если я правильно понял вашу задачу, то вам надо использовать ФБ Триггер (RS). Соответственно, когда триггер сброшен, то присваивается одно значение, если установлен, то присваивается другое.
    2. См. свойство Сохранять у параметров.
    3. Да, на то она и фиксированная. Используйте обычные кнопки без фиксации и ФБ Триггер в программе. Для информативности можете настроить динамизацию кнопки.
    4. См. п.1.

  4. #4

    По умолчанию

    Цитата Сообщение от b_aleks Посмотреть сообщение
    1. Вы две переменных тянете на один и тот же канал. Так работать вроде бы не будет. Если я правильно понял вашу задачу, то вам надо использовать ФБ Триггер (RS). Соответственно, когда триггер сброшен, то присваивается одно значение, если установлен, то присваивается другое.
    2. См. свойство Сохранять у параметров.
    3. Да, на то она и фиксированная. Используйте обычные кнопки без фиксации и ФБ Триггер в программе. Для информативности можете настроить динамизацию кнопки.
    4. См. п.1.
    Немного добавлю: на входы триггеров неплохо бы поставить детекторы фронта - тогда не будет зависимости от длительности импульса. И не напрямую заводить состояние кнопки на входной параметр триггера, а использовать событие "установить параметр" - это избавит от ложных несрабатываний кнопки. Особенно актуально при использовании контроллера с рантаймом MS4D.

  5. #5

    По умолчанию

    Цитата Сообщение от maxoptimizer Посмотреть сообщение
    Неужели из 37 человек, которые посмотрели данную тему нет человека знающего ответ хотя бы на первый из заданных мной вопросов?
    UP
    Просто не всем хочется объяснять такие вещи человеку, которому даже лень поглядеть первое обучающее видео (не говорю уж о демках в комплекте), где все это показано

  6. #6
    Пользователь
    Регистрация
    10.11.2014
    Адрес
    Санкт-Петербург
    Сообщений
    715

    По умолчанию

    Цитата Сообщение от KrAssor Посмотреть сообщение
    Немного добавлю: на входы триггеров неплохо бы поставить детекторы фронта - тогда не будет зависимости от длительности импульса. И не напрямую заводить состояние кнопки на входной параметр триггера, а использовать событие "установить параметр" - это избавит от ложных несрабатываний кнопки. Особенно актуально при использовании контроллера с рантаймом MS4D.
    Присоединюсь.
    Я тоже делаю так. Использую "установить параметр в true" в событиях.
    А в коде сбрасываю его в false.
    Никаких проблем с длительностью нажатия кнопки в таких случаях нет.

Похожие темы

  1. "Умный дом" или что-то больше?
    от Vi001 в разделе Подбор Оборудования
    Ответов: 3
    Последнее сообщение: 28.02.2018, 14:24
  2. Ответов: 16
    Последнее сообщение: 15.02.2017, 11:39
  3. Ответов: 0
    Последнее сообщение: 21.05.2012, 11:44
  4. ПЛК100, ТРМ 148 и запись параметра "by Command"
    от Александр Суханов в разделе ПЛК1хх
    Ответов: 7
    Последнее сообщение: 29.04.2011, 10:34
  5. Что значит ошибка "Размер поля данных не соответствует ожидаемому"
    от Сергей_Тула в разделе Помощь Разработчикам
    Ответов: 7
    Последнее сообщение: 14.02.2007, 11:38

Метки этой темы

Ваши права

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