PeronZK Nedir?
PeronZK, ZKTeco marka okuyucuları TCP/IP üzerinden yöneten Veridizayn entegrasyon yazılımıdır. ZKTeco'nun resmi zkemkeeper SDK'sını kullanarak her cihaz için bağımsız bir thread açar; cihaz başına gerçek zamanlı veri alışverişi sağlar.
Veriler merkezi SQL Server (MSSQL) veritabanına yazılır. Yerel ayarlar Access (.mdb) dosyasında tutulur. Program sistem tepsisinde (tray) çalışarak arka planda kesintisiz hizmet verir.
Bağlantı kesilip yeniden kurulduğunda model bilgisi otomatik yeniden alınır; menüler devre dışı kalarak program kilitlenmeden bekler.
Mimari
| Bileşen | Detay |
|---|---|
| SDK | zkemkeeper_TLB — ZKTeco resmi Delphi/COM kütüphanesi |
| Bağlantı | TCP/IP — her okuyucu için ayrı thread (TZKOkuyucu) |
| Merkez DB | Microsoft SQL Server (MSSQL) — VDZSabit.ini ile tanımlanır |
| Yerel Ayarlar | Microsoft Access (.mdb) — AYARLAR tablosu |
| Event Modeli | onAttTransaction / onAttTransactionEx (renkli cihazlar) |
Desteklenen Modüller
Geçiş Kontrol Sistemi
Kapı ve turnike geçişlerinin kayıt altına alınması
- G / C / G-C Otomatik — okuyucu başına çalışma şekli seçilir.
- Mükerrer önleme — aynı dakikada tekrar okutma kayıt dışı bırakılır; tolerans dakika bazlı ayarlanabilir.
- Giriş olmadan çıkış olmaz — GIRISGCSARTI parametresiyle lokasyon bazlı G/Ç sıra zorunluluğu.
- Nedenli hareket — özel kart ile neden kodlanır (erken çıkış, ziyaret vb.). Neden kartının giriş mi çıkış mı sayılacağı NEDENKARTIGC parametresiyle belirlenir.
- Yetki kontrolü — YETKIAKTIF=1 iken personelin okuyucu grubuna üyeliği doğrulanır.
- G/C günlük sıfırlama — GCDAVRANIS aktifken günlük sayaç sıfırlanır.
Personel Devam Kontrol Sistemi
Mesai ve devam çizelgesi
- Tüm giriş/çıkışlar HAREKET_NET tablosuna yazılır (AKTARIM_ZAMAN ve TARIH_ZAMAN datetime kolonları dahil).
- AntiPassBack — aynı yönde ardışık geçiş engellenir.
- Kontak verme — KONTAKVER=1 iken başarılı okumada ACUnlock ile kapı tetiklenir.
- Cihaz log temizleme — CLOGTEM=1 iken veri çekildikten sonra cihazdaki log silinir.
- Güvenli temizleme (v2.5) — DB bağlantısı doğrulanmadan ClearGLog çağrılmaz; bağlantı kopuksa cihaz temizlenmez, veri kaybı olmaz.
- Watermark mekanizması (v2.5) — Cihazda binlerce log birikse de yalnızca yeni kayıtlar işlenir; startup yavaşlaması ortadan kalkar.
- Çıkış tarihi girilmiş personel cihaza yüklenmez.
Yemekhane Kontrol Sistemi
Online öğün doğrulama ve kota yönetimi
- Online kontrol — ONLINE=1 iken kart okutulduğunda anlık SQL doğrulaması yapılır.
- Offline mod — ONLINE=0 iken veri periyodik olarak çekilir (Anlık / 1 Saat seçenekleri).
- Yemek tablosu no 03 → sınırsız öğün hakkı (v1.97.5).
- Öğün saatleri ve kota MESAIKODU / YEMEKHAKKI alanlarıyla tanımlanır.
Parametre Referansı
Tüm ayarlar Access veritabanındaki AYARLAR tablosunda KOD / DEGER çifti olarak saklanır. Program açılışında otomatik yüklenir.
| KOD | Tip | Açıklama |
|---|---|---|
| ONLINE | bool | 1 = anlık YKS kontrolü aktif, 0 = periyodik veri çekme |
| KONTAKVER | bool | 1 = başarılı PDKS okumada ACUnlock komutu gönderilir |
| CLOGTEM | bool | 1 = veri çekildikten sonra cihaz logu temizlenir |
| OTOPERGUN | bool | 1 = personel yüklemesi günlük otomatik yapılır |
| YETKIAKTIF | bool | 1 = okuyucu grubu üyelik denetimi aktif |
| GCDAVRANIS | bool | 1 = G/C sayacı günlük sıfırlanır |
| GIRISGCSARTI | bool | 1 = giriş olmadan çıkış kaydı oluşmaz |
| HAREKTSIZGUNKONTROL | bool | 1 = hareketsiz gün kontrolü aktif |
| NEDENKARTIGC | enum | G = neden kartı giriş sayılır, C = çıkış sayılır |
| GUNILKH | enum | G = günün ilk hareketi giriş, C = çıkış |
| VERICEK | enum | 0 = anlık, 1 = 1 saatte bir veri çekme |
| CALISMAYILI | int | Aktif çalışma yılı — HAREKET_NET sorgularında filtre olarak kullanılır |
| BELLEKDUZENLE | bool | 1 = TreeList bellek düzenleme aktif (büyük kurumlar için) |
CALISMAYILI yanlış ayarlanırsa "Sicil bulunamıyor" hatası alınır. Her yıl başında güncellenmesi gerekir.
Desteklenen Cihaz Modelleri
PeronZK, ZKTeco cihazlarını renkli ve renksiz ekran olmak üzere iki kategoride yönetir. Kategori ayrımı cihaz model adının ilk iki karakterine göre yapılır.
| Kategori | Kural | Event | Örnek Modeller |
|---|---|---|---|
| Renksiz | Model adı SC ile başlıyorsa | onAttTransaction | SC403, MA300 |
| Renkli | Diğer tüm modeller | onAttTransactionEx | F22, SpeedFace serisi |
Strike marka SC403 muadili cihazlar da renksiz kategorisinde tanınır (v1.97.12). MA300 modeli renksiz kategorisine alınmıştır (v2.01).
Personel Yükleme
| Alan | Açıklama |
|---|---|
| KART_NO | Integer tipinde olmalı — string değer gelirse yükleme başarısız olabilir |
| KART_NO_HEX | Dolu olmalı — boşsa personel cihaza yüklenemez |
| Çıkış tarihi | Girilmiş personel otomatik olarak yükleme dışı bırakılır |
| Okuyucu grubu | PERYETKI aktifse personelin gruba üyeliği zorunludur |
İlk Kurulum
VDZSabit.ini
Program klasöründe bulunur. Merkez SQL Server bağlantı bilgilerini içerir.
MERKEZBAG=Data Source=SUNUCU;Initial Catalog=PeronMerkez;User ID=sa;Password=***
TEKEXECALISSIN=1
SQL Server bağlantısı test edilirken maksimum 3 saniye beklenir. Bağlantı kurulamazsa menüler devre dışı bırakılır; program kilitlenmez.
ZKTeco SDK Kurulumu
PeronZK'nın çalışması için zkemkeeper.dll dosyasının sistem kaydına (COM) eklenmiş olması gerekir. ZKTeco SDK setup'ı çalıştırılarak tamamlanır.
Versiyon Geçmişi
Sorun Giderme
Sık Karşılaşılan Durumlar
| Belirti | Olası Neden / Çözüm |
|---|---|
| Cihaz bağlanamıyor | IP ve port doğruluğunu kontrol edin. Güvenlik duvarı kurallarını gözden geçirin. PING testi yapın. |
| Personel cihaza yüklenmiyor | KART_NO_HEX alanının dolu olduğunu doğrulayın. Çıkış tarihi girilmiş personeller yüklenmez. PERYETKI aktifse okuyucu grubu üyeliğini kontrol edin. |
| Sicil bulunamıyor hatası | CALISMAYILI parametresini kontrol edin. Personelin o yıla ait firma DB'sinde kayıtlı olduğunu doğrulayın. |
| Program açılırken donuyor | SQL Server bağlantısı 3 sn içinde kurulamazsa menüler devre dışı bırakılır. VDZSabit.ini bağlantı cümlesini kontrol edin. |
| YKS online çalışmıyor | ONLINE=1 olduğunu ve cihaz modülünün YKS seçili olduğunu doğrulayın. |
| Renkli cihazda veri gelmiyor | Model adı SC ile başlamıyorsa renkli kategorisine girer; onAttTransactionEx event'i aktif olmalıdır. |
Log Klasörleri
| Klasör | İçerik |
|---|---|
| /log | Ham cihaz verileri — TEXTLOG aktifken dolar |
| /logM | İşlenmiş hareket logları |
| /logE | Hata logları — destek için bu klasörü gönderin |
| /logE/watermark.ini | Her cihaz için son işlenen kayıt zamanı — silinirse sıfırdan başlar (v2.5) |
| /DBYEDEK | Otomatik SQL yedekleri (.zip) |
Teknik destek: momentopdks.com — Hata durumunda /logE klasöründeki dosyaları iletiniz.