Настройка OPC Lectus для передачи данных вMSSQL

Вопросы по программе Lectus Modbus OPC/DDE server
DiGi2
Сообщения: 14
Зарегистрирован: 30 янв 2019, 16:36

Настройка OPC Lectus для передачи данных вMSSQL

Сообщение DiGi2 »

Стоит задача передать данные с OPC сервера в MSSQL.
В OPC сервере все настроил. ("Настройки"- "Параметры" - "Настройка подключения к базе данных"
"Переменные" - "SQL переменные")
admin
Администратор
Сообщения: 578
Зарегистрирован: 05 сен 2010, 00:51

Re: Настройка OPC Lectus для передачи данных вMSSQL

Сообщение admin »

Необходимо использовать SQL переменные.
См. документацию:
http://lectussoft.com/manual/index.html
«Переменные» - «SQL переменная»
DiGi2
Сообщения: 14
Зарегистрирован: 30 янв 2019, 16:36

Re: Настройка OPC Lectus для передачи данных вMSSQL

Сообщение DiGi2 »

Здравствуйте. Подскажите, пожалуйста.
Создал Modbus переменную Item55 – симуляция, тип – single float, счетчик, поведение – поставил галочку в «сохранять состояние во встроенной базе данных», поставил – дублировать значение в переменную «контроллер5. real.Item55_», создал SQL переменную Item55_ , тип- Double Float, и та и эта имеет права доступа «чтение/запись», sql скрипт исполняемый при записи переменной
INSERT INTO bd.dbo.контроллер5 (Item, getdate)
VALUES (Item(контроллер5.real.Item55_), getdate())
В сервере создал BD, столбцы – getdate – тип данных «datetime», Item55_ - тип данных «float».

Но при включении режима симуляции в базе данных в столбце Item55_ «NULL».
И Lectus передает эти нули как то странно может два раза каждую минуту, а потом часа два вообще ни чего не передавать.
Период опроса стоит 2 сек.
admin
Администратор
Сообщения: 578
Зарегистрирован: 05 сен 2010, 00:51

Re: Настройка OPC Lectus для передачи данных вMSSQL

Сообщение admin »

Создайте две переменных:
1) Переменная симуляции Node.Item1
2) SQL переменная Node.Item2 в которой в SQL скрипте на чтение задайте SQL скрипт для записи значения Item1 в базу.
Например: INSERT INTO bd.dbo.контроллер5 (Item, date)
VALUES (Item(Node.Item1), getdate())
DiGi2
Сообщения: 14
Зарегистрирован: 30 янв 2019, 16:36

Re: Настройка OPC Lectus для передачи данных вMSSQL

Сообщение DiGi2 »

Пишу скрипт исполняемый при чтении
INSERT INTO bd.dbo.контроллер5 (Pp5, getdate)
VALUES (Item(контроллер5.real.Р подача5), getdate())
И получаю: Аргументы имеют неверный тип, выходят за пределы допустимого диапазона или вступают в конфликт друг с другом!!
Pp5 sql – переменная (Item)
Р подача5 – реальная переменная (Item1)
:?
admin
Администратор
Сообщения: 578
Зарегистрирован: 05 сен 2010, 00:51

Re: Настройка OPC Lectus для передачи данных вMSSQL

Сообщение admin »

Это ошибка приходит из SQL сервера.
Скорее всего неправильный SQL скрипт.
Как минимум, странно что имя поля совпадает с именем функции (getdate).
Средствами SQL мониторинга посмотрите какой SQL скрипт приходит в базу данных на выполнение.
И попробуйте его выполнить вручную.
DiGi2
Сообщения: 14
Зарегистрирован: 30 янв 2019, 16:36

Re: Настройка OPC Lectus для передачи данных вMSSQL

Сообщение DiGi2 »

Подскажите, пожалуйста.
При отключенном опросе данные не посылаются на MSSQL, а в скаду отправляются, можно ли как нибудь сделать чтобы и вMSSQL отправлялись?
admin
Администратор
Сообщения: 578
Зарегистрирован: 05 сен 2010, 00:51

Re: Настройка OPC Lectus для передачи данных вMSSQL

Сообщение admin »

Опрос автоматически стартует при добавлении SQL переменных в опрос со стороны SCADA системы.
Встроенный опрос предназначен для отладки без SCADA системы.
DiGi2
Сообщения: 14
Зарегистрирован: 30 янв 2019, 16:36

Re: Настройка OPC Lectus для передачи данных вMSSQL

Сообщение DiGi2 »

Здравствуйте. Подскажите, пожалуйста.
У нас такая ситуация, при передачи в mssql сервер в таблице получается лесенка, а можно это как-то исправить? Может опрос всех переменных прописать одним скриптом или еще каким-нибудь образом сделать? Помогите, пожалуйста.

https://wmpics.pics/di-8QXV.jpg
https://wmpics.pics/di-GNHT.jpg
https://wmpics.pics/di-GZ8Y.jpg
admin
Администратор
Сообщения: 578
Зарегистрирован: 05 сен 2010, 00:51

Re: Настройка OPC Lectus для передачи данных вMSSQL

Сообщение admin »

Здравствуйте.
Используйте одну SQL переменную для записи всех используемых значений данной SQL таблицы данных.
Ответить

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

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