onbon.bx06
Class Bx6GController

java.lang.Object
  extended by onbon.bx06.Bx6GController
Direct Known Subclasses:
Bx6GControllerClient, Bx6GControllerRS, Bx6GControllerServer

public abstract class Bx6GController
extends Object

BX6G 六代系列控制器。

Author:
ONBON

Nested Class Summary
static class Bx6GController.RunMode
          运行模式。
 
Field Summary
protected  Bx6Card bx6Card
           
protected  onbon.bx06.message.Bx06MessageHeader header
           
protected  onbon.bx06.message.led.ReturnPingStatus pingStatus
           
protected  Bx6GScreenProfile screenProfile
           
protected  onbon.bx06.db.xml.Bx06SeriesType series
           
static int TIMEOUT
           
 
Constructor Summary
Bx6GController(Bx6Card bx6Card)
          建构子。
 
Method Summary
 BxFileReader<Bx6GController> createFileReader()
          建立该控制器档案阅读程式。
<C> BxFileReader<C>
createFileReader(C owner)
          建立该控制器档案阅读程式。
 BxFileWriter<Bx6GController> createFileWriter()
          建立该控制器档案写入程式。
<C> BxFileWriter<C>
createFileWriter(C owner)
          建立该控制器档案写入程式。
abstract  void disconnect()
          中断连线。
<T extends onbon.bx06.message.Response>
Bx6GResponseCmd<T>
execute(Bx6GRequestCmd<T> cmd)
          执行命令。
<T extends onbon.bx06.message.Response>
Bx6GResponseCmd<T>
execute(Bx6GRequestCmd<T> cmd, boolean configureFirst)
          执行命令。
protected  String genTxId(onbon.bx06.message.Bx06MessageHeader header)
          产生交易编号。
 byte[] getControllerAddress()
          取得控制器位址。
 onbon.bx06.message.Bx06MessageHeader getHeader()
          取得讯息表头。
abstract  String getName()
          取得名称。
 int getOutputBuffer()
          取得输出缓存大小。
abstract  Bx6GController.RunMode getRunMode()
          取得运行模式。
 Bx6GScreenProfile getScreenProfile()
          取得屏幕规格。
 onbon.bx06.db.xml.Bx06SeriesType getSeries()
          取得控制器系列资讯。
 boolean isConfigured()
          检查是否已加载屏参。
abstract  boolean isConnected()
          取得是否连线。
 Bx6GResponseCmd<onbon.bx06.message.led.ReturnPingStatus> ping()
          检测网路。
abstract  byte[] send(onbon.bx06.message.Bx06MessageHeader header, onbon.bx06.message.Request req, String uiaID)
          执行命令。
abstract  byte[] send(onbon.bx06.message.Request req, String uiaID)
          执行命令。
 void setControllerAddress(byte[] addr)
          设定控制器位址,此位址用於標示控制器,不等同於 TCP 位址(xxx.xxx.xxx.xxx)。
 String toString()
           
protected  void updatePingStatus(onbon.bx06.message.led.ReturnPingStatus pingStatus)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

TIMEOUT

public static int TIMEOUT

bx6Card

protected final Bx6Card bx6Card

series

protected onbon.bx06.db.xml.Bx06SeriesType series

screenProfile

protected Bx6GScreenProfile screenProfile

header

protected onbon.bx06.message.Bx06MessageHeader header

pingStatus

protected onbon.bx06.message.led.ReturnPingStatus pingStatus
Constructor Detail

Bx6GController

public Bx6GController(Bx6Card bx6Card)
建构子。

Parameters:
bx6Card - BX6 系列。
Method Detail

isConfigured

public boolean isConfigured()
检查是否已加载屏参。

Returns:
是否已加载屏参。

getRunMode

public abstract Bx6GController.RunMode getRunMode()
取得运行模式。

Returns:
运行模式。

isConnected

public abstract boolean isConnected()
取得是否连线。

Returns:
是否连线。

disconnect

public abstract void disconnect()
中断连线。


getSeries

public onbon.bx06.db.xml.Bx06SeriesType getSeries()
取得控制器系列资讯。

Returns:
控制器系列资讯。

getControllerAddress

public byte[] getControllerAddress()
取得控制器位址。

Returns:
控制器位址。

setControllerAddress

public void setControllerAddress(byte[] addr)
设定控制器位址,此位址用於標示控制器,不等同於 TCP 位址(xxx.xxx.xxx.xxx)。

Parameters:
addr - 控制器位址,2 bytes。

getHeader

public onbon.bx06.message.Bx06MessageHeader getHeader()
取得讯息表头。

Returns:
讯息表头。

createFileReader

public BxFileReader<Bx6GController> createFileReader()
建立该控制器档案阅读程式。

Returns:
档案阅读程式。

createFileReader

public <C> BxFileReader<C> createFileReader(C owner)
建立该控制器档案阅读程式。

Type Parameters:
C - 驱动。
Parameters:
owner - 驱动。
Returns:
档案阅读程式。

createFileWriter

public BxFileWriter<Bx6GController> createFileWriter()
建立该控制器档案写入程式。

Returns:
档案写入程式。

createFileWriter

public <C> BxFileWriter<C> createFileWriter(C owner)
建立该控制器档案写入程式。

Type Parameters:
C - 驱动。
Parameters:
owner - 驱动。
Returns:
档案写入程式。

getScreenProfile

public Bx6GScreenProfile getScreenProfile()
取得屏幕规格。

Returns:
屏幕规格。

getName

public abstract String getName()
取得名称。

Returns:
名称。

execute

public <T extends onbon.bx06.message.Response> Bx6GResponseCmd<T> execute(Bx6GRequestCmd<T> cmd)
执行命令。

Type Parameters:
T - 回应讯息。
Parameters:
cmd - 命令。
Returns:
执行结果。
Throws:
Exception - 写入异常。

execute

public <T extends onbon.bx06.message.Response> Bx6GResponseCmd<T> execute(Bx6GRequestCmd<T> cmd,
                                                                          boolean configureFirst)
执行命令。

Type Parameters:
T - 回应讯息。
Parameters:
cmd - 命令。
configureFirst - 是否需先加载屏参。
Returns:
执行结果。
Throws:
Exception - 写入异常。

send

public abstract byte[] send(onbon.bx06.message.Bx06MessageHeader header,
                            onbon.bx06.message.Request req,
                            String uiaID)
执行命令。

Parameters:
header - 讯息表头。
req - 命令。
uiaID - 命令编号。
Returns:
执行结果。

send

public abstract byte[] send(onbon.bx06.message.Request req,
                            String uiaID)
执行命令。

Parameters:
req - 命令。
uiaID - 命令编号。
Returns:
执行结果。

ping

public Bx6GResponseCmd<onbon.bx06.message.led.ReturnPingStatus> ping()
检测网路。

Returns:
检测结果。
Throws:
Bx6GException

getOutputBuffer

public int getOutputBuffer()
取得输出缓存大小。

Returns:
输出缓存大小。

toString

public String toString()
Overrides:
toString in class Object

genTxId

protected String genTxId(onbon.bx06.message.Bx06MessageHeader header)
产生交易编号。

Parameters:
header - 讯息表头。
Returns:
交易编号。

updatePingStatus

protected void updatePingStatus(onbon.bx06.message.led.ReturnPingStatus pingStatus)


Copyright © 2020 onbon. All rights reserved.