Здравствуйте!
Столкнулся с таким эффектом: в ячейках FLASH-памяти $M сохраняю коэффициенты, при помощи которых панель DOP-B10S615 преобразует значения АЦП в физические величины (давление и температура) и отображает их на экране. (До этого делал несколько подобных проектов и всё работало нормально.) Сейчас же попытался реализовать помимо этого счётчик моточасов, который раз в 6 секунд увеличивает значение, хранящееся в $M120 на 0,1. При этом сама панель активно использует для расчётов ранее записанные коэффициенты (считывает из DVP значения АЦП, из $M-памяти коэффициенты и результат отображает на экране). В результате коэффициенты в $M-ячейках с более низкими адресами периодически принимают непредсказуемые значения…
Имею опыт работы с контроллерами ARM и AVR. Там тоже сталкивался с подобным эффектом при обновлении FLASH-памяти, пока после функции записи не ввёл задержку порядка 50-100 ms. Так же самопроизвольно изменялось содержимое других ячеек или терялись записываемые данные.
К сожалению, алгоритм, по которому HMI Delta общается с памятью неизвестен. Ограничений в этом плане в тех. документации не нашёл.
Хотелось бы узнать у более опытных специалистов допустимо ли в процессе работы производить чтение и запись $M-памяти.
Заранее спасибо всем поделившимся своим мнением по данному вопросу!
HMI теряет данные из $M-регистров
Re: HMI теряет данные из $M-регистров
Более опытные специалисты советуют делать расчеты на ПЛК, а панель использовать лишь для ввода-вывода данных.Хотелось бы узнать у более опытных специалистов...
Конкретно по вашему вопросу сказать ничего не могу, так как практически не использую регистры панели, если только не использую панель без ПЛК напрямую с модулями ВВ, но и тогда не наблюдал описанные вами эффекты.
Re: HMI теряет данные из $M-регистров
Не помню, у какого производителя Дельта или Вайнтек есть упоминание что панель сохраняет энергонезависимые регистры 1 раз в секунду. Возможно в этом проблема.
Для масштабирования можно использовать параметры Gain и Offset.
Для масштабирования можно использовать параметры Gain и Offset.
Re: HMI теряет данные из $M-регистров
Кажется проблема была в том, что для компонентов NumericEntry я указал одновременно во WriteAdres и Read Adres адреса $M-регистра. После замены адреса в Read Adres на None потеря данных вроде бы прекратилась.
В описании есть: "If only the write address is set, HMI will read the value of the write address automatically (Если установлен только адрес записи, HMI будет читать значение адреса записи автоматически)."
Пословица "кашу маслом не испортишь" в данном случае не применима...
В описании есть: "If only the write address is set, HMI will read the value of the write address automatically (Если установлен только адрес записи, HMI будет читать значение адреса записи автоматически)."
Пословица "кашу маслом не испортишь" в данном случае не применима...