Select Page

Saya mau menanyakan kepada rekans yg memiliki berpengalaman dlm programming

PLC dan SI.Alfi Syahrin alfi.syahrin@gmail.com

Dear all,

Saya mau menanyakan kepada rekans yg memiliki berpengalaman dlm programming

PLC dan SI.

Selama ini, dalam programming PLC saya masih menggunakan konsep yg sangat

tradisional sekali dimana dalam satu prog file saya langsung gunakan sebagai

main PLC program (main, auto, manual, I/O) sehingga dlm proses

troubleshooting sangat susah. Nah, saya baca2 dari rekans(milis sebelah),

mereka menyampaikan bahwa akan lebih mudah jika dibuat sub routine yang

menghandle fungsi2 Main/Auto/Maual/dan I/O tsb. salah satu solusinya adalah

menggunakan Jump to Sub Routine (JSR). Jika saya menggunakan perintah ini

ada beberapa konsep yang masih saya bingung dan ingin tanyakan kpd rekans

yaitu:

1. Jika pada main program saya buat JSR ke beberapa subroutine (sub

Auto/manual/ dan I/O), apakah akan mengganggu scan dari logic command yang

saya buat di main routine?

2. Apakah data2 yg ada di PLC misalkan pada AB utk operasi bit B3:x/y pada

subroutine yg tdk aktif akan selalu diupdate, sehingga masih bisa dipakai

sebagai inputan di subroutine yg aktif. contohnya interlock antara

subroutine manual dan auto.

3. Jika menggunakan konsep subroutine ini, apakah akan menggangu proses

update I/O berhubung subroutine utk I/O saya buat terpisah dari subroutine

utama?

Mohon maaf jika pertanyaan ini sangat banyak, berhubung saya masih baru di

dunia automasi. Mohon rekans yg memiliki pendapat dan pengalaman bisa share

dan mengkoreksi konsep yg tidak benar dari saya. terima kasih atas tanggapan

yg diberikan.

Enung Nurmalia e.nurmalia@gmail.com

Pak Alfi,

Sub routine dibuat untuk memudahkan user melakukan troubleshooting.

saat anda meng-create satu subroutine, anda akan melanjutkannya dengan

me-register sub routine tersebut di sub routine sebelumnya untuk bisa

di-scan oleh controller.or let say kita menempatkan JSR ke tiap-tiap sub

routine semuanya di main routine biar gampang melacaknya.

saat anda sudah membuat JSR, dengan otomatis controller akan meng-scan sub

routine tersebut, jadi tidak ada istilah sub routine ‘tidak aktif’,

yang ada hanya urutan scanning controller dalam orde milliseconds.

kecuali anda membuat subroutine khusus untuk ‘debug’, artinya anda membuat

subroutine khusus untuk simulasi tapi tidak akan ter-download ke controller.

jadi tidak ada istilah subroutine akan meng-interrupt main routine. silahkan

anda buat banyak sub routine, karena itu sangat bermanfaat untuk tracing

logic.

Alfi Syahrin alfi.syahrin@gmail.com

Dear Mbak Enung,

Terima kasih atas responnya, btw jika di AB JSR kan bisa kita kondisikan utk

aktif atau tidak aktif misalkan kita buat prog file 3 utk analog I/O

scanning, dan pada prog file 4 manual, dan 5 utk auto. jika kita buat

interlock antara auto dan manual dan logic ini kita masukkan sebagai kondisi

dari JSR ke U:4 (manual), apakah secara ‘scanning’ JSR ke U:4 ini akan

langsung jump ke prog file 5?

Oh iya, sy mau menggunakan Analog output utk mengirimkan signal 4-20 mA ke

sebuah solenoid. Jika saya menggunakan fungsi matematika utk menentukan

kondisi integer, sebagai value yang akan saya kirimkan ke output agar

solenoid bergerak sampai ke suatu titik. bagaimana cara mengkonversikannya

(dari integer menjadi analog output?). Mohon pencerahannya. Terima kasih

Enung Nurmalia e.nurmalia@gmail.com

Dear Pak Alfi,

kalo masing2 subroutine dikasih condition, ya automatically sangat

tergantung sama condition yang kita buat. berlaku hal yang sama untuk

file-5. kecuali file 5 anda buat tanpa condition, ya automatically akan

nge-jump.

solenoid kok analog sih? I/P transducer kali??

analog ranging kan tergantung dari scaling yang anda buat di program

kalo misalnya resolusi yang anda pilih dari AO card 0 – 4095 dan itu identik

dengan 0 – 20mA

ya…. tinggal pake aritmetik biasa aja, Integer yang ingin anda convert

dengan resolusi analog card itu berapa, masukin ke block Analog_scale.

yang perlu anda perhatikan kan cuma raw value (0-4095) dan integer yang anda

inginkan

perkara convert ke signal analog 4 – 20mA itu kan urusan analog output card

anda.

semoga membantu,

kalo ada hal lain yang perlu dibahas, silahkan japri.

Hendri D hendri.dh@gmail.com

Dear pak…

Setahu saya pada AB adanya JSR atau tidak, CPU tetap melakukan scan. Sebab JSR fungsinya adalah untuk memperioritas kan SBR mana yang terlebih dahulu yang discan, tergantung pada soubroutine data base yang kita buat. Apakah unconditional atau conditional. Jadi kalau kalau pak Alfi tidak buat JSR pada pagefile pertama, program bpk tetap di scan.

Mengenai fungsi matematika utk penyampaian ke analog output, adalah tergantung dari program apa yang mau bpk buat. Bisa di mutiply, devide atau less menurut condition and uncondition. Misalnya begini: jika analog input 4 mA, maka integer 0 di mov ke AO atau jika tidak, integer yg ada di fungsi matematik akan di mov ke AO dengan scale yang di inginkan tentu nya. Ini hanya salah satu contoh dari condition and uncondition.

Semoga bermanfaat…….

Alfi Syahrin

To: hendri.dh@gmail.com

Sent: Wednesday, November 19, 2008 10:20 AM

Subject: Re: [Oil&Gas] (instr) Mau tanya ttg konsep2 programming PLC (ladder based)

Dear Pak Hendri,

Maaf saya lanjutin ke japri berhubung takut mengganggu rekans lainnya. Terima kasih atas bahasannya, saya sudah mulai mengerti dengan konsep yang diberikan mengenai fungsi2 tsb. Btw jika saya harus menscan analog input dan melakukan konversi matematik, apakah SBR utk page file tsb harus saya letakkan di awal dari semua program? berhubung analog kan real time dan harus di cek terus menerus.

SAya baca2 juga dimanual, ada fungsi SCP (scale w/ parameter) apakah fungsi ini hanya bisa utk linear? bagaimana dengan fungsi yang tidak linear (misalkan fungsi yang eksponesial?) apakah saya haru membuatkan konversi matematis dahulu?

Maaf baru kenal nanyanya banyak, maklum baru belajar.

Terima kasih atas tanggapannya…

Hendri D

Dear Pak Alfi,

Biasanya untuk SBR AI & AO kita letak kan di halaman terakhir saja pak, supaya nantinya kita gampang mencari nya. Di rekomendasikan untuk input di SBR 248 & output di SBR 250. Dan perlu satu hal pak, JSR diletakkan tidak mesti di main (SBR pertama), di SBR lain juga kita bisa membuat JSR. Kita buat di main spy kita gampang melakukan trace. Biasanya kalau JSR dibuat di halaman main berarti orang tersebut sudah experience.

Mengenai analog I/O yg diletakkan di SBR terakhir apa tetap di scan? Ya…., CPU akan tetap men scan seluruh SBR yang bapak buat setelah di upload ke CPU.

Untuk pertanyaan terakhir, bagaimana dengan fungsi yang tidak linear (misalkan fungsi yang eksponesial?) apakah saya haru membuatkan konversi matematis dahulu? betul, sekali pak.

Semoga bermanfaat….

Alfi Syahrin

To: Hendri D

Sent: Wednesday, November 19, 2008 12:30 PM

Subject: Re: [Oil&Gas] (instr) Mau tanya ttg konsep2 programming PLC (ladder based)

Wah ini update baru lagi bahwa sebaiknya AI/AO diletakkan di SBR 248 dan 250…berarti berhubung time scan utk konversi AI/AO lama lebih baik diprioritaskan scan program auto or manualnya bukan begitu?so AI/AO kita buncitkan prioritasnya bukan berarti diakhirkan hehehe…

Nah ini nih agak bermasalah sedikit, bos saya barusan sudah ngasih micrologix 1100 ini ada di hadapan saya, cuma saya bingung bagaimana cara konfigurasi agar RSLOGIX saya bisa komunikasi dengan PLCnya? karena saya sudah melakukan apa yg manual suruh cuma tdk berhasil. saya sudah cek ke device manager lho bahwa COM1 sdh used terpaksa saya pake COM4 dan baud rate sudah saya set di 19200…saya pake usb to serial adapater dan drivernya sudah saya install dgn sukses. tapi kenapa tidak bisa konek ya?

Hendri D hendri.dh@gmail.com

Itu kan hanya direkomendasikan, mungkin untuk standar nya aja tp kl memang mau dibuat di depan ngga mengapa. Mengenai komunikasi apa sudah dicoba dari RS Link ?

Puji Yusnanto pyusnanto@gmail.com

Pak Alfi,

Mungkin bisa dicoba dulu test komunikasi PC to PLC dengan menggunakan COM1

(device di COM1 di switch dengan koneksi to PLC dulu).

Basically harus ada 2 software yang saling linkage : RSLinx dan RSLogic.

Mengenai konfigurasi hardwarenya mungkin bisa di ikuti dengan langkah2

berikut :

1. Connect Micrologic connection cable di COM port nya PC.

2. Di bagian RSLinx:

– Buka RSlinx program, pilih ‘Configure Device’.

– Setelah terbuka ‘Configure Device’ window, pada ‘Available Driver Types’,

pilih : RS-232 DF1 Device

– Click ‘Add New’, lalu click ‘OK’. Pastikan Baut Rate : 19200 dan COM nya

benar (yg dipakai connect to PLC)

Default setting pada menu ini : Parity = None, Stop bit = 1, Error

checking = Bcc, Protocol = Full Duplex, Device = PLC -CH0

3. Dibagian RSLogic:

– Buka program RSLogic

– Click File > New, pilih processor type dari PLC yang digunakan. Contohnya

yg saya pakai : Bul. 1761 Micrologic 1000

Semoga membantu dan mohon dikoreksi jika ada yg keliru.

Share This