org.openmuc.openiec61850
public final class ClientAssociation extends java.lang.Object
ClientAssociation
is
obtained using ClientSap
. An association object can be used to execute the IEC 61850 ACSI services. Note
that not all ACSI services have a corresponding function in this API. For example all GetDirectory and GetDefinition
services are covered by retrieveModel()
. The control services can be executed by using getDataValues and
setDataValues on the control objects in the data model.Modifier and Type | Method and Description |
---|---|
void |
cancelUrcbReservation(Urcb urcb) |
void |
close()
Will close the connection simply by closing the TCP socket.
|
void |
createDataSet(DataSet dataSet)
The client should create the data set first and add it to either the nonpersistent list or to the model.
|
void |
deleteDataSet(DataSet dataSet) |
void |
disableReporting(Rcb rcb) |
void |
disconnect()
Will send a disconnect request first and then close the TCP socket.
|
void |
enableReporting(Rcb rcb) |
void |
enableReportQueuing() |
void |
getAllDataValues()
Will update all data inside the model except for control variables (those that have FC=CO).
|
java.util.List<ServiceError> |
getDataSetValues(DataSet dataSet)
The implementation of the GetDataSetValues ACSI service.
|
void |
getDataValues(FcModelNode modelNode)
The implementation of the GetDataValues ACSI service.
|
ServerModel |
getModelFromSclFile(java.lang.String sclFilePath)
Parses the given SCL File and returns the server model that is described by it.
|
void |
getRcbValues(Rcb rcb) |
Report |
getReport() |
Report |
getReport(int timeout) |
int |
getResponseTimeout()
Gets the response timeout.
|
void |
operate(FcModelNode controlDataObject)
Executes the Operate ACSI Service on the given controllable Data Object (DO).
|
void |
reserveUrcb(Urcb urcb) |
ServerModel |
retrieveModel()
Triggers all GetDirectory and GetDefinition ACSI services needed to get the complete server model.
|
boolean |
select(FcModelNode controlDataObject)
Performs the Select ACSI Service of the control model on the given controllable Data Object (DO).
|
java.util.List<ServiceError> |
setDataSetValues(DataSet dataSet) |
void |
setDataValues(FcModelNode modelNode)
The implementation of the SetDataValues ACSI service.
|
java.util.List<ServiceError> |
setRcbValues(Rcb rcb,
boolean setRptId,
boolean setDatSet,
boolean setOptFlds,
boolean setBufTm,
boolean setTrgOps,
boolean setIntgPd,
boolean setPurgeBuf,
boolean setEntryId,
boolean setResvTms)
Sets the selected values of the given Report Control Block.
|
void |
setResponseTimeout(int timeout)
Sets the response timeout.
|
void |
startGi(Rcb rcb) |
void |
updateDataSets()
This function will get the definition of all persistent DataSets from the server and update the DataSets in the
ServerModel that were returned by the retrieveModel() function.
|
public void setResponseTimeout(int timeout)
timeout
- the response timeout in milliseconds.public int getResponseTimeout()
public ServerModel getModelFromSclFile(java.lang.String sclFilePath) throws SclParseException
retrieveModel
in order to the server model that is needed to call the other ACSI services.sclFilePath
- the path to the SCL file that is to be parsed.SclParseException
- if any kind of fatal error occurs in the parsing process.public ServerModel retrieveModel() throws ServiceError, java.io.IOException
ServiceError
- if a ServiceError occurs while calling any of the ASCI services.java.io.IOException
- if a fatal association error occurs. The association object will be closed and can no longer be used
after this exception is thrown.public void getDataValues(FcModelNode modelNode) throws ServiceError, java.io.IOException
ServiceError
will be thrown.modelNode
- the functionally constrained model node that is to be read.ServiceError
- if a ServiceError is returned by the server.java.io.IOException
- if any kind of fatal association error occurred.public void getAllDataValues() throws ServiceError, java.io.IOException
ServiceError
- if a ServiceError is returned by the server.java.io.IOException
- if any kind of fatal association error occurred.public void setDataValues(FcModelNode modelNode) throws ServiceError, java.io.IOException
ServiceError
will be thrown. In this case
it is not possible to say which of several Basic Data Attributes could not be written.modelNode
- the functionally constrained model node that is to be written.ServiceError
- if a ServiceError is returned by the server.java.io.IOException
- if any kind of fatal association error occurs.public void updateDataSets() throws ServiceError, java.io.IOException
ServiceError
java.io.IOException
public void createDataSet(DataSet dataSet) throws ServiceError, java.io.IOException
ServiceError
java.io.IOException
public void deleteDataSet(DataSet dataSet) throws ServiceError, java.io.IOException
ServiceError
java.io.IOException
public java.util.List<ServiceError> getDataSetValues(DataSet dataSet) throws java.io.IOException
null
if reading was successful and a ServiceError if reading of this
member failed.dataSet
- the DataSet that is to be read.ServiceError
java.io.IOException
public java.util.List<ServiceError> setDataSetValues(DataSet dataSet) throws ServiceError, java.io.IOException
ServiceError
java.io.IOException
public void getRcbValues(Rcb rcb) throws ServiceError, java.io.IOException
ServiceError
java.io.IOException
public void reserveUrcb(Urcb urcb) throws ServiceError, java.io.IOException
ServiceError
java.io.IOException
public void cancelUrcbReservation(Urcb urcb) throws ServiceError, java.io.IOException
ServiceError
java.io.IOException
public void enableReportQueuing()
public void enableReporting(Rcb rcb) throws ServiceError, java.io.IOException
ServiceError
java.io.IOException
public void disableReporting(Rcb rcb) throws ServiceError, java.io.IOException
ServiceError
java.io.IOException
public void startGi(Rcb rcb) throws ServiceError, java.io.IOException
ServiceError
java.io.IOException
public java.util.List<ServiceError> setRcbValues(Rcb rcb, boolean setRptId, boolean setDatSet, boolean setOptFlds, boolean setBufTm, boolean setTrgOps, boolean setIntgPd, boolean setPurgeBuf, boolean setEntryId, boolean setResvTms) throws java.io.IOException
rcb
- setRptId
- setDatSet
- setOptFlds
- setBufTm
- setTrgOps
- setIntgPd
- setPurgeBuf
- setEntryId
- setResvTms
- java.io.IOException
public Report getReport() throws ServiceError
ServiceError
public Report getReport(int timeout) throws ServiceError
ServiceError
public boolean select(FcModelNode controlDataObject) throws ServiceError, java.io.IOException
controlDataObject
- needs to be a controllable Data Object that contains a Data Attribute named "SBO".ServiceError
java.io.IOException
public void operate(FcModelNode controlDataObject) throws ServiceError, java.io.IOException
controlDataObject
- needs to be a controllable Data Object that contains a Data Attribute named "Oper".ServiceError
java.io.IOException
public void close()
public void disconnect()