Friday, October 7, 2011

PI Merge

Lama nggak posting tentang PI, kali ini aku mau bahas proyek merge PI server yang kami lakukan awal tahun ini.

Langkah² yang dilakukan diantaranya adalah:
  1. Konfigurasi tag di server baru
  2. Merge Archive
  3. Installasi dan konfigurasi PI API (PI Interface)
  4. Installasi dan konfigurasi FXBais
Konversi tag di server baru:
  • Membuat ID konversinya dengan script di bawah aplikasi piconfig:
@table pipoint
@ostr pointid,recno,tag
@select tag=*
@output the_tag.txt
@ends
@exit
  • Update digital state di server baru, disamakan dengan digital state di server lama
  • Semua tag di export ke excel, di review kemudian tag dibuat dengan menggunakan PI SMT
  • Membuat konversi binary ID dari file yang dibuat di step sebelumnya
#piarchss.exe -idci "C:\the_tag.txt" -idco "C:\the_output.bin"
Merge Archive:
Merupakan proses merge archive di server lama, berdasarkan tag-tag yang sudah dibuat di step sebelumnya
#piarchss -id C:\the_output.bin -if C:\input\piarch.001 -of C:\output\piarch.001 -ost "1-jan-2010" -oet "1-feb-2010"
dengan:
id - PI tag ID list
if - input file, archive dari server lama
of - output file, archive untuk server baru
ost - start time, start time dari archive baru
oet - end time, end time dari archive baru

Installasi dan konfigurasi PI API (PI Interface):
  • buat direktori untuk PI di folder /opt/pi
  • definisikan PIHOME di file .login, .profile, .cshrc di folder root
setenv LD_LIBRARY_PATH /opt/pi/lib
setenv PIHOME /opt/pi
setenv FOXAISHOME /opt/fox/ais/bin
  • copi installer ke folder /opt/pi dan jalankan script:
zcat piapi_tar.Z | tar xf -

  • masuk ke /opt/pi/build, jalankan script pi.install
  • buat file untuk IO Rates di /opt/pi/dat/iorates.dat, dan buat tag ***-IN untuk tag input dan ***-OUT untuk tag output.
AW0101-IN,11
AW0102-OUT,12
Installasi dan konfigurasi FXBais:
  • extract installer
zcat FXBAIS.tar.Z | tar xf -
  • copy fxbais.sh.new menjadi fxbais.sh di /opt/pi/interfaces/fxbais dan edit sebagai berikut:
$PROG_NAME -ps=F -id=8 -host=PISERVER:5450 -stopstat -q -write -f=5 -f=10 -f=30 -f=00:05:00 -f=10:00 -f=1:00:00 -f=24:00:00,00:10:00 -ec=11 -ecout=12 \
dengan ID adalah ID yang merupakan referensi location 1 untuk tag tipe F (foxboro).
  • update /etc/fox/user_apps.dat, tambahkan /opt/pi/bin/go_pistart di baris paling bawah agar PI bisa start up otomatis setiap kali workstation di reboot.
  • tambahkan fxbais start dan stop di PI-API start-stop
# more /opt/pi/interfaces/fxbais/add2start >> /opt/pi/bin/sitestart

# more /opt/pi/interfaces/fxbais/add2stop >> /opt/pi/bin/sitestop
POST MERGE PROBLEM
snapshot terupdate, tetapi archive tidak terupdate
setelah merge selesai, ada masalah yang menyebabkan launching server baru di cancel, karena data snapshot terupdate, tetapi data tidak masuk ke archive. jadi tidak ada historian untuk data-data setelah server di online kan. hal ini disebabkan karena ada antrian event yang corrupt. setelah berkomunikasi dengan tech support dari OSIsoft, terselesaikanlah problem tersebut dengan langkah² di bawah:
  • lewat command prompt di PI server, di folder \PI\adm, ketik "piartool -qs"
  • dalam keadaan normal, total event write dan total event reads harusnya sama
  • jika event yang terbaca 0, coba restart piarchss subsystem dari servis list
  • jika tidak ada perubahan yang terjadi, stop PI Snapshot Subsystem dan PI Archive Subsystem
  • backup primary archive
  • copi PIMAPEVQ.DAT atau PIMQ000*.DAT dari PI\DAT ke PI\EVQ
  • retstart PI Snapshot Subsystem, maka sistem akan membuat event queue kosong PIMAPEVQ.DAT
  • masukkan file yang corrupt, yang dicopi ke folder \PI\EVQ ke archive yang sesuai
C:\Program Files\PI\bin\piarchss -if "c:\program files\pi\EVQ\pimq003.dat" -of d:\PIArc\piarch.001 -evq -ost "1-jan-2010 10:41:00" -oet "21-jan-2010 15:00:00" -evq > d:\output.txt
  • script di atas akan memproses event yang korup dan dimasukkan ke archive piarch.001
  • restart PI Archive Subsystem dan cek aliran data
  • cek Total Event Write dan Total Event Reads dengan "piartool -qs". hasilnya seharusnya sama
  • proses data² yang lain berdasarkan timestamp² yang sesuai dengan archive² yang sudah dibuat
  • jika tidak ada parameter -ost dan -oet, maka timestamp yang dipakai adalah timestamp dari file event queue yang korup.

masalah calculation tags
pastikan konfigurasi di \PI\bin\pipeschd.bat di server baru sama dengan konfigurasi di server lama

selain konfigurasi² di atas, masih ada konfigurasi untuk PI trust. tapi karena tidak semua user menggunakan PI security yang sama, topik tersebut nggak aku bahas di sini.

No comments: