Geri Dön

Programlanabilir kontrolörler için gerçek zamanda programlama dili tasarımı

Design of a real-time programming language for programmable controllers

  1. Tez No: 19325
  2. Yazar: CENGİZ ÖZDEN
  3. Danışmanlar: DOÇ.DR. BÜLENT ÖRENCİK
  4. Tez Türü: Yüksek Lisans
  5. Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Computer Engineering and Computer Science and Control
  6. Anahtar Kelimeler: Belirtilmemiş.
  7. Yıl: 1991
  8. Dil: Türkçe
  9. Üniversite: İstanbul Teknik Üniversitesi
  10. Enstitü: Fen Bilimleri Enstitüsü
  11. Ana Bilim Dalı: Belirtilmemiş.
  12. Bilim Dalı: Belirtilmemiş.
  13. Sayfa Sayısı: 85

Özet

ÖZET Son yıllarda programlanabilir kontrolörlerin (PC) donanımlarındaki gelişmeler sonucu kullanılan kontrolör programlama dilleri yetersiz kalmaya başlamış ve kontrol yazılımları büyük ölçüde simgesel dilde hazırlanmıştır. Simgesel dilede hazırlanan programlar son derece etkin olmakla birlikte değişik sistemlere taşınabilme özellikleri yoktur. Bu çalışmanın amacı programlanabilir kontrolörlerde kullanılabilecek yüksek düzeyli bir gerçek zamanda programlama dili geliştirilmesidir. IBM PC/XT ve PC/AT uyumlu bilgisayarlara takıla bilen iki çok fonksiyonlu giriş/çıkış kartı hazırlanmış ve bu kartların takıldığı bir kişisel bilgisayar bir kontrolör sistemi olarak kullanılmıştır. Geliştirilen dil, PCL (Programmable Controller Language) olarak adlandırılmıştır. PCL yüksek düzeyli bir gerçek zamanda programlama dilidir. Hazırlanan kontrolöre uygun kod üreten bir PCL derleyicisi hazırlanmıştır. Bu derleyici DOS işletim sisteminde çalışmakta ve Intel 8086 işlemcisinin simgesel dilinde kod üretmektedir. Üretilen kod dilde eş zamanlı tanımlanan yordamların gereken şekilde yürütülmesini sağlayan bir iş sıralayıcıyı da (scheduler) kapsar. Hazırlanan derleyici ve donanım kullanılarak, PCL dilinin bir uygulaması da hazırlanmıştır. Bu uygulamada bir“tek bobin iplik boyama makinası”'nın kontrolü yapılmıştır. - vii -

Özet (Çeviri)

SUMMARY DESIGN OF A REAL-TIME PROGR AMM I IMG LANGUAGE FOR PROGRAMMABLE CONTROLLERS For many years, process control software has been written almost exclusively in assembly language. By using assembly language, compact and efficient code can be generated. However, assembler programs are not portable and are expensive to write and maintain. In order to alleviate this situation, considerable atten tion has been given to the development of high- level real-time programming languages. With the advent of microcomputers, a great deal of interest currently exist in developing and using real-time languages for process control. Main purpose of this study is to design a new high-level real-time programming language for program mable controllers. Two multi-function analog and digital I/O inter face cards are designed for IBM PC/XT, PC/AT and compatibles. A personal computer is used as a program mable controller which has the following features s - 72 digital input/output lines - 24 interrupt input lines - Fast 8- bit A/D converter - 8 channels - 2 double-buffered multiplying 8-bit D/A con verters - & independent 16-bit counter/timers which support frequency counting, event counting, and pulse output applications - 2 timer generated interrupts Each I/O line is protected by optical isolation circuits. Low-pass filters are used for each input and output signal. Digital outputs are amplified to drive AC 220 V, 5 A via power card. Personal computer and add-on cards are used as a devel opment environment. No specific hardware has been sug gested within this thesis. viiiThe designed language is called PCL (Programmable Controller Language). PCL is a high level concurrent language which is designed specifically for PCs (pro grammable controllers). PCL is similar to PASCAL in syntax, but it also owns some features which contribute to the shrinkage of the development time for PC pro grams. The most important features of PCL are as follows: Structured data types Efficient control structures Abstraction mechanisms Concurrent processing Synchronization mechanisms Communication mechanisms proof support Exception handling Specification mechanisms representation with logical for hardware A compiler is designed for the PCL where the tai - get controller is a personal computer which is intro duced previously. The generated code includes a sched uler which manages the processes defined within the language. PCL is structured as a collection of cooperating sequential routines which are executed concurrently. These sequential routines are declared as processes. A process is conceptually similar to a procedure. It has a name, a set of declaration and a set of sequentially executable statements. A process runs asynchronously with respect to other processes. In order to achieve successful coop eration of concurrently executing processes, PCL pro vides data structures, such as semaphores, message records and mailboxes, as standard data types, and operations, such as send, receive, wait, signal etc., as standard functions. PCL functions define their own local variables and data structures. Functions can be used as shared code among the processes and may also be recursive in na ture. PCL has a number of predefined functions with regard to process control, interprocess communication, process synchronization, timer management and input/output handling. - IXProcesses are managed by an ev scheduler. They are scheduled acco orities. A ready process with the executed until a process with a hig ready as a result of a system eve for leaving the“runnable”state one of the standard functions like“waitack”,“delay”or“terminate”, can also make an“unrunnable”proce cuting one of the standard function“send”or“ack”. Events related functions are called“synchronous process”as they are triggered o process. ent driven rding to the highest pri her priority nt. Another is the exec“wait”,“r A running ss ”ready“ s ”crsat“, ”to these with the nly by the priority ir pri ority is becomes reason uting of eceive“, process by exe- signal”, standard running running Asynchronous events on the other hand are initiat ed by hardware interrupts. All asynchronous events except timer clock interrupts are handled using the“privilege signal”(psignal) operation. Time manage ment is dealt by timer clock interrupts and associated delay queues. A process which executes the“delay”function, waits in a delay queue and is awaken by the time manager at the end of its delay time. Program control statements include the well-known“if”,“case”,“repeat”,“while”and“for”statements. A few new statements are added for handling inputs and outputs. PCL supports signed and unsigned integers, boolean and structured data types like array, record, sema phore, message and mailbox. Structured data variables have more than one element and each element is either a simple or a structured data type. Arrays have a fix number of components of one type. An array can be indexed in each dimension by all values of corresponding given subrange. The number of dimensions is unlimited. A record type comprises a set number of compo nents, or fields, that can be of different types. Re cord type sets out the list of fields, giving a type and an identifier for each. Each field contains infor mation that is always retrieved in the same way. The semaphore type is a structure that contains a semaphore variable and a queue structure which is used as the waiting queue of the semaphore. x -The message type is a special record type which contains some more fields in addition to the user de fined fields. Additional fields are used to indicate sender process1 identity and to log receiver process' acknowledgement. The mailbox type is declared as mailbox of a mes sage type. A mailbox contains two queue structures. The first one is used for queuing messages sent to the mailbox when no process is waiting for a message. The next one is intended for queuing processes which wait for a message while the message queue of the mailbox is empty. The declarations of a process or of a function is local to its block. Variables declared at the outside of processes and functions are global. Global vari ables are used as shared data among the processes. Accessing to a shared variable requires mutual exclu sion unless the program logic guarantees that the one and the only of the related processes can be ready at any given time. The inputs and outputs of the controller are ma nipulated as predefined variables which are declared as corresponding data types. Discrete inputs and outputs have all properties of boolean type variables. Multi- bit input devices, such as analog digital converters, pulse and frequency counters, are called numerical inputs. Multi-bit output devices, such as digital analog converters, delay counters and pulse train gen erators, are called numerical outputs. Numerical in puts and outputs have all the properties of integer type variables. Names (identifiers) of the I/O vari ables are defined according to the controller and phys ical system as a part of installation and are kept in a separate file. Normally, input and output variables refer to the input/output image (I/O image) of the controller. The I/O image is updated by using the“refresh”standard function. Using the statement“access direct”, I/O variables may also access directly to I/O resources instead of their image. Interrupt inputs are predefined as semaphore type variables. They are discrete interrupt inputs attached to PC through an interrupt controller subsystem. This hardware is able to enable or disable each interrupt separately. All hardware interrupt manipulations are xi -ordered by the user program without the need of being aware when, why and how they are realized- There is no any direct interrupt manipulation statement or function within PCL. Interrupts are described in terms of sema phore operations. Each interrupt has an associated predefined sema phore which is called interrupt semaphore. Within the language, interrupts are identified with their sema phores. In a programmer's view point, an interrupt semaphore is definitely equivalent to a predefined variable that is declared semaphore type. The only difference of an interrupt semaphore is its implementa tion which is hidden in the scheduler. PCL does not support dynamic data structures and floating point data types. On the other hand, the developed PCL compiler generates code suitable for calling C functions. Thus, all facilities provided by ANSI C can be used within PCL via C functions. - xxx

Benzer Tezler

  1. Laboratuarda gerçek zamanda klasik PID kontrolörlerin matlab simulink uygulamasının PLC uygulaması ile karşılaştırılması

    Comparison matlab simulink application with PLC application of conventional PID controller in real-time at laboratory

    HAİDER KAMEL

    Yüksek Lisans

    Türkçe

    Türkçe

    2016

    Elektrik ve Elektronik Mühendisliğiİstanbul Üniversitesi

    Elektrik-Elektronik Mühendisliği Ana Bilim Dalı

    PROF. DR. İLHAN KOCAARSLAN

  2. Networked computing-based system identification and control of electromechanical systems with industrial IoT

    Endüstriyel IoT ile elektromekanik sistemlerin ağ hesaplama tabanlı sistem tanıma ve kontrolü

    RAMAZAN KAYA

    Yüksek Lisans

    İngilizce

    İngilizce

    2024

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Teknik Üniversitesi

    Kontrol ve Otomasyon Mühendisliği Ana Bilim Dalı

    DOÇ. DR. ALİ FUAT ERGENÇ

  3. A control and automation engineering approach to railway interlocking system design

    Demiryolu anklaşman sistem tasarımına kontrol ve otomasyon mühendisliği yaklaşımı

    MUSTAFA SEÇKİN DURMUŞ

    Doktora

    İngilizce

    İngilizce

    2014

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Teknik Üniversitesi

    Kontrol ve Otomasyon Mühendisliği Ana Bilim Dalı

    PROF. DR. MEHMET TURAN SÖYLEMEZ

  4. Quality of service (QoS) aware flow analysis in software defined networks

    Yazılım tanımlı ağlarda servis kalitesinden haberdar akış analizi

    KÜBRA AYVAZ

    Yüksek Lisans

    İngilizce

    İngilizce

    2017

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Teknik Üniversitesi

    Bilgisayar Mühendisliği Ana Bilim Dalı

    DOÇ. DR. BERK CANBERK

  5. Proses yöneticisi bir gömülü sistem tasarımı : Sunrise

    Sunrise, an embedded system for batch controlling, designed on Linux using IPC

    İBRAHİM NİYAZİ ÜLGÜR

    Yüksek Lisans

    Türkçe

    Türkçe

    2003

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Teknik Üniversitesi

    Bilgisayar Mühendisliği Ana Bilim Dalı

    DOÇ. DR. COŞKUN SÖNMEZ