Здравствуйте, товарищи!
Дано: Logo! 8 серии, панель KTP900 (как крайний вариант).
В виду жестких ограничений на количество входов/выходов в UDF возникает вопрос, как можно передавать в UDF большое количество битовых сигналов. Методология паковки битов (MUX, цепочка калькуляторов) достаточно понятна, а вот распаковка полученного значения вызывает затруднение.
Каким образом можно реализовать преобразование Int в битовые сигналы?
Logo! Как разбить Int на биты?
Re: Logo! Как разбить Int на биты?
Вместо Int лучше рассмотреть Word, так как этот тип данных специально предназначен для склеивания 16 битов. Может это значительно упростит задачу?
Вообще, есть два способа извлекания битов из слова:
1. Поразрядные операции над словами (AND, OR, XOR; не нашел в лого 7).
2. Сдвиг регистра (в лого комфорте 7 была операция Shift register) и контроль флага переполнения.
Вообще, есть два способа извлекания битов из слова:
1. Поразрядные операции над словами (AND, OR, XOR; не нашел в лого 7).
2. Сдвиг регистра (в лого комфорте 7 была операция Shift register) и контроль флага переполнения.
Re: Logo! Как разбить Int на биты?
Дело в том, что Logo! - штука загадочная (до сих пор не понимаю их путанного объяснения относительно адресации и объёма доступной памяти). И выбора типа данных не предоставляет.
При использовании инструмента для конфигурирования памяти переменных, все переменные имеют типа Word. А при конфигурировании блока тот же самый параметр уже вроде как Int, потому что может быть отрицательным. Поэтому я и считаю, что имею дело с Int.
Проблема не в знаке или его отсутствии а в том, что функционал сильно ограничен и то, что в полноценных ПЛК делается за минуты в случае с Logo! отнимает дни на поиск решения, реализацию и тестирование.
При использовании инструмента для конфигурирования памяти переменных, все переменные имеют типа Word. А при конфигурировании блока тот же самый параметр уже вроде как Int, потому что может быть отрицательным. Поэтому я и считаю, что имею дело с Int.
Проблема не в знаке или его отсутствии а в том, что функционал сильно ограничен и то, что в полноценных ПЛК делается за минуты в случае с Logo! отнимает дни на поиск решения, реализацию и тестирование.
Re: Logo! Как разбить Int на биты?
Надо как-то ознакомиться с составом инструкций в лого 8...
Re: Logo! Как разбить Int на биты?
Shift register не хочет принимать тип Int. Если как-то скормить, то задача, можно сказать, решена...
Re: Logo! Как разбить Int на биты?
на форуме сименс, немецкоговорящий, попадалась UDF без ограничений на входа.
Вопрос частично понятен, как преобразовать INT в биты в UDF?
Причем здесь панель?
Я передаю INT в панель или контроллер и там обрабатывается.
Если по первому варианту, то на количество "камней" в UDF так же имеется ограничение.
Сильно не повыпендриваешься. Универсального способа нет.
Не могли бы пример задачи предоставить, что бы как то помыслить в одном русле, а не глобально.
ps
посмотрел немецкий сименс форум, тему убрали прикрепленную, со всякими решениями.
решения работы с битами там были еще применительно к 6ой версии.
повидимому сименс тактику поменял помощи, делает все, что бы только к ним обращались в сапорт.
psps
в примерах
http://w3.siemens.com/mcms/programmable ... fault.aspx
имеется пример Dezimal - BCD Konverter
http://www.automation.siemens.com/sales ... erters.zip
внутри и английские версии
полагаю, может почь
Вопрос частично понятен, как преобразовать INT в биты в UDF?
Причем здесь панель?
Я передаю INT в панель или контроллер и там обрабатывается.
Если по первому варианту, то на количество "камней" в UDF так же имеется ограничение.
Сильно не повыпендриваешься. Универсального способа нет.
Не могли бы пример задачи предоставить, что бы как то помыслить в одном русле, а не глобально.
ps
посмотрел немецкий сименс форум, тему убрали прикрепленную, со всякими решениями.
решения работы с битами там были еще применительно к 6ой версии.
повидимому сименс тактику поменял помощи, делает все, что бы только к ним обращались в сапорт.
psps
в примерах
http://w3.siemens.com/mcms/programmable ... fault.aspx
имеется пример Dezimal - BCD Konverter
http://www.automation.siemens.com/sales ... erters.zip
внутри и английские версии
полагаю, может почь
Supervision of erection