Sunday, August 30, 2009

PI Tag dari PLC lewat PI RsLinx

Hal-hal yang perlu diperhatikan dalam pembuatan PLC tag:

* exdesc, mengacu ke lokasi data di PLC. contoh format: 15;$N111:0,24,5

15 menunjukkan lokasi data tabel (DT) yang kita tentukan sendiri. 1 DT untuk maksimum 99 poin. DT ini sebaiknya berbeda-beda untuk setiap type byte dalam 1 PLC server
$N111:0,24 menunjukkan banyak elemen dalam hal ini elemen 0-24 yang akan dibaca dalam 1 type byte PLC
5 menunjukkan PLC ID dari data yang akan dibaca. ID ini ditentukan oleh penomoran PLC server di file pirslinx.ini di server PI RsLinx
[PLC]PLC1=AB:LOCAL,0,PLC5,mahaka ID = 1PLC2=AB:LOCAL,1,PLC5,mahaka ID = 2

* instrumenttag diisi jika data merupakan data digital. formula untuk instrument tag ini adalah: bm = ending bit + (100*starting bit) + 10000

misal instrument tag bm=10101 menunjukkan data yang dibaca adalah bit ke 1

* location1 menunjukkan ID server yang diletakkan di file pirslinx.bat di server RsLinx

* location2 menunjukkan tipe data. yang paling banyak dipakai adalah 5 untuk float, 1 untuk word

*location3 menunjukkan lokasi offset dari data dimaksud dengan angka yang dikalikan 2

misalkan ingin membaca N7:9, maka location3 diisi dengan angka 18
Berikut contoh jika ingin mengambil data N103:2 (nilai 150)



exdesc akan diisi *;$N103:0,24,*
location3 diisi angka 4 yang merupakan perkalian 2 dari lokasi offset 2
Berikut contoh jika ingin mengambil data B104:1 bit 8 (nilai yang di blok)


instrumenttag akan diisi bm=10808 yang menandakan pembacaan dari bit 8
location3 diisi angka 2 yang merupakan perkalian 2 dari angka 1 (B104:1)

jika tag yang ingin dibuat ada formula perkaliannya, maka kita harus memperhatikan nilai di span, zero, convers dan location5.

Location5 diisi 1 jika ada formula untuk tag tersebut, dan 0 jika data yang ingin ditampilkan adalah murni data output dari PLC.

Jika location5 diisi, maka nilai yang akan muncul adalah:

value = (value(input dari PLC) * span / convers) + zero

untuk nilai span dan convers, kita harus mengacu pada point yang mengolah data tersebut (misalnya di wonderware)

IIS: Service Unavailable

Pengalaman kemarin sempat kejadian error tersebut setelah server di restart. Setelah di cek² error ini terjadi karena konfigurasi letak source untuk php5isapi.dll ada yang salah.
Untuk penyebab yang lebih akurat, coba di cek penyebab error nya lewat event viewer

Konfigurasi IIS - PHP - MySQL

Installasi PHP:

* Ekstrak PHP misal ke folder c:\php

* Edit file php.ini-recommended menjadi php.ini, kemudian edit bagian include_path, doc_root, extension_dir, dan session.save_path. sesuaikan dengan folder yang diinginkan

* Uncomment extension php_mysql.dll di php.ini

* Copikan php.ini, libmysql.dll, php5apache2_2.dll, php5apache2_2_filter.dll, php5isapi.dll, dan php5ts.dll ke c:\WINDOWS dan c:\WINDOWS\system32

Untuk MySQL diinstal seperti biasa.

IIS installation:

* Install IIS service, kemudian masuk ke IIS Manager

* Klik kanan Web Service Extension, properties, tambahkan extension PHP lewat menu Add a new Web Service Extension

* Tambahkan PHP extension dan patch ke file c:\php\php5isapi.dll



* Klik kanan Web Sites, tambahkan c:\php\php5isapi.dll ke tab ISAPI Filters



* Masuk ke tab Home Directory, masukkan folder ke Local Path

* Tambah configuration dengan ekstensi .php dan path c:\php\php5isapi.dll

* Set execute permission ke Script only



* Masuk ke tab Documents tambahkan index.php dan halaman default lain

* Masuk ke Environment Variables tambahkan c:\php dan c:\php\ext ke PATH

* Tambahkan system variables c:\php sebagai PHPRC