Показать сообщение отдельно
Старый 13.06.2019, 13:43   #6
vohodonoo
Member
 
Регистрация: Jun 2015
Сообщения: 46
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Запись аварийных событий

Цитата:
Сообщение от Arsie Посмотреть сообщение
В вашем случае макрос HI(long) выделит уровень жидкости или что там у вас, макрос LO(long) выделит код сообщения. Уже минус 65535 сравнений.

Далее нужно проанализировать ваши коды сообщений. Если программист был достаточно опытен, то типы сообщений разделены на битовые маски и тогда ни одного сравнения вам вообще не понадобится. Если программер, который придумывал эти сообщения, любит решать задачи в лоб, то мимо 300 сравнений вам не пройти, можно лишь оптимизировать это количество. Что возвращает нас к необходимости анализа всех кодов сообщений.
То что байты разделить это не проблема, и сразу так и было сделано. А вот то что они нифига никак битовыми операциями не подчиняются это точно, там нет никакой битовой логики. Поэтому надо рисовать целую сетку этих значений, и как-то их потом обрабатывать.

Просто вдруг (ну может же такое быть) есть такой блок в SMART-е который мог бы просто сделать какое-то соответствие конкретной цифре - конкретную строку (фразу). В SMARTе есть нечто подобное, если задать тип переменной "перечисление". Одно только проблемно, что они задаются последовательно. Еще пробовал использовать в SMARTе "журнал событий", в SMlogix 1,27 больше 60 событий начинает ловить глюк и просто вылетает. Может в SMlogix 1,28 как-то лучше стало с "журналом событий" я не пробовал, сейчас как раз думаю попробовать..... но событий тогда придется все-равно прописывать под 300 шт.
vohodonoo вне форума   Ответить с цитированием