Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
Показано с 11 по 20 из 29

Тема: Подключение устройства по Modbus

  1. #11

    По умолчанию

    Цитата Сообщение от andrey.elektrik Посмотреть сообщение
    Это я в программе СПК так могу вкючить этот бит. А как мне это записать в ПР , не изменяя значения остальных бит в Переменной word? Канал записи одного бита есть? Если я буду записывать всю переменную, тогда у меня все остальные биты будут =0
    Это шутка такая или троллинг? Я ума не приложу...
    Word.0:= true
    Word.1:= false
    Word.2:= ...
    ...
    Word.15:= ...
    Меняются только те биты, какие вы сами меняете, остальные в ворде не изменяются...

  2. #12

    По умолчанию

    Цитата Сообщение от andrey.elektrik Посмотреть сообщение
    Здравствуйте. Не стал плодить новых тем, решил спросить здесь. Не судите строго, новичок . Нужной информации не нашёл.
    Имею СПК-210 и ПР-103. В ПР есть регистр тип WORD , который преобразуется в битовую маску на запись бит. (16484 например).
    Суть проблемы в следующем : каким образом можно включить/выключить определённый бит из этого регистра из визуализации СПК? При этом не записывая всё значение WORD, чтобы не изменялись остальные биты? Некоторые из них меняются в программе самого ПР. При использовании панели оператора СП300 всё просто и понятно 4Х16484 бит3.
    Надеюсь понятно изложил суть.
    Добрый день.

    Можно сделать так:

    Объявить три отдельных переменных типа WORD (названия условны):

    wRead - значение, циклически считываемое из регистра ПР
    wWrite - значение, записываемое в регистр ПР
    wVisu - переменная, записываемая в визуализации (как раз wVisu.0 и т.д.)

    Формировать wWrite в коде следующим образом:
    Код:
    wWrite := wRead  or wVisu;
    Т.е. при записи в регистр ПР - запишутся все биты, которые там сейчас установлены + те, которые вы устанавливаете в визуализации.

  3. #13
    Пользователь
    Регистрация
    14.01.2014
    Адрес
    Пенза
    Сообщений
    13

    По умолчанию

    Извиняюсь. Это не троллинг, просто отсутствие опыта работы с CS. Может быть я не совсем корректно сформулировал вопрос. Для наглядности приложу скрины2.PNG1.PNG
    Последний раз редактировалось andrey.elektrik; 24.02.2025 в 16:01. Причина: добавил

  4. #14
    Пользователь
    Регистрация
    14.01.2014
    Адрес
    Пенза
    Сообщений
    13

    По умолчанию

    В конфигураторе на панель всё гораздо проще 3.PNG

    Как я понимаю, нужно сначала считать переменную, изменить в ней нужный бит и записать её обратно в ПР. Других вариантов нет?
    Последний раз редактировалось andrey.elektrik; 24.02.2025 в 16:14.

  5. #15

    По умолчанию

    Цитата Сообщение от andrey.elektrik Посмотреть сообщение
    В конфигураторе на панель всё гораздо проще 3.PNG

    Как я понимаю, нужно сначала считать переменную, изменить в ней нужный бит и записать её обратно в ПР. Других вариантов нет?
    Всегда остается вариант с доработкой проекта ПР и размещения бит, которые будет записывать СПК, в отдельном регистре.

  6. #16

    По умолчанию

    Просто панель механизм модбас обмена реализует по умолчанию, а тут надо немного пораскидать одним делом, но на самом деле не все так сложно. Один раз сделаете, потом все будет проще. Тем более сейчас в cs новой версии с 16 вроде уже чтение и запись объединили, в 14 версии этого не было, вот там я помучился с механизмом обмена данными СП315Р-ПЛК210-ИП320...

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

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Всегда остается вариант с доработкой проекта ПР и размещения бит, которые будет записывать СПК, в отдельном регистре.
    В том то и дело, что на ПР103+СП310 (насосная станция) уже давно всё сделано другим специалистом и менять там ни чего не хочется. Моя задача привязать к этому тондему СПК с котельной для диспетчеризации и возможности удалённой настройки. Есть только проект на панель, откуда я и беру номера регистров ПР с нужными мне данными. Вот и приходится как то выкручиваться.

  8. #18
    Пользователь
    Регистрация
    14.01.2014
    Адрес
    Пенза
    Сообщений
    13

    По умолчанию

    Цитата Сообщение от МихаилГл Посмотреть сообщение
    Просто панель механизм модбас обмена реализует по умолчанию, а тут надо немного пораскидать одним делом, но на самом деле не все так сложно. Один раз сделаете, потом все будет проще. Тем более сейчас в cs новой версии с 16 вроде уже чтение и запись объединили, в 14 версии этого не было, вот там я помучился с механизмом обмена данными СП315Р-ПЛК210-ИП320...
    Чем больше я работаю с CS, тем больше я ненавижу эту программу!!! Всё через одно место, всё нужно досканально ручками прописать! Для какой-то обычной кнопки нужно аж 3 переменные прописать. Чтобы меняла вид, цвет и какую переменную включать будет. Можно прописать, когда она будет невидима, а вот простое условие, когда она будет видима, не предусмотренно!
    У меня стоит CS sp17, пробовал функцию 23 (чтение/запись), компилятор ругается. Может что-то не правильно делал.

  9. #19

    По умолчанию

    Цитата Сообщение от andrey.elektrik Посмотреть сообщение
    Чем больше я работаю с CS, тем больше я ненавижу эту программу!!! Всё через одно место, всё нужно досканально ручками прописать! Для какой-то обычной кнопки нужно аж 3 переменные прописать. Чтобы меняла вид, цвет и какую переменную включать будет. Можно прописать, когда она будет невидима, а вот простое условие, когда она будет видима, не предусмотренно!
    У меня стоит CS sp17, пробовал функцию 23 (чтение/запись), компилятор ругается. Может что-то не правильно делал.
    ПР все равно не поддерживает функцию 23.
    Так что придется настраивать отдельно запрос чтения и запрос записи.

  10. #20
    Пользователь
    Регистрация
    14.01.2014
    Адрес
    Пенза
    Сообщений
    13

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Добрый день.

    Можно сделать так:

    Объявить три отдельных переменных типа WORD (названия условны):

    wRead - значение, циклически считываемое из регистра ПР
    wWrite - значение, записываемое в регистр ПР
    wVisu - переменная, записываемая в визуализации (как раз wVisu.0 и т.д.)

    Формировать wWrite в коде следующим образом:
    Код:
    wWrite := wRead  or wVisu;
    Т.е. при записи в регистр ПР - запишутся все биты, которые там сейчас установлены + те, которые вы устанавливаете в визуализации.
    Евгений, а можно пример, как это сделать на LD или FBD ?

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя

Похожие темы

  1. СПК110: подключение ProfiNet-устройства
    от diaherni431515 в разделе Подбор Оборудования
    Ответов: 43
    Последнее сообщение: 02.09.2024, 09:43
  2. Ответов: 4
    Последнее сообщение: 23.06.2023, 12:34
  3. подключение нестандартного устройства
    от ллд в разделе СПК210, СПК1xx [М01]
    Ответов: 2
    Последнее сообщение: 04.05.2023, 21:12
  4. Ответов: 26
    Последнее сообщение: 31.01.2023, 17:42
  5. Как узнать базовый ModBus адрес устройства для ModBus ASCII?
    от Александр Подыман в разделе Сервисное ПО
    Ответов: 3
    Последнее сообщение: 03.03.2016, 12:49

Ваши права

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