Aidar

Созданные ответы форума

Просмотр 13 сообщений - с 31 по 43 (из 43 всего)
  • Автор
    Сообщения
  • в ответ на: передача данных с Rapid Scada #9160
    Aidar
    Участник

    вызываю процедуру
    EXEC [dbo].[tr_Only_Today] 2065, 2500;

    в ответ на: передача данных с Rapid Scada #8861
    Aidar
    Участник

    переписал процедуру, чтоб быстрее выполнялась и все заработало.

    в ответ на: передача данных с Rapid Scada #8745
    Aidar
    Участник

    В Текущих данных оставил только код:
    EXEC [dbo].[tr_Only_Today] 2065, 2500;
    Запись в базу останавливается. В журнале пишет:

    Ошибка при экспорте текущих данных в БД MSSQL - srvtech: Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.
    Невозможно добавить в очередь текущие данные. Максимальный размер очереди 100 превышен
    в ответ на: передача данных с Rapid Scada #8673
    Aidar
    Участник

    со старым кодом все работает как раньше.
    То есть, если просто исключить вызов функции EXEC [dbo].[tr_Only_Today] 2065, @val; все работает

    в ответ на: передача данных с Rapid Scada #8667
    Aidar
    Участник

    с синтаксисом вроде разобрался. В Текущих данных вот это:

    IF (@stat=1) and (@cnlNum != 2065)
    BEGIN
    UPDATE sensors SET value = @val, error = 0 WHERE id_sensor = @cnlNum
    INSERT INTO data_02 (id_sensor, id_group, value) SELECT id_sensor, id_group, @val FROM sensors WHERE  id_sensor = @cnlNum AND scan = 1
    END
    IF (@stat=1)  and (@cnlNum = 2065)
    BEGIN
    
    INSERT INTO data_02 (id_sensor, id_group, value) SELECT id_sensor, id_group, @val FROM sensors WHERE  id_sensor = @cnlNum AND scan = 1
    EXEC [dbo].[tr_Only_Today] 2065, @val;
    
    END

    Но в журнале пишет: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
    экспорт в БД останавливается. что это значит? как исправить?

    в ответ на: передача данных с Rapid Scada #8630
    Aidar
    Участник

    создал хранимую процедуру

    USE [scada]
    GO
    
    SET ANSI_NULLS OFF
    GO
    SET QUOTED_IDENTIFIER OFF
    GO
    
    ALTER PROCEDURE [dbo].[tr_Only_Today] (@id_sensor INT, @val int)
    	
    
    AS
       DECLARE @Yesterday	int
       
    set @Yesterday = (SELECT TOP 1 [value]   FROM [scada].[dbo].[data_02]  where id_sensor=@id_sensor and day(time) = DAY(GETDATE())-1  Order by id DESC)
    UPDATE [scada].[dbo].[sensors] SET value = @val - @Yesterday WHERE id_sensor = @id_sensor

    вызываю процедуру во вкладке Текущие данные:

    IF (@stat=1) and (@cnlNum != 2065)
    BEGIN
    
    UPDATE sensors SET value = @val, error = 0 WHERE id_sensor = @cnlNum
    INSERT INTO data_02 (id_sensor, id_group, value) SELECT id_sensor, id_group, @val FROM sensors WHERE  id_sensor = @cnlNum AND scan = 1
    END
    
    IF (@stat=1)  and (@cnlNum = 2065)
    BEGIN
    tr_Only_Today (2065, @cnlNum)
    END

    экспорт в БД останавливается. что не так?

    в ответ на: передача данных с Rapid Scada #8597
    Aidar
    Участник

    Добрый день.
    Имеется счетчик импульсов.
    Необходимо знать количество импульсов насчитанное за сегодня.
    Как организовать обновление поля в таблице БД:
    поле value в таблице sensors, где id_sensor 2065 = последнее вчерашнее value из таблицы data_02, где id_sensor 2065 - текущее показание из канала 2065
    то есть вопрос в том, куда запихнуть этот код и будет ли это работать:

    DECLARE @Yesterday_2065 int
    set @Yesterday_2065 = (SELECT TOP 1 [value]   FROM data_02] where id_sensor = 2065 and day(time) = DAY(GETDATE())-1  Order by id DESC)
    
    UPDATE sensors SET value = @val - @Yesterday_2065 , error = 0 WHERE id_sensor = 2065 
    в ответ на: передача данных с Rapid Scada #4728
    Aidar
    Участник

    Прошу прощения сильно затупил!
    Я весь «Пример таблиц и SQL запросов» запихнул во вкладку текущие данные и получилось непонятно что))
    Раскидал пример кода по вкладкам Текущие данные, Архивные данные, События и все поехало!
    Может в документации стоит более явно об этом написать, а может только я этого не понял сразу.
    спасибо за ответы

    в ответ на: передача данных с Rapid Scada #4713
    Aidar
    Участник

    SQL синтаксис в порядке.
    Все настроено как в примере без изменений.

    в ответ на: передача данных с Rapid Scada #4711
    Aidar
    Участник

    Скриншоты настройки модуля экспорта в БД:
    https://img-fotki.yandex.ru/get/108168/325146823.1a/0_12112b_5b28095f_L.jpg
    https://img-fotki.yandex.ru/get/194858/325146823.1a/0_12112c_abc0035d_L.jpg
    Во вкладках Архивные данные и События ничего не менял.

    лог модуля ModDBExport.dll:
    https://yadi.sk/d/e1uRgVhl3EKXGd
    пробовал экспериментировать с SQL запросом из примера. Объявлял переменные, вырезал часть кода, все равно ругается.

    в ответ на: передача данных с Rapid Scada #4702
    Aidar
    Участник

    1. Вы создали базу данных на сервере по скриптам из документации?

    нет. База уже существует и используется. не видел в документации скрипта для создания базы. Таблицы CnlData и Events создал при помощи скриптов из примера.

    2. Желательно побольше скриншотов.

    Что именно показать? вроде пошагам расписал, что сделал.

    По идее, настроив только модуль ModDBExport.dll, мне больше ничего не надо настраивать и все данные будут в БД идти?

    в ответ на: передача данных с Rapid Scada #4691
    Aidar
    Участник

    Необходимо отправлять данные на MS SQL Server.

    В SCADA-Сервере на странице Модули добавил ModDBExport.dll
    Затем настроил свойства этого модуля: сервер, бд, пользователь, пароль.
    Во вкладке Текущие данные поставил галочку Экспортировать, и вставил код из примера: http://doc.rapidscada.net/content/ru/modules/mod-db-export.html
    По кнопке настроить соединение, на странице Модули, ничего не настраивал. Надо?

    В логе модуля экспорта пишет:
    Ошибка при экспорте текущих данных в БД MSSQL — SecondServer\prg: Неправильный синтаксис около конструкции « ».
    Неправильный синтаксис около ключевого слова «AS».
    Необходимо объявить скалярную переменную «@objNum».

    что это значит?

    в ответ на: передача данных с Rapid Scada #4690
    Aidar
    Участник

    у меня в дистрибутиве нет файла dbexport_ru.pdf. там только «Инструкция по быстрой установке»
    где dbexport_ru.pdf можно найти?

Просмотр 13 сообщений - с 31 по 43 (из 43 всего)