Ana içeriğe geç

Excel ya da CSV ile içe ve dışa aktarma

Büyük yapılandırmalar bir tabloda daha kolay hazırlanır. YTCC konfigürasyon tablolarını Excel (XLSX) ya da CSV olarak dışa aktarır ve geri içe aktarır. İçe aktarma hiçbir zaman doğrudan yazmaz: bekleyen değişikliğe dönüşür, diğer değişiklikler gibi denetleyip uygularsınız.

İçe aktarmanın iki yolu vardır:

YolNe içinNereden
Import wizard (İçe aktarma sihirbazı)Sütunlarını eşlediğiniz herhangi bir dosyadan sinyaller, cihazlar ve var olan sinyallerin alarm ayarlarıFile › Import… (Dosya › İçe aktar…) ya da Import with column mapping…
Tablo içe aktarmaYTCC'nin dışa aktarma biçimindeki bir dosyadan herhangi bir konfigürasyon tablosuFile › Import / export (İçe / dışa aktar), Import bölümü

Başlamadan önce​

  • Kimlik doğrulama açıkken içe aktarma konfigürasyon düzenleme yetkisi ister: Import requires the configuration edit permission.
  • Bir projede aynı anda tek içe aktarma çalışabilir.

Adımlar​

1. Konfigürasyon tablolarını dışa aktarın​

File › Import / export'u seçin. Export altında XLSX ya da CSV (;) seçip dışa aktarılacak tabloları (varlıkları) işaretleyin, örneğin Signals, Drivers, Devices, Alarm thresholds ya da Binding — modbus. XLSX'te her tablo kendi sayfasına gider ve hiçbiri seçilmezse tümü aktarılır; CSV tek tablo taşır. Apply the current filter sinyalle ilgili tabloları sinyal listesinin süzgeciyle sınırlar. Export'a tıklayın; tarayıcı dosyayı indirir, örneğin pump_station_all.xlsx.

XLSX ve CSV seçenekleri, varlık listesi ve Export düğmesiyle Import / export görünümü.

2. Sinyal içe aktarma şablonunu alın​

Sinyal listesinde araç çubuğundaki Export'u açın. Export signals (XLSX)…, Export signals (CSV)…, Import signals… ve Export empty import template (CSV) sunulur. import-template-signals.csv şablonu içe aktarma sihirbazının sütunlarını taşır:

path;folder;name;data_type;description;display_name;alias;unit;device;address;min;max;al_h;al_hh;al_l;al_ll;has_arch;signal_role;category;access

Export signals (XLSX)…, Export signals (CSV)…, Import signals… ve Export empty import template (CSV) içeren sinyal listesi Export menüsü.

Her satıra bir sinyal yazın. Örneğin Tank1.Level;Tank1;Level;float64;Tank level;;;%;;;0;100;80;95;;;;measurement;;ro Tank1 klasörüne % birimli, 0–100 aralıklı sayısal bir sinyal ekler; 80 ve 95, sihirbazın Alarm H ve Alarm HH olarak eşlediği sütunlardadır.

3. İçe aktarılacak dosyayı seçin​

File › Import…'u seçin. Import wizard'ın 1. adımı File (Dosya) şunları sorar:

  • Import into: Signals, Devices ya da Alarm settings of existing signals.
  • Delimiter (Auto, ;, , ya da Tab), Encoding (Auto, UTF-8 ya da Windows-1254 (Turkish)) ve First row is the header.

Browse…'a tıklayın ya da bir .csv veya .xlsx dosyasını bırakın. Sihirbaz bulduğunu gösterir, örneğin 2 data rows · 20 columns ve Encoding: UTF-8 · Delimiter: ;, dosyanın ilk satırlarıyla birlikte. Next'e tıklayın.

Hedefi Signals, dosyası tank-signals.csv, 2 data rows · 20 columns ve dosya önizlemesiyle sihirbazın File adımı.

4. Sütun eşlemesini kontrol edin​

  1. adım Column mapping (Sütun eşleme) her Column in file'ı bir Sample value, içe aktarılacağı alan (Import as) ve nasıl eşlendiğiyle listeler. Başlığı bir alana uyan sütunlar kendiliğinden eşlenir (auto (header name)). Bir sütunu elle eşlemek için Import as'i değiştirin ya da (do not import)'u seçin.
Dosyanın sütunları Full path, Folder, Signal name, Data type ve diğer alanlara eşlenmiş Column mapping adımı.

Save mapping… (Eşlemeyi kaydet…) eşlemeyi bir adla saklar; sonraki sefer Saved mapping'de (Kayıtlı eşleme) seçin. Dry run'a tıklayın.

5. Kuru çalıştırmayı yapın​

  1. adım Dry run (Kuru çalıştırma) hiçbir şey kaydetmeden her satırı denetler ve ne olacağını sayar, örneğin Will create 2 · update 0 · unchanged (skip) 0 · errors 0 · warnings 1. All, Errors ve Warnings sekmeleri satırları dosyadaki Row numarası, Signal, Action ve Details ile listeler. Copy error report listeyi dosyayı düzeltmek için kopyalar.

Hataların nasıl ele alınacağını seçin:

  • Import valid rows; report errors by row number ya da
  • Import nothing if any row has an error.
Will create 2, All, Errors ve Warnings sekmeleri, iki hata seçeneği ve Stage 2 changes düğmesiyle Dry run adımı.

6. İçe aktarmayı hazırlayıp uygulayın​

Stage n changes'e tıklayın. İçe aktarma bekleyen değişikliklere eklenir: Import staged: 2 new, 0 updated — press Apply to commit. Ctrl+S tuşlarına basın: Validate changes onu Staged operations altında, etkilediği sinyal sayısıyla Import: tank-signals.csv olarak listeler. Apply'a, sonra OK'e tıklayın.

İçe aktarılan Inlet_Open (Bit, Status) ve Level (Float64, Measurement, %) sinyalleriyle Tank1 klasörünün sinyal listesi.

Apply'dan önce Discard changes hazırlanan içe aktarmayı bırakır. 24 saat içinde uygulanmayan hazırlık, bir sonraki içe aktarma başlarken silinir.

Sonuç​

Dosyadaki sinyaller, path ve folder sütunlarının verdiği klasörlerde projededir.

Tablo içe aktarmanın dosya biçimi​

File › Import / export'un Import bölümü Export'un yazdığı biçimdeki dosyaları okur. Dosyayı seçip Upload and validate'e tıklayın; sunucu kuru çalıştırma yapar ve satırları önce hatalar olmak üzere duruma göre listeler. Hata varsa dosyayı düzeltip yeniden yükleyin.

  • İlk sütun _action'dır: boş ekle ya da güncelle, delete satırı siler demektir.
  • Bağlama tablolarında protokol parametreleri p.<ad> sütunlarıdır. Sürücü ve cihaz sayfalarında params tek bir JSON hücresidir.
  • Boş hücre değeri temizler. p.* sütununda boş hücre parametrenin olmadığı anlamına gelir; boş (null) yapmak için null yazın.
  • Dosyada olmayan sütun değişmez; birkaç sütunlu bir dosya yalnız onları günceller.
  • id gibi bilgi sütunları dışa aktarılmaz ve içe aktarmada yok sayılır.
  • CSV ayırıcı olarak ; ve BOM'lu UTF-8 kullanır. =, +, - ya da @ ile başlayan metnin başına ' eklenir; içe aktarma onu yeniden kaldırır.
  • Bir XLSX sayfası en çok 1.000.000 satır taşır; fazlası <tablo>_2 ve sonrakilere geçer.
  • Sınırlar: XLSX 64 MiB, CSV varsayılan 1 GiB. 60 saniye veri göndermeyen yükleme iptal edilir.

Var olan kayıtlar ve silinen sinyaller​

Bir tablo içe aktarımının kuru çalıştırmasından sonra Existing records (Türkçe arayüzde: Var olan kayıtlar) içe aktarımın projede zaten bulunan kayıtlarla ne yapacağını belirler:

SeçenekApply'ın yazdığı
Update and add (recommended) (Güncelle ve ekle (önerilen))Varsayılan. Yeni kayıtlar eklenir; var olan kayıtlarda dosyadaki sütunlar güncellenir, _action değeri delete olan satırlar silinir. Dosyada olmayan sütunlar ve kayıtlar değişmez.
Add new only (Yalnız yenileri ekle)Yalnız yeni kayıtlar. Var olan kayıtlara dokunulmaz ve hiçbir şey silinmez; seçenek dokunmadığı var olan kayıt sayısını gösterir.
Write nothing if an existing record would change (Var olan bir kayıt değişecekse hiçbir şey yazma)Her şey, ama yalnız var olan hiçbir kayıt değişmiyorsa. Dosya var olan kayıtları güncelliyor ya da siliyorsa Apply kullanılamaz ve pencere kaç kayıt olduğunu söyler: The file changes or deletes n existing records — it cannot be applied with this rule.

Dosya sinyal siliyorsa YTCC, siz uygulamadan önce ekranların, sunucu betiklerinin, hesaplanan sinyallerin ya da alarm grubu kurallarının bu sinyalleri kullanıp kullanmadığını denetler. Kullanılan sinyaller n signals to be deleted are used elsewhere — deleting them breaks these references altında, her biri onu kullanan yerlerle listelenir, örneğin screen Overview ya da script ShiftReport. Silinen ilk 50 sinyal denetlenir; daha fazlası varsa pencere Only the first 50 deletions were checked der. Denetim yapılamazsa Could not check where the signals to be deleted are used yazar. Uyarı Apply'ı engellemez. Bir sinyalin bağlamalar ve diğer bağlı ayarlar dahil tam listesi için bkz. Bir sinyalin nerede kullanıldığını bulma.