Lucky_brain писал(а):Добрый день. Реализуем проект на allen bradle и панелью в качестве АРМа, в качестве одного из источников есть Маслонасосная система(блочная структура), которая нам передает данные в ввиде слов состояний INT-овыми типами данных( состояние насоса, состояние системы и так далее, всего 6 слов). Возможно ли разбить эти слова на биты-состояния? Так как структура слова INT-овская и имеет максимум 16 состояний, соответственно 16 данных. Данные не обязательно приходят только с одним состоянием в слове, то есть могут быть несколько одновременно, поэтому байтовый индикатор не совсем по моему подходит, так как придется описать все имеющийся состоянии описать, а их очень много получится, уж точно больше 16)).
Можно создать адресную метку и включить для неё преобразование. Для этого нужно добавить преобразующую функцию в библиотеку макросов (инструменты, макросы, библиотека, создать), например так:
- Код: Выделить всё
sub short word_to_parameter1(short param)
short ret
ret = (param >> 3) & 15
return ret
end sub
Эта функция возвращает 4 бита из серединки слова.
В свойствах адресной метки нужно выбрать формат данных, соответствующий типу возвращаемого значения функции (16 bit signed в данном примере), поставить галочку "преобразование" и выбрать функцию в поле "преобр. при чтении".
Lucky_brain писал(а):И еще вопрос ни у кого не возникала проблема, после загрузки проекта на панель, не происходит автоматическая перезагрузка, так и висит черный экран, при этом работает системная кнопка со "стрелкой ", приходится перегружать вручную. Панель 8150XE с накопителем(SD карта).
При загрузке проекта из EB или UtilityManager нужно установить галочку "перезапустить панель после загрузки"