Просмотр полной версии : ModbusTCPMaster Лицензия некорректна или отсутствует; запущен демо-режим
Сегодня ModbusTCPMaster перестал работать. При просмотре состояния красная надпись "Лицензия некорректна или отсутствует; запущен демо-режим"
Что за лицензия???
СПК 110 и модули MK210, MV210
Евгений Кислов
01.02.2021, 13:00
Сегодня ModbusTCPMaster перестал работать. При просмотре состояния красная надпись "Лицензия некорректна или отсутствует; запущен демо-режим"
Что за лицензия???
СПК 110 и модули MK210, MV210
На мой взгляд, единственное, что может привести к такому поведению - повреждение файла лицензии.
Вам нужно перепрошить контроллер.
Контроллер перепрошил, ModbusTCP заработал нормально, а не как с ошибкой в течении 30 минут. Но проблемы с текущем временем остались. Иногда время самостоятельно изменяется на величину UtcOffset.
Евгений Кислов
03.02.2021, 07:48
Контроллер перепрошил, ModbusTCP заработал нормально, а не как с ошибкой в течении 30 минут. Но проблемы с текущем временем остались. Иногда время самостоятельно изменяется на величину UtcOffset.
"Иногда" - это с какой периодичностью?
Вы используете в проекте компонент OwenArchiver?
Потому и написал "иногда" что может несколько раз в минуту, а может и целый час без проблем.
OwenArchiver в данный момент не использую.
Евгений Кислов
03.02.2021, 12:48
Потому и написал "иногда" что может несколько раз в минуту, а может и целый час без проблем.
OwenArchiver в данный момент не использую.
Если урезать проект (убрать дополнительные библиотеки и т.д.) - проблема воспроизводится?
Если да, то выложите, пожалуйста, этот проект сюда.
К сожалению не могу убрать доп. библиотеки и т.д. так как сейчас нет связи с СПК (пытался настроить ntp, а для этого пытался прописать шлюз, после этого связь исчезла).
Евгений Кислов
03.02.2021, 13:55
К сожалению не могу убрать доп. библиотеки и т.д. так как сейчас нет связи с СПК (пытался настроить ntp, а для этого пытался прописать шлюз, после этого связь исчезла).
Уточните, пожалуйста, как мне увидеть описанную проблему, используя ваш проект.
В программе ZakB во многих местах используется текущее время TargetVars.stRtc.dtDateAndTime
я создал переменную и присвоил ей dtT := TargetVars.stRtc.dtDateAndTime; [строка 6]
Далее при определённых условиях (например давление .arAI_R[i] меньше 18) это значение записывается в .DT_ZBn := dtT; и .DT_ZBk := dtT; [82,84]
Эти значение видны в таблице при GVL.jIndex = 0, и там можно видеть как они произвольно изменяются на 6 часов (когда UtcOffset был 3 часа, изменялся на 3 часа)
Для наглядности видео
Если это делать в режиме эмуляции, то естественно ничего подобного не происходит. Записать подобную версию проекта в работающий СПК не могу, во первых панель в данный момент работает на производстве, во вторых я пока не могу с ним связаться по Gateway-1, а значит не могу ничего изменить в проекте. Могу только наблюдать по webvisu.htm
Запасного СПК нет
Евгений Кислов
04.02.2021, 09:02
На текущий момент ситуация выглядит следующим образом:
на вашем проекте с небольшими урезаниями (убрал тренды, алармы, символьную конфигурацию) проблема стабильно воспроизводится (у меня UTC+3, поэтому скачки на 3 часа):
53353
если я убираю из вашего проекта опрос по Modbus TCP, содержимое всех экранов визуализации, код программы DMod и неиспользуемые библиотеки из Менеджера библиотек - то проблема перестает воспроизводиться:
53354
Я рекомендую вам восстановить сетевые настройки СПК (например, сбросив его на заводские настройки через экранный конфигуратор) и провести отладку проекта, обратив внимание на те его компоненты, которые я перечислил выше.
Больше всего внимания стоит уделить визуализации и настройках ее элементов (которых очень много) - нет ли среди них элементов с нулевой шириной и длиной? везде ли используются корректные для данного типа спецификаторы вывода? и т.д.
Со своей стороны мы в ближайшее время постараемся разработать пример с ФБ для фильтрации таких скачков времени.
Со своей стороны мы в ближайшее время постараемся разработать пример с ФБ для фильтрации таких скачков времени.
Переменную dtT , как я уже говорил, я ввел потому что она (текущее время) используется во многих местах.
Но не везде по ходу программы заменил TargetVars.stRtc.dtDateAndTime на dtT
Я решил заменить на переменную dtT все упоминания на TargetVars.stRtc.dtDateAndTime
а при присвоении переменной dtT значения текущего времени производить проверку:
IF TargetVars.stRtc.dtDateAndTime > dtT THEN
dtT := TargetVars.stRtc.dtDateAndTime; // Текущее время
END_IF
После загрузки в ПЛК этого варианта программы TargetVars.stRtc.dtDateAndTime по прежнему скачет, но так как теперь внутри фигурирует только dtT, то это ни на что не влияет.
п.с. Интересно то, что элемент прямоугольник GenElemInst_241 который просто отображает текущее время используя формат текста %t[HH:mm:ss] не скачет
Проблема неожиданно исчезла. Подключился чтобы проверить как работает программа. Наблюдал за TargetVars.stRtc.usiGetHour несколько минут, скачков НЕТ.
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot