Skip to main content
Programlanabilir Mantık

Özel Mantığı Uçta C# ile Yazın

Hazır blokların sınırlarını aşmanız gerektiğinde C# .NET devreye girer. Proxus ile hesaplamaları, alarmları ve iş akışlarını yüksek performanslı fonksiyonlarla geliştirip bunları kontrol programlarına dokunmadan uç birimlere (gateway) dağıtabilirsiniz.

Proxus Uç Fonksiyonları - Endüstriyel IoT mantığı için C# betikleme

Neden Uç Noktada (Edge) C#?

Bazı iş mantıkları sürükle-bırak araçlarla çözülemez. Proxus, yüksek performanslı C# .NET fonksiyonlarını makinelerin hemen yanında, kontrollü kaynak kullanımı ve yönetilen güvenlik önlemleriyle çalıştırmanızı sağlar. Nasıl çalıştığını inceleyin.

  • Milisaniyelik yürütme kritik uç mantığı için.
  • Yalıtılmış çalışma, kısıtlı API'ler, kontrollü kaynak kullanımı ve yönetilen yürütme.
  • UNS Yerleşik (Native): Normalize edilmiş Birleşik İsim Alanı (UNS) konularına abone olun; kopya veri modellerine ihtiyaç duymazsınız.
  • Bir kez dağıt, her yerde kullan, aynı fonksiyonu birçok gateway'e gönderin.

Koruyucu Sınırlar

  • Açıkça yazma izni verilmediği sürece salt okunur mod
  • Kontrolden çıkan fonksiyonları önlemek için yürütme limitleri (execution limits)
  • Güvenli SDK; PLC'lere doğrudan düşük seviyeli erişim yerine yönetilen API'ler
  • Denetlenebilir (auditable) dağıtımlar ve çalıştırmalar
Stabilite veya güvenlikten ödün vermeden özel mantık.
1using Proxus.SDK;
2
3public class AnomalyDetector : FunctionBase
4 public override async ValueTask Handle(Message msg)
5 // Hareketli Ortalama Hesapla (Sıfır Bellek Tahsisatı)
6 var value = msg.Payload.GetDouble("temp");
7 if (value > 85.0)
8 Logger.Warning($"Kritik Sıcaklık: {value}");
9 await Output.EmitAsync("alarmlar", msg);
10
11
12

Nasıl çalışır?

C# .NET kodunu bir kez yazın, uç birimlere (gateway) dağıtın. Fonksiyonlar Birleşik İsim Alanı (UNS) konularına abone olur, veriyi işler ve sonuçları ya da alarmları yayınlar; tüm süreç kaynak ve güvenlik sınırları içinde kalır. Başlangıç için C# fonksiyonları dokümanlarına bakın.

  1. C# .NET 10 ile bir fonksiyon yazın veya mevcut şablonları genişletin.
  2. Normalize edilmiş Birleşik İsim Alanı (UNS) konularına abone olun; saha başına özel etiket haritalarına gerek duymazsınız.
  3. Bir veya daha fazla uç birime (gateway) dağıtın; veriye en yakın noktada çalıştırın.
  4. Çıktıları UNS konularına veya alarmlara iletin; kontrol yazımlarını yetkilendirmeye tabi tutun.
  5. Çalıştırma süreçlerini, istisnaları ve performansı izleyin.

Neler yapabilirsiniz?

  • Özel anomali dedektörleri ve SPC kontrolleri
  • Protokol çevirileri ve veri yükü şekillendirme
  • Satır içi toplamalar (özetler, min/max/ort)
  • Depolamadan önce gelişmiş yönlendirme ve zenginleştirme
Aynı fonksiyonu fabrikalar arasında dağıtın, Birleşik İsim Alanı (UNS) konularını ve şablonlarını yeniden kullanın.

Güvenlik ve yönetişim

Uçta çalışan kod güçlüdür; Proxus bunu sıkı yetkiler, kaynak limitleri ve izlenebilirlik ile kontrol altında tutar.

  • Yalıtılmış yürütme kısıtlı API'ler ile sağlanır.
  • Kaynak limitleri kontrolden çıkan bellek/CPU kullanımını önlemek için.
  • Denetim izleri dağıtımlar ve yürütme sonuçları için.

En iyi uygulamalar

  • Düşük bellek tahsisatlı (low-allocation) desenler ve nesne havuzlama kullanın
  • Yazma işlemlerini izne tabi tutun; oku/ilet (read/forward) akışlarını tercih edin
  • UNS etiketlerini kullanın; özel etiket sözlüklerinden kaçının
  • Açıkça loglama yapın ve performansı izleyin

SSS

Güvenlik, performans ve dağıtım hakkında sık sorulan sorular.

Uç kodu kontrole yazabilir mi?

Sadece izin verirseniz. Varsayılan oku/ilet'tir; yazma işlemleri yönetilir ve isteğe bağlıdır.

Kontrolden çıkan fonksiyonları nasıl önleriz?

Kaynak limitleri ve kısıtlı API'ler fonksiyonları güvenli tutar; yürütmeler izlenir.

Saha başına ayrı etiket modellerine ihtiyacımız var mı?

Hayır. Normalize edilmiş Birleşik İsim Alanı (UNS) konularına abone olun; aynı kodu fabrikalar arasında yeniden kullanın.

Ne kadar hızlı çalışabilir?

Sıfır bellek tahsisatı (zero-allocation) desenleri ile uçta milisaniye altı çalıştırma için tasarlanmıştır.

C# kodunu uca güvenle göndermeye hazır mısınız?

Özel mantığı gateway'lere dağıtın, UNS etiketlerini yeniden kullanın ve kontrol yazımlarını yönetin.