Это шутка такая или троллинг? Я ума не приложу...
Word.0:= true
Word.1:= false
Word.2:= ...
...
Word.15:= ...
Меняются только те биты, какие вы сами меняете, остальные в ворде не изменяются...
Вид для печати
Добрый день.
Можно сделать так:
Объявить три отдельных переменных типа WORD (названия условны):
wRead - значение, циклически считываемое из регистра ПР
wWrite - значение, записываемое в регистр ПР
wVisu - переменная, записываемая в визуализации (как раз wVisu.0 и т.д.)
Формировать wWrite в коде следующим образом:
Т.е. при записи в регистр ПР - запишутся все биты, которые там сейчас установлены + те, которые вы устанавливаете в визуализации.Код:wWrite := wRead or wVisu;
Извиняюсь. Это не троллинг, просто отсутствие опыта работы с CS. Может быть я не совсем корректно сформулировал вопрос. Для наглядности приложу скриныВложение 82162Вложение 82163
В конфигураторе на панель всё гораздо проще Вложение 82164
Как я понимаю, нужно сначала считать переменную, изменить в ней нужный бит и записать её обратно в ПР. Других вариантов нет?
Просто панель механизм модбас обмена реализует по умолчанию, а тут надо немного пораскидать одним делом, но на самом деле не все так сложно. Один раз сделаете, потом все будет проще. Тем более сейчас в cs новой версии с 16 вроде уже чтение и запись объединили, в 14 версии этого не было, вот там я помучился с механизмом обмена данными СП315Р-ПЛК210-ИП320...
В том то и дело, что на ПР103+СП310 (насосная станция) уже давно всё сделано другим специалистом и менять там ни чего не хочется. Моя задача привязать к этому тондему СПК с котельной для диспетчеризации и возможности удалённой настройки. Есть только проект на панель, откуда я и беру номера регистров ПР с нужными мне данными. Вот и приходится как то выкручиваться.
Чем больше я работаю с CS, тем больше я ненавижу эту программу!!! Всё через одно место, всё нужно досканально ручками прописать! Для какой-то обычной кнопки нужно аж 3 переменные прописать. Чтобы меняла вид, цвет и какую переменную включать будет. Можно прописать, когда она будет невидима, а вот простое условие, когда она будет видима, не предусмотренно!
У меня стоит CS sp17, пробовал функцию 23 (чтение/запись), компилятор ругается. Может что-то не правильно делал.