FabyaVisionKullanım Kılavuzu
/

Betik örnekleri

4 dk okumaBetikler

Örnek kodlar galerisinin konu haritası, Tanıtım_Tesisi projesindeki betiklerin açıklamalı dökümü ve aynı işin dört dilde yazılışı.

Örnek kaynakları

İki yerden örnek alabilirsiniz: Studio'nun Örnek kodlar galerisi ve Tanitim_Tesisi örnek projesindeki hazır betikler. Galeri örnekleri Live'da gerçekten çalıştırılarak sınanır; her örnek kendi senaryosuyla beklenen sonucu vermek zorundadır.

Galeri: konu haritası

Galeriyi Betikler tablosunun araç çubuğundaki Örnek kodlar… ile açın (kullanımı: Betik editörü). Örnek sayıları dile ve konuya göre şöyledir:

Konu grubuVBSJavaScriptCPython
Tag okuma / yazma4146
Koşul ve döngü5445
Hesap ve ölçekleme3344
Tarih, saat, bekleme3234
Rapor kaydı1001
Sayfa ve nesneler4146
Operatörle etkileşim2234
Veritabanı, dosya, program4037
Betik yapısı ve tanılama4477
Python dili ve kitaplığı———7
Toplam30173251

Örnek adları dile göre öneklidir: JavaScript örnekleri Js_…, C örnekleri C_…, Python örnekleri Py_… ile başlar; VBS örneklerinin öneki yoktur (Tag_Oku_Yaz, Onay_Alarak_Yaz, Veritabani_Sorgu …). Galerinin arama kutusu ad, açıklama ve kodda arar.

Tanıtım_Tesisi'ndeki betikler

Örnek proje, betiklerin hepsini Zamanlanmış Görevler üzerinden bağlar. Betikler ve Zamanlanmış Görevler bölümlerini birlikte açarak her betiğin hangi görevden çalıştığını görebilirsiniz.

Tanıtım_Tesisi'nde betiklerin bağlandığı zamanlanmış görevler: tetikleyici ve çalıştırılacak betik kolonları.12
Tanıtım_Tesisi'nde betiklerin bağlandığı zamanlanmış görevler: tetikleyici ve çalıştırılacak betik kolonları.
  1. Tetikleyici — döngüsel, tag değişince, saatli …
  2. Çalıştırılacak betik — görevin çalıştırdığı betik.
BetikDil / türHangi görevdenNe yapar
Pompa_Ariza_EsleJavaScript, Fonksiyon (deger)Pompa_Ariza_Esle: P103_Calisiyor tag'i değişinceP-103 durunca P103_Ariza bitini kaldırır, çalışınca indirir.
Tank_Seviye_DenetimiVBS, ModülTank_Seviye_Denetimi: döngüsel, 1 snT101_Seviye 40'ın altına ya da 88'in üstüne çıkınca T101_Uyari bitini kaldırır.
Aroma_Dozaj_DenetimiC, Proje işlevleriAroma_Dozaj_Denetimi: döngüsel, 5 snAroma_Seviye 42'nin altına düşünce Aroma_Dusuk bitini kaldırır.
Birim_Enerji_HesaplaVBS, ModülBirim_Enerji_Hesapla: döngüsel, 5 snPano gücünden ve hat hızından özgül enerjiyi (kWh / 1000 şişe) hesaplar.
Vardiya_BelirleJavaScript, FonksiyonVardiya_Belirle: döngüsel, 10 snSaate göre çalışan vardiyayı belirler (06 – 14 birinci, 14 – 22 ikinci, 22 – 06 üçüncü).
Parti_IlerletJavaScript, Fonksiyon (deger)Parti_Numarasi_Ilerlet: Parti_Bitti tag'i değişinceParti bitince parti numarasını bir artırır ve vardiya parti sayacını günceller.
Vardiya_BaslatJavaScript, FonksiyonVardiya_Baslangici (haftalık, 06:00), Gunluk_Parti_Sayaci_Sifirla (her gün 00:00), Kapanis_Kaydi (Live kapanırken)Vardiya parti sayacını sıfırlar. Bir betik birden çok göreve bağlanabilir.
Acilis_HazirlikJavaScript, FonksiyonCalisma_Acilis (Live başlayınca)Vardiya parti sayacını hazırlar.
Bakim_HatirlatJavaScript, FonksiyonHaftalık, aylık ve yıllık hatırlatma görevleriBakim_Notu tag'ine bakım notunu yazar.
Filtre_Uyarisi, Kabin_Sicaklik_UyarisiJavaScript, FonksiyonTag koşullu görevler: KS1_Filtre_Fark > 230, Firin_Sicaklik > 93İlgili uyarı bitini kaldırır.

Bir işi dört dilde yazmak

Aşağıdaki dört betik aynı görevi yapar: P103_Calisiyor tag'i değişince P103_Ariza bitini ters değere yazar. Hepsi Tag değişince tetikli görevde çalışır; tag'in yeni değeri betiğin ilk parametresi olarak gelir.

VBS (Modül; Bool değer 1 / 0 ikili değeri olarak gelir):

Sub Pompa_Ariza_Esle(deger)
    SmartTags("P103_Ariza") = Not deger
End Sub

JavaScript (Fonksiyon; Parametreler kolonu deger):

Tag.yaz('P103_Ariza', !deger);

C (Proje işlevleri):

#include "apdefap.h"

void Pompa_Ariza_Esle(int deger)
{
    SetTagBit("P103_Ariza", (short)!deger);
}

Python (Modül):

def Pompa_Ariza_Esle(deger):
    scada.write("P103_Ariza", not deger)

Örneği bağlama adımları

  1. Örneği ekleyin

    Galeriden örneği seçin, Projeye ekle'ye tıklayın. Betik Betikler tablosuna eklenir.

  2. Derleyin

    F9: söz dizimi ve projedeki tag, sayfa, nesne adları denetlenir. Uyarıları giderin ya da kodu kendi adlarınıza göre değiştirin.

  3. Tetikleyin

    Örneğin Nasıl bağlanır metnine göre Zamanlanmış Görevler'de görev ekleyin (döngüsel, Tag değişince, saatli …) ya da bir nesnenin olayında Betik çalıştır işlevini seçin. VBS modülü, C proje işlevi ve Python modülü için gerekirse Prosedür / İşlev seçin.

  4. Sınayın

    Çalıştır ile Live'da açın. Betik hata verirse olay günlüğünde betik satırı görünür (Günlük dosyaları).

Sınırlar ve dikkat edilecekler

  • Veritabanı, dosya ve program örneklerinin çalışması için Betik İzinleri'nin açık olması gerekir. Galeri izin gerektiren örneği eklerken sorar; izni kendiliğinden açmaz.
  • Örneklerin DSN adları, dosya yolları ve rapor adları örnek amaçlıdır (Uretim_VT, C:\Veri, Uretim_Raporu); kendi ortamınıza göre değiştirin.
  • Veritabanı, dosya ve program çalıştırma örnekleri gerçek veritabanı ve dosya sistemiyle değil test köprüsüyle sınanmıştır; sahada ilk denemede izin açıkken kendi ortamınızda deneyin.

İlgili konular

FabyaVision 0.1.0 Kullanım Kılavuzu · 18 Ekim 2026© Fabyatek Yazılım Bilişim Teknolojileri Ltd. Şti.