Saturday, August 23, 2008

Printer yang tidak cocok

Permasalahan yang dihadapi sekarang adalah dengan produk printer yang digunakan dilapangan. Dengan kondisi lapangan yang lumayan panas dengan suhu antara 28 sampai dengan 38 derajat celcius, mesin yang menggunakan system barcode terpasang sebuah printer Laserjet HP 2605n, yang mempunyai bobot lumayan besar, harganya pun diatas rata-rata. Masalah yang terjadi sampai saat ini adalah :
1. Tinta printer yang kabur atau tidak jelas ( dominan problem )
2. Warna hanya sebagian
3. Masalah driver yang kadang-kadang printer tidak terdeteksi

Keinginan saya ingin mengganti printer keseluruhan di pabrik dengan printer yang biasa saja (deskjet), namun masalah yang ada adalah minimnya budget dan masalah dari produksi division yang sudah order tinta untuk printer dengan type Laserjet 2605 dalam jumlah banyak.

Mungkin saat ini yang dilakukan hanya mengulur-ngulur waktu (^_^)

Friday, August 22, 2008

Project dan training sudah menunggu

Banyak project yang sudah menanti, pekerjaan yang satu belum kelar ditambah lagi kerjaan baru yang lainnya (_ _')..
Project yang pertama yaitu membuat program improves untuk melihat productivitas dari sebuah mesin, dengan merubah beberapa Address yang terdapat pada PLC, namun dikarenakan terdapat masalah pada network (router) yang berakibat tidak dapat interkoneksi, sehingga data pada mesin tidak dapat di monitoring. Dari masalah network tersebut akhirnya akan diadakan training pengenalan cisco serta bagaimana antisipasi jika terjadi masalah. Namun selain itu project mesin treadline no 3 untuk improves cleaning compound akan dilaksanakan hari senin pula..sepertinya akan menjadi hari yang melelahkan (_ _')

Thursday, August 14, 2008

Add Cleaning Compound Procedure

Installasi program yang sebelumnya telah di modifikasi untuk penambahan dua address receive data dari PLC dan Sending data to PLC. Data yang dikirimkan adalah berupa flag 1 atau 0, yang memberikan indikasi apakah mesin memerlukan proses cleaning compound (bahan setengah jadi dalam pembuatan ban), apabila mesin itu melakukan proses tetapi dengan beberapa spec tread ( bagian pada ban ) yang mempunyai bahan compound yang berbeda, proses ini diperlukan untuk mencegah terjadinya kontaminasi dengan compound sebelumnya.
Komunikasi PLC dengan menggunakan module membus yang sudah digunakan oleh program dari pertama kali, dan saya hanya memerlukan analisa terhadap bagaimana cara dia sending dan receive terhadap PLC.
Namun saat simulasi dilapangan terdapat hambatan, baik pada program tersebut maupun pada PLC yang katanya belum sempurna. Masalah pada program terjadi dikarenakan prinsip kerja dari sending flag tersebut hanya sekali, tetapi pada aktualnya pengiriman once sending tidak sempurna, terkadang pengiriman sering error, makanya sekarang dilakukan perubahan sending flag dengan prinsip

do

blnSend = PubFun_Sending(1, StrSendAddr, DataBuffer) then

loop until blnSend = true

Tuesday, July 1, 2008

Port Number PLC

Akhir Pekan kemarin saya disibukkan dengan problem mesin Treadline no.1, PC tidak bisa read data from PLC. Kejadian ini sebelumnya pernah terjadi namun tidak di handle oleh saya, saya hanya tau action dari problem tersebut yaitu "Reset PLC".
Saat itu juga saya mulai analisa, dan saya coba ganti port number yang menuju PLC Yaskawa GL120 dengan akses via Network LAN. Saya coba ganti Port Number yang tersedia dari 8000 sampai dengan 8007 masih tidak bisa akses, akhikrnya saya coba confirm dengan specialist PLC, dan akhirnya PLC pun di Reset.
Kemudian setelah semuanya kembali lancar saya diberi pengarahan oleh Mr. Riki, bahwa PLC itu terdiri dari Address, Register dan Port Number. Address merupakan alamat diluar, sedangkan regisrter adalah alamat-alamat yang membangun program PLC tersebut, sedangkan POrt Number adalah Jalur/Alamat untuk akses dari device lain (8000-8007).
Kelemahan atau kekurangan dari PLC yaskawa GL120 adalah tidak adanya indikasi aktivitas port number, tidak seperti PLC Mitsubishi sehingga mana saja port number yang busy tidak dapat terlihat.

Saturday, June 14, 2008

How to make a setup – Visual Basic

Ada 3 cara membuat sebuah setup program methods pada program visual basic, yaitu :

1. Static setup
Static setup merupakan sebuah method setup yang permanent, biasanya setup dibuat pada source code pemogramannya itu sendiri, sehingga untuk merubah settingan harus merubah source code-nya pula.

2. Dynamic setup
Dynamic setup adalah method dimana setup bisa dilakukan yang sifatnya semi permanent. Dengan menyimpan temporary setup pada sebuah file/log, yang bisa di tambah, hapus dan dirubah. Kemudahan dan efisiensi yang ditawarkan pada method ini sehingga sangat banyak digunakan.

3. Temporary setup
Temporary setup adalah method dimana setingan disimpan hanya untuk semementara, apabila program dalam kondisi restart maka settingan akan kembali ke keadaan default. Biasanya method ini menggunakan system parameter used.

Monday, June 2, 2008

Read and Write File With Regularity - Visual Basic

Terkadang kita membutuhkan skema ini untuk beberapa keperluan, contohnya adalah untuk membuat sebuah file yang berisi data record/log. Saya akan memberikan contoh sederhana dari fungsi Read and Write File with regularity.

If not Scripting.FileSystemObject.FileExists(strfileaddr) then
Exit function
End If

Open strFileaddr For Random As #1 Len = Len(udtlot)
Get #1, 1, udtlot

Syntax yang pertama adalah seleksi apakah file address yang berada di “strFileAddr” – as string, jika keberadaan file tidak ada maka perintah selanjutnya yang akan di eksekusi adalah “Exit Function”, dan jika sebaliknya file yang dimaksud ada dan cocok maka perintah selanjutnya yang akan di eksekusi adalah “End if” yang berarti command untuk mengakhiri dari command “if … then”. Command selanjutnya adalah untuk membuka sebuah file dengan alamat dan nama file yang telah ditentukan, pada perintah diatas terdapat syntax “Len = Len(udtlot)” , “udtlot” adalah sebuah tabel yang akan diperlihatkan dibawah ini.

Public udtlot As LOTTBL

'Lot Data Table (220 byte)
Public Type LOTTBL
Compound As String * 8 ' 8 byte Compound Name
Batch As Integer ' 2 byte Total Batch
MaStTime As String * 5 ' 5 byte Weighing Start Time
SpMa(1 To 6) As WTBL '120 byte MATERIAL Spec
LotMa(1 To 6) As Integer ' 12 byte MATERIAL Act Data * 10
SpCo(1 To 5) As CTBL ' 25 byte CARBON & OIL Spec
LotCo(1 To 5) As Integer ' 10 byte CARBON & OIL Act Data * 10
stTime As String * 8 ' 8 byte Mixing Start Time
MixTime As Integer ' 2 byte Mixing Time (sec)
SpTemp As Integer ' 2 byte Mixing Temperatur Spec
LotTemp As Integer ' 2 byte Mixing Temperatur Act Data
SpPi As Integer ' 2 byte Mixing Total PI Spec * 10
LotPi As Integer ' 2 byte Mixing Total PI Act Data * 10
Dummy As String * 20 ' 20 byte Reserve
End Type

“udtlot” adalah sebuah tabel yang mempunyai ukuran/kapasitas, disinilah bagian yang terpenting untuk membuat sebuah syntax read and write file dengan teratur, dimana penyimpanan disimpan secara teratur dengan kapasitas yang ditentukan begitu pula dengan pengambilan data ( Reading ) yang teratur juga, contoh sederhana untuk reading file kita hanya perlu merubah command “Get” menjadi “Put”.

If not Scripting.FileSystemObject.FileExists(strfileaddr) then
Exit function
End If

Open strFileaddr For Random As #1 Len = Len(udtlot)
Put #1, 1, udtlot

Sesuatu yang lebih dari skema ini adalah kita dapat write file secara continues, bisa di isi dengan ratusan bahkan ribuan Data Tabel, tapi tentunya harus disesuaikan dengan kebutuhan karena semakin banyak isi sebuah file semakin lama system reading file tersebut.