C kodu entegrasyon eklentisi ile, harici olarak uygulanan C kodu dosyaları CODESYS projelerine dahil edilebilir ve IEC nesnelerinden C taslakları oluşturulabilir.
CODESYS adresinde, «C kodu modülü» nesne türü bu amaç için kullanılabilir. C kodu dosyaları ve kullanılan IEC nesneleri «C kodu modülünün altında yer almaktadır». Her C kodu modülüne sabit diskte C kodu dosyalarının bulunduğu bir dosya dizini atanır.
Projede, diğer POU'larda kullanmak için *.h veya *.hpp (başlık dosyası) biçimindeki bir C kod dosyasından IEC nesneleri oluşturabilirsiniz.
C saplamalarının oluşturulması aşağıdaki kullanım durumları için tasarlanmıştır:
-
Bir C kod dosyası bir IEC nesnesine erişir: Bir C kodu dosyası bir IEC nesnesine doğrudan erişemez. Yalnızca IEC nesnesinden oluşturulan C saplamasına erişebilir.
-
Bir kütüphane projesinde birleştirebileceğiniz önceden derlenmiş modüllerin oluşturulması.
İçe aktarıldıktan sonra, içe aktarılan kaynak kod dosyaları CODESYS projesinin bir parçasıdır ve bu nedenle diskteki orijinal dosyalardan ayrılırlar.
Derleme sırasında, bir C kodu modülünden dinamik bir modül oluşturulur ve projenin bir parçası olarak kaydedilir. Bilgiler, uyarılar ve hatalar «C kod modülü» kategorisindeki mesaj penceresinde görüntülenir.
Bir uygulamanın tüm dinamik modülleri indirme sırasında çalışma zamanı sistemine aktarılır ve yüklenir. Bunun için çalışma zamanı sisteminin dinamik bağlantıyı desteklemesi gerekir.
Çalışma zamanı sistemi için lisans
Çalışma zamanı sistemi için lisans
Çalışma zamanı sistemi, C modüllerinin yüklenmesine izin veren bir lisans gerektirir. Bu lisans olmadan, dinamik modüller indirme sırasında bağlanamaz ve bu nedenle indirme işlemi iptal edilir.
Dinamik modüller önyükleme uygulamasının bir parçasıdır ve kontrol ünitesi yeniden başlatıldığında yeniden yüklenir ve etkinleştirilir. «Reset origin» komutu uygulamadaki tüm C kodu modüllerinin yükünü kaldırır. «Reset cold» ve «Reset warm» komutları C kodu modüllerinin tekrar tekrar başlatılmasına yol açmaz.




NOT

Simülasyon modu için C kodu yok
Simülasyon modunda, C kodu oluşturulmaz ve çalışma zamanı sistemine yüklenmez. C modüllerinde bulunan kodu yine de simüle etmek için, bu amaçla C kodu modülünün ilgili IEC nesnelerinde uygulayabilirsiniz.
CODESYS C kod dosyalarındaki değişkenlerin izlenmesini veya C kaynak kodunda kesme noktalarının ayarlanmasını desteklemez.
Kullanıcı Kütüphanesi POU'ları Giriş Destekli (F2) üzerinde listelenir ancak bu özellik C kodu POU'ları bağlamında anlamlı bir sonuç vermez. Bu POU'lar standart olarak listelenir ve kullanıcı tanımlı Fonksiyon / Fonksiyon Blokları / Programlar olarak listelenmez.
Kütüphanelerde önceden derlenmiş modüller
C kodu entegrasyonu, kütüphanedeki önceden derlenmiş bir çalışma zamanı modülünü (örnek: *.dll) bir cihaza atama ve ardından kütüphaneye kaydetme olanağı sağlar. Daha sonra bu modüller dinamik olarak yüklenebilir.
C kodu modüllerini yapılandırma
Gereklilik: Halihazırda bir
C kodu modülü içeren bir proje açıktır.
-
Aygıt ağacında
nesnesine «C kodu modülüne» tıklayın. -
Bağlam menüsünde «Özellikler» komutunu seçin.
-
«Özellikler» iletişim kutusundaki «Oluştur» sekmesini açın.
-
Bilgisayarınızdaki Visual Studio yüklemesinin dosya yolunu belirtin. Giriş asistanı (
) ve arama aracı (büyüteç) da mevcuttur. -
Bilgisayarınızdaki MS Windows SDK kurulumunun dosya yolunu belirtin. Giriş asistanı (
) ve arama aracı (büyüteç) da mevcuttur. -
Geçici derleme dosyalarının saklanacağı CODESYS için bir dosya yolu belirtin.
Dosya dizininden C kaynak dosyaları içeren klasörleri içe aktarma
Gereklilik: Bir proje açık. Proje denetleyicisi C kodunun entegrasyonunu destekler.
-
Cihaz ağacında «Application» öğesini seçin ve «Project Add object C code module» öğesine tıklayın.
-
Gerekirse, «C kodu modülleri ekle» iletişim kutusunda C kodu modülünüz için yeni bir ad belirtin. Bunu yapmazsanız, nesnenize «C kod modülü» standart adı verilecektir.
-
«Kaynak dizini» giriş alanının yanındaki simgeye (
) tıklayın. -
«Klasör bul» iletişim kutusu açılır.
-
«Klasör bul» iletişim kutusunda, C kaynak dosyalarını içeren klasörü seçin (
*.c,*.cpp,*.hveya*.hpp). -
«Kaynak kodu değişiklikleri için klasörü izle» seçeneğini belirlediğinizde, dosya sisteminin seçilen klasöründeki C kaynak dosyalarında değişiklik yapıldığında CODESYS bir mesaj görüntüler.
-
«Add» adresini tıklayın.
CODESYS C kodu modülünü «Extensions», «IEC interface» ve «Source files» klasörleriyle birlikte cihaz ağacına ekler.
-
Cihaz ağacında, «Kaynak dosyaları» klasörünün artı sembolüne («+») tıklayın.
İçe aktarılan C kaynak dosyaları açık klasörde listelenir.
-
C kaynak dosyalarından birine çift tıklarsanız (
), C kod dosyası editörünüzde açılır.
Tek tek C kodu dosyalarını içe aktarma
Gereklilik: Halihazırda bir
C kodu modülü içeren bir proje açıktır.
-
Aygıt ağacında
nesnesine «C kodu modülüne» tıklayın. -
«Proje Add object C kodu dosyası» öğesine tıklayın.
-
«C kod dosyası ekle» iletişim kutusunda,
*.c, *.cpp, *.hveya*.hppbiçiminde bir dosya seçmek için giriş yardımcısını (
) kullanın ve ardından «Ekle» öğesine tıklayın. CODESYS seçilen C kodu dosyasını
«C kodu modülünün» altındaki aygıt ağacına ekler. -
Cihaz ağacında yeni C kodu dosyasına (
) çift tıklarsanız, değiştirilmek üzere editörde açılır.
Boş C kodu dosyaları oluşturma
Gereklilik: Halihazırda bir
C kodu modülü içeren bir proje açıktır.
-
Aygıt ağacında
nesnesine «C kodu modülüne» tıklayın. -
«Proje Add object C kodu dosyası» öğesine tıklayın.
-
«C kodu dosyası ekle» iletişim kutusunda, uygun dosya uzantısıyla birlikte yeni C kodu dosyasının adını belirtin ve «Ekle» öğesine tıklayın.
CODESYS seçilen C kodu dosyasını
«C kodu modülünün» altındaki aygıt ağacına ekler. -
Cihaz ağacında yeni C kodu dosyasına (
) çift tıklarsanız, değiştirilmek üzere editörde açılır.
Uygulamalarda programlama nesneleri olarak kullanılmak üzere C kod dosyalarını IEC nesnelerine dönüştürme
Gereklilik: Bir
C kod modülü ve
C kod dosyaları içeren bir proje açıktır. Örneğin, C kodu dosyası aşağıdaki C kodunu
içerir: int adder(int a, int b);
-
*.hdosya uzantısına sahip bir
C kodu dosyasına tıklayın. Bu örnekte, test.h. -
«Build C-Integration Create IEC interface» öğesine tıklayın.
«C arayüzü oluştur» iletişim kutusu açılır ve
test.hdosyasını veadder (int, int)işlevini listeler. Her ikisi de ithalat için etkinleştirilmiştir. -
«İçe Aktar» adresini tıklayın.
-
CODESYS «toplayıcı (FUN)» fonksiyonunu oluşturur ve cihaz ağacındaki «IEC arayüzü» klasörüne bir nesne olarak ekler.
-
«adder (FUN)» nesnesine çift tıklarsanız, nesne düzenleyicide açılır. Aşağıdaki beyan bölümünü içerir:

-
Artık
adderişlevini bir POU'nun uygulama bölümünde çağırabilirsiniz (örnek:adder (diVar1, diVar2);).
C taslakları oluşturma
Gereklilik:
C kod modülünü içeren bir proje açıktır. C kod modülüne bir POU eklenir ve bu POU'da
kod uygulanır.
-
Cihaz ağacında, C kodu modülünün altındaki POU'yu seçin ve «C-Integration Create stub implementation in C» öğesine tıklayın.
CODESYS «iec_external.c» ve «iec_external.h» nesnelerini oluşturur ve bunları aygıt ağacındaki «Extensions» klasörüne ekler.
Mesajlar penceresinde («C kod modülü» kategorisi), bir m4 dosyasının başarıyla oluşturulduğunu belirten bir mesaj bulacaksınız.
«Create stub implementation in C» adresini tıkladığınızda, uygulama otomatik olarak derlenir. İşlem sırasında hatalar meydana gelirse, bunlar mesaj penceresinde belirtilir. Ayrıca, lütfen «C kod modülü» kategorisindeki mesajları izleyin.
Önceden derlenmiş çalışma zamanı modüllerini cihazlara atama ve kütüphanelere kaydetme
Gereklilik: Bir kütüphane (*.library) CODESYS adresinde açıktır.
-
«Görüntüle POU'lar» üzerine tıklayın.
«POUs» görünümü açılır ve kütüphane projesini ve nesnelerini görüntüler.
-
Kütüphane projesini seçin ve «Project Add object C implemented library» öğesine tıklayın.
-
«Add C implemented library» iletişim kutusunda «Add» öğesine tıklayın.
CODESYS
«C uygulamalı kütüphane» nesnesini «POUs» görünümüne ekler. -
«C implemented library» nesnesine çift tıklayın.Nesne düzenleyicisinde açılır
-
Bu düzenleyicide Ekle'ye tıklayın.
«Cihaz seç» iletişim kutusu açılır.
-
«Nesne dosyası» giriş alanında, *.dll veya *.so biçiminde dinamik olarak yüklenebilir bir modülün adını belirtin.




NOT

.dll dosyası, adında kütüphane projesinin başlığını içermelidir. Örneğin, kütüphane projesi XYlib olarak adlandırılmışsa, «Nesne dosyası» olarak adlandırılmalıdır:
<Name>_XYlib.dll. -
«Device» penceresinde, «Object dosyasının» atanması için bir cihaz seçin.
-
«Cihaz seç» seçeneğine tıklayın.
CODESYS oluşturulan cihaz dosyası atamasını «Derlenen bileşenler» sekmesindeki düzenleyicide görüntüler.
-
Kütüphane projesini kaydedin.