SCADA 2 — различия между версиями

Материал из Фабиус wiki
Перейти к: навигация, поиск
(Новая страница: «SCADA - это программа из справочника R266 = Текст программы = = Смотрите также = Полезные ф…»)
 
м
Строка 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 - Дозатор муки Агро.Мука ржаная

Смотрите также

Полезные функции