PDA

Просмотр полной версии : mssql и masterscada



vadim_
21.02.2016, 10:32
Добрый день!

Стоит задача из скады отослать в mssql номер( уникален), в бд уже есть сводная таблица ( nomer и parity(четность)), полученный номер сравнивается с nomer из таблицы и если например число четное, то отправляет в скаду в определенный вход и наоборот.

Получилось пока реализовать: (скрин).
В архиве проект скады, номер с бд передает, но не получает по процедуре обратно в архив, подскажите что не так...

vadim_
21.02.2016, 13:16
все решил проблему)

Если кто прочитает тему, переписал процедуру отправки в скаду:
USE [cowbase]
GO
/****** Object: StoredProcedure [dbo].[SelectValueCHET] Script Date: 22.02.2016 12:27:08 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[SelectValueCHET]
(@Parity int output)
AS
BEGIN

SELECT nomercowscada, (qual*192)

From Table_1, Table_2

where (ID = (SELECT MAX(ID) FROM Table_2) and nomercowscada=nomer_cow and parity=2)

END

Сейчас корректно отправляет последнее значение.
Вопрос: как сделать так, если условие where не выполняется, то отправляется 0 в скаду вместо nomercowscada или например передавать метку времени и смотреть когда было последнее обновление в скаде( нашел переключение по времени) ?

п.с. процедуры две для parity=1 и parity=2