SCADA 2 — различия между версиями
Материал из Фабиус wiki
Hisava (обсуждение | вклад) (Новая страница: «SCADA - это программа из справочника R266 = Текст программы = = Смотрите также = Полезные ф…») |
Hisava (обсуждение | вклад) м |
||
| Строка 1: | Строка 1: | ||
SCADA - это программа из справочника [[R266]] | SCADA - это программа из справочника [[R266]] | ||
| + | |||
| + | Заполнение таблицы _ | ||
| + | |||
| + | SCADA_2( _, _date ) | ||
| + | |||
| + | _ - таблица | ||
| + | |||
| + | _date - дата | ||
= Текст программы = | = Текст программы = | ||
| + | |||
| + | parameters _, _date | ||
| + | |||
| + | local year, month, day, login, password, base, server_name, server_ip, ; | ||
| + | connection_string, sql, t, msg | ||
| + | |||
| + | year := Year( _date ) | ||
| + | month := Month( _date ) | ||
| + | day := Day( _date ) | ||
| + | |||
| + | login := 'fabius' | ||
| + | password := '13082012_fabius' | ||
| + | base := 'TensoM1' | ||
| + | server_name := '192.168.32.84\SQLEXPRESS' | ||
| + | server_ip := '192.168.32.84' | ||
| + | connection_string := [ ; | ||
| + | Provider = SQLOLEDB.1 ;; | ||
| + | Persist Security Info = true ;; | ||
| + | User ID = ] + login + [ ;; | ||
| + | password = ] + password + [ ;; | ||
| + | Initial Catalog = ] + base + [ ;; | ||
| + | Data Source = ] + server_name + [ ;; | ||
| + | Use Procedure for Prepare = 1 ;; | ||
| + | Auto Translate = true ;; | ||
| + | Packet Size = 4096 ;; | ||
| + | Workstation ID = ] + server_ip + [ ;; | ||
| + | Use Encryption for Data = false ;; | ||
| + | Tag with column collation when possible = false ] | ||
| + | |||
| + | sql := [ Select *, TIME + 0.125 TIME2 ; | ||
| + | From MasterSCADADataRaw ; | ||
| + | Where Year( "Time" ) = ] + year + [ and Month( "Time" ) = ] + month + [ and ; | ||
| + | Day( "Time" ) = ] + day + [ and ; | ||
| + | ( ItemID = 34827 or ItemID = 34828 or ItemID = 37019 ) ] | ||
| + | |||
| + | try | ||
| + | msg := WaitMsg( 'Подготовка данных за ' + _date ) | ||
| + | t := OpenADOQuery( connection_string, sql ) | ||
| + | ( t )->( DbGoTop() ) | ||
| + | while !( t )->( eof() ) | ||
| + | ( _ )->( DbAppend() ) | ||
| + | ( _ )->_1 := ( t )->ItemID | ||
| + | ( _ )->_2 := Left( ( t )->Time, 20 ) | ||
| + | if Rat( ':', ( _ )->_2 ) = 16 | ||
| + | ( _ )->_2 := Left( ( _ )->_2, 10 ) + ' 0' + SubStr( ( _ )->_2, 12, 7 ) | ||
| + | endif | ||
| + | ( _ )->_3 := ( t )->Value | ||
| + | ( _ )->_4 := Left( ( t )->TIME2, 20 ) | ||
| + | if Rat( ':', ( _ )->_4 ) = 16 | ||
| + | ( _ )->_4 := Left( ( _ )->_4, 10 ) + ' 0' + SubStr( ( _ )->_4, 12, 7 ) | ||
| + | endif | ||
| + | ( t )->( DbSkip() ) | ||
| + | end | ||
| + | finally | ||
| + | HideMsg( msg ) | ||
| + | CloseTable( t ) | ||
| + | end | ||
| + | |||
| + | // _1 - ItemID | ||
| + | // _2 - Time | ||
| + | // _3 - Value | ||
| + | |||
| + | // База TensoM1 | ||
| + | // Таблица - dbo.MasterSCADADataRaw | ||
| + | // В колонке Value значение счетчика | ||
| + | // ItemID - 34827 - Дозатор муки Тензо.Мука 1с | ||
| + | // ItemID - 34828 - Дозатор муки Тензо.Мука В/с | ||
| + | // ItemID - 37019 - Дозатор муки Агро.Мука ржаная | ||
= Смотрите также = | = Смотрите также = | ||
[[Полезные функции]] | [[Полезные функции]] | ||
Версия 12:49, 2 августа 2016
SCADA - это программа из справочника R266
Заполнение таблицы _
SCADA_2( _, _date )
_ - таблица
_date - дата
Текст программы
parameters _, _date
local year, month, day, login, password, base, server_name, server_ip, ;
connection_string, sql, t, msg
year := Year( _date )
month := Month( _date )
day := Day( _date )
login := 'fabius'
password := '13082012_fabius'
base := 'TensoM1'
server_name := '192.168.32.84\SQLEXPRESS'
server_ip := '192.168.32.84'
connection_string := [ ;
Provider = SQLOLEDB.1 ;;
Persist Security Info = true ;;
User ID = ] + login + [ ;;
password = ] + password + [ ;;
Initial Catalog = ] + base + [ ;;
Data Source = ] + server_name + [ ;;
Use Procedure for Prepare = 1 ;;
Auto Translate = true ;;
Packet Size = 4096 ;;
Workstation ID = ] + server_ip + [ ;;
Use Encryption for Data = false ;;
Tag with column collation when possible = false ]
sql := [ Select *, TIME + 0.125 TIME2 ;
From MasterSCADADataRaw ;
Where Year( "Time" ) = ] + year + [ and Month( "Time" ) = ] + month + [ and ;
Day( "Time" ) = ] + day + [ and ;
( ItemID = 34827 or ItemID = 34828 or ItemID = 37019 ) ]
try
msg := WaitMsg( 'Подготовка данных за ' + _date )
t := OpenADOQuery( connection_string, sql )
( t )->( DbGoTop() )
while !( t )->( eof() )
( _ )->( DbAppend() )
( _ )->_1 := ( t )->ItemID
( _ )->_2 := Left( ( t )->Time, 20 )
if Rat( ':', ( _ )->_2 ) = 16
( _ )->_2 := Left( ( _ )->_2, 10 ) + ' 0' + SubStr( ( _ )->_2, 12, 7 )
endif
( _ )->_3 := ( t )->Value
( _ )->_4 := Left( ( t )->TIME2, 20 )
if Rat( ':', ( _ )->_4 ) = 16
( _ )->_4 := Left( ( _ )->_4, 10 ) + ' 0' + SubStr( ( _ )->_4, 12, 7 )
endif
( t )->( DbSkip() )
end
finally
HideMsg( msg )
CloseTable( t )
end
// _1 - ItemID
// _2 - Time
// _3 - Value
// База TensoM1
// Таблица - dbo.MasterSCADADataRaw
// В колонке Value значение счетчика
// ItemID - 34827 - Дозатор муки Тензо.Мука 1с
// ItemID - 34828 - Дозатор муки Тензо.Мука В/с
// ItemID - 37019 - Дозатор муки Агро.Мука ржаная