Development status:
New development
Information status: Updated
Repository:
http://svn.code.sf.net/p/tango-ds/code/DeviceClasses/Communication/AllenBradleyPLC
Contact:
Class Description
- 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.
Families: Communication
Key words:
Language: Cpp
Contact:
Class interface
Attributes:
Commands:
Name | Description |
---|---|
StateInput: DevVoid Output: State |
This command gets the device state (stored in its device_state data member) and returns it to the caller. |
StatusInput: DevVoid Output: DevString |
This command gets the device status (stored in its device_status data member) and returns it to the caller. |
CloseInput: DevVoid Output: DevVoid |
Close connection to PLC |
OpenInput: DevVoid Output: DevBoolean |
Open connection to PLC defined by properties |
WriteTagsAsDoubleInput: DevVarDoubleStringArray Output: DevVarDoubleStringArray |
Writes tags, examining first types (by reading) in PLC and then doing proper conversion. |
ReadTagsAsDoubleInput: DevVarStringArray Output: DevVarDoubleStringArray |
Reads the tag`s values from PLC and returns values and type |
ReadTagInput: DevString Output: DevString |
Read tag value and return it as a string. |
WriteTagInput: DevVarStringArray Output: DevString |
Write tag value specified by string. |
Pipes:
Properties:
Name | Description |
---|---|
IPDevString | PLC IP number |
PlcTypeDevString | PLC type |
ConnectionIDDevLong | ID of the connection - for own use |
ConnectionSNDevShort | Connection Serial Number - should be unique in the network |
RPIDevLong | Request packet interval - used to calculate time-out |
PathShort[]Type | Path to the device. See Tuxeip documentation. |
AutoConnectDevBoolean | State if a device should try to reconnect to PLC if there is no connection, for an example in case of previous error... |
TagUpdateIntervalDevLong | Min interval (in milliseconds) between update of tag`a value. |
TagsString[]Type | 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 |
Please log in to comment.
Generated
README
b'#=============================================================================\n#\n# file : README\n#\n# description : Device Server with third party dependencies installation procedure\n#\n#\n# Author: Piotr Goryl, e-mail: piotr.goryl@uj.edu.pl\n# $LastChangedBy:\t$\n#\n# $Revision: 57 $\n#\n#\n# copyleft : MAX-lab, Lund, SE / Jagiellonian University, Krakow, PL \n#\n#=============================================================================\n\nCONTENT:\t\n\t- How to install\n\t- Repository contents\n\t- Makefile description\n\t- Environment variables and paths\n\t- Third parties libs\n\nHOW TO INSTALL:\nSince this Device Server depends on third party libraries, installation may require\nsome additional steps - see \'Environment variables and paths\'. Rememeber to point out your operating system.\nHowever, Makefile provided could simplify this process. \n\nThere are several ways of installation:\n\tA) Using \'all\' and \'install\' targets.\n\tB) Compiling and install libraries first then DS.\n\tC) Compiling and install only DS (in case of libraries already installed)\n\tD) Other\n\nA) Using \'all\' and \'install\' target:\n\t>make all linux=2.6\n\t>make install linux=2.6\nBut, both invocation may require superuser privileges because compiling DS\nmay require libs install first.\n\nB) Compiling and install libraries first then DS:\n\t>make third-party\n\t>make third-party-inst\n\t>make ds linux=2.6\n\t>make install linux=2.6\n2nd and 4rd lines may require privileges\n\nC) Compiling and install only DS in case of libraries already installed\n\t>make ds-only linux=2.6\n\t>make ds-inst linux=2.6\n\nD) eg. successive installation of every library, then DS\n\nThe examples before are for Linux machines if you use Solaris change \'linux\' to \'_solaris\'. \n\nREPOSITORY CONTENTS\n\t- \'doc\' folder: documentation of this Tango\'s Device Server\n\t- \'src\' folder: source files for this DS\n\t- \'third-party\' folder: svn:externals linked to libraries (sources of) or sources that this DS depends on\n\t- \'Makefile\': make input for compiling and installing of this DS\n\t- this file\n\nMAKEFILE DESCRIPTION\nMakefile in main repository folder contain several targets. Here are short description of these with\nsomehow outlined dependencies:\n\t-\'all\' tries to compile all sources\t\n\t\t-\'third-party\' compile libraries\n\t\t-\'ds\' compile device server\n\t\t\t-\'third-party-inst\' install libraries (some DS don\'t need libs to be installed first,\n\t\t\t\tif it is the case one should remove this dependency from \'ds\' target)\n\t-\'ds-only\' compile DS independent of \'third-party-inst\'\n\t-\'install\' install both libs and DS\n\t\t-\'third-party-inst\' install libs\n\t\t-\'ds-inst\' install Device Server\n\t-\'clean\' invoke cleaning in lib\'s and DS\'s folders\t\t\n\nThere are also makefiles in \'src\' (generated by Pogo) and in \'third-party\'. These are to be used\nwith conjunction with "main" Makefile, but could be (or, in some cases, should be) used separately.\nMakefile in \'third-party\' contain targets for making all required libs and may require modification\nto work. The same is for one in \'src\' for DS respectively.\n\nENVIRONMENT VARIABLES AND PATHS\nMakefiles use TANGO_HOME and TUXEIP_HOME variables to point Tango and TuxEip libraries respectively.\nDefault are both /usr/local. You may need to change these to conform your environment. You can specify\nthese on command line or in Makefile. If you are changing the Makefile, it should be enough to change\nthe main one.\nYou should also set \'linux\' or \'_solaris\' variable to point out your os. See Makefile in \'src\'.\n\n\nTHIRD PARTIES LIBS\nThis device server use external TuxEip library to comunicate with PLC. The version provided and tested with is\nthe one from pvbrowser project. \nIt is located in third-party/tuxeip-1.0. It is licenced according to GPL.'