Проблемы при обмене

Вопросы по программе Lectus Modbus OPC/DDE server
kmm
Сообщения: 20
Зарегистрирован: 14 мар 2013, 07:22

Re: Проблемы при обмене

Сообщение kmm »

Как пожелание к последующему развитию, представляется верным запись регистров по команде модбас делать незамедлительно после приема посылки, с высочайшим приоритетом. И такой же высочайший приоритет для записи в SQL
(чтобы, к примеру, вызов записи в SQL срабатывал сразу после завершения задачи, инициирующей эту запись)
kmm
Сообщения: 20
Зарегистрирован: 14 мар 2013, 07:22

Re: Проблемы при обмене

Сообщение kmm »

Было бы неплохо, если бы скрипт SQL переменной срабатывал только по условиям в конфигурации. ( Указан скрипт при записи переменной, но срабатывает и при чтении)
admin
Администратор
Сообщения: 578
Зарегистрирован: 05 сен 2010, 00:51

Re: Проблемы при обмене

Сообщение admin »

Скрипт срабатывает при записи.
Запись производится т.к. в настройках дополнительных свойств установлено дублирование переменной с отработкой записи.
kmm
Сообщения: 20
Зарегистрирован: 14 мар 2013, 07:22

Re: Проблемы при обмене

Сообщение kmm »

admin писал(а):Скрипт срабатывает при записи.
Запись производится т.к. в настройках дополнительных свойств установлено дублирование переменной с отработкой записи.
Желателен вариант для выбора, чтобы дублирование с отработкой записи срабатывало только при записи переменной.

Было бы неплохо фильтр событий для записи в лог по типу событий, узлу (отключение записей в лог по фильтру типа событий)
kmm
Сообщения: 20
Зарегистрирован: 14 мар 2013, 07:22

Re: Проблемы при обмене

Сообщение kmm »

kmm писал(а):
admin писал(а):По поводу пропуска исполнения SQL скрипта на запись.
Такое может быть, т.к. при добавлении операции в очередь на выполнение проверяется наличие идентичной задачи.
Если такая задача уже есть, то добавляемая задача отбрасывается, чтобы не забивать очередь однотипными задачами.
Можете подсказать вариант алгоритма работы с гарантированно достоверной записью данных из ПЛК в базу через Лектус?

Например, у нас есть такой вариант алгоритма посылки ПЛК:
1) запись всех переменных в Лектус одной посылкой (как и в разбираемом логе) - ПЛК делает посылку с контролем ответа
2) чтение той же области данных для контроля идентичности посланных и принятых данных

Получается, данный вариант не гарантирует записи этой посылки в SQL.

Если бы, к примеру, после пункта 1 процедура записи в SQL изменяла определенным образом какой либо служебный регистр в этом узле?

(С учетом той проблемы, что любые записи и чтения переменных, инициирующих запись в SQL переменной, всегда вызывают повторное срабатывание SQL переменной (запись в SQL) )
Возможно, кому либо будет полезно: для достоверности записи возможен, например, такой вариант:
1. PLC: Модбас запись и контроль ответа. В посылке служебное поле - идентификатор посылки.
2. PLC:Таймаут. Сервер: Запись SQL, в том числе в служебную таблицу с полями ключ-идентификатор узла-PLC, идентификатор последней посылки,чтение этого поля в переменную lectus.
3. PLC: чтение-контроль всей записанной области(или нескольких контрольных полей) и поля обратной связи записи в SQL.
Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 6 гостей