Antallet af ind-- / udgange og nummereringen af ind-- / udgange for CPM1 CPU og udvidelsesenhed ses nedenfor.
TypeForsyn-
10 ind-- /
udgange
20 ind-- /
udgange
30 ind-- /
udgange
ing
110--240
VAC
24 VDCCPM1-10CDR-D
110--240
VAC
24 VDCCPM1-20CDR-D
110--240
VAC
24 VDCCPM1-30CDR-D
Ud-
gange
Relæer
Model
CPM1-10CDR-A
CPM1-20CDR-A
CPM1-30CDR-A
IndgangeUdgangeIndgangeUdgange
6
12
18
00100 til 00105
Kun CPUMed udvidelsesenhed
4
8
01100 til 01103
18
24
12
16
5
Installation og fortrådningAfsnit 1
1-1-6Fortrådning af indgange
Fortråd indgangene til PLC’ens CPU-- og I/O udvidelsesenheder, som vist på
det følgende diagram.
CPM1-10CDR-j CPUDen visteCPUerenAC--type. DC-typen har ikke indbygget 24 VDC følerforsyn-
ing
VCC
Signalgivere
COM
24 VDC, 300 mA intern strømforsyning
CPM1-20CDR-j CPU og
CPM1-20EDR I/O
udvidelsesenhed
Diagrammet viser indgangskonfigurationen for CPM1-20CDR-j CPU og
CPM1-20EDR I/O udvidelsesenhed.
VCC
Signalgivere
COM
CPM1-30CDR-j CPUDiagrammet viser indgangskonfigurationen for CPM1-30CDR-j CPU.
VCC
Signalgivere
COM
6
Installation og fortrådningAfsnit 1
Signalgivere (initiatorer)Det følgende skema viser, hvordan forskellige signalgivere forbindes.
UdstyrForbindelsesdiagram
Relæudgang
Relæ
IN
5 mA/12 mACPM1
COM (+)
NPN åben collector
NPN strømudgang
PNP strømudgang
Spændingsudgang
Sensor
(føler)
Konstant strøm-kreds
+
Udgang
0 V
Følerstrøm-forsyning
5 mA/12 mA
+
Udgang
5 mA/12 mA
0 V
+
5 mA/12 mA
Udgang
0 V
+
Udgang
0 V
Følerstrøm-forsyning
Følerstrøm-forsyning
IN
COM (+)
Brug samme strømforsyningtil
sensor og indgang.
IN
+
COM (+)
IN
COM (+)
COM (+)
IN
CPM1
CPM1
CPM1
CPM1
1-1-7Fortrådning af udgange
Forbind udgangene til CPM1’s CPU og I/O udvidelsesenheder som vist i det
følgende diagram.
· Brug enten entrådet ledning eller ledningstyller ved flertrådet.
· Overbelast hverken den enkelte udgang eller den enkelte common.
Udgangsmærkestrøm2 A (250 VAC eller 24 VDC)
Common mærkestrøm4 A/common
EmneSpecifikationer
7
Installation og fortrådningAfsnit 1
CPM1-10CDR-j CPUDen viste CPU eren AC--type. DC-typen har ikke intern24 VDC strømforsyning
Load
Load
Load
Load
CPM1-20CDR-j CPU og
CPM1-20EDR I/O
udvidelsesenhed
Det følgende diagram viser udgangskonfigurationen for CPM1-20CDR-j CPU
og CPM1-20EDR I/O udvidelsesenhed.
Load
Load
Load
Load
Load
Load
Load
Load
CPM1-30CDR-j CPUDette diagram viser udgangskonfigurationen for CPM1-30CDR-j CPU.
Load
Load
Load
Load
Load
Load
Load
Load
Load
Load
Load
Load
ForholdsreglerVær opmærksom på følgende forholdsregler med henblik på beskyttelse af
PLC’ens interne komponenter.
Kortslutningsbeskyttelse af udgangene
Udgangene eller de interne kredsløb kan blive beskadiget, hvis belastningen,
der er forbundet til udgangen, kortsluttes. Derfor anbefales det at placere sikringer til beskyttelse mod disse skader i udgangskredsløbene.
Induktive belastninger
Ved forbindelse af induktive belastninger til en udgang, skal udgangen be-skyttes med en stødstrømsbeskyttelse, RC--led eller diode afhængigt af styrestrømmen.
Komponenter til stødstrømsbeskyttelse skal opfylde følgende krav:
OUT
CPM1 Relæudgang
COM
RC--led
8
Installation og fortrådningAfsnit 1
Dioden skal opfylde følgende krav:
Gennembrudsspændingen i spærreretningen skal mindst være tre gange
så stor som belastningsspændingen.
Middelværdien for den ensrettede støm skal være 1 A.
OUT
CPM1 Relæudgang
COM
Diode
1-1-8Forbindelse af perifære enheder
CPM1 CPU kan forbindes med en C200H-PRO27-E programmeringsenhed
med et standard C200H-CN222 (2 m) eller C200H-CN422(4 m) forbindelseskabel. CPM1 CPU kan også forbindes med en CQM1-PRO01-E, som er forsynet
med et 2-m forbindelseskabel.
1-1-9Host Link forbindelser
Host Link er et kommando/svar kommunikationssystem, hvor kommandoerne
sendes fra hostcomputeren og de tilsvarende svar sendes tilbage fra de tilsluttede PLC’er. Host Link kommandoer bruges til at læse/skrive data i PLC’ernes
dataområder og læse/skrive PLC opsætninger.
1:1 Host Link forbindelseCPM1 CPU kan kobles til en IBM PC/ATkompatibel computereller enoperatør--
terminal med en RS-232C adapter, som vist på det følgende diagram.
PT
Response
RS-232C
Adapter
CPM1 CPU
Command
Response
RS-232C
Adapter
CPM1 CPU
Command
9
Installation og fortrådningAfsnit 1
Det følgende diagram viser forbindelserne i det RS-232Ckabel, der bruges til at
forbinde en CPM1 med en host computer eller en operatørterminal.
IBM PC/AT compatible computer
operatørerminal eller 1:1 link
Ben nrSignal
FG
SD
RD
RS
CS
--
--
--
SG
1
2
3
4
5
6
7
8
9
Note Når CPM1 forbindes til en host computer, så sæt RS-232C adapterens mode
switch til “HOST.”
1-1-10 1:1--Link (PLC sammenkobling)
En CPM1 kan kobles sammen med en CPM1, CQM1, eller C200HS PLC med
en RS-232C adapter. Den ene PLC fungerer som master og den anden som
slave. Master styrerkommunikationen, og der er 16ord eller 256 bit til rådighed
til 1:1--Link kommunikation i LR området (LR 0000 til LR 1515).
RS-232C Adapter
Ben nrSignal
1
2
3
4
5
6
7
8
9
FG
SD
RD
RS
CS
--
--
--
SG9
RS-232C adapter
(se note)
SKRIV
LÆS
LR 00
LR 07
LR 08
LR 15
RS-232C kabel
CPM1 CPU
Link bit
SKRIVE
område
LÆSE
område
RS-232C adapter
(se note)
Link bit
LÆSE
område
SKRIVE
område
CPM1 CPU
LR 00
LÆS
LR 07
LR 08
SKRIV
LR 15
10
Installation og fortrådningAfsnit 1
Note 1:1 PLC sammenkobling kræver en RS-232C adapter (CPM1-CIF01) på
CPM1--CPU’ens periferiport.
Sæt DIP switchen på RS-232C adapter (CPM1-CIF01) til NT--Link (ned).
11
Afsnit 2
PLC Setup og tilhørende funktioner
Dette afsnit forklarer PLC Setup og tilhørende CPM1 funktioner, incl. interruptafvikling og kommunikation. PLC Setup
bruges til at styre PLC’ens virkemåde.
PLC Setup’en er inddelt i 4 kategorier: 1) opsætning relateret til PLC’ens
grundlæggende virkemåde, 2) opsætning relateret til scantid, 3) opsætning relateret til interrupt og 4) opsætning relateret til kommunikation.
Nedenstående tabel viser PLC Setup for CPM1. PLC’en skal være i STOP/
PROGRAM mode, førend DM6600 til DM6655 kan overføres til den.
ordBitFunktion
Grundlæggende opsætning (DM 6600 til DM 6614)
Følgende opsætningsdata får først virkning efter overførsel til PLC’en, efter at PLC’en slukkes og tændes igen
DM 6600
DM 6601
DM 6602
DM 6603 til
DM 6614
Opsætning relateret til scantid (DM 6615 til DM 6619)
Følgende opsætningsdata får virkning efter overførsel til PLC’en så snart PLC’en sættes i RUN eller MONITOR mode.
DM 6615,
DM 6616
DM 6617
DM 6618
DM 661900 til 15Scantid
00 til 07Opstarts mode (Får virkning hvis bit 08 til 15 er sat til 02).
00: PROGRAM; 01: MONITOR eller 02: RUN
08 til 15Hvad bestemmer opstarts mode
00: Nøgleswitchen på håndprogrammeringsenheden
01: Start op i samme mode, som PLC’en var i, da den blev slukket
02: Opstarts mode bestemmes af bit 00 til 07
00 til 07Sæt til 00
08 til 11IOM Hold Bit (SR 25212) Status (Skal status af IR bit og LR bit bibeholdes når PLC’en går i
STOP/PRG mode)
0: Reset; 1: Bibehold
12 til 15Tvangsstyret status hold bit (SR 25211) status (skal status af tvangsstyrede kontakter bibe-
holdes eller resettes når PLC’en går i STOP/PRG mode)
0: Reset; 1: Bibehold
00 til 03Programhukommelse skrivebeskyttes eller ej
0: Program hukommelse kan overskrives
1: Programhukommelse skrivebeskyttet (Undtagen DM 6602)
04 til 07Håndprogrammeringsenhedens sprog
0: Engelsk; 1: Japansk
08 til 1500: Expansion funktioner kan ikke overføres til PLC
01: Expansion funktioner kan overføres til PLC
00 til 15Reserveret (sæt til 0000)
00 til 15Reserveret (sæt til 0000)
00 til 07Betjeningstid for periferiport (Får virkning hvis bit 08 til 15 er sat til 01)
00 til 99 (BCD): Procentdel af scantid til betjening af periferiport
08 til 15Periferiportens betjeningstidsopsætning
00: 5% af scantiden
01: Opsætning i bit 00 til 07.
00 til 07Scan moniteringstid (Får virkning hvis bit 08 til 15 er sat til 01, 02, eller 03)
00 til 99 (BCD): Indstilling (se 08 til 15)
08 til 15Scan monitering enable (”tillades”) (Indstilling i 00 til 07 x unit; 99 S max.)
00: 120 mS (Indstilling i bit 00 til 07 disables)(”forbydes”)
01: Opsætningsenhed: 10 mS
02: Opsætningsenhed: 100 mS
03: Opsætningsenhed: 1 S
0000: Variabel (intet minimum)
0001 til 9999 (BCD): Minimum tid i mS
13
DM662
2
DM662
3
DM662
4
DM662
5
DM662
8
CPM1 PLC SetupAfsnit 2--1
ordFunktionBit
Interrupt eksekvering (DM 6620 til DM 6639)
Følgende opsætningsdata får virkning efter overførsel til PLC’en så snart PLC’en sættes i RUN eller MONITOR mode.
DM 6620
DM 6621
DM 6622
DM 6623
DM 6624
DM 6625
DM 6626 til
DM 6627
DM 6628
DM 6629 til
DM 6641
High-speed tæller opsætning (DM 6640 til DM 6644)
Følgende opsætningsdata får virkning næste gang PLC’en sættes i RUN.
DM 6640 til
DM 6641
DM 6642
DM 6643,
DM 6644
00 til 03Indgangsfilter konstant for IR 00000 til IR 00002
0: 8 mS; 1: 1 mS; 2: 2 mS; 3: 4 mS; 4: 8 mS; 5: 16 mS; 6: 32 mS; 7: 64 mS; 8: 128 mS
04 til 07Indgangsfilter konstant for IR 00003 og IR 00004 (Samme opsætning som bit 00 til 03)
08 til 11Indgangsfilter konstant for IR 00005 og IR 00006 (Samme opsætning som bit 00 til 03)
12 til 15Indgangsfilter konstant for IR 00007 og IR 00011 (Samme opsætning som bit 00 til 03)
00 til 07Indgangsfilter konstant for IR 001
mS
08 til 15Indgangsfilter konstant for IR 002 (Samme opsætning som for IR 001.)
00 til 07Indgangsfilter konstant for IR 003 (Samme opsætning som for IR 001.)
08 til 15Indgangsfilter konstant for IR 004 (Samme opsætning som for IR 001.)
00 til 07Indgangsfilter konstant for IR 005 (Samme opsætning som for IR 001.)
08 til 15Indgangsfilter konstant for IR 006 (Samme opsætning som for IR 001.)
00 til 07Indgangsfilter konstant for IR 007 (Samme opsætning som for IR 001.)
08 til 15Indgangsfilter konstant for IR 008 (Samme opsætning som for IR 001.)
00 til 07Indgangsfilter konstant for IR 009 (Samme opsætning som for IR 001.)
08 til 15Reserveret
00 til 15Reserveret
00 til 03Opsætning af indgang IR 00003 (0: Normal indgang; 1: Interrupt indgang 2: Hurtig--respons)
04 til 07Opsætning af indgang IR 00004 (0: Normal indgang; 1: Interrupt indgang; 2: Hurtig-respons)
08 til 11Opsætning af indgang IR 00005 (0: Normal indgang; 1: Interrupt indgang; 2: Hurtig-respons)
12 til 15Opsætning af indgang IR 00006 (0: Normal indgang; 1: Interrupt indgang; 2: Hurtig-respons)
00 til 15Reserveret
00 til 15Reserveret
00 til 03High-speed tæller mode
0: Op/ned mode; 4: OP-- tæller mode
04 til 07High-speed tæller reset metode
0: Z fase og software reset; 1: Software reset kun
08 til 15High-speed tæller enable
00: Ingen high--speed tæller; 01: High-speed tæller med opsætning i 00 til 07
00 til 15Reserveret
14
CPM1 PLC SetupAfsnit 2--1
ordBitFunktion
Periferiport opsætning
Følgende opsætningsdata får virkning efter overførsel til PLC’en så snart PLC’en sættes i RUN eller MONITOR mode.
DM 6645 til
DM 6649
DM 6650
DM 6651
DM 665200 til 15Transmissionsforsinkelse (Host Link)
DM 6653
DM 665400 til 15Reserveret
Opsætning af fejllogning (DM 6655)
Følgende opsætningsdata får virkning, så snart de er overført til PLC’en.
DM 6655
00 til 15Reserveret
00 til 07Port opsætning
00: Standard (1 start bit, 7 data bits, lige paritet, 2 stop bits, 9,600 bps)
01: Opsætning i DM 6651
(Andre opsætninger vil medføre en ikke-fatal fejl og standardopsætningen (00) bruges.)
08 til 11Link område ved 1:1--link via periferi port:
0: LR 00 til LR 15
12 til 15Kommunikations mode
0: Host link; 2: 1:1--link (slave); 3: 1:1--link (master); 4: NT link
(Andre opsætninger vil medføre en ikke-fatal fejl og standardopsætningen (00) bruges.)
00 til 07Kommunikationshastighed (Baud rate)
00: 1.2K, 01: 2.4K, 02: 4.8K, 03: 9.6K, 04: 19.2K
08 til 15Frame format
Mellem ind/udgange og PC : Optokoblere
Mellem udgangsterminalerne : Ingen
60mA max. (5VDC)
60mA max. (24VDC)
0V til +10V
--10V til +10V
1/256 (0V til +10V)
1/512 (--10V til +10V)
0V til +10V
+1V til +5V
±15V
30mA
16
CPM1 PLC SetupAfsnit 2--1
NoteDette er tiden for en komplet opdatering af indgange og udgange på modulet.
-- Spændingsudgang og strømudgang kan bruges samtidig såfremt den samlede strøm ikke overstiger 21mA.
-- Data skrevet til udgangskanalen kan bruges til både strøm og spændingsudgang.
-- Data læst fra indgangskanalen kan bruges til strøm eller spændingsindgang.
Opsætning af dataområder
Efter opstart skal du definere dine dataområder.
Disse områder opsættes ved at skrive FF0x til udgangskanalen på CPM1A--MAD01 (se tabellen nedenfor):
Område
Kode
FF000 til 10 V
FF01--10 til 10 V
FF020 til 10 V
FF03--10 til 10 V
FF040 til 10 V
FF05--10 til 10 V
FF060 til 10 V
FF07--10 til 10 V
UdgangIndgang1 Indgang 2
0 til 10 V0 til 10 V
4 til 20mA
0 til 10 V0 til 10 V
4 til 20mA
4 til 20mA
4 til 20mA
4 til 20mA
4 til 20mA
4 til 20mA
4 til 20mA
1 til 5 V
4 til 20mA
1 til 5 V
4 til 20mA
0 til 10 V1 til 5 V
0 til 10 V1 til 5 V
1 til 5 V
4 til 20mA
1 til 5 V
4 til 20mA
0 til 10 V
0 til 10 V
4 til 20mA
4 til 20mA
1 til 5 V
4 til 20mA
1 til 5 V
4 til 20mA
NOTEStart altid med opsætningen ved opstart af PLC, ellers vil CPM1A--MAD01 ikke konvertere ind og udgangene. Dette kan fx.
gøres ved, i første scan at flytte værdien ned i kanalen med en Move fun(21) funktion
Kanal allokation
CPU
10CDj
20CDj
30CDj
Udgangskanal
MAD01
1112
1112
1223
Indgangskanal 1
MAD01
Indgangskanal 2
MAD01
17
CPM1 PLC SetupAfsnit 2--1
IR bit allokation
1514131211109876543210
s/bxxxxxxxdddddddd
Bruges ikke(0)databits
s: Fortegnsbit bit
0positiv spændingsudgang
1negativ Spændingsudgang
b: Ledningsbrud bit
0Ingen ledningsbrud
1Ledningsbrud
1. Fortegnet er kun gældende hvis området er sat til --10V til +10V.
2. Ledningsbrud bittet vil blive sat hvis der er valgt 1--5V/4--20mA som indgangsområde, og spændingen/strømmen kommer under
1V/4mA.
1
2
Fortrådning
UdgangeIndgange
CPM1A--MAD01
Kabel_
Skærmet parsnoet
Spænding
Strøm
Spænding
Kabel:
Skærmet parsnoet
Data
18
Udgang
Spænding/strøm
Strøm
Indgang
Spænding/strøm
Udgangsdata
(Hexadecimal)
Indgangsdata
(Hexadecimal)
CPM1 Interrupt Funktioner
Afsnit 2-2
2-2CPM1 Interrupt Funktioner
Dette afsnit forklarer opsætning og metoder ved brug af CPM1 interrupt funktioner.
2-2-1 Interrupt typer
CPM1 har tre typer interrupts (afbrydelser), som beskrevet nedenfor.
indgangsinterrupt
CPM1 PLC’en har to eller fire interrupt indgange. Interrupt af programmet sker,
når en af disse indgange går ON via et eksternt signal.
intervaltimer Interrupt
Interrupt af programmet udføres af en intervaltimer med en nøjagtighed på 0.1
mS.
High-speed tæller Interrupt
High-speed tælleren tæller pulser (indgang 00000 til 00002). Interrupt af programmet sker, når tællingen når SV (Set Værdien) på den indbyggede highspeed tæller.
Interrupt prioritetNår et interrupt er genereret, udføres den angivne interrupt--subrutine. Inter-
Når et interrupt med en højere prioritet modtages, mens et andet interrupt er i
gang, vil den igangværende interrupt--subrutine afbrydes, og interrupt--subrutinen med den højere prioritet vil starte i stedet. Når denne rutine er afviklet, vil
den afbrudte interrupt--subrutine genoptages.
Når et interrupt med lavere prioritet modtages, mens en rutine er i gang, vil det
lavere prioriteret interrupt blive afviklet, når det med højere prioritet er afsluttet.
Når to eller flere interrupts med samme prioritet modtages samtidig, vil de blive
udført i følgende rækkefølge:
interrupt indgange, som er benyttet tilinterrupt, kan ikke bruges som almindelige
indgange.
High-speed tæller
instruktioner og Interrupt
De følgende instruktioner kan ikke udføres i en interrupt subrutine, når den
instruktion, som styrer high-speed tælleren, udføres i hovedprogrammet.
INI(61), PRV(62), eller CTBL(63)
Følgende metoder kan anvendes for at omgå denne begrænsning:
Metode 1
Al udførelse af interrupt kan udmaskes mens instruktionen udføres.
@INT(89)
100
000
000
INI(61)
000
000
000
@INT(89)
200
000
000
19
CPM1 Interrupt Funktioner
1, 2, 3...1. Dette er en del af hovedprogrammet:
Afsnit 2-2
Metode 2
Udfør instruktionen igen i hovedprogrammet.
@PRV(62)
000
002
DM 0000
LR 0000
CTBL(63)
000
000
DM 0000
RSET LR 0000
2. Dette er en programdel af interrupt subrutine:
Note1. Definer interrupt--subrutiner ved afslutningen af hovedprogrammet med
SBN(92) og RET(93) instruktioner, præcis som almindelige subrutiner.
2. Når man definerer en interrupt--subrutine, vil en “SBS UNDEFD” (subrutinekald udefineret) fejl fremkomme under programcheck, men programmet vil
udføres normalt alligevel.
2-2-2 Indgangsinterrupts
CPM1-10CDR-j PLC’en har to interrupt indgange (00003 og 00004), mens
CPM1-20CDR-j og CPM1-30CDR-j PCs har fire interrupt indgange (00003 til
00006). Der er to modes for indgangsinterrupt: indgangsinterrupt mode og
tæller mode.
Note Hvis indgangsinterrupt ikke bruges, kan indgangene 00003 til 00006 bruges
som almindelige indgange.
Indgangsinterrupt opsætning Indgangene 00003 til 00006 skal sættes til interrupt indgangei DM 6628, hvis de
skal anvendes til dette i CPM1. Sæt det tilsvarende bit til 1, hvis indgangen skal
bruges som interrupt indgang (indgangsinterrupt eller tæller mode);Sæt bit til 0,
hvis de skal bruges som almindelige indgange. (Normalopsætning = 0)
OrdOpsætning
Bit
150
DM 6628
Opsætning for 00006: Sæt til 1
Opsætning for 00005: Sæt til 1
Opsætning for 00004: Sæt til 1
Opsætning for 00003: Sæt til 1
Interrupt SubrutinerInterrupt fra indgangene 00003 til 00006 angiver interrupt numrene 00 til 03 og
kalder subrutinerne 000 til 003. Hvis indgangsinterrupt ikke bruges, kan subrutinerne 000 til 003 bruges som almindelige subrutiner.
IndgangsnummerInterruptnummerSubrutinenummer
000030000
000041001
000052002
000063003
IndgangsopdateringNormalt opdateresindgangsbits iPLC--programmet kun een gang pr. scan, hvil-
ket kan give en lille unøjagtighed, hvis indgangsbits f.eks. benyttes i en interrupt--subrutine. Benyt evt. IORF(97) instruktionen i subrutinen, hvis nyeste status af indgange skal benyttes. Skal en udgang aktiveres øjeblikkeligt, benyt da
igen IORF(97) i subrutinen til udgangsaktivering.
Indgangsinterrupt ModeNår signalet fra et indgangsinterrupt modtages, afbrydes hovedprogrammet og
interrupt--subrutinen udføres øjeblikkeligt, uanset hvornår interruptet modtages. Interruptsignalet skal være ON i mindst 200 mS for at blive detekteret.
Hovedprogram
Indgangsinterrupt
Interrupt--subrutine
Hovedprogram
21
CPM1 Interrupt Funktioner
Afsnit 2-2
Brug følgende instruktioner til at programmere indgangsinterrupt, idet man
bruger indgangsinterrupt Mode.
Interrupt med og uden afmaskning
Med instruktionen INT(89) kan interrupts maskes (gøres aktive) og afmaskes
(gøres inaktive).
(@)INT(89)
000
000
Lav opsætning med ord D bit 0 til 3, svarende til indgangsinterrupts 0 til 3.
Alle indgangsinterrupts er masket (inaktive), når PLC’en sættes i RUN. Hvis indgangsinterrupt mode anvendes, så vær sikker på at få gjort indgangene aktive
med INT(89) instruktionen, som vist ovenfor.
At afmaske Interrupts
Hvis det bit, der svarer til et indgangsinterrupt går ON, mens det er masket, vil
det pågældende interrupt blive gemt i hukommelsen, og det vil da blive udført,
så snart interruptet afmaskes. Hvis det indgangsinterrupt ikke skal blive udført
efter afmaskning, skal interruptet cleares fra hukommelsen.
Der gemmes kun eet interruptsignal i hukommelsen for hvert interruptnummer.
INT(89) instruktionen fjerner indgangsinterrupt fra hukommelsen således:
(@)INT(89)
001
000
Hvid Dbit 0 til 3, som svarer til indgangsinterrupt 0til 3,sættes
til “1,” så fjernes indgangsinterrupt fra hukommelsen.
Når indgang 00003 (interrupt nr.0) gårON, gåroperationen øjeblikkeligttil interrupt programmet med subrutine nummer 000. Indgange i DM 6628 er sat til
0001.
25315 Første scan flag
ON i 1 scan
@INT(89)
000
indgangsinterrupt mask/afmask.
000
#000E
SBN(92)000
RET(93)
Afmask00003(interrupt indgang 0), resten maskes.
Interrupt program
Tæller ModeSignaler fra interrupt indgange tælles, og et interrupt genereres, når tællingen
når den valgte set værdi. Når et interrupt genereres, afbrydes hovedprogrammet og interrupt--subrutinen udføres. Signaler op til 1 kHz kan tælles.
22
CPM1 Interrupt Funktioner
Afsnit 2-2
Hovedprogram
Indgangsinterrupt
Interrupt--subrutine
Set Værdi (SV)
Hovedprogram
Brug følgende trin i programmet for at programmere indgangsinterrupt til tæller
Mode.
1, 2, 3...1. Programmer SV (set værdier) for tælleren i SR ordsom vist i følgende tabel.
SV skrives mellem 0000 og FFFF (0 til65,535). Enværdi på0000 gørtællingen inaktiv, indtil en ny værdi skrives og trin 2 nedenfor gentages.
SR ord, som bruges i tællermode (SR 240 til SR 243), indeholder hexadecimale data, ikke BCD. Hvis tællermode ikkeanvendes, kandisse ordbruges
som almindelige bits.
Note Disse SR ord resettes, når PLC’en sættes i RUN, og derfor skal de
indstilles i programmet.
2. INT(89) instruktionen opdaterer tæller mode set værdi og aktivering af interrupt.
(@)INT(89)
003
000
Hvis D bit 0 til 3, som passer til indgangsinterrupt 0 til 3,
sættes til “0,” så vil SV blive opdateret og interrupt kan
udføres.
0: Tæller mode SV opdateres, samt afmaskning.
D
1: Opdateres ikke.
Sæt det bit, der passer til “1”, hvis et indgangsinterrupt ikke skal aktiveres.
Det indgangsinterrupt, hvis SV opdateres, er aktiv og i tæller Mode. Når tællingen når SV, vil et interrupt genereres, tælleren resettes. Både tælling og interrupt fortsætter, indtil tælleren stoppes.
Note1. Hvis INT(89) instruktionen udføres under tællingen, vil den aktuelle værdi
(PV) ændres tilSV. Derfor skal man anvende den flankestyrede (@) variant
af instruktionen, for ellers genereres interruptet aldrig.
2. SV sættes, når INT(89) instruktionen udføres. Hvis interrupt allerede er i
gang, så vil SV ikke ændres ved en ændring af indholdet i SR 240 til SR 243.
Det vil sige, at hvis indholdet ændres, skal SV opdateres ved at udføre
INT(89) instruktionen igen.
Interrupt kan maskes ved at bruge samme fremgangsmåde som ved indgangsinterrupt mode, men hvis de maskede interrupt afmaskes med den fremgangsmåde, vil interrupt virke i indgangsinterrupt mode og ikke i tæller mode.
Interrupt signaler som modtages for maskedeinterrupt kanogså afmaskes med
den samme fremgangsmåde som ved indgangsinterrupt mode.
Tæller PV (aktuel værdi) i tæller Mode
Når der bruges indgangsinterrupts i tællermode, gemmes tællernes PV i de SR
ord, der passer til indgangsinterrupt 0 til 3. Værdierne er 0000 til FFFE (0 til
65,534) og vil være lig med tællerens PV minus en.
23
CPM1 Interrupt Funktioner
Note Hvis indgangsinterrupt ikke anvendes i tæller mode, kan disse SR bits ikke
Eksempel: Den aktuelle værdi for et interrupt, hvis SV er 000A, vil opfattessom
0009, umiddelbart efter at INT(89) er udført.
bruges som almindelige bits.
Programeksempel
Hvis indgang 00003 (interrupt nr. 0) går ON 10 gange, går operationen øjeblikkeligt til interrupt--subrutinen med subrutine nummer 000. Den følgende tabel
viser, hvor tællerens SV og PV--1 gemmes. Indgangene for DM 6628 er blevet
sat til 0001.
Interruptord indeholdendeSVord indeholdende
Indgang 00003 (Indgangsinterrupt 0)
Indgang 00004 (Indgangsinterrupt 1)
Indgang 00005 (Indgangsinterrupt 2)
Indgang 00006 (Indgangsinterrupt 3)
25315 Første scan flag
ON i 1 scan
MOV(21)
@INT(89)
SBN(92)000
RET(93)
SR 240SR 244
SR 241SR 245
SR 242SR 246
SR 243SR 247
#000A
#000E
Sætter SV til 10. (0000 til FFFF)
240
ord som indeholder SV (SR 240)
003
Opdaterer tæller SV.
000
Opdaterer kun SV for 00003 (interrupt indgang 0).
Interrupt--subrutine
PV--1
2-2-3 Afmaskning af alle interrupts
Brug INT(89) instruktionerne parvis, idet den første INT(89) instruktion masker
og den anden afmasker interrupts.
Maskning af interruptsBrug INT(89) instruktionen til at gøre alle interrupts inaktive.
(@)INT(89)
100
000
000
Hvis et interrupt genereres, mens interrupts er maskede, vil interrupt af programmet ikke udføres, men indgangs --, intervaltimer --, og high-speed tæller interrupts vil blive registreret, og derefter afviklet, så snart interrupts afmaskes.
24
CPM1 Interrupt Funktioner
Afmaskning af interruptBrug INT(89) instruktionen til at afmaske interrupts som følger:
(@)INT(89)
200
000
000
2-2-4 Intervaltimer interrupt
CPM1 PLC’en er udstyret med en intervaltimer. Når intervaltimerens tid er
udløbet, afbrydes hovedprogrammet, og interrupt--subrutinen udføres øjeblikkeligt.
Operation
Opstart i One-Shot Mode
Brug STIM(69) instruktionen til at starte intervaltimeren i one-shot mode.
Afsnit 2-2
(@)STIM(69)
C1: intervaltimer, one-shot mode (000)
C
1
C2: Timer SV (første ordadresse)
C
2
C3: Subrutine nr. (4 cifre BCD): 0000 til 0049
C
3
1, 2, 3...1. Når C2programmeres som ord adresse:
C2: Tæl--ned tællers set værdi (4 cifre BCD): 0000 til 9999
C2+ 1: Tidsinterval for nedtælling (4 cifre BCD; enhed: 0.1 mS): 0005 til
0320 (0.5 mS til 32 mS).
Hver gang den tid, som intervallet er sat til i ord C2+ 1, er gået, vil tælleren
tælle een ned. Når PV når 0, vil den angivne subrutine blive kaldt een gang ,
og timeren vil herefter standse.
Den måde tiden beregnes på, fra STIM(69) instruktionen udføres og indtil
tiden er gået, er som følger:
(Indhold i C2) ´ (Indhold i C2+ 1) ´ 0.1 mS = (0.5 til 319,968 mS)
2. Når C2programmeres som en konstant:
Konstanten angiver tæl--ned tællerens set værdi, og tidsintervallet for
nedtælling vil være 10 ms.
Opstart i Tidsstyret Interrupt Mode
Brug STIM(69) instruktionen til at starte intervaltimeren i tidsstyret interrupt
mode.
1, 2, 3...1. Når C2programmeres som en ord adresse:
C2: Tæl--ned tællers SV (4 cifre BCD): 0000 til 9999
C2+ 1: Tidsinterval for nedtælling (4 cifre BCD; enhed: 0.1 mS): 0005 til
0320 (0.5 mS til 32 mS)
Opsætningens betydning er den samme som i one-shot mode, men i tidsstyret interrupt mode vil timeren resettes til SV og nedtællingen vil starte
igen efter at subrutinen er blevetkaldt. Itidsstyret interruptmode vil interrupt
fortsætte med de fastsatte intervaller, indtil timeren stoppes.
2. Når C2indskrives som en konstant:
Opsætningens betydning er den samme som i one--shot mode, men inter-
rupt fortsætter med de fastsatte intervaller, indtil timeren stoppes.
25
programmeres.
CPM1 Interrupt Funktioner
Afsnit 2-2
Læsning af timerens PV tid (mellemtid)
Brug STIM(69) instruktionen til at læse timerens mellemtid.
(@)STIM(69)
C1: Læsning af mellemtid (006)
C
1
C2: Første ord i parameter 1
C
2
C3: Parameter 2
C
3
C2: Det antal gange, tælleren har talt ned (4 cifre BCD)
C2+ 1: Tællerens tidsinterval (4 cifre BCD; enhed: 0.1 mS)
C3: Den tid, der er gået fra sidste nedtælling. (4 cifre BCD; enhed: 0.1 mS)
Den måde tiden beregnes, fraintervaltimeren startede, til instruktionen udføres,
er som følger:
{(Indhold i C2) ´ (Indhold i C2+ 1) + Indholdi C3)}´ 0.1 mS = (0.5 til319,968 mS)
Hvis den angivne intervaltimer stoppes, vil “0000” blive gemt.
At stoppe timeren
Brug STIM(69) instruktionen til at stoppe intervaltimeren. intervaltimeren
stoppes således:
(@)STIM(69)
C
1
C1: Stop intervaltimer (010)
000
000
2-2-5 High-speed tæller Interrupt
CPM1 PLC’en har en high-speed tæller funktion, som kan bruges i en--kanal
(optæller) mode eller to--kanal (op/ned) mode. High-speed tælleren kan generere interrupts i henhold til en programmeret målværdi--tabel eller områdeforvalgstabel.
High-speed tællerens signaler er indgangene 00000 til 00002.
ModeIndgangsfunktionerIndgangsformTælle--
Op/ned00000: A-faseindgang
00001: B-faseindgang
00002: Z-faseindgang
Tæl op00000: Tælle
Indgang
00001: Se note.
00002: Reset
indgang
A/B--faserne
faseforskudt 90
grader
Een pulsindgang5.0 kHz max. 0
00000
24VDC
NC
Om--
frekvens
råde
2.5 kHz max. --32767
til
32767
til
65535
00001
00002
Styreform
Styring af målværdier:
Op til 16 målværdier og interrupt
subrutine numre kan
Områdeforvalg:
Op til 8 stk. øvre grænseværdier,
nedre grænseværdier og interrupt
subrutine numre kan
programmeres.
Note I optæller mode kan indgang (00001) bruges som almindelig indgang.
26
DM664
2
Funktio
n
CPM1 Interrupt Funktioner
Afsnit 2-2
High-speed tæller Opsætning Følgende opsætning skal laves i DM 6642, når man bruger CPM1’s high-speed
tæller funktion.
DM 6642
Bit
00 til 03Bestemmer tæller mode:
0: Op/ned
4: Tæl op
04 til 07Bestemmer reset metode:
0: Z-fase + software reset
1: Software reset
08 til 15Benyt indgangene som high
speed tæller:
00: Tæller bruges ikke.
01: Tæller bruges.
Funktion
Tæl opOp/nedUbenyttet
400 eller 4
0 eller 10 eller 10 eller 1
010100
Opsætning
Tælle områdeCPM1’s high-speed tæller arbejder lineært og tællingen (PV) sker i SR 248 og
SR 249. (De fire højeste cifre i SR 248 og de fire mindste cifre i SR 249.)
ModeTælle område
Op/nedF003 2767 til 0003 2767 (--32,767 til 32,767)
Tæl op0000 0000 til 0006 5535 (0 til 65,535)
Cifret længst til venstre i SR 248 viser fortegn. F er negativ, 0 er
positiv.
Der vil optræde overflow, hvis tællingenoverskrider øvregrænse itælleområdet
og underflow, hvis tællingen passerer nedre grænse i tælleområdet.
FejlTæl op modeOp/ned modeØjebliks
OverflowFremkommer, hvis der
tælles over 65,535.
Underflow ---Fremkommer, hvis der
Fremkommer, hvis der
tælles over 65,537.
tælles under 65,537.
værdi
0FFF FFFF
FFFF FFFF
VirkemådeTo typer signaler kan bruges som pulsindgang. Tællerens mode afhænger af
signaltypen. Tælle mode og reset mode bestemmes i DM 6642. Disse
opsætninger aktiveres, når PLC’en sættes i RUN.
Op/ned mode:
Der bruges tre indgangssignalerA-fase , B-fase og evt. Z-fase fra en encoder. Tælleren tæller op eller ned afhængigt af forskellen i de to fasesignaler.
Denne forskel bestemmes af, om encoderen drejer højre eller venstre om,
som vist i nedenstående diagram.
Tæl op mode:
Der bruges eetpulssignal ( indgang 00000) ogevt. et reset signal. Tælleren
tæller op styret af disse to signaler.
A-Fase
B-Fase
Tæl-ling
Op/ned Mode
1 2 3 4 5 6 7 8 7 6 5 4 3 2 1 0 --1 --2
OptællingNedtælling
Pulsindgang
Tæl-ling
Tæl op
1234
Kun optælling
Note En af de resetmetoder, der beskrives nedenfor, skal altid bruges inden genstart
af tælleren. Tælleren resettes automatisk, når PLC’en sættes i RUN.
27
CPM1 Interrupt Funktioner
Afsnit 2-2
Følgende signalgang medfører, at tælleren tæller op: A-Fase stigende flanke før
B-Fase stigende flanke, og som følge heraf, A-Fase faldende flanke før B-Fase
faldende flanke. Tælleren vil tælle ned, hvis B--Fasesignalet kommer før
A--Fase signalet. Derfor: Drejer encoderen den ene vej, tælles der op, og drejer
den den anden vej, tælles der ned.
Op/ned Mode er specielt bestemt for encodere. Encodere fremstilles med forskellige antal pulser pr. omdrejning. Vælg derfor en encoder der passer sammen med tællerens tælleområde og max. frekvens.
Reset Metoder
En af de to metoder, der beskrives nedenfor, kan anvendes til reset af tællerens
PV (aktuel værdi).
Z-Fase signal + software reset:
PV resettes, når Z-Fase signalet (resetindgangen) går ON og High-speed
tællerens resetbit (SR 25200) er ON.
Software reset:
PV resettes, når High-speed tællerens resetbit (SR 25200) går ON.
Z-Fase (resetindgang)
SR25200
1/flere scan
Z-Fase signal + software reset
I en scan
Resettesaf
interrupt.
1 eller flere scan
Resettes
ikke.
SR25200
I en scan
Resettes
ikke.
Software reset
1 eller flere scan
Reset af scan.
Note High-speed tællerens resetbit (SR 25200) opdateres en gang i hvert scan. Der-
for skal det være ON i mindst et scan, hvis man skal være sikker på at resette.
Encoderens Z--signal er en indikering af, at encoderen er drejet en omgang.
High-speed tæller Interrupt
Ved high-speed tæller interrupt, bruges en sammenligningstabel i stedet for en
set værdi. Kontrol af tællingen kan udføres på en af de to måder, der beskrives
nedenfor. I sammenligningstabellen gemmes sammenligningsbetingelser og
kombinationer for interrupt--subrutiner.
Målværdi:
Et maximum på 16 sammenligningsbetingelser (tælleværdi, tælle-- retning
og interrupt--subrutine) gemmes i sammenligningstabellen. Når tællerens
PV og tælleretning passer til en målværdi, udføres den angivne interrupt-subrutine.
Område (zone) for sammenligning:
I sammenligningstabellen gemmes 8 områder med nedre og øvre grænser
samt interrupt--subrutine nummer. Når tællerens PV ligger indenfor et
område, det vil sige lig med eller større end nedre grænse og lig med eller
mindre end øvre grænse, udføres den angivne interrupt--subrutine.
ProgrammeringBrug følgende fremgangsmåde ved programmering af high-speed tælleren.
High-speed tælleren begynder at tælle, når den korrekte opsætning i PLC Setup
er programmeret, men sammenligninger med sammenligningstabellenog deraf
følgende interrupt genereres ikke,medmindre CTBL(63) instruktionen udføres.
High-speed tælleren resettes (nulstilles), når PLC’en sættes i RUN.
High-speed tællerens PV opbevares i SR 248 og SR 249.
28
CPM1 Interrupt Funktioner
1, 2, 3...1. Brug CTBL(63) instruktionen til at aktivere sammenligningstabellen:
Afsnit 2-2
Styring af High-speed tæller Interrupt
(@)CTBL(63)
C: (3 cifre BCD)
P
000:Opsæt målværdier og start sammenligning
C
001:Opsæt områdeforvalg og start sammenligning
TB
002:Kun opsætning af måltabel
003:Kun opsætning af område
TB: Begyndelsesord for sammenligningstabel
Hvis C sættes til 000, så vil sammenligningen udføres med “målværdimetoden”; og ved 001 vil sammenligningen udføres med “områdeforvalgsmetoden. Sammenligningstabellen registreres og sammenligningen starter.
Mens sammenligningen udføres, vil high-speed interrupt udføres i henhold
til sammenligningstabellen. Der henvises til forklaringen på CTBL(63)
instruktionen i Afsnit 5 Instruktionssæt.
Note Sammenligningsresultaterne lagres normalt i AR 1100 til AR 1107
mens områdeforvalgs--sammenligningen udføres.
Hvis C sættes til 002, vil sammenligningen bliveudført efter “målværdimetoden”. Sættes C til 003, vil sammenligningen blive udført efter “områdeforvalgsmetoden”. Sammenligningen startes så med INI(61) instruktionen.
2. Sammenligningen standses ved at udføre INI(61) instruktionen som vist nedenfor.
(@)INI(61)
000
001
000
Sammenligningen startes igen ved at sætte den anden operand til “000”
(udfør sammenligning) og udføre INI(61) instruktionen.
Når tabellen er registreret, vil den opretholdes i CPM1, mens PLC’en er i
RUN, indtil en anden tabel evt. registreres, eller sammenligningen stoppes
med INI(61).
At læse PV (aktuel værdi)
Man kan læse PV på to måder. Enten læses den i SR 248 og SR 249, eller også
bruges PRV(62) instruktionen.
At læse SR 248 og SR 249
High-speed tællerens PV lagres i SR 248 og SR 249 som vist nedenfor. Cifret
længst til venstre er F for negative værdier og 0 for positive.
4 cifre til venstre 4 cifre til højreOp/ned ModeTæl op Mode
SR 248SR 249F0032767 til 00032767
(--32767)
00000000 til 00065535
Note1. Disse ord opdateres kun en gang i hvert scan, så derfor kan der være en
forskel i forhold til den øjeblikkelige PV.
2. Hvis high-speed tælleren ikke anvendes,kan bittenei disseord brugessom
arbejdsbits.
Brugen af PRV(62) Instruktionen
At læse high-speed tællerens PV med PRV(62) instruktionen:
(@)PRV(62)
P1: Første ord i PV
000
000
P1
29
CPM1 Interrupt Funktioner
Afsnit 2-2
High-speed tællerens PV lagres som vist nedenfor. Cifret længst til venstre er F
for negative værdier og 0 for positive.
4 cifre til venstre4 cifre til højreOp/ned modeTæl op mode
Eksempel på anvendelse
(Tæl op mode)
P1+1P1F0032767 til 00032767
(--32767)
00000000 til 00065535
Den PV, der læses med PRV(62) instruktionen, er den aktuelle.
Ændring af PV (aktuel værdi)
High-speed tællerens PV kan ændres på to måder. Den ene er at resette (nul-stille) med en af resetmetoderne, og den anden er at bruge INI(61) instruktionen. Metoden, hvor man brugerINI(61) instruktionen,er følgende:(med hensyn
til resetmetoderne henvises til beskrivelsen af high-speed tælleren).
Ændring af timer PV med INI(61) instruktionen vises nedenfor.
(@)INI(61)
4 cifre til venstre 4 cifre til højreOp/ned ModeTæl op mode
D+1
D
D: Første ord -- lagring af PV nye data
000
002
D
F0032767 til 0003276700000000 til 00065535
Cifret længst til venstre er F for negative værdier og 0 for positive.
Dette eksempel viser et program, hvor high-speed tælleren bruges med en en-
kelt indgang i Tæl op mode. Sammenligningerne laves efter “målværdimetoden”.
Sammenligningsbetingelserne (målværdier og tælleretning) lagres i sammenligningstabellen med subrutine nummeret. Indtil 16 målværdier kan lagres. Den
tilsvarende subrutine udføres, når tællerens PV passer til målværdien.
De følgende data gemmes til sammenligningstabellen:
Det følgende ladder diagram viser et programmeringseksempel. DM 6642 skal
sættes til 01j4, hvor j er resetmetoden, som kan sættes til 0 eller 1.
Eksempel på anvendelse
(Op/ned Mode)
25315 (ON for first cycle)
CTBL(63)
000
000
DM 0000
SBN(92)030
RET(93)
SBN(92)031
RET(93)
Registrer målværditabel og start sammenlign.
Første ord i sammenligningstabellen
Interrupt--subrutine 30
Interrupt--subrutine 31
Det følgende eksempel viser et program, hvor high-speed tælleren bruges med
en encoder i op/ned Mode. Sammenligningerne laves som områdeforvalgssammenligninger.
Sammenligningsværdierne (øvre og nedre grænser for områderne) lagres i
sammenligningstabellen sammen med subrutine nummeret. Der kan defineres
indtil 8 adskilte områder. Den tilsvarende subrutineudføres, når tællerens PV er
indenfor området.
Note Sæt altid 8 områder. Hvis der ikke erbehov for 8 områder, så sæt overskydende
subrutine numre til FFFF. En værdi på FFFF indikerer, at ingen subrutine skal
udføres.
Det følgende ladderdiagram viser et programmeringseksempel. DM 6642 skal
sættes til 01j0, hvor j er resetmetoden, som kan sættes til 0 eller 1.
25315 (ON for first cycle)
CTBL(63)
000
001
DM 0000
SBN(92)040
RET(93)
SBN(92)041
RET(93)
Register sammenligningstabel, område mode
Første ord i sammenligningstabellen
Interrupt--subrutine 40
Interrupt--subrutine 41
2-3Kommunikationsfunktioner
CPM1 KommunikationCPM1 kan udføre kommunikation på flere forskellige mådervia sinperifære port
med enten en RS-232C adapter eller en RS-422 adapter.
Host Link Kommunikation
CPM1 PLC’en kan deltagei et Host Link System, hvor op til32 PLC’er kan styres
fra en host computer. Ved 1:1 kommunikation bruges en RS-232C adapter og
ved 1:n kommunikation en RS-422 Adapter.
CPM1 udstyret med en RS-232C Adapter kan også kommunikere med en NT
terminal (operatørpanel) ved anvendelse af host link kommandoer.
Der henvises til 2-3-1 CPM1 Host Link kommunikation i denne manual og 1-2-2Host Link kommunikation i Operation Manual for yderligere detaljer.
1:1 Link
Et data--Linkkan opbygges ved at anvende LR--områderne i CPM1, CQM1,eller
C200HS PLC’er. Der bruges en RS-232C adapter til denne 1:1--Link kommunikation.
Der henvises til 1:1--Link kommunikation i denne manual for yderligeredetaljer.
NT Link
Vedbrug af NT link kan CPM1 PLC’en forbindes til enNT terminal (NT Link Interface) via en RS-232C adapter. NT Link er en hurtigere kommunikation endHost
Link.
Der henvises til 2-3-3 CPM1 NT Link kommunikation i denne manual foryderligere detaljer.
2-3-1 CPM1 Host Link Kommunikation
Host link kommunikation blev udviklet af OMRON med det formål at kunne forbinde en computer til en eller flere PLC’er med et serielt kabel tilprogrammering
eller datakommunikation. Normalt sender host computeren en kommando til
PLC’en, og PLC’en sender automatisk et svar tilbage. På den måde gennemføres kommunikationen, uden at PLC’en tager aktiv del.
PLC Setup--opsætningNår CPM1 skal bruges i host link kommunikation, skal den perifære ports
opsætning være korrekt. Dette vises i PLC Setup tabellen section1--1--2,
DM6650 til DM6653.
32
Kommunikationsfunktioner
2-3-2 CPM1 1:1--Link Kommunikation
I 1:1--Link er CPM1 linket sammen med en anden CPM1, en CQM1 eller en
C200HS via en RS-232C adapter og et standard RS-232C kabel. En af
PLC’erne i dette net er master og den anden er slave. I 1:1--Link kommunikeres
der via 256 bit (LR 0000 til LR 1515) i de to PLC’er.
Et 1:1 CPM1 netDet følgende diagram viser 1:1--Link mellem to CPM1’ere.
RS-232C kabel
Afsnit 2-3
RS-232C Adapter
(se note)
Skriv data
Læs data
LR00
LR07
LR08
LR15
Begrænsninger i 1:1--Link
med CPM1
CPM1 CPU
RS-232C Adapter
(se note)
CPM1 CPU
De ord, der bruges til 1:1--Link, vises nedenfor. Som det ses, får hver PLC 8 ord
til at skrive i og 8 til at læse i. Master har LR00 til LR07 til at skrive i, og dem kan
slaven så læse. Slaven skriver i LR08 til LR15, og dem kan master læse.
Master
Master skriver
Master læser
Slave
Slave læser
Slave skriver
LR00
LR07
LR08
LR15
Læs data
Skriv data
Det er kun de16 ord, LR00 til LR15,der kan anvendes med CPM1, også selv om
der indgår en CQM1 eller C200HS. Disse to modeller har 64 ord, LR00 til LR63
som dataområde i 1:1--Link net.
PLC Setup--opsætningKommunikationsopsætningsområdet vises i den følgende tabel. DM6650 skal
sættes til 0000 (standardopsætning) eller 0001.
OrdBitFunctionOpsæt--
(Master)
DM 6650
00 til 07 Port opsætning
00: Standard (1 start bit, 7 databit, lige paritet, 2 stopbit, 9,600 bps)
01: Opsætning i DM 6651
08 til 11 Linkområde i 1:1 PLC net via perifær port
0: LR 00 til LR 15
12 til 15 Kommunikations mode
0: Host link; 2: 1:1--link (slave); 3: 1:1--link (master); 4: NT link
1
1
00
(valgfri)00(valgfri)
00
32
ning
Opsæt--
ning
(Slave)
(valgfri)
Note1. Hvis opsætningen ikke er korrekt, vil en ikke--fatal fejl opstå, AR1302 går
ON, og standardopsætningen (0000) bruges.
2. For yderligere information om opsætning af andre OMRON PLC’er ved 1:1
Link henvises til de pågældende PLC’ers manual.
ProgrameksempelDette eksempel viser et ladder program, hvor både master og slave kopierer
(MOV(21)) status i modpartens IR 000 til sin egen SR 200. Den ene PLC’s skri-
33
Kommunikationsfunktioner
Afsnit 2-3
veområdeerdenandenslæseområdeogomvendt.
Program i Master
25313 (Altid ON)
MOV(21)
MOV(21)
skriv
SR 200IR 000
Read
LR00
LR07
LR08
LR15
Skrive-område
Læse-område
2-3-3 CPM1 NT Link Kommunikation
Ved at bruge NT link, kan CPM1 PLC’en kobles sammen med en programmerbar terminal (operatørpanel) via en RS-232C adapter.
000
LR00
LR08
200
Læse-område
Skrive-område
Program i Slaven
25313 (Altid ON)
LR00
LR07
LR08
LR15
LæsIR 000
Skriv
MOV(21)
000
LR08
MOV(21)
LR00
200
SR 200
Programmerbar terminal
RS-232C kabel
CPM1 CPURS-232C adapter
CPM1 CPU
PLC Setup--opsætningOpsætning med hensyn til NT link kommunikation vises i den følgende tabel.
DM6650 skal sættes til 4000.
ordBitFunktionOpsæt--
DM 6650
00 til 07 Port opsætning
1
00: Standard (1 startbit, 7 databit, lige paritet, 2 stopbit, 9,600 bps)
01: Opsætning in DM 6651
08 til 11 Linkområde for 1:1 PC net via perifær port
0: LR 00 til LR 15
12 til 15 Kommunikations mode
1
0: Host link; 2: 1:1 PLC link (slave); 3: 1:1 PC link (master); 4: NT link
ning
00
(valgfri)
0
(valgfri)
4
34
Note1. Hvis opsætningen ikke er korrekt, vil en ikke--fatal fejl opstå, AR1302 går
ON, og normalopsætningen (0 eller 00) bruges.
2. For yderligere information om opsætning af andre OMRON PLC’er ved NT
net henvises til de pågældende PLC’ers manual.
Afsnit 3
Specielle muligheder
Dette afsnit giver en introduktion til de specielle muligheder i CPM1 PLC’en: Analog justering via indbyggede potentiometre og hurtig--indgange.
I CPM1 PLC’en overføres de analoge justeringspotentiometres værdi automatisk til SR 250 og SR251. Denne funktion er meget nyttig, hvis værdier skal
kunne justeres, mens PLC’en er i RUN. Disse sætværdier kan ændres ved at
dreje på dreje--potmetrene på CPU’en.
Opsætningen gemmes i BCDog gårfra 0000til 0200. Brug en lille skruetrækker
til at justere potentiometrene. (Drej potmetrene med uret for at øge værdien).
CPM1 opsætningCPM1 PLC’en har to analoge potmetre. Det følgende diagram viser potmetrene
og de SR ord, der indeholder værdierne. Brug en phillips skruetrækker til at justere.
Værdien for justering 0 er i SR 250.
Værdien for justering 1 er i SR 251.
Bemærk Den analoge justering kan ændre sig med temperaturen. Brug ikke de analoge
!
potmetre i opgaver, der kræver nøjagtig justering.
CPM1 Programeksempel
Det følgende ladderdiagram bruger CPM1’s potmeter--værdier. Værdien i
SR 250 (0000 til 0200 BCD) bestemmes ved indstilling af analog potmeter 0.
Denne værdi bruges til at indstille timerens SV fra 0.0 til 20.0 sekunder.
Start betingelse
TIM 000
3-2Indgange med kort svartid
CPM1-10CDR-j PLC’en har to hurtig--indgange med kort “svartid” og
CPM1-20CDR-j/30CDR-j PLC’en har 4 hurtig--indgange med kort svartid.
(De samme indgange bruges til hurtige indgange og interrupt indgange).
SR 250 er adresseret
TIM
000
som timerens set
værdi.
01003
36
0.2mS
DM66280:Normalindgang
1:Interruptindgang2:“Hurtig--indgang”
Indgange med kort svartid
Afsnit 3-2
Hurtig svar operationHurtig--indgange har et internt buffer register, således at indgangssignaler kor-
tere end et scan kan opfanges. Dette medfører, at pulser så korte som 0.2 mS
opfanges uanset hvor i scan’et, de kommer.
Opsætning af indgange
med korte svartider
Indgangs
signal
(00003)
IR 00003
Overvåg-ning kører
Program
udførelse
Et scan
I/O
opdatering
Overvåg-ning kører
Program
udførelse
I/O
opdatering
PLC modelIndgangsbitMin. varighed af puls
CPM1-10CDR-j
CPM1-20CDR-j/30CDR-j
IR 00003 til IR 00004
IR 00003 til IR 00006
0.2 mS
Indgangene 00003 til 00006 (00003 og 00004 i CPM1-10CDR-j PLC’en) kan
sættes til hurtig--indgange med korte svartider i DM 6628, som vist i den
følgende tabel.
OrdOpsætning
DM 6628 0: Normalindgang
1: Interrupt indgang
(Standardopsætning: 0)
DM 6628
Bit
150
Indgang 00006: Sæt til 2
Indgang 00005: Sæt til 2
Indgang 00004: Sæt til 2
Indgang 00003: Sæt til 2
programeksempel
DM 6628 er sat til 0002 (indgang 00003 hurtig--indgang).
25315 Første scan flag
ON i 1 scan
@INT(89)
000
Interrupt indgange med -- uden maske.
000
#000E
0003 afmaskes (interrupt indgang 0), resten
maskes.
37
Indgange med kort svartid
Afsnit 3-2
38
Hukommelsesområder
Dette afsnit beskriver PLC’ens hukommelsesområder, og hvordan de anvendes.
Timer/tæller område2TC 000 til TC 127 (timer/tæller numre)
DM
område
Indgangs--
1
område
Udgangs--
område
Arbejds--
område
2
2
1
Læs/skriv2DM 0000 til DM 0999
Fejl log
Læs kun
PLC Setup4DM 6600 til DM 6655
IR 000 til IR 009
(10 ord)
IR 010 til IR 019
(10 ord)
IR 200 til IR 231
(32 ord)
(24 ord)
HR 00 til HR 19
(20 ord)
AR 00 til AR 15
(16 ord)
LR 00 til LR 15
(16 ord)
DM 1022 til DM 1023
(1002 ord)
4
DM 1000 til DM 1021
(22 ord)
4
DM 6144 til DM 6599
(456 ord)
(56 ord)
IR 00000 til IR 00915
(160 bits)
IR 01000 til IR 01915
(160 bits)
IR 20000 til IR 23115
(512 bits)
SR 23200 til SR 25507
(384 bits)
(8 bits)
HR 0000 til HR 1915
(320 bits)
AR 0000 til AR 1515
(256 bits)
LR 0000 til LR 1515
(256 bits)
---DM områdets data kan kun adresseres i
---Bruges til at gemme tider for hændelser og
---Kan kun læses af programmet. Der kan ikke
---Bruges til at lagre de forskellige parametre
3
Disse bits kan tildeles eksterne indgange og
udgange
Arbejdsbits kan frit benyttes i programmet
(hjælperelæer)
Disse bits tjener specielle funktioner, så
som flag og kontrol bits.
Disse bits bruges til at styre programdeles
ON/OFF funktioner (forgreninger)
Disse bits er remanente. De opretterholder
status ved spændingssvigt.
Disse bits tjener specielle funktioner, så
som flag og kontrol bits. De opretholder status ved spændingssvigt.
Bruges til 1:1--link imellem 2 PLC’er. Kan
alternativt anvendes som arbejdsbits.
De samme numre bruges til både timere og
tællere. Tællere bevarer værdien ved
spændingssvigt.
ord. Ordenes værdi er remanente, huskes
ved spændingssvigt
fejlkoder. De kan bruges som almindelige
læse/skrive DM, når datalogning ikke
bruges
skrives til dem i programmet.
som bestemmer PLC Setup.
Afsnit 4-1
Note1. IR og LR bits som ikke bruges til deres “normale” funktion, kan anvendes
som arbejdsbits.
2. Indholdet i HR område, AR område, tællerområde, og DM område har en
kondensator som “batteri back--up”. Ved 25_C vil disse dataområders indhold kunne opretholdes i mindst 20 dage. Der henvises til 2-1-2 karakteri--stikker i CPM1 Operation Manual for en grafisk fremstilling af backup--tiden
som funktion af temperaturen.
3. Timere og tælleres PV (aktuelle værdi) optræder som ord, men deres kontaktfunktioner (Completion Flags) optræder som bit.
4. Data i DM 6144 til DM 6655 kan ikke overskrives af et program, men de kan
ændres med perifert udstyr (programmeringsudstyr).
4-1-2 IR område
IR områdets funktioner forklares nedenfor.
I/O bitIR område bit fra IR 00000 til IR 01915 er dedikeret til ind-- og udgange på
PLC’en. Indgangsbits starter med IR 00000, og udgangsbits starter med IR
01000. Bits der ikke benyttes til ind-- og udgange kan bruges som arbejdsbits.
40
CPM1-10CDR-
j
CPM1-20CDR-
j
CPM1 Hukommelsesområdets funktioner
Afsnit 4-1
Den følgende tabel viser, hvilke IR bits der er bestemt for I/O terminaler på hhv.
CPM1’s CPU og CPM1-20EDR I/O udvidelsesenheder.
CPM1 CPUI/OCPU terminalerI/O udvidelse terminaler
CPM1-10CDR-j
CPM1-20CDR-j
CPM1-30CDR-j
Indgange6 stk: 00000 til 0000512 stk: 00100 til 00111
Udgange4 stk: 01000 til 010038 stk: 01100 til 01107
Indgange12 stk: 00000 til 0001112 stk: 00100 til 00111
Udgange8 stk: 01000 til 010078 stk: 01100 til 01107
Indgange18 stk:
00000 til 00011,
00100 til 00105
Udgange12 stk:
01000 til 01007,
01100 til 01103
12 stk: 00200 til 00211
8 stk: 01200 til 01207
Arbejds bitsArbejdsbits kan frit bruges i programmet, men de kan ikke bruges som ind-- og
udgangsbits.
4-1-3 SR område
Disse bits er hovedsagelig relaterettil CPM1funktioner eller indeholder preset -og setværdier for et stort antal funktioner. Der henvises til de relevante dele i
denne manual eller til Appendix A Hukommelsesområder.
SR 244 til SR 247 kan også bruges som arbejdsbits, hvis der ikke bruges indgangsinterrupt i tæller mode.
4-1-4 TR område
4-1-5 HR område
4-1-6 AR område
Hvis man programmerer komplicerede ladderdiagrammer eller “oversætter”
nøgleskemaer til ladderdiagrammer, støder man ofte på knudepunkter. Vil man
nødig ændre på strukturen, kan man klare problemet med TR--relæer (midlertidige relæer). Det er kun nødvendigt at kende disse relæer i mnemonics. Programmerer man v.h.a. PC--software, såklarer denne selv oversættelsen til mnemonics, og dermed placeringen af nødvendige TR--relæer.
Et TR--relæ nummer kan kun bruges een gang indenfor samme instruktionsblok, men det kan bruges igen i andre blokke. Man kan ikke monitere status for
TR bits, da deres status kun er nødvendig i den lille del af en scantid, hvor programmet udfører lige præcis den adresse, hvor TR bit er skrevet.
Et eksempel, der viser brugen af TR--relæer, kan ses på side 89.
Disse bit opretholder deres status under spændingssvigt, eller når CPM1
sættes ud af RUN. De bruges som almindelige arbejdsbits, hvis man har programdele, der skal huske status, når spændingen vender tilbage, eller når
PLC’en sættes i RUN igen.
Disse bits er hovedsageligt reserverettil flagi forbindelse med CPM1’sfunktion.
De opretholder status på samme måde som HRbits. For yderligere detaljer henvises til et relevant afsnit i denne manual eller til Appendix A Hukommelses--områder.
4-1-7 LR område
Bits i dette område bruges i forbindelse med 1:1--Link kommunikation, hvis
CPM1 er koblet sammen med en CQM1, eller en C200HS PC. LR bits kan
bruges som arbejdsbits, hvis de ikke bruges til 1:1--Link kommunikation.
41
CPM1 Hukommelsesområdets funktioner
Afsnit 4-1
4-1-8 Timer/Tæller--område
Dette område bruges til at håndtere timere og tællere fremstillet med TIM,
TIMH(15), CNT,og CNTR(12) instruktionerne. De sammenumre bruges til både
timere og tællere, men et nummer kan kun bruges een gang i et program.
TC numrene bruges endvidere som numre for de pågældende TC’s kontakter,
og til deres SV ogPV--værdier. Hvis et TC--nummer bruges som ord,vil det henvende sig til PV--værdien. Bruges det som bit, vil det være TC--kontakten, altså
det bit, der går ON, når tiden er gået, eller tælleren har talt færdig.
Der henvises til afsnittet om timere og tællere for nærmere detaljer.
4-1-9 DM område
DM områdets data er kun tilgængeligti ord--enheder.Man kanaltså ikkebenytte
et DM bit som kontakt i sit program. Indholdet i DM området opretholder status
på samme måde som AR og HR, altså ved spændingssvigt, og når PLC’en
sættes ud af RUN.
DM området fra DM 0000til DM 0999samt DM 1022 og DM 1023kan fritbruges
i programmet. Resten af området er forbeholdt bestemte funktioner, som be-skrevet nedenfor.
Fejl--logDM 1000 til DM 1021 indeholder fejllognings informationer. Der henvises til Af-
snit 7 Problemløsning for detaljer angående fejl--logning.
PLC SetupDM 6600 til DM 6655 indeholder PLC Setup. Der henvises til 2-1 PLC Setup for
detaljer på side 13.
42
Afsnit 5
Instruktionssæt
CPM1 har et stort instruktionssæt, der gør det enklere at programmere indviklede styreprocesser. Denne sektion forklarer
instruktionerne enkeltvis og er forsynet med ladderdiagram symboler, data områder og de flag, der bruges sammen med de
enkelte instruktioner.
De mange instruktioner i denne PLC er samlet i underafsnit i forhold til deres instruktionsgruppe. Det vil sige, at de instruktioner, som naturligt hører sammen, er samlet i samme del. Disse grupper indeholder laddderdiagram instruktioner, instruktioner med fastsatte funtionskoder og instruktionssæt.
Nogle instruktioner, som f.eks. timer-- ogtællerinstruktioner bruges til atstyre betingelserne til andreinstruktioner.Timerens
kontakt (TIM CompletionFlag) bruges måske tilat starte en nyproces, når tiden erudløbet. Disseinstruktioner bruges typisk
til at aktivere udgange (OUTPUTS), men de kan altså også bruges til at aktivere andre processer. Udgangsinstruktionerne i
denne manuals eksempler kan normalt erstattes med andre instruktioner og derved bruges til at ændre programmet med henblik på specielle virkemåder.
I resten af denne manualrefererer alleinstruktioner tilderes mnemonic (instruktionslistenavn). En udgangsinstruktion (OUTPUT) vil f.eks blive kaldt OUT, og
OG--BLOK--instruction (AND LOAD)for ANDLD. Hvisman ikkeer bekendtmed
den instruktion, som enmnemonic anvendes til, henvises der til 5-5Instruktions-tabel på side 48.
Hvis der til en instruktion hører en funktionskode, vises denne i parentes efter
mnemonic.
Et @ foran mnemonic indikerer, at det er den flankestyrede udgave af instruktionen. Flankestyrede funktioner forklares i Afsnit 5-4.
5-2Instruktioners format
De fleste instruktioner har mindst en og nogle flere operander. Operander forsyner instruktionen med de data, denskal have,for at instruktionen kan udføres.
Disse operander kan være i form af aktuelle numeriske værdier (det vil sige
konstanter), men de er almindeligvis adresser i dataområder eller bits, som indeholder de data, der skal bruges. Et bit, hvis adresse er bestemt som en operand, kaldes for et operand bit. Et ord, hvis adresse er bestemt som operand,
kaldes for operand ord. I nogle instruktioner indikerer ordadressen i instruktionen det første af mange ord, som indeholder de nødvendige data.
Hver instruktion kræver mere end en adresse (ord)i programhukommelsen.Det
første ord er selveinstruktionen (instruktionsord), som angiverinstruktion og operanden, som instruktionen kræver. Hvis der er flere operander, kommer disse
efter hinanden i den rækkefølge. som den pågældende instruktion foreskriver.
Nogle instruktioner kræver op til fire operander eller ord.
En definer er en operand, som hører sammen med en instruktion og indeholdt i
det samme ord, som selve instruktionen.Disse operanderadresserer instruktionen i stedet for at fortælle, hvilke data den skal bruge. Eksempler på definere er
TC numre, som bruges til at definere timerens eller tællerens nummer. Det
samme gælder f.eks. for jump--instruktionen, hvor nummeret angiver, hvilken
JUMP END instruktionen hører sammen med. Bit operander hører også sammen med selve instruktionen, selv om de ikke kan sammelignes med definere.
5-3Dataområder, definer værdier og flag
Denne sektion indeholder beskrivelsen af instruktionerne, deres ladderdiagram
symbol, de dataområder, der kan bruges som operander og de værdier, der kan
bruges som parametre. Detaljer med hensyn til dataområder er også angivet
ved operandens navn, og den type data, som hver enkelt operand kræver (det
drejer sig om bit eller ord, og for ord om deres værdi er hexadecimal eller BCD).
Det er ikke sikkert, at alle adresser i det angivne dataområde er tilladte som
operander. Hvis en operand f.eks. kræver to ord, skal begge disse ord være i
samme dataområde. Det kan så ikke lade sig gøre, at bruge det sidste ord i et
dataområde som det første af de to ord. Der henvises til Sektion 4 Hukom-melses--områder angående adresseringsregler og adresser for flag og kontrolbit.
Bemærk IR og SR områderne skal opfattes som separate dataområder. IR er de interne
!
relæer (bit), og SR er specielle relæer (bit). Selvom en operand kan adresseres
til det ene område betyder det ikke nødvendigvis, at den også kan til det andet.
Det er dog muligt at “passere” grænsen mellem de to dataområder. Hvis sidste
bit i IR området bruges som operand i en instruktion, som kræver mere end et
ord, kan SR området bruges som andet ord, hvis det i øvrigt er tilladt som operand. Dette er dog så specielt, at man nok bør tilstræbe at undgå det. Antallet af
tilladte operander er så stort, at man nemt kan undgå dette.
45
Dataområder, Definer Værdier, og FlagAfsnit 5-3
Flag afsnittet viser en oversigtover deflag, somaktiveres (går ON) som resultat
af en instruktion. Det drejer sig om følgende SR område flag.
ForkortelseNavnBit
ERError Flag (fejl)25503
CYCarry Flag (matematisk Flag)25504
GRStørre end Flag (sammenligninger)25505
EQLig med Flag (sammenligninger)25506
LEMindre end Flag (sammenligninger)25507
ER er det flag,man almindeligvis moniterer. Hvis ER flaget gårON, indikerer det,
at der er opståeten fejl ved forsøgetpå atudføre instruktionen. Flag afsnittet ved
hver instruktionsbeskrivelse giver enoversigt over deårsager,der kanvære tilat
flaget går ON. ER vilgå ON,hvis operander ikke er korrekte, og det medfører,at
instruktionen ikke udføres.
Indirekte Adressering
Når et DM område bruges som operand, kan indirekte adressering anvendes.
Indirekte DM adressering opnås ved at placere et asteriks foran DM: :DM.
I det viste eksempel, hvor MOV(21) har : DM 0001 som første operand og LR
00 som anden operand,ville MOV(21)uden indirekte adressering have medført,
at indholdet i DM0001 ville blive flyttet til LR 00.Nu vil DM 0001’s indhold istedet
fortælle, hvilken adresses indhold,der skal flyttes. Er indholdeti DM 0001= 1111,
medfører det, at det bliver indholdet i DM 1111, der flyttes. Hvis DM 1111 indeholder 5555, bliver det altså 5555, der flyttes til LR 00, og ikke 1111, som villle
være resultatet uden :foran..
MOV(21)
:DM 0001
LR 00
Indirekte
adressering
OrdIndhold
DM 00004C59
DM 00011111
DM 0002F35A
DM 11115555
DM 11132506
DM 1114D541
Indikerer
DM 1111.
5555 flyttes
til LR 00.
Konstanter som operander
46
Ved indirekte adressering skal man være opmærksom på, at værdien i det DM,
som angiver adressen, skal være i BCD, og at værdien skal ligge indenfor det
mulige område. Adresserer man iDM området,skal værdieni :DMvære iBCD
og ligge mellem 0000 og 1999.
Dataområder bruges ofte som operander, men man kan også have brug for
konstanter, altså talværdier. Skrives 130 som operand, betyder det IR ord 130.
Skriver man derimod # 130, så betyder det talværdien 130. Størrelsen af konstanter, og om det er hexadecimal eller BCD, afhænger af den konkrete instruktion.
Flankestyrede InstruktionerAfsnit 5-4
5-4Flankestyrede Instruktioner
De fleste instruktioner findes både i en flankestyret og en ikke--flankestyret udgave. Flankestyrede instruktioner genkendes på et@ foraninstruktionens mnemonic.
En ikke--flankestyret instruktion udføres i hvert scan, så længe betingelsen foran instruktionen er ON. Enflankestyret instruktionudføres kuneen gangefter at
betingelsen er gået ON. Skal denne instruktion udføres igen, kræver det, at betingelsen først går OFF og derefter ON igen. De følgende to eksempler viser,
hvordan MOV(21) og @MOV(21) “arbejder”. Instruktionerne bruges til at flytte
data fra den første operand til den anden.
00000
00000
Adresse InstruktionOperander
00000LD00000
00001MOV(21)
HR10
DM0000
Adresse InstruktionOperander
00000LD00000
00001@MOV(21)
HR10
DM0000
Diagram A
Diagram B
MOV(21)
HR 10
DM 0000
@MOV(21)
HR 10
DM 0000
I diagram A vil den ikke flankestyrede MOV(21) flytte indholdet i HR 10 til DM
0000 en gang i hvert scan, så længe 00000 er ON. Hvis scantiden f.eks. er 80
mS, og 00000 er ON i 2.0 sekunder, vil MOV(21) blive udført 25 gange, og kun
den sidste værdi i HR 00 vil blive opbevaret i DM 0000. LR 00 kan have ændret
værdi mange gange, og hvis man var interesseret i værdien lige da 00000 gik
ON, er dette forhold uheldigt.
I diagram B vil den flankestyrede @MOV(21) kun flytte indholdet i HR 10 til DM
0000 een gang, lige når 00000 går ON. Selv om 00000 forbliver ON i længere
tid, f.eks de 2 sekunder fra før, og scantiden igen er 80 mS, så vil instruktionen
kun blive udført denne ene gang. Det medfører, at man nu får lige præcis den
værdi, der var i HR10, da betingelsen gik ON. Denne værdi fastholdes indtil
00000 først går OFF og derefter ON igen.
Dette forhold skal manvære særlig opmærksom på ved matematiskeoperationer. Bruger man her den ikke--flankestyrede instruktion, f.eks. i en addition, vil
værdierne blive lagt sammen, så længe betingelsen er ON. Hvis tiderne er de
samme som før,vil der altså blive foretaget 25 additioner,og detvar nokikke det
man ønskede sig.
Alle operander og ladderdiagram symboler er de samme, uanset om den flankestyrede eller den ikke--flankestyrede instruktion anvendes. Instruktionens
funktionskode er også den samme. Den eneste forskel er, om der er et @ eller
ikke. De fleste men dog ikke alle ordinstruktionerne har begge varianter.
Der henvises til 5-10 INTERLOCK og INTERLOCK CLEAR -- IL(02) og IL(03)
med hensyn til interlocks virkning på flankestyrede instruktioner.
CPM1 har yderligere to flankestyrede instruktioner: DIFU(13) og DIFD(14).
DIFU(13) er en impulsafkortning, som virker på den måde, at når betingelsen
der styrer DIFU(13) går ON, så går også det bit, som DIFU(13) styrer, ON, men
kun i eet scan. Den virker altså på den ON--gående flanke.DIFD(14) harsamme
funktion, bortset fra at den virker, når betingelsengår fraON til OFF, altsåpå den
OFF--gående flanke. Der henvises til to 5-7-4 flankestyret op og ned - DIFU(13)og DIFD(14) for detaljer.
47
InstruktionstabelAfsnit 5-5
5-5Instruktionstabel
5-5-1 Alfabetisk liste over Mnemonics
MnemonickodeordNavnCPUSide
ADD (@)304BCD ADDITIONAlle103
ADDL (@)544DOBBEL BCD ADDITIONAlle108
ANDIngen1OGAlle50
AND LDIngen1OG BLOKAlle51
AND NOTIngen1IKKE OG (OG INVERTERET)Alle50
ANDW (@)344LOGISK OGAlle113
ASC (@)864ASCII KONVERTERINGAlle101
ASFT(@)174ASYNKRONT SKIFTEREGISTERAlle77
BCD (@)243BINÆR TIL BCD KONVERTERINGAlle93
BCMP (@)684BLOK SAMMENLIGNINGAlle90
BIN (@)233BCD TIL BINÆR KONVERTERINGAlle93
BSET (@)714BLOK SETAlle81
CLC (@)411CLEAR CARRY (NULSTIL MENTEFLAGET) Alle103
CMP203SAMMENLIGNINGAlle88
CMPL604DOBBEL SAMMENLIGNINGAlle92
CNTIngen2TÆLLERAlle63
CNTR123REVERSIBEL TÆLLERAlle64
COLL (@)814DATAINDSAMLINGAlle84
CTBL(@)634INDLÆS SAMMENLIGNINGSTABELAlle67
DEC (@)392BCD TÆL--NEDAlle114
DIFD142ONE--SHOT PÅ NEDADGÅENDE FLANKEAlle53
DIFU132ONE--SHOT PÅ OPADGÅENDE FLANKEAlle53
DIST (@)804FORDELING AF ENKELT ORDAlle82
DIV (@)334BCD DIVISIONAlle107
DIVL (@)574DOBBEL BCD DIVISIONAlle112
DMPX (@)77416-TIL-4 ENCODERAlle96
END011END (SIDSTE INSTRUKTION I PROGRAM) Alle54
FAL (@)062FEJL ALARM OG RESETAlle58
FALS072ALVORLIG FEJL ALARMAlle58
IL021INTERLOCK--OMRÅDE START (AFLÅS)Alle55
ILC031INTERLOCK--OMRÅDE SLUTAlle55
INC (@)382BCD TÆL--OPAlle114
INI (@)614MODE KONTROLAlle70
INT (@)894INTERRUPT STYRINGAlle120
IORF (@)973I/O OPDATERINGAlle118
JME052JUMP ENDAlle57
JMP042JUMPAlle57
KEEP112KEEP (SET--RESET FLIPFLOP)Alle53
LDIngen1LOADAlle50
LD NOTIngen1LOAD INVERTERETAlle50
MCRO (@)994MACROAlle119
MLPX (@)7644-TIL-16 DECODERAlle94
MOV (@)213FLYT (KOPIER)Alle78
MOVB (@)824FLYT BITAlle86
MOVD (@)834FLYT CIFFERAlle87
MSG (@)462MEDDELELSEAlle117
Ladderdiagram instruktioner inkluderer ladderinstruktioner og logik blok instruktioner.Ladderdiagram erden mest anvendte diagramform, og vil blivebrugt her.
Programmeringssoftwaren SYSWIN kan selv omsætte imellem de to diagramformer, hvis dette er ønskeligt.
5-6-1 LOAD, LOAD NOT, AND, AND NOT, OR, og OR NOT
Ladder SymbolerOperand Data Områder
LOAD -- LD
LOAD NOT -- LD NOT
AND -- AND
AND NOT -- AND NOT
OR -- OR
OR NOT -- OR NOT
Begrænsninger
B
IR, SR, AR, HR, TC, LR, TR
B
IR, SR, AR, HR, TC, LR
B
IR, SR, AR, HR, TC, LR
B
IR, SR, AR, HR, TC, LR
B
B
IR, SR, AR, HR, TC, LR
IR, SR, AR, HR, TC, LR
B: Bit
B: Bit
B: Bit
B: Bit
B: Bit
B: Bit
Der er ingen begrænsninger i antallet af disse instruktioner og ingen regler for
rækkefølge, så længe PLC’ens hukommelseskapacitet ikke overskrides.
Beskrivelse
Disse seks grundlæggende instruktioner anvendes i ladderdiagram, og der er
stor lighed mellem dem, og slutte -- og brydekontakter (NO og NC) i nøgleskemaer. Der er i det hele taget stor lighed mellem et nøgleskema og et ladderdiagram. En væsentlig forskel er, at nøgleskemaet er rent elektrisk. Der eraltså tale
om, at strømmem får adgang til f.eks. en relæspole gennem serie -- og parallelforbundne elektriske kontakter. Dette giver nogle klare begrænsninger. Ladderdiagrammet er også opbygget af serie -- og parallelforbundne symboler. Her er
der ikke tale om elektriske kontakter, men derimod om logiske funktioner. Man
skal ikke lede strømmen, menderimod etsignal fremtil denOUT (udgang),som
afslutter et netværk (også kaldet RUNG). Signalet passerer disse grundinstruktioner,hvis det pågældende bit er ON. Der er dog den væsentligeforskel, athvor
man i nøgleskemaet kun kan bruge en kontakt een gang, kan man i ladder diagrammet bruge den samme bit lige så mange gange, som man har brug for.
De føromtalte BITS (B) fremkommer som resultat af f.eks. en afbryder status,
eller status på en udgang. De kaldes for operander. Funktionen er følgende.
LOAD er starten på et netværk. Den efterfølges af en AND eller OR. Hvis den
næste funktion er en AND, betyder det, at de to operander serieforbindes. Er
den næste funktion OR, parallelforbindes de to operander. AND er altså serieforbindelse og OR parallelforbindelse. Bruges de inverterede instruktioner, LD
NOT, AND NOT eller OR NOT, svarer det til NC--kontakter, altså til relæers brydekontakter.
FlagDer er ingen flag, der påvirkes af disse instruktioner.
50
ANDLOAD--ANDL
D
ORLOAD--ORL
D
UDGANG--OUT
INVERTERETUDGANG--OUT
Bit KontrolinstruktionerAfsnit 5-7
5-6-2 AND LOAD (OG BLOK) og OR LOAD (ELLER BLOK)
Beskrivelse
00002
00003
Ladder Symbol
Ladder Symbol
00000
00001
0000000001
0000200003
Når instruktionerne sammensættes i blokke, kan man ikke opbygge sit ladderdiagram med de almindeligeinstruktioner, AND og OR. Her måman bruge AND
LD eller OR LD. Hvor AND og OR, som før omtalt, undersøger om et BIT er ON
eller OFF, og sætter det i serie eller parallelt med det foregående, gør AND LD
det , at den sætter blokke i serie, og OR LD sætter blokke parallelt.
Når man tegner ladderdiagrammer v.h.a. programmeringssoftware, behøver
man ikke interessere sig for AND LD og OR LD instruktionerne. Man kan blot
tegne, så klarer softwaren selv “oversættelsen” til mnemonic (instruktionsliste).
Bruger man derimod håndprogrammeringsudstyr, er det nødvendigt, at “programmøren” kender disse instruktioner.
FlagDer er ingen flag, der påvirkes af disse instruktioner.
5-7Bit kontrolinstruktioner
Der er syv forskellige instruktioner, der kan anvendes til almindelig kontrol af
bits. Det er OUT, OUTNOT, DIFU(13), DIFD(14),SET, RSET,og KEEP(11).Disse instruktioner bruges til styre et bit ON eller OFF på forskellig måde.
5-7-1 UDGANG og INVERTERET UDGANG -- OUT og OUT NOT
Ladder SymbolOperand Data Områder
B: Bit
NOT
Begrænsninger
B
Ladder SymbolOperand Data Områder
B
Et output (udgangs) bit kan i almindelighed kun bruges (laves) een gang. Figurerer en OUT flere gange i et program, vil man få syntaxfejl ved programcheck.
Programmet vil dog kunne afvikles, men resultatet er sjældent det ønskede.
IR, SR, AR, HR, LR, TR
B: Bit
IR, SR, AR, HR, LR
Beskrivelse
OUT og OUT NOT bruges til at styre status for det tildelte bit i overensstemmelse med de operander, som placeres i ladderdiagrammet.
51
Bit KontrolinstruktionerAfsnit 5-7
OUT kaldes ofte for udgange, uanset om de er udgange eller interne BITS, og
funktionen er den, at hvis de operander, der styrer OUT er ON, vil udgangen gå
ON. Er operanderne OFF, vil udgangen gå OFF. Hvis man har et netværk, der
består af en LD og en OUT,kan kan styre OUT ON ved at sætte operanden til LD
ON, og OFF ved at sætte operanden OFF. Består netværket af en kombination
af serie -- eller parallelforbundne kontakter (operander), så er det denne kombination af kontakter, der bestemmer, om udgangen (OUT) sættes ON eller
OFF. Ladderdiagrammets funktion er altså den samme, som nøgleskemaets.
OUT NOT virker præcis, som navnet siger, modsat OUT--instruktionen.
De instruktioner, der er blevet omtalt, er hvad man har brug for ved konvertering
af et vilkårligt nøgleskema til ladderdiagram.
Hvis der i nøgleskemaet optræder tidsrelæer, kan disse nemt erstattes med
PLC’ens timere.
FlagDer er ingen flag, der påvirkes af disse instruktioner.
5-7-2 SET og RESET -- SET og RSET
Ladder SymbolerOperand Data Områder
B: Bit
IR, SR, AR, HR, LR
B: Bit
IR, SR, AR, HR, LR
Beskrivelse
SET B
RSET B
SET sætter en operand (udgang) ON, når kombinationen af kontakter foran
instruktionen er ON. RSET sætter en operand OFF, hvis kombinationen foran
instruktionen er ON. Funktionen er altså som navnet siger SET og RESET.
Funktionen er en “huskefunktion”. Når udgangen er sat med SET, forbliver den
ON, indtil RESET funktionen aktiveres. Den erstatter altså “selvholdskredsløb”.
ForholdsreglerStatus for udgange styret af SET/RSET, somer programmeretmellem IL(02) og
ILC(03), følger ikke de almindelige regler. IL(02) har altså ingen indflydelse på
disse udgange. Det samme gælder, hvis SET/RSET--instruktionerne er programmeret mellem JMP(04) og JME(05).
FlagDer er ingen flag, der påvirkes af disse instruktioner.
EksemplerDe følgende eksempler viser forskellen mellemOUT og SET/RSET--instruktion-
erne. I det første eksempel (Diagram A), vil IR 10000 gå ON og OFF, hver gang
IR 00000 går ON eller OFF.
I det andet eksempel (Diagram B), vil IR 10000 gå ON, når IR 00001 går ON og
forbliver ON, selv om IR 00001 går OFF. Først når IR 00002 går ON, vil IR 1000
gå OFF.
Udgange (output bits) kan almindeligvis kun bruges een gang sammen med
KEEP(11) instruktionen.
Beskrivelse
KEEP(11) virker påsamme måde, som SET/RSET--funktionen. Den enesteforskel er programmeringen. Hvor SET ikkenødvendigvis efterfølges af RSET,sidder S og R på KEEP(11) lige efter hinanden. Man kalder den første indgang for
SET--indgangen (S), og den anden for RESET--indgangen (R), og funktionen er
som indgangsnavnene siger. Hvis S går ON, går udgangen, der styres af funktionen ON, og husker dette, indtil R går ON.
Hvis både S og R er ON samtidig, vil R--indgangen bestemme, med det resultat
at udgangen går OFF. Mansiger at KEEEP(11)har reset--dominans. Det eraltså
den samme virkemåde, som mankender fra start/stopmed holdekreds.Trykker
man her på både start og stop samtidig, vil relæet ikke trække. Nedenstående
funktionsdiagram viser KEEP(11)’s funktion.
S udførelsesbetingelse
R udførelsesbetingelse
Status for B
FlagDer er ingen flag, der påvirkes af denne instruktion.
Forholdsregler
Udvis forsigtighed, hvis RESET på KEEP styres af en NC ekstern kontakt, og
denne RESET stammer fra en AC strømforsyning. Tidsforsinkelsen, når man
slukker for PLC’ens DC strømforsyning i forhold til AC strømforsyningen, kan
medføre, at KEEP(11) resetter. Denne situation vises nedenfor.
Indgangsmodul
A
Aldrig
A
S
R
KEEP(11)
B
Udgange styret af KEEP(11), resettes ikke af IL(02). Se evt. afsnittet INTERLOCK og INTERLOCK CLEAR.
5-7-4 FLANKESTYRET OP OG NED -- DIFU(13) og DIFD(14)
Ladder SymbolerOperand Data Områder
DIFU(13) B
DIFD(14) B
B: Bit
IR, SR, AR, HR, LR
B: Bit
IR, SR, AR, HR, LR
53
Bit KontrolinstruktionerAfsnit 5-7
Begrænsninger
Udgange kan almindeligvis kun bruges en gang sammen med DIFU(13) og
DIFD(14).
Beskrivelse
DIFU(13) og DIFD(14) sætter udgangen ON i et scan, når indgangsbetingelsen
går henholdsvis ON og OFF.
Når DIFU(13) styres ON af udførelsesbetingelsen, d.v.s. på betingelsens positivgående flanke, vil den sætte udgangen ON, men kun i eet scan. Uanset hvor
længe betingelsen forbliver ON, vil udgangen kun være ON i et scan. For at udgangen skal kunnegå ON igen, må betingelsen først gåOFF, og derefter gåON
igen.
Hvor DIFU(13) styres ON af et positivgående signal,styres DIFD(14)af et negativgående, altså af et signal, der går OFF. Ellers er virkemåden den samme for
de to instruktioner.
Instruktionerne anvendes med flere formål. Når ordinstruktioner kun skal
udføres een gang, kan man enten vælge at bruge @--instruktionerne eller lade
dem styre af DIFU eller DIFD. En anden situation, hvor instruktionerne med fordel kan anvendes, er hvor man ønsker en impulsafkortning. Skal man f.eks.
have en tæller resat (nulstillet), når en føler påvirkes, og tælleren skal tællemed
det samme, kan man lade føleren styre en DIFU(13). Så har det ingen betydning, at føleren måske er påvirket i længere tid.
FlagDer er ingen flag, der påvirkes af denne instruktion.
Forholdsregler
DIFU(13) og DIFD(14) skal normalt ikke programmeres mellem IL og ILC, JMP
og JME, eller isubrutiner.Der henvises til INTERLOCK ogINTERLOCK CLEAR
-- IL(02) og ILC(03), JUMP og JUMP END -- JMP(04) og JME(05), Subrutine
Instruktioner, og INTERRUPT Kontrol -- INT(89).
Eksempel
I dette eksempel vil IR 10014 gå ON i eet scan, når IR 00000 går fra OFF til ON,
og IR 10015 vil gå ON i eet scan, når IR 00000 går fra ON til OFF.
FlagDer er ingen flag, der påvirkes af denne instruktion.
NOP(00) bruges normalt ikke i programmer. Hvis NOP(00) findes i et program,
påvirkes programmet ikke, og afviklingen fortsætter med næste instruktion. Når
programmer slettes i hukommelsen, skrives NOP(00) på alle adresser, og det
betyder så blot, at hukommelsen er tom ogklar til et nyt program. Man indlægger
NOP(00) med 00 funktionskoden. Det har dog, som tidligere nævnt, ingen anden effekt, end at man laver en “tom” adresse.
5-9END -- END(01)
Ladder Symbol
Operander
END(01)
Beskrivelse
54
END(01) skal bruges somsidste instruktion i alleprogrammer.Hvis der er subrutiner, skal END(01) anbringes efter den sidste subrutine. END(01) er den sidste
instruktion, der læses. Herfra startes forfra med den første adresse igen. Dette
kan man udnytte. Har man et større program med fejlfunktion, eller et program,
INTERLOCK og INTERLOCK CLEAR - IL(02) og ILC(03)Afsnit 5-10
som man ønsker at afprøve i mindre “bidder”, kan man indsætte en midlertidig
END(01). Det medfører, at kun den del, der ligger foran END(01) udføres. Man
kan så slette de midlertidige END--instruktioner efterhånden, som man bliver
færdig med fejlfinding eller afprøvning.Denne fremgangsmåde kendes også fra
relæteknik, hvor man f.eks afprøver styrestrømmen inden hovedstrømmen
sluttes til, eller kobler hovedstrømmen fra under fejlfinding.
Hvis der mangler en END(01) i programmet vil man få en fejlmelding, og programmet kan ikke overføres til PLC’en.
FlagEND(01) sætter ER, CY, GR, EQ, og LE flagene OFF.
5-10INTERLOCK OG INTERLOCK CLEAR -- IL(02) og ILC(03)
Beskrivelse
Ladder Symbol
Ladder Symbol
IL(02)bruges altid sammen med ILC(03) for at skabe et interlockområde. Interlocks betyder “gribe ind i” eller “aflåse”, og formålet med den er at aflåse et
område af programmet. Når betingelsen foran IL(02) er ON, virker programmet
imellem IL(02) og IL(03) som normalt,men hvisbetingelsen foran IL(02) er OFF,
går alle udgange imellem IL(02) og ILC(03) OFF. Man kan altså, på en enkelt
måde, lave en overordnetstopfunktion, f.eks. nødstop for endel af eller heleprogrammet. Først når betingelsen foran IL(02) går ON igen, virker programmet indenfor området. (Samme funktion kan i øvrigt opnås med TR, temporære (midlertidige) relæer.
Hvis betingelsen foran IL(02) er OFF, kan virkemåden ses i følgende skema.
InstruktionHandling
OUT og OUT NOTBit (udgang) går OFF.
TIM og TIMH(15)Reset.
CNT, CNTR(12)PV huskes.
KEEP(11)Bit status huskes.
DIFU(13) og DIFD(14)Udføres ikke (se nedenfor).
Alle andre instruktionerInstruktionerne udføres ikke, og alle IR, AR, LR, HR, og
SR bit og ord går OFF.
IL(02)
ILC(03)
DIFU(13) og DIFD(14) i
Interlocks
IL(02) og ILC(03) optræder ikke nødvendigvis i par. ILC(03) kan godt være
fælles for flere IL(02). Man kan altså konstruere et program, hvor der er flere afsnit, som styres af hver sinIL(02), ogsom såhar en fælles ILC(03) ved afslutningen på programmet. IL(02)’s område rækker indtil den “ser” en ILC(03). Man
skal blot være opmærksom på resultatet. Det er som regel lettest at få overblik
over programmet, hvis man opdeler programmet, således at hver IL(02) får sin
egen ILC(03).
Ændringer i betingelserne for DIFU(13) eller DIFD(14) registreres ikke, hvis
DIFU(13) eller DIFD(14) befindersig i et interlockafsnit og betingelserne er OFF.
Hvis betingelserne for DIFU(13) eller DIFD(14) indenfor et IL--område var ON
umiddelbart før betingelsenfor IL(02) går ON, vilDIFU(13) eller DIFD(14) betingelser blive sammenlignet med de betingelser, der var umiddelbart før IL(02)
blev aktiv. (Det vil sige før betingelsen for IL(02) gik OFF). Ladderdiagrammet
55
INTERLOCK og INTERLOCK CLEAR - IL(02) og ILC(03)Afsnit 5-10
og funktionen vises nedenfor. Interlock er aktiv, hvis 00000 er OFF. Bemærk, at
01000 er ON i punktet A selv om 00001 er gået OFF og derefter igen ON.
Der skal altid være enILC(03), hvis der er programmeret en IL(02). ILC(03)kan
være fælles for flere IL(02).
Der kan altså være flere IL(02)’er efter hinanden. Der kan derimod aldrig være
flere ILC (03)’er efter hinanden. Har der været en ILC(03), skal der komme en
IL(02), inden den næste ILC(03).
Hvis en ILC(03) erfælles for flere IL(02)’er,vil der fremkomme en fejlmelding ved
et program check, men programmet vilblive accepteret og virke som beskrevet
ovenfor.
FlagDer er ingen flag, der påvirkes af denne instruktion.
EksempelDet følgende program viser, hvordan IL(02) kan programmeres to gange med
Når betingelsen for den første IL(02) er OFF, vil TIM 127 blive nulstillet til 1.5 S,
CNT 001 vil forblive uændret, og 00502 vil gå OFF. Når betingelsen for den
første IL(02) er ON, og betingelsen for den anden IL(02) er OFF, vil 00001 styre
TIM 127, CNT 001 vil stadig forblive uændret, og 00502 vil gå OFF. Hvis betingelserne for begge IL(02) er ON, vil programmet virke som om IL--funktionerne
ikke var programmeret.
56
LadderSymbolerDefinerVærdie
r
JUMP og JUMP END - JMP(04) og JME(05)Afsnit 5-11
5-11JUMP OG JUMP END -- JMP(04) og JME(05)
Begrænsninger
Beskrivelse
JMP(04) N
JME(05) N
Jump numrene 01 til 49 må kun bruges een gang i forbindelse med JMP(04) og
een gang i forbindelse med JME(05). Det vil sige, at hvert jump får sit eget jump
nummer.Jump nummer 00 kan bruges så mange gangeman måttehave lysttil.
Jump numre går fra 00 til 49.
JMP(04) skal altid bruges sammen med JME(05). Sammen laver de en jump--
funktion. JMP(04) definerer begyndelsen og JME(05) definerer afslutningen på
jump--området. Når betingelsen for JMP(04) er OFF, udføres instruktionen ikke
og programmet udføres som om JMP(04) og JME(05) ikke var i programmet.
Når betingelsen for JMP(04) går ON, udføres et hop indtil den adresse, hvor
JME(05) med det samme jump--nummer er programmeret, og derefter går programmet videre med instruktionen efter JME(05) . Jump instruktionen er altså
en “spring over” instruktion, idetden virkerpå den måde, at den programdel, der
ligger mellem JMP(04) og JME(05), slet ikke læses.
Hvis jump numrene for JMP(04) ligger mellem 01 og 49, vil programmet gå direkte til JME(05) med det samme nummer, uden at udføre instruktionerne indenfor området. Det medfører, at hele den programdel, der ligger indenfor
området forbliver uændret, fastfryses, sålænge jump instruktionen er aktiv.
Samme funktion kan opnås på andre måder, men den store fordel ved jump-metoden er, at da programmet indenfor området slet ikke læses, vil det forkorte
scantiden. Dette gælder for numrene 01 til 49.
Jump Nummer 00
Hvis JMP(04)gives 00, og betingelsen er ON, vil CPU’en søge efter JME(05)
med jump nummer 00. Det medfører, at den skal søge gennem hele programmet, og det betyder længere scantid end med de andre jump numre.
Status for timere, tællere, udgange, og al anden status indenfor området styret
af JMP(04) 00 og JME(05) 00 forbliver uændret. Jump nummer 00 kan bruges
så mange gange, man har behov for. Et jump fra JMP(04) 00 går altid til det
næste JME(05) 00 i programmet. Derfor er det muligt, at placere flere JMP(04)
00 efter hinanden og så bruge en fælles JME(05) 00. Der er ingen fornuft i at
placere flere JME(05) 00 efter hinanden, da alle jump med nummer 00 vil søge
efter den første JME(05) 00.
N: Jump nummer
#
N: Jump nummer
#
DIFU(13) og DIFD(14) i
Jumpfunktioner
Forholdsregler
Skønt DIFU(13) og DIFD(14) er fremstillet til at give en puls af en scantids
længde, er det ikke sikkert, at de vil virke, hvis de ligger indenfor et område
afgrænset af JMP(04) og JME(05).Et bitstyret af DIFU(13) eller DIFD(14), som
er gået ON, vil normalt være ON i et scan og derefter gå OFF. For at det samme
bit kan gå ON igen skal betingelsen først gå OFF, og derefter gå ON igen. Hvis
DIFU(13) eller DIFD(14) er placeret indenfor et jump,og detbit, destyrer, er ON,
når jump bliver aktivt, vil bittet forblive ON, og bruges bittet så udenfor det aktive
JMP(04) til JME(05) område, så vil dette bit forblive ON, indtil det pågældende
jump bliver gjort uaktivt igen.
Når flere JMP(04) “benytter” samme JME(05), vilder kommeen fejlmelding, når
der udføres program check. Det samme gælder vedJMP(04) 00 og JME(05) 00,
men programmet vil blive accepteret og virke.
57
LadderSymbolerDefinerDataOmråde
r
Brugerfejl InstruktionerAfsnit 5-12
FlagDer er ingen flag, der påvirkes af disse instruktioner.
EksemplerEksempler på jump programmer vises i afsnittet om Jump.
5-12Brugerfejl instruktioner:
FEJL ALARM OG RESET -- FAL(06) og
ALVORLIG FEJL ALARM -- FALS(07)
Beskrivelse
@FAL(06) NFAL(06) N
FALS(07) N
Formålet med FAL(06) og FALS(07) er, at brugeren kan få vist fejlnumre ved
vedligeholdelse og fejlfinding. Fejl nummereres fra 01 til 99. Når fejlbetingelsen
for enten FAL(06) eller FALS(07) går ON, vil fejlnummeret blive indlæst i FAL-området, som er ord SR253 bit 00 til 07. Her kan lagres indtil tre fejlnumre.
FAL(06) med nummer 00 bruges til at resette dette område. (se nedenfor).
FAL Område
2530725300
1
X10
N: FAL nummer
# (00 to 99)
N: FAL nummer
# (01 to 99)
0
X10
FAL(06) frembringer en ikke fatal fejl og FAL(07) frembringer en fatal fejl. Hvis
FAL(06)går ON,vil ALARM/ERROR lampen på forsiden af CPU’en blinke, men
PLC’en vil fortsætte i RUN. Hvis FALS(07) går ON, vil ALARM/ERROR lampen
lyse og PLC’en vil stoppe.
SR253 bit 00 til 07 bruges også til andre fejl, så som f.eks. batterifejl.
Reset af fejl
Der kan opbevares indtil tre fejlkoder i hukommelsen. Kun een er tilgængelig i
FAL området. For at få adgang til de andre, skal man resette med FAL(06) 00.
Hver gang man resetter med FAL(06) 00 , flyttes en ny FAL til FAL området, og
den foregående resettes.
FAL(06) 00 bruges også til i forvejen at fjerne beskeder, programmeret med
instruktionen, MSG(46).
Hvis FAL området ikke kan cleares (resettes), hvilket er normalt ved en
FALS(07) , skal man først fjerne årsagen til fejlen og derefter cleare (resette)
FAL området ved hjælp af programmeringssoftwaren.
58
Step InstruktionerAfsnit 5-13
5-13Step instruktioner:
DEFINER STEP og START STEP--STEP(08)/SNXT(09)
Ladder SymbolerDefiner Data Områder
STEP(08) BSTEP(08)
SNXT(09) B
BegrænsningerAlle kontrolbit skal være i samme ord, og de skal komme efter hinanden.
Beskrivelse
Instruktionerne STEP(08) og SNXT(09)bruges tilsekvensstyringer,og de giver en
god oversigt overde enkelte dele (trin) i styringen. Hvert trini styringen indehol-der både forberedelser og aktiviteter, og derforgiver STEP(08) og SNXT(09) en
opbygning, som er overskuelig og let at monitere. En af fordelene er, at man indenfor et begrænset område af ladderdiagrammet har samlet alle aktiviteter.
Der sker kun nogeti det step, som er aktivt. (der henvisestil eksemplernesenere
i denne del). Til et step bruges almindelig programmering bortset fra visse
instruktioner, som ikke må ligge indenfor steppene. Det drejer sig om END(01),
IL(02)/ILC(03), JMP(04)/JME(05), og SBN(92).
STEP(08) bruger et styrebit i IR eller HR områderne til at definere begyndelsen
på et step. Der skal ingen betingelse til at styre STEP(08), idet instruktionen
styres af steppets kontrolbit. Dette kontrolbit skal aktiveres af SNXT(09). Når
SNXT(09)’s betingelse går ON, udføres trinnet med det samme kontrolbit. Hvis
betingelsen er OFF, udføres steppet ikke. SNXT(09) instruktionen er den
instruktion, der “kalder” steppet, og STEP(08) er steppetsbegyndelse. Mankan
altså sige, at SNXT(09) hører med til det forudgående step, og STEP(08) er begyndelsen til det næste step. Derfor skal SNXT(09) altid programmeres før
STEP(08). Hvis der er flere betingelser, som fører til et step,kan SNXT(09) programmeres flere steder. (se eksempel 2, nedenfor). Hvis et step ikke startes af
SNXT(09) udføres det ikke.
Altså: SNXT(09) fortæller, hvilket step styringen skal gå til. STEP(08) er steppets start, og deprogramdele, der ligger indenfor steppet udføres,når steppet er
aktivt. Alle andre steps udføres ikke. Afslutningen på STEP--SNXT er en
STEP(08) uden kontrolbit. De fleste vælger dog at anvende traditionelle sekvensstyringer, fordi man er fortrolig med denne fremgangs--måde.
B: Kontrol bit
IR, AR, HR, LR
B: Kontrol bit
IR, AR, HR, LR
59
Step InstruktionerAfsnit 5-13
Udførelsen af et step afsluttes enten med betingelsen for den næste SNXT(09)
instruktion eller ved atsætte kontrolbittet for steppet OFF(se eksempel 3 nedenfor). Når steppet er afsluttet, vil alle IR og HR bit i steppet gå OFF og alle timere
nulstilles. Tællere, skifteregistre og bits styret af KEEP(11) beholder deres status. To simple steps vises nedenfor.
Et step starter med STEP(08) og slutter normalt med SNXT(09) (se eksempel 3 forneden,
her vises enundtagelse). Der er tre muligheder:En kæde, eller--forgreninger og og--forgreninger.
Interlocks, jumps, SBN(92), og END(01) kan ikke bruges i step--programmer.
De bits, der bruges som styrebits,kan brugesoveralt iprogrammet, medmindre
de bruges til at styre stepfunktionen. (se eksempel 3, nedenfor). Alle styrebits
skal være i samme ord og nummereres efter hinanden.
Bruger man IR eller LR bits som kontrolbit, går de OFF ved spændingssvigt.
Hvis status skal opretholdes, når spændingen vender tilbage, skal man bruge
bits i HR--området.
00200LD00002
00201SNXT(09)LR1502
00202STEP(08)---
Timer, Tæller og Puls InstruktionerAfsnit 5-14
Flag25407: Step start flag. Går ON i et scan, hver gang STEP(08) skifter til et nyt
step og kan bruges til reset af tællere placeret i steppet, som vist nedenfor.
TIM og TIMH(15) er ON-delay timere,som “tæller”ned fra SV (set--værdi) til nul.
Instruktionerne skal have etTC nummer og en set værdi (SV). STIM(69)bruges
til at styre interval timere, som bruges til at aktivere interrupt rutiner.
CNT (tæller) er en nedtæller og CNTR(12) er en reversibel (op/ned) tæller.
Begge skal programmeres med TC nummer og en SV. De er begge forsynet
med flere “indgange”, som fungerer som inputsignaler og reset. CTBL(63),
INT(89) og PRV(62) bruges iforbindelse medhigh-speed tæller.INT(89) bruges
endvidere til at stoppe pulsudgange.
Et TC nummer kan kun bruges een gang. Har man brugt f.eks. nummer #1 til en
timer, må en tæller ikke få det samme nummer. Derimod kan man bruge timerens eller tællerens kontaktfunktion så mange gange, man har brug for.
TC numrene går fra 000 til 127 i CPM1 PLC’en. Der er altså 128 timere eller
tællere i CPM1 PLC’en.
TC numrene kan bruges enten som bit eller som ord. Hvis de bruges som bit,
virker de på den måde, at når den indstillede tid (SV) er gået eller når tællerens
forvalg (SV) er talt, så går det bit, som har TC nummeret ON. Hvis TC bruges
som ord, hentes værdierne i de dataord, som indeholder de øjeblikkelige værdier (PV), altså timerens tid og det antal, som tælleren har talt. PV for timere eller
tællere kan derfor bruges som operander i f.eks. CMP(20), eller andre instruktioner, hvor TC er tilladt som operander. Dette sker ved simpelt hen at placere
TC nummeret som operand i instruktionen. Derved vildet værePV fortimer eller
tæller, der behandles.
Bemærk at “TIM000” bruges som operand, hvis TC nummer 000 eren timer, og
det er et signal fra denne timer, man skal bruge. Resultatet bliver, at kontakten
med operanden “TIM 000” går ON, når timerens tid (SV) er udløbet. Programmeringen er altid opbygget på samme måde: Først instruktionen, derefter bit-operanden og endelig ordoperanden.
En SV kan være en konstant (tal med # foran) eller ordadresse i et dataområde.
Man kan endvidere få mulighed for at ændre SV på timere og tællere eksternt.
Hvis man forbinder cifferhjul (thumbwheel) eller andre lignende enheder til
PLC’ens indgange og bruger det tilsvarende IR--område som SV til timer eller
tæller, kan SV ændres, mens PLC’en er i RUN eller MONITOR. Bemærk, at
Start
01000
25407
1 scan
00004LD25407
00005CNT01
#0003
61
Timer, Tæller og Puls InstruktionerAfsnit 5-14
timere og tælleres SV er BCD og derfor skal evt. eksterne enheder være af
denne type.
5-14-1 TIMER -- TIM
Definer Værdier
Begrænsninger
Beskrivelse
Ladder Symbol
TIMN
SV
N: TC nummer
#
Operand Data Områder
SV: Set værdi (ord, BCD)
IR, SR, AR, DM, HR, LR, #
SV er mellem 0000 og 9999 (0,0 og 999,9 sekunder).
Hvert TC nummer kan bruges til enten en TIMER eller en tæller instruktion. TC
numre går fra 000 til 127 i CPM1 PLC’en.
TC 000 til TC 015 (TC 000 til TC 003 i CPM1) må ikke bruges til TIM, hvis
formålet er TIMH(15). Der henvises til HIGH-SPEED TIMER -- TIMH(15) for
yderligere detaljer.
Timeren virker og bruges på samme måde som ON--delay timere i
relækredsløb. Den aktiveres, hvis betingelsen går ON og resettes (til SV) når
betingelsen går OFF. Tiden udmåles i tiendedele (0.1) sekunder fra SV til nul.
Hvis betingelsen, der aktiverer timeren stadig er ON, vil timerens kontakt (“TIM
000” f.eks.) gå ON og forblive ON, sålænge betingelsen er ON. Timerens kontakt går OFF, så snart betingelsen går OFF.
Det følgende diagram viser sammenhængen mellem betingelsen for en TIM og
timerens kontaktfunktion.
ON
Forholdsregler
Timerens betingelse
Timerens kontakt
Timere indenfor IL(02) og IL(03) områder resettes, når IL(02) aktiveres. Det
OFF
ON
OFF
samme sker ved spændingssvigt. Man kan lave en timer, som fastholder tiden
ved at bruge en CNT og sætte et af clock pulse “relæerne” i SR området som
betingelse for CNT. Derved kommer tælleren til at tælle tidsenheder. Der henvises til Tæller -- CNT for yderligere detaljer.
FlagER:SV er ikke BCD.
Indirekte adresserede DM ord eksisterer ikke. (Indholdet i :DM ord er
ikke BCD, eller DM områdets begrænsninger er overskredet).
SVSV
62
Timer, Tæller og Puls InstruktionerAfsnit 5-14
5-14-2 TÆLLER -- CNT
Definer Værdier
Begrænsninger
Beskrivelse
Ladder Symbol
CP
R
CNT N
SV
N: TC nummer
#
Operand Data Områder
SV: Set værdi (ord, BCD)
IR, SR, AR, DM, HR, LR, #
Hvert TC nummer kan kun bruges til at nummerere een TIMER eller TÆLLER.
TC numre gårfra 000 til 127 i CPM1 PLC’en.Tællerens PVgår fra 0000 til 9999.
CNT virker og bruges ligesom forvalgstællere i relækredsløb. De tæller 1 ned
(fra SV), når indgang CP går fra OFF til ON. Det vil sige, at tællerens værdi
mindskes med 1 hvergang CP går fra OFF til ON. Tællerens kontakt (f.eks.
“CNT 001”, hvis CNThar nummer #1) gårON, når tælleren har taltet antal pulser
svarende til SV, altså når PV er lig med nul. Kontakten forbliver ON, indtil CNT
resettes.
CNT resettes på resetindgangen. Når resetindgangen R går ON, ændres
tællerens værdi tilbage til SV. Signalet på R skal derefter gå OFF for at tælleren
igen kan tælle.Tællerens PV kan ikke resettes indenfor et interlock--område, og
tælleren husker sin værdi, når spændingen vender tilbage efter et spændings-svigt.
Ændringer i betingelse, CNT--kontakt og PV vises nedenfor. Størrelsen af PV er
kun for at vise ændringer i PV.
ON
OFF
ON
OFF
ON
OFF
SV
SV -- 1
SV -- 2
0002
0001
0000
SV
Forholdsregler
Tælle puls (CP)
Reset (R)
CNT--kontakt
PV
Programmet vil fungere, selv om SV ikke er BCD SV, men SV--værdien vil ikke
være korrekt.
FlagER:SV er ikke BCD.
Indirekte adresserede DM ord eksisterer ikke. (Indholdet i :DM ord er
ikke BCD, eller DM områdets begrænsninger er overskredet).
EksempelI det følgende eksempel bruges CNT til at lave en timer v.h.a. en clock puls iSR--
området.
CNT 001 tæller antallet afgange 1-sekundclock pulsen(SR 25502) går fra OFF
til ON, sålænge IR 00000er ON.Man kanaltså stoppe tællingen ved at sætte IR
00000 OFF.
63
Timer, Tæller og Puls InstruktionerAfsnit 5-14
Da SV i dette eksempel er 700, og 25502 er en 1 sekund taktgiver, vil CNT--kontakten, CNT 002,gå ON efter 700 x 1 sekund,altså 11 minutter og 40sekunder.
Det medfører, at IR 01602 går ON.
00000 25502
00001
CNT 001
Bemærk Nøjagtigheden på denne slags timere afhænger af frekvensen på clock pulsen.
!
CP
R
CNT
001
#0700
Jo større nøjagtighed man ønsker, jo hurtigere clock puls skal man anvende.
Man kan anvende 0.1 sekund eller 0.02 sekund puls, og så blot give tælleren en
tilsvarende større SV.
Hvert TC nummer kan kun bruges til at nummerere een TIMER eller TÆLLER.
TC numre går fra 000 til 127 i CPM1 PLC’en.Tællerens værdiskal liggeimellem
0000 og 9999.
CNTR(12) er en reversibel, op/ned ringtæller. Den tæller mellem nul og SV, alt
efter signalerne på de to indgangeII (“op--indgangen”) og DI (”ned--indgangen”),
samt reset.
Tælleren vil tælle 1 op, når betingelsen på II går fra OFF til ON, og den aktuelle
værdi (PV) vil voksemed 1.Hvis DIderimod går fra OFF til ON, vil tællerentælle
1 ned, og den aktuelle værdi (PV) vil mindskes med 1. Hvis både II ogDI går ON
samtidig, vil tælleren ikke tælle.
Hvis tællerens PV er nul, og der tælles ned, vil PVsættes til SV og CNT--kontakten vil gå ON,indtil der tælles ned igen.Hvis dertælles ned forbi SV,sættes PV til
nul, og CNT--kontakten vil gå ON, indtil der tælles ned igen.
CNTR(12) resettes hvis R går fra OFF til ON, og det medfører, at PV sættes til
nul. Tælleren kan ikketælle, hverken op eller ned,sålænge R er ON.Tælleren vil
ikke kunne resettes indenfor et interlock--område, hvis IL(02) er aktiv, og tælle-ren vil huske sin værdi, når spændingen vender tilbage efter spændingssvigt.
Timer, Tæller og Puls InstruktionerAfsnit 5-14
Nedenstående diagram viser, hvordan tælleren arbejder, når den tæller op og
ned, og hvornår CNT--kontakten går ON. Der vises, hvad der sker, når SV nås,
og når der tælles forbi nul.
ON
OFF
ON
OFF
ON
OFF
SV -- 1
SV -- 2
Forholdsregler
Tæl op (II)
Tæl ned (DI
Tællers kontakt
PV
Programmet vil fungere, selvom SV ikke er BCD,men SV--værdien vil ikkevære
korrekt.
FlagER:SV er ikke BCD.
Indirekte adresserede DM ord eksisterer ikke. (Indholdet i :DM ord er
ikke BCD, eller DM områdets begrænsninger er overskredet).
5-14-4 HIGH-SPEED TIMER (1/100) -- TIMH(15)
Ladder Symbol
TIMH(15) N
SV
SV
0001
00000000
SV
SV -- 1
SV -- 2
Definer Værdier
N: TC nummer
#
Operand Data Områder
Begrænsninger
Beskrivelse
Forholdsregler
SV: Set værdi (ord, BCD)
IR, SR, AR, DM, HR, LR, #
SV er mellem 0000 og 9999 (0,00 og 99,99 sekunder). ( Værdierne 0000 og
0001 kan godt skrives, men 0000 medfører at TIM--kontakten går ON med det
samme, og 0001 er urealistisk på grund af PLC’ens scantid). Kommaet skrives
ikke.
Hvert TC nummer kan kun bruges til at nummerere een TIMER eller TÆLLER.
TC numre går fra 000 til 127 i CPM1 PLC’en.
High-speed timere med numrefra TC 004 til TC127 i CPM1 må ikkebruges, hvis
scantiden er større end 19 mS.
TIMH(15) virker på samme måde som almindelige timere, bortset fra at TIMH
måler i enheder på 0.01 sekund (1/100 sekund). Der henvises til TIMER -- TIM
for yderligere detaljer.
Timere indenfor IL(02) og IL(03) områder resettes, når IL(02) aktiveres. Det
samme sker ved spændingssvigt. Man kan lave en timer, som fastholder tiden
ved spændingssvigt ved at brugeen CNT og sætte et af clockpulse “relæerne” i
SR området som betingelse forCNT. Derved kommer tælleren til attælle tidsenheder. Der henvises til TÆLLER -- CNT for yderligere detaljer.
Timerei jump--områder vil ikke resettes,når JMP(04) er aktiv,men hvis JMP(04)
00 bruges, vil timeren gå i stå. Timere vil fortsætte tidsudmålingen, hvis jump
numrene 01 til 49 bruges.
65
Timer, Tæller og Puls InstruktionerAfsnit 5-14
FlagER:SV er ikke BCD.
Indirekte adresserede DM ord eksisterer ikke. (Indholdet i :DM ord er
ikke BCD, eller DM områdets begrænsninger er overskredet).
EksempelDet følgende eksempel viser en timer med en tid på#150 (1.5 sekund). 01600 vil
gå ON, hvis 00000 går ON og forbliver ON i 1.5 sekund. Når 00000 går OFF,
resettes timeren og 01600 går OFF.
00000
TIM 000
TIMH(15)
000
#0150
01600
01.50 s
Adresse InstruktionOperander
00000LD00000
00001TIMH(15)000
#0150
00002LDTIM000
00003OUT01600
5-14-5INTERVAL TIMER -- STIM(69)
Ladder SymbolerOperand Data Områder
STIM(69)
C1
C2
C3
@STIM(69)
C1
C2
C3
C1: Kontrol data #1
000 to 008, 010 to 012
C2: Kontrol data #2
IR, SR, AR, DM, HR, TC, LR, #
C3: Kontrol data #3
IR, SR, AR, DM, HR, TC, LR, #
BegrænsningerC1 skal være 000, 003, 006. eller 010.
Hvis C1 er 000 eller 003, kan en konstant større end 0049 ikke bruges som C3.
Hvis C1 er 006, kan konstanter og DM 6143 til DM 6655 ikke bruges som C2
eller C3.
Hvis C1 er 010, skal både C2 og C3 sættes til 000.
BeskrivelseSTIM(69) bruges til at styre interval timeren på en af fire måder: Starte timeren
for et one--shot interrupt, starte timeren for tidsstyret interrupt, stoppe timeren,
og læse timerens PV. C1’s værdi bestemmer, hvilken af disse funktioner, der
skal udføres, som vist i den følgende tabel. Der henvises til afsnit 2-2-4 for en
mere detaljeret beskrivelse af, hvordan man bruger interval timer interrupt.
STIM(69) beskrives også mere detaljeret efter tabellen.
Sæt C1=000 for at få timeren til atgenerere eetinterrupt efter den defineredetid.
Sæt C1=003 for at starte tidsstyret interrupt (interrupt hvergang den definerede
tid er udløbet).
Timer, Tæller og Puls InstruktionerAfsnit 5-14
C2, som angiver timerens SV, kan være en konstant eller det første af to ord,
som indeholder SV..
Hvis C2 er en konstant, angiver den begyndelsesværdien for ned--tælleren
(BCD, 0000 to 9999). Tiden mellem tællepulserne er 1 mS.
Hvis C2 er en ordaddresse, angiver C2 begyndelsesværdien for nedtælleren
(BCD, 0000 til 9999), og C2+1 angiver tiden mellem tællepulserne (BCD, 0005
til 0320) i 0.1 mS enheder. Derved bliver tiden mellem pulserne 0.5 til 32mS.
C3 angiver nummeret på subrutine 0000 til 0127 i CPM1 PLC’en.
Note Den mindste tid for interval--timeren er:
(indholdet i C2) ´ (indholdet i C2+1) ´ 0.1 mS
At læse timeres PVsSæt C1=006 for at læse PV.
C2 angiver det første af de to ord, som modtager timerens PV. C2 vil indeholde
antallet af gange tællerenhar talt ned (BCD, 0000to 9999) og C2+1 vil indeholde
intervallet mellem tællepulsernel (BCD i 0.1 mS enheder).
C3 viser det ord, som vil indeholde den tid, der er gået, siden timeren sidst talte
ned (BCD i 0.1 mS enheder).
(Skal være lig med eller mindre end den tid, der er satsom tid mellem pulsernei
C2+1.)
Note Den tid, der er gået, siden timeren startede, kan beregnes på følgende måde:
[(indholdet i C2) ´ (indholdet i C2+1) + (indholdet i C3)] ´ 0.1 mS
At stoppe TimereSæt C1=010 for at stoppe timeren.
C2 og C3 har ingen funktion, og skal begge sættes til 000.
FlagER:Interval timer 0 er startet, mens en udgang er aktiv.
(kun C1=000)
Indirekte adresserede DM ord eksisterer ikke. (Indholdet i :DM ord er
ikke BCD, eller DM områdets begrænsninger er overskredet).
Et data områdes begrænsning er overskredet.
5-14-6OPRET SAMMENLIGNINGS TABEL -- CTBL(63)
Ladder SymbolerOperand Data Områder
CTBL(63)
000
C
TB
@CTBL(63)
000
C
TB
C: Kontrol data
000 til 003
TB: Første sammenligningstabel ord
IR, SR, AR, DM, HR, LR
BegrænsningerDet første og det sidste ord i sammenligningstabellen skal være i samme data
område. (Længden af sammenligningstabellen bestemmes af opsætningen).
BeskrivelseHvis udførelsesbetingelsen er OFF, udføres CTBL(63) ikke. Når udførelsesbe-
tingelsen går ON, opretter CTBL(63) ensammenligningstabel tilsammenligning
med high-speed tællerens PV. Afhængig af værdien i C, kan sammenligningen
med high-speed tællerens PV begynde øjeblikkeligt, eller den kan startes separat med INI(61).
67
Timer, Tæller og Puls InstruktionerAfsnit 5-14
CTBL(63)’s funktion bestemmes af Kontrol data (C), som vist i følgende tabel.
Funktionerne beskrives efter tabellen.
CCTBL(63) funktion
000Opretter tabel med målværdier og starter sammenligningen.
001Opretter tabel med områdeforvalg og begynder sammenligningen
002Opretter tabel med målværdier.Starter sammenligningen med INI(61).
003Opretter tabel med områdeforvalg. Starter sammenligningen med INI(61).
Hvis PV passer sammen med en forvalgsværdi i sammenligningstabellen eller
ligger indenfor et angivet forvalgsområde, bliver den angivne subrutine kaldt og
udført. Der henvises til afsnit 2-2-5 for yderligere detaljer om tabel sammenligninger.
Hvis high-speed tælleren er gjort aktiv i PC Setup (DM 6642), vil den begynde at
tælle fra nul, når PLC’en sættes i RUN.Sammenligning mellem PV ogsammenligningstabellen vil ikke begynde før oprettelsen og sammenligningen er
iværksat med INI(61) ellerCTBL(63). Sammenligningen kan startes og stoppes,
eller PV kan resettes med INI(61).
Når sammenligningstabellen er oprettet, gælder værdierne indtil PLC’en går ud
af RUN eller indtil der fremkommer en fejl ved forsøget på at opretteen ny tabel.
Derfor foreslås det, at man enten bruger den flankestyrede @CTBL(63) eller
lader initialiseringspulsen (SR 25315) oprette tabellen.Derved nedsættesscantiden.
Værdier for tabellenSammenligningstabellen indeholder op til 16 værdier og et subrutine nummer,
som hører sammen med hver værdi. subrutinen med det passende nummer
kaldes og udføres, når PV passer sammen med en forvalgsværdi. (Hvis interrupt af programmet ikke kræves, kan et udefineret subrutine nummer skrives).
Sammenligningen af værdier udføres en ad gangen i den rækkefølge, som tabellen angiver. Når PV når den første forvalgsværdii tabellen, udføres interruptsubrutinen, og tabelsammenligningen fortsætter med den næste værdi i tabellen. Når processen nårtil den sidste forvalgsværdi itabellen, vender sammenligningen tilbage til den første værdi, og processen gentages.
Det følgende skema viser opbygningen af en sammenligningstabel til highspeed tæller 0, i lineær mode.
TBAntal Værdier (BCD)
TB+1Værdi #1, 4 mindste cifre (BCD)
TB+2Værdi #1, 4 største cifre (BCD)
TB+3subrutine nummer (Se note.)
0001 til 0016
Et sæt værdier
Note1. subrutinenummeret kan være 0000 til 0049 i CPM1 PLC’en.
SammenligningsområderEn tabel for sammenligningsområder indeholder 8 forvalgsområder, som defin-
eres af en 8-cifret nedre grænse og en 8-cifret øvre grænse, såvel som deres
tilhørende subrutine numre. Den tilhørende subrutine kaldes og udføres, når PV
ligger indenfor en givengrænse. (hvis interrupt af processen ikke kræves,kan et
udefineret subrutine nummer skrives).
Angiv altid 8 områder. Hvis der skal bruges mindre end 8 områder, så sæt de
overskydende subrutine numre til FFFF. Hvis der skal bruges mere end 8
områder, kan man bruge en anden sammenligningsinstruktion, som f.eks.
BCMP(68) til at sammenligne områder med high-speed tællerens PV i SR 248
68
Timer, Tæller og Puls InstruktionerAfsnit 5-14
og SR 249 i CPM1 PLC’en. Vær opmærksom på, at disse ord kun opdateres 1
gang hvert scan.
I AR området er der flag, som indikerer, når en high-speed tællers PV ligger indenfor et eller flere afde 8 områder. Flaget gårON, når PV er indenfor det tilsvarende område.
AR område Flag
AR 1100 til AR 1107 svarer til område 1 til 8.
Det følgende skema viser opbygningen af en sammenligningstabel til highspeed tæller 0.
Note1. subrutine nummeret kan være 0000 til 0049 i CPM1, og subrutinen vil
udføres, så længe tællerens PV er indenfor detangivne forvalgsområde.En
værdi på FFFF indikerer, at ingen subrutine skal udføres.
Den følgende tabel viser de tilladte værdier og lave og høje grænser. Den hexadecimale værdi F i det mest betydende ciffer indikerer at værdien er negativ.
Tilladte værdier
OP/NED mode: F003 2767 til 0003 2767
OPTÆLLER mode: 0000 0000 til 0006 5535
FlagER:Der er fejl i high-speed tællerens opsætning.
Den angivne tæller og funktion passer ikke sammen.
Der er en CTBL(63) instruktion i subrutinen, som er kaldt af en anden
CTBL(63) instruktion. (CTBL(63) er kaldt mere end 1 gang)
Indirekte adresserede DM ord eksisterer ikke. (Indholdet i :DM ord er
ikke BCD, eller DM områdets begrænsninger er overskredet).
Sammenligningstabellen overskrider dataområdets begrænsninger,
eller der er fejl i opsætningen af sammenligningstabellen.
CTBL(63) udføres i en subrutine, mens en puls I/O eller high-speed
tæller instruktion udføres i hovedprogrammet.
Subrutiner udføres kun een gang første gang udførelsesbetingelsen ses. AR
status opdateres kun een gang i hvert scan. Hvis betingelsen optræder mere
end een gang i tabellen, er det første gang, der har prioritet.
69
Timer, Tæller og Puls InstruktionerAfsnit 5-14
5-14-7STYRE METODE -- INI(61)
Ladder Symboler
INI(61)
000
C
P1
@INI(61)
000
C
P1
Operand Data Områder
C: Kontrol data
000 to 003
P1: Første PV ord
IR, SR, AR, DM, HR, LR
BegrænsningerP1 skal være 000 med mindre C er 002.
P1 og P1+1 skal være i det samme data område.
DM 6143 til DM 6655 kan ikke bruges som P1.
BeskrivelseHvis udførelsesbetingelsen er OFF, udføres INI(61) ikke. Når udførelsesbetin-
gelsen går ON, bruges INI(61) til at styre high-speed tællerens operation og
stoppe puls udgangen.
INI(61)’s funktion bestemmesaf kontrol data C.(P1 og P1+1 indeholder dennye
high-speed tæller set--værdi, når C=002)
CTBL(63) Sammenlign tabelHvis C er 000 eller 001, starter og stopper INI(61) sammenligningen mellem
high-speed tællerens PV og sammenligningstabellen anvist af CTBL(63). Der
henvises til afsnit 2-2-5 for yderligere detaljer om sammenligningstabellen.
Ændring af PVHvis C er 002, ændrer INI(61) high-speed tællerens PV til den 8-cifrede værdi i
P1 og P1+1.
High-speed tæller PV kan være F003 2767 til 0003 2767 i OP/NED Mode, eller
0000 0000 til 0006 5535 i OPTÆLLER Mode. Den hexadecimale værdi F i det
mest betydende ciffer i PV indikerer at PV er negativ.
4 cifre til venstre4 cifre til højreOP/NED modeOPTÆLLER mode
P1+1P1F0032767 til 0003276700000000 til 00065535
Stop Puls UdgangHvis C er 003, stopper INI(61) puls udgang
FlagER:Den anviste port og funktion passer ikke sammen.
Indirekte adresserede DM ord eksisterer ikke. (Indholdet i :DM ord er
ikke BCD, eller DM områdets begrænsninger er overskredet).
P1+1 overskrider data områdets begrænsninger.(C=002)
Der er fejl i opsætningen af operander.
INI(61) udføres i en interrupt subrutine, mens en puls I/O eller high-
speed tæller instruktion udføres i hovedprogrammet.
70
Timer, Tæller og Puls InstruktionerAfsnit 5-14
5-14-8LÆSNING AF HIGH-SPEED TÆLLER PV -- PRV(62)
Ladder SymbolerOperand Data Områder
PRV(62)
000
C
D
@PRV(62)
000
C
D
C: Kontrol data
000, 001, eller 002
D: Første placerings ord
IR, SR, AR, DM, HR, LR
BegrænsningerD og D+1 skal være i samme data område.
DM 6143 til DM 6655 kan ikke bruges som D.
BeskrivelseHvis udførelsesbetingelsen erOFF, udføres PRV(62) ikke. Når udførelsesbetin-
gelsen går ON, læserPRV(62) de data, derangives af C og skriver demtil Deller
D og D+1.
Kontrol data C afgør, hvilken type data der bliver adgang til.
CDataPlacerings ord
000High-speed tæller PVD og D+1
001Status for high-speed tæller eller puls udgangD
002Resultat for sammenligningsområderD
High-speed tæller PV
(C=000)
Hvis C er 000, læser PRV(62) high-speed tællers PV og skriver den 8-cifrede
værdi i D og D+1.
High-speed tællers PVkan være F003 2767 til0003 2767 i OP/NED Mode,eller
0000 0000 til 0006 5535 i OPTÆLLER Mode. Den hexadecimale værdi F i PV’s
mest betydende ciffer indikerer at PV er negativ.
4 cifre til venstre4 cifre til højreOP/NED ModeOPTÆLLER Mode
D+1DF0032767 til 0003276700000000 til 00065535
FlagER:Indirekte adresserede DM ord eksisterer ikke. (Indholdet i :DM ord er
ikke BCD, eller DM områdets begrænsninger er overskredet).
D+1 overskrider data områdets begrænsninger. (C=000)
Der er fejl i opsætningen af operander.
PRV(62) udføres i en interrupt--subrutine, mens en puls I/O eller high-
speed tæller instruktion udføres i hovedprogrammet.
5-14-9DEFINER PULSER -- PULS(65)
Ladder SymbolerOperand Data Områder
PULS(65)
P
C
N
@PULS(65)
P
C
N
IR, SR, AR, DM, HR, LR
P:
000
C: Kontrol data
000
N: Antal pulser
71
Timer, Tæller og Puls InstruktionerAfsnit 5-14
BegrænsningerN og N+1 skal være i samme dataområde.
N kan ikke være DM 6143 til DM 6655.
BeskrivelsePULS(65) definerer det antal pulser, som sendes ud på en transistorudgang
med instruktionen SPED(64).
Da PULS(65) har en relativ lang eksekveringstid, kan scan tiden reduceres ved
at eksekvere den differentierede version (@PULS(65)) af instruktionen.
Antal pulser
N+1, N indeholder det8--cifrede antalpulser fra 00000001 til 16777215. Puls-udgangen startes med SPED(64) og stopper automatisk, når det specificerede
antal pulser er udsendt.
4 mestbetydende 4 mindst betydende
N+1NAntal pulser:
Tilladte værdier
0000 0001 to 1677 7215
FrekvensændringDet specificerede antal pulser vil blive udsendt, også selvom SPED(64) eksek-
veres under en pulsudsending ogdefinerer enny frekvens. Pulsudsendingenvil
da fortsætte med den ny frekvens.
FlagER:Der er en fejl i instruktionsparametrene.
Et dataområdes grænse er overskredet.
Indirekte adresseret *DM eksisterer ikke. (Indhold af *DM word er ikke
BCD, eller DM områdets grænse er overskredet.)
PULS(65) eksekveres i eninterrupt subrutineimens enpuls I/Oor high-
speed tæller instruktion udføres i hovedprogrammet.
5-14-10 UDSEND PULSTOG-- SPED(64)
Ladder Symbols
SPED(64)
P
M
F
@SPED(64)
P
M
F
Operand Data Områder
P: Udgangsbit specifikation
010 til 150
M: Puls mode
000 or 001
F: Puls frekvens
IR, SR, AR, DM, HR, LR, #
BegrænsningerF skal være BCD, #0000 eller #0002 til #0100 .
F kan ikke være DM 6144 til DM 6655.
Det specificerede udgangsbit skal være en transistorudgang.
BeskrivelseSPED(64) bruges til at sætte, ændre eller stoppe pulsudgang fra et udgangsbit.
Når udførselsbetingelsen er OFF, eksekveres SPED(64) ikke. Når udførselsbetingelsen er ON, definerer SPED(64) frekvensen F med hvilken der så sendes
pulser ud på det specificerede bit P. M bestemmer pulsudgangs mode.
Da SPED(64) har en relativ lang eksekveringstid, kan scan tiden reduceres ved
at eksekvere den differentierede version (@SPED(64)) af instruktionen.
Udgangsbit specifikation (P) P specificerer det transistorudgangsbit, som pulserne sendes ud på.
PPulsudgangs--lokation
000 to
150
Udgangsbits IR 10000 til IR 10015.
P’s første to cifre specificerer, hvilket bit i IR 100, der er udgangsbit. Det
tredie ciffer er altid 0. For eksempel: P=000 specificerer IR 10000, P=010
specificerer IR 10001, ... og P=150 specificerer bit IR 10015.
72
Timer, Tæller og Puls InstruktionerAfsnit 5-14
Udgangs Mode (M)M bestemmer pulsudgangs mode. 000 er uafhængig mode. 001 er kontinuerlig
mode.
I uafhængig mode fortsætter pulsudsendelse, indtil en af tre hændelser sker:
1, 2, 3...1. Antal pulser specificeret med PULS(65) instruktionen nåes. (Udfør
PULS(65) før SPED(64) i uafhængig mode.)
2. INI(61) instruktionen udføres med C=003.
3. SPED(64) udføres igen med udgangsfrekvensen F sat til 000.
I uafhængig mode specificeres antallet af pulser altid med PULS(65) inden
SPED(64) eksekveres.
I kontinuerlig mode udsendes pulser med frekvensen F, indtil INI(61) instruktionen udføres med C=003, eller SPED(64) udføres igen med F=0000.
Pulsfrekvens (F)F specificerer pulsfrekvensen i enheder af10 Hz. Udføres SPED(64) med
F=0000, stoppes pulsudsendelse.
Tilladte værdier for F
0000 (stopper pulstoget) ; 0002 til 0100 (20 Hz til 1 kHz)
ForbeholdPulser kan ikke udsendes samtidig med brug af intervaltimer.
Der kan kun sendes pulser ud på 1 udgang ad gangen.
Indirekte adresseret DM ord eksisterer ikke. (Indholdet af *DM ord er
ikke BCD, eller DM områdets grænse er overskredet.)
Der er en fejl i instruktionsparametrene.
SPED(64) udføres i en interrupt subrutine, imens en puls I/O eller high
speed tæller instruktion udføres i hovedprogrammet.
73
Skifte InstruktionerAfsnit 5-15
5-15Skifte Instruktioner
5-15-1SKIFTEREGISTER -- SFT(10)
Begrænsninger
Beskrivelse
Ladder Symbol
I
SFT(10)
P
R
St
E
Operand Data Områder
St: Første ord
IR, SR, AR, HR, LR
E: Sidste ord
IR, SR, AR, HR, LR
E skal være lig med eller større end St, og St og E skal være i det samme dataområde.
Hvis en bit adressei et ord, som bruges iskifteregisteret, også bruges som f.eks.
OUT eller KEEP(11), vil fejl (“COIL/OUT DUPL”) vises ved et syntax check på
programmeringsudstyret, men programmet vil alligevel udføres, som det er
skrevet.Se eksempel 2: Kontrol Bits i Skifteregistre som viser dette.
SFT(10) styres af tre signaler, I, P, og R (data,clock ogreset). Detvirker på den
måde, at I bestemmer, HVAD der skal ind i skifteregisteret, og P bestemmer
HVORNÅR, således at det signalder stårpå I,når P går ON, flyttes indpå første
bit (trin) i registeret, og samtidig flyttes det signal, der står på et givet bit (trin) i
registeret et (bit)trin frem, indtil det når sidste trinog går tabt. Hvis I er ON, nårP
går ON, vil første bit gåON. Hvis f.eks. bit 4 var ONog bit3 var OFF,da P gik ON,
vil bit 5 gå ON og bit 4 gå OFF.
E
Tabt data
St+1, St+2, ...St
Udførelsesbetingelsen P er en PULS funktion. Skiftet sker kun, når P går fra
OFF til ON. Hvis P er ON hele tiden vil skifteregisteret ikke reagere på evt. skift
på I.
St bestemmer skifteregisterets første ord, og E det sidste ord. Skifteregisteret
“styrer” begge disse ord og alle ord her imellem. Skal man bruge et 16 bit register, er St og E samme ord. Kræver styringen 80 trin, skal man bruge 5 ord, altså
skal E være 4 større end St.
Hvis R går ON, vil alle bit i registeret gå OFF. R har dominans, d.v.s. at hvis R er
ON, kan registeret ikke skifte.
FlagSFT(10) har ingen flag tilknyttet.
Eksempel
Det følgende eksempel bruger 1-sekund clock pulse bit (25502). Det medfører,
at der skiftes een gang hvert sekund, og at bit 00000 skiftes ind i registerets
Skifte data I
74
OperandDataOmråde
r
Skifte InstruktionerAfsnit 5-15
første trin hvert sekund. Skifteregisteret er på 16 bit, ord 010. Derfor vil udgang
10000 gå ON, hver gang et “1” når frem til registerets trin 8.
00000
25502
00001
01007
5-15-2SKIFT ORD -- WSFT(16)
Ladder Symboler
WSFT(16)
St
E
Begrænsninger
Beskrivelse
St og E Skal være i samme dataområde. E skal være lig med eller større end St.
DM 6144 til DM 6655 kan ikke bruges som St eller E.
Når udførelsesbetingelsen er OFF, udføres WSFT(16) ikke. Når udførelsesbetingelsen er ON , skifter WSFT(16) data mellem St og E som hele ord. Der
skrives nul i St, og indholdet af E går tabt.
FlagER:St og E er ikke i samme områder, eller St er større end E.
Indirekte adresserede DM ord eksisterer ikke. (indholdet i :DM ord er
ikke BCD, eller DM områdets begrænsninger er overskredet.
5-15-3REVERSIBELT SKIFTEREGISTER -- SFTR(84)
Ladder Symboler
SFTR(84)
C
St
E
@SFTR(84)
C
St
E
C: Kontrol ord
IR, SR, AR, DM, HR, LR
St: Første ord
IR, SR, AR, DM, HR, LR
E: Sidste ord
IR, SR, AR, DM, HR, LR
75
Skifte InstruktionerAfsnit 5-15
Begrænsninger
Beskrivelse
St og E Skalvære i samme dataområde, ogSt skal være ligmed eller mindre end
E.
DM 6144 til DM 6655 kan ikke bruges som C, St, eller E.
SFTR(84) er et skifteregister, der kan skifte både frem og tilbage, fra St mod E
eller omvendt. Ønsker man et enkelt ord (16 bits skifteregister) skrives samme
ord i St og E. Kontrolord bestemmer skifteretning, hvad der skal ind i registeret,
skiftepulsen og reset. Kontrolords opbygning er som følger:
15 14 13 12Benyttes ikke
Skifteretning
1 (ON): venstre (LSB mod MSB)
0 (OFF): højre (MSB mod LSB)
Status som skal ind i registeret
Skifte puls bit
Reset
Data i skifteregister skiftes i den retning, som bestemmes af bit 12, idet det skif-ter en bit til CY, og status på bit 13 ind i den anden ende, når SFTR(84) udføres
med ON på udførelsesbetingelsen,når bit 14 går ON, og nårreset, bit15 er OFF.
Hvis bit 15 går ON, vil hele skifteregisteret og CY nulstilles.
FlagER:St og E er ikke i samme dataområde, eller St er større end E
Indirekte adresserede DM ord eksisterer ikke. (Indhold i :DM ord er
ikke BCD, eller DM områdets begrænsninger er overskredet.)
CY:Modtager status for bit 00 i St eller bit 15 i E, afhængig af skifteretning.
Eksempel
I det følgende eksempel bruges IR 00000, IR 00001, IR 00002, og IR 00003
som kontrolbits i @SFTR(84). Skifteregisteret er på 16 bits, DM 0010, og
udførelsesbetingelsen er IR 00004.
BegrænsningerSt og E skal være i samme dataområde, og E skal være lig med eller større end
St.
DM 6144 til DM 6655 kan ikke bruges som St eller E.
BeskrivelseNår udførelsesbetingelsen er OFF, udføres ASFT(17) ikke, og programmetgår
videre til næste instruktion. Når udførelsesbetingelsen er ON virker ASFT(17)
som et reversibelt ord skifteregister, der skifter data mellem St og E. Registeret
skifter kun, hvis det næste ord er nul. Det medfører,at hvisingen order nul,sker
der ingenting. Der er altså kun et ord, der skifter i registeret for hvert ord, som er
nul. Når indholdet afet ord er skiftet til det næste,vil det oprindelige ord være nul.
Altså -- når registeret skifter, bytter hvert “nul ord” i registeret plads med det
næste ord. (Se eksemplet nedenfor.)
Skifteretningen (det vil sige om det næste ord er det næste højere eller det
næste lavere ord) bestemmes af C. C bruges også tilat resette registeret. Hele
eller en hvilken som helst del af registeret kan resettes.
Kontrol ordBits 00 til 12i C bruges ikke. Bit 13 er skifteretning: Hvisbit 13 er ON, skiftes ned
(mod det lavest adresserede ord). Er bit 13 OFF, skiftes op (mod det højest
adresserede ord). Bit 14 er Shift Enable Bit: Går bit 14 ON arbejder skifteregisteret ifølge bit 13, og går bit 14OFF, disables registeret. Bit 15 er Reset bit: Skifteregisteret resettes (nulstilles) mellemSt og E, når bit 15går ON. Når bit 15 igen
går OFF, kan registeret igen skifte.
Note Hvis den ikke--flankestyrede (uden @) udgave af ASFT(17) bruges, vil data
skifte i hvert scan, hvis udførelsesbetingelsen er ON. Brug den flankestyrede
udgave @ASFT(17), hvis dette ikke ønskes.
FlagER:St og E er i forskellige områder eller St er større end E.
Indirekte adresserede DM ord eksisterer ikke. (Indholdet i :DM ord er
ikke BCD, eller DM områdets begrænsninger er overskredet.)
77
LadderSymbolerOperandDataOmråde
r
Data FlytteinstruktionerAfsnit 5-16
EksempelDet følgende eksempel viser, hvordan ASFT(17) bruges til at skifte ord i et
11-ord skifteregister oprettet mellem DM 0100 og DM 0110, og kontrol ord
C=#6000. Data, som ikke er nul skiftes mod St (DM 0110).
Note Nullerne skiftes “fremad” hvis C=#4000, og hele registeret nulstilles hvis
C=#8000.
5-16Data Flytteinstruktioner
5-16-1FLYT -- MOV(21)
MOV(21)
S
D
BegrænsningerDM 6144 til DM 6655 kan ikke bruges som D.
Beskrivelse
Når udførelsesbetingelsen er OFF, udføres MOV(21) ikke. Når udførelsesbetingelsen er ON, flytter (kopierer) MOV(21) indholdet i S til D.
Kilde ordPlacerings ord
Forholdsregler
Timere og tælleres aktuel værdi kan ikke ændres med MOV(21). Man kan derimod ændre disse værdier med instruktionen BSET(71).
@MOV(21)
S
D
Bit status
uændret.
S: Kilde ord
IR, SR, AR, DM, HR, TC, LR, #
D: Placerings ord
IR, SR, AR, DM, HR, LR
FlagER:Indirekte adresserede DM ord eksisterer ikke. (Indholdet i :DM ord er
ikke BCD, eller DM områdets begrænsninger er overskredet.
78
LadderSymbolerOperandDataOmråde
r
Data FlytteinstruktionerAfsnit 5-16
EQ:ON hvis værdien 0000 overføres til D.
EksempelDet følgende eksempel viser, hvordan @MOV(21) bruges til at flytte/kopiere
IR 001 til HR 05, når IR 00000 går fra OFF til ON.
00000
IR 000
HR 05
0 1 1 1 0 0 1 1 1 00 0 1 0 1
0 1 1 1 0 0 1 1 1 00 0 1 0 1
@MOV(21)
HR 05
5-16-2MOVE INVERTERET -- MVN(22)
MVN(22)
S
D
@MVN(22)
001
S
D
Adresse InstruktionOperander
00000LD00000
00001@MOV(21)
001
HR05
0
0
S: Kilde ord
IR, SR, AR, DM, HR, TC, LR, #
D: Placerings ord
IR, SR, AR, DM, HR, LR
BegrænsningerDM 6144 til DM 6655 kan ikke bruges som D.
Beskrivelse
Når udførelsesbetingelsen er OFF, udføres MVN(22) ikke. Når udførelsesbetingelsen er ON, overfører MVN(22) det inverterede indhold i S (ord eller 4-cifret
hexadecimal konstant) tilD. Det betyder,at hvert bit i S,som er ON, placeres på
det tilsvarende bit i D, men som OFF, og hvert bit i S, som er OFF, placeres ligeledes på det tilsvarende bit i D, men som ON.
Forholdsregler
Kilde ord
Bit status
inverteret.
Timere og tælleres aktuel værdi kan ikke ændres med MVN(22). Dissekan deri-
Placerings ord
mod ændres med instruktionen BSET(71).
FlagER:Indirekte adresserede DM ord eksisterer ikke. (Indholdet i :DM ord er
ikke BCD, eller DM områdets begrænsninger er overskredet.)
EQ:ON når værdien 0000 overføres til D.
79
OperandDataOmråde
r
Data FlytteinstruktionerAfsnit 5-16
EksempelDet følgende eksempel viser, hvordan @MVN(22) kopierer den komplemen--
tære (inverterede) værdi af konstanten #F8C5 til DM 0010, når IR 00001 skifter
fra OFF til ON. Bemærk resultatet. “1” bliver til “0” og “0” bliver til “1”.
00001
#F8C5
DM 0010
1 1 1 1 1 0 0 0 1 10 0 1 0 1
0 0 0 0 0 1 1 1 0 01 1 0 1 0
@MVN(22)
#F8C5
DM 0010
5-16-3FLYT BLOK (OVERFØR) -- XFER(70)
Ladder Symboler
XFER(70)
N
S
D
@XFER(70)
N
S
D
Adresse InstruktionOperander
00000LD00001
00001@MOV(21)
#F8C5
DM0010
0
1
N: Antal ord (BCD)
IR, SR, AR, DM, HR, TC, LR, #
S: Første kilde ord
IR, SR, AR, DM, HR, TC, LR
D: Første placerings ord
IR, SR, AR, DM, HR, TC, LR
Begrænsninger
S og S+N Skal være i det samme dataområde . Det gælder også for D og D+N.
DM 6144 til DM 6655 kan ikke bruges som D.
Beskrivelse
Når udførelsesbetingelsen er OFF, udføres XFER(70) ikke. Når udførelsesbetingelsen er ON kopierer XFER(70) indholdet i S, S+1, ..., S+N til D, D+1, ...,
D+N.
FlagER:N er ikke BCD
S og S+N eller D og D+N er ikke i samme dataområde.
Indirekte adresserede DM ord eksisterer ikke. (Indholdet i :DM ord er
ikke BCD, eller DM områdets begrænsninger er overskredet).
S
3 4 5
S+1
3 4 5
S+2
3 4 2
S+N
6 4 5
D
2
1
2
2
3 4 5
D+1
3 4 5
D+2
3 4 2
D+N
6 4 5
2
1
2
2
80
OperandDataOmråde
r
Data FlytteinstruktionerAfsnit 5-16
5-16-4SKRIV TIL EN BLOK -- BSET(71)
Begrænsninger
Beskrivelse
Ladder Symboler
S: Kilde data
IR, SR, AR, DM, HR, TC, LR, #
BSET(71)
@BSET(71)
St: Første ord
S
St
E
St
S
IR, SR AR, DM, HR, TC, LR
E: Sidste ord
E
IR, SR, AR, DM, HR, TC, LR
St skal være lig med eller mindre end E, og St og E skal være i samme dataområde.
DM 6144 til DM 6655 kan ikke bruges som St eller E.
Når udførelsesbetingelsen er OFF, udføres BSET(71) ikke. Når udførelsesbetingelsen er ON, kopierer BSET(71) indholdet i S til alle ord fra St til E (begge
incl).
S
3 4 52
2
St
3 4 5
St+1
3 4 5
St+2
3 4 5
2
2
E
3 4 5
2
BSET(71) kan bruges til at ændre timer/tæller PV. (Dette kan ikke gøres med
MOV(21) eller MVN(22).) BSET(71) kan også bruges til at resette eller klargøre
et helt dataområde til andre instruktioner. Endelig kan den bruges til at resette i
tilfælde af fejlfunktioner.
FlagER:St og E er ikke i samme dataområde, eller St er større end E.
Indirekte adresserede DM ord eksisterer ikke. (Indholdet i :DM ord er
ikke BCD, eller DM områdets begrænsninger er overskredet).
Eksempel
Det følgende eksempel viser, hvordan man, med BSET(71), kopierer en kon-stant (#0000) til en blok i DM området (DM 0000 til DM 0500), når IR 00000 går
ON, og dermed nulstiller hele området.
00000
@BSET(71)
#0000
DM 0000
DM 0500
Adresse InstruktionOperander
00000LD00000
00001@BSET(71)
#0000
DM0000
DM0500
81
LadderSymbolerOperandDataOmråde
r
OperandDataOmråde
r
Data FlytteinstruktionerAfsnit 5-16
5-16-5DATA BYT -- XCHG(73)
E1: Skifte ord 1
IR, SR, AR, DM, HR, TC, LR
E2: Skifte ord 2
IR, SR, AR, DM, HR, TC, LR
Begrænsninger
Beskrivelse
XCHG(73)
E1
E2
@XCHG(73)
E1
E2
DM 6144 til DM 6655 kan ikke bruges som E1 eller E2.
Når udførelsesbetingelsen er OFF, udføres XCHG(73) ikke. Når udførelsesbetingelsen er ON, bytter XCHG(73) indholdet i E1 med indholdet i E2 og omvendt.
E2E1
Hvis man skal skifteblokke af ord i stedet for enkelte ord, kanman bruge midlertidige arbejdsregistre og instruktionen XFER(70) tre gange.
FlagER:Indirekte adresserede DM ord eksisterer ikke. (Indholdet i :DM ord er
ikke BCD, eller DM områdets begrænsninger er overskredet).
5-16-6ENKELT ORD FORDELING -- DIST(80)
Begrænsninger
Beskrivelse
Enkeltords--fordeling
Ladder Symboler
DIST(80)
S
DBs
C
@DIST(80)
S
DBs
C
IR, SR, AR, DM, HR, TC, LR, #
IR, SR, AR, DM, HR, TC, LR
IR, SR, AR, DM, HR, TC, LR, #
S: Kilde data
DBs: Placerings base ord
C: Kontrol ord (BCD)
Cskal være BCD.
DM 6144 til DM 6655 kan ikke bruges som DBs eller C.
DIST(80) kan bruges til enkeltords--fordeling eller til stack (register) funktioner,
afhængig af indholdet i kontrol ord C.
Når bit 12 til 15 i C=0 til 8, kan DIST(80) bruges til enkeltords--fordeling. Hele
indholdet i C bestemmer et offset, Of.
Når udførelsesbetingelsen er OFF, udføres DIST(80) ikke. Når udførelsesbetingelsen er ON,kopierer DIST(80) indholdeti S til DBs+Of, detvil sige, at Ofadderes til DBs for at bestemme placerings ord.
Note DBs og DBs+Of skal være i det samme dataområde og kan ikke ligge mellem
DM 6144 og DM 6655.
Eksempel
Det følgende eksempel viser, hvordan DIST(80) kopierer #00FF til HR 10 + Of.
82
Data FlytteinstruktionerAfsnit 5-16
Indholdet i LR 10er #3005, så #00FF kopieres tilHR 15 (HR 10 + 5)når IR00000
går ON.
00000
@DIST(80)
LR 10
3 0 0
#00FF
HR 10
LR 10
#00FF
5
0 0 F0
Adresse InstruktionOperander
00000LD00000
00001@DIST(80)
HR 10
F
0 0 0
HR 15
0 0 F
F
#00FF
HR10
LR10
Stack FunktionNår bit 12 til 15 iC=9, udfører DIST(80) enstack funktion. De treøvrige cifre i C
bestemmer antallet af ord i stacken, (000 to999). Indholdeti DBs er stack pointer (pegepind).
Hvis udførelsesbetingelsen er OFF, udføres DIST(80) ikke. Når udførelsesbetingelsen er ON,kopierer DIST(80) indholdet i S tilDBs+1+indholdet i DBs. Med
andre ord, 1 og indholdet i DBs adderes til DBsfor at bestemme placeringsord.
Indholdet i DBs incrementeres samtidig (der adderes 1 til DBs).
Note1. DIST(80) udføres en gang i hver scan, sålænge udførelsesbetingelsen er
ON, medmindre den flankestyrede (@DIST(80)) bruges, eller DIST(80)
bruges i forbindelse med DIFU(13) eller DIFD(14).
2. Sørg for at initialisere stack pointer (pegepinden) før DIST(80) bruges til
stack funktion.
Eksempel
Det følgende eksempel viser, hvordan DIST(80) bruges til at oprette en stack
mellem to DM 0001 og DM 0005. DM 0000 fungerer som stack pointer.
FlagER:Offset eller stack længden i kontrol ord er ikke BCD.
Indirekte adresserede DM ord eksisterer ikke. (Indholdet i :DM ord er
ikke BCD, eller DM områdets begrænsninger er overskredet).
001
DM0000
216
83
OperandDataOmråde
r
Data FlytteinstruktionerAfsnit 5-16
Under stack funktionen, øger værdien i stack pointer+1 længden af
stacken.
EQ:ON hvis indholdet i S er nul; ellers OFF.
5-16-7DATA INDSAMLING -- COLL(81)
Begrænsninger
Beskrivelse
Data indsamling
Ladder Symboler
COLL(81)
SBs
C
D
@COLL(81)
SBs
C
D
SBs: Kilde base ord
IR, SR, AR, DM, HR, TC, LR
C: Kontrol ord (BCD)
IR, SR, AR, DM, HR, TC, LR, #
D: Placerings ord
IR, SR, AR, DM, HR, TC, LR
C skal være BCD.
DM 6144 til DM 6655 kan ikke bruges til D.
COLL(81) kan bruges til dataindsamling, en FIFO register funktion, eller en
LIFO register funktion, afhængig af indholdet i kontrol ord, C.
Hvis bit 12 til 15 i C=0 til7, udfører COLL(81) data indsamling.Det samlede indhold i C bestemmer offset, Of.
Hvis udførelsesbetingelsen er OFF, udføres COLL(81) ikke. Hvis udførelsesbetingelsen er ON, kopierer COLL(81) indholdeti SBs+ Oftil D, således at Of adderes til SBs og derved bestemmer kilde ord.
Note SBs og SBs+Of skal være i samme dataområde.
Eksempel
Det følgende eksempel viser, hvordanCOLL(81) bruges tilat kopiere indholdet i
DM 0000+Of til IR 001. Indholdet i 010 er #0005, så indholdet i DM 0005 (DM
0000 + 5) kopieres til IR 001, når IR 00001 går ON.
00001
@COLL(81)
DM 0000
010
0 0 0
010
001
DM 0000
5
0 0 0
DM 0005
0 0 F
Adresse InstruktionOperander
00000LD00001
00001@DIST(80)
001
0 0 F0
F
F
DM0000
010
001
FIFO Register FunktionHvis bit 12 til 15 i C=9, virker COLL(81)som en FIFO register funktion. De andre
tre cifre i C bestemmer antallet af ord i registeret (000 til 999). Indholdeti SBs er
stack pointer (pegepind).
Hvis udførelsesbetingelsen er ON, skifter COLL(81) indholdet af hvert ord i
stacken en adresse ned, indtil data fra SBs+1 (den første værdi, der blev skrevet i stacken) ender i placerings ord (D). Indholdet af stack pointer (SBs) decrementeres. (Der subtraheres 1 fra værdien i pegepinden).
84
Data FlytteinstruktionerAfsnit 5-16
Note COLL(81) udføres en gang i hvert scan, sålængeudførelsesbetingelsen er ON,
medmindre den flankestyrede (@COLL(81)) bruges, eller COLL(81) bruges i
forbindelse med DIFU(13) eller DIFD(14).
Eksempel
Det følgende eksempel viser, hvordan COLL(81) bruges til at oprette en stack
mellem DM 0001 og DM 0005. DM 0000 fungerer som stack pointer.
Når IR 00000 går fra OFF til ON, skifter COLL(81) indholdet i DM 0002 til DM
0005 en adressse ned, og skifter data fraDM 0001til IR001. Stack pointers (DM
LIFO Register FunktionHvis bit 12 til 15 i C=8, kan COLL(81) bruges som en LIFO register funktion. De
andre tre cifre i C bestemmer antallet af ord i registeret (000 to 999). Indholdet i
SBs er stack pointer (pegepind).
Når udførelsesbetingelsen er ON, kopierer COLL(81) data fra det ord, som
stack pointer (SBs+the content of SBs) peger på, til placerings ord (D). Stack
pointers (SBs) værdi tælles samtidig 1 ned.
Stack pointer er det eneste ord i stacken, der ændres.
Note COLL(81) udføres en gang i hvert scan, sålængeudførelsesbetingelsen er ON,
medmindre den flankestyrede (@COLL(81)) bruges, eller COLL(81) bruges i
forbindelse med DIFU(13) eller DIFD(14).
Eksempel
Det følgende eksempel viser, hvordan COLL(80) bruges til at oprette en stack
mellem DM 0001 og DM 0005. DM 0000 fungerer som stack pointer.
85
OperandDataOmråde
r
Data FlytteinstruktionerAfsnit 5-16
Når IR 00000 går fra OFF til ON, kopierer COLL(81) indholdet i DM 0005 (DM
0000 + 5) til IR 001. Stack pointer (DM 0000) tælles samtidig 1 ned.
FlagER:Registerstørrelsens offset kontrol ord er ikke BCD.
Indirekte adresserede DM ord eksisterer ikke. (Indholdet i :DM ord er
ikke BCD, eller DM områdets begrænsninger er overskredet).
Under registerfunktionen øger stack pointers (pegepinden) værdi
stacken. Derved kan man risikere, at værdien overskrider stackens
størrelse.
DM0000
216
001
EQ:ON hvis indholdet i S er nul; ellers OFF.
5-16-8FLYT BIT -- MOVB(82)
Ladder Symboler
MOVB(82)
S
Bi
D
@MOVB(82)
S
Bi
D
IR, SR, AR, DM, HR, LR, #
IR, SR, AR, DM, HR, TC, LR, #
BegrænsningerDe to cifre længst mod højre og de to cifre længst mod venstre i Bi skal hver for
sig ligge mellem 00 og 15.
DM 6144 til DM 6655 kan ikke bruges som Bi eller D.
Beskrivelse
Hvis udførelsesbetingelsen er OFF, udføres MOVB(82) ikke. Når udførelsesbetingelsen går ON kopierer MOVB(82) det udpegede bit i S til det udpegede bit i
S: Kilde ord
Bi: Bit udpeger (BCD)
D: Placerings ord
IR, SR, AR, DM, HR, LR
86
Data FlytteinstruktionerAfsnit 5-16
D. Bit i S og D udpeges af Bi. De to cifre længst mod højre i Bi udpeger kildebit.
De to cifre længst mod venstre udpeger placeringsbit.
Bi
1 2 0
Placeringsbit (00 to 15)
1
Kildebit (00 to 15)
Bit
15
Bi
LSBMSB
S
D
0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1
1201
Bit
15
0 1 0 1 0 1 0 0 0 1 1 1 0 0 0 1
Bit
15
0 1 0 0 0 1 0 0 0 1 1 1 0 0 0 1
Bit
00
Bit
00
Bit
00
FlagER:Bi er ikke BCD, eller det udpegede bit eksisterer ikke (værdien for det
udpegede bit skal være mellem 00 og 15. Der er jo kun 16 bit i et ord).
Indirekte adresserede DM ord eksisterer ikke. (Indholdet i :DM ord er
ikke BCD, eller DM områdets begrænsninger er overskredet).
5-16-9FLYT CIFRE -- MOVD(83)
Operand Data Områder
Ladder Symboler
MOVD(83)
S
Di
D
@MOVD(83)
S
Di
D
IR, SR, AR, DM, HR, TC, LR, #
IR, SR, AR, DM, HR, TC, LR, #
IR, SR, AR, DM, HR, TC, LR
S: Kilde ord
Di: Ciffer udpeger (BCD)
D: Placerings ord
BegrænsningerDe tre cifre længst mod højre i Di skal hver for sig være mellem 0 og 3.
DM 6144 til DM 6655 kan ikke bruges som Di eller D.
Beskrivelse
Hvis udførelsesbetingelsen er OFF, udføres MOVD(83) ikke. Når udførelsesbetingelsen går ON, kopierer MOVD(83)indholdet af det eller de udpegede cifrei S
til det eller de udpegede cifre i D. Indtil fire cifre kan kopieres på en gang. Det
første ciffer, der skal kopieres, antallet af cifre og det første placeringsciffer i Di
vises herunder. Antallet af udpegede cifre fra S kopieres til på hinanden
følgende cifre i D, begyndende med det udpegede første ciffer. Hvis det sidste
ciffer i enten S eller D overskrides, startes forfra igen med ciffer 0.
Ciffer nummer: 3 2 1 0
Første ciffer i S (0 til 3)
Antal cifre(0 til 3)
Første ciffer i D (0 til 3)
Bruges ikke. (Sættes til 0.)
0: 1 ciffer
1: 2 cifre
2: 3 cifre
3: 4 cifre
87
SammenligningsinstruktionerAfsnit 5-17
Ciffer Udpegeren
Det følgende viser forskellige værdier for Di og resultatet af flytningerne.
Di: 0030Di: 0010
S
0
1
2
3
Di: 0031Di: 0023
S
0
1
2
3
D
0
1
2
3
D
0
1
2
3
S
0
1
2
3
S
0
1
2
3
D
0
1
2
3
D
0
1
2
3
FlagER:Mindst en af de tre bit længst mod højre i Di er ikke mellem 0 og 3.
Indirekte adresserede DM ord eksisterer ikke. (Indholdet i :DM ord er
ikke BCD, eller DM områdets begrænsninger er overskredet).
5-17Sammenligningsinstruktioner
5-17-1SAMMENLIGNING -- CMP(20)
Ladder SymbolerOperand Data Områder
Cp1: 1. sammenlignings ord
CMP(20)
Cp1
Cp2
Begrænsninger
Ved sammenligning af PV--værdier for timere og tællere skal værdierne være
BCD.
Beskrivelse
Når udførelsesbetingelsen er OFF, udføres sammenligningen CMP(20) ikke.
Når udførelsesbetingelsen er ON, sammenligner CMP(20) Cp1 og Cp2 og
sender resultatet til GR, EQ eller LE flagene i SR området.
Forholdsregler
Hvis man placerer andre instruktioner mellem CMP(20) og flagene GR, EQ og
LE, kan dette påvirke flagenes status. Sørg for at afslutte operationen. Lad evt.
GR,EQ eller LE styre almindelige flag umiddelbart efter CMP(20) instruktionen.
FlagER:Indirekte adresserede DM ord eksisterer ikke. (:DM ord er ikke BCD,
EQ:ON hvis Cp1 er lig med Cp2.
LE:ON hvis Cp1 er mindre end Cp2.
GR:ON hvis Cp1 er større end Cp2.
Det følgende eksempel viser, hvordanman gemmerresultatet afsammenligningen. Hvis indholdet af HR 09 er større end indholdet af 010, går 10200 ON;hvis
HR 09 er lig med 010, går 10201 ON, og hvis HR09 er mindre end 010, går
10202 ON. Har man kun brug for et af de tre udgange, er brugen af TR 0 ikke
nødvendig. Med denne type af programmering vil 10200, 10201 og 10202 kun
skifte status, når CMP(20) udføres, altså når 00000 er ON.
Når udførelsesbetingelsen er OFF, udføres TCMP(85) ikke. Når udførelsesbe-
@TCMP(85)
CD
TB
R
tingelsen er ON, sammenligner TCMP(85) CD med indholdet af de 16 ord TB,
TB+1, TB+2, ..., og TB+15. Hvis CD’s indhold er lig med indholdet af et af disse
ord, vil det tilsvarende bit i R gå ON. Hvis f.eks. CD’s indhold er lig med TB, går
BIT 00 ON. Hvis CD’s indhold er lig med TB+1, går bit 01 ON, OSV. Resten af
bittene i R vil være OFF.
FlagER:Sammenligningsblokken (TB til TB+15) er udenfor dataområdet.
CD: Sammenlign data
IR, SR, DM, HR, TC, LR, #
TB: Første ord i tabellen
IR, SR, DM, HR, TC, LR
R: Resultat ord
IR, SR, DM, HR, TC, LR
89
OperandDataOmråde
r
SammenligningsinstruktionerAfsnit 5-17
Indirekte adresserede DM ord eksisterer ikke. (Værdien af :DM ord er
ikke BCD, eller DM områdets grænser er overskredet.
Eksempel
Det følgende eksempel viser sammenligningen og resultatet udført med
TCMP(85). Her udføres sammenligningen i hvert scan sålænge IR
00000 is ON.
BegrænsningerAlle nedre grænse ord i sammenligningsblokken skal være lig med eller mindre
end det tilsvarende øvre grænse ord.
DM 6144 til DM 6655 kan ikke bruges som R.
BeskrivelseNår udførelsesbetingelsen er OFF, udføres BCMP(68) Ikke. Når udførelsesbe-
tingelsen er ON, sammenligner BCMP(68) CD med intervallernes grænser, defineret som indholdet af CB, CB+1, CB+2, ..., CB+31. Hver grænse er defineret
af to ord, hvor det første er den nedre grænse og det andet den øvre grænse.
Hvis CD ligger indenfor disse grænser (inklusive værdierne af nedre og øvre
grænse), går det tilsvarende bit i R ON. Sammenligningerne og de tilsvarende
bits i R, som går ON, vises i nedenstående skema. De resterende bits i R går
CD: Sammenlign data
IR, SR, AR, DM, HR, TC, LR, #
CB: Første ord i blokken
IR, SR, DM, HR, TC, LR,#
R: Resultat ord
IR, SR, AR, DM, HR, TC, LR
90
SammenligningsinstruktionerAfsnit 5-17
OFF. BCMP(68) er en intervalsammenligning, hvor CD sammenlignes med 16
intervaller.Hvis CD ligger indenfor sammenhørende øvreog nedre grænse, går
det tilsvarende bit i R ON.
CB £ CD £ CB+1Bit 00
CB+2 £ CD £ CB+3Bit 01
CB+4 £ CD £ CB+5Bit 02
CB+6 £ CD £ CB+7Bit 03
CB+8 £ CD £ CB+9Bit 04
CB+10 £ CD £ CB+11Bit 05
CB+12 £ CD £ CB+13Bit 06
CB+14 £ CD £ CB+15Bit 07
CB+16 £ CD £ CB+17Bit 08
CB+18 £ CD £ CB+19Bit 09
CB+20 £ CD £ CB+21Bit 10
CB+22 £ CD £ CB+23Bit 11
CB+24 £ CD £ CB+25Bit 12
CB+26 £ CD £ CB+27Bit 13
CB+28 £ CD £ CB+29Bit 14
CB+30 £ CD £ CB+31Bit 15
FlagER:Sammenligningsblokken ( d.v.s. CB til CB+31) overskrider dataom--
rådet.
Indirekte adressering eksisterer ikke. (Indholdet i :DM ord er ikke
BCD, eller DM områdets grænser er overskredet.)
EksempelDet følgende eksempel viser BCMP(68). Sammenligningen udføres en gang i
hvert scan, sålænge IR 00000 er ON.
00000
BCMP(68)
001
DM 0010
LR 05
CD 001Nedre grænserØvre grænserR:LR 05
0010210DM 00100000DM 00110100LR 05000
Sammenligner data i IR
001
(her med værdien 0210)
med de givne nedre og
øvre grænser.
BegrænsningerCp1 og Cp1+1 skal være i samme data område.
Cp2 og Cp2+1 skal være i samme data område.
Lad den tredie operand være 000.
BeskrivelseNår udførelsesbetingelsen er OFF, udføres CMPL(60) ikke. Når udførelsesbe-
tingelsen er ON,samler CMPL(60) det 4-cifrede hexadecimale indhold i Cp1+1
med Cp1, og det i Cp2+1 med Cp2 og danner to 8-cifrede hexadecimale
størrelser: Cp+1,Cp1 og Cp2+1,Cp2. De to 8--cifrede størrelser sammenlignes,
og resultatet af sammenligningen vises i GR, EQ og LE flagene i SR området.
ForholdsreglerUndlad at placere andre instruktioner imellem CMPL(60) og det sted, hvor EQ,
LE, og GR flagene benyttes. Andre instruktioner kan ændre disse flags status.
Test i stedet på flagene lige efter CMPL(60) instruktionen.
FlagER:Indirekte adressede DM ord eksisterer ikke. (Indholdet af :DM ord er
ikke BCD, eller DM områdets grænser er overskredet.)
GR:ON hvis Cp1+1,Cp1 er større end Cp2+1,Cp2.
EQ:ON hvisCp1+1,Cp1 er lig med Cp2+1,Cp2.
LE:ON hvis Cp1+1,Cp1 er mindre end Cp2+1,Cp2.
Eksempel:
Lagring af CMPL(60)
Resultater
TR
0
00000
25505
25506
25507
Det følgende eksempel viser, hvordan man bruger CMPL(60) resultat med det
samme. Hvis indholdet i HR 10, HR 09 er større end indholdet i 011, 010, går
10000 ON; hvis de to indhold er ligestore, går10001 ON; hvis indholdeti HR 10,
HR 09 er mindre end indholdet i 011, 010, så går 10002 ON. I de tilfælde, hvor
kun en af de tre udgange skal bruges, er TR 0 ikke nødvendig. Med denne type
programmering vil 10000, 10001 og 10002 kun skifte status, når CMPL(60)
udføres, altså når 00000 er ON.
BegrænsningerDM 6144 til DM 6655 kan ikke bruges til R.
Beskrivelse
Når udførelsesbetingelsen er OFF, udføres BIN(23) ikke. Når udførelsesbetingelsen er ON, ændrer BIN(23) BCD indholdet i S til den tilsvarende numeriske
binære værdi, og resultatet placeres i R. Kun indholdet i R ændres.indholdet i S
forbliver uændret.
BCD
Binary
BIN(23) bruges til at ændre BCD til binær, således at værdier på programme-ringsudstyr vises i hexadecimali stedetfor BCD. Et andet formål med instruktionen kan være atændre BCD til binær, hvis manønsker at anvende binærematematiske instruktioner. Hvis f.eks. tællerværdier, som er BCD, skal behandles
sammen med konstanter eller analoge signaler, somer binære,kan man ændre
tællerværdien.
S: Kilde ord (BCD)
IR, SR, AR, DM, HR, TC, LR
R: Resultat ord (BINÆR)
IR, SR, AR, DM, HR, LR
S
R
FlagER:Indholdet i S er ikke BCD.
Indirekte adressering af DMord eksisterer ikke. (Indholdet i :DM order
ikke BCD, eller DM områdets begrænsninger er overskredet.)
EQ:ON hvis resultatet er nul.
5-18-2BINÆR-TIL-BCD -- BCD(24)
Ladder SymbolerOperand Data Områder
Begrænsninger
BCD(24)
S
R
Hvis indholdet i S overskrider 270F, vil det ændrede resultat blive mere end
9999, og BCD(24) vil ikke udføres. Hvis BCD(24) ikke udføres vil R forblive
uændret.
DM 6144 til DM 6655 kan ikke bruges til R.
@BCD(24)
S
R
S: Kilde ord (binær)
IR, SR, AR, DM, HR, LR
R: Resultat ord (BCD)
IR, SR, AR, DM, HR, LR
93
KonverteringsinstruktionerAfsnit 5-18
Beskrivelse
BCD(24) ændrer det binære (hexadecimal) indhold i S til den numerisk tilsvarende BCD værdi ogplacerer resultatet i R. Kunindholdet i R ændres. Indholdeti
S forbliver uændret.
Binary
BCD
S
R
BCD(23) bruges til at ændre binære værdier til BCD, således at værdier på programmeringsudstyr vises i BCD i stedet for hexadecimal. Et andet formål med
instruktionen kan være at ændre binær til BCD, hvis man ønsker at anvende
BCD matematiske instruktioner. Hvis f.eks. tællerværdier, som er BCD, skal behandles sammen med konstanter eller analoge signaler, som er binære, kan
man ændre værdien for konstanten eller det analoge signal.
FlagER:Indirekte adresserede DM ord eksisterer ikke. (Indholdet i :DM ord er
ikke BCD, eller DM områdets begrænsninger er overskredet.)
EQ:ON hvis resultatet er nul.
5-18-34-TIL-16 DECODER -- MLPX(76)
Ladder Symboler
Begrænsninger
MLPX(76)
S
Di
R
De to cifre længst mød højre i Di skal være mellem 0 og 3.
Alle resultat ord Skal være i samme dataområde
@MLPX(76)
Di
Operand Data Områder
S: Kilde ord
IR, SR, AR, DM, HR, TC, LR
Di: Ciffer udpeger
S
R
IR, SR, AR, DM, HR, TC, LR, #
R: Første resultat ord
IR, SR, AR, DM, HR, LR
Beskrivelse
94
DM 6144 til DM 6655 kan ikke bruges som R.
Hvis udførelsesbetingelsen er OFF, udføres MLPX(76) ikke. Når udførelsesbetingelsen går ON, konverterer MLPX(76) indtil fire, fire-bit hexadecimale cifre fra
S til decimal værdierfra 0 til 15. Hver af disse brugestil at indikere en bit--placering. De bits med numre, der svarer til hver af de konverterede værdier, går ON i
resultat ord. Hvis mere end eet ciffer er udpeget, så vil et bit gå ONi de følgende
ord, begyndende med R. (Se eksemplerne, nedenfor.)
KonverteringsinstruktionerAfsnit 5-18
Det følgende er et eksempel på en en--ciffer dekodning fra ciffer nummer 1 i S,
hvilket medfører, at Di her ville være 0001.
Kilde ord
C
Bit C (dvs. bit nummer 12) er ON.
Første resultat ord
0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
Det første ciffer og antallet af cifre, der skal konverteres udpeges i Di. Hvis der
udpeges flere cifre, end der er tilbage i S (idet man tæller fra det udpegede
første--ciffer), vil de resterende cifre blive taget tilbage forfra i S. Det resulterende ord, som kræves for at lagre det konvertede resultat (R plus antallet af
cifre, der skal konverteres), skal være i det samme dataområde som R. Hvis
f.eks. to cifre konverteres, kan den sidste ord--adresse i dataområdet ikke udpeges. Hvis tre cifre konverteres, kan de to sidste ord i dataområdet ikke udpeges.
Ciffer Udpegeren
Cifrene i Di sættes som vist nedenfor.
Ciffer nummer: 3 2 1 0
Udpeger første ciffer til konvertering (0 til 3)
Antallet af cifre til konvertering(0 til 3)
Benyttes ikke(Sættes til nul)
0: 1 ciffer
1: 2 cifre
2: 3 cifre
3: 4 cifre
Nogle eksempler på Di--værdier og de ciffer--til--ord konverteringer, som de
udfører, vises nedenfor.
Di: 0030Di: 0010
S
0
1
2
3
Di: 0031Di: 0023
S
0
1
2
3
R
R + 1
R
R + 1
R + 2
R + 3
S
0
1
2
3
S
0
1
2
3
R
R + 1
R + 2
R + 3
R
R + 1
R + 2
FlagER:Ciffer--udpegeren er ikke defineret, eller R plus antallet af cifre over-
skrider dataområdet.
Indirekte adresserede DM ord eksisterer ikke. (Indholdet i :DM ord er
ikke BCD, eller DM områdets begrænsninger er overskredet).
95
OperandDataOmråde
r
KonverteringsinstruktionerAfsnit 5-18
Eksempel
Det følgende program konverterer data i ciffer 1 til 3 i DM 0020 til bit--positioner
og sætter de tilsvarende bits i tre efterfølgende ord ON, begyndende med HR
De to cifre længst til højre i DI skal hver for sig være mellem 0 og 3.
Alle kilde ord skal være i samme dataområde.
DM 6144 til DM 6655 kan ikke bruges som SB, R, eller Di.
Hvis udførelsesbetingelsen er OFF, udføres DMPX(77) ikke. Når udførelsesbetingelsen går ON, afgør DMPX(77) placeringen af det højeste ON bit i S, enko-der det til enkelt-ciffer hexadecimal værdi, svarende til bit--nummeret for det
højeste ON--bit. Derefter overføres den hexadecimale værdi til det udpegede
ciffer i R.De cifre, der skal modtage resultaterne,udpeges i Di, som også udpeger det antal cifre, der skal enkodes.
@DMPX(77)
SB
Di
SB: Første kilde ord
IR, SR, AR, DM, HR, TC, LR
R: Resultat ord
IR, SR, AR, DM, HR, LR
R
Di: Ciffer udpeger
IR, SR, AR, DM, HR, TC, LR, #
96
KonverteringsinstruktionerAfsnit 5-18
Det følgende er et eksempel på en en--ciffer funktion til ciffer nummer 1 i R. Det
er ensbetydende med, at Di her skal være 0001.
Første kilde ord
0 0 0 1 0 0 0 1 0 0 0 1 0 1 1 0
C overført for at indikere bit nummer 12
som det højeste ON bit.
Resultat ord
C
Indtil fire cifre fra fire efterfølgende kilde--ord, startende med S, kan enkodes og
skrives i R i rækkefølge fra det udpegede første ciffer. Hvis der udpeges flere
cifre, end der er i R (idet mantæller fra det først udpegede ciffer), vil deoverskydende cifre blive placeret som cifre begyndende ved første ciffer i R.
Det ord, der skal konverteres, (S plusantallet af cifre, der skal konverteres) skal
være i samme dataområde som SB.
Ciffer udpegeren
Cifrene i Di sættes som vist nedenfor.
Ciffer nummer: 3 2 1 0
Udpeger 1. ciffer -- modtage konverterede data (0 to 3).
Antal ord, som skal konverteres (0 til 3)
Benyttes ikke (sættes til nul)
0: 1 ord
1: 2 ord
2: 3 ord
3: 4 ord
Nogle eksempler på Diværdier og den ord-til-ciffer konvertering, somde udfører
vises nedenfor.
S
S + 1
S
S + 1
Di: 0011
R
0
1
2
3
Di: 0013
R
0
1
2
3
S
S + 1
S + 2
S + 3
S
S + 1
S + 2
S + 3
Di: 0030
R
0
1
2
3
Di: 0032
R
0
1
2
3
FlagER:Ciffer udpegeren ikke defineret, eller S plus antallet af cifre overskrider
dataområdet.
Indholdet i kilde--ord er nul.
Indirekte adresserede DM ord eksisterer ikke. (Indholdet i :DM ord er
ikke BCD, eller DM områdets begrænsninger er overskredet).
97
KonverteringsinstruktionerAfsnit 5-18
Eksempel
00000
IR 010
01000
:
01011 1
01012 0
: ::
01015 0
LR 10
LR 1000
LR 1001 1
LR 1002 0
: ::
: ::
LR 1015 0
Hvis 00000 er ON, enkoder det følgende program IR 010 og 011 til de første to
cifre i HR 10 og LR 10 og 11 til de to sidste cifre i HR 10. Skønt bit status for hvert
kilde--ord ikke vises, antages det, atdet bit med status 1(ON) vist, erdet højeste
bit, der er ON i ord.
DMPX(77)
010
HR 10
#0010
DMPX(77)
LR 10
HR 10
#0012
IR 011
01100
:
01109 1
011100
: ::
011150
LR 11
LR 1100
:
LR 1108 1
LR 1109 0
: ::
LR 1115 0
Adresse InstruktionOperander
00000LD00000
00001DMPX(77)
HR10
#0010
00002DMPX(77)
LR10
HR10
#0012
HR 10
Digit 0
Digit 1
Digit 2
Digit 3
B
9
1
8
010
5-18-57-SEGMENT DEKODER -- SDEC(78)
Ladder Symboler
Begrænsninger
Beskrivelse
SDEC(78)
S
Di
D
Di skal være indenfor de værdier, der gives senere.
Alle placerings ord skal være i samme dataområde.
DM 6144 til DM 6655 kan ikke bruges som D.
Hvis udførelsesbetingelsen er OFF, udføres SDEC(78) ikke. Når udførelsesbetingelsen gårON, konverterer SDEC(78) deudpegede cifre i S til en tilsvarende
8--bit, 7--segment display kode, og placerer den i placerings ord, startende med
D.
@SDEC(78)
S
Di
D
Operand Data Områder
S: Kilde ord (binært)
IR, SR, AR, DM, HR, TC, LR
Di: Ciffer udpegeren
IR, SR, AR, DM, HR, TC, LR, #
D: Første placerings ord
IR, SR, AR, DM, HR, LR
98
KonverteringsinstruktionerAfsnit 5-18
Et enkelt eller alle cifrei Skan konverteres i rækkefølge fra det udpegede første
ciffer. Det første ciffer, antalletaf cifre og halvdelen af D, som skal modtage den
første 7--segmentdisplay kode (de 8 bit længst til højre eller længst til venstre)
udpeges i Di. Hvis der udpeges flere cifre, placeres de i rækkefølge, begyndende med den udpegede halvdel af D, idet hver kræver to cifre. Hvis der udpeges flere cifre, end der er i S (idet man tæller fra det udpegede første ciffer), vil
de resterende cifre blive brugt startende tilbage ved begyndelse af S.
Ciffer udpegeren
Cifrene i Di sættes som vist nedenfor.
Ciffer nummer: 3 2 1 0
Udpeger det 1. ciffer S som skal konverteres (0 til 3).
Antal cifre der skal konverteres (0 til 3)
1. halvdel af D som bruges.
Benyttes ikke; (sættes til nul).
0: 1 ciffer
1: 2 cifre
2: 3 cifre
3: 4 cifre
0: 8 bit til højre (1. halvdel)
1: 8 bit til venstre (2. halvdel)
Eksempler på Di--værdier og den 4-bit binære til 7-segment display konvertering, som den udfører vises nedenfor.
S cifre
0
1
2
3
Di: 0011
D
1 half
2nd half
S cifre
0
1
2
3
Di: 0030
D
1st half
2nd half
D+1
1st half
2nd half
S cifre
0
1
2
3
Di: 0112
D
1st half
2nd half
D+1
1st half
2nd half
S cifre
0
1
2
3
Di: 0130
D
1st half
2nd half
D+1
1st half
2nd half
D+2
1st half
2nd half
99
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.