Есть таблица параметров в SQL которую нужно считать в скаду:
sQuery:= 'SELECT * FROM `my_table`';
RunSQL(sQuery, nil, 1);
И по выполнению запроса присвоить значения переменным:
if DataSet.Tag <> 1 then exit;
while not DataSet.EOF do
case DataSet[0].AsInt of
1: vrValue1.Value := DataSet[1].AsFloat;
2: vrValue2.Value := DataSet[1].AsFloat;
// ...
end;
DataSet.Next;
end;
1) Если я правильно понял, то 100 таких параметров не будут считаться внешними и не отразятся на ограничение по лицензии.
2) Демо версия не работает с MSSQL ?
Не удобно использовать MySQL для отладки.
3) vrValue.Quality := 0; не работает, а жаль... (Cannot assign to read-only property).
Будет ли в будущем возможность присвоение качества, что б не создавать отдельную переменную?
Здравствуйте.
Да, это нормально. Если "Поле" не связано с переменной, то оно будет доступно для ввода и в него выведется значение, указанное в редакторе (см. свойство "Значение (https://simple-scada.com/help/manual/field.html)").
При необходимости "Поля" которые не связаны с переменной (не указана подстановка или переменной с указанным именем не существует) можно скрывать. Для этого на событие "OnInit (https://simple-scada.com/help/script/additional-events.html)" шаблона/шаблонного окна нужно написать такой код:
var
aObj: TM_Object;
begin
aObj := GetTemplateObject('Field1');
aObj.Visible := aObj.Variable <> nil;
aObj := GetTemplateObject('Field2');
aObj.Visible := aObj.Variable <> nil;
end.
В скрипте нужно перечислить все возможные объекты, которые предполагается скрывать.
Здравствуйте.
Сейчас заметил, что у меня не все данные в селект правильные.
Для корректных тестов всегда используйте одинаковые запросы. Т.е. в скаде делайте запрос как в SQL Management Studio:
sQuery:= 'SELECT TOP 1000 [ID_Channel], [MeasureDate], [Value], [State] FROM [Currents];';
tblMy.RunSQL(sQuery, tsSaveFixRow);
Также в скаде увеличьте ширину колонки с датой/временем, чтобы видеть время целиком.
Уточните, какой тип данных имеет колонка State в БД (либо пришлите код создания данной таблицы из SQL Management Studio).