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

Тема: варианты реализации обхода логики контроллера

  1. #1

    По умолчанию варианты реализации обхода логики контроллера

    Есть необходимость реализовать такую вещь:
    Как в среде CodeSys при нажатии на кнопку происходит включение выхода 1.
    Так и в сторонней программе необходимо сгенерировать некий пакет и послать на контроллер, чтобы включить выход 1.

    Сложность в том, как понять что за пакет, чем отличается кнопка 1 от кнопки 2 и по какому протоколу (протоколам это можно сделать)?

    Спасибо.

  2. #2

    По умолчанию

    Описываете в программе условие - так как в контроллерере логику Вы определяете сами...

  3. #3

    По умолчанию

    Так как мне такое реализовать?
    Необходимо на вход (скажем USB порт) подать сигнал, который посылает среда разработки (эмулировать среду)
    Так реально сделать?
    У меня не получилось - поймал два пакета в программе, их набил и послал в программе прослушки - ноль реакции.
    Так данные не защищены?
    Спасибо.

  4. #4
    Пользователь
    Регистрация
    23.01.2008
    Адрес
    Белгородская область, Валуйки
    Сообщений
    274

    По умолчанию

    То есть вы хотите управлять контролером из своего софта программу серавно заливать в контролер придется из кодесиса а дальше общаетесь с контролером через ModBus или OPC примеры есть на форуме было про написание софта на делфи

  5. #5

    По умолчанию re

    Именно такая мне инфа и нужна была.
    Буду знать теперь в какую сторону копать.
    Я понял что проект в Codesys всё равно необходим.
    Более того, если его содержимое измениться, то и вызовы будут другие (в моем случае).

    Про мои изыскания.
    Пробовал по USB ловить пакеты.
    По Codesys подключался и нажимал три моих кнопки.
    Эмулировал посылку пакетов через свою программу в тот же порт.

    Мною была замечена разница:
    Через среду Codesys индикатор горит постоянно, через мою прогу - при посылке пакета горит 10 секунд и гаснет, пока не погаснет - следующий пакет не примет.

    В чем может быть проблема?

    Примеры во вложении.
    Если этот вариант(посылка пакета в порт) добить, он будет лучше чем ModBus или OPC - ничего не надо изучать, программировать, а просто перехватить пакеты в проекте и в своей программе их послать.

    Например то, что я наковырял:
    нажатие кнопки - последовательность $AA$AA$11$00$01$00$9B$01$50$45$01$00$00$00$04$00$9 8$00$00$00$0100$00$00$01
    отжатие кнопки - последовательность
    $AA$AA$11$00$01$00$9A$01$50$45$01$00$00$00$04$00$9 8$00$00$00$0100$00$00$00

    Спасибо.


    При связи постоянно шлет одну и ту же последовательность пакетов.

    Спасибо.
    Вложения Вложения
    • Тип файла: rar PLC COMM.rar (169.4 Кб, Просмотров: 5)
    • Тип файла: rar PLC.rar (32.9 Кб, Просмотров: 6)

  6. #6

    По умолчанию

    1. Порт для программирования при использовании кабеля для программирования ждет связи именно с CoDeSys. Если данные приходят "некорректные" он несколько раз проверяет, и отказывает в доступе. По этому и задержка.
    2. Можете не использовать ModBus или OPC. На форуме есть пример работы с библиотекой UNM. Вы сами открываете порт, и просто получаете из него данные. А в программе, написанной в CoDeSys эти данные нужным Вам образом разбираете.

  7. #7

    По умолчанию

    Нет, тут проблема немного не та.
    Я никоим образом не собираюсь вмешиваться в работу программы контроллера и среды Codesys.
    А алгоритм его работы прост -
    открытый дискретный вход 1 - открытый дискрытный выход 1
    открытый дискретный вход 2 - открытый дискрытный выход 2
    открытый дискретный вход 3 - открытый дискрытный выход 3

    Разница в том, что я хочу именно с КОМПЬЮТЕРА подать на вход не дискретный сигнал (нет у меня такой аппаратуры), а в любой доступный порт, я выбрал USB, кинуть посылку, которую отсылает Codesys.

    Надеюсь смог объяснить мою потребность.

    Спасибо.

  8. #8

    По умолчанию

    Кстати, забыл спросить.
    Говорилось про кабель для программирования и про порт для программирования.
    Мне как раз необходимо не использовать Codesys, а просто подключиться к ПЛК и включить дискретный порт (любым путем).
    По какому порту это можно сделать?
    Спасибо.

  9. #9

    По умолчанию

    В программе на CoDeSys заводите переменные, отвечающие за конктертные входы и выходы.
    И получая данные их порта (Ethernet будет для Вас я думаю самым оптимальным) в программе присваиваете полученное значение из Ethernet переменной, отвечающей за соответствующий выход.
    Надеюсь понятно объяснил...

  10. #10

    По умолчанию

    Сами протоколом Gateway Вы пользоваться не сможете ни по какому интерфейсу...

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

Ваши права

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