- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Разный текст в Журнале Событий
Модераторы: Глоб.модераторы, специалисты Weintek
-
- здесь недавно
- Сообщения: 48
- Зарегистрирован: 28 апр 2015, 17:19
- Имя: Петров Артем Олегович
- Благодарил (а): 10 раз
Разный текст в Журнале Событий
Здравствуйте.
Протокол Modbus TCP. Пытаюсь настроить Журнал Событий(Аварий) так, чтобы, к примеру, в содержимом Текста сообщения при передаче по адресу 3x-100:
- значения "1" писалось "Авария: Повышенная температура",
- значения "2" писалось "Предупреждение: Повышенная температура".
Догадываюсь, что как-то надо это делать через %WATCH#, но не могу понять как. Сталкивался кто-то с этим?
Протокол Modbus TCP. Пытаюсь настроить Журнал Событий(Аварий) так, чтобы, к примеру, в содержимом Текста сообщения при передаче по адресу 3x-100:
- значения "1" писалось "Авария: Повышенная температура",
- значения "2" писалось "Предупреждение: Повышенная температура".
Догадываюсь, что как-то надо это делать через %WATCH#, но не могу понять как. Сталкивался кто-то с этим?
-
- не первый раз у нас
- Сообщения: 306
- Зарегистрирован: 26 май 2022, 12:10
- Имя: Александр
- Страна: Россия
- город/регион: lipetsk
- Благодарил (а): 5 раз
- Поблагодарили: 28 раз
-
- здесь недавно
- Сообщения: 98
- Зарегистрирован: 01 апр 2022, 11:08
- Имя: Артем
- город/регион: Благовещенск
- Благодарил (а): 1 раз
- Поблагодарили: 25 раз
Разный текст в Журнале Событий
Не занимайтесь ерундой и сделайте два разных события.
Watch предназначен для вывода значения переменной в тексте аварии. Например: "Авария температуры. Тн = 45 °С"
Если уж прям сильно хочется подобное реализовать, то нужно будет писать макрос, в котором, в зависимости от значения регистра, какой нибудь строковой переменной в памяти панели будет присваиваться нужный текст, а потом уже эту строковую переменную выводить в сообщении через watch.
Watch предназначен для вывода значения переменной в тексте аварии. Например: "Авария температуры. Тн = 45 °С"
Если уж прям сильно хочется подобное реализовать, то нужно будет писать макрос, в котором, в зависимости от значения регистра, какой нибудь строковой переменной в памяти панели будет присваиваться нужный текст, а потом уже эту строковую переменную выводить в сообщении через watch.
-
- здесь недавно
- Сообщения: 48
- Зарегистрирован: 28 апр 2015, 17:19
- Имя: Петров Артем Олегович
- Благодарил (а): 10 раз
Разный текст в Журнале Событий
Не очень хочется вместо 400 аварийных событий делать 800)SBeaRM писал(а): ↑24 май 2024, 02:56 Не занимайтесь ерундой и сделайте два разных события.
Watch предназначен для вывода значения переменной в тексте аварии. Например: "Авария температуры. Тн = 45 °С"
Если уж прям сильно хочется подобное реализовать, то нужно будет писать макрос, в котором, в зависимости от значения регистра, какой нибудь строковой переменной в памяти панели будет присваиваться нужный текст, а потом уже эту строковую переменную выводить в сообщении через watch.
Не могу поверить что разработчики не предусмотрели такую относительно несложную вещь, как замена текста в сообщениях.
-
- здесь недавно
- Сообщения: 98
- Зарегистрирован: 01 апр 2022, 11:08
- Имя: Артем
- город/регион: Благовещенск
- Благодарил (а): 1 раз
- Поблагодарили: 25 раз
Разный текст в Журнале Событий
Сделайте через Эксель. Там простым копированием легко делается и 400 и 500 и 800.
Импорт/Экспорт вам поможет. Я только так и создаю сообщения и тэги.
Импорт/Экспорт вам поможет. Я только так и создаю сообщения и тэги.
Я такое не видел ни у кого.
-
- завсегдатай
- Сообщения: 544
- Зарегистрирован: 19 мар 2012, 20:04
- Имя: Павел
- Страна: Россия
- Благодарил (а): 6 раз
- Поблагодарили: 59 раз
-
- администратор
- Сообщения: 18758
- Зарегистрирован: 17 июн 2008, 16:01
- Имя: Евгений свет Брониславович
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 973 раза
- Поблагодарили: 1854 раза
Разный текст в Журнале Событий
Журнал событий работает только по бинарным переменным, типа "бит" или "бит в слове". Два варианта:Ivydy писал(а): ↑23 май 2024, 12:46 Протокол Modbus TCP. Пытаюсь настроить Журнал Событий(Аварий) так, чтобы, к примеру, в содержимом Текста сообщения при передаче по адресу 3x-100:
- значения "1" писалось "Авария: Повышенная температура",
- значения "2" писалось "Предупреждение: Повышенная температура".
Догадываюсь, что как-то надо это делать через %WATCH#, но не могу понять как. Сталкивался кто-то с этим?
1) Вам нужно макросом прочитать слово по адресу 3x-100, а затем в нём же разложить:
если слово == 1 то внутренний бит 1 (или бит 1 во внутреннем слове) = true, иначе false
если слово == 2 то внутренний бит 2 (или бит 2 во внутреннем слове) = true, иначе false
Затем сделать в журнале два разных события, первое анализирует внутренний бит 1 (или бит 1 во внутреннем слове), второе - внутренний бит 2 (или бит 2 во внутреннем слове)
2) В слове 3х100 значение =1 равно двоичному 0000000000000001, а значение =2 равно двоичному 0000000000000010.
Если это слово может принимать только значения 0, 1 или 2, то создаёте два разных события, первое привязываете к нулевому биту этого слова, второе - к первому. Если слово примет значение 3, 7, 13, 15 и так далее, то это будет соответствовать двоичному значению 0000000000000011, 0000000000000111, 0000000000001011, 0000000000001111 и так далее, то есть будут сразу оба события.
Отправлено спустя 9 минут 59 секунд:
Текстовые сообщения в журнале и не должны меняться. Названия событий чётко определяются и измениться "на лету" не могут. Незачем и предусматривать. Есть куча разных других способов. Например библиотеки меток или массивы текстовых констант, рецепты - можете из них частями составлять другие текстовые переменные. Например, я так делал с журналами событий DM1 и DM2 по SPN и FMI кодам для ЭБУ дизельных двигателей (SPN чётко описано, но имеет значение его FMI и даже то, в каком из журналов DM1 или DM2 обнаружена запись). Но тогда я не пользовался стандартным инструментом "Журнал событий", а рисовал этот журнал вручную формами и объектами типа "текстовый индикатор". Но надо покурить документацию, возможно в стандартном журнале можно подсунуть в качестве текста значение текстовой переменной - просто мне это было не надо, не изучал.
По вопросам работы Форума можно обратиться по этим контактам.
-
- администратор
- Сообщения: 18758
- Зарегистрирован: 17 июн 2008, 16:01
- Имя: Евгений свет Брониславович
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 973 раза
- Поблагодарили: 1854 раза
Разный текст в Журнале Событий
Я Вам больше того скажу. Если бы разработчики это предусмотрели, то многие пользователи со всего мира сказали бы им за это всё что они думают о таком новаторстве, возможно даже матом.
Стандартный объект "Журнал событий" предполагает не только показ его на экранчике, но и запись в файл для последующего разбора полётов. Файл пишется на флешку, на сетевую папку, или отправляется по электронке. Если лично вы этим всем не пользуетесь - это не значит что по всему миру этим никто не пользуется.
И если бы это новаторство было реализовано, то какие записи оказались бы в таком архиве на флешке? С каким текстом? Люди начинают разбираться и не находят в проекте такого события потому что его нет, а вместо текста - формула. Глядя на формулу как определить, что это именно то событие? Никак.
Поэтому делайте 800 событий и не ленитесь. ЕбПро умеет экспортировать и импортировать библиотеки меток в ексель например, а там Вы сможете влёгкую удвоить количество записей по шаблону и импортировать обратно.
По вопросам работы Форума можно обратиться по этим контактам.