подскажите пожалуйста, ни как не могу поставить таймер на паузу, нужно именно остановить таймер, а потом запустить, чтобы отсчёт времени продолжился с места остановки, подмена уставки таймер на нулевую сбрасывает таймер, после отсчёт времени начинается с начала, и ещё при выводе времени работы таймер на визуализацию в спк выводится вместе с временем и знак Т#, как сделать так чтобы этот знак не выводился, а выводилось только значение времени
Функциональный блок принимает на вход 16-разрадное слово вида:
00..011..1 - то есть идет подряд сколько-то нулей и потом подряд несколько единиц. Нужно определить, сколько единиц в слове.
Как проще всего реализовать? Сам уже придумал два варианта, один с использованием цикла (нежелательно как я понял), другой с использованием логарифма по основанию 2 (такого стандартного оператора не нашел, переход к другому основанию - уж больно лютое решение). Подскажите как быть.
Воспользуйтесь функцией, как раз сегодня сделал.
использовать так:
a:=quantity_bits(b);
где a типа BYTE, b типа WORD.
Последний раз редактировалось amn; 20.05.2015 в 16:01.
А-а, вон оно как, каждый бит перевести в байт, и сложить эти байты. Сумма будет равна как раз числу единичных.
Спасибо
Доброго времени суток.
Проблема такая: есть СПК207 и модули МВ110-8А, МУ110-32Р, МВ110-32ДН, МЭ110-224.1М (каждого вида по несколько штук), обмен по Modbus RTU.
Связь со всеми устройствами налажена, а так же опрос всех, за исключением МЭ110-224.1М.
Необходимо считать значение тока (значение регистра по РЭ 0х0051, 0х0052). Опрос функцией 03 регистров к примеру 0х0010 происходит успешно.
Но как только задаешь в параметрах канала Modbus Slave код 03, регистр 0х0051, длина 2 при попытке запуска проекта прибор сразу же отваливается, пишет ошибка шины.
Сам МЭ110-224.1М настроен с помощью конфигуратора МХ110. Настройки аналогичны другим успешно опрашиваемым модулям с единственным отличаем "работа по Modbus RTU" (в других этого пункта просто нет). Так же установлена одна галочка "измерение тока". Версию прошивки МЭ110-224.1М не помню.
Нужна хоть какая-нибудь наводка на решение проблемы. Уже всю голову себе поломал. Сам я начинающий, так что истина может лежать где-то на поверхности.
Уточняю: МЭ110-224.1М версия программы 1.09
Последний раз редактировалось Mihail.B; 22.05.2015 в 06:12.
Добрый день, подскажите пожалуйста, необходимо каждые двадцать четыре часа, допустим в 12.00 ночи, получить сигнал TRUE и записать его в переменную, я так понимаю необходимо осуществить взаимодействие с внутренними часами СПК110, пишу программу в CFC.
Изучайте матчасть http://prolog-plc.ru/docs/TimeExperience.pdf