Система распределенного ввода/вывода ADAM-6000, страница 9

Label1.setFont(new java.awt.Font("DialogInput", 3, 26));

Label1.setForeground(Color.blue);

Label1.setText("ADAM-6060 DIO Module");

Label1.setBounds(new Rectangle(83, 17, 326, 29));

this.add(Label1, null);

this.add(palStatus, null);

palStatus.add(pal1, null);

palStatus.add(pal2, null);

palStatus.add(palAdamStatus, null);

labAdamStatusForDIO.setBounds(new Rectangle(10, 8, 350, 12));

palAdamStatus.add(labAdamStatusForDIO, null);

}

/**Applet Information Acquisition*/

public String getAppletInfo() {

return "Applet Information";

}

/**Get parameter info*/

public String[][] getParameterInfo() {

String[][] pinfo =

{

{"HostIP", "String", ""},

};

return pinfo;

}

/**Main method: for the purpose of laying out the screen in local PC*/

public static void main(String[] args) {

Adam6060 applet = new Adam6060();

applet.isStandalone = true;

Frame frame;

frame = new Frame() {

protected void processWindowEvent(WindowEvent e) {

super.processWindowEvent(e);

if (e.getID() == WindowEvent.WINDOW_CLOSING) {

System.exit(0);

}

}

public synchronized void setTitle(String title) {

super.setTitle(title);

enableEvents(AWTEvent.WINDOW_EVENT_MASK);

}

};

frame.setTitle("Applet Frame");

frame.add(applet, BorderLayout.CENTER);

applet.init();

applet.start();

frame.setSize(500,620);

Dimension d = Toolkit.getDefaultToolkit().getScreenSize();

frame.setLocation((d.width - frame.getSize().width) / 2, (d.height

- frame.getSize().height) / 2);

frame.setVisible(true);

}

}

/**Displayed Screen*/

class myFramPanel extends Panel

{

int panelType;

Label labMassage = new Label("");

public myFramPanel() {

//super();

}

public myFramPanel(int myType) {

//super();

panelType = myType;

}

public myFramPanel(int myType, String Msg, int msgTextLength) {

//super();

panelType = myType;

if (Msg != "") {

labMassage.setText(Msg);

this.setLayout(null);

labMassage.setBounds(new Rectangle(20, 3, msgTextLength,

15));

this.add(labMassage);

}

}

public void paint(Graphics g) {

Dimension size = getSize();

if (panelType == 1) {

int off;

off = 4;

g.setColor(Color.white);

g.drawRect(0, 0, size.width - 1, size.height - 1);

g.setColor(Color.darkGray);

g.drawLine(size.width - 1, 0, size.width - 1, size.height 1);

g.drawLine(0, size.height - 1, size.width - 1, size.height

- 1);g.setColor(Color.black);

g.setColor(Color.black);

g.drawRect(off, off, size.width - 2 - off * 2, size.height

- 2 - off * 2);

}

else if (panelType == 2) {

g.setColor(Color.white);

g.drawRect(0, 0, size.width - 1, size.height - 1);

g.drawLine(size.width - 4, 2, size.width - 4, size.height 4);

g.drawLine(2, size.height - 4, size.width - 4, size.height

- 4);

g.setColor(Color.darkGray);

g.drawLine(2, 2, size.width - 4, 2);

g.drawLine(2, 2, 2, size.height - 4);

g.drawLine(size.width - 1, 0, size.width - 1, size.height 1);

g.drawLine(0, size.height - 1, size.width - 1, size.height

- 1);g.setColor(Color.black);

}

else if (panelType == 3) {

int off;

off = 4;

g.setColor(Color.white);

g.drawRect(0, 0, size.width - 1, size.height - 1);

g.setColor(Color.darkGray);

g.drawLine(size.width - 1, 0, size.width - 1, size.height 1);

g.drawLine(0, size.height - 1, size.width - 1, size.height

- 1);

g.setColor(Color.black);

g.drawRect(off, off + 5, size.width - 2 - off * 2, size.height

- 2 - off * 2 -5 );

}

else {

g.setColor(Color.darkGray);

g.drawRect(0, 0, size.width - 1, size.height - 1);

}

}

};

Snapshot of the Running Applet

Глава 6

Планирование Вашей Прикладной Программы

Использование этой Главы

Если вы хотите прочитать об Идут нумеровать страницы

DLL Водитель 6-2

Командная Структура 6-23

Введение Кода Функции Modbus 6-24

Примените с ASCII Командой 6-29

- Набор Системной Команды 6-35

- Аналоговый Набор Входной Команды 6-39

- Аналоговый Входной Сигнальный Командный Набор 6-56

- Цифровой Набор Команды I/O 6-66

6-1 Введений

После завершения конфигурации системы, вы можете начать планировать прикладную программу. Эта глава вводит два программирование инструментов для потребителей, чтобы выполнять приобретение системных данных и контроль. DLL

водители и командные наборы обеспечивают дружеский интерфейс между вашими приложениями и АДАМОМ-6000 I/O

модули.

6-2 Водителя DLL (Динамически Загружаемая Библиотека)

Динамически Загружаемая Библиотека (DLL) разрешает вам, чтобы быстро и легко написать приложения Windows

Модули ADAM-6000. Библиотека поддерживает Borland C, Delphi, Visual C++, и Visual Basic. Так как

Модули ADAM-6000 общаются с главным компьютером через Ethernet, никакому дополнительному водителю нужно будьте установлены. DLL включает все необходимые обращения к функции, чтобы использовать модули ADAM-6000 к ним самая полная протяженность.

В таком же пути с "АДАМОМ Ethernet I/O", вы найдете реляционные файлы примера для каждого вида языки программирования после установки Windows Сервисная программа. Вы можете настроить исходный код создайте свою собственную сделанную по заказу программу установки ADAM-6000 или систему мониторинга.

6-2-1 Индексов

Есть восемь библиотек функции, общих используемый списком ADAM-6000 и ADAM-5000/TCP как указано ниже:

ADAMTCP_Connect

ADAMTCP_Disconnection

ADAMTCP_GetDLLVersion

ADAMTCP_ReadReg

ADAMTCP_WriteReg

ADAMTCP_ReadCoil

ADAMTCP_WriteCoil

ADAMTCP_SendReceive5KTCPCmd

In addition, Advantech offers more function libraries especially for various ADAM-6000 applications.

ADAMTCP_SendReceive6KTCPCmd

ADAMTCP_Read6KDIO

ADAMTCP_Write6KDO

ADAMTCP_Read6KAI

ADAMTCP_Read6KDIOMode

ADAMTCP_Write6KDIOMode

ADAMTCP_Read6KSignalWidth

ADAMTCP_Write6KsignalWidth

ADAMTCP_Read6KCounter

ADAMTCP_Clear6KCounter

ADAMTCP_Start6KCounter

ADAMTCP_Stop6KCounter

ADAMTCP_Clear6KDILatch