Kod alanında Yardımcı
Betik yazarken kod alanının sağındaki panelden soru sorun. Cevaptaki kod denetlenir, sanal ortamda denenir ve yalnız siz isterseniz düzenleyiciye girer.
Bu panel projeyi değiştirmez. Model düzenleyiciye kendiliğinden yazmaz, kod yalnız siz düğmeye basınca girer. Projede iş yaptırmak için Studio Yardımcısı kullanılır. Ön koşul: kurulu yapay zekâ paketi.
Paneli açma ve soru sorma
- Betiği açın
Betikler bölümünde bir betik seçin. Olaylardaki VBS kodu çalıştır, C kodu çalıştır ve Python kodu çalıştır işlevlerinin kod penceresi de aynı paneli kullanır.
- Paneli açın
Kod alanının başlığındaki Yardımcı düğmesine basın. Panel kodun sağında açılır. Salt okunur kod alanında düğme yoktur.
- Sorunuzu yazın
Enter gönderir, Shift+Enter yeni satır açar. Belirli bir parçayı sormak için önce kodu seçin. Model açık kodu ve seçimi görür.
- Sonucu okuyun
Cevap gelince kod kutusunun altında Sorunlar ve Sanal çalıştırma sonuçları görünür.
- Kodu ekleyin
Uygunsa kod kutusundaki düğmelerden biriyle düzenleyiciye aktarın. Sonra Derle (F9) ile derleyin ve projeyi kaydedin.
1234- Yardımcı — paneli açar ve kapatır.
- Kod düğmeleri — İmlece ekle, Tümünü değiştir, Kopyala.
- Sorunlar — kod çalıştırılmadan yapılan denetim.
- Sanal çalıştırma — iki değer senaryosu; PLC'ye yazılmaz.
Dört dil
Model açık betiğin diliyle cevap verir. Bu diller için ortamın komutları modele hazır verilir:
| Dil | Tag okuma ve yazma | Ayrıntı |
|---|---|---|
| JavaScript | Tag.read, Tag.write | JavaScript |
| VBS | SmartTags("Ad"), HMIRuntime.Tags("Ad") | VBScript |
| Python | scada.read, scada.write | Python |
| C | GetTagFloat, SetTagFloat ve tipe göre diğerleri | C |
Sohbet betikten betiğe sürer. Betiğin dili değişirse yeni sohbet başlar ve Betik dili değişti: yeni sohbet. notu çıkar. Yeni sohbet düğmesi geçmişi elle siler. Panel açık bırakılırsa sonraki kod alanında da açık gelir.
Kod kutusu düğmeleri
- İmlece ekle
- Kodu imlecin olduğu yere ekler. Seçili kod varsa onun yerine koyar.
- Tümünü değiştir
- Düzenleyicideki kodun tamamını bu kodla değiştirir. Kod alanında Ctrl+Z ile geri alınır.
- Kopyala
- Kodu panoya kopyalar.
Kod bloğunun dili betiğin dilinden farklıysa kutuda Kod bloğunun dili betiğin dilinden farklı uyarısı çıkar. Bu kodu eklemeden önce modelden doğru dilde yazmasını isteyin.
Sorunlar
Bu denetim kodu çalıştırmaz. Söz dizimine ve dilin kurallarına bakar: projedeki tag ve sayfa adları, betik izinleri, desteklenmeyen kullanımlar. Sorun yoksa Sorunlar denetimi: hata ya da uyarı yok. yazar. Hatalar kırmızı, uyarılar sarıdır. Kutuda ilk altı sorun görünür, kalanların sayısı yazar.
Sanal çalıştırma
Studio her kod bloğunu sahte tag ortamında iki senaryoyla çalıştırır. Kod PLC'ye yazmaz. Projenin tag'leri ve düzenleyicideki kod değişmez.
| Senaryo | Tag değerleri |
|---|---|
| Başlangıç değerleri | Tag'in Başlangıç değeri. Boşsa sayılar 0, Bool false, metin boş. |
| Yüksek değerler | Sayılarda tag'in Üst sınır değeri, yoksa 100. Bool true, metin metin. |
Her senaryo için bir satır çıkar:
- okundu, yazıldı
- Kodun okuduğu ve yazdığı tag'ler, değerleriyle.
- bildirim, sayfa açıldı, iz satırı
- Kodun gösterdiği iletiler, açtığı sayfalar ve günlüğe yazdıkları.
- projede olmayan tag
- Kod projede bulunmayan bir tag kullanıyor.
- okuma / yazma yok
- Kod çalıştı ama hiçbir tag'e dokunmadı.
- çalıştırılmadı … (parametre istiyor ya da sınıf)
- Sarı satır. Parametre isteyen prosedür ve sınıflar kendiliğinden çağrılamaz, adları yazar. Bu kod denenmemiştir.
- tag komutu çalışmadı
- Sarı satır. Kodda tag, sayfa ya da bildirim komutu var ama bu senaryoda hiçbiri çalışmadı: koşulu tutmayan dal ya da çağrılmayan işlev gibi.
- Çalışma hatası
- Kod çalışırken hata verdi. Satır numarası ve ileti yazar.
- Süre sınırı aşıldı
- Kod bitmedi, sonsuz döngü olabilir. Sınır VBS, Python ve C'de 2 sn, JavaScript'te 4,5 sn'dir.
- (sanal ortamda desteklenmiyor)
- Kod sahte ortamda bulunmayan bir şey kullandı. Bu, kodun yanlış olduğu anlamına gelmez.
Sanal çalıştırmanın yapamadıkları
Otomatik denetim ve düzeltme
Cevapta hata varsa Studio modelden bir kez düzeltilmiş kod ister. Bunun nedenleri: Sorunlar hatası, çalışma hatası, süre sınırı aşımı ve projede olmayan tag. Sanal ortamın sınırına takılan durumlar için düzeltme istenmez.

| Sohbetteki not | Anlamı |
|---|---|
| Denetim hata buldu; modelden düzeltme istendi. | Bulunan sorunlar notun altında listelenir. |
| Denetim: düzeltilmiş kod hatasız. | İkinci cevap denetimden geçti. |
| Denetim: hata sürüyor; düzeltme bir kez istenir. | Studio yeniden istemez. Sorunu kendiniz düzeltin ya da soruyu değiştirin. |
Düzeltme yeni bir cevap olarak gelir. Düzenleyiciye yine siz eklersiniz.