Yapılı Text

Yapılı Text (ST), belirli bir PLC dilinin parçalanması için tasarlanmış yüksek seviyeli bir programlama dilidir: Tünel Diagram elektrikçiler ve basit röle mantığı için sezgisel kalırken, ST, 1993 yılında onaylanır ve 2002 ve 2013 yılında Pascal, C veya modernize edilmiş bir senaryoya bile yol açan standarttır.

Tipik bir endüstriyel kontrol sisteminde, bir PLC onlarca analog girişleri halledebilir, doğrulayıcı açıklamalar gerçekleştirebilir (PID) döngü hesaplamaları, verileri yönetin, birden fazla protokolle iletişim kurun ve güvenlik araları (tüm görevlerin tümü, sözel metinleri açıkça ifade edebilir, koşullu ifadeler (IFTHEN-ELSIFELSE, CASE), iterasyon (FOR, WHILE, REPEAT), ve yapılandırılmış veri türleri (arrayınlar, yapılar, enumerler)

ST, IEC 61131-3'ün bir parçası olduğundan, aynı proje içinde diğer diller ile karıştırılabilir. Ortak bir model, Merdiven veya Fonksiyonlar Blok Diagram'da ana kontrol akışı yazmak ve ST'de yazılmış bir işlev için karmaşık hesaplamalar yapmak için tasarlanmıştır. Bu hibrit yaklaşım, mühendislerden tek bir paradigmaya kadar her dilin güçlü yönleriyle karıştırılır. Endüstri 4.0 ve Nesnelerin Endüstri İnterneti (IIoT) daha fazla veriye dayalı otomasyon için, ST'in işlem yapabilme yeteneği, dizeleri ve dosyaları giderek değerli hale gelir.

Modern PLC Programlamasında Yapılı Text'in Avantajları

Okuyabilirlik ve Bakım

Yapılı Text, geleneksel programlama dilleri değiştiren basit İngilizce anahtar kelimeler ve bir blok yapısı kullanır.Indentation ve yorum, mantığın akışını takip etmek için kolay hale getirir.Yeni bir mühendis büyük bir proje aldığında, ST kodu genellikle daha kendini ifade eden bir merdiven diyagramı.

Algoritma Gücü

Kompleks arithmetic, trigonometrik fonksiyonlar, logarithms ve birazbiliş işlemleri ST. Örneğin, yem ile ilgili bir kalibrasyonu uygulamak, sadece bir düzine kod hattı gerektirir. Merdiven uzmanları, işlev blokları veya merdiven tabanlı matematik işlemlerinin daha zor olduğunu ayrıntılı olarak yapmak zorunda kalacak. ST ayrıca dizileri ve yapıları yerel olarak ele alır, veri tariflerinin verimli bir şekilde manipülasyonu sağlar, veya pozisyon profilleri.

modülerlik ve Kod Yeniden

Yapılı Text, IEC 61131-3 işlevlerin konseptlerini, işlev blokları ve programları tamamen destekler. ST'de yazılmış bir işlev bloğu genellikle merdiven-sadece projelerde görülür, ST, yeniden yapılan görevlerin geliştirilmesini sağlar - örneğin, bir genel “motor kontrol” işlevi bloğu bir bitkide her motor için yeniden kullanılabilir.

Diğer IEC Dillerle Interoperability with Other IEC Languages

Çoğu modern PLC programlama ortamı, ST'in merdivenle birleştirilmesine izin verir, Fonksiyonlar Blok Diagram (FBD), ve Sequential Function Chart (SFC) bir makinenin devlet makinesini modellemesine izin verebilir, her devletin merdivenindeki eylemlerini uygular ve diğer dillerin yerini almamasını sağlar.

Debugging ve Simülasyon

ST kodu tek adım atılabilir, izlenebilir ve çoğu gelişim ortamında uçabilir. çünkü ST, donanım haritalamadan gelen mantığı ayırır, bir programın çevrimdışı büyük bölümünü taklit edebilirsiniz. Bu, PLC'nin zamana bağlı olduğunu ve birçok araç da statik analiz ve uyumluluk kontroline bağlanır.

Yapılı Text vs. Diğer IEC 61131-3 Diller

Merdiven Diagram (LD)

Merdiven Diagram mimiks elektrik röpektiği. Basit Boolean mantığı, güvenlik devreleri ve elektriksel bir arka plandan gelen mühendisler için mükemmeldir. Ancak, karmaşık artışlar olarak, Merdiven hesaplamalar için çok zorlaşır ve hataya değer verir.

Fonksiyonlar Blok Diagram (FBD)

FBD grafikseldir ve PID kontrol veya ölçeklendirme gibi sinyal odaklı mantık için de çalışır. Ancak birçok blok ve tel ile karıştırılabilir. ST daha az hatlarda aynı işlevselliği üretebilir ve sürüm kontrol ve diff. FBD genellikle bu blokları içsel olarak uygulamak için kullanılır.

Sequential Function Chart (SFC)

SFC, devlet-makina gösteriminde öne çıkıyor. Her adımda eylemleri genellikle ST veya Merdivende yazılır. Uygulama için SFC'yi bir araya getirin ve ST'yi toplu süreçlerde veya montaj makinelerinde her iki dünyanın en iyi şekilde ödüllendirin.

Öğretim Listesi (IL)

Öğretim Listesi, montaja benzer düşük seviyeli bir mnemonik-bazlı dildir. Yeni projelerde nadiren kullanılır çünkü okumak ve korumak zordur. ST, daha net bir sözcülerle yapabileceğim her şeyi yapabilir, bu yüzden birçok alet zincirde depres edilmiştir.

Uygulamada, çoğu IEC 61131-3 sistem tüm beş dili destekliyor, ancak ST yeni algoritmaları, iletişim sürücüleri ve veri yoğun uygulamaları için de facto seçim haline geldi.TheİL 61131-3 standart kendisi ST ve semantics'in resmi tanımına sahiptir.

Anahtar Syntax ve Yapılı Metinlerde Yapılar

Değişkenler ve Veri Türleri

ST standart IEC 61131-3 veri türlerini destekler: BOOL, INT, DINT, GERÇEK, LREAL, TIME, DATE, STRING ve kullanıcı tanımlı yapılar. Değişkenler programda, fonksiyon blokunda veya fonksiyon seviyesinde, VAR INPUT, VAR OUTPUT, VAR IN OUT, ve VAR STAT anahtar kelimelerle ilan edilebilir.

VAR
 Setpoint : REAL := 100.0;
 processVariable : REAL;
 gain : REAL := 1.5;
 output : REAL;
END_VAR

Durumsal Açıklamalar

IF binası ELSE ve ELSIF şubelerini destekler. CASE ifadeleri tam veya enumerasyona dayanan çok seviyeli kararlar için uygundur:

CASE mode OF
 1:
 output := Setpoint * gain;
 2:
 output := Setpoint * 2.0;
 3:
 output := 0.0;
 ELSE
 output := 0.0;
END_CASE

Rings and Iteration

Bir aralıkta döngüler için; WHILE ve REPEAT döngüleri bir koşul değişikliğine kadar çalışır. Bunlar işlem dizileri, tampon yönetim veya senkronizasyon axes için gereklidir. Örneğin, son 100 örnek bir tamponta:

sum := 0.0;
FOR i := 0 TO 99 DO
 sum := sum + buffer[i];
END_FOR
average := sum / 100.0;

Fonksiyonlar ve Fonksiyonlar Bloklar

Fonksiyonlar (FUNCTION) iç hafızaya sahip değildir ve tek bir değer döndürür. Fonksiyonlar blokları (FUNCTION BLOCK) örneğin özel hafızaya sahiptir ve birden fazla çıktı değişkenine sahiptir. Onlar, yapılandırılmış ST programları birincil bina bloklarıdır.

FUNCTION_BLOCK MovingAverage
VAR_INPUT
 newValue : REAL;
 trigger : BOOL;
END_VAR
VAR_OUTPUT
 average : REAL;
END_VAR
VAR
 buffer : ARRAY[0..99] OF REAL;
 index : INT := 0;
 count : INT := 0;
END_VAR
IF trigger THEN
 buffer[index] := newValue;
 index := index + 1;
 IF index >= 100 THEN index := 0; END_IF
 IF count < 100 THEN count := count + 1; END_IF
 average := 0.0;
 FOR i := 0 TO count-1 DO
 average := average + buffer[i];
 END_FOR
 average := average / REAL(count);
END_IF

Bu örnek, ST'in indeksleme, koşullu mantık, döngüler ve açık, konciz bir şekilde keskin bir şekilde uçup duruyor. daha derin bir şekilde sözcülüğe bakın, [[0PLCopen 61131-3 kaynakları).

Yapılı Text

PID Control ve Advanced Process Control

PID döngüleri, işlem kontrolünin arka kemiğidir. Birçok PLC'ler önceden inşa edilmiş PID bloklarını, ST'deki özel uygulamaları anti-reset rüzgarı için izin verirken, besleme-södeleme, ve adaptif ayarlama. Örneğin, tek bir ST işlevi bloğu, FBD'nin spaghetti bağlantılarını kullanarak basitleştirir.

Hareket Kontrolü ve Robotik

Modern hareket kontrolörleri genellikle kameraları, dişlileri ve interpolasyon işlevleri ortaya koyar. ST, elektronik kamera profillerini yazmak için seçim dilidir, koordinat dönüşümlerini gerçekleştirir (örneğin, kutupları Cartesian) ve yol planlama algoritmalarının uygulanması.

Data Logging and Analysis

PLC'ler giderek daha fazla kenar cihazları olarak hareket eder, analiz için üretim verilerini toplar. ST, SD kart üzerinde dosyaları yazabilir veya TCP/IP veya MQTT mühendisleri kullanarak Ethernet'i kullanarak, gerçek zamanlı kararları hesaplamak için kullanabilir.

İletişim Protokolü Sürücüleri

Birçok PLC, seri veya Ethernet üzerinden özel protokolleri uygulamak için ST kullanıyor. Örneğin, MODBUS RTU master veya özel bir barkod okuyucusu için bir sürücü tamamen ST'de yazılabilir ve hata işleme konusunda tam kontrol verebilir. Dilin biraz yönlü operatörleri (AND, OR, XOR, SHL, SHR) inşa etmek ve parsing protokolü çerçeveleri için gereklidir.

Güvenlik ve Yanlış İşleme

Güvenlikli PLCler genellikle ST'in iyi tanımlanmış bağlamlarda olmasına izin verir. ST, paylaşılan kaynaklar için karşılıklı dışlamalar oluşturmak için kullanılır ve kolay hazır alarm mantığı yaratır. Çünkü ST ENUM türleri ve yapılandırılmış giriş, bakım personeli alarmları hızla kaynaklarına taşıyabilir.

Yapılı Text Development için en iyi uygulamalar

Bir Konsolide Naming Sözleşmesini Kabul Etmek

Değişkenler, fonksiyonlar ve fonksiyon blokları için anlamlı isimler kullanın. Macar notasyon (örneğin, 03., 03.)0.fSetpoint) GERÇEK set noktası için, [[Dönetici:2) ]xStart) endüstriyel otomasyonda yaygındır.

Yorum ve Doküman Thoroughly

ST tek satır yorumları (//) ve blok- yorumları destekler (/* * /) Bir hesaplama niyetini açıklayan yorumlar yaz, değişken birimleri veya bir koşullu bir şubenin arkasındaki varsayım. "increment sayacı" gibi açık yorumlardan kaçının.

Fonksiyonlar ve Fonksiyonlarla Yapı Kodu

Programı küçük, test edilebilir birimlere ayır. Her işlev bloğu tek bir sorumluluğu olmalıdır. Bir blok 200 çizgiyi aşsa veya 10 girdiden fazla giriş / ⁇ s, refaksiyonu düşünün.Use VAR IN OUT for data that the block modifies, and net ayrı kontrol girdileri veri girişlerinden ayır.

Tüm Değişkenler Başlangıç

Belirsiz olmayan değişkenler, bildirimde her zaman ilk değer verebilir (örneğin, [[0) karşıla: INT: 0[Dönemli yapılar için, başlangıç fonksiyonunu kullanın veya varsayılan varsayılanları devre dışı bırak.

Simülasyonda Test İlk İlk

Çoğu PLC satıcısı, ST'yi gerçek donanım olmadan yürüten simülasyon ortamları sağlar. kritik işlevlerin birim testleri yaz - örneğin, bir PID bloğunun bilinen girişler için beklenen çıktıyı geri döndürür.Test tuzaklarını kullanın (örneğin,0)

Version Control and Code Yorumlar

ST kodu başka herhangi bir yazılım gibi tedavi edin: bir sürüm kontrol sistemi (Git, SVN) değişiklikleri takip etmek için kullanın. Kod yorumları mantık hataları yakalar ve ekip bilgilerini geliştirir. Birçok IDEs ST'i basit metin olarak ihraç edebilir, diff karşılaştırmalar basit hale getirebilir.

Daha ayrıntılı bir dizi kılavuz için, [[Dönetici:0)PLCopen Software Engineering Guide).

Yapılı Text'in Eğitim ve Kabul Edilmesi

ST, 1993'ten beri IEC standardının bir parçası olmasına rağmen, birçok otomasyon uzmanı öncelikle merdiven veya satıcıya özel diller üzerinde eğitildi. ST için öğrenme eğrisi, temel programlama deneyimi olan herkes için nispeten naziktir. Online eğitmenler, satıcılar-provided e-öğrenmeler ve Otomasyon Topluluğu (ISA) ST sözlüğü ve en iyi uygulamaları öğretmektedir.

ST'i kabul eden şirketler, merdivendeki projenin geri kalanını tutmak için ST'de tek bir karmaşık işlev bloku yeniden yazarak başlar.Güven büyüdükçe, takımlar daha büyük bölümlere taşınırlar. Zamanla, ST yeni gelişim için tercih edilen dil haline gelir, Merdivenle sadece grafiksel açıklığa sahip basit Boolean mantık veya güvenlik devreleri için muhafaza edilir.

Küresel trend, açık otomasyon standartları ve çapraz liman kabiliyetine karşı da ST'i destekliyor. Çünkü IEC 61131-3 ST çoğu platformda aynıdır (küçük lehçe farklılıkları ile), mühendisler, PLC markaları arasındaki geçiş yaparken yeteneklerini yeniden kullanabilir.

Endüstri Otomasyonunda Yapılı Text'in Geleceği

Fabrikalar Endüstri 4.0 prensiplerini benimsemişken, PLC programlama artışı talepler benzersiz olarak bu talepleri karşılamak için konumlandırılmıştır. büyük dizilerle çalışmak, Ethernet aracılığıyla iletişim kurmak ve karmaşık matematik gerçekleştirmek, kenar-komputlama görevleri için doğal seçimi yapar. Örneğin, bir PLC çalışan ST, önceden eğitilmiş bir model kullanarak, buluta göndermeden önce verileri uçabilir.

Bir başka trend, PLC ve PC tabanlı kontrolin yakınlığıdır (örneğin, yumuşak-PLCs gerçek zamanlı Linux çalıştırıyor). Bu platformlar genellikle ST'yi birincil dil olarak ortaya koyar, işletim sistemi kaynaklarına tam erişim ile.Bu, veritabanı bağlantı, web sunucuları ve özel kullanıcı arayüzü gibi gelişmiş yeteneklere açılır - tüm ST.

[FONT=0]IEC 61499 [Dönetici: 0] standart, hangi otomasyonda inşa edilen standart, aynı zamanda ST ile benzer bir metinsel sözcüler de destekler.In distributed Automation (smart sensörler, merkezi kontrol) kazanımlar traksiyon, ST heterojen cihazlarla entegre eden yapıştırıcı olarak hizmet eder. Son olarak, otomasyondaki açık kaynak hareketi, ST için derleyici ve çalıştırma süresiz ortamlar için, küçük ölçekli bütünlemeler ve hobiler için giriş engeli azaltır.

Özetle, Structured Text, en zorlu kontrol problemlerini ele almak için kendilerini donanımlı bulacak - AI-enhanced süreci optimizasyonuna yönelik olgun, standartlarda bir dildir.

Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç

Yapılı Text, otomasyon mühendisinin aracı olan bir araç haline geldi. Onun açıklık, hesaplama gücü ve modüler yapısı, grafik dilde pratik olmayan bir mantık sağlar.Diğer IEC 61131-3 dilleri ile birleştirdiğinizde, ST hem de yüksek seviyeli bir kontrol ve kesin olarak, karmaşık algoritmaların performans ve kolaylaştırılması için mükemmel bir kod sağlayacaktır.

Dile yeni mühendisler için, ST'in öğrenme ödülleri ilk çabayı çok daha fazla tutmuyor. Basit görevlerle başlayın - bir Merdiven tabanlı karşı veya ölçeklendirme bloğu yazmak - ve yavaş yavaş daha karmaşık işlevleri ele alalım. Uygulama ile, ST'in sadece geliştirme zamanını kurtardığını bulacaksınız, aynı zamanda takımlarla tekrarla paylaşılır ve otomasyon geleceği yazılım odaklıdır.