1
Ваши вопросы / Re: БД и Отчеты
« : 03 Октября 2018, 16:26:42 »
Сделать два различных отчета, а логику обработки условий переместить на уровень скады. В зависимости от условий формировать один отчет или другой.
Официальный форум Simple-Scada.
В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.
Добрый день, подскажите как можно использовать текущую погоду с какого нибудь сайта в проекте, визуализировать ее и использовать показание погоды для самого проекта?vyacheslav, Simple-Scada умеет читать текстовые файлы, это дает Вам возможность извернуться как хотите.
{"coord":{"lon":37.62,"lat":55.75},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01n"}],"base":"stations","main":{"temp":-4.5,"pressure":1010,"humidity":53,"temp_min":-5,"temp_max":-3},"visibility":10000,"wind":{"speed":3,"deg":210},"clouds":{"all":0},"dt":1521484200,"sys":{"type":1,"id":7325,"message":0.0029,"country":"RU","sunrise":1521430374,"sunset":1521474143},"id":524901,"name":"Moscow","cod":200}jq is a lightweight and flexible command-line JSON processor.https://stedolan.github.io/jq/ <-качаем отсюда
cURL — свободная (распространяемая по лицензии MIT), кроссплатформенная служебная программа командной строки, позволяющая взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
https://ru.wikipedia.org/wiki/CURL
echo off
cls
set dirPath=%~dp0
"%dirPath%curl.exe" "http://api.openweathermap.org/data/2.5/weather?q=Moscow,RU&appid=ВАШ_APIKEY&units=metric" | "%dirPath%jq.exe" ".main.temp" > "%dirPath%weather.txt"
var
aPath:String;
begin
if WeatherTimer.AsDateTime < StrToTime('00:00:01') then begin
if FileExists('weather.txt', GetProjectPath + 'bin\') then begin
TextFileOpen('weather.txt', GetProjectPath + 'bin\', fomReset, fcpUTF8);
txtWeather.Text:=TextFileReadLn+'°C';
TextFileClose;
end;
end;
if WeatherTimer.AsDateTime > StrToTime('00:00:10') then begin
aPath := '"' + GetProjectPath + 'bin\weather.bat"';
RunApplication(GetClientName, aPath,'');
TimerStart(WeatherTimer,0); //Сбрасываем таймер
end;
end.












Добрый день!Cкрипт с условием "Прошла секунда":
Прошу Вас помочь в написании простого скрипта. Имеется связка ПЛК(сервер)-GPRS модем- на объекте ,GPRS модем-Lectus-SimpleScada2 в диспетчерской. Задача - отследить разрыв связи на стороне ПЛК. То есть, необходимо чтобы СКАДА записывала в ПЛК периодически меняющуюся переменную типа boolean. На стороне ПЛК организовать проверку не составляет проблем, а вот со скриптами пока не разберусь... Спасибо!!
begin
Tag.Value := InverseBit(Tag.Value, 0);
end.
Здравствуйте.Использую для этого nircmd.
Отдельной процедуры для закрытия приложения нет. Можно создать .bat-файл который выполняет закрытие приложения и запускать его из скады через RunApplication.
begin
RunApplication(GetClientName, 'nircmd.exe' , 'killprocess notepad.exe');
end.