Pertem an ke-8 Pertemuan ke 8
Programming Memory & Numbering g System y
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. Fungsi F ngsi ladder logic disimpan pada memor memory PLC PLC. Memory PLC digunakan untuk menyimpan tipe-tipe program dan data.
Faktor faktor Penentu Memory PLC Faktor-faktor Jumlah I/O yang digunakan Ukuran program Kebutuhan pengumpulan data Kebutuhan fungsi supervisory Keperluan ekspansi masa mendatang
Memoryy Address Terdapat dua tipe dasar memory yang digunakan pada PLC AllenBradley : – Program memory – Data memory. Memory y disusun dalam blok-blok hingga gg 256 element p pada suatu susunan yang disebut file. Terdapat delapan Data files yang telah didefinisikan secara default, tapi p data files tambahan dapat p didefinisikan jjika diperlukan. p
Memoryy Space p
101010011011011 101101101010110 100010101000010 100010110111010
Data Table : I/O Locations Timer/Counter Locations User Program : Ladder Logic, SFC, IL, ST, FBD Housekeeping Memory : Functions
Processor Files System Program (file 0) - file ini selalu ada dalam setiap sistem processor, mengandung informasi yang berkaitan dengan tipe processor, konfigurasi k fi i I/O I/O, fil file name processor, dan d password d 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 Address Word Add Bit Address Add Processor work Area #1
000
00
p Image g Table File Output Bit/Word Storage Reversed Timer/Counter Processor Work Area #2 Output Image Table File Bit/Word Storage Reversed Timer/Counter Expanded File
End Of Memory
Data Files Program Files Program Files 0 Output Image 1 Input Image
0 System Functions
2 Status 3 Bit
1 Reserved 2 User Program
4 Timer 5 Counter 6 Control
3 Subroutine Program 3 – 255
7 Integer 8 Reserved Bit Timer Counter Integer 10 - 255
Data Files AB PLC 5 Rack I/O slot number in rack Interface to outside world
Fixed types of Data files
O:000 I:nnn S2:nnn B3:nnn T4:nnn C5:nnn R6:nnn N7:nnn F8:nnn
outputs inputs processor status bits in words timers counters control words integer numbers floating point numbers
Other files 9-999 can be created and used. The user defined data files can haveferent dif data types.
Tipe p Data AB PLC 5 Tipe
A - ASCII B - bit BT - block transfer C - counter D - BCD F - floating point MG - message N - integer (signed, (signed unsigned, unsigned 2s compliment, compliment BCD) PD - PID controller R - control SC - SFC status ST - ASCII string T - timer
Ukuran (word) 1/2 1/16 6 3 1 2 56 1 82 3 3 42 3
Catatan: Memory menunjukkan file maupun lokasi. Pengaturan file adalah spesifik bagi manufaktur PLC tertentu dan tidak dikenal pada tipe l i lainnya
Tipe p Data AB SLC 500
Typical yp Address Format Output data file dan Input data file merepresentasikan lokasi dari channel dan modul dalam chassis PLC Status St t data d t file fil mengandung d informasi i f i mengenaii status t t 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. 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 y : control word,, preset p word dan accumulate word 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 Floating point file menyimpan besaran dengan rentang
± 1.1754944e −38 sampai ± 3.402837e +38
Koneksi Input p Image g dengan g Table File 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
000000000000100
0 Output p Image g Data Table File
Koneksi Output p Image g dengan g Table File 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 Output Image
000000000000100
1 Input Image Data Table File
Program g Scan Program Scan adalah siklus kontinyu dari pembacaan input PLC, memecahkan logika LLD, kemudian mengubah output
POWER ON
Scanning Input
Real Input
Scanning Operation p Execution!
New Output
Scan Process
word
Modul Output
000000000000011 000000000000001
Input Image Output Image Table File Table File
I:000/0 I:000/1
O:000/0
word
Output Signal
Input Signal
Modul Input
Address 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 g Bit Level 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, address ter terutama tama inp inputt dan o output tp t mengg menggunakan nakan sistem bilangan oktal oktal. • Hal ini sering menimbulkan kecerobohan. Contohnya jika menggunakan output bit kesebelas, atau bit 10, maka address oktalnya adalah 12. 1st 00
2nd 01
3rd 02
4th 03
5th 04
6th 05
7th 06
8th 07
9th 10
10th 11
11 th 12th 13th 14th 13 15 12 14
15th 16
16th 17
Addressing g Integer g Word 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 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 gp point number 08FH Æ nilai heksadesimal dari 8F 01101101B Æ nilai biner dari 01101101
Addressing g File File terkadang digunakan untuk menyatakan suatu deret nilai. File menyatakan lokasi awal dari deret nilai-nilai data. 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 memory lainn lainnya a dapat digunakan dig nakan pada deskripsi ssuatu at lokasi Contohnya: I:000/[N7:2] Æ jika lokasi N7:2 bernilai 5 maka akan menjadi 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 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). Expression E pression mer merupakan pakan ssuatu at te textt string yang ang menjabarkan operasi yang kompleks. Contohnya: “sin(F8:3) sin(F8:3) + 1 1.3 3” Æ merupakan suatu kalkulasi sederhana
Contoh Ladder Logic g Functions
User Bit Memoryy Individual data bits dapat diakses pada memory bit. Bit memory dapat diakses dengan individual bit atau integer word.
Bit Memoryy 15
0
B3:0 B3:1 B3:2 B3:3 B3:4 B3:5 B3:6 B3:7 Contoh lainnya : B3:0/0 = B3/0 B3 0/10 = B3/10 B3:0/10 B3:1/0 = B3/16 B3:1/5 = B3/21 B3:2/0 = B3/32 dll...
Ini B3:2/3 atau B3/35 B3/35. (2) * 16 + (3) = (35)
Timer Memoryy Default timer disimpan pada T4 Bit dan word untuk timer: – EN Æ timer enabled bit (bit 15) – TT Æ timer timing bit (bit 14) – DN Æ timer done bit (bit 13) – PRE Æ preset word – ACC Æ accumulated time word
Counter Memoryy Counter disimpan pada C5. Bit dan word untuk counter: – CU Æ count up bit (bit 15) – CD Æ count down bit (bit 14) – DN Æ counter done bit (bit 13) – OV Æ overflow bit (bit 12) – UN Æ underflow bit (bit 11) – PRE Æ presett word d – ACC Æ accumulated count 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: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:77 communication scan time (ms)
User Function Control Memoryy Ladder logic function sederhana dapat menyelesaikan operasi dalam sekali scan ladder logic. Fungsi F ngsi lainn lainnya a seperti timer dan co counter nter akan memerl memerlukan kan beberapa kali ladder scan logic hingga selesai. Bit dan word control memory: EN Æ enable bit ( bit 15 ) EU Æ enable unload ( bit 14 ) DN Æ done bit ( bit 13 ) EM Æ empty bit ( bit 12 ) ER Æ error bit ( bit 1 ) UL Æ unload bit ( bit 10 ) IN Æ inhibit i hibit bit ( bit 9 ) FD Æ found bit ( bit 8 ) LEN Æ length word POS Æ position i i word d
Integer g Memory 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 g Point Memory 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. Bit level access tidak dapat digunakan pada tipe floating point.
Numerical System and Code
Sasaran – Mendefinisikan sistem penomoran desimal, binari, oktal, dan heksadesimal – Mampu Mamp untuk nt k mengkonversi mengkon ersi dari satu sat sistem ke sistem berik berikutnya tn a – Mendefinisikan bit, byte, word, LSB, MSB, aplikasinya ke lokasi memori
Sistem bilangan g Data internal PLC dipresentasikan dalam format biner Beberapa PLC menggunakan sistem bilangan desimal dan oktal untuk addressing Data D t analog l iinputt dik dikonversikan ik kke d data t bi biner kketika tik dimasukan ke PLC aaa analog a og ou output pu d dikonversikan o e s a da dari b biner e sebaga sebagai Data sinyal ke alat output analog Sistem bilangan yang umum dipakai pada PLC adalah:
Desimal Biner Oktal Heksadesimal
Sistem Desimal Sistem desimal mempunyai basis 10 Radix atau base adalah jumlah total dari simbol berbeda atau di it yang di digit digunakan k Untuk sistem desimal, digunakan 10 nomor unik, darir 0 sampai 9
0 1 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 y Nilai Pada Sistem Desimal Bilangan ke - 3
2
1
0
1
9
6
2
10
2 × 100 = 2 × 0001 = 0002 6 ×101 = 6 × 001 0 = 00 60 9 ×10 2 = 9 × 0 100 = 0 900 1×10 3 = 1× 1000 = 1000 1962
Konversi Sistem Biner ke Desimal Bilangan ke -
7 6 5 4 3 2 1 0 1 0 1 0 1 1 0 1
2
1 × 2 0 = 1 × 001 = 001 0 × 21 = 0 × 002 = 000 1 × 2 2 = 1 × 004 = 004 1 × 2 3 = 1 × 008 = 008 0 × 2 4 = 0 × 016 = 000 1 × 2 5 = 1 × 032 = 032 0 × 2 6 = 0 × 064 = 000 1 × 2 7 = 1 × 128 = 128 173 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
16
20
10
10000
17
21
11
10001
18
22
12
10010
19
23
13
10011
20
24
14
10101
16-bit Word
MSB
0
1
LSB
bit
1
0
0
1
1
0
0
Upper Byte
0
1
1
1
Lower Byte 16 – bit Word
0
1
1
Mengkonversi g Nilai Desimal ke Biner Nomor Desimal
LSB
MSB
Nilai Negasi Jika nilai desimal positif, maka mempunyai tanda + Jika Jik nilai il i desimal d i l negatif, tif maka k mempunyai tanda – Di sistem biner, metode untuk penendaan +/+/ digunakan ekstra digit/sign bit
Signed Decimal
1’s Complement
2’s Complement
7
0111
0111
6
0110
0110
5
0101
0101
4
0100
0100
3
0011
0011
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 Bit 8 data sejumlah byte informasi dapat dialamatkan dalam pemrograman p g
Pengalamatan I/O menggunakan sistem Oktal Input Module 0
Input Module 1
Input Module 2
Input Module 3
I00
I10
I20
I30
I01
I11
I21
I31
I02
I12
I22
I32
I03
I13
I23
I33
I04
I14
I24
I34
I05
I15
I25
I35
I06
I16
I26
I36
I07
I17
I27
I37
Mengkonversi g Nilai Oktal ke Desimal Bilngan ke -
2 1 0 4 6 2
8
2 × 8 0 = 2 × 001 = 002 6 × 81 = 6 × 008 = 048 4 × 8 2 = 4 × 064 = 256 306 Desimal
10
Mengkonversi g Nilai Oktal ke Biner 4
Nilai Oktal
1
1
0
0
0
6
1
0
1
1
1
2
0
0
0
0
1
1
0
0
BCD 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 g BCD dengan g Biner 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
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
Representasi p BCD dari nilai Desimal 7
8
6
3
Nilai Oktal
0
1
1
1
1
0
0
0
0
1
1
0
0
0
1
1