когда вы пробуете написать это для другого модуля, скажите АДАМА-6017, и поэтому вы должны использовать "Adam6017.class"
и "Adam6017.jar" вместо "Adam6060.class" и "Adam6060.jar."
Некоторые Инструкции При Написании Апплета Явы для Серий ADAM-6000 I/O
Чтобы предоставить возможность вашему апплету java общаться с модулями ADAM-6000 I/O, вам придется включать следующий код в самое начало вашей программы:
импортируйте Adam.ModBus.*;
В конструкторе это предложено, чтобы добавить следующий фрагмент в вашего обработчика особой ситуации:
Попытка {
HostIP = getParameter("HostIP");
Adam6060Connection = новый ModBus(HostIP);
если (HostIP == "")
labAdamStatusForDIO.setText("Получите Родной IP недействителен !!");
кроме
labAdamStatusForDIO.setText("Получите Родной IP :" +
Adam6060Connection.GetHostIP() + " Ver 1.00");
………………
}
Фрагмент используется, чтобы получить родное значение IP и чек, если это недействительно. Чтобы приобрести необходимое информация параметра от index.html, вам нужно добавить фрагмент ниже.
Относительно событий мыши/клавиатуры и графического интерфейса пользователя, они есть после контекста нашего обсуждения здесь и мы оставим их потребителям.
После того, как вы закончите вашу программу и компиляцию, это должно генерировать пары классов, напр. ADAM6060.class,
ADAM6060$1.класс, ADAM6060$2, и myFramPanel.class в нашем примере. Затем, следуйте за стандартом путь, чтобы объединить генерируемые классы с ModBus.class, которые должны быть размещены в пути директория
"Adam/ModBus/" в файл банки. В данном случае, имя для файла должно быть ADAM6060.jar. Рисунок ниже показывает структуру, чтобы сделать файл банки.
Figure 5-28 The structure of ADAM6060.jar file
Start your ADAM utility, and open the tab “Firmware/Web” as shown below. Then, tell the utility where the
path is for the JAR and HTML files. In this case, they are ADAM-6060.jar and index.html. Push
button, and a confirmation window pops up. After you confirm, it will start processing.
public String[][] getParameterInfo() {
String[][] pinfo =
{
{"HostIP", "String", ""},
};
return pinfo;
}
Figure 5-29 Firmware Upgrade for ADAM-6000 I/O Series Modules
Appendix A
Source Code of Java Applet Example
import Adam.ModBus.*;
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.io.*;
import java.lang.*;
public class Adam6060 extends Applet {
boolean isStandalone = false;
String var0;
Thread AdamPoilThread;
String HostIP;
long ErrCnt = 0;
boolean IsAdamRuning = false;
ModBus Adam6060Connection;
Label Label1 = new Label();
myFramPanel palStatus = new myFramPanel(2);
myFramPanel pal1 = new myFramPanel(3);
myFramPanel pal2 = new myFramPanel(3);
myFramPanel palAdamStatus = new myFramPanel(1);
Label labStartAddress = new Label("Start Address:");
TextField txtStartAddress = new TextField("1");
Label labCount = new Label("No. of coils to read(Max 128):");
TextField txtCount = new TextField("1");
Button btAdam6060 = new Button("Read Coils");
TextArea txtMsg = new TextArea("", 1, 10, 1);
Label labAdamStatusForDIO = new Label("Status : ");
/**Get a parameter value*/
public String getParameter(String key, String def) {
return isStandalone ? System.getProperty(key, def) :
(getParameter(key) != null ? getParameter(key) : def);
}
/**Constructor*/
public Adam6060() {
}
/**Applet Initialization*/
public void init() {
try {
HostIP = getParameter("HostIP");
Adam6060Connection = new ModBus(HostIP); //create ADAM-6060
module object
if (HostIP == "") //check the Host IP
labAdamStatusForDIO.setText("Get Host IP is null !!");
else
labAdamStatusForDIO.setText("Get Host IP :" +
Adam6060Connection.GetHostIP() + " Ver 1.00");
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
/**Component initialization and displayed screen*/
private void jbInit() throws Exception {
this.setLayout(null);
palStatus.setBackground(Color.lightGray);
palAdamStatus.setBackground(Color.lightGray);
palStatus.setBounds(new Rectangle(42, 50, 409, 15 *2 + 0 * 2 + 77 +
152 + 33 ));
pal1.setBounds(new Rectangle(12, 15 , 385, 77));
pal2.setBounds(new Rectangle(12, 15 + 77 + 0 , 385, 152));
palAdamStatus.setBounds(new Rectangle(12, 15 + 77 + 0 * 2 + 152, 385,
33));
palStatus.setLayout(null);
pal1.setLayout(null);
pal1.add(labStartAddress, null);
pal1.add(txtStartAddress, null);
pal1.add(labCount, null);
pal1.add(txtCount, null);
pal1.add(btAdam6060, null);
labStartAddress.setBounds(new Rectangle(20, 15, 85, 20));
txtStartAddress.setBounds(new Rectangle(205, 15, 60, 20));
labCount.setBounds(new Rectangle(20, 40, 180, 20));
txtCount.setBounds(new Rectangle(205, 40, 60, 20));
btAdam6060.setBounds(new Rectangle(275, 40, 80, 22));
btAdam6060.addMouseListener(new java.awt.event.MouseAdapter() {
public void mousePressed(MouseEvent e) { //mouse event handling
int i, j;
long lAddress, lCount;
byte ModBusRTU[] = new byte[128];
if
(Adam6060Connection.ReadCoil((int)Long.parseLong(txtStartAddress.getT
ext()), (int)Long.parseLong(txtCount.getText()), ModBusRTU))
{
lAddress = Long.parseLong(txtStartAddress.getText());
for( i = 0; i < Long.parseLong(txtCount.getText()); i++)
{
txtMsg.append("Address:" + String.valueOf(lAddress) +
" -> " + String.valueOf((int)ModBusRTU[i]) + "\n");
lAddress++;
}
}
else
{
try
{
Adam6060Connection = new ModBus(HostIP);
}
catch(Exception eNet) { eNet.printStackTrace(); }
}
}
});
palAdamStatus.setLayout(null);
pal2.setLayout(null);
pal2.add(txtMsg, null);
txtMsg.setBounds(new Rectangle(15, 15, 355, 120));
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.