Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя
Показано с 21 по 30 из 33

Тема: Получение данных из MS SQL в MasterSCADA

  1. #21

    По умолчанию

    Цитата Сообщение от Kuzmi4 Посмотреть сообщение
    Как из таблицы SQL с несколькими полями в МастерСкаде вытащить все данные, можно ли это сделать одной процедурой или функцией и какой нужен для этого запрос.
    То есть вам нужно выполнить запрос чтения, и в результате получить несколько значений?
    В этом случае значения должны войти в архив MasterSCADA, и следовательно иметь его структуру (то есть значение, метка времени, признак качества). Есть ли в вашей таблице метка времени?
    Если есть то тогда можно использовать выборку. Ставите галочку "Использовать выборку", ставите галочку "Временной параметр", и указываете каким номером он идет в запросе. Аналогично с признаком качества (но его использовать необязательно - тогда все значения в архив будут приходить с хорошим признаком).
    Запрос может быть например такой:
    CREATE PROCEDURE MyProcedure1
    AS
    BEGIN

    Select TOP 100 val, tim, qual from My_Table1;
    END
    где val - значение
    tim - метка времени
    qual - признак качества.
    Спасибо.

  2. #22

    По умолчанию

    В моем случае не совсем так. У меня существует таблица. К примеру первый столбец name, который состоит из 4 строк (названия датчиков) следущие столбцы-их характеристика, шкала, описание и тому подобное. В мастер скаде, выбирая датчик, нужно увидеть остальные столбцы.
    Процедура следущая:
    AS
    BEGIN
    SELECT descr, min, max, lo, hi, units
    FROM meter_type
    WHERE (name = @name)
    END

    где
    descr, min, max, lo, hi, units-столбцы со значениями характеристик
    name - название датчика
    С SQL общаюсь совсем мало.

  3. #23

    По умолчанию

    Цитата Сообщение от Kuzmi4 Посмотреть сообщение
    К примеру первый столбец name, который состоит из 4 строк (названия датчиков) следущие столбцы-их характеристика, шкала, описание и тому подобное. В мастер скаде, выбирая датчик, нужно увидеть остальные столбцы.
    Ну это совсем другое дело. Просто нужно в таблице сделать несколько выходных переменных и одну входную
    CREATE PROCEDURE MyProcedure (@MyID int, @MyValue int output, @MyValue int output)
    AS
    BEGIN
    SELECT @MyValue=My_table.Value, @MyValue1=My_table.Value1 from My_table where My_table.ID=@MyID;
    END
    Спасибо.

  4. #24

    По умолчанию

    Благодарю, но
    Ну это совсем другое дело. Просто нужно в таблице сделать несколько выходных переменных и одну входную
    Если создать подобный запрос, то SQL при выполнении требует ввода остальных (@MyValue int output) переменных. И в Мастер Cкаде, как я понял тоже следует добавить выходы

  5. #25

    По умолчанию

    Цитата Сообщение от Kuzmi4 Посмотреть сообщение
    И в Мастер Cкаде, как я понял тоже следует добавить выходы
    Конечно. И в MasterSCADA тоже, добавляете переменные в процедуре БД коннектора, указываете тип.
    Спасибо.

  6. #26

    По умолчанию

    Да, я так и делаю вопрос в том, что SQL при таком запросе требует указать выходные переменные @MyValue int output (т.е. сам запрос некорректен)и соответственно в Мастер Скаде не отображаются выходные параметры. Подскажите пожалуйста как быть?

  7. #27

    По умолчанию

    А вы правильно настроили процедуру в самой SCADA? В приложении пример под данную хранимую процедуру.
    Вложения Вложения
    • Тип файла: zip MS SQL.ZIP (91.9 Кб, Просмотров: 47)
    Спасибо.

  8. #28

    По умолчанию

    Да в мастер скаде все настроенно также. Один результат я могу получить (используя set @result). А при выполнении процедуры-правильно что у меня SQL спрашивает ввести дополнительные выходные параметры (как то не логично, я же хочу по одному параметру доставать данные)?

  9. #29

    По умолчанию

    Цитата Сообщение от Kuzmi4 Посмотреть сообщение
    Один результат я могу получить (используя set @result).
    Что значит один результат?

    Цитата Сообщение от Kuzmi4 Посмотреть сообщение
    А при выполнении процедуры-правильно что у меня SQL спрашивает ввести дополнительные выходные параметры (как то не логично, я же хочу по одному параметру доставать данные)?
    Выходные параметры (помеченные в процедуре out), это параметры которые возвращаются в SCADA. Вы задаете один входной параметр - имя вашего датчика, по нему происходит поиск в базе, найденные значения из остальных столбцов этой присваиваются выходным параметрам и возвращаются в SCADA.
    Спасибо.

  10. #30

    По умолчанию

    Все, благадарю!
    Запрос создал в менеджменте и все подцепилось, до этого создавал в вижуал студии. Может не проавильно создал обращение к запросу. Будем разбираться дальше

Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •