Dazu liegt im Projekt org. Observable; import java. Observer; import org. ConnectionInformation; import org. AutoReconnectController; import org.
|Country:||Saint Kitts and Nevis|
|Published (Last):||24 February 2009|
|PDF File Size:||4.54 Mb|
|ePub File Size:||1.8 Mb|
|Price:||Free* [*Free Regsitration Required]|
The reason for that is, that a bunch of libraries are used from the Orbit repository. To fix this, have a look at the target platform definition at the org. Probably Eclipse will also complain that no API baseline is set. Use the quick fix to correct this problem, and just use the eclipse installation itself as the reference.
A simple client For every item you want to get updates for, you need a subscription first. The code is pretty straight forward: package org. Observable; import java. ConnectionInformation; import org. AutoReconnectController; import org.
ConnectionFactory; import org. ConnectionState; import org. ConnectionStateListener; import org. Connection; import org. DataItem; import org. DataItemValue; import org. Part of the operationParameters are e. The callbackHandler is commonly used to request additional information, such as that an authentication is required, or that a cryptographic signature has to be send before the operation can be completed.
A simple driver A driver actually consists of two parts: the hive implementation and the protocol exporter. To write a driver you only have to implement the hive, every exporter should work with it automatically.
Items are sorted into folders, folders may contain other folders. The item name within a folder does not have to be the same as the actual item name, but it is convention that the folder structure should reflect the hierarchy defined through the item id.
Random; import java. Executors; import java. ScheduledExecutorService; import java. Variant; import org. FolderCommon; import org. AttributeMode; import org. DataItemInputCommon; import org.
HiveCommon; import org. MapBuilder; import org. For this each exporter has a wrapper with a main method which takes just two arguments, the name of the hive and optionally the configuration. To configure the classpath, just add all projects in the workspace to it, for this example that will do. Figure 9: Accessing the Random Hive In a real driver implementation of course you would have to implement the protocol you want to talk and map the corresponding tags, IOs or registers to the items.
Our implementations are completely based on Apache Mina, but its entirely up to the implementor. The master Server Until now the server is pretty dumb, it just translates from one protocol to another. Any enrichment, be it additional transformations of the values, monitoring and alarms is done through the master server. It contains of a number of services running within an OSGi container, in our case Equinox. The very difficult part to get the master server up and running is to define which services to start.
We are working at the moment on it to provide an easy solution but at the moment it is still an manual process. To get started with a real project, which includes configuration of the master server, we need to install the Configuration plugins in our Eclipse. Figure Createing a new configuration project After that a new project with an example configuration should be created.
This should create an output folder which contains the configuration artifacts. Figure Generating the master server configuration Since in the previous step we created a custom hive we want to integrate it with our example.
For this we slim the configuration down to the essential. The configuration is split in two different models: the component model and the infrastructure model. The component model defines how the hierarchy of nodes will look like and which name they will get. The infrastructure model specifies on which actual hardware the different services will run.
From the infrastructure model we remove node2 and rename node1 to localhost. We also remove the exec driver and the hdserver. For the purposes of this article I have created a little tool CreateLaunchConfigs.
It has to be started manually after the generator has been run. This is the actual configuration where the master server reads it from. If you specify a configuration folder and it does not exist, the master will create it automatically. The next step is to add our random hive and configure our random item. The models should now look like in figure Figure Configuring the random item from our hive example Generate the configuration. If you stopped the random hive exporter, now is a good time to start it again.
Figure View in the OSTC when watching the configured value One of the available features the item now offers, which was not present in the original item from the hive, is: setting a manual value. The rationale behind is, if a device delivers an invalid value, and maybe calculations depend on it, as e. This will change the display of the item details from the one in figure 16 to the one visible in figure Figure Item details for setting a manual value Figure Item details after setting a manual value In the realtime list the value will now look like in figure Figure View in the OSTC after setting a manual value As you can see, the primary value is now 0, and every derived value will only see 0 although with the manual flag.
That means if there is a configured formula, it will only consider this manual value and additionally inherit the manual flag. There are other color definitions, they are also configurable, but it is beyond the scope of this article.
Eclipse SCADA Tutorial – Teil 1
Elipse SCADA Manuals.
ELIPSE SCADA MANUAL PDF