Pertem an ke 8
Programming Memory
Pertemuan ke-8
Programming Memory
Objektif
j
Mengidentifikasikan dan mendefinisikan fungsi dari pemetaan memori di PLC
Menggambarkan input dan output dalam image table files Mendefinisikan dan mengidentifikasi fungsi instruksi relay
Pendahuluan
Fungsi ladder logic memungkinkan controller melakukan kalkulasi, membuat keputusan dan melakukan perintah yang kompleks.
F ngsi ladder logic disimpan pada memor PLC Fungsi ladder logic disimpan pada memory PLC.
Memory PLC digunakan untuk menyimpan tipe-tipe program dan data.
Faktor faktor Penentu Memory PLC
Faktor-faktor Penentu Memory PLC
Jumlah I/O yang digunakan
Ukuran program
Kebutuhan pengumpulan data
Kebutuhan fungsi supervisory
Keperluan ekspansi masa mendatang
Keperluan ekspansi masa mendatang
Memory Address
y
Terdapat dua tipe dasar memory yang digunakan pada PLC Allen-Bradley :
– Program memory – Data memory.
Memory disusun dalam blok-blok hingga 256 element pada suatu y gg p susunan yang disebut file.
Terdapat delapan Data files yang telah didefinisikan secara default, tapi data files tambahan dapat didefinisikan jika diperlukan. p p j p
Memory Space
y
p
Data Table : I/O Locations Timer/Counter Locations 101010011011011 101101101010110 User Program :Ladder Logic, SFC, IL, ST, FBD
100010101000010 100010110111010
Housekeeping Memory : Functions
Processor Files
System Program (file 0) - file ini selalu ada dalam setiap sistem processor, mengandung informasi yang berkaitan dengan tipe
k fi i I/O fil d d
processor, konfigurasi I/O, file name processor, dan password Reserved (file 1) – file temporari space untuk processor
Main Ladder Program (file 2) - program yang dibuat User untuk mendefinisikan bagaimana processor bekerja dengan baik
Subroutine Ladder Program (file 3) – subroutine yang hanya bisa diaktivasi oleh instruksi subroutine dalam ladder
Processor Files
Processor Files adalah kumpulan dari kedua file data dan file program. Terdiri dari semua instruksi, data dan informasi konfigurasi
W d Add Bit Add
Processor work Area #1 Output Image Table File
Word Address Bit Address 000 00 p g Bit/Word Storage Reversed Timer/Counter Timer/Counter
Processor Work Area #2 Output Image Table File
Bit/Word Storage Reversed Timer/Counter
Data Files
Program Program Files Files 0 Output Image 1 Input Image 0 System Functions 1 Reserved 2 Status 3 Bit 4 Timer 2 User Program 3 Subroutine Program 3 255 5 Counter 6 Control 7 Integer 3 – 255 8 Reserved Bit Timer Counter Integer 10 - 255Data Files AB PLC 5
Rack
I/O slot number in rack O:000 I:nnn S2:nnn outputs inputs processor status Interface to outside world B3:nnn T4:nnn C5:nnn R6:nnn bits in words timers counters control words Fixed types of Data files N7:nnn integer numbers
F8:nnn floating point numbers
Other files 9-999 can be created and used. The user defined data files can have different data types.
Tipe Data AB PLC 5
p
Tipe Ukuran (word) A - ASCII B - bit BT - block transfer (word) 1/2 1/16 6 C - counter D - BCD F - floating point MG - messageN integer (signed unsigned 2s compliment BCD) 3 1 2 56 1 N - integer (signed, unsigned, 2s compliment, BCD) PD - PID controller R - control SC - SFC status ST - ASCII string 1 82 3 3 42 ST ASCII string T - timer 42 3
Catatan: Memory menunjukkan file maupun lokasi. Pengaturan file
adalah spesifik bagi manufaktur PLC tertentu dan tidak dikenal pada tipe l i
Typical Address Format
yp
Output data file dan Input data file merepresentasikan lokasi dari channel dan modul dalam chassis PLC
St t d t fil d i f i i t t
Status data file mengandung informasi mengenai status prosesor
Bit data file menyimpan status bit. Bisa juga digunakan untuk internal output, sequencer, instruksi bit shift dan intruksi logika :
Timer file menyimpan status timer dan data timer Elemen timer terdiri dari 3 Timer file menyimpan status timer dan data timer. Elemen timer terdiri dari 3
word, yaitu : control word, preset word dan accumulate word.
Counter file menyimpan counter status dan data counter. Elemen counter terdiri dari 3 word, yaitu : control word, preset word dan accumulate word, y , p Control file menyimpan status elemen control dan data, digunakan untuk
mengontrol berbagai instruksi file. Elemen control terdiri dari 3 word, yaitu : control word, length word dan position word.
Integer file dapat menyimpan besaran data integer dengan rentang -32.768 sampai 32.767. disimpan dalam bentuk desimal. Elemen integer adalah elemen tunggal word 16 bits.
Floating point file menyimpan besaran dengan rentang Floating-point file menyimpan besaran dengan rentang
38 38
402837
.
3
1754944
.
1
−±
+±
e
sampai
e
Koneksi Input Image dengan Table File
p
g
g
Modul Input
Processor secara kontinyu membaca
input status dan mengupdatenya di image table file 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 Input Image 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 000000000000100 0 Output Imagep g Data Table File
Koneksi Output Image dengan Table File
p
g
g
Modul Output
Processor secara kontinyu membaca Output status dan mengupdatenya dari image table file
0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
0 Output Image
1 Input Image
000000000000100
Program Scan
Scanning
g
Program Scan adalah
siklus kontinyu dari
POWER ON
Scanning
Input Real Input
siklus kontinyu dari
pembacaan input PLC,
memecahkan logika LLD,
kemudian mengubah
output
Scanning Operation New Output p Execution! OutputScan Process
Modul Output Modul Input 000000000000001 word 000000000000011 word Signal Output Si 000000000000001 word 000000000000011 word Input gnal Input Image Table File Output Image Table FileAddress
Penggunaan data file dan functions selalu terkait dengan informasi berupa address.
Data address yang paling sederhana adalah data bits
Memory bits ditandai dengan tanda garis miring diikuti oleh bit number /n.
Addressing Bit Level
g
Addressing bit menyerupai addressing sebuah output sebagai suatu data bit.
Contohnya:
I:000/02 Æ input bit ketiga dari input card I:000 C5:4/DN Æ bit DN dari suatu counter
B3/4 Æ bit keempat pada memory bit
Catatan:
Beberapa bit address ter tama inp t dan o tp t mengg nakan sistem bilangan oktal • Beberapa bit address, terutama input dan output menggunakan sistem bilangan oktal. • Hal ini sering menimbulkan kecerobohan. Contohnya jika menggunakan output bit
kesebelas, atau bit 10, maka address oktalnya adalah 12.
1st 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11 th 12th 13th 14th 15th 16th 1st 00 2nd 01 3rd 02 4th 03 5th 04 6th 05 7th 06 8th 07 9th 10 10th 11 11 th 12 12th 13 13th 14 14th 15 15th 16 16th 17
Addressing Integer Word
g
g
Integer word – 16 bit dapat dianggap sebagai suatu integer. Contohnya:
N7:8 Æ nilai kesembilan dari memori integer
I:000 Æ suatu integer dengan seluruh nilai dari input card T4:7 ACC Æ nilai accumulator dari suatu timer
T4:7.ACC Æ nilai accumulator dari suatu timer T4:7.PRE Æ nilai preset dari suatu timer
Nilai Data Literal
Nilai data tidak selalu perlu disimpan dalam memory, melaikan dapat juga didefinisikan secara literal/harfiah.
Contohnya:
8 Æ suatu integer
8.5 Æ suatu floating point numberg p
08FH Æ nilai heksadesimal dari 8F
Addressing File
File terkadang digunakan untuk menyatakan suatu deret nilai. File menyatakan lokasi awal dari deret nilai-nilai data.
g
Contohnya:
#F8:5 Æ menyatakan grup nilai dimulai dari F8:5
#N7:0 Æ menyatakan grup nilai dimulai dari N7:0
Indirect Addressing
g
Indirect addressing merupakan metoda untuk memungkinkan suatu variabel dinyatakan dalam suatu address data
Lokasi memor lainn a dapat dig nakan pada deskripsi s at lokasi Lokasi memory lainnya dapat digunakan pada deskripsi suatu lokasi Contohnya:
I:000/[N7:2] Æ jika lokasi N7:2 bernilai 5 maka akan menjadi I:000/05
I:000/05
I:[N7:1]/03 Æ jika lokasi memori integer bernilai 2 maka menjadi I:002/03
#I:[N7:1] Æ jika lokasi memori integer bernilai 2 maka file akan #I:[N7:1] Æ jika lokasi memori integer bernilai 2 maka file akan
dimulai dari I:002
N[N7:0]:8 Æ jika N7:1 bernilai 10 maka data address menjadi N10:8
Nilai Data Expression
p
Expression memungkinkan address dan function ditulis dan diinterpretasikan saat program berjalan (run).
E pression mer pakan s at te t string ang menjabarkan operasi Expression merupakan suatu text string yang menjabarkan operasi
yang kompleks. Contohnya:
User Bit Memory
y
Individual data bits dapat diakses pada memory bit.
Bit Memory
y
0 15 B3:0 B3:1 B3:2 Ini B3:2/3 atau B3/35 B3:3 B3:4 B3:5 B3:6 B3/35. (2) * 16 + (3) = (35) B3:6 B3:7 B3:0/0 = B3/0 B3 0/10 B3/10 Contoh lainnya : B3:0/10 = B3/10 B3:1/0 = B3/16 B3:1/5 = B3/21 B3:2/0 = B3/32 dll...Timer Memory
y
Default timer disimpan pada T4 Bit dan word untuk timer:
– EN Æ timer enabled bit (bit 15) – TT Æ timer timing bit (bit 14) – DNDN Æ timer done bit (bit 13)Æ timer done bit (bit 13)
– PRE Æ preset word
Counter Memory
y
Counter disimpan pada C5. Bit dan word untuk counter:
– CU Æ count up bit (bit 15)
– CD Æ count down bit (bit 14)
– DNDN Æ counter done bit (bit 13)Æ counter done bit (bit 13)
– OV Æ overflow bit (bit 12)
– UN Æ underflow bit (bit 11)
PRE Æ t d
– PRE Æ preset word
Bit dan Words Status PLC
Status memory memungkinkan program memeriksa operasi PLC, dan melakukan perubahan.
S2:0/0 carry in math operation S2:0/1 overflow in math operation S2:0/2 zero in math operation S2:0/3 sign in math operation S2:1/15 first scan of program file S2:8 the scan time (ms)
S2:18 year S2:19 month S2:20 day S2:20 day S2:21 hour S2:22 minute S2:23 second S2:28 watchdog setpoint S2:29 fault routine file number
S2:30 STI (selectable timed interrupt) setpoint S2:31 STI file number
S2:46-S2:54,S2:55-S2:56 PII (Programmable Input Interrupt) settings S2:55 STI last scan time (ms)
S2:55 STI last scan time (ms)
User Function Control Memory
y
Ladder logic function sederhana dapat menyelesaikan operasi dalam sekali scan ladder logic.
F ngsi lainn a seperti timer dan co nter akan memerl kan beberapa Fungsi lainnya seperti timer dan counter akan memerlukan beberapa
kali ladder scan logic hingga selesai. Bit dan word control memory:
EN Æ enable bit ( bit 15 ) EN Æ enable bit ( bit 15 )
EU Æ enable unload ( bit 14 ) DN Æ done bit ( bit 13 )
EM Æ empty bit ( bit 12 ) EM Æ empty bit ( bit 12 ) ER Æ error bit ( bit 1 ) UL Æ unload bit ( bit 10 ) IN Æ i hibit bit ( bit 9 ) IN Æ inhibit bit ( bit 9 ) FD Æ found bit ( bit 8 ) LEN Æ length word
POS Æ i i d
Integer Memory
g
y
Integer memory merupakan 16 bit words yang biasanya digunakan untuk menyimpan nilai data dari -32768 sampai dengan +32767. Pecahan desimal akan dibulatkan ke bilangan terdekat.
Nilai ini secara default disimpan pada N7:xx, namun dapat juga dibuat blok integer memory pada lokasi lainnya contohnya N9:xx Integer memory dapat juga digunakan untuk bit.
Floating Point Memory
g
y
Memory yang menyimpan bilangan real pada 4 word, dengan 7 digit akurasi pada selang +/-1.1754944e-38 sampai dengan
+/-3.4028237e38.
Floating point memory secara default disimpain pada F8:xx, namun dapat juga disimpan pada lokasi lainnya.
Sasaran
– Mendefinisikan sistem penomoran desimal, binari, oktal, dan heksadesimal
Mamp nt k mengkon ersi dari sat sistem ke sistem berik tn a – Mampu untuk mengkonversi dari satu sistem ke sistem berikutnya – Mendefinisikan bit, byte, word, LSB, MSB, aplikasinya ke lokasi
Sistem bilangan
g
Data internal PLC dipresentasikan dalam format biner
Beberapa PLC menggunakan sistem bilangan desimal
dan oktal untuk addressing
D t
l
i
t dik
ik
k d t bi
k tik
Data analog input dikonversikan ke data biner ketika
dimasukan ke PLC
Data analog output dikonversikan dari biner sebagai
a a a a og ou pu d o
e s a da b e sebaga
sinyal ke alat output analog
Sistem bilangan yang umum dipakai pada PLC adalah:
Desimal
Biner
Oktal
Sistem Desimal
Sistem desimal mempunyai basis 10
Radix atau base adalah jumlah total dari simbol berbeda atau
di it di k
0 1 digit yang digunakan
Untuk sistem desimal, digunakan 10 nomor unik, darir 0 sampai 9 2 3 4 5 6 7 8 9
Sistem Biner
Sistem biner mempunyai basis 2 Digit yang digunakan hanya 0 dan 1
Dengan rangkain elektrik sistem biner dapat dengan mudah diimplementasikan dengan tegangan 0 dan 5 Volt
Besarnya Nilai Pada Sistem Desimal
y
3 2 1 0 1 9 6 2Bilangan ke
Bilangan ke
--1 9 6 210
10
0002
0001
2
10
2
×
0=
×
=
900
0
00
1
0
9
10
9
60
00
0
001
6
10
6
2 1=
×
=
×
=
×
=
×
1000
1000
1
10
1
900
0
00
1
0
9
10
9
3=
×
=
×
=
×
=
×
1962
1962
1962
1962
Konversi Sistem Biner ke Desimal
7 6 5 4 3 2 1 0 1 0 1 0 1 1 0 12
2
Bilangan ke
Bilangan ke
--000
002
0
2
0
001
001
1
2
1
1 0=
×
=
×
=
×
=
×
008
008
1
2
1
004
004
1
2
1
3 2=
×
=
×
=
×
=
×
032
032
1
2
1
000
016
0
2
0
5 4=
×
=
×
=
×
=
×
128
128
1
2
1
000
064
0
2
0
7 6=
×
=
×
=
×
=
×
173
173
Desimal
Desimal
Perbandingan Sistem Penomeran
Desimal Oktal Hexadesimal Biner
0 0 0 0 1 1 1 1 2 2 2 10 3 3 3 11 4 4 4 100 5 5 5 101 6 6 6 110 7 7 7 111 8 10 8 1000 9 11 9 1001 10 12 A 1010 11 13 B 1011 12 14 C 1100 13 15 D 1101 14 16 E 1110 15 17 F 1111 15 17 F 1111 16 20 10 10000 17 21 11 10001 18 22 12 10010 19 23 13 10011 19 23 13 10011 20 24 14 10101
16-bit Word
MSB
MSB
bit
bit
LSB
LSB
0 1 1 0 0 1 1 0 0 0 1 1 1 0 1 1
Upper Byte Lower Byte
Mengkonversi Nilai Desimal ke Biner
g
Nomor Desimal
Nomor Desimal
LSB
LSB
MSB
MSB
Nilai Negasi
Jika nilai desimal positif, maka mempunyai tanda + Jik il i d i l tif k Signed Decimal 1’s Complement 2’s Complement 7 0111 0111 6 0110 0110
Jika nilai desimal negatif, maka mempunyai tanda –
Di sistem biner, metode untuk penendaan +/- digunakan ekstra
6 0110 0110
5 0101 0101
4 0100 0100
3 0011 0011
penendaan +/ digunakan ekstra
digit/sign bit 2 0010 0010 1 0001 0001 0 0000 0000 -1 1110 1111 -2 1101 1110 -3 1100 1101 -4 1011 1100 -5 1010 1011 -6 1001 1010 -7 1000 1001
Sistem Oktal
Sistem Oktal berbasis angka 8 sering digunakan dalam processor PLC
Pengalamatan I/O menggunakan sistem Oktal
Input Module 0 Input Module 1 Input Module 2 Input Module 3 PLC
Bit 8 data sejumlah byte informasi dapat dialamatkan dalam
pemrograman
Module 0 Module 1 Module 2 Module 3
I00 I10 I20 I30
I01 I11 I21 I31
p g
I02 I12 I22 I32
I03 I13 I23 I33
I04 I14 I24 I34
I05 I15 I25 I35
I06 I16 I26 I36
Mengkonversi Nilai Oktal ke Desimal
g
2 1 0 4 6 28
8
Bilngan ke
Bilngan ke
--8
8
048
008
6
8
6
002
001
2
8
2
1 0=
×
=
×
=
×
=
×
256
064
4
8
4
×
2=
×
=
306
306
10 10Desimal
Desimal
10 10Mengkonversi Nilai Oktal ke Biner
g
4 6 2Nilai Oktal
Nilai Oktal
1 0 0 1 1 0 0 1 0 1 0 0 1 1 0 0 1 0BCD System
y
Sistem BCD menyediakan cara mudah dalam menangani sejumlah besar I/O PLC.
Sangatlah tidak mudah dalam mengkonversi nilai dari desimal ke biner atau sebaliknya.
Perbandingan BCD dengan Biner
g
g
Decimal BCD Biner 0 0000 0000 1 0001 0001 2 0010 0010 3 0011 0011 4 0100 0100 5 0101 0101 6 0110 0110 7 0111 0111 8 1000 1000 8 1000 1000 9 1001 1001 10 0001 0000 1010 11 0001 0001 1011 12 0001 0010 1100 13 0001 0011 1101 14 0001 0100 1110 15 0001 0101 1111 15 0001 0101 1111Representasi BCD dari nilai Desimal
p
7 8 6 3