Teknologi Industri
Dengan Java 9, alat baru bernama jlink diperkenalkan. Ini menggabungkan modul dan membangun gambar runtime all-in. Di satu sisi, seluruh 32 bit ARM JDK dapat dijalankan pada Kontrol PLCnext. Tapi dengan jlink dan modul dimungkinkan untuk mengurangi sumber daya yang dibutuhkan untuk aplikasi Java Anda. Ini membuat bundel hanya dengan bagian-bagian penting dari JDK yang diperlukan untuk aplikasi Anda.
Binari OpenJDK untuk banyak platform dapat ditemukan mis. pada AdoptOpenJDK. Untuk tutorial ini, kami memilih Linux arm32 jdk-12.0.2+10 untuk pengontrol dan liontinnya untuk sistem host Windows x64. Kami menggunakan lokasi JDK berikut:
C:
---Java
|
+---jdk-12.0.2
| ...
|
---jdk-12-ARM-32bit
...
Dalam contoh ini kami hanya mencetak Hello World di konsol. Untuk menggunakan jlink kita harus memasukkan aplikasi kecil ini ke dalam sebuah modul. Titik awal saya di terminal adalah folder bernama “HelloWorld” dan folder src dengan struktur berikut.
HelloWorld
---src
---de.plcnext.hello
| module-info.java
|
---de
---plcnext
---hello
HelloWorld.java
Ini adalah contoh kode kecil kami di file HelloWorld.java:
package de.plcnext.hello;
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello PLCnext world!");
}
}
Dan module-info.java diperlukan untuk membuat modul:
module de.pxc.hello { }
Setelah membuat folder sumber, kami mengkompilasi proyek kami. Untuk ini kita menggunakan perintah berikut di terminal.
C:Javajdk-12.0.2binjavac.exe -d .modulesde.plcnext.hello .srcde.plcnext.hellodeplcnexthelloHelloWorld.java .srcde.plcnext.hellomodule-info.java
Folder modul dan kelas java dibuat:
HelloWorld
---modules
---de.plcnext.hello
| module-info.class
|
---de
---plcnext
---hello
HelloWorld.class
Untuk menguji modul kita pada sistem host, kita dapat menjalankannya dengan perintah berikut:
C:Javajdk-12.0.2binjava.exe --module-path .modules -m de.plcnext.hello/de.plcnext.hello.HelloWorld
Ini akan menampilkan Hello PLCnext world!
.
Sekarang kami ingin memasukkan ini ke perangkat kami tanpa seluruh JDK 300MB. Untuk ini kami menggunakan jlink tanpa parameter tambahan pada langkah pertama. Tetapi pada awalnya kami membutuhkan satu informasi lagi, modul tambahan mana yang diperlukan. Ini akan kami temukan dengan menganalisis modul kami dengan jdeps.
C:Javajdk-12.0.2binjdeps.exe --module-path ".modules" --add-modules "de.plcnext.hello"
Ini memberitahu kita, kita membutuhkan java.base
tambahan untuk modul kami. Sebagai module-path
kami memilih jalur ke aplikasi kami dan jalur ke jmod dari platform target kami JDK. Dalam hal ini C:Javajdk-12-ARM-32bitjmods
.
Sekarang panggilan jlink kami terlihat seperti ini:
C:Javajdk-12.0.2binjlink.exe --module-path ".modules;C:Javajdk-12-ARM-32bitjmods" --add-modules "de.plcnext.hello,java.base" --output HelloWorldjre
Hasilnya adalah HelloWorldjre
folder dengan hanya sekitar 45MB. Kami menyalin ini ke pengontrol kami. Dalam hal contoh ini ke /opt/plcnext/projects/java/
. Kita perlu membuat file "java" di folder biner HelloWorldjre dapat dieksekusi melalui chmod +x java
dan mulai modul kami
./java -m de.plcnext.hello/de.plcnext.hello.HelloWorld
Itu harus menjalankan aplikasi dan output seperti sebelumnya Hello PLCnext world!
. Dengan menggunakan beberapa parameter tambahan jlink, Anda dapat menghapus paket lebih banyak lagi (dalam contoh ini hingga 28MB) dengan menggunakan --strip-debug
, --no-header-files
, --no-man-pages
dan --compress=2
. Di mana kompresi paling aman tetapi pada akhirnya dapat membahayakan kinerja.
Teknologi Industri
Ini adalah pembaruan untuk artikel yang awalnya diterbitkan pada November 2018. Semua Kontrol PLCnext menyertakan server UA OPC tertanam. Server ini, seperti semua server OPC UA, menyertakan opsi untuk membuat koneksi aman dengan klien menggunakan Kriptografi Kunci Publik. Panduan ini menjelaskan
Sekarang semua orang telah mendengar tentang Machine Learning dan bagaimana hal itu akan mengubah segalanya. Tetapi sangat sedikit yang memiliki ide bagaimana memulai untuk mengubah segalanya. Saya harap ketika Anda mencoba langkah-langkah di blog ini, atau bahkan membacanya, akan membantu Anda mema
Latar Belakang Teknis Kafka Apache Kafka adalah kerangka kerja untuk penyerapan data, penyimpanan, pemrosesan, dan redistribusi. Saat ini, ini banyak digunakan di perusahaan-perusahaan di seluruh dunia. Situs web resmi Kafka menawarkan lebih banyak informasi tentang idenya dan cara menerapkannya. S
easymon aplikasi fungsi PLCnext menghilangkan kerumitan pengaturan pemantauan jarak jauh dari kendali Anda. Alih-alih mengonfigurasi semua seluk beluk layanan IoT berbasis cloud, Anda hanya perlu memilih variabel proyek PLCnext yang ingin Anda pantau di perangkat seluler dan menyetel ambang batas n