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

Тема: Как передать бит между двумя ПЛК110 по ModBus TCP

  1. #1

    По умолчанию Как передать бит между двумя ПЛК110 по ModBus TCP

    Добрый день всем!
    Имеется два контроллера, каждый из которых управляет основной и резервной вентустановкой соответственно. Контроллеры находятся в одной подсети. Подскажите, как передать отдельные биты с одного ПЛК на другой. А если пример программы есть - будет вообще замечательно.
    Спасибо.

  2. #2
    Пользователь Аватар для Party3AH
    Регистрация
    24.03.2023
    Адрес
    Север
    Сообщений
    83

    По умолчанию

    Цитата Сообщение от alexfly Посмотреть сообщение
    Добрый день всем!
    Имеется два контроллера, каждый из которых управляет основной и резервной вентустановкой соответственно. Контроллеры находятся в одной подсети. Подскажите, как передать отдельные биты с одного ПЛК на другой. А если пример программы есть - будет вообще замечательно.
    Спасибо.
    Посмотрите пример "Обмен по протоколу Modbus TCP через Ethernet" тут https://owen.ru/product/codesys_v2/example_program (примеры сетевого обмена).
    Если честно, сам не смотрел, что в этом примере, Codesys 2 нет под рукой. Но пару лет назад сам пользовался примером "СП3хх. Настройка обмена с ПЛК на CODESYS 2.3" - можно сделать по аналогии, один ПЛК Master, один Slave, в примере две конфигурации должны быть.
    Инженер-программист АСУ

  3. #3

    По умолчанию

    Передача бит ничем не отличается от передачи регистров (только функции другие). Мало того можно упаковать биты в маску (целое число) и передать через регистр до 16 штук.
    Последний раз редактировалось kondor3000; Сегодня в 17:59.

  4. #4

    По умолчанию

    Пример пустой

  5. #5

    По умолчанию

    Цитата Сообщение от alexfly Посмотреть сообщение
    Пример пустой
    Где пустой? У вас таргеты на PLC_100-K.L не уставовлены просто.
    Вот скачал пример, передать надо целое число, упаковав биты в маску через точку.
    Так же и распаковать через точку.
    Можно использовать как 2 штуки 8 Bit, так и 2 Byte (типа WORD). Оба варианта занимают 1 регистр.
    Вложения Вложения
    Последний раз редактировалось kondor3000; Сегодня в 17:58.

  6. #6

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Где пустой?
    Вот скачал пример, передать надо целое число, упаковав биты в маску через точку.
    Так же и распаковать через точку.
    Можно использовать как 2 штуки 8 Bit, так и 2 Byte (типа WORD). Оба варианта занимают 1 регистр.
    То ли я дурак, то ли чего-то не понимаю. Скачал пример, установил три недостающих библиотеки, скачал и установил таргет v2.10. Открываю файл, при открытии выскакивает сообщение, что "одна или более библиотек изменены" и открывается пример с пустым POU. Что я не так делаю?

  7. #7

    По умолчанию

    Цитата Сообщение от alexfly Посмотреть сообщение
    То ли я дурак, то ли чего-то не понимаю. Скачал пример, установил три недостающих библиотеки, скачал и установил таргет v2.10. Открываю файл, при открытии выскакивает сообщение, что "одна или более библиотек изменены" и открывается пример с пустым POU. Что я не так делаю?
    Так там в POU и нет ничего, вам нужно открыть конфигурацию, больше ничего и не надо. Один мастер ТСР второй Слейв ТСР, иправить только IP как у вас.
    Единственное, если упаковывать биты, тогда в программе надо дописать.
    Последний раз редактировалось kondor3000; Сегодня в 18:57.

  8. #8

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Так там в POU и нет ничего, вам нужно открыть конфигурацию, больше ничего и не надо. Один мастер ТСР второй Слейв ТСР, иправить только IP как у вас.
    Есдинственное если упаковывать биты, тогда в программе надо дописать.
    А что дописать?

  9. #9

    По умолчанию

    Я правильно понял, что в примере мы передаем 0 бит слова %IW8.1.0?

  10. #10

    По умолчанию

    Цитата Сообщение от alexfly Посмотреть сообщение
    А что дописать?
    Сделайте как в примере, передайте число 1 или 2. Число 1 будет включённым 0 битом, число 2 - включённым 1 битом.
    Дописывать потом будете.

    Переменная Var1 это чтение из слейва распаковка b0:=Var1.0 ; b1:=Var1.1 ; b2:=Var1.2 ; и т. д. до 15 бита
    Переменная Var2 это запись в слейв, упаковка бит Var2.0:= b_0; Var2.1:= b_1 ; и т. д.

    Можно сделать так, скрины настроек 1 Биты.jpg и работа 1 Работа бит.jpg
    Последний раз редактировалось kondor3000; Сегодня в 18:49.

Похожие темы

  1. Связь между двумя ПЛК200 по RS-485
    от mf_ в разделе Сетевые технологии
    Ответов: 6
    Последнее сообщение: 16.07.2025, 20:36
  2. Обен данными между двумя ПЛК по modbus TCP
    от AlexVasil в разделе ПЛК1хх
    Ответов: 8
    Последнее сообщение: 22.05.2019, 16:00
  3. Ответов: 9
    Последнее сообщение: 26.05.2015, 11:46
  4. Связь между двумя и более ПЛК150
    от звездочка в разделе ПЛК1хх
    Ответов: 28
    Последнее сообщение: 07.06.2013, 18:28
  5. Ответов: 12
    Последнее сообщение: 07.06.2012, 17:01

Ваши права

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