PDA

Просмотр полной версии : Использование 0xff и 0xfe в ПЛК



Knive87
31.10.2015, 18:19
Вопрос к более опытным от начинающего. Есть ПЛК100, в режиме Master Modbus пишет в устройство сбора данных МСД200 (Slave). В ПЛК реализуем таймер для настройки периодичности архивации. Для этого нужно воспользоваться командами 0xff и 0xfe. До этого работал только с переменными, а как с ними быть? Как объявить, какой их должен быть тип.
Еще вопрос, как разбить REAL на 2 WORD. Спасибо

Knive87
01.11.2015, 19:41
Я так понимаю, ff это в числовой системе hex (16-ричной), 255 (в 10-ной). Значит можно послать число 255/254 в статус?

Yegor
01.11.2015, 20:50
Да, FF это 255, FE это 254. В кодесисе эти числа можно записать и в шестнадцатеричном виде: 16#FF, 16#FE. А нотация 0xFF это из других языков программирования (Си и его друзей, например).

Real на два ворда проще всего разбить указателями. Но если речь о модбасе, то вряд ли вам требуется именно это.

Knive87
02.11.2015, 14:20
Да, встречал это в СИ. Но зачем это рекламируется в Codesys, если нельзя напрямую использовать внутренними средствами. Что-то вроде Set command to %QB8.8.0 by 0xff. И не было бы столько вопросов.

Yegor
03.11.2015, 06:16
Можно. В конфигурации в узел модбас-устройства добавляйте модули с припиской «state», у них будет отдельная переменная-триггер, в которую можно записывать FF и FE (cmd на скриншоте).

20635

Knive87
03.11.2015, 08:52
Огромное спасибо вам Егор, уже сам начал подумывать об этом. Сегодня буду пробовать)))

Knive87
04.11.2015, 05:49
Можно. В конфигурации в узел модбас-устройства добавляйте модули с припиской «state», у них будет отдельная переменная-триггер, в которую можно записывать FF и FE (cmd на скриншоте).

20635

Рано радовался. Меня и как раз интересует вопрос как записывать FF и FE в этот триггер cmd :confused:

Yegor
04.11.2015, 10:34
cmd := 16#FF

Knive87
04.11.2015, 11:19
cmd := 16#FF

Спасибо еще раз Егор.