Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 17

Тема: Управление из 2-х мест

  1. #1
    Пользователь Аватар для Солнечный заяц
    Регистрация
    16.08.2009
    Адрес
    г. Рыбинск, Яр.обл.
    Сообщений
    171

    Question Управление из 2-х мест

    Здравствуйте, господа!
    Кто нибудь реализовывал управление с 2-х устройств на CDS3 одними и теми же переменными?
    Возможно ли создание листа сетевых переменных с возможностью чтения/записи?
    Или нужно создавать по паре специальных листов сетевых переменных (один на чтение, другой на запись) в каждом устройстве, с передачей по изменению. Но тогда придется искусственно копировать состояние из одного листа в другой в программе, что довольно ненадежно.

    Может быть есть более очевидный и элегантный способ решения этой задачи?

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

    По умолчанию

    это же работа без установления соединения, не важно кто прислал данные в определенный порт. Вообщем что во второй что в третьей версии UDP везде одинаков

  3. #3

    По умолчанию

    Как и написал Capzap - сетевые переменные по UDP - Ваш выбор.
    Пример для второго CoDeSys есть. В третьем по аналогии.

  4. #4
    Пользователь Аватар для Солнечный заяц
    Регистрация
    16.08.2009
    Адрес
    г. Рыбинск, Яр.обл.
    Сообщений
    171

    По умолчанию

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

  5. #5
    Пользователь
    Регистрация
    19.11.2011
    Адрес
    г. Белгород
    Сообщений
    359

    По умолчанию

    Приветствую всех! Хотелось бы узнать чем все закончилось? Элегантный способ решения нашли?

  6. #6
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    1,699

    По умолчанию

    А чего тут нового ? Простая задача.
    Кол-во точек управления не имеет значения. Если инициировать запрос чтения/записи может любой из (условно) кучи "панелей" и "объекта", то в общем виде алгоритм такой:

    1.Объект.
    Cохраняет где-то в своем "ретайне" текущие настройки.
    Как очнулся - выложил их в область обмена.
    Как увидел изменения в области обмена - сохранил в "ретайн" [* и разослал всем Панелям]

    2.Панели.
    Ничего не хранят, но имеют область куда прилетают настройки.
    Как очнулась - сначала читает в эту область настройки с Объекта и обеспечивает оператору возможность изменения в этой области, отображая текущие значения.
    Если изменились по месту - шлет Объекту [* и всем Панелям] новые.
    Так как Панели чем-то контролируют связь с Объектом, при отсутствии ее - сообщают об этом и, например, делают невозможным редактирование настроек, но при вновь обнаружении Объекта считывают с него текущие данные.


    *Тут нужно решить - рассылка Панель-Панель делать напрямую или через Объект.
    Последний раз редактировалось Валенок; 18.09.2014 в 11:12.

  7. #7
    Пользователь
    Регистрация
    19.11.2011
    Адрес
    г. Белгород
    Сообщений
    359

    По умолчанию

    Тут бы разобраться с сетевыми переменными. там ведь для обмена данными между контроллерами надо две папки с переменными. одна для отправки, другая для приема.

    В документации читаем:
    !Важно: Рекомендуется не ставить галочки чтение и запись для одной и той же группы «PRIMER» в одном контроллере. То есть только в одном контроллере переменные одной папки должны быть Write, в остальных контроллерах типа Read.
    Если необходимо, чтобы у каждого контроллера были переменные, которые и опрашиваются, и задаются – необходимо сделать несколько таких папок.


    То есть для обмена с панелью, которая находится на другом ПЛК надо иметь две разные переменные (одну для чтения другую для записи)

    У меня панель подключена к ПЛК1, а скада будет подключена к ПЛК2. Панель и скада должны читать текущее значение параметра из ПЛК2 (сетевая переменная a). А также могут изменить его. В дальнейшем в эту же сеть будут включены еще и другие контроллеры, которые тоже будут обмениваться с панелью и скадой.
    Пока нарисовал вот такую схему.
    1.png
    Стрелочками указано направление пересылки значения сетевой переменной. В ПЛК1 в каждом цикле b:=a. При изменении значения сетевой переменной она пересылается в другой ПЛК. Похоже надо будет еще промежуточные переменные делать. Как-то совсем не элегантно получается.
    Последний раз редактировалось amn; 18.09.2014 в 16:34.

  8. #8
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    1,699

    По умолчанию

    Чем пугают копии ? Просто работу с копиями лучше вынести куда-нить в отдельный технический уровень чтоб в основном алгоритме не раздваиватся шизофренически, а работать с одной переменной. Типа как в слейве из конфигурации кдс2

    Если что-то "рекомендуется" значит до сих пор не реализовали такую ерунду как IN_OUT по сети ? Тогда это сделайте это поверх того что есть. Есть запись и чтение, пусть и в разных папках - это достаточно чтоб сделать работу с одной переменной как с IN_OUT по сети

    По картинке.
    Кто кому кем является и у кого на борту ? Конфигураций - море
    А и B сидели на трубе можно синхронно изменять на всех 4х объектах
    Последний раз редактировалось Валенок; 18.09.2014 в 17:21.

  9. #9
    Пользователь
    Регистрация
    19.11.2011
    Адрес
    г. Белгород
    Сообщений
    359

    По умолчанию

    Не понял про аналогию со слэйвом из конфигурации. И про IN_OUT тоже. Разъясните, пожалуйста. А то у меня мысли неправильные пошли сделать ФБ с одной входной переменной (с которой предполагается работать в основном алгоритме), в котором имеются еще две сетевые переменные для обмена. Причем получается для каждой переменной нужно по две сетевые. Может так и надо?
    Подправленный вариант схемы. Тут вроде бы не надо создавать дополнительных переменных. В ПЛК1 в каждом цикле b:=a, а в ПЛК2 в каждом цикле a:=b. ИП320 читает и пишет в сетевую переменную a, Скада читает и пишет в сетевую переменную b.
    2.png
    По картинке подробнее:
    ИП320 (мастер) подключен к ПЛК1 по RS232.
    ПЛК1 и ПЛК2 между собой подключены по Ethernet (пока напрямую, но на объекте будут через свитч, так как там планируется несколько контроллеров подключить между собой)
    Скада (мастер) будет подключена к ПЛК2 если получится, то тоже через свитч.
    Последний раз редактировалось amn; 18.09.2014 в 19:22.

  10. #10
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    1,699

    По умолчанию

    Про слейв в конфигурации - его можно читать, писать не заморачиваясь. Стандартный мастер - разделяет сознание. Но через библиотеки нетрудно сделать работу с 1й переменной. Поменяли тут - поменялось и там. Поменялось там - поменялось и тут. Это и есть IN_OUT. Странно что не сделано на уровне системы.

    А цепаните ип мастером на 485 для обоих ПЛК. Скада опять же - мастер для каждого ПЛК. А области слейвов в плк для 485 и tcp - совместите.
    Правдоть это для кдс2. Есть похожее в кдс3 ?

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  1. ПЛК 73 управление ИТП
    от Rocker_4 в разделе ПЛК63/73
    Ответов: 8
    Последнее сообщение: 30.01.2012, 12:16
  2. управление по смс
    от Максим Заборонкин в разделе Сетевые технологии
    Ответов: 5
    Последнее сообщение: 22.12.2010, 10:38
  3. управление плк из пк
    от AWA1971 в разделе Сетевые технологии
    Ответов: 2
    Последнее сообщение: 04.12.2009, 13:08
  4. управление ТРМ 151
    от Shad в разделе Эксплуатация
    Ответов: 5
    Последнее сообщение: 02.04.2009, 16:45
  5. Управление 3-х поз. ИМ
    от Alor в разделе Подбор Оборудования
    Ответов: 2
    Последнее сообщение: 28.11.2007, 19:04

Ваши права

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