Information status: Updated
- This class provides access to Rockwell Automation`s PLCs.
- It gives two ways of reading and setting values of tags. 1) by commands 2) by dynamic attributes (see Tags device property) Note! It depends on Tuxeip library.
|Write tag value specified by string.|
|Read tag value and return it as a string.|
|Reads the tag`s values from PLC and returns values and type|
|Writes tags, examining first types (by reading) in PLC and then doing proper conversion.|
|Open connection to PLC defined by properties|
|Close connection to PLC|
|This command gets the device status (stored in its device_status data member) and returns it to the caller.|
|This command gets the device state (stored in its device_state data member) and returns it to the caller.|
|TagsStringType||List of tags in PLC. This list is used during device initiation to create attribs. It contains of lines of comma separated values: tagName,tagType,[attribName] tagName - is the name of tag in PLC, could contain array(structure) element selector in square bracket tagType - type of tag in PLC, should contain square bracket with size to determine array attribName - optionally attrib name to be mapped to tag attribName is required in case of tag pointing to element of structures or arrays in PLC|
|TagUpdateIntervalDevLong||Min interval (in milliseconds) between update of tag`a value.|
|AutoConnectDevBoolean||State if a device should try to reconnect to PLC if there is no connection, for an example in case of previous error...|
|PathShortType||Path to the device. See Tuxeip documentation.|
|RPIDevLong||Request packet interval - used to calculate time-out|
|ConnectionSNDevShort||Connection Serial Number - should be unique in the network|
|ConnectionIDDevLong||ID of the connection - for own use|
|IPDevString||PLC IP number|
Please log in to comment.
#============================================================================= # # file : README # # description : Device Server with third party dependencies installation procedure # # # Author: Piotr Goryl, e-mail: email@example.com # $LastChangedBy: $ # # $Revision: 57 $ # # # copyleft : MAX-lab, Lund, SE / Jagiellonian University, Krakow, PL # #=============================================================================
- How to install
- Repository contents
- Makefile description
- Environment variables and paths
- Third parties libs
HOW TO INSTALL: Since this Device Server depends on third party libraries, installation may require some additional steps - see 'Environment variables and paths'. Rememeber to point out your operating system. However, Makefile provided could simplify this process.
- There are several ways of installation:
- Using 'all' and 'install' targets.
- Compiling and install libraries first then DS.
- Compiling and install only DS (in case of libraries already installed)
- Using 'all' and 'install' target:
- >make all linux=2.6 >make install linux=2.6
But, both invocation may require superuser privileges because compiling DS may require libs install first.
- Compiling and install libraries first then DS:
- >make third-party >make third-party-inst >make ds linux=2.6 >make install linux=2.6
2nd and 4rd lines may require privileges
- Compiling and install only DS in case of libraries already installed
- >make ds-only linux=2.6 >make ds-inst linux=2.6
- eg. successive installation of every library, then DS
The examples before are for Linux machines if you use Solaris change 'linux' to '_solaris'.
- REPOSITORY CONTENTS
- 'doc' folder: documentation of this Tango's Device Server
- 'src' folder: source files for this DS
- 'third-party' folder: svn:externals linked to libraries (sources of) or sources that this DS depends on
- 'Makefile': make input for compiling and installing of this DS
- this file
MAKEFILE DESCRIPTION Makefile in main repository folder contain several targets. Here are short description of these with somehow outlined dependencies:
- -'all' tries to compile all sources
-'third-party' compile libraries -'ds' compile device server
- -'third-party-inst' install libraries (some DS don't need libs to be installed first,
- if it is the case one should remove this dependency from 'ds' target)
-'ds-only' compile DS independent of 'third-party-inst' -'install' install both libs and DS-'third-party-inst' install libs -'ds-inst' install Device Server
-'clean' invoke cleaning in lib's and DS's folders
There are also makefiles in 'src' (generated by Pogo) and in 'third-party'. These are to be used with conjunction with "main" Makefile, but could be (or, in some cases, should be) used separately. Makefile in 'third-party' contain targets for making all required libs and may require modification to work. The same is for one in 'src' for DS respectively.
ENVIRONMENT VARIABLES AND PATHS Makefiles use TANGO_HOME and TUXEIP_HOME variables to point Tango and TuxEip libraries respectively. Default are both /usr/local. You may need to change these to conform your environment. You can specify these on command line or in Makefile. If you are changing the Makefile, it should be enough to change the main one. You should also set 'linux' or '_solaris' variable to point out your os. See Makefile in 'src'.
THIRD PARTIES LIBS This device server use external TuxEip library to comunicate with PLC. The version provided and tested with is the one from pvbrowser project. It is located in third-party/tuxeip-1.0. It is licenced according to GPL.