Подскажите, где можно подробнее про это прочитать, желательно с примерами, может видео есть на ютубе...
Вид для печати
Подскажите, где можно подробнее про это прочитать, желательно с примерами, может видео есть на ютубе...
Вот вам пример, и почитайте про упаковку бит в маску и распаковку обратно. Упаковали 16 бит в маску (можно меньше), отправили. Приняли маску, распаковали свои биты. Вот готовые макросы упаковки и распаковки маски.
По поводу переменных флоат и перевод в целочисленные, добавил пример. Умножение на 10 нужно, чтобы не потерять знак после запятой, при получении целочисленное переводится во флоат и делится на 10.
Если надо 2 знака после запятой, соответственно умножаете и делите на 100.
В СП 307 ещё проще, получили маску в 512 регистре, ставите индикатор 4Х512 бит 0, 4Х512 бит 1, и т. д. 4Х512 бит 15. Желательно сделать разные маски для индикаторов, для кнопок, для аварий, для событий. Если надо передавать биты, ставите кнопки и тоже самое с другим регистром, только принятую маску распаковать уже в ПР.
Принятое целочисленное например 123, в регистре 520. ставите Дисплей 4Х520, в настройках задаёте 1 знак после запятой, получаете 12.3 Если нужны отрицательные числа, в настройке ставите DEC.
Спасибо, вроде разобрался. Но одно осталось мне не понятно. Например делаю кнопку в СП регистр 4х520 бит 01, а в ПР он выскакивает как бит 02
подскажите где можно достать правильный, в базе не смог найти
Быстрей всего и лучше самому сделать, думаю минут 10 займет! Короче, здесь выкладывал: https://owen.ru/forum/showthread.php?t=30758
Я же вам дал рабочие макросы. Сделайте скрин программы.
Кажется я понял, в СП биты считаются с 0 по 15, а в макросе они названы с 1 по 16, вот у вас и несвязуха.
Смещение на 1 бит и будет))) Можно в макросе входы переименовать с 0 по 15. А вообще это помнить надо просто.