NL9000984A - Programmeerbare regelaar. - Google Patents
Programmeerbare regelaar. Download PDFInfo
- Publication number
- NL9000984A NL9000984A NL9000984A NL9000984A NL9000984A NL 9000984 A NL9000984 A NL 9000984A NL 9000984 A NL9000984 A NL 9000984A NL 9000984 A NL9000984 A NL 9000984A NL 9000984 A NL9000984 A NL 9000984A
- Authority
- NL
- Netherlands
- Prior art keywords
- processor
- instruction
- program
- programmable controller
- card
- Prior art date
Links
- 238000000034 method Methods 0.000 claims description 127
- 230000008569 process Effects 0.000 claims description 119
- 238000012546 transfer Methods 0.000 claims description 34
- 230000006870 function Effects 0.000 claims description 30
- 238000012545 processing Methods 0.000 claims description 24
- 230000005856 abnormality Effects 0.000 claims description 19
- 238000004891 communication Methods 0.000 claims description 12
- 238000001514 detection method Methods 0.000 claims description 11
- 230000015572 biosynthetic process Effects 0.000 claims description 6
- 239000000872 buffer Substances 0.000 claims description 6
- 238000003786 synthesis reaction Methods 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims description 4
- 238000002360 preparation method Methods 0.000 claims description 3
- 238000012163 sequencing technique Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 30
- 238000013461 design Methods 0.000 description 8
- 238000010276 construction Methods 0.000 description 6
- 230000007704 transition Effects 0.000 description 6
- 230000000977 initiatory effect Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000011022 operating instruction Methods 0.000 description 3
- 230000009271 DNA damage immune response Effects 0.000 description 2
- 238000003754 machining Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000004092 self-diagnosis Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 102100023882 Endoribonuclease ZC3H12A Human genes 0.000 description 1
- 101710112715 Endoribonuclease ZC3H12A Proteins 0.000 description 1
- 102100026338 F-box-like/WD repeat-containing protein TBL1Y Human genes 0.000 description 1
- 101000835691 Homo sapiens F-box-like/WD repeat-containing protein TBL1X Proteins 0.000 description 1
- 101000835690 Homo sapiens F-box-like/WD repeat-containing protein TBL1Y Proteins 0.000 description 1
- 101001068136 Homo sapiens Hepatitis A virus cellular receptor 1 Proteins 0.000 description 1
- 101000635944 Homo sapiens Myelin protein P0 Proteins 0.000 description 1
- 101000831286 Homo sapiens Protein timeless homolog Proteins 0.000 description 1
- 101000752245 Homo sapiens Rho guanine nucleotide exchange factor 5 Proteins 0.000 description 1
- 101000800590 Homo sapiens Transducin beta-like protein 2 Proteins 0.000 description 1
- 102100030741 Myelin protein P0 Human genes 0.000 description 1
- 101150051118 PTM1 gene Proteins 0.000 description 1
- 102100021688 Rho guanine nucleotide exchange factor 5 Human genes 0.000 description 1
- 102100033248 Transducin beta-like protein 2 Human genes 0.000 description 1
- 101710097146 Uncharacterized protein HKLF1 Proteins 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- QGVYYLZOAMMKAH-UHFFFAOYSA-N pegnivacogin Chemical compound COCCOC(=O)NCCCCC(NC(=O)OCCOC)C(=O)NCCCCCCOP(=O)(O)O QGVYYLZOAMMKAH-UHFFFAOYSA-N 0.000 description 1
- 238000004801 process automation Methods 0.000 description 1
- 238000010791 quenching Methods 0.000 description 1
- 230000000171 quenching effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000005204 segregation Methods 0.000 description 1
- 239000007858 starting material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
- G06F9/3879—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/052—Linking several PLC's
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
Description
Programmeerbare regelaar.
De onderhavige uitvinding heeft in zijn algemeenheid betrekking op een programmeerbare regelaar waarin een sequentiestuurprogramma is opgenomen voor het invoeren en afgeven van informatie aan een veelheid van lokale intelligente toepassingen in een bedrijfsautomatiseringsom-geving voor het efficiënt besturen van bedrijfsproductielijnen of in een procesautomatiseringsomgeving voor het besturen van meervoudige industriële processen.
De onderhavige uitvinding is meer in het bijzonder gericht op een verbetering van een wisselsysteem geassocieerd met een 1-bit processor voor het uitvoeren van zowel het sequentiestuurprogramma en ook een gewoon proces. Tevens zijn verbeteringen aangebracht ten aanzien van een door de gebruiker willekeurig in te stellen basisproces, een stuur-functie voor een groep van i/O-kaarten voor het overdragen van signalen naar de lokale toepassingen en voor het daarvan ontvangen van signalen, en een programmeermogelijkheid voor het sequentiestuurprogramma dat intern is geladen.
In het algemeen is de CPU-kaart in de programmeerbare regelaar uitgerust met een kenmerkende general purpose processor (bijvoorbeeld een 16-bit microprocessor type 68000 of iets dergelijks) die dienst doet als eerste processor en een processor (bijvoorbeeld een type uit de 68000 familie of iets dergelijks) bestemd voor het uitvoeren van alleen rekenkundige operaties op numerieke waarden of logische operaties, welke processor dienst doet als tweede processor. Deze processoren werken in wisselbedrijf en worden daarbij bestuurd door een sequentiestuurprogramma dat opgeslagen is in een programmageheugen.
Figuur 1 illustreert een voorbeeld van een module waarin de eerste en tweede processoren afwisselend in staat zijn om leesoperaties uit te voeren in een enkel programmageheugen.
In de in figuur 1 geïllustreerde module zijn een eerste processor CPU1, uitgevoerd als een kenmerken general purpose processor BPU2 (bijvoorbeeld een 16 bit microprocessor 68000) en een tweede processor BPU2, gedefinieerd als een processor (bijvoorbeeld uit de 68000 familie) bestemd voor het uitvoeren van rekenkundige operaties op numerieke waarden of logische operaties, via een informatiebus b verbonden met een programmageheugen 3. Opgemerkt wordt dat de tweede processor BPU2 in sommige gevallen aangeduid wordt als een 1-bit processor.
Het programmageheugen 3 bevat instructies in machinetaal als programma-instructies voor de processor CPU1. De processor CPU1 voert het besturingsprocess uit door sequentieel de machinetaalcommando's uit te lezen. Als de uitgelezen commando's moeten worden uitgevoerd door de processor BPU2 dan geeft de processor CPU1 een commando aan de processor BPU2 voor het uitvoeren van de desbetreffende instructie en voor het voorbereidten van de data. Vervolgens worden de uit het programmageheu-gen 3 gelézen instructies sequentieel afgegeven aan de processor BPU2 die nu het recht heeft gekregen de instructies uit te voeren. Dit type uit de stand der techniek bekende programmeerbare regelaar gebruikt een combinatie van de processoren CPU1 en BPU2, resulterend in een tamelijk lastige situatie wat betreft het ontwerp van de configuratie omdat de machinetaalinstructies die in het progranunageheugen 3 zijn opgeslagen tevoren tijdens het ontwerp van het systeem moeten worden toegewezen aan de respectievelijke processoren CPU1 en BPU2.
Anderzijds worden tegenwoordig vaak commando's gebruikt van het interpreter-type (interpretatieprogramma-instructies) die ontworpen zijn onafhankelijk van de machinetaalinstructies die intrinsiek zijn voor de processor CPU1, en deze interpretertype instructies worden ook opgeslagen in het progranunageheugen 3.
Een apparaat dat gebruik maakt van de interpretertype instructies is in staat om vrij instructies in te stellen die uitgevoerd moeten worden door de processor BPU2 naast instructies die uitgevoerd moeten worden door de processor CPU1. Het is niet noodzakelijk om de instructies al in het ontwerpstadium van de processor CPU1 toe te wijzen aan de CPU1 resp. aan de BPU2. De processor CPU1 of BPU2 wordt gespecificeerd in overeenstemming met de inhoud van de instructies, die uitgelezen worden uit het programmageheugen 3 en het is derhalve mogelijk om de praktische werkingsgraad te verbeteren en de door de processor BPU2 uit te voeren commando's uit te breiden.
Als echter gebruik wordt gemaakt van zowel machinetaalcommando' s alsook van interpretertype commando's dan zal, als BPU2 in bedrijf is, de processor CPU1 achtereenvolgens programma-instructies lezen uit het progranunageheugen 3 en deze toevoeren aan de BPU2, hetgeen leidt tot een probleem van de tijdrovende overdracht van het programma.
Als de interpreterinstructies worden gebruikt dan moet de processor CPU1 de uitgelezen instructies interpreteren en de processor bepalen die de instructies moet uitvoeren. In het bijzonder in een inrichting waarin de processoren CPU1 en BPU2 veelvuldig moeten worden gewisseld ontstaan lange wachttijden.
De eerste doelstelling van de onderhavige uitvinding is de bovengenoemde problemen te vermijden en een programmeerbare regelaar te verschaffen die gemakkelijk kan wisselen tussen de processoren CPU en BPU en die het uit te voeren proces als geheel versnelt.
Volgens een kenmerk van de uitvinding wordt een programmeerbare regelaar verschaft die bestemd is om niet alleen de interne geometrie van de CPU te verbeteren maar ook de efficiency van de rekenkundige bewerkingen voor algemene doeleinden, de informatiebewerking, de regel-processen, de uitvoering van het basisprogramma samenhangend met communicatie met een computersysteem dat aan de hostzijde is aangesloten en de sequentiële uitvoering van het regelprogramma.
Volgens een ander kenmerk van de uitvinding wordt een programmeerbare regelaar verschaft die bestemd is om een zekere data-overdracht uit te voeren met hoge snelheid door de data-overdrachtsfuncties naar een groep van I/O kaarten, die aangesloten zijn op de CPU kaarten die signalen zenden naar lokale toepassingen en daarvan signalen ontvangen, te verbeteren.
Volgens een verder kenmerk van de uitvinding wordt een programmeerbare regelaar verschaft waarmee het creëren van een seguentiestuur-programma kan worden vereenvoudigd en waarmee bovendien bedrijfsonregel-matigheden in de programmeerbare regelaar zelf en onregelmatigheden in de voortgang van de sequentiestuurprogramma's kunnen worden gedetecteerd .
Andere doelstellingen en voordelen van de onderhavige uitvinding zullen duidelijk worden aan de hand van de beschrijving van de bijgaande tekeningen.
Figuur 1 is een blokschema ter illustratie van een uit de stand der techniek bekende programmeerbare regelaar.
Figuur 2 is een blokschema ter illustratie van een uitvoeringsvorm van een programmeerbare regelaar volgens de onderhavige uitvinding.
Figuur 3 is een diagram dat de inhoud toont van een programmage-heugen 3 aan de hand waarvan de werking van de inrichting uit figuur 2 zal worden verklaard.
Figuur 4 is een blokschema waarin een andere uitvoeringsvorm van de programmeerbare regelaar volgens de uitvinding is geïllustreerd.
De figuren 5a en 5b zijn diagrammen waarin de werking van de inrichting uit figuur 4 wordt verduidelijkt.
Figuur 6 is een blokschema ter illustratie van een inrichting waarin een gedeeltelijk gemodificeerde constructie volgens de uitvoeringsvorm van figuur 4 is toegepast.
De figuren 7a en 7b zijn diagrammen die de werking van de inrichting uit figuur 6 verduidelijken.
Figuur 8 is een blokschema van een andere uitvoeringsvorm van de programmeerbare regelaar volgens de uitvinding.
De figuren 9a en 9b zijn diagrammen die de inhouden tonen van de in figuur 8 aangegeven eerste en tweede prógrammageheugengebieden 31 en 32.
De figuren 10a en 10b zijn blokschema's die in combinatie een inrichting tonen waarin sommige componenten van de uitvoeringsvorm van figuur 8 zijn gemodificeerd.
Figuur 11 is een diagram ter illustratie van een processorkaart van de programmeerbare regelaar volgens de uitvinding en een geometrie van een I/O-kaart.
Figuur 12 is een diagram ter illustratie van een ladderprogramma aan de hand waarvan de werking van de programmeerbare regelaar volgens de uitvinding zal worden verklaard.
Figuur 13 is een hulpdiagram bestemd voor verklaring van de werking van de processoren CPU1 en BPU2 in de programmeerbare regelaar volgens de uitvinding.
Figuur 14 toont een aanzicht van een stelsel waarin de programmeerbare regelaar wordt toegepast.
Figuur 15 toont in een diagram de correlatie tussen het basispro^ ces en een sequentiëstuurproces binnen de programmeerbare regelaar volgens de uitvinding.
Figuur 16 toont in een stroomschema het geval waarin bewerkingsta-len ten behoeve van de programmeerbare regelaar volgens de uitvinding worden ingesteld vanuit een hostcömputer.
Figuur 17 toont in een conceptdiagram de werking van een standaard i/O-uitstuureenheid binnen de programmeerbare regelaar volgens de uitvinding.
Figuur 18 toont in een diagram de wijze waarop een procesdefini-tietabel in de standaard i/O-uitstuureenheid binnen de programmeerbare regelaar volgens de uitvinding wordt gecreëerd.
Figuur 19 toont een stroomschema van de I/O kaart toegangsprocedu-res door de standaard I/O uitstuureenheid binnen de programmeerbare regelaar volgens de uitvinding.
De figuren 20 en 21 zijn tijddiagrammen die elk een data-over-dracht illustreren tussen de I/O kaart en een CPU kaart van de programmeerbare regelaar volgens de uitvinding.
Figuur 22 toont schematisch de constructie van een abnormal!teit-registratiemodule die opgenomen is in de programmeerbare regelaar volgens de uitvinding.
Figuur 23 illustreert het geval waarin informatiedelen van de abnormaliteit-registratiemodule aangegeven in figuur 2 worden weergegeven op het beeldscherm van de hostcomputer.
Figuur 24 toont een laddercircuit waarbij een aantal commentaren zijn weergegeven gegenereerd door een programmeergereedschap.
Figuur 25 toont in de vorm van een blokschema het programmeergereedschap volgens de uitvinding en een functie voor het weergeven van commentaar corresponderend met stapnummers.
Figuur 26 toont in de vorm van een diagram een interfunctioneel commentaarbestand dat gerelateerd is aan figuur 25.
Figuur 27 toont een interfunctionele circuit/commentaar overeen-komsttabel die verband houdt met figuur 25.
Figuur 28 toont in een diagram de overgangen in de beeldscherm-weergave in het programmeergereedschap gebaseerd op de functie van figuur 25.
Figuur 29 toont in een stroomschema de bewerkingsroutine van de programmeerbare regelaar volgens de uitvinding.
Figuur 30 toont in een schema de functionele blokken op het tijdstip van de laddercircuitprogrammering in de programmeerbare regelaar volgens de uitvinding.
Figuur 31 toont in een diagram de creatie van een laddercircuit.
Figuur 32 toont in een diagram de relaties tussen de signaalnamen van het laddercircuit en de adressen.
Figuur 33 toont in een diagram de toewijzingen van gedetailleerde adressen aan de signaalnamen van het laddercircuit volgens figuur 32.
De figuren 34a tot en met 34c tonen elk in diagramvorm een lad-derprogramma dat per blok is gecreëerd.
Figuur 35 vertegenwoordigt in een diagram het geval waarin een reeks van sequentiestuurprogramma's wordt uitgevoerd door verschillende programmeerbare regelaars.
Figuur 36 toont in de vorm van een diagram een voorbeeld van een basisprogramma voor het besturen van het systeem uit figuur 35.
Gekeken wordt nu naar figuur 2 waarin een blokschema is geïllustreerd van een uitvoeringsvorm van een programmeerbare regelaar volgens de onderhavige uitvinding.
Een karakteristiek configuratiekenmerk van deze uitvoeringsvorm is dat er signalen kunnen worden overgedragen tussen de processoren CPU1 en BPU2 door middel van een stuurleiding L die los staat van de informatie-bus b. De processoren CPU1 en BPU2 berichten elkaar omtrent startsig-nalen en uitleesadressen van een programmageheugen 3 door gebruik te maken van de stuurleiding L.
Opgemerkt wordt dat het programmageheugen 3 dienst doet voor het opbergen van basissequentie-instructies voor de processor BPU2 alsook voor het opbergen van de bovengenoemde interpretertype instructies. Meer in het bijzonder is het sequentiestuurprogramma opgebouwd uit seguen-tiebasisinstructies die worden gebruikt voor 1-bit rekenkundige operaties en die geschreven zijn in een machinetaal en sequentietoepassings-instructies die worden gebruikt voor een vergelijking tussen numerieke waarden en bewerkte data en die geschreven zijn in een interpreter-format, waarbij het sequentiestuurprogramma in overeenstemming met de sequentie is opgeslagen in het programmageheugen 3.
De beschrijving zal in het volgende in meer detail worden gericht op de werking van een dergelijke inrichting waarbij wordt verwezen naar een blokschema van figuur 3 waarin de inwendige geometrie van het programmageheugen 3 is geïllustreerd.
De toepassingsinstructies 1 tot en met 4 in figuur 3 kunnen worden begrepen als instructies (interpretertype instructies) voor de processor CPU1 terwijl de basisinstructies 1 tot en met 4 kunnen worden gedefinieerd als instructies (in machinetaal) voor de processor BPU2.
De toepassingsinstructies 1 en 2 worden door de processor CPU1 sequentieel uitgelezen uit het programma 3 in de volgorde die door de pijl A wordt aangegeven. De processor CPU1 interpreteert deze instructies en voert ze uit.
Vervolgens leest CPU1 de basisinstructie 1 (pijl B) uit het adres X1 en interpreteert deze instructie. De instructie wordt beoordeeld als een instructie die bestemd is voor de BPU2 en de processor CPU1 zendt nu hét adres X1 van de basisinstructie 1 in het programmageheugen 3 naar de BPU2 via de stuurleiding L terwijl tegelijkertijd de processor BPU2 wordt opgestart.
Als resultaat daarvan krijgt de BPU2 het gebruiksrecht van de informatiebus b en voert vervolgens, zoals aangegeven is met de pijl C, de basisinstructies 1 tot en met 4 uit beginnend bij het adres X1 van het programmageheugen 3 dat van de CPU1 werd ontvangen.
Gedurende deze periode ontvangt de BPU2 niet, zoals in het geval van de inrichting uit de stand der techniek, de basisinstructies via de CPU1 maar leest zelf de basisinstructies 1 tot en met 4 direct uit het programmageheugen 3.
De basisinstructies zijn intrinsiek voor de processor BPU2 en tijdens de uitvoering ervan heeft de processor BPU2 geen invloed op de interpretatie.
Vervolgens leest de processor BPU2 de toepassmgsmstructie 3 van het adres X2 en oordeelt dat deze instructie uitgevoerd moet worden door de CPU1 (pijl D). De processor BPU2 zendt nu op zijn beurt aan de CPU1 via de stuurleiding L het adres X2 van de toepassingsinstructie 3 in het programmageheugen 3 waardoor de CPU wordt opgestart. Als gevolg daarvan krijgt de CPU1 het recht van gebruik van de informatiebus b en begint met het uitlezen van het programmageheugen 3 op het adres X2 en voert de instructies uit (pijl E).
De processoren CPU1 en BPU2 zenden en ontvangen derhalve de start-signalen en de adressen van het programmageheugen 3 via de stuurleiding L en wisselen daarbij van bedrijf. In het bijzonder leest de BPU2 de instructies niet via de CPU1 maar leest de instructies direct uit het programmageheugen 3 waardoor een overeenkomstige snelle verwerking mogelijk wordt.
Zoals in het bovenstaande is aangegeven heeft de processor BPU2 geen interpretatie-operatie nodig bij het uitvoeren van de basisinstructies en de daarvoor benodigde tijd kan derhalve worden bespaard.
Figuur 4 toont een andere uitvoeringsvorm van de programmeerbare regelaar volgens de uitvinding. In deze uitvoeringvorm is de CPU1 via een eerste informatiebus b1 verbonden met BPU2 die op zijn beurt via een tweede informatiebus b2 verbonden is met het programmageheugen 3.
De processor BPU2 omvat een programma-instructie-ontvangstschake-ling 21 die enerzijds via de informatiebus b2 verbonden is met het programmageheugen 3, een programmainstructie-uitleesschakeling 22 die enerzijds verbonden is via de informatiebus b1 met de CPU1 en verder een pseudoinstructie-generatorschakeling 23 voor het vasthouden van een psuedoinstructie die ten aanzien van de CPU1 "geen instructie-uitvoe-ring" vertegenwoordigt. De programmainstructie-uitleesschakeling 22 omvat verder een wisselschakeling 24 voor het selecteren van de program-mainstructie-ontvangstschakeling 21 of de pseudoinstructie-generator-schakeling 23.
Op soortgelijke wijze als in de uitvoeringsvorm van figuur 2 bevat het programmageheugen 3 ook in deze uitvoeringsvorm interpreter-type instructies en BPU2 basisinstructies. De werking van de op deze wijze geconstrueerde inrichting volgens de uitvinding zal in het volgende worden verklaard met verwijzing naar de figuren 5a en 5b.
Figuur 5a illustreert een geval waarin de CPU1 instructies uitvoert. De processor BPU2 oordeelt dat de instructie 1, gelezen van een adres Y1, bestemd is voor de CPU1 en schakelt de wisselschakeling 24 om naar de programmainstructie-ontvangstschakeling 21 binnen de daartoe bestemde processor 2. De uitgelezen instructie 1 wordt nu via de pro-grammainstructie-uitleesschakeling 22 binnen de BPU2 overgedragen naar de processor CPU1 die op zijn beurt begint met het uitvoeren van deze instructie. Opgemerkt wordt dat de uitleesadressen van het programmage-heugen 3 worden gegenereerd door de BPU2 zelfs in perioden waarin de CPU1 werkzaam is.
Figuur 5b toont het geval waarin de BPU2 de instructies uitvoert. De processor BPU2 oordeelt dat de instructie 2, gelezen vanaf een adres Y, door de processor zelf moet worden verwerkt, en met behulp van de wisselschakeling 24 wordt nu de pseudoinstructié-schakeling 23 verbonden met de programmainstructie-uitleesschakeling 22. In deze opstelling leest de BPU2 de instructie vanuit het programmageheugen 3 in overeenstemming met het uitleesadres dat de processor zelf heeft gegenereerd en voert vervolgens de instructie uit terwijl de CPU1 niets doet in overeenstemming met een pseudoinstructie N die "geen instructie-uitvoering" vertegenwoordigt en die afgegeven wordt door de BPU2.
Op deze wijze worden de instructies die uitgelezen worden uit het programmageheugen 3 zonder mankeren verdeeld tussen de GPUl en de BPU2 waarbij een soepele omschakeling plaats vindt tussen de CPU1 en de BPU2 zonder dat er tijd verloren gaat.
In het voorbeeld van figuur 4 bevindt de processor BPU2 zich midden tussen de CPU1 en het programmageheugen 3. In een andere configuratie die daarmee equivalent is bevindt de CPU1 zich echter in het midden waarbij in de CPU1 schakelingen zijn aangebracht die corresponderen met de prógrammainstructie-ontvangstschakeling 21, de programma-instructie-uitleesschakeling 22, de pseudoinstructie-generatorschakeling 23 en de wisselschakeling 24.
In dit voorbeeld doet de tussengeschakelde processor dienst voor het genereren van adressen voor het adresseren van het programmageheugen 3. Zelfs na het omschakelen van de processor die de instructie moet uitvoeren wordt derhalve constant een situatie met programmavoortgang bereikt door de middelste processor en het is derhalve mogelijk om afzonderlijke perioden voor het uitzenden en ontvangen van adressen voor het programmageheugen 3 te elimineren.
In figuur 6 is een configuratie geïllustreerd waarin adressen, gegenereerd door de CPU1, kunnen worden toegezonden aan het programmageheugen 3 in de uitvoeringsvorm van figuur 4.
In dit voorbeeld omvat de processor BPU2 een adresleesschakeling 25 voor het ontvangen van adressen, gegenereerd door de CPU1 op de informatiebus b1, een adresoverdrachtschakeling 26 voor het afgeven van de uitleesadressen aan het programmageheugen 3 via de informatiebus b2 en een wisselschakeling 27. De wisselschakeling 27 doet dienst voor het verbinden van de adresoverdrachtschakeling 26 met de adresleesschakeling 25 of met een adresgeneratorschakeling 28 die aanwezig is binnen de speciale processor 2.
De werking van deze uitvoeringsvorm zal in het volgende worden beschreven met verwijzing naar de figuren 7a en 7b.
Figuur 7a illustreert een geval waarin de CPU1 de instructies uitvoert. De wisselschakeling 24, die aanwezig is in de BPU2, is verbonden met de programmainstructie-ontvangstschakeling 21 terwijl de wisel-schakeling 27 verbonden is met de adresleesschakeling 25. Een adres Z1, gegenereerd in de CPU1, wordt overgedragen via de BPU2 naar het programmageheugen 3 en de daarmee corresponderende instructie 1 passeert de BPU2 en wordt doorgegeven aan CPU1.
Figuur 7b toont het geval waarin de BPU2 de instructies uitvoert. De wisselschakeling 24, opgenomen in de BPU2, is verbonden met de pseu-doinstructie-generatorschakeling 23 terwijl de wisselschakeling 27 verbonden is met de adresgeneratorschakeling 28. De processor BPU2 leest de instructie 2 uit in overeenstemming met een intern gegenereerd adres Y3 en voert de instructie uit, terwijl de CPU1 niets doet na het lezen van een pseudoinstructie N afkomstig van BPU2.
De als voorbeeld getoonde configuratie in figuur 6 maakt een willekeurig adres van het programmageheugen 3 toegankelijk voor de CPU1 en heeft ook voordelen voor het uitvoeren van een spronginstructie of iets dergelijks.
In de uitvoeringsvorm getoond in figuur 4 of figuur 6 werken de processoren CPU1 en BPU2 dus afwisselend in overeenstemming met de instructies die worden gelezen uit het programmageheugen 3. In het bijzonder leest de BPU2 de instructies direct uit het programmageheugen 3 en derhalve is een corresponderende verwerking met hoge snelheid uitvoerbaar.
Omdat de basisinstructies gedefinieerd kunnen worden als die instructies die intrinsiek zijn voor de BPU2 is er geen noodzaak tot interpretatie bij uitvoering van een instructie door de BPU2 en het is derhalve mogelijk om de daarvoor benodigde periode te elimineren.
In figuur 8 is een andere uitvoeringsvorm van een programmeerbare stuureenheid volgens de uitvinding geïllustreerd. In deze uitvoeringsvorm is de CPU1 verbonden via de informatiebus b1 met een eerste pro-grammageheugengebied 31 waarin alleen applicatie-instructies zijn opgeslagen. Een tweede programmageheugengebied 32, waarin alleen basisin structies zijn opgeslagen, is via de informatiebus b2 verbonden met de BPÜ2. Een eerste uitgangspoort 41 is verbonden met de informatiebus b1 terwijl een tweede uitgangspoort 42 verbonden is met de informatiebus b2. De uitgangen van de uitgangspoorten 41 en 42 zijn verbonden met een signaalsynthese-eenheid 43 die op zijn beurt instructies afgeeft voor het initiëren of stoppen van de werking van CPU1 en BPU2.
De figuren 9a en 9b tonen de inhouden van de programmageheugen-gebieden 31 en 32. Het programmageheugengebied 31 is bestemd voor het opslaan van de applicatie-instructies 1 tot en met 5 en een applicatie-instructie OUT die bestemd is om de werking van BPU2 te initiëren, terwijl het programmageheugen 32 bestemd is om basisinstructies 1 tot en met 4 op te slaan en de basisinstructie OUT die bestemd is om de werking van CPU1 te initiëren.
De beschrijving zal vervolgens worden gericht op de werking van deze uitvoeringsvorm. Om te beginnen wordt verondersteld dat de CPU1 in bedrijf is. Daarbij geeft de signaalsynthese-eenheid 43 een bedrijfsin-structie af aan de CPU1 terwijl aan de BPU2 een instructie wordt gegeven om de werking ervan te blokkeren. De processor CPU! leest sequentieel de applicatie-instructies 1 en 2 uit het programmageheugen 3 en voert deze instructies uit. Vervolgens leest de CPU1 de applicatie-instructie OUT die bestemd is om een bedrijfsinstructie af te geven aan de BPU2 en zendt deze instructie naar de uitgangspoort 41.
De signaalsynthese-eenheid 43 leest de uitgang van de uitgangspoort 41 en herkent de applicatie-instructie OUT. In responsie daarop ontvangt de CPU1 een instructie voor het stoppen van zijn werking terwijl een bedrijfstartinstructie wordt gegeven aan de BPU2.
Als resultaat daarvan start de BPU2 zijn werking en na het uitlezen van basisinstructie 1 uit het programmageheugengebied 32 wordt deze instructie uitgevoerd. De basisinstructie 2 wordt uitgevoerd en de basisinstructie OUT wordt uitgelezen. De basisinstructie OUT wordt overgedragen naar de uitgangspoort 42.
De signaalsynthese-eenheid 43 leest de uitgang van de uitgangspoort 42 en herkent de basisinstructie OUT. De signaalsynthese-eenheid 43 geeft een bedrijfstopinstructie aan de BPU2 en een bedrijfstartinstructie aan de CPU1. Als gevolg daarvan begint de CPU1 weer te werken.
Op deze wijze wordt vloeiend gewisseld tussen de CPU1 en de BPU2 door middel van de signaalsynthese-eenheid 43.
De figuren 10a en 10b tonen in combinatie een voorbeeld, in hoofdzaak gelijk aan het uitvoeringsvoorbeeld van figuur 8, waarin de uitgangspoorten 41 en 42 en de signaalsynthese-eenheid 43 allemaal verbon- den zijn met een informatiebus b.
In dit uitvoeringsvoorbeeld is de configuratie van het program-mageheugen 3, aangegeven in figuur 10b, zodanig dat tevoren een gebied A1 is afgebakend voor het opslaan van alleen applicatie-instructies alsmede een gebied A2 voor het opslaan van alleen basisinstructies.
De werking van deze uitvoeringsvorm is als geheel dezelfde als die van het uitvoeringsvoorbeeld dat getoond is in figuur 8. Op de bovenbeschreven wijze werken de processoren CPU1 en BPU2 afwisselend in overeenstemming met de instructies die voor de uitvoeringsvorm volgens figuur 8 uitgelezen worden uit de programmageheugengebieden 31 en 32 of voor de uitvoeringsvorm volgens figuur 10 uitgelezen worden uit de programmageheugengebieden A1 en A2. In het bijzonder worden instructies met een speciale functie direct uitgelezen door de BPU2 waardoor een hoge verwerkingssnelheid mogelijk wordt. Omdat de basisinstructies zijn geklassificeerd als die instructies die intrinsiek zijn voor de BPU2 is er geen interpretatie van nodig als ze door de BPU2 worden uitgevoerd en derhalve kan de daarvoor benodigde periode worden geëlimineerd.
In overeenstemming met de bovenbeschreven uitvinding illustreert figuur 11 nu een voorbeeld waarin de programmeerbare stuureenheid werkelijk is uitgevoerd gebruikmakend van alle genoemde schakelingen. In figuur 11 zijn de CPU1, BPU2 en het programmageheugen 3 verbonden met de informatiebus b op een CPU-kaart 100. Meer in het bijzonder is de CPU1 een microprocessor, bijvoorbeeld een MC68000 of iets dergelijks, voor het besturen van de CPU-kaart 100 als geheel. De microprocessor CPU1 is parallel geplaatst met de BPU2 en verbonden met de informatiebus b voor het uitvoeren van een sequentiebasisinstructie (een 1-bit verwerkingsin-structie). De CPU poortarray 5 is een eenheid voor uitgang besturende van tijdbepalende signalen zodanig dat de CPU1 in staat wordt gesteld om de instructies uit te voeren met een hoog rendement.
De BPU2 is geconstrueerd als een poortarray voor het met hoge snelheid verwerken van de sequentiebasisinstructie, gevormd als een 1 bit instructie. De BPU2 is via een (niet geïllustreerde) instructiebus direct verbonden met het programmageheugen (RAM 128 kB) voor het opslaan van een sequentiestuurprogramma zoals een ladderprogramma of dergelijke.
Opgemerkt wordt dat de informatiebus b voorzien is van een adres-bus, een databus en een stuurbus.
Een reeks van door de CPU1 voor het besturen van de gehele kaart uit te voeren instructies is opgeslagen in een ROM 6 (256 kB). Een datageheugen 7 (RAM 64 kB) vormt het werkgebied voor de CPU1 waarin een basisprogramma, dat nog nader zal worden beschreven, is opgeslagen.
Een I/O interface (I/F) 8 is verbonden met een I/O bus bb die verbonden is met de I/O kaarten C1 en C2. Het aantal I/O kaarten kan groter zijn afhankelijk van de systeemconfiguratie ook al zijn er in de figuur slechts twee kaarten getoond.
Een in echte tijd werkende klokpuls generatoreenheid 9, een com-municatiebuffer 10 (RAM 32 kB) die gebruikt wordt voor communicatie en een host-interface 11 die verbonden is met de communicatiebuffer 10 en dienst doet als interface naar een hostbus B zijn aangesloten op de communicatiebus b. Ook is een RS232C poort 12 aanwezig voor communicatie met een programmeergereedschap.
Een aantal i/O-kaarten van twee typen, d.w.z. een i/O-kaart C1 van het algemene register/interfacetype en een I/O-kaart C2 van het instructie/ interfacetype waarin een microprocessor is ondergebracht voor het uitvoeren van communicatie door overdracht van instructies naar en het ontvangen ervan van een programmeerbare host zijn verbonden met de I/O-bus bb.
De l/0-kaart C1 van het register/interface-type, voorzien van de microprocessor, is in hoofdzaak opgebouwd uit een interface c11 naar de bus bb en een interface c12 voor contact met de buitenwereld. De 1/0-kaart C2 bestaat uit een interface c21 naar de bus bb, een microprocessor c22 (bijvoorbeeld een 8-bit CPU) een datageheugen C23 (bijvoorbeeld RAM 8kB) en een interface C24 naar de buitenwereld.
De kenmerken van de CPU-kaart 100 zullen in het volgende nader worden besproken.
In termen van zijn geometrie is het kenmerkend dat de BPU2 een directe toegang heeft tot het programmageheugen 3 niet via de infor-matiebus 2 maar via de (niet getoonde) instructiebus. De functies van de CPU-kaart 100 zullen met verwijzing naar de figuren 12 en 13 worden beschreven.
Figuur 12 illustreert een ladderprogramma als voorbeeld van een sequentiestuurprogramma. Figuur 13 toont een reeks van programma-in-structies corresponderend met het ladderprogramma.
Bij het begin van de sequentiesturing wordt de BPU2 door CPU1 geactueerd en deze leest op zijn beurt een reeks van programma's uit het programmageheugen 3 en initieert de verwerking te beginnen met een laad-instructie "LD", welke instructie is gedefinieerd als een sequentieba-sisinstructie.
Na dit proces voert de BPU2 een AND-instructie, een OR-instructie, een OUT-instructie en een LD-instructie uit. Als de uitgelezen program-na-instructies vallen onder de applicatie-instructie (1) die door de CPU1 moet worden uitgevoerd dan neemt de CPU1 het instructie-uitvoe-ringsrecht over met inbegrip van het recht om de adresbus en de databus van de BPU2 te bezetten. Daaruit volgt dat de apllicatie-instructie (1) wordt uitgevoerd door de CPU1. Bij voltooiing van de verwerking van de applicatie-instructie (1) informeert de CPU1 de BPU2 omtrent de voltooiing ervan en de BPU2 leest de volgende instructie. Als de volgende applicatie-instructie (2) door de CPU1 moet worden uitgevoerd dan geeft de BPU2 opnieuw het uitvoeringsrecht over aan de CPU1.
De programma-instructie die als volgende door de BPU2 wordt gelezen is de laadinstructie "LD" en de BPU2 voert deze instructie zelf uit.
Zoals in het bovenstaande is besproken leest de BPU2, die de sequentiebasisinstructies uitvoert, onveranderlijk een reeks van pro-gramma-instructies. Als de uitgelezen instructie is geklassificeerd als een sequentie-applicatie-instructie die door de CPU1 moet worden uitgevoerd dan neemt van daaraf de CPU1 het uitvoeringsrecht over. In dit geval bestaat er een grote meerderheid van sequentiebasisinstructies in de reeks van programma-instructies en derhalve neemt de verwerkingssnelheid door de BPU2 toe. Na het uitvoeren van de instructies zendt de CPU 1 alleen een beëindigingsboodschap aan de BPU2.
Als de door de BPU2 gelezen programma-instructies een foutieve instructie is die niet gedefinieerd is in het systeem dan is de BPU2 vooringesteld om aan de CPU1 een pseudoinstructie te leveren corresponderend met het format van een foutieve instructie. Deze pseudo instructie wordt ingesteld met de bedoeling om geen negatieve invloed uit te oefenen op het systeem door de CPU1 een op zich foutieve instructie te laten uitvoeren.
Als de CPU1 start met het uitvoeren van het sequentiestuurproces op deze wijze dan leest de BPU1 de programmainstructie uit het program-mageheugen 3 en start met het uitvoeren van de instructie. Daarna leest de BPU2 de programma-instructie direct uit het programmageheugen 3 en er is derhalve geen noodzaak voor de CPU1 om de programma-instructies een voor een uit te lezen en het uitvoeringsrecht op te eisen.
Verwezen wordt nu naar figuur 14 waarin een voorbeeld is getoond waarin de programmeerbare besturingseenheid voorzien van de CPU-kaart 100 en een aantal i/O-kaarten is toegepast op het terrein van de fa-brieksautomatisering.
In het in figuur 14 getoonde stelsel bestuurt een programmeerbare regelaar U2 een systeem S1 voor het mechanisch bewerken van onderdelen, terwijl een programmeerbare regelaar U2 een besturing uitvoert door het invoeren en uitvoeren van signalen van en naar een systeem S2 waarmee mechanische onderdelen worden geassembleerd. De programmeerbare regelaars Μ en U2 communiceren via een bus B met een desk top computer DTC die voorzien is van een printer P waarmee de operateur informaties krijgt omtrent de systeemtoestand. Er wordt op gewezen dat de desk top computer DTC eventueel kan worden bewaakt door een hostcomputer MC van gemiddelde of grotere capaciteit via een communicatielijn A.
Meer in het bijzonder voeren de programmeerbare regelaars U1 en U2 seguentiestuuroperaties uit zoals een contact-I/O-proces, motoraan-drijf/stop-processen, onderdeel-positioneringsprocessen en lamp-ont-steek/uitdoofprocessen binnen de systemen S1 en S2.
Voor een nadere verklaring zal nu de programmeerbare regelaar 01 nader worden bekeken. De programmeerbare regelaar 01 omvat de CPü-kaart 100 die in figuur 11 is aangegeven en de l/O-kaarten C1 en C2 die gepositioneerd zijn in binnen de eenheid aanwezige insteeksleuven, waarbij de regelaar U1 als geheel verbonden is met een bus (de i/O-bus bb). Verdere componenten zijn een voedingsspanningskaart PS Voor het toevoeren van elektrisch vermogen en een uitbreidingskaart EX die deelneemt in de communicatie met de andere programmeerbare regelaar 02.
üitgaande van deze constructie wordt nu een sequentiestuurprogram-ma dat bestemd is voor het besturen van het systeem S1 waarmee mechanische componenten worden bewerkt, geïncorporeerd in de CPü-kaart 100 van de programmeerbare regelaar 01, waarbij een sequentiele rekenkundige operatie wordt uitgevoerd op basis van de informatie afkomstig van de l/0/kaart. Stuursignalen worden overgedragen via de i/O-kaart naar het systeem S1 voor het bewerken van de mechanische onderdelen, waardoor een gewenste sequentiele bedrijfsvoering wordt verkregen.
Het bovenbeschreven sequentiestuurprogramma wordt overgedragen vanaf een gereedschap waarmee het programma wordt opgebouwd. In dit voorbeeld wordt een ladderprogramma overgedragen naar de CPü-kaart 100 in een geredigeerd formaat samengesteld via het beeldscherm van de desk top computer DTC.
De programmeerbare regelaar 02 heeft in hoofdzaak dezelfde constructie en werkt óp dezelfde wijze als de programmeerbare regelaar 01.
In het volgende zullen de programmaverwerking in de CPü-kaart 100 en de verwerking aan de zijde van de l/0-kaart in meer detail worden besproken.
De CPU1 voert enerzijds de sequentiebesturing uit en voert tegelijkertijd zeer kenmerkende operaties uit zoals communicatie van meervoudige data met een hostcomputer, rekenkundige operaties voor algemene doeleinden, informatieverwerking en besturingsoperaties. Daartoe dient een basisprogramma dat gecreëerd is gebruikmakend van een basistaal. De beschrijving zal zich in het volgende bezig houden met de correlatie tussen de uitvoering van het basisprogramma en de uitvoering van het sequentieregelprogramma.
In figuur 15 is een conceptueel schema geïllustreerd dat de parallelle verwerking laat zien van een sequentiestuurproces SQ en een basisproces BAS. Het seqentiestuurproces SQ heeft de bedoeling een reeks van programma-instructies als getoond in de figuren 12 en 13 uit te voeren terwijl het basisproces BAS geassocieerd is met een data-uitleesprogram-ma dat, zoals al eerder werd opgemerkt, arbitrair wordt opgesteld door de gebruiker of met een basisprogramma zoals een communicatieprogramma. Een uitvoeringsrechtwisseleenheid ES, een tijdbepalingseenheid T en een taakregelaar TS hebben functies die met behulp van software binnen de CPü-kaart 100 worden ingesteld. De taakregelaar TS heeft als functie het vaststellen van de prioriteit voor de instructie-uitvoering met betrekking tot diverse processen in het basisprogramma. Deze functie heeft echter niet direct te maken met het functioneren van het stelsel volgens de onderhavige uitvinding. Opgemerkt wordt dat in het algemeen enkele honderden of zelfs enkele duizenden sequentiestuurprogrammareeksen kunnen worden verschaft en dat de uitvoeringstijd van een cyclus enkele tientallen ms of enkele honderden ms kan bedragen hetgeen sterk verschilt afhankelijk van de configuratie van het te besturen systeem.
Verondersteld wordt nu dat in het systeem de tijdbepalende eenheid T is vooringesteld op 10 ms. De eerste stap van het sequentiestuurproces SQ is het uitvoeren van een laadinstructie "LD". Vervolgens gaat het proces verder met een EN-instructie AND, een OF-instructie OR en een uitgangsinstructie OUT, op welk moment de 10 ms voorbij zijn. Verondersteld wordt dat vervolgens een tijdsperiode-eindsignaal als interrup-tiesignaal wordt overgedragen vanaf de tijdsbepalende eenheid T naar de uitvoeringsrechtwisselschakeling ES. De CPU1 voert dit interruptiesig-naal in en op dat moment blijft het uitvoeringsrecht nog steeds bij de BPU2. Als resultaat daarvan is de CPU1 dus niet in staat om deze tijdsperiode einde-interruptie te ontvangen.
Het sequentiestuurproces gaat verder en de BPU2 voert de laadinstructie "LD" uit. De CPU1 ontvangt geen 10 ms tijdsperiode-einde-inter-ruptiesignaal totdat het uitvoeringrecht is overgedragen aan de CPU1 en de verwerking van de applicatie-instructie (1) is gestart. De uitvoe-ringsrechtwisselschakeling ES verandert derhalve het proces van het sequentieproces SQ naar het basisproces BAS, dat uitgevoerd moet worden a a « a « . » m door de CPU1 met als resultaat dat de CPU1 start met het verwerken van het basisprogramma BAS in overeenstemming met de taakregelaar TS. Op dat moment wordt de uitvoering van het sequentiestuurproces SQ gestopt.
Daarna wordt de tijdbepalende eenheid T in een tijdsperiode-einde-toestand gebracht en wordt het 10 ms interruptiesignaal gegenereerd. Op dat moment zorgt de uitvoeringsrechtwisselschakeling ES er in de CPU1 voor dat de momentane basisvoortgangssituatie tijdelijk wordt opgeslagen in een datageheugen (7 in figuur 11) en vervolgens wordt de werking van het sequentiestuurproces SQ, dat gestopt was, voortgezet.
Als het sequentiestuurproces SQ wordt voltooid dan stuurt het sequentiestuurproces SQ een voltooiingsboodschap naar de uitvoerings-rechtwisselschakeling ES los van het tijdsperiode-eindesignaal van 10 ms en de CPU1 initieert het basisproces BAS.
Zoals in het bovenstaande is besproken wordt de operatie uitgevoerd door de wisseling tussen het sequentieregelproces SQ en het basisproces BAS telkens per 10 ms, met als resultaat dat het sequentieregelproces SQ en het basisproces BAS voor de buitenwereld als het ware gelijktijdig worden uitgevoerd. Multiprocessing is derhalve uitvoerbaar.
Opgemerkt wordt dat de tijdsduur die ingesteld is in de tijdbepalende eenheid T niet beperkt is tot 10 ms maar arbitrair kan worden ingesteld afhankelijk van de systeemconfiguratie.
Anderzijds behoeven niet alle systeemconstructies een parallelle verwerking van het sequentiestuurproces en van het basisproces. In sommige gevallen is ofwel het sequentiestuurproces danwel het basisproces niet nodig afhankelijk van modificaties van het systeem. In dergelijke gevallen kan de CPU-kaart 100 tevoren worden voorzien van een programma dat zich gedraagt als geïlluystreerd in het stroomschema van figuur 16 waarbij de volgende maatregelen zijn getroffen.
Na het inschakélen van de voeding wordt een zelfdiagnose-operatie uitgevoerd onafhankelijk van het feit of er al dan niet een beschikbare procestaai is gedesigneerd door de host. Als de beschikbare taal een sequentietaal is dan wordt een systeemtabel, nodig voor het uitvoeren van de sequentietaal, gecreëerd in het datageheugen 7. Als de basistaal is aangewezen dan wordt een systeemtabel, nodig voor het verwerking van de basistaal, gecreëerd in het datageheugen 7. Als zowel de sequentietaal als de basistaal zijn gedesigneerd dan worden systeemtabellen nodig voor de verwerking van zowel de sequentietaal als de basistaal gecreëerd in het datageheugen 7. Op deze wijze wordt dus het programma ingesteld voor het creëren van de systeemtabellen corresponderend met de gedesig-neerde talen, hetgeen de designatie van procestalen vanuit een hostconn puter, zoals bijvoorbeeld de desk top computer vergemakkelijkt.
In het volgende zal met verwijzing naar figuur 17 verder worden uitgegaan van een standaard i/O-uitstuureenheid in de CPU-kaart 100 waarmee diverse typen i/O-kaarten kunnen worden aangestuurd. Een operating system OS in de CPU-kaart 100 ontvangt een toegangsverzoek a1 voor de l/0-kaart vanaf een gebruiksprogramma UP zoals een basisprogramma, ingesteld in de CPU-kaart 100, of een interruptieverzoek a2 van de I/O-kaart naar de CPU-kaart 100. Het toegangsverzoek a1 van het gebruikers-programma UP initieert het opstarten van een i/O-verzoekontvangststap (1) terwijl een interruptieverzoek a2 naar de CPU-kaart 100 het opstarten van een interruptieverzoekontvangststap (2) initieert.
De standaard i/O-uitstuureenheid SD genereert in overeenstemming met de onderhavige uitvinding procesdefinitietabellen TBL1, TBL2,...
TBLn gerelateerd aan de individuele i/O-kaarten die aanwezig zijn in de respectievelijke kaartsleuven bij het opstarten van het systeem. Als het I/O verzoekontvangstproces (1) of het interruptieverzoek-ontvangstproces (2) worden gegenereerd dan begint de voorbereiding daarvan met het refereren aan de procesdefinitietabellen TBL.
Bij initiatie van het proces wordt beoordeeld of de aangesproken l/0-kaart geklassificeerd is als een register/interface-type of een instructie/interface-type en vervolgens wordt het hoofdproces daarvan uitgevoerd. De inhouden van het hoofdproces voor het register/interface-type en voor het instructie/interface-type zijn identiek met die van conventionele processen. De i/O-kaart van het register/interface-type kan worden aangeduid als een gewone I/O-kaart C1 zoals aangegeven in figuur 11. De I/O-kaart van het instructie/interface-type kan worden aangeduid als een l/0-kaart die, zoals geïllustreerd is in figuur 11a, voorzien is van een microprocessor voor het uitzenden en ontvangen van instructies.
Operaties die gemeenschappelijk zijn voor het i/O-verzoekontvangs-tproces (1) en het interruptieverzoekontvangstproces (2) zijn vooringesteld als gemeenschappelijke procesroutine die uitgevoerd moet worden ongeacht het type van de interface van de I/O-kaart gedurende de uitvoering van het gemeenschappelijke proces. Daarnaast is een speciale procesroutine voorbereid en ingesteld voor de l/0-kaart die een van het standaardproces afwijkend proces vergt. Bij het opstarten wordt de speciale procesroutine gebruikt in combinatie met de standaard I/O uitstuureenheid SD door een laadproces uit te voeren vanaf de I/O kaart. Een adres van een dergelijke speciale procesroutine wordt ingesteld in de procesdefinitietabel TBL bij het opstarten van het systeem.
Een manier voor het genereren van procesdefinitietabellen TBL zal in het volgende worden verklaard met verwijzing naar figuur 18.
Als het eerste I/O verzoekontvangstproces van de CPU-kaart 100 wordt uitgevoerd dan worden de procesdefinitietabellen TBL gegenereerd voor de respectievelijke I/O-kaarten door het uitlezen van verschillende soorten informatie en kaart-identificatiegegevens van de I/O-kaarten.
Allereerst wordt het aantal kanalen (het aantal poorten) en het al dan niet nodig zijn van uitgangsoperaties ingesteld als parameters binnen de meervoudige informatie omtrent de l/O-kaarten. Als de betreffende l/0-kaart is geklassificeerd als een instructie/interfacetype, dan worden de adressen van de respectievelijke instructiesregisters ingesteld in de tabellen en vervolgens worden de adressen van de respectievelijke buffers ingesteld in de tabellen. Als het speciale proces nodig is dan wordt een speciaal procesroutine-adres ingesteld in de tabel.
Als de I/O-kaart is geklassificeerd als een register/interface-type dan worden respectievelijke registeradressen ingesteld in de tabel. Tenslotte worden vlaggen waarin de tabellen al zijn gecreëerd ingeschakeld om een aantal verzoekprocessen uit te voeren.
De bovengenoemde operaties worden uitgevoerd met betrekking tot de respectievelijke I/O-kaarten die binnen het systeem aanwezig zijn waardoor de procesdefinitietabellen TBL worden ingesteld in de standaard I/O uitstuureenheid SD.
Als voorbeeld zal in het volgende de toegang worden besproken tot de standaard l/O-uitstuureenheid SD die voorzien is van de procesdefinitietabellen TBL in overeenstemming met het stroomschema van figuur 19.
Bij initiatie van een toegangspoging, dat wil zeggen bij een voorbereiding voor data-overdracht, verwijst de standaard i/O-uitstuur-eenheid SD van de CPU-kaart 100 naar de procesdefinitietabel TBL van de betreffende I/O-kaart, controleert het aantal kanalen, (het aantal poorten) van de betreffende ï/O-kaart en de aanwezigheid of niet aanwezigheid van een uitgang en identificeert verder het type van de interface.
Bij klassificatie als een instructie/interface-type wordt een data-conversie uitgevoerd door het ophalen van een uitgangsbufferadres met verdere verwijzing naar de procesdefinitietabel TBL. De aan de uitgangsbuffer af te geven data wordt ingesteld. Opnieuw verwijzend naar de procesdefinitietabel TBL wordt een afgifte-instructie ingesteld door het ophalen van een instructieregisteradres in welke toestand er een wachtperiode optreedt voor interruptie vanaf de I/O-kaart. Direct na ontvangst van de interruptie wordt een terugkeerstatus afgegeven.
Als de betreffende i/O-kaart van het register/interface-type is dan wordt gecontroleerd of het gaat om een i/O-data-interface of niet door het ophalen van het uitgangsdataregisteradres waarbij wordt verwezen naar de procesdefinitietabel TBL. In het geval van een l/0-data-interface wordt een 1-bit data omgevormd naar een 1-woord data en wordt een masker ingesteld. Vervolgens wordt de data ingeschreven in het uitgangsdataregister. Dit proces van inschrijven van data iri het uit-gangsdataregister is algemeen bekend.
Om de bovenbeschreven standaard ï/O-uitstuureenheid SD goed te benutten worden de meerdere I/O-kaarten gemonteerd in het systeem. Ook in een dergelijk geval worden de procesdefinitietabellen gecreëerd voor elke i/O-kaart en wordt de toegang tot de i/O-kaarten uitgevoerd op basis van de procesdefinitietabellen. Het is derhalve niet nodig om per i/O-kaart een uitstuurtrap aan te brengen. Het is mogelijk om toegang te verkrijgen tot alle i/O-kaarten zonder capaciteitsvermindering gebruikmakend van slechts een standaard i/O-uitstuureenheid. Een variëteit aan I/O-kaarten kan worden gebruikt met de ene standaard i/O-uitstuureenheid resulterend in een eliminatie van het aantal opeenvolgende stappen voor het ontwikkelen van een speciale I/O-uitstuureenheid. Verder zijn de interfaces van de i/O-kaarten gestandaardiseerd in het registertype of het instructietype, waarbij de gebruiker in staat is om de i/O-kaarten arbitrair te ontwerpen en in het systeem op te nemen.
Een modus voor de hardware-gewijze data-overdracht naar de i/O-kaart die gekoppeld is via de l/0-bus bb met de CPU-kaart 100 zal in het volgende verwijzend naar de figuren 20 en 21 worden besproken.
Zoals te zien is in het blokschema van figuur 11 zijn poortsig-naalgeneratormiddelen voor het genereren van poortsignalen STB* op de stuurlijn in de l/0-bus bb, indien een data-overdrachtsverzoek optreedt, aanwezig binnen de I/O-interface 8 die de CPU-kaart 100 verbindt met de i/O-bus bb en in de interfaces c11 en c12 van de respectievelijke I/O-kaarten C1 en C2. Meer in het bijzonder zijn logische schakelingen voor overdracht van de poortsignalen STB* naar de i/O-bus bb per overdrachts-frame in samenhang met een data-overdrachtsverzoek toegevoegd aan de I/O interface 8 gevormd door een poortarray en door de interfaces I/F c11 en I/F c12.
Figuur 20 toont in een tijdsdiagram het geval waarin de l/0-kaart data overdraagt naar de CPU-kaart 100 in responsie op een data-overdrachtsverzoek van de CPU-kaart 100.
Als het data-overdrachtsverzoek wordt gegenereerd door de CPU- kaart 100 dan zendt de CPU-kaart 100 een stuurframe F0 en poortsignalen STB* "L" naar de I/O-bus bb (in het volgende staat L voor "laag" en H voor "hoog"). In het stuurframe F0 zijn byte-vrijgeefbits ingesteld voor het vrijgeven van de toegang op basis van de overdrachtmodusbit bytes die een lees/schrijfidentificatie uitvoeren en die de data-afmetingen (2 of 4 bytes) en de datatypen (data- of stuursignalen) specificeren.
Het stuurframe FO wordt effectief bij de eerste overgangsflank SO van het poortsignaal STB* "l".
Vervolgens zendt de CPU-kaart 100 de adresframes F1 en F2 uit elk bestaande uit een 2-byte frame voor het verzekeren van een 256 kB adresruimte. Deze adresframes F1 en F2 worden effectief bij de volgende overgangsflanken S1 en S2 van de poortsignalen STB*"L". De periode T1 tot aan dit tijdstip omvat de operaties aan de zijde van dé CPU-kaart 100. De l/O-kaart die de frames F0, F1 en F2 ontvangt beoordeelt of de kaart zelf al dan niet gedurende de periode T1 is geselecteerd, Is de kaart geselecteerd dan voert de i/O-kaart een data-overdracht-voorberei-dingsproces uit.
De geselecteerde i/Ó-kaart zendt de over te dragen dataframes F3 en F4 uit via de l/0-bus bb gedurende de periode T3. In dit geval bestaat de data uit 2 bytes. Tegelijkertijd zendt de l/O-kaart de poortsignalen STB*"L" uit. De dataframes F3 en F4 worden effectief bij de laatste overgangsflanken S3 en S4 van de poortsignalen STB*.
Tenslotte zendt de l/O-kaart een statusframe F5 uit tezamen met het poortsignaal STB*"L". Het 1-byte statusframe F5 kan worden beschouwd als een intern toestandssignaal van de betreffende l/O-kaart, d.w.z. een signaal voor het instellen van een aantal toestanden zoals een normale data-overdracht, een fouttoestand of een kaart-defect-toestand.
Opgemerkt wordt dat een framesignaal FRM* het eerste frame vertegenwoordigt bij zijn laatste overgangsflank en ook het laatste frame bij zijn eerste overgangsflank en wordt gebruikt voor het detecteren van een framefout. Een datarichting-specificatiesignaal DDIR indiceert een frame-overdracht vanaf de CPU-kaart 100 naar de l/0-zijde gedurende een "H" periode binnen een data-overdrachtscyclus en ook een frame-overdracht vanaf de l/O-kaart naar de CPU-kaart binnen een "L"-periode en wordt gebruikt om botsing van data tussen de CPU-kaart 100 en de 1/0-kaart te voorkomen. De signalen FRM* en DDIR* worden uitgezonden op de stuurlijn van de l/0-bus bb.
In figuur 21 is een tijddiagram getoond voor het geval dat een data-overdracht wordt uitgevoerd vanaf de CPU-kaart 100 naar de 1/0-kaart. Gedurende een periode T4 wordt in dat geval vanaf de CPU-kaart 100 een stuurframe F0, de adresframes F1 en F2 en de dataframes F3 en F4 uitgezonden tezamen met de poortsignalen STB*"L". Nadat de I/O-kaart de benodigde processen heeft uitgevoerd gedurende een periode T5 zendt de I/O-kaart het statusframe F5 en het poortsignaal STB*"L" terug gedurende een periode T6.
In overeenstemming met de in het bovenstaande besproken en in de figuren 20 en 21 geïllustreerde data-overdrachtsmodus zendt de CPU-kaart 100 of de I/O-kaart de poortsignalen STB*"L" telkens wanneer de respectievelijke frames worden overgedragen waardoor de betreffende frames effectief worden gemaakt. De frames worden dus overgedragen met behulp van een synchrone werkwijze. In het geval van figuur 20 is de overdracht van processen gedurende de perioden T1 en T3 gebaseerd op een asynchrone werkwijze in termen van de data-overdrachtcyclus als geheel. In het geval van figuur 21 is de overdracht van processen voor de perioden T4 en T6 gebaseerd op de asynchrone werkwijze. Het is dus mogelijk om een mengsel te realiseren van een synchrone overdrachtswerkwijze en een asynchrone overdrachtswerkwi j ze.
Figuur 22 illustreert een functie voor het registreren van een fouthistorie van de programmeerbare regelaar. De programmeerbare regelaar is voorzien van schakelingen voor het detecteren van abnormaliteiten zoals een voedingsuitvaldetectieschakeling 21 voor het detecteren van het wegvallen van de voedingsspanning, een temperatuurdetectie-schakeling 22 voor het detecteren van abnormaliteiten in de inwendige temperatuur en een software abnormaliteit-detectieschakeling 23 voor het detecteren van een foutief verloop van de intern uitgevoerde software. Als een abnormaliteitdetectiesignaal wordt gegenereerd door een van deze abnormaliteitdetectieschakelingen dan wordt dit detectiesignaal ingevoerd in een interruptie-generatorschakeling 24 die in reactie daarop een interruptie veroorzaakt in de CPU1.
Bij ontvangst van het interruptiesignaal initieert de CPU1 uitgaande van het normale proces 25 een abnormaliteitdetectie-onderbre-kingsproces 26. Anderzijds heeft de CPU1 een tijdbepalende functie TT teneinde verband te leggen tussen het abnormaliteitstype en het tijdstip waarop de abnormaliteit werd gedetecteerd bij het begin van het abnor-maliteitsdetectie-interruptieproces 26. De CPU1 rangschikt de opgetreden abnormaliteiten vervolgens in een tijdreeks waarna een hulpgeheugeneen-heid 27 deze abnormaliteiten in een bestandsformaat opslaat. Het hulpge-heugen 27 is geïmplementeerd binnen het datageheugen 7 (figuur 11).
Op verzoek van de hostcomputer start de CPU1 een historie-uit-leesproces 28 en leest de inhouden van de hulpgeheugeneeheid 27 teneinde deze over te dragen naar de host. Deze configuratie maakt het mogelijk om de abnormaliteit-toestanden in het tabelformaat dat getoond is in figuur 23 over te dragen naar de buitenwereld gebruikmakend van het weergeefscherm CRT van de host en/of van een printer. Het is ook mogelijk om de details van de opgetreden abnormaliteiten, de tijdstippen van optreden en de fouten te analyseren en verdere tegenmaatregelen te nemen.
Vervolgens zal een manier worden beschreven om een laddercircuit te specificeren waarin fouten optreden gedurende de uitvoering van het ladderprogramma of een gewenst laddercircuit in de programmeerbare regelaar volgens de uitvinding.
De programmeerbare regelaar is bijvoorbeeld via een RS232C of een RS422 verbonden met een gereedschap voor het genereren van een programma. Zoals geïllustreerd is in figuur 24 wordt het ladderprogramma over het algemeen ingesteld in een formaat waarin diverse commentaren kunnen worden toegevoegd aan de respectievelijke laddercircuits. Meer in het bijzonder wordt aan het begin van het ladderprogramma een programmanaam "test" aangegeven, gevolgd door een titel "proefcircuit", stapnummers van de laddercircuits, een circuitcommentaar "noodstopcircuit" voor een aantal laddercircuits eh deelcommentaren "bedrijfstoestanden, bedrijfs-status,..." corresponderend met elke regel van het laddercircuit.
De programmeerbare regelaar bergt het bovengenoemde ladderprogramma voor het uitvoeren van het regelproces intern op. Als er een abnormaliteit plaats vindt gedurende het seguentiestuurproces dan leest het programmageneratorgereedschap echter alle programmastappen en maakt deze zichtbaar op het weergeefscherm teneinde dé plaats waar de fout is opgetreden te specificeren. Als het laddercircuit duizenden stappen kent is het anderzijds moeilijk om het gespecificeerde laddercircuit zichtbaar te maken op het scherm van dè weergeefeenheid vanwege de beperkte capaciteit daarvan tot enkele tientallen lijnen. In het algemeen worden de laddercircuits dan afgedrukt met een printer en deze programmalisting wordt dan benut voor het creëren van overeenstemming tussen de werkelijke circuts en de circuits binnen het programma. Deze methode voor het specificeren van een laddercircuit vertoont echter een zeer slechte werkbaarheid. In de programmeerbare regelaar volgens de onderhavige uitvinding worden de ladderschakelingen gespecificeerd met behulp van de volgende methode.
Figuur 25 toont een blokschema van een configuratie waarin een programmeergereedschap verbonden is met de CPU-kaart 100 van de programmeerbare regelaar. In de CPU-kaart 100 zijn terwille van de eenvoud van de verklaring alleen de CPU1, een RS232C poort 10, de RAM 7 en de infor-matiebus b geïllustreerd. Het programmeergereedschap, dat verbonden is met de RS232C poort 10 van de CPU-kaart 100 omvat ook een weergeefeen-heid PTCRT, een toetsenbord PTKB, een hoofdgeheugen PTM1 en een hulpge-heugen PTM2.
Zoals al eerder werd verklaard worden de laddercircuits geredigeerd in het programmeergereedschap in overeenstemming met de seguen-tiesturing en de geredigeerde resultaten worden tijdelijk opgeslagen in èen sequentieprogramma-afbeeldingsbestand IMF. Een gecreëerd ladderpro-gramma wordt teruggezonden via de RS232 poort 111 naar RAM 106. Tegelijkertijd wordt ook een circuit/commentaar-correspondentietabel CCT, waarin de laddercircuits corresponderen met diverse soorten commentaar, teruggezonden tezamen met het ladderprogramma. De schakeling/commentaar-correspondentietabel CCT heeft de bedoeling om commentaarposities (stap-nummers) te maken bij de schakelingen corresponderend met de commentaarposities in een commentaarbestand CF dat nog later zal worden genoemd. Dankzij deze schakeling/commentaar-correrspondentietabel CCT is het mogelijk om de positioneringstoestanden tussen de laddercircuits en het commentaar daarbij op te slaan zelfs als het programma wordt gemodificeerd.
Met deze configuratie wordt het overgedragen sequentieprogramma SQP in de CPU1 ingesteld tezamen met de schakeling/commentaar-correspon-dentietabel CCT.
In het hulpgeheugen PTM2 aan de zijde van het programmeergereedschap is een commentaarbestand CF ingesteld waarin de stapnummers van de laddercircuits en de commentaarinhouden behorend bij de laddercircuits zijn opgeslagen en waarmee de correspondentie daartussen wordt aangegeven.
Figuur 26 toont de inhoud van het commentaarbestand CF. Figuur 27 toont de inhoud van de circuit/commentaar-correspondentietabel CCT. Het commentaarbestand CF behoeft niet in het programmeergereedschap aanwezig te zijn maar kan in de RAM 7 op de CPU-kaart 100 staan. Daarnaast kan er verder nog een commentaarbestand worden toegevoegd waarin de stapnummers corresponderen met deelcommentaren.
Een operatie voor het opzoeken van specifieke lokaties in de laddercircuits in het programmeergereedschap zal vervolgens worden beschreven met verwijzing naar figuur 28. Het programmeergereedschap leest de inhoud van het commentaarbestand CF en de circuit/commentaar-correspondentietabel CCT maakt tevoren een configuratie om de opeenvolgende weer te geven beelden S1, S2, S3 en S4 op het beeldscherm van de weergeefeenheid te indiceren. Een eerste beeld op het beeldscherm van het programmeergereedschap is een circuitmonitor-menubeeld S1, met behulp van welk beeld een circuitcommentaarweergeefbeeld S2 wordt geselecteerd. Vervolgens wordt een circuitcommentaarlijst weergegeven in een lijstformaat op het beeldscherm. Uitgaande van het circuitcommentaar-beeld S2 wordt een deelcommentaarbeeld S3 geselecteerd en daarna worden alle deelcommentaren die in het circuitcommentaar aanwezig zijn weergegeven. Als een circuitweergeefbeeld S4 wordt geselecteerd, corresponderend met een deelcommentaar dan wordt ook het laddercircuit corresponderend met dit deelcommentaar weergegeven.
Om een bepaald laddercircuit uit het ladderprogramma van figuur 24 te specificeren wordt een gewenst circuitcommentaar geselecteerd door een lijst van de circuitcommentaren weer te geven en een bepaald laddercircuit kan worden weergegeven op het beeldscherm door een laddercircuit aan te wijzen dat correspondeert met het deelcommentaar dat opgenomen is in dit circuitcommentaar.
Opgemerkt wordt dat de circuitafbeelding S4 kan worden geselecteerd uitgaande van de circuitmonitor-menu-afbeelding SI of van de circuitcommentaarlijst S2. Per pagina kunnen op de respectievelijke weergegeven afbeeldingen scroll- en monitorprocessen worden uitgevoerd.
Zoals in het bovenstaande is aangegeven worden het commentaarbe-stand en de circuit/commentaarcorrespondentietabel ingesteld in de programmeerbare regelaar en vandaar uitgelezen. Een veelheid aan commentaren toegevoegd aan de laddercircuits wordt gerelateerd aan de ladder-circuits voorafgaand aan de hiërarchische weergave daarvan op het beeldscherm. Het is derhalve mogelijk om direct een gewenst laddercircuit te detecteren.
De bovenbeschreven configuratie is ontworpen om gemakkelijk in laddercircuits te kunnen zoeken voor het bijwerken van de circuits of bij het zoeken naar de oorzaak van een fout. De navolgende beschrijving zal worden gericht op verbeteringen in de creatie van het ladderprogramma en in het debuggen van een ladderprogramma.
Over het algemeen wordt een sequentiestuurproces dat gebaseerd is op een ladderprogramma uitgevoerd door een procesroutine omvattende een gemeenschappelijk proces zoals een zelf-diagnose, een I/O-verversings-proces van i/O-registers aan de zijde van de l/0-kaart, het uitvoeren van het ingestelde ladderprogramma en een service-proces voor de aangesloten host.
Gebaseerd op de programmeerbare regelaar volgens de uitvinding wordt, zoals geïllustreerd is in figuur 29, het i/O-verversingsproces volgend op het algemene proces, weggelaten om het programmeren en debuggen uit te voeren zonder montage van de l/0-kaart bij het opbouwen van het sequentiestuurprogramma. Het deze configuratie kan het debuggen worden uitgevoerd in overeenstemming met een instructie van een debugger zoals een programmeergereedschap of dergelijke zonder de l/0-kaart.
Figuur 30 toont in een conceptueel diagram een programmeerfunctie van het ladderprogramma in de programmeerbare regelaar volgens de uitvinding. De respectievelijke blokken in de figuur vertegenwoordigen functionele softwareblokken in de programmeerbare regelaar volgens de uitvinding. De individuele functionele blokken in figuur 30 werken als volgt. Een circuitredigeerfunctie 201 is bestemd voor het redigeren van de respectievelijke circuitcomponenten van het laddercircuïts, door middel van welke functie de programmeur de adressen aangeeft van de respectievelijke circuitcomponenten in de vorm van signaalnamen soortgelijk aan de componentnamen bij het ontwerpen van het laddercircuit. Een signaaldefinitiefunctie 202 doet dienst als eenheid voor het instellen van een tabelformaat voor het tevoren instellen van een correspondentie tussen de adressen van de signaalnamen van de respectievelijke circuitcomponenten. Een compileerfunctie 203 functioneert voor het overdragen van een programma in uitvoerbaar formaat naar de sequentieverwerkings-eenheid 205 met referentie aan de signaalnamen in het laddercircuit, de daarmee corresponderende adressen gegeven door de signaaldefinitiefunctie 202 en verder de signalen van een automatische adresgeneratorfunctie 204. De automatische adresgeneratorfunctie 204 is gedefinieerd als een functioneel blok voor het automatisch toewijzen van de gedetailleerde adressen aan de signaalnamen die worden gegeven door de signaaldefinitiefunctie 202.
Procedures voor het creëeren van een ladderprogramma door gebruik te maken van deze functie zullen in het onderstaande worden beschreven.
Een laddercircuit als aangegeven in figuur 31 wordt gegenereerd in samenwerking met het programmeergereedschap en de circuitredigeerfunctie 201. De individuele circuitcomponenten van een relaiseenheid, een uit-gangseenheid enz. worden ingesteld in de vorm van signaalnamen zoals SW1 AND C0IL1. De signaalnamen SW1, C0IL1, C0IL2, IRL1, TIM1, CMT1 en REG1 zijn echter zodanig gerangschikt dat ze corresponderen met adressen X, X, Y, Y, I, T, C en D in de signaaldefinitiefunctie 202, waarbij het symbool X het adres is waarmee een ingang wordt vertegenwoordigd, Y een uitgang vertegenwoordigt, I een intern relais is, T een tijdbepalende eenheid is, C een teller vertegenwoordigt en D staat voor een dataregis-ter.
De gedetailleerde adressen, die niet worden ingesteld bij de respectievelijke laddercircuitcomponenten in de compileerfunctie 203 worden automatisch toegewezen in de automatische adresgeneratorfunctie 204. Indien meer in het bijzonder niet het gedetailleerde adres Xxxx maar allen het adres X wordt ingesteld bij het circuit SW1 dan wordt het gedetailleerde adres X001 toegewezen. De gedetailleerde adressen worden sequentieel ingesteld te beginnen bij het kleinste van de getallen die worden toegevoegd aan de signaalnamen van de laddercircuitcomponenten.
De resultaten zijn getoond in figuur 33. Dat wil zeggen het adres X0Q1 is ingesteld bij de signaalnaam SW1 en het adres X002 is ingesteld bij de signaalnaam SW2.
Nadat het programma uit de compileerfunctie in het uitvoerbare formaat is verkregen kan het debuggen van dit programma worden uitgevoerd door gebruik te maken van alleen de CPU-kaart 100 zonder montage van de I/O-kaart, alhoewel de verwerking uitgevoerd wordt in de sequeh-tiestuureenheid, omdat zoals geïllustreerd is in het schema van figuur 29 de I/O-verversingsproces wordt overbrugd zelfs indien tijdens het debuggen de l/0-kaaft niet is gemonteerd. Gebaseerd op de resultaten van het debuggen worden de gedetailleerde adressen toegevoegd als daarvoor de noodzaak zich voordoet.
De signaalnamen kunnen derhalve automatisch corresponderen met gedetailleerde adressen zonder kennis van de adressen van de respectievelijke laddercircuitcomponenten, hetgeen op zijn beurt het ontwerpen van een sequentieregelprogramma vereenvoudigt. Het debuggen kan worden uitgevoerd zonder I/O-kaart en de ladderprogramma-operaties kunnen worden bevestigd voordat het ontwerpen van een relais-kaart die correspondeert met het sequentieproces wordt voltooid.
De programmeerbare regelaar volgens de uitvinding voert een programmering uit voor ladderprogramma's met duizenden stappen op de volgende wijze door de blokken per stap op te splitsen. De figuren 34a tot en met 34c tonen de programmeermodus.
De figuren 34a tot en met 34c vertegenwoordigen de stappen 1, 2 en 5 als deel van een ladderprogramma. Een startinstructie "ACT PROG1.2" en een eindinstructie "INACT PROG1.1", die binnen de uitvinding nieuw worden gedefinieerd, worden ingesteld in de laatste deelstap van stap 1. Als in deze configuratie een stuuroperatie van stap 1 de laatste deelstap bereikt dan wordt een blokladderprogramma PROG1.2 van stap 2 gestart door het stoppen van een blokladderprogramma PROG1.1 van stap 1 waardoor de stuuroperatie van stap 2 wordt geïnitieerd.
In de laatste deelstap van het blokladderprogramma PR0G1.2 zijn een stopinstructie "INACT PR0G1.2" van het blokladderprogramma PR0G1.2 en parallel daarmee de startinstructies "ACT PR0G1.2", "ACT PR0G2.1" en "ACT PR0G3.1" voor de stappen 3 tot en met 5 ingesteld. Deze stappen 3 tot en met 5 worden simultaan gestart.
Het beëindigen van de stappen 3 en 4 wordt bewaakt in stap 5. Bij detectie van het beëindigen van de stappen 3, 4 en 5 keert de operatie terug naar stap 1, dat wil zeggen de beginstap van het sequentieregel-proces in responsie op de stapinstructies "INACT PR0G3.1" en "ACT PR0G1.1".
De startinstructies "ACT" en de stopinstructies "INACT" van het ladderprogramma zijn dus gedefinieerd en daarmee is het mogelijk om een parallelle programmering uit te voeren door een reeks van duizenden sequentiestuurprogramma's op te splitsen in diverse blokken. Bovendien informeren de ladderprogramma1s elkaar omtrent begin en einde waardoor de sequentiestuuroperatie uitgevoerd kan worden door het instellen van de in blokken gesplitste ladderprogramma's in een aantal CPU-kaarten.
In figuur 5 is een voorbeeld getoond waarin een te besturen object M op de werkelijke besturingslijn L wordt bestuurd door een combinatie van een CPU-kaart 101 waarin het basisprogrammaproces is ondergebracht en de CPU-kaarten 102 tot en met 104 waarin alleen ladderprogramma-adressen zijn ingesteld.
Opgemerkt wordt dat de ladderprogramma's LD1 en LD2 zijn ingesteld in de CPU-kaart 102 waarmee een groep van l/0-kaarten C10 is gekoppeld; de ladderprogramma's LD3 tot LD5 zijn ingesteld in de CPU-kaart 103 waarmee een groep van i/O-kaarten C20 is gekoppeld; en een ladderprogramma LD6 is ingesteld in de CPU-kaart 104 waarmee een groep van i/O-kaarten 30 is gekoppeld.
Figuur 36 illustreert een voorbeeld van het basisprogramma dat ingesteld is in de CPU-kaart 101.
De ladderprogramma's LD1 tot en met LD6 zijn gedefinieerd als een reeks van sequentiestuurprogramma's die invloed uitoefenen op het te besturen object M, en deze ladderprogramma's hebben de bovenbeschreven blokvormige constructie en worden onafhankelijk van elkaar geprogrammeerd. Het basisprogramma van de CPU-kaart 101 functioneert voor het afgeven van startinstructies aan de individuele ladderprogramma's en voor het ontvangen van eindinstructies daarvan. Bij het starten van het bedrijf zal de CPU-kaart 101 het ladderprogramma LD2 activeren volgend op het ladderprogramma LD1 van de CPU-kaart 102. Nadat deze programma's zijn geëindigd wordt het ladderprogramma LD3 of LD4 van de CPU-kaart 103 uitgevoerd afhankelijk van de op dat moment ter beschikking staande sequentieverwerkingsresultaten. Direct na het beëindigen van het programma LD3 of LF4 zal direct na deze stap het basisprogramma zorgen voor het parallel starten van zowel het ladderprogramma LD5 dat zich bevindt op de CPÜ-kaart 103 alsook het ladderprogramma LD6 dat geïncorporeerd is in de CPU-kaart 104.
Op basis van het geïllustreerde systeem worden de sequentiestuur-programma's waarin een reeks van sequentiestuuroperaties verdeeld is in blokken uitgevoerd en verwerkt door een aantal programmeerbare regelaars. Daarmee kan een zeer efficiënt sequentiestuurproces worden uitgevoerd.
Zoals in het bovenstaande is besproken is de programmeerbare regelaar volgens de uitvinding in staat om de snelheid van een sequentiestuurproces te verbeteren en een systeem te presenteren waarvan het ontwerp, indien modificaties nodig zijn, gemakkelijk kan worden gewijzigd. Daarmee kan dus een programmeerbare regelaar worden gerealiseerd die een zeer hoog procesrendement bezit.
Alhoewel de geïllustreerde uitvoeringsvormen van de uitvinding aan dé hand van de bijgaande tekeningen in detail zijn beschreven zal het duidelijk zijn dat de onderhavige uitvinding niet tot deze specifieke uitvoeringsvormen is beperkt maar dat wijzigingen en modificaties binnen het kader van de uitvinding voor een deskundige op dit terrein mogelijk zijn.
Claims (13)
1. Programmeerbare regelaar omvattende: een eerste processor; een tweede processor; een programmageheugen voor het opslaan van een programma-instruc-tie van het interpreter-type en een basisinstructie; een informatiebus via welke de genoemde eerste en tweede proces-soren en het genoemde programmageheugen met elkaar zijn verbonden; en een stuurlijn die verloopt tussen de genoemde eerste en tweede processoren en waarover bidirectionele signaaloverdrachten worden uitgevoerd tussen de eerste en tweede processoren, waarbij dat de ene processor, die bezig is met het uitvoeren van de instructies en oordeelt dat een instructie door de andere processor moet worden uitgevoerd, de genoemde andere processor informeert omtrent het adres van de uit te voeren instructie in het programmageheugen via de genoemde stuurlijn en dat de andere processor die de basisinstructie moet uitvoeren deze basisinstructie direct uit het programmageheugen uitleest en de basisinstructie uitvoert.
2. Programmeerbare regelaar, voorzien van: een eerste processor; een tweede processor; een programmageheugen; een eerste informatiebus via welke de eerste processor verbonden is met het genoemde programmageheugen voor het opslaan van een inter-pretertype programma-instructie en een basisinstructie; en een tweede informatiebus via welke de tweede processor verbonden is met de eerste processor, waarbij dat de eerste processor, indien deze in bedrijf is en een programma-instructie leest uit het programmageheugen als voorbereiding op de uitvoering van deze programma-instructie tegelijkertijd een pseudo-instructie genereert aan de tweede processor, waarbij indien de eerste processor oordeelt dat de programma-instructie door de tweede processor moet worden uitgevoerd de genoemde programma-instructie wordt geleverd in plaats van de pseudo-instructie.
3. Programmeerbare regelaar omvattende: een eerste processor; een tweede procesoor; een eerste programmageheugengebied voor het opslaan van een programma-instructie die door de eerste processor moet worden uitgevoerd en een instructie voor het instrueren van programma-uitvoer door de tweede processor; een tweede programmageheugengebied voor het opslaan van een pro-gramma-instructie die door de tweede processor moet worden uitgevoerd en een instructie voor het instrueren van programma-uitvoer door de eerste processor; en een signaalsynthesemiddel voor het invoeren van de genoemde instructie voor het instrueren van de programma-uitvoer door de tweede processor en de genoemde instructie voor het instrueren van de programma-uitvoer door de eerste processor en voor het instrueren van de start van de operatie van de genoemde ene processor en het instrueren van het stoppen van de operatie van de genoemde andere processor.
4. Programmeerbare regelaar omvattende: een groep van i/O-kaarten voor het overdragen en ontvangen vein meervoudige informaties met betrekking tot een te besturen object; en een processor-kaart voor het overdragen van een stuursignaal naar het genoemde te besturen object via de groep van i/O-kaarten, welke processorkaart is voorzien van: een processor voor het besturen van het geheel en voor het uitvoeren van een deel van de instructies in een sequentiestuurprogramma en een basisprogramma voor het uitvoerén van algemene rekenkundige bewerkingen, informatiebewerking of een stuuroperatie door het starten van het genoemde sequentieregelprogramma en het aanmaken van eindin-structie; een 1-bit processor die direct verbonden is met éen programmage-heugen waarin het sequentiestuurprogramma is opgeslagen voor het uitvoeren van instructies die sequentieel worden gelezen uit het program-mageheugen en voor het overdragen van de instructies naar de processor indien de uitgelezen instructies sequentiële applicatie-instructies zijn die door de betreffende processor moeten worden uitgevoerd; een datageheugeii voor het tijdelijk opslaan van data; een vast geheugen voor het opslaan van een zelfdiagnoseprogramma; een communicatie-interface die dienst doet bij de communicatie met een hostcomputer; een I/Q-interface voor het combineren van het te besturen object met een I/O-bus via welke de i/O-kaarten voor overdracht en ontvangst van meervoudige informatie met elkaar zijn verbonden; en een interne bus voor het onderling verbinden van de processor, de 1-bit procesasor, het datageheugen, het vaste geheugen, de communicatie-interface en de i/O-interface.
5. Programmeerbare regelaar volgens conclusie 4, met het kenmerk, dat een I/O-stuureenheid, ingesteld in de genoemde processor-kaart, op het begintijdstip een procesdefinitietabel instelt voor opslag in tabel-formaat door het lezen van een kaartidentificatie, een interfacetype van de kaart, het aantal kanalen, een instructieregisteradres en een buf-feradres of een dataregisteradres en een adres voor het definiëren van een speciaal proces indien de noodzaak voor het genoemde speciale proces zich voordoet, en verwijst naar de procesdefinitietabel bij het uitvoeren van een data-afgifteproces.
6. Programmeerbare regelaar volgens conclusie 4, met het kenmerk, dat de regelaar voorzien is van poortsignaalgeneratormiddelen aangebracht binnen de processorkaart en binnen de groep van I/O-kaarten; waarbij de genoemde processor-kaart bij het starten van een informatie-overdrachtscyclus poortsignalen per frametransmissie uitzendt om het betreffende frame effectief te maken en welke processorkaart de genoemde dataoverdracht-verzoeksignalen ontvangt en een dataframe en statusframe of de poortsignalen per statusframetransmissie uitzendt en op deze wijze de data-overdrachtscyclus beëindigt.
7. Programmeerbare regelaar volgens conclusie 4, met het kenmerk, dat een corresponderend aantal abnormaliteit-detectieschakelingen aanwezig is en dat de processor een abnormaliteitdetectiesignaal ontvangt als interruptiesignaal en tijddata, aangegeven door een interne tijdbepalende functie, alsmede de inhoud van de gedetecteerde abnormaliteit in een tabelformaat opslaat.
8. Programmeerbare regelaar volgens conclusie 4, met het kenmerk, dat een i/O-verversingsproces in een sequentieregelprocesroutine wordt weggelaten, dat signaalnamen worden toegewezen aan de genoemde circuit-elementen bij het creëren van de laddercircuits zodanig dat deze corresponderen met adressen in overeenstemming met een vooringestelde signaalnaam-adres-correspondentietabel, en dat gedetailleerde adressen corresponderend met de signaalnamen sequentieel worden ingesteld vanuit het adres dat gemarkeerd is met het kleinste getal voor de genoemde signaalnamen waaraan nog geen gedetailleerde adressen zijn toegewezen op het moment van compilatie.
9. Programmeerbare regelaar volgens conclusie 4, met het kenmerk, dat een reeks van sequentiestuuroperaties wordt gesplitst in blokken corresponderend met diverse stappen tijdens het programmeren van het ladderprogramma, dat een instructie voor het specificeren van het volgende uit te voeren blok en een instructie voor het specificeren van het stoppen van het proces van het betreffende blok worden ingesteld in het laddercircuit in de laatste deelstap van het betreffende blok en het ladderprogramma per blok wordt ingesteld en uitgevoerd.
10. Programmeerbare regelaar volgens conclusie 4, met het kenmerk, dat een commentaarbestand wordt ingesteld voor het opslaan van commentaren die toegevoegd kunnen worden aan de laddercircuits in het genoemde ladderprogramma gegenereerd in een laddertaal en stapnummers het betreffende laddercircuit door ervoor te zorgen dat de commentaren corresponderen met de genoemde stapnummers en ook een circuit/commentaar-tabel waarin de genoemde stapnummers van het betreffende laddercircuit corresponderen met de commentaamummers in het commentaarbestand, en de genoemde circuitcommentaren, de stapnummers en de laddercircuits worden uitgelezen uit een programmeergereedschap.
11. Programmeerbare regelaar voor het uitvoeren van een CPU-proces door periodiek de uitgevoerde sequentieprocessen en een aantal basisprocessen te wisselen, omvattende: een tijdbepalende eenheid waarin de maximaal mogelijke waarde van een procestijd voor het sequentieproces is opgeslagen en voor het telkens aftellen van een procestijd voor het genoemde sequentieproces; en een uitvoeringsrecht-wisseleenheid voor het instellen van een waarde voor de genoemde procestijd in de tijdbepalende eenheid door de procestijd voor het genoemde basisproces vast te stellen in overeenstemming met een telwaarde van de genoemde tijdbepalende eenheid en aan de hand daarvan om te schakelen tussen het sequentieproces en het basisproces.
12. Programmeerbare regelaar voorzien van: een enkele CPU die functioneert in overeenstemming met een gedefinieerde taal; elementen die nodig zijn voor het bedrijven van de CPU; instelmiddelen die in staat zijn om tenminste een of meer uit te voeren talen van buitenaf in te stellen; en een creërend middel voor het creëren van een optimale uitvoerings-omgeving in overeenstemming met de door de betreffende instelmiddelen ingestelde taal.
13. Programmeerbare regelaar voorzien van: een processorkaart voor het verwerken van een basistaal; tenminste een of meer processorkaarten die bestemd zijn voor sequentiele taalverwerking, voor het opslaan van een of meer op blokken gebaseerde sequentiestuurprogramma's elk bestemd voor verwerking in de genoemde seguentietaal; en een groep van i/O-kaarten bestemd om te werken in de genoemde sequentietaal voor overdracht en ontvangst van stuurinformatie met betrekking tot het te besturen object, met het kenmerk, dat de proces- sorkaart voor het verwerken van de basistaal elk van de genoemde op blokken gebaseerde sequentiestuurprogramma's in de genoemde processor-kaart, bestemd voor de genoemde verwerking in de sequentietaal, informeert omtrent de startinstructie en de eindinstructie.
Applications Claiming Priority (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10405289 | 1989-04-24 | ||
JP1104052A JPH02281365A (ja) | 1989-04-24 | 1989-04-24 | 情報処理装置 |
JP12970789 | 1989-05-23 | ||
JP1129707A JPH02307151A (ja) | 1989-05-23 | 1989-05-23 | プロセッサ・システム |
JP27551289 | 1989-10-23 | ||
JP27551389 | 1989-10-23 | ||
JP1275513A JPH03136105A (ja) | 1989-10-23 | 1989-10-23 | ラダー・シーケンス制御装置 |
JP1275512A JPH03136103A (ja) | 1989-10-23 | 1989-10-23 | シーケンサ |
Publications (1)
Publication Number | Publication Date |
---|---|
NL9000984A true NL9000984A (nl) | 1990-11-16 |
Family
ID=27469177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
NL9000984A NL9000984A (nl) | 1989-04-24 | 1990-04-24 | Programmeerbare regelaar. |
Country Status (7)
Country | Link |
---|---|
US (1) | US5553297A (nl) |
KR (2) | KR940002324B1 (nl) |
CN (1) | CN1046987A (nl) |
DE (1) | DE4011278A1 (nl) |
FR (1) | FR2646254B1 (nl) |
GB (1) | GB2232514B (nl) |
NL (1) | NL9000984A (nl) |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2848060B2 (ja) * | 1991-10-24 | 1999-01-20 | 株式会社日立製作所 | プログラマブルコントローラおよびシーケンス制御方法 |
JPH08123515A (ja) * | 1994-10-25 | 1996-05-17 | Fanuc Ltd | シーケンス・プログラムの表示方式 |
JP3868541B2 (ja) * | 1996-07-16 | 2007-01-17 | 東芝機械株式会社 | ダイカスト機の制御装置 |
US7146230B2 (en) * | 1996-08-23 | 2006-12-05 | Fieldbus Foundation | Integrated fieldbus data server architecture |
US20040194101A1 (en) * | 1997-08-21 | 2004-09-30 | Glanzer David A. | Flexible function blocks |
US6424872B1 (en) | 1996-08-23 | 2002-07-23 | Fieldbus Foundation | Block oriented control system |
US5963446A (en) * | 1996-08-27 | 1999-10-05 | Steeplechase Software, Inc. | Extended relay ladder logic for programmable logic controllers |
JPH10240522A (ja) * | 1997-02-26 | 1998-09-11 | Matsushita Electric Works Ltd | 演算装置 |
US6999824B2 (en) * | 1997-08-21 | 2006-02-14 | Fieldbus Foundation | System and method for implementing safety instrumented systems in a fieldbus architecture |
US6157970A (en) * | 1997-09-24 | 2000-12-05 | Intel Corporation | Direct memory access system using time-multiplexing for transferring address, data, and control and a separate control line for serially transmitting encoded DMA channel number |
US6104875A (en) * | 1997-12-18 | 2000-08-15 | Honeywell Inc. | Method for field programming an industrial process transmitter |
US6272398B1 (en) | 1998-09-21 | 2001-08-07 | Siebolt Hettinga | Processor-based process control system with intuitive programming capabilities |
DE19946096A1 (de) * | 1999-09-27 | 2001-04-12 | Mannesmann Vdo Ag | Steuergerät, insbesondere für ein Kraftfahrzeug |
JP2001265412A (ja) * | 2000-03-15 | 2001-09-28 | Omron Corp | プログラマブルコントローラ |
US20050240286A1 (en) * | 2000-06-21 | 2005-10-27 | Glanzer David A | Block-oriented control system on high speed ethernet |
AT505204B1 (de) * | 2000-12-29 | 2009-03-15 | Sticht Fertigungstech Stiwa | Betriebsleiteinrichtung für eine fertigungs- und/oder montageeinrichtung und verfahren zu deren betrieb |
JP4783527B2 (ja) | 2001-01-31 | 2011-09-28 | 株式会社ガイア・システム・ソリューション | データ処理システム、データ処理装置およびその制御方法 |
JP4865960B2 (ja) * | 2001-06-25 | 2012-02-01 | 株式会社ガイア・システム・ソリューション | データ処理装置およびその制御方法 |
US6993674B2 (en) | 2001-12-27 | 2006-01-31 | Pacific Design, Inc. | System LSI architecture and method for controlling the clock of a data processing system through the use of instructions |
EP1619994A4 (en) | 2003-04-16 | 2009-03-11 | Univ Drexel | ACOUSTIC BLOOD ANALYZER FOR EVALUATING BLOOD PROPERTIES |
US7272450B2 (en) * | 2004-03-31 | 2007-09-18 | Omron Corporation | Development aid device |
KR20060076884A (ko) * | 2004-12-29 | 2006-07-05 | 두산인프라코어 주식회사 | 수치제어장치의 소프트웨어 plc 접점 처리장치 및 방법 |
TWI279711B (en) | 2005-08-19 | 2007-04-21 | Mitac Technology Corp | Dual-processor multimedia system, and method for fast activation of the multimedia system |
JP2007156824A (ja) * | 2005-12-05 | 2007-06-21 | Nec Electronics Corp | プロセッサシステム、タスク制御方法 |
US8676357B2 (en) * | 2005-12-20 | 2014-03-18 | Fieldbus Foundation | System and method for implementing an extended safety instrumented system |
US7489977B2 (en) * | 2005-12-20 | 2009-02-10 | Fieldbus Foundation | System and method for implementing time synchronization monitoring and detection in a safety instrumented system |
US20090083719A1 (en) * | 2007-09-20 | 2009-03-26 | Delta Electronics, Inc. | Method of compiling machine code program for programmable logic controller |
JP5155646B2 (ja) * | 2007-12-13 | 2013-03-06 | アイシン高丘株式会社 | 熱間プレス成形装置及び熱間プレス成形方法 |
US20090302588A1 (en) * | 2008-06-05 | 2009-12-10 | Autoliv Asp, Inc. | Systems and methods for airbag tether release |
US20110124106A1 (en) * | 2008-07-31 | 2011-05-26 | Ge Healthcare Bio-Sciences Ab | Separation device |
JP5454783B2 (ja) * | 2009-03-13 | 2014-03-26 | オムロン株式会社 | Plcのプログラミングにおける変数名の入力支援方法、plcのプログラミングにおける変数名の入力支援装置、及びコンピュータプログラム |
US8688964B2 (en) * | 2009-07-20 | 2014-04-01 | Microchip Technology Incorporated | Programmable exception processing latency |
CN102096390B (zh) * | 2011-01-30 | 2014-04-09 | 深圳市合信自动化技术有限公司 | 可编程逻辑控制器、组态程序编译器及方法 |
EP2537591B1 (de) * | 2011-06-21 | 2014-06-18 | Siemens Aktiengesellschaft | Verfahren zur Gewinnung von nichtmagnetischen Erzen aus einer Erzpartikel-Magnetpartikel-Agglomerate enthaltenden Suspension |
JP5702811B2 (ja) | 2013-01-30 | 2015-04-15 | ファナック株式会社 | 動作プログラム作成装置 |
CN103529749B (zh) * | 2013-10-29 | 2017-07-25 | 威海麦科电气技术有限公司 | 一种plc可编程控制器的梯形图程序开发系统及方法 |
JP5937637B2 (ja) * | 2014-04-30 | 2016-06-22 | ファナック株式会社 | シーケンスプログラムの切り替え時に、切り替え予告信号を出力する制御装置 |
WO2016009485A1 (ja) * | 2014-07-14 | 2016-01-21 | 三菱電機株式会社 | Plcシステムおよび演算式データ作成支援装置 |
JP6122054B2 (ja) * | 2015-03-13 | 2017-04-26 | ファナック株式会社 | ラダープログラムの分岐回路抽出表示機能を有するモニタ装置 |
JP6325500B2 (ja) * | 2015-09-17 | 2018-05-16 | ファナック株式会社 | Cncの動作状況をコメント中に追加表示可能なラダー図モニタ装置 |
CN106762414B (zh) * | 2016-11-23 | 2020-05-22 | 北京华电天仁电力控制技术有限公司 | 一种用于风力发电机组变桨控制系统的板式可编程控制器 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4303990A (en) * | 1976-07-01 | 1981-12-01 | Gulf & Western Industries, Inc. | Programmable controller using microprocessor |
JPS54114687A (en) * | 1978-02-27 | 1979-09-06 | Toyoda Mach Works Ltd | Sequence controller |
DE2932394A1 (de) * | 1978-08-24 | 1980-02-28 | Texas Instruments Inc | Intelligente, programmierbare prozessteueranordnung |
DE3236302A1 (de) * | 1982-09-30 | 1984-04-05 | Siemens AG, 1000 Berlin und 8000 München | Speicherprogrammierbare steuerung |
JPS59119405A (ja) * | 1982-12-27 | 1984-07-10 | Hitachi Ltd | 複数台運転可能なシ−ケンスコントロ−ラ |
DE3302929A1 (de) * | 1983-01-28 | 1984-08-02 | Siemens AG, 1000 Berlin und 8000 München | Speicherprogrammierbare steuerung |
DE3302940A1 (de) * | 1983-01-28 | 1984-08-02 | Siemens AG, 1000 Berlin und 8000 München | Speicherprogrammierbare steuerung mit wort- und bitprozessor |
JPS59172008A (ja) * | 1983-03-22 | 1984-09-28 | Mitsubishi Electric Corp | 数値制御装置 |
US4750110A (en) * | 1983-04-18 | 1988-06-07 | Motorola, Inc. | Method and apparatus for executing an instruction contingent upon a condition present in another data processor |
DE3323824A1 (de) * | 1983-07-01 | 1985-01-03 | Siemens AG, 1000 Berlin und 8000 München | Speicherprogrammierbare steuerung |
EP0134386A2 (en) * | 1983-08-05 | 1985-03-20 | Ten X Technology, Inc. | Method and apparatus for executing object code instructions compiled from a high-level language source |
US4862351A (en) * | 1983-09-01 | 1989-08-29 | Unisys Corporation | Method of executing called activities via depictor-linked low level language microcode, hardware logic, and high level language commands; and apparatus for same |
US4742443A (en) * | 1985-03-28 | 1988-05-03 | Allen-Bradley Company | Programmable controller with function chart interpreter |
US4942552A (en) * | 1986-11-20 | 1990-07-17 | Allen-Bradley Company, Inc. | Method and apparatus for saving and performing industrial control commands |
US4972365A (en) * | 1987-05-01 | 1990-11-20 | Allen-Bradley Company, Inc. | Executing downloaded user programs in a programmable controller |
DE3720006A1 (de) * | 1987-06-15 | 1988-12-29 | Siemens Ag | Datenverarbeitungsanlage mit einem bitprozessor und einem wortprozessor |
US4858101A (en) * | 1987-08-26 | 1989-08-15 | Allen-Bradley Company, Inc. | Programmable controller with parallel processors |
US4937777A (en) * | 1987-10-07 | 1990-06-26 | Allen-Bradley Company, Inc. | Programmable controller with multiple task processors |
US5287548A (en) * | 1988-02-29 | 1994-02-15 | Allen-Bradley Company, Inc. | Programmable controller having a stored program with both machine language instructions and source code data |
US4985831A (en) * | 1988-10-31 | 1991-01-15 | Evans & Sutherland Computer Corp. | Multiprocessor task scheduling system |
US5068778A (en) * | 1988-11-28 | 1991-11-26 | Reliance Electric Industrial Company | Industrial control system device |
US5068821A (en) * | 1989-03-27 | 1991-11-26 | Ge Fanuc Automation North America, Inc. | Bit processor with powers flow register switches control a function block processor for execution of the current command |
-
1990
- 1990-03-28 GB GB9006947A patent/GB2232514B/en not_active Expired - Fee Related
- 1990-04-06 DE DE4011278A patent/DE4011278A1/de not_active Withdrawn
- 1990-04-23 FR FR9005138A patent/FR2646254B1/fr not_active Expired - Fee Related
- 1990-04-23 CN CN90102324A patent/CN1046987A/zh active Pending
- 1990-04-24 KR KR1019900005768A patent/KR940002324B1/ko not_active IP Right Cessation
- 1990-04-24 NL NL9000984A patent/NL9000984A/nl not_active Application Discontinuation
-
1993
- 1993-09-09 US US08/119,322 patent/US5553297A/en not_active Expired - Lifetime
- 1993-10-30 KR KR1019930022821A patent/KR940002339B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR940002339B1 (ko) | 1994-03-23 |
KR940002324B1 (ko) | 1994-03-23 |
GB9006947D0 (en) | 1990-05-23 |
FR2646254A1 (fr) | 1990-10-26 |
FR2646254B1 (fr) | 1996-10-31 |
DE4011278A1 (de) | 1990-10-25 |
GB2232514A (en) | 1990-12-12 |
GB2232514B (en) | 1993-09-01 |
KR900016842A (ko) | 1990-11-14 |
CN1046987A (zh) | 1990-11-14 |
US5553297A (en) | 1996-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
NL9000984A (nl) | Programmeerbare regelaar. | |
US4298928A (en) | Data transfer system for data exchange between two operation processors | |
EP0586813B1 (en) | Programmable controller with ladder diagram macro instructions | |
EP0470322B1 (en) | Message-based debugging method | |
JP2829091B2 (ja) | データ処理システム | |
CN101730881A (zh) | 包括多个处理器的系统以及操作该系统的方法 | |
JP2669816B2 (ja) | プロセス間通信を行うマイクロコンピュータ及びマイクロコンピュータシステムにおける複数の同時プロセスを動作させる方法 | |
JPH09198119A (ja) | 操作ボード、リモートi/o通信制御方式 | |
EP0239078B1 (en) | Register saving/restoring system | |
US4703446A (en) | Data processing unit diagnosis control apparatus | |
US4884195A (en) | Multiprocessor system for loading microprograms into a RAM control store of a bus controller | |
JP2000339008A (ja) | プログラマブルコントローラ | |
US7603542B2 (en) | Reconfigurable electric computer, semiconductor integrated circuit and control method, program generation method, and program for creating a logic circuit from an application program | |
GB2244828A (en) | Programmable controller | |
US20150253756A1 (en) | Programmable controller | |
JPH0410081B2 (nl) | ||
US6185700B1 (en) | Method and device for evaluating a program | |
JPS5941214B2 (ja) | 状態監視方式 | |
JPH03237502A (ja) | プログラマブル・コントローラ | |
EP0089194B1 (en) | Method and apparatus for displaying ladder diagrams | |
JP3038279B2 (ja) | プログラマブルコントローラシステム | |
US5878247A (en) | Automatic data backup apparatus for microcomputer | |
JP2826781B2 (ja) | データ転送方式 | |
JP3496436B2 (ja) | プログラマブルコントローラ | |
SU1035596A2 (ru) | Устройство дл сопр жени двух вычислительных машин |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A1A | A request for search or an international-type search has been filed | ||
BB | A search report has been drawn up | ||
BC | A request for examination has been filed | ||
BV | The patent application has lapsed |