Anda di halaman 1dari 272

Pe n g e n a l a n S i s t e m O t o m a s i

1 Industri

2 PLC Programming Over view

B asics of Programming
3 Fundamentals

4 L atc h i n g a n d U n l atc h i n g

I n t e r l o c k i n g , M o v e , C o m p a r a t o r,

5 M a t h , T i m e r, C o u n t e r, P r o g r a m
Control

Pe n g e n a l a n m e n g e n a i Wo r d
6 Logic Operation

Pe n g e n a l a n m e n g e n a i S h i f t a n d
7 Ro t a t e I n s t r u c t i o n

C a s e Tr o u b l e , D r a w i n g , W a t c h W i n d o w,

8 C ro ss Refe re n ce , Ed i t O n l i n e , C o nve yor


Case
Pengenalan
Sistem Otomasi Industri
1 Blok Diagram PLC

1. Power Supply
• Menyuplai tegangan luar ke PLC
• Biasanya bertegangan 24V
2. Central Processing Unit (CPU)
• Tempat menyimpan program dan
data
• Pengolahan/ pemprocessan data
3. Modul Input
• Menghubungkan perangkat input
ke PLC
• Digital (Push button, dll.), analog
(arus, tegangan, temperature, dll.)
4. Modul Output
• Menghubungkan perangkat output
ke PLC
• Digital, analog
Source: https://www.kelasplc.com/modul-input-dan-output-plc/
2 Tipe PLC

Compact Modular
Semua blok diagram Blok diagram terbagi menjadi
tergabung dalam 1 device/ beberapa hardware, dan
hardware disusun dalam rack
https://www.kelasplc.com/perbedaan-plc-modular-dan-compact/
3 Cara Kerja PLC

1. Scan Process, atau dinamakan juga


cycle, adalah proses dimana PLC
melakukan proses:
• pembacaan input
• pembacaan program
• pengubahan output
2. Satu kali Scan process menandai
program dibaca dari atas ke bawah
untuks satu kali pengulangan

http://jagootomasi.com/konfigurasi-programmable-logic-controller-plc/
4 S i n k i n g & S o u rc i n g

1. Sinking --> Common negatif


2. Sourcing --> Common positif

https://library.automationdirect.com/sinking-sourcing-concepts/
5 PLC Siemens

1. Salah satu PLC dengan brang Siemens


2. Memiliki banyak tipe:
• S7-300 - Modular
• S7-400 - Modular
• S7-1200 - Compact
• S7-1500 - Modular
3. Software yang digunakan:
• SIMATIC Manager (lama)
• TIA Portal (baru)

https://simenteknindo.com/news/plc-siemens/
6 Data Storage

SIMATIC S7 S7-1200 Programmable controller - Accessing the data of the S7-


1200.pdf
P LC P ro g ra m m i n g O ve r v i e w
T I A P O R TA L ( To t a l l y I n t e g r a t e d A u t o m a t i o n )
1 Introduction of TIA Portal

1. Software terintegrasi dari Siemens


yang mencakup:
• STEP 7 (PLC)
• WinCC (HMI)
• Startdrive (Inverter)
• SCOUT TIA (Motion Control)

2. Memiliki keunggulan:
• Structured Project
• Software PLC dan HMI digabung

https://www.youtube.com/watch?v=VfByu6nb-DA
2 Fitur TIA Portal

Project/ Portal View

HMI Integrated

Structured Project
Multitype PLC
3 TIA - Portal View

1. Memisahkan fungsi per tab/ halaman


2. Menonjolkan visualisasi yang lebih baik
3. Fungsinya lebih ke view bukan edit
4. Bisa menambahkan device
4 TIA - Project View

1. Berbentuk project tree


2. Terdapat editor window
3. Lokasi untuk mengedit konfigurasi,
program, dll.
5 Elements of Project View

1
1. Menu Bar & Toolbar
2 2. Project Tree Panel
3
• Gambaran keseluruhan project
• Menambah atau mengurangi
objek (program, datablock, dll.)
3. Editor
• Tempat mengedit objek
4. Libray Tools
• Berisi daftar modul,libray program
4
yang bisa ditambahkan
5. Move to Portal View
6. Opened Object

5 6
6 C r e a te a N e w P r o j e c t

1. Masuk Menu Start --> Create new


project
2. Masukkan nama projek
3. Klik Create
6 C r e a te a N e w P r o j e c t

1. Project telah berhasil dibuat


2. Selanjutnya menambahkan PLC, klik
Devices & networks
6 C r e a te a N e w P r o j e c t

1. Klik Add new device


2. Klik Controllers
3. Pilih PLC yang digunakan
4. Scroll ke bawah, klik Add
6 C r e a te a N e w P r o j e c t

1. TIA Portal akan berpindah ke Project


View
Basics of Programming Fundamentals

Pengenalan mengenai fundamental


Programming
1 Overview of Program Editor

1. Expand Program Blocks


2. Double klik Main [OB1]
3. Terbukalah Program editor
4. Terdapat list untuk objek yang terbuka
dan yang sedang aktif (Main [OB1])
1 Overview of Program Editor
1. Toolbar
• berisi beberapa fungsi yang
digunakan ke Main [OB1]
• beberapa fungsi yang biasa
digunakan: menambah dan
1 menghapus network, menjalankan
2 monitoring
3 2. Symbol
• Objek yang bisa ditambahkan di
4
network
5 3. Blok title
• Judul dari block tersebut
• Bisa menambahkan comment
untuk membantu pemahaman
4. Netowrk
• Berfungsi seperti Rung di
programming IDE lainnya
• Satu network berisi 1 baris
program
• Untuk menambahkan baris
program menambahkan network
5. Line Network
• Untuk memasukkan simbol -
simbol, seperti kontak dan koil
2 Basic of Ladder Diagram

CONTACT
Diletakkan di sebelah kiri, berfungsi untuk membaca
sinyal dari input. Setiap baris program wajib minimal
memiliki 1 Contact atau lebih (Kombinasi AND/ OR).

COIL
Diletakkan di sebelah kanan, berfungsi untuk mengirim
sinyal output. Setiap baris program wajib minimal memiliki
1 Coil atau lebih.

ADDRESS
Pengalamatan yang wajib disertakan untuk setiap simbol,
berfungsi untuk mengidentifikasi Input/ Output secara
spesifik
3 Insert Network & Branch

1. Kik Insert network


3 Insert Network & Branch

1. Muncul network baru dengan nama


Netowrk 2
4 Bit Logic

1. Klik garis pada Network 1


2. Klik icon Normally Open contact seperti
berikut
4 Bit Logic
4 Bit Logic

1. Ketik M0.0 untuk memasukkan address


(Internal memori)
2. Tekan Enter

Note: Penggunaan internal memori di


kontak disebabkan alamat input (misal I0.0)
tidak bisa diwrite secara langsung, harus
menggunakan fungsi Force yang
prosesnya panjang, untuk sementara di
skip dahulu
4 Bit Logic

1. Terbentuk sebuah tag bernama ‘Tag_1’


yang diimplementasikan ke M0.0
2. Klik simbol Coil untuk menghubungkan
kontak tersebut dengan coil baru

Note: Untuk pengertian dari tag akan


dibahas pada beberapa slide kedepan
4 Bit Logic

1. Ketik Q0.0 untuk memasukkan alamat


output
4 Bit Logic

1. Klik pada Network 2


2. Klik simbol Normally Close contact
untuk memasukkan simbol NC
4 Bit Logic

1. Ketik M0.1
2. Klik simbol Coil untuk menambahkan
coil di Network 2
4 Bit Logic

1. Ketik Q0.1
5 Tag

1. Pada Project tree, expand PLC tags


2. Double klik Show all tags
5 Tag

1. Terbuka window PLC Tags


2. Tags merupakan nama variable/ alias
yang digunakan untuk menamai
address tertentu
3. Tags ini bisa digunakan untuk
menggantikan penulisan alamat saat
pembuatan program
4. Tags akan otomatis dibuatkan dengan
penulisan seperti di samping saat kita
memasukkan alamat di program
5. Tags bisa juga dibuatkan terlebih
dahulu, baru membuat program
6. Tags bisa diganti nama, maupun diganti
alamat
5 Tag

1. Double klik pada tag yang ingin diubah


5 Tag

1. Ketik nama yang akan dimasukkan


2. Tekan Enter
5 Tag

1. Ubah juga nama tag yang lainnya


2. Kembali buka halaman Main [OB1],
bisa dengan klik salah satu dari kedua
opsi di samping
5 Tag

1. Tag pada program telah berubah sesuai


tag yang kita inginkan
6 Simulation

1. Klik simbol berikut


6 Simulation

1. Klik OK
6 Simulation

1. Akan muncul aplikasi baru dengan


nama PLCSIM, sebagai aplikasi
simulator yang terintegrasi dengan TIA
Portal
2. Abaikan dahulu, klik Load
6 Simulation

1. Centang Action Start all untuk langsung


mengubah PLC ke kondisi RUN
2. Klik Finish
6 Simulation

1. Proses download ke simulator sudah


selesai
2. Lihat ke PLCSIM, lampu RUN/STOP
aktif berwarna hijau artinya PLC sudah
dalam kondisi RUN dan terdownload
program yang kita buat
7 Monitoring

1. Klik simbol berkacamata di samping


untuk mengaktifkan fungsi monitoring
7 Monitoring

1. Berikut hasilnya
2. Di bagian toolbar, simbol Go Online
disable dan Go Offline enable artinya
TIA Portal sudah terhubung secara
online ke PLC
3. Pada Project tree, terdapat ikon
lingkaran berwarna hijau artinya
program pada PLC telah sesuai dengan
program pada project TIA Portal
4. Pada editor window, Perubahan
signifikan terjadi seperti di samping
artinya program sedang dalam kondisi
monitoring
7 Monitoring

1. Untuk memodifikasi nilai PB Start, klik


kanan --> Modify --> Modify to 1
7 Monitoring

1. Nilai PB Stop sudah aktif, maka Lamp 1


juga aktif
2. Lakukan langkah seperti ini untuk
mencoba pada PB Stop
8 Force Table

1. Klik Go Offline untuk keluar dari


komunikasi online dengan PLC
2. Pindah ke halaman PLC Tags
8 Force Table

1. Kita akan mencoba menggunakan


alamat input pada simulator dengan
bantuan Force Table
2. Double klik pada address PB Start
3. Ketik I0.0
4. Tekan Enter
8 Force Table

1. PB Start sudah berubah alamat


menjadi I0.0
2. Lakukan hal sama untuk PB Stop
dengan alamat I0.1
8 Force Table

1. Dua alamat push button sudah berubah


menjadi input, kembali ke halaman
Main [OB1]
8 Force Table

1. Pada program, secara otomatis PB


Start dan PB Stop telah berubah
alamatnya menjadi I0.0 dan I0.1
2. Tag ini secara tidak langsung
memudahkan kita untuk dalam kondisi
tertentu perlu mengubah alamat
sementara program sudah lumayan
panjang, sehingga tidak perlu
mengubah per baris program
8 Force Table

1. Pada Project tree, Expand Watch and


force tables
2. Double klik pada Force table
3. Muncul halaman Force table seperti di
samping
8 Force Table

1. Pada Project tree, Expand Watch and


force tables
2. Double klik pada Force table
3. Muncul halaman Force table seperti di
samping
4. Pada kolom <Add new>, ketik I0.0:P
untuk menambahkan input I0.0
5. Penambahan P pada address
memungkinkan kita untuk melakukan
force pada input tersebut
8 Force Table

1. Muncul seperti berikut


2. Tambahkan Q0.0:P untuk sekaligus
memonitoring Lamp 1
3. Tambahkan untuk PB Stop dan Lamp 2
8 Force Table

1. Semua Force table sudah lengkap, Klik


Go Online
8 Force Table

1. Pada Project tree, ikon lingkaran yang


tidak berwarna hijau artinya program
pada TIA Portal berbeda dengan
program pada PLC
2. Klik pada Main [OB1] sehingga
memunculkan tombol download
8 Force Table

1. Klik simbol Download


8 Force Table

1. Klik Load
8 Force Table

1. Ikon lingkaran pada Project tree telah


berwarna hijau
2. pada kolom monitor value, ada simbol
kacamata dilarang artinya pada Force
table tidak memungkinkan untuk
memonitor dan force sekaligus
3. Pada project tree, double klik pada Add
new watch table
8 Force Table

1. Muncul Watch table_1 sebagai watch


table baru
2. masukkan semua tag yang sudah
dibuat
8 Force Table

1. Semua tag sudah dibuat


2. Klik simbol monitor all
8 Force Table

1. Terlihat status dari semua tag yang ada


2. Kembali ke halaman Force table
8 Force Table

1. Ketik True pada kolom Force value di


PB Start
2. Kembali ke Watch table_1
8 Force Table

1. Ketik True pada kolom Force value di


PB Start
2. Saat tombol Run Force di samping
enable, klik simbol tersebut
3. Konfirmasi, klik yes
8 Force Table

1. Muncul simbol F pada PB Start


2. Pada CPU Operator panel, lampu
MAINT aktif berwarna kuning artinya
sedang dalam mode Force
3. Kembali ke halaman Watch table_1
8 Force Table

1. Terlihat PB Start dalam kondisi Force


2. akibat PB Start aktif, maka Lamp 1 juga
aktif (True)
3. Lakukan hal sama untuk PB Stop
8 Force Table

1. Klik Stop Forcing untuk menghentikan


semua perlakuan Force
8 Force Table

1. CPU Operator panel kembali ke kondisi


semula (MAINT off)
2. Cek Watch table_1
8 Force Table

1. Forcing berhasil dihilangkan


9 OR Gate

1. Kita akan mencoba menambahkan


kontak OR yang disimpan di bawah
garis utama
2. Klik pada garis sebelah kiri kontak
seperti gambar di samping
3. Klik simbol panah ke bawah seperti di
samping
9 OR Gate

1. Muncul panah di bawah garis yang bisa


kita tambahkan kontak
2. Klik kontak NO/ NC, isi dengan alamat
baru
9 OR Gate

1. Kontak sudah ditambahkan


2. Klik simbol panah ke atas seperti di
samping untuk menghubungkan garis
bawah dengan garis atas
9 OR Gate

1. Program sudah selesai dibuat


9 OR Gate

1. Untuk memudahkan simulasi,


kembalikan kontak ke internal memori
10 AND Gate

1. Kita bisa mengubah jenis kontak yang


sebelumnya NO menjadi NC dan
sebaliknya
2. Double klik pada kontak yang dipilih
10 AND Gate

1. Ketika di double klik, akan muncul drop


down yang bisa dipilih
2. Klik kontak yang diinginkan, contohnya
NO
10 AND Gate

1. Kontak PB Stop sudah berubah


menjadi NO
2. Tambahkan kontak NO lagi untuk
membuat AND Gate
10 AND Gate

1. Dua buah kontak NO untuk AND Gate


sudah dibuat
10 AND Gate

1. Kita bisa mengubah tagname dengan


langsung di program editor tanpa
masuk ke PLC tags
2. Klik kanan pada kontak yang dipilih, klik
Rename tag
10 AND Gate

1. Masukkan nama baru untuk kontak


2. Klik Change
10 AND Gate

1. Program berhasil dibuat


2. Network 1 untuk OR Gate
3. Network 2 untuk AND Gate
4. Kita bisa menamai Network dengan klik
area seperti di samping, kemudian ketik
nama yang ingin dimasukkan
10 AND Gate

1. Network name berhasil dibuat


2. Jalankan simulasinya
11 Simulation - AND OR Gate

1. Fungsi OR bekerja jika salah satu atau


kedua kontak aktif
2. Aktifkan PB Start atau PB 2 untuk
mengaktifkan Lamp 1
11 Simulation - AND OR Gate

1. Fungsi OR sudah bekerja dengan baik


2. Fungsi AND bekerja jika kedua kontak
aktif
3. Nyalakan PB Stop dan PB 3 untuk
mengaktifkan Lamp 2
11 Simulation - AND OR Gate

1. Fungsi AND sudah bekerja dengan baik


2. Hentikan simulation dengan klik Go
Offline
12 Invert Logic

1. Pada sisi koil, bisa juga dipilih drop


down untuk mengubah bentuk koil
2. Double klik pada koil yang dipilih, klik
Invert (-(/)-) untuk mengubah koil
menjadi invert
3. Simulasikan
12 Invert Logic

1. Pada sisi koil, bisa juga dipilih drop


down untuk mengubah bentuk koil
2. Double klik pada koil yang dipilih, klik
Invert (-(/)-) untuk mengubah koil
menjadi invert
3. Simulasikan
12 Invert Logic

1. Invert logic membalikkan kondisi pada


inputan
2. Saat input off, koil invert on (terlihat
berwarna hijau)
12 Invert Logic

1. Sebaliknya, saat input on, koil dalam


kondisi off
13 Contoh Soal
L atc h i n g a n d U n l atc h i n g
Pengenalan mengenai Latching ( Holding )
and Unlatching Concept in TIA
1 Latching Concept

1. Push button (B2) mengaktifkan relay


2. Ketika relay aktif, kontak bantu K1 aktif
3. Kontak

https://hotcore.info/babki/latching-relays-how-they-work.htm
1 Latching on TIA

1. Buat program seperti berikut


2. Simulasikan
3. Kondisi awal: Relay 1 off dan Lamp 1
off
1 Latching on TIA

1. PB Start ditekan, maka Relay 1 on,


Lamp 1 on
1 Latching on TIA

1. PB Start dilepas, dan kontak Relay 1


menjaga supaya koil Relay 1 tetap aktif,
sehingga meskipun sumber dari PB
Start dilepas Relay 1 tetap aktif
2. Lamp 1 juga aktif
1 Latching on TIA

1. PB Stop ditekan, dan Relay 1 off


karena PB Stop memutus tegangan
dari kontak Relay 1
2. Lamp 1 juga off
2 Contoh Soal

1. Tombol Auto berfungsi sebagai sakelar


2. Saat Auto on, sensor atas bawah aktif
maka solenoid valve akan on, air mulai
mengisi tangki
3. Saat sensor batas atas on (tangki
penuh), solenoid valve akan off
4. Tombol kuras mengaktifkan kran, kran
mengurangi air dalam tangki
5. Saat sensor bawah on (tangki kosong),
solenoid kembali aktif
6. Dan terus berulang
3 Set Reset on TIA

1. Kita akan membuat program tambahan


untuk fungsi set reset pada koil
2. Kita bisa meng-copy network untuk
memudahkan pemprograman, blok
network (CTRL+A atau menahan
tombol shift dan klik di kedua network)
kemudian copy
3. Paste
3 Set Reset on TIA

1. Netowrk 3 dan network 4 sudah terbuat


3 Set Reset on TIA

1. Drop down di koil, pilih S


3 Set Reset on TIA

1. Masukkan tag sebagai relay 2


2. Hapus beberapa kontak sehingga jadi
seperti di samping
3. Ubah netork name
3 Set Reset on TIA

1. Copy Network 3
3 Set Reset on TIA

1. Drop down koil, pilih R


3 Set Reset on TIA

1. Ubah tag kontak menjadi PB Stop


2. Ubah network name
3 Set Reset on TIA

1. Ubah Network 5 untuk menyalakan


Lamp 2 seperti di samping
2. Simulasikan
3 Set Reset on TIA

1. Kondisi awal, relay 2 off sehingga lamp


2 off
3 Set Reset on TIA

1. Aktifkan PB Start kemudian matikan


lagi (Simulasi push button ditekan dan
dilepas)
2. Relay 2 aktif Set sehingga lamp 2 aktif
3 Set Reset on TIA

1. Aktifkan PB Stop kemudian matikan


lagi (Simulasi push button ditekan dan
dilepas)
2. Relay 2 aktif Reset sehingga lamp 2
mati
4 Positive & Negative Edge

1. Rising/ Positive Edge: Mendeteksi saat


terjadi perubahan dari 0 --> 1
2. Falling/ Negative Edge: Mendeteksi
saat terjadi perubahan dari 1 --> 0
4 Positive & Negative Edge

1. Pilih program Set Reset yang


sebelumnya
2. Drop down kontak PB Start
3. Pilih positive edge (-|P|-)
4 Positive & Negative Edge

1. Untuk penggunaan edge, ada


tambahan 1 tag lagi untuk status dari
tag atasnya
2. Masukkan tag baru
4 Positive & Negative Edge

1. Buat PB Stop sebagai negative edge


4 Positive & Negative Edge

1. Sudah terbentuk PB Start sebagai


Positive edge, PB Stop sebagai
negative edge
2. Simulasikan
4 Positive & Negative Edge

1. Positive edge akan aktif saat ada


perubahan nilai dari 0 ke 1 atau dari
dilepas ke ditekan
2. Saat PB Start pada posisi ditekan
(aktif), terlihat di Network 3 bahwa
kontak tidak aktif. Tapi sebenarnya
kontak PB Start sudah pernah aktif
selama 1 cycle kemudian mati
3. Bukti dari PB Start sudah pernah aktif
adalah Relay 2 dalam kondisi Set
4. Tag statusPosEdge mengikuti kondisi
Tag secara aktual
5. Lepaskan PB Start (off), maka tidak
terjadi perubahan apa - apa
6. Aktifkan PB Stop
4 Positive & Negative Edge

1. Negative edge akan aktif saat terjadi


perubahan nilai dari 1 ke 0
2. Saat PB Stop ditekan, tidak akan terjadi
perubahan apa - apa karena PB Stop
mengalami perubahan nilai dari 0 ke 1
3. Lepas PB Stop (off)
4 Positive & Negative Edge

1. Saat PB Stop dilepas, terjadi


perubahan nilai dari 1 ke 0
2. Itu yang menyebabkan Relay 2 Reset
5 Special Contact

1. TIA Portal menyediakan fitur untuk


spesial kontak seperti:
• First Cycle
• Always On
• Clock
2. Tidak secara default aktif, harus
diaktifkan terlebih dahulu
3. Pada Project tree, double klik pada
Device configuration
4. Terbuka halaman baru di editor, berisi
gambaran PLC yang digunakan
5 Special Contact

1. Klik pada bagian Properties seperti di


samping
2. Jika tidak muncul, drag bagian atas tab
sehingga muncul ke atas
5 Special Contact

1. Klik System and clock memory


sehingga muncul tab disebelahnya
2. Enable System memory bits dan Clock
memory bits
3. Isi dengan alamat memori yang
diinginkan, bebas asal tidak conflict
dengan tag alamat yang sudah ada
4. Bedakan antara System memory bits
dan Clock memory bits
5. Saat selesai, klik tombol hide di pojok
kanan untuk menyembunyikan bagian
properties sehingga bagian lain tidak
terhalang
5 Special Contact

1. Untuk melihat hasilnya, buka di PLC


tags --> Show all tags
2. Muncul beberapa tag tambahan yang
dapat digunakan untuk special contact
5 Special Contact

1. Saat PLCSIM sudah dibuka


sebelumnya, kita perlu mendownload
konfigurasi untuk hardware secara
terpisah dengan download program
2. Klik kanan pada tree utama PLC -->
Download to deveice --> Hardware
configuration
3. Konfirmasi, klik Load
4. Konfirmasi, klik Start all
5 Special Contact

1. Kita coba dengan menggunakan tag


Clock_1 Hz
2. Clock_1 Hz berfungsi untuk
memberikan kontak nyala mati
bergantian dalam waktu 1 detik
3. Simulasikan
5 Special Contact

1. Jika Lamp 2 menyala dan mati secara


bergantian, maka konfigurasi telah
berhasil
6 Private Tag

1. Private Tag merupakan tag yang


bersifat private, dalam arti hanya bisa
digunakan di block tertentu saja
2. Private tag tidak perlu diasosiasikan
dengan address tertentu
3. Pada Main [OB1], kita bisa
menambahkan beberapa private tag
untuk mempersingkat tag yang
digunakan pada internal memori (M0.0,
dll.)
4. Klik pada ikon panah ke bawah seperti
di samping untuk membuka library tag
6 Private Tag

1. Kita bisa memperlebar tag library tag


untuk mempermudah tampilan
2. Pada library tag, terdapat dua tipe tag:
1. Temp --> Nilai bersifat tidak tetap,
contohnya untuk tag umum yang
bisa berubah nilainya
2. Constant --> Nilai bersifat tetap,
contohnya untuk penggunaan nilai
konstanta (phi, start value, dll)
6 Private Tag

1. Kita bisa memperlebar tag library tag


untuk mempermudah tampilan
2. Pada library tag, terdapat dua tipe tag:
1. Temp --> Nilai bersifat tidak tetap,
contohnya untuk tag umum yang
bisa berubah nilainya
2. Constant --> Nilai bersifat tetap,
contohnya untuk penggunaan nilai
konstanta (phi, start value, dll)
6 Private Tag

1. Contoh disini, kita menambahkan tag


bernama Relay Main di Temp
2. Sebagai catatan, pada Main [OB1] tidak
dapat menggunakan tag yang perlu
menyimpan nilai pada cycle
sebelumnya, misalkan fungsi safe
holding (menyimpan status relay untuk
tetap aktif sampai stop ditekan)
6 Private Tag

1. Tambahkan program seperti berikut


2. Simulasikan
6 Private Tag

1. Program berjalan ketika PB 2 ditekan,


relay main aktif
6 Private Tag

1. Terlihat pada PLC tags, bahwa Relay


Main tidak ada di PLC tags, karena
hanya ada di Main [OB1] (private)
P ro g ra m m i n g F u n d a m e nta l s
Pengenalan mengenai Interlocking, Move
Operations, Comparator Operations, Math
F u n c t i o n s , T i m e r, C o u n t e r, P r o g r a m C o n t r o l
Function
1 Program Blocks

Organization Block
1. Blok utama dari program
2. Ada beberapa blok program yang
bisa digunakan
3. Sudah terdedikasi dengan fungsi
tertentu
1 Program Blocks

Data Block
1. Memori penyimpanan data/ tags
2. Berisi tag yang tidak termasuk di
PLC Tags
1 Program Blocks

Function
1. Program/ subroutine tanpa
dedicated memory
2. Cocok untuk penggunaan fungsi
aritmetika, ataupun program tanpa
menggunakan safe holding
1 Program Blocks

Function Block
1. Program seperti Function, namun
dengan penambahan memori
(dedicated data block)
2. Cocok untuk membuat sub
program agar memudahkan
organisasi program
3. Program library kebanyakan
menggunakan function block
2 Move Function
2 Move Function

1. Tambahkan sebuah Function block


2. Klik Add new block
3. Isi name
4. Pilih Function block
5. Klik OK
2 Move Function

1. Sebuah Function block dengan nama


Bab 5 terbentuk
2. Ada tambahan program di Project tree -
-> Program blocks
2 Move Function

1. Buka Library tag


2. Terdapat beberapa kategori:
1. Input: tag yang bertujuan untuk
perangkat masukkan dari luar
2. Output: tag untuk mengatur/ set
nilai
3. InOut: tag untuk input dan output
4. Static: tag internal yang bisa retain
2 Move Function

1. Tambahkan tiga buah tag seperti


berikut
2 Move Function

1. Tambahkan kontak pada Network 1


2. ketik tag Input1
3. Pada tab Instruction sebelah kanan,
drag fungsi MOVE ke sebelah kanan
Network 1
2 Move Function

1. Fungsi MOVE akan muncul seperti


berikut
2. ada sebelah kiri untuk tag input dan
sebelah kana untuk tag output
2 Move Function

1. Masukkan dua buah tag seperti berikut


2. Kembali ke Main [OB1]
2 Move Function

1. Drag Function block Bab 5 seperti di


samping ke Network 8
2. Akan muncul kotak dialog berikut untuk
memasukkan nama data block nya
3. Klik Enter
2 Move Function

1. Terbentuk sebuah Function block


dengan nama BAB 5 dan BAB 5_DB
sebagai data block terasosiasi
2. Di Project tree, pada Program blocks
terbentuk BAB 5_DB
2 Move Function

1. Tampilan pada DB seperti di samping


2. Pada Data block, bisa dilakukan
monitoring dengan munculnya icon
kacamata
3. Kembali ke Main [OB1]
2 Move Function

1. Masukkan Tag PB 3 ke Input1


2. Ketik DataIn pada InWord
2 Move Function

1. Klik kanan pada DataIn, klik Define tag


2 Move Function

1. Pada Section, pilih Global Memory,


terisi Address (%MW2, atau bisa MW
berapa aja) klik Define
2. Pada saat tag sebagai bool, maka
Global memory akan merujuk ke %M,
sedangkan saat tag sebagai word akan
merujuku ke %MW
2 Move Function

1. DataIn akan tampak seperti di samping


2. Lakukan juga untuk OutWord1
2 Move Function

1. Hasilnya seperti di samping


2. Simulasikan
2 Move Function

1. Pada Function block ini, terdapat


program Move yang mana ketika PB 3
on, nilai di DataIn akan dicopy ke
DataOut
2 Move Function

1. Ubah nilai pada DataIn dengan klik


kanan --> Modify --> Modify Operand
2 Move Function

1. Muncul kotak dialog Modify


2. Isi nilai pada Modify value, ex. 100
3. Pada bagian Format, ada pilihan sistem
bilangan yang digunakan, kita bisa pilih
DEC untuk memasukkan nilai 100
desimal
4. Klik OK
2 Move Function

1. Tampil nilai pada DataIn, yaitu Hex64/


Desimal 100
2 Move Function

1. Kita bisa merubah tampilan bilangan,


dengan klik kanan --> Display format --
> Network --> Decimal
2 Move Function

1. Kita bisa merubah tampilan bilangan,


dengan klik kanan --> Display format --
> Network --> Decimal
2. Ubah nilai PB 3 menjadi true maka nilai
DataOut akan menjadi 100
2 Move Function

1. Untuk melihat fungsi move di dalam


Function block, double klik pada FB
tersebut
2 Move Function

1. Klik Monitoring, maka tampilannya


seperti di samping
2 Move Function

1. Kita bisa melihat ke data block juga,


double klik di BAB 5_DB, klik
monitoring
C o m p a ra to r F u n c t i o n
3

1. Pada tab instructions, buka folder


Comparator operations, ada beberapa
pilihan (==, <>, <, >, dll)
2. Pilih salah satu, drag ke Network 2
C o m p a ra to r F u n c t i o n
3

1. Tanda tanya di atas dan bawah dengan


warna merah berfungsi untuk tag1 dan
tag2 yang dibandingkan
2. Tanda tanya di dalam kotak sebagai
jenis tipe data yang dibandingkan.
Harus sama tipe data yang
dibandingkan antara tag1 dan tag2
C o m p a ra to r F u n c t i o n
3

1. Pada program berikut, kita


membandingkan jika nilai InWord sama
dengan 100, maka akan memberikan
output
2. Di dalam kotak, teks berubah menjadi
Word, karena tag InWord yang
dibandingkan bertipe data Word
C o m p a ra to r F u n c t i o n
3

1. Buka library tag


2. Tambahkan tag OutBool1 untuk
mengeluarkan nilai boolean
C o m p a ra to r F u n c t i o n
3

1. Masukkan koil di Network 2


2. Isi dengan OutBool1
3. Program ini bermaksud ketika InWord
bernilai 100 dan Input1 aktif, maka
OutBool1 akan aktif
4. Kembali ke Main [OB1]
C o m p a ra to r F u n c t i o n
3

1. Pada FB BAB 5, terjadi error karena


terjadi penambahan argument berupa
OutBool1 yang tidak secara otomatis
berubah
C o m p a ra to r F u n c t i o n
3

1. Klik kanan pada FB


2. Klik Update block call
C o m p a ra to r F u n c t i o n
3

1. Pada kolom New interface, ada


tambahan OutBool1, klik OK
C o m p a ra to r F u n c t i o n
3

1. FB sudah terupdate tanpa ada error


2. Tambahkan tag pada OutBool1
C o m p a ra to r F u n c t i o n
3

1. Semua tag sudah lengkap


2. Simulasikan
C o m p a ra to r F u n c t i o n
3

1. Ubah nilai DataIn sebagai 100


2. Saat PB 3 off, DataOut masih belum
berubah, Lamp 4 juga tidak berubah
3. Aktifkan PB 3
C o m p a ra to r F u n c t i o n
3

1. Saat PB 3 on, Lamp 4 on dan DataOut


bernilai sama dengan DataIn
C o m p a ra to r F u n c t i o n
3

1. Kita bisa mengubah nilai DataIn


sementara PB 3 on
2. Saat DataIn bernilai 80, DataOut
bernilai 80 dan Lamp 4 off
4 Math Function

ADDITION DIVISION

1 6
INCREMENT MULTIFICATION
2 5

SUBSTRACTION
3 4 DECREMENT
4 Math Function

1. Pada tab instructions, buka folder Math


Functions
2. Drag salah satu fungsi (ex. ADD)
4 Math Function

1. Fungsi ADD nya sebagai berikut


2. Tambahkan Network name untuk
memudahkan pemahaman
4 Math Function

1. Tambahkan tag input dan output seperti


di samping
2. Ubah tipe data Word menjadi Int,
karena untuk fungsi Math tidak dapat
menggunakan Word
4 Math Function

1. Masukkan tag dan kontak Input1


4 Math Function

1. Update block call pada FB


2. Masukkan tag seperti di samping
4 Math Function

1. Buka PLC tags --> Show all tags


2. Ubah Data type untuk DataIn dan
DataOut menjadi Int
3. Simulasikan
4 Math Function

1. Saat menggunakan tipe data Int,


otomatis nilai yang tampil sebagai
desimal
2. Ubah nilai DataIn dan DataIn2
4 Math Function

1. Output belum berubah


2. Aktifkan PB 3
4 Math Function

1. Saat PB 3 aktif, DataOut2 bernilai 200


karena menjumlahkan nilai DataIn
(100) dan DataIn2 (100)
5 Timer Function

1. Timer pada TIA Portal terdiri dari


beberapa tipe:
1. On Delay
2. Off Delay
3. Pulse
4. Accumulator
2. Yang umum digunakan biasanya Timer
On Delay
3. Drag TON ke Network 4
5 Timer Function

1. Timer bersifat Function block, jadi


disertakan data block saat
memasukkan TON FB
2. Klik OK
5 Timer Function

1. TON FB terbentuk seperti di samping


2. Kita bisa melihat Data block untuk timer
tersebut pada Project tree seperti di
samping
5 Timer Function

1. Tambahkan tiga tag seperti berikut


5 Timer Function

1. Buat program seperti berikut


5 Timer Function

1. Masuk ke Main [OB1]


2. Update block call
5 Timer Function

1. di argument TimerInput, ketik


DataTimerIn, tekan Enter
2. klik kanan, define tag
3. Pada Section, pilih Global Memory
4. Muncul MD12
5. Klik Define
5 Timer Function

1. Muncul TimerDataIn sebagai alamat


MD12
2. Buat juga untuk TimerOutput dan
TimerBool
5 Timer Function

1. Saat seperti ini, program sudah selesai


2. Simulasikan
5 Timer Function

1. Jika muncul kotak dialog seperti


berikut, drop down pilih Re-initialize
2. Klik Load
5 Timer Function

1. Simulasi berjalan
2. Modify nilai TimerDataIn
3. Masukkan waktu misalkan 5 detik,
dengan format seperti di samping
4. Klik OK
5 Timer Function

1. TimerDataIn sudah berubah nilainya


2. Aktifkan PB 3
5 Timer Function

1. PB 3 sebagai trigger untuk timer


2. Timer berjalan
3. Lamp 5 belum aktif karena
DataTimerOut belum mencapat 5 detik
(5000 ms)
5 Timer Function

1. Saat DataTimerOut mencapai 5s, Lamp


5 akan on
5 Timer Function

1. Saat PB 3 dimatikan, maka timer akan


reset dan Lamp 5 akan off
2. Saat PB 3 dimatikan sebelum timer
mencapai finish, maka timer pun akan
reset
6 Counter Function

1. Counter pada TIA Portal terdiri dari:


1. CTU (up)
2. CTD (down)
3. CTUD (up & down)
2. Drag satu FB, misal CTU ke Network 5
6 Counter Function

1. Masukkan Data block yang terasosiasi


dengan Counter, klik OK
6 Counter Function

1. FB untuk CTU muncul seperti berikut


6 Counter Function

1. Masukkan tag - tag seperti berikut


2. Untuk CounterPV, kita mencoba untuk
memasukkannya di kategori Static.
Dalam arti nilainya disimpan di internal
Data block saja tidak dikeluarkan ke
output
6 Counter Function

1. Bentuk program pada Network 5 seperti


berikut
6 Counter Function

1. Update block call pada FB


2. Muncul seperti di samping
3. Isi argument untuk masing - masing I/O
6 Counter Function

1. Program seperti di samping artinya


sudah selesai semua
2. Simulasikan
6 Counter Function

1. Ubah nilai DataInCounter, misal 3


2. Klik OK
6 Counter Function

1. Saat DataInCounter bernilai 0, Lamp 6


aktif karena set value nya 0
2. Saat berubah menjadi 3, Lamp 6 off
6 Counter Function

1. On dan Off PB CounterIn sebanyak 2


kali
2. Lamp 6 belum aktif karena belum 3x
6 Counter Function

1. Untuk melihat CounterPV, buka di BAB


5_DB
2. Terlihat bahwa nilai CounterPV bernilai
2
6 Counter Function

1. Saat nilai CounterPV >= 3, maka


CounterBool akan on
2. Aktifkan PB CounterReset maka nilai
CounterPV menjadi 0, CounterBool off
7 Jump Function

1. JUMP digunakan untuk melompati


program ke area yang ditunjukkan
dengan LABEL
2. Drag JMP ke Network 6
7 Jump Function

1. Ketika memasukan JMP, maka tanda


tanya merah tersebut untuk label yang
dituju
7 Jump Function

1. Buat beberapa tag seperti berikut


2. Jika tag dalam kategori InOut, artinya
tag tersebut tidak hanya diwrite oleh FB
tersebut, tapi bisa juga dimanipulasi
(input) oleh luar FB
7 Jump Function

1. Buat program seperti berikut


2. Saat JUMP nonaktif, nilai IncData akan
bertambah setiap ada input dari Inc
Input
3. Saat JUMP aktif, fungsi Increment tidak
akan aktif
4. Fungsi Increment artinya setiap aktif
akan menambahkan data tersebut
senilai 1
5. Pada Instructions, drag LABEL ke
Network 8
7 Jump Function

1. Pada Network 8, label SkipInc


ditambahkan
2. Pada Network 6, tanda tanya merah
pada JMP diisi SkipInc
7 Jump Function

1. Update block call


2. Isi argument yang dibutuhkan
7 Jump Function

1. Pada Inc input diisi tag Clock_1Hz


sehingga setiap 1 detik sekali DataInInc
bertambah 1
2. Simulasikan
7 Jump Function

1. Saat PB Jump off, DataInInc bertambah


satu setiap detik
7 Jump Function

1. Saat PB Jump aktif, Lamp 7 aktif, serta


DataInInc berhenti bertambah 1
2. Saat PB Jump nonaktif, Lamp 7 aktif,
DataInInc melanjutkan penambahan
7 Jump Function

1. DataInInc bisa kita reset dengan modify


value menjadi 0. Setelah 0 dia
melanjutkan penambahan lagi ke 1, 2,
dst.
8 Contoh Soal

1. Tombol Auto berfungsi sebagai sakelar


2. Level sensor (L1) bernilai 0 - 100
3. Saat Auto on, jika level sensor (L1)
dibawah 20 maka solenoid valve akan
L1 on
4. Saat L1 mencapai 100 (tangki penuh),
solenoid valve akan off
5. Tombol kuras mengaktifkan kran, kran
mengurangi air dalam tangki
6. Saat L1 di bawah 20 (tangki kosong),
solenoid kembali aktif
7. Dan terus berulang
P ro g ra m m i n g F u n d a m e nta l s
P e n g e n a l a n m e n g e n a i Wo r d L o g i c O p e r a t i o n
1 Logic Operations
1 Logic Operations

1. Masukkan Function baru untuk


mengelompokkan materi di BAB 6
2. Klik OK
1 Logic Operations

1. Buka folder Word logic operations


2. Drag salah satu fungsi, ex. AND ke
Network 1
1 Logic Operations

1. Tampilannya sebagai berikut


1 Logic Operations

1. Tambahkan beberapa tag seperti


berikut
1 Logic Operations

1. Tambahkan program seperti berikut:


1. AND
2. OR
3. XOR
1 Logic Operations

1. Drag BAB 6 ke Main [OB1] di Network


9
2. Masukkan argumentnya
1 Logic Operations

1. Semua argument telah berhasil diinput


2. Simulasikan
1 Logic Operations

1. Set PBInput menjadi on


2. Set nilai DataIn1 menjadi 5
3. Set nilai DataIn2 menjadi 1
4. Hasilnya:
1. 5(1001) and 1(1001) = 1(0001)
2. 5(1001) or 1(1001) = 5(1001)
3. 5(1001) xor 1(1001) = 4(1000)
2 Select Operations

1. Select berfungsi untuk memilih antara


input1 atau input2 untuk diteruskan ke
output
2. Drag fungsi SEL ke Network 4
2 Select Operations

1. Tambahkan satu tag output seperti


berikut
2 Select Operations

1. Program dibuat seperti di samping


2 Select Operations

1. Kembali ke Main [OB1]


2. Update block call pada FC
3. Masukkan output DataOutSel
4. Simulasikan
2 Select Operations

1. Saat PB Input off, maka DataOutSel


berisi nilai dari DataIn1
2. Saat PB Input on, DataOutSel berisi
nilai dari DataIn2
3 Invert Operations

1. Invert berfungsi untuk membalikkan


nilai dari input
3 Invert Operations

1. Tambahkan tag output seperti di


samping
3 Invert Operations

1. Buat program seperti di samping


3 Invert Operations

1. Kembali ke Main [OB1]


2. Update block call
3. Tambahkan tag output
4. Simulasikan
3 Invert Operations

1. Saat PB Input on, DataOutInv akan


bernilai balikkan dari DataIn1, terlihat
bahwa kebalikan nilai dari 0 Hex adalah
FFFF Hex
4 Mux & Demux Operation

1. Multiplexer berfungsi untuk select 2


atau lebih input ke satu output
2. Demultiplexer untuk select satu input ke
2 atau lebih output
4 Mux & Demux Operation

1. Tambahkan beberapa tag seperti


berikut
4 Mux & Demux Operation

1. Buat program seperti berikut


4 Mux & Demux Operation

1. Kembali ke Main [OB1]


2. Update block call
3. Isi argument input seperti berikut
4 Mux & Demux Operation

1. Untuk Output, kita bisa menggunakan


local temp untuk mempersingkat tags
2. Pilih section local temp
3. Klik Define
4 Mux & Demux Operation

1. Lengkapi seperti di samping


2. Simulasikan
4 Mux & Demux Operation

1. DataIn1, DataIn2, DataElseIn


digunakan untuk input data multiplexer
2. DataOutMux digunakan untuk output
data multiplexer
3. DataIn3 digunakan untuk input data
demultiplexer
4. DataOutDemux1, DataOutDemux2,
DataOutDemuxElse digunakan untuk
output Demultiplexer
5. k berfungsi untuk select pada mux dan
demux
6. Saat PB Input off, nilai output semua 0
4 Mux & Demux Operation

1. Saat PB Input on:


1. k == 0, DataOutMux = DataIn1,
DataIn3 --> DataOutDemux1
2. k == 1, DataOutMux = DataIn2,
DataIn3 --> DataOutDemux2
3. k >= 2, DataOutMux = DataElseIn,
DataIn3 --> DataOutDemuxElse
P ro g ra m m i n g F u n d a m e nta l s
Pengenalan mengenai Shift and Rotate
Instruction
1 Logic Operations
1 Shift Operations

1. Buat Function baru, untuk BAB 7


2. Klik OK
1 Shift Operations

1. Drag dari Instructions, folder Shift and


rotate
1 Shift Operations

1. Tambahkan beberapa tag seperti di


samping
1 Shift Operations

1. Buat program seperti di samping


1 Shift Operations

1. Kembali ke Main [OB1]


2. Drag BAB 7 ke Network 10
3. Masukkan argument dengan tag seperti
di samping
4. Simulasikan
1 Shift Operations

1. DataIn1 sebagai data yang digeser


2. n sebagai berapa kali pergeseran yang
dilakukan
3. Saat PB Input on:
1. SHR bernilai 0, karena bergeser
ke kanan
2. SHL bernilai 2, karena bergeser ke
kiri
2 Rotate Operations
2 Rotate Operations

1. Tambahkan beberapa tag seperti di


samping
2 Rotate Operations

1. Buat program seperti berikut


2 Rotate Operations

1. Kembali ke Main [OB1]


2. Update block call
3. Tambahkan argument seperti di
samping
4. Simulasikan
2 Rotate Operations

1. DataIn1 sebagai data yang diputar


2. n sebagai berapa kali perputaran yang
dilakukan
3. Saat PB Input on:
1. ROR bernilai 8000 hex , karena
berputar ke kanan
2. ROL bernilai 2 hex, karena
berputar ke kiri
Tro u b l e s h o o t i n g
P e n g e n a l a n m e n g e n a i Tr o u b l e s h o o t i n g
( C a s e Tr o u b l e , D r a w i n g , W a t c h W i n d o w,
C ro ss Refe re n ce , Ed i t O n l i n e , C o nve yo r
Case )
1 Wiring Diagram
2 Case Conveyor

1. PB Start memulai sistem


2. PB Stop memulai sistem
3. Sistem berjalan, konveyor box
4. Saat box mencapai SE B, konveyor box
berhenti, Konveyor apel jalan
5. SE A untuk menghitung jumlah apel
6. saat apel = 4, konveyor apel off
konveyor box jalan
7. berlanjut ke box berikutnya

http://riyansblog.blogspot.com/2012/04/program-dan-ladder-plc-pengisi-
kotak.html
3 Watch Window

1. Terlihat status dari semua tag yang ada


2. Kembali ke halaman Force table
4 Edit Online

1. Terlihat status dari semua tag yang ada


2. Kembali ke halaman Force table
4 Edit Online

1. Terlihat status dari semua tag yang ada


2. Kembali ke halaman Force table
5 Cross Reference

1. Digunakan untuk melihat tag yang


bersangkutan digunakan di baris
program mana saja
2. Klik kanan pada tag --> Cross
reference information
5 Cross Reference

1. Muncul seperti berikut

Anda mungkin juga menyukai