запись значений в SQL-сервер

Ответить


Этот вопрос предназначен для предотвращения автоматической отправки форм спам-ботами.
Смайлики
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :arrow: :| :mrgreen: :geek: :ugeek:

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[flash] ОТКЛЮЧЕН
[url] ВКЛЮЧЁН
Смайлики ВКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: запись значений в SQL-сервер

Re: запись значений в SQL-сервер

EugeneFrol » 01 июн 2013, 17:59

Спасибо. Проблема решена. Вообще я планирую использовать всю функциональность Lectus'а. Осваиваю его понемногу.
Возникают вопросы, ответы на которые пока получаю опытным путем. Есть еще подводные камни в нем. Но если их все исправить,
то даже добавлять ничего не надо. Функциональности более чем достаточно!!! :D

Re: запись значений в SQL-сервер

admin » 30 май 2013, 11:16

Запустите сервер в отладочном режиме: ServOPC.exe -debug
Вышлите на lectussoft@gmail.com используемую конфигурацию *.cfg и лог работы *.log.
Укажите время когда не отработалось дублирование.

Re: запись значений в SQL-сервер

EugeneFrol » 30 май 2013, 10:41

Здравствуйте! Новая проблема появилась - дублирование не работает. Значение переменной источника может несколько раз поменяться, а SQL переменная приемник один раз отрабатывает скрипт записи (когда захочет).

Re: запись значений в SQL-сервер

EugeneFrol » 26 апр 2013, 18:17

Прошу прощения. Отладочная работает нормально. Ошибка - "Нет данных" исчезла.
С целой частью я погорячился :oops: Хранимая процедура, вызываемая через скрипт округляла до десятых!!!
Извините великодушно!!! Впредь буду внимательней. :ugeek: Тяжелая неделя выдалась.

Re: запись значений в SQL-сервер

admin » 26 апр 2013, 15:44

1) Нужны данные чтобы сэмулировать ситуацию - конфигурация *.cfg и лог *.log.
Укажите имя переменной

2) Жду отчета о тестировании отладочной версии которую высылал по почте

Re: запись значений в SQL-сервер

EugeneFrol » 26 апр 2013, 15:06

Кажется, локализовал ошибку!
Обе переменные типа Single Float, т.е. имеют целую часть и дробную часть.
Так вот дублирование происходит только если в переменной источнике при чтении изменится целая часть значения.
Если при чтении переменной изменяется только дробная часть, то дублирование не срабатывает!!!
Такой алгоритм имеет значение только для целый типов, чтобы не выполнять лишних операций записи, но в данном случае - косяк!!!
Исправьте, пожалуйста. 8-)

Re: запись значений в SQL-сервер

EugeneFrol » 26 апр 2013, 13:43

Не пойму :? как работает дополнительный параметр -> дублирование переменной. Я понимаю так, прочитанна переменная и ее значение тут же должно переписаться в указанную переменную, при этом отрабатать запись в прибор или скрипт на запись в SQL. MODBUS -> MODBUS - работает, MODBUS -> SQL - не работает!!! :x
Не отрабатывет скрипт записи SQL-переменной - нет сообщения в логе. Он отрабатывает, когда правой кнопкой -> записать значение сделаешь.
Почему не работает дублирование в SQL-переменную ??? :(

Re: запись значений в SQL-сервер

admin » 24 апр 2013, 16:13

Чтобы конкретней ответить на вопрос нужны данные.

Вышлите на lectussoft@gmail.com
1) Суть проблемы;
2) Используемую конфигурацию *.cfg;
3) Лог работы *.log из каталога Log папки профиля (через меню "Настройка" - "Папка профиля");
4) Отчеты об ошибке *.txt из каталога BugReport папки профиля (если есть).

Re: запись значений в SQL-сервер

EugeneFrol » 24 апр 2013, 15:42

Итак:
1. Создана MODBUS переменная VKT-5.G1, которая раз в секунду получает значение с прибора. В доп.параметрах указано "отработать запись" в SQL.Value
2. Создана SQL переменная SQL.Value в скрипт записи которой содержит:
EXEC SetValue 281, Item(VKT-5.G1), 192, 0
- скрипт чтения: SELECT [Value] FROM Item WHERE Id = 281 - вопросов не вызывает
3. При проверке, скрипт нормально отрабатывает запись (и в режиме редактирования, и в рабочем режиме)
4. При обычном запуске в лог выводится:
Ошибка - нет данных. SQL=EXEC SetValue 281, :Item_VKT-5_G1_, 192, 0;
5. После чего повторных попыток сделать запись не происходит!!!
6. Если сделать запись любого значения в SQL.Value вручную, то скрипт отрабатывает нормально (переписывает значение VKT-5.G1 в SQL.Value)

Помогите, пожалуйста, разобраться.

Re: запись значений в SQL-сервер

Dam33 » 29 мар 2013, 13:04

Получилось! Сделал так, с передачей параметра внутрь скрипта:
Новая переменная типа SQL 'AddRec'. В ней скрипт при чтении
declare @Q nvarchar(999)
set @Q=Quality(SomeTag)
if @Q=192
begin
insert into dbo.SomeTable (Edit1, Edit2)
values (Item(Tag1), Item(Tag2))
end

Вернуться к началу