.

Average: 0
Rating Count: 0

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

License:

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

PDF generated from POGO



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.'

22 Feb 2018, DS Admin
Updated:
The device class has been updated.
You can see previous version here .



20 Apr 2017, Piotr Goryl
Updated:
The device class has been updated.
You can see previous version here .



23 Feb 2017, Piotr Goryl
Created:
The device class has been added to catalogue.
Added by:pgoryl2 on:23 Feb 2017, 9:47 a.m.