PDA

Просмотр полной версии : Перевод сетевых регистров



Civer3
25.01.2023, 16:29
Доброго времени суток!
ПР102 будет управляться через RS485. Сетевые регистры для входов/выходов задал: от 512 до 550. Но мне нужно знать адреса регистров ModBus в формате 0х8192 и т.п. Но вот задача - как перевести сетевой регистр пр102 в формат modbus?

melky
25.01.2023, 16:47
перевести из DEC в HEX можно калькулятором Windows в режиме "Программист" пример 512 = 0x200

Civer3
25.01.2023, 17:04
перевести из DEC в HEX можно калькулятором Windows в режиме "Программист" пример 512 = 0x200

Да не всё так просто
В руководстве к пр102 написано, что сетевые переменные находятся в диапазоне 8192–9200

melky
25.01.2023, 17:50
Civer3 Открыл Лождик, выбрал ПР102, в сетевых переменных все так же 512. Вы о каких переменных ведете речь? Да и какая разница, ну будет 8192 = 0x2000 это так принципиально для перевода из DEC в HEX ???

melky
25.01.2023, 17:56
Все исполнения Сетевые переменные
bit
(01, 02, | 2000–23F0 8192–9200 RW
05, 0F)

int16 | 200–23F 512–575 RW
(03, 04,
06, 10)


в руководстве диапазон указан как в десятичном так и 16-ричном формате.

kondor3000
26.01.2023, 15:11
Да не всё так просто
В руководстве к пр102 написано, что сетевые переменные находятся в диапазоне 8192–9200

Регистры начинаются с 512, битов регистре 16 (с 0 по 15). Умножаем 512*16=8192,
8192 адрес нулевого бита в регистре 512

Civer3
27.01.2023, 15:20
Регистры начинаются с 512, битов регистре 16 (с 0 по 15). Умножаем 512*16=8192,
8192 адрес нулевого бита в регистре 512

Спасибо большое за простой ответ!