Jika anda pernah berdiri di hadapan panel kawalan besar-besaran di sebuah kilang, menekan skrin sentuh yang bercahaya untuk melaraskan kelajuan penghantar atau memeriksa suhu pam, anda telah menggunakan HMI Industri (Antara Muka Manusia-Mesin) — itulah perkara yang menterjemahkan data jentera kompleks kilang kepada sesuatu yang kita manusia boleh fahami dan bertindak. Sebagai pembekal peranti ini, saya sering ditanya: "Apakah bahasa pengaturcaraan sebenarnya yang menjadikan HMI ini berfungsi?" Ia bukan satu jawapan yang sesuai untuk semua, dan memilih bahasa yang betul adalah baik untuk sama ada HMI berjalan dengan pasti, menyesuaikan dengan keperluan kilang, atau memastikan pekerja selamat. Mari kita pecahkan perkara yang sebenarnya digunakan dalam tetapan industri sebenar, bukan hanya bahan buku teks.
Pertama, mari kita jelaskan: HMI perindustrian adalah jauh berbeza daripada telefon pintar atau komputer riba HMI yang kebanyakan kita gunakan setiap hari. Yang kami bina perlu bekerja 24/7, di kilang berdebu, panas, bergetar, tanpa terhempas. Mereka bercakap dengan PLC (Pengawal Logik Boleh Diprogramkan), penderia, motor, dan semua jenis peralatan warisan yang telah wujud selama beberapa dekad. Jadi bahasa pengaturcaraan di sini bukanlah bahasa baharu yang bergaya yang anda lihat untuk pembangunan apl — bahasa tersebut telah diuji, stabil dan dioptimumkan untuk permintaan khusus automasi industri.


Mari kita mulakan dengan yang paling biasa anda akan dengar tentang: Logik Tangga, kadangkala dipanggil Rajah Tangga atau LAD. Ini bukan bahasa berasaskan teks, dengan cara — ia adalah grafik, direka bentuk untuk kelihatan seperti yang telah digunakan oleh juruelektrik skema elektrik selama 100 tahun. Jika anda tahu cara membaca rajah pendawaian sekolah lama, Logik Tangga sangat masuk akal: ia mempunyai "anak tangga" tempat anda meletakkan kenalan (seperti pencetus sensor atau menekan butang) dan gegelung (seperti menghidupkan atau mematikan motor). Selama beberapa dekad, ini adalah satu-satunya cara untuk memprogramkan HMI dan PLC industri, dan ia masih ada di mana-mana sekarang.
Mengapa Logik Tangga melekat? Pekerja kilang dan jurutera yang telah berada di atas lantai selama 20+ tahun mengetahuinya dari dalam dan luar. Jika pekerja talian perlu menyelesaikan masalah mesin pada jam 2 pagi, mereka boleh melihat pandangan Logik Tangga HMI dan melihat suis tersandung lebih cepat daripada mereka boleh menghuraikan baris Python. Ia juga sangat boleh dipercayai — pengkompil mewah tidak diperlukan, ia berjalan secara asli pada kebanyakan PLC dan HMI tanpa ketinggalan tambahan. Walau bagaimanapun, ia tidak bagus untuk tugasan yang kompleks dan berat data. Jika anda cuba membina papan pemuka yang menjejaki 10,000 titik data di seluruh kilang, Logik Tangga boleh menjadi kikuk dan sukar untuk skala. Di situlah bahasa lain masuk.
Seterusnya: Teks Berstruktur (ST), iaitu bahasa berasaskan teks yang kelihatan seperti BASIC atau C. Anggaplah ia sebagai peningkatan Logik Tangga untuk keperluan moden. Anda boleh menulis gelung, pernyataan jika/kemudian, pembolehubah, dan juga fungsi matematik asas dalam ST, yang menjadikannya sesuai untuk tugasan yang terlalu kompleks untuk Logik Tangga tetapi tidak memerlukan bahasa pengaturcaraan penuh. Sebagai contoh, jika anda mahu HMI Perindustrian anda mengira suhu purata 50 pemanas selama 10 minit dan menghantar amaran jika terlalu tinggi, anda boleh menulisnya dalam ST dalam beberapa baris, bukannya melukis 20 anak tangga dalam Logik Tangga. Kebanyakan perisian HMI moden menyokong ST, jadi ia menjadi pilihan untuk mengimbangi kebiasaan dan kefungsian. Ramai jurutera automasi yang lebih baharu mempelajari ST terlebih dahulu sekarang, kerana ia lebih mudah diambil daripada Logik Tangga jika anda mengetahui pengekodan asas.
Kemudian terdapat C/C++, yang mungkin mengejutkan anda — tetapi ia sebenarnya sangat biasa untuk pembangunan HMI perindustrian tersuai, terutamanya untuk peranti yang lebih kecil dan khusus. Tunggu, kenapa tidak gunakan Ladder atau ST sahaja? C/C++ memberi anda lebih banyak kawalan ke atas perkakasan, yang merupakan kunci untuk HMI yang perlu melakukan perkara seperti memproses data penderia berkelajuan tinggi, bekerja dengan antara muka berat grafik atau berkomunikasi dengan protokol industri khusus yang tidak disokong oleh bahasa generik. Sebagai contoh, jika anda sedang membina HMI untuk talian peranti perubatan tersuai yang perlu disegerakkan dengan data pemotong laser tertentu, C/C++ membolehkan anda mengubah suai setiap bahagian antara muka untuk berfungsi dengan tepat seperti yang anda perlukan, tanpa overhed bahasa peringkat tinggi. Kelemahannya? Anda memerlukan pembangun yang mahir untuk menulis dan mengekalkan kod C/C++, dan ia lebih terdedah kepada pepijat jika anda tidak berhati-hati — tidak sesuai untuk talian kilang 24/7 di mana ranap sistem boleh menelan belanja ribuan dalam masa henti.
Python mula muncul lebih banyak dalam HMI perindustrian, kebanyakannya untuk kilang bersaiz sederhana yang ingin menambah fleksibiliti tanpa melabur dalam projek C/C++ yang besar. Banyak perisian HMI kini membolehkan anda membenamkan skrip Python untuk melakukan perkara seperti menarik data daripada alat analitik berasaskan awan, menghantar makluman tersuai melalui Slack atau e-mel, atau menjalankan model pembelajaran mesin asas untuk meramalkan bila sesuatu bahagian mungkin gagal. Contohnya, jika anda mempunyai kedai pembuatan kecil dengan [HMI 7 Inch] — sesuai untuk ruang sempit di meja kerja — anda boleh menggunakan Python untuk menyambungkan HMI itu kepada alat analitis percuma yang menjejaki kekerapan mesin digunakan, supaya anda boleh menjadualkan penyelenggaraan sebelum ia rosak. Tangkapan di sini ialah Python ditafsirkan, yang bermaksud ia agak perlahan daripada bahasa yang disusun seperti C, jadi ia tidak bagus untuk tugas masa nyata yang perlu bertindak balas dalam milisaat. Tetapi untuk tugasan yang tidak kritikal dan tertumpu kepada data, ia adalah pengubah permainan yang membolehkan kilang menyesuaikan HMI mereka tanpa merugikan wang.
Satu bahasa yang anda mungkin tidak begitu banyak mendengarnya, tetapi itu masih digunakan dalam banyak HMI warisan, adalah BASIC. HMI proprietari lama daripada jenama yang telah wujud selama 40+ tahun sering menggunakan BASIC untuk skrip tersuai. Satu-satunya masalah ialah kebanyakan sistem ini sudah lapuk, sukar untuk mencari alat gantinya, dan tidak bermain bagus dengan peralatan moden, jadi kami hampir selalu mengesyorkan anda menaik taraf kepada HMI yang lebih baharu yang menyokong ST, Python atau C. Contohnya, jika kilang masih menjalankan HMI lama yang menggunakan BASIC, kemungkinan besar mengalami masalah keserasian apabila menambah penderia baharu, dan jika ia tidak tahu bagaimana untuk membetulkannya.
Sekarang, mari kita bincangkan tentang cara kita memilih bahasa yang hendak digunakan semasa membina HMI kita, seperti talian [HMI Industri] kita. Pertama, kami bertanya kepada pelanggan apa yang sebenarnya mereka perlukan: Adakah mereka sebuah bengkel kecil dengan beberapa mesin yang hanya memerlukan kawalan hidup/mati asas dan bacaan suhu? Kemudian [HMI 7 Inch] dengan Logik Tangga atau ST adalah sempurna — ringkas, boleh dipercayai dan mudah untuk digunakan oleh pasukan dalaman mereka. Jika mereka sebuah kilang alat ganti kereta yang besar dengan barisan pemasangan keseluruhan yang perlu menjejaki ratusan titik data dan menyegerakkan dengan analitik awan? Kami mungkin akan membina HMI yang menyokong Logik Tangga untuk kawalan mesin teras dan Python untuk skrip data tersuai. Untuk pelanggan membina barisan baharu sepenuhnya dengan peralatan unik, kami boleh menulis kod C/C++ tersuai untuk memastikan HMI berkomunikasi dengan tepat cara mereka memerlukannya.
Ramai orang automasi baharu mungkin bertanya: Mengapa tidak menggunakan JavaScript sahaja? Ia sangat popular untuk apl web, bukan? Sebenarnya, JavaScript jarang digunakan untuk HMI industri, kerana ia tidak dioptimumkan untuk persekitaran yang keras dan keperluan masa nyata yang diperlukan oleh HMI. HMI berasaskan web mula menjadi sesuatu — sesetengah kilang menggunakannya untuk membenarkan jurutera menyemak mesin daripada telefon mereka — tetapi untuk bahagian kawalan sebenar, anda masih memerlukan bahasa ibunda seperti Ladder atau ST. HMI Web bagus untuk pemantauan jauh, tetapi bukan untuk tugas teras yang memastikan talian berjalan 24/7.
Perkara lain yang perlu diingat: Kebanyakan sistem HMI perindustrian tidak menggunakan hanya satu bahasa. Mereka menggabungkan mereka untuk mendapatkan yang terbaik daripada setiap satu. Sebagai contoh, anda mungkin mempunyai Logik Tangga yang mengendalikan kawalan motor asas (sesuatu yang sangat bagus), ST untuk mengira kiraan pengeluaran dan Python untuk menghantar data ke papan pemuka awan. Pendekatan "terbaik dari kedua-dua" inilah sebabnya HMI moden sangat fleksibel — mereka boleh berfungsi dengan peralatan lama dan alatan tersuai baharu pada masa yang sama.
Sebagai pembekal HMI, saya telah melihat sendiri bagaimana memilih bahasa yang salah boleh menyebabkan masalah besar. Beberapa tahun lalu, kami mempunyai pelanggan yang cuba menggunakan apl telefon pintar generik untuk mengawal barisan pembungkusan mereka, menggunakan HMI berasaskan web yang dibina pada JavaScript. Ia ranap setiap kali talian sibuk, kerana JavaScript tidak dapat mengendalikan aliran data masa nyata. Mereka terpaksa bertukar kepada HMI tersuai dengan Logik Tangga untuk kawalan teras, dan ia mengurangkan masa henti mereka sebanyak 90%. Pelanggan lain, sebuah kilang bir kraf kecil, ingin menjejaki suhu penapaian dan menghantar amaran teks apabila satu kumpulan telah selesai — kami menggunakan [HMI 10 Inch] dengan skrip Python, supaya mereka boleh menarik data daripada penderia suhu mereka dan menghantar teks tanpa perlu mengupah pembangun yang berasingan.
Jadi apa yang boleh dibawa pulang di sini? Tiada bahasa pengaturcaraan "terbaik" untuk HMI Perindustrian — semuanya bergantung pada saiz kilang anda, peralatan anda, tugas yang perlu dilakukan oleh HMI dan kepakaran pasukan anda. Jika anda seorang juruteknik berpengalaman yang telah bekerja dengan gambar rajah pendawaian selama bertahun-tahun, Logik Tangga mungkin pilihan anda. Jika anda perlu menambah ciri data tersuai tanpa merugikan wang, Python ialah pilihan yang bagus. Untuk projek tersuai yang kompleks, C/C++ memberi anda kawalan yang anda perlukan.
Pada penghujung hari, matlamat HMI bukan hanya untuk mempunyai skrin sentuh yang mewah — ia untuk menjadikan kerja industri lebih selamat, cekap dan lebih mudah digunakan oleh orang ramai. Itulah sebabnya kami membina HMI kami untuk menyokong berbilang bahasa pengaturcaraan, jadi tidak kira apa keperluan anda, kami boleh mencari penyelesaian yang sesuai untuk anda.
Jika anda ingin menaik taraf HMI kilang anda atau membina sistem baharu yang disesuaikan dengan operasi anda, kami berbesar hati untuk membimbing anda melalui pilihan anda dan membantu anda memilih alatan yang sesuai untuk pasukan dan barisan anda.
Rujukan
- Persatuan Automasi Antarabangsa (ISA). (2021). IEC 61131-3: Bahasa Pengaturcaraan untuk Automasi Industri.
- Automasi Rockwell. (2023). Panduan Produk HMI Perindustrian.
- Python untuk Kes Penggunaan Automasi Industri. (2022). Majalah Dunia Automasi.
- Logik Tangga lwn Teks Berstruktur: Perbandingan Praktikal untuk Pasukan Lantai Kilang. (2023). Kejuruteraan Kawalan.
