Цитата:
Сообщение от Arsie
В вашем случае макрос HI(long) выделит уровень жидкости или что там у вас, макрос LO(long) выделит код сообщения. Уже минус 65535 сравнений.
Далее нужно проанализировать ваши коды сообщений. Если программист был достаточно опытен, то типы сообщений разделены на битовые маски и тогда ни одного сравнения вам вообще не понадобится. Если программер, который придумывал эти сообщения, любит решать задачи в лоб, то мимо 300 сравнений вам не пройти, можно лишь оптимизировать это количество. Что возвращает нас к необходимости анализа всех кодов сообщений.
|
То что байты разделить это не проблема, и сразу так и было сделано. А вот то что они нифига никак битовыми операциями не подчиняются это точно, там нет никакой битовой логики. Поэтому надо рисовать целую сетку этих значений, и как-то их потом обрабатывать.
Просто вдруг (ну может же такое быть
) есть такой блок в SMART-е который мог бы просто сделать какое-то соответствие конкретной цифре - конкретную строку (фразу). В SMARTе есть нечто подобное, если задать тип переменной "перечисление". Одно только проблемно, что они задаются последовательно. Еще пробовал использовать в SMARTе "журнал событий", в SMlogix 1,27 больше 60 событий начинает ловить глюк и просто вылетает. Может в SMlogix 1,28 как-то лучше стало с "журналом событий" я не пробовал, сейчас как раз думаю попробовать..... но событий тогда придется все-равно прописывать под 300 шт.