AMQP v0.9.1 Data Source is a data source which allows to connect to external RabbitMQ instance via AMQP protocol
AMQP (Advanced Message Queuing Protocol) is an Open Standard for messaging between different platforms in different languages in middleware.
Some technical information:
AMQP Data Source can be useful in a number of ways.
For example:
ScadaLTS has implemented AMQP protocol in version 0.9.1 because of a few reasons. Firstly official AMQP 1.0 OASIS protocol it is very different from the 0.9.1 version. AMQP 1.0 imposes fewer semantic requirements, so it is easier to add suppor for AMQP 1.0 existing brokers but the protocol is more complex than 0.9.1 and there are fewer client implementations.
RabbitMQ support 0.9.1 version by sharing the package called com.rabbitmq.client which contains all necessary Java classes to communicate within devices by this protocol version. It has also great tutorials, guides and easy API to start programming. So based on the popularity of the community we have chosen this version.
Each AMQP Receiver Data Source require some parameters:
There are also some optional parameters:
From official repository there are some mini-applications which allow user to test the connectivity between ScadaLTS and other remote systems. There are two python 2.7 scripts (Producer - sendRabbitMQ.py and Consumer - recvRabbitMQ.py) which can be configured to produce data to your ScadaLTS Consumer can also receive data sent from Scada if it is bind to proper exchange with required routing key. To run this scripts there is required "pika" library which can be installed from the Internet. You can do it very simple just open your CommandLine and type 'pip install pika' and wait for the end.
Script files are located in directory: doc/examples/datasource/amqp
Example code:
python sendRabbitMQ.py direct -e scadalts 12.34
ScadaLTS can also send a messages to related queue. It is as simple as it was for other DataPoint. Just open "watch list" menu select wrench button, type a new message which you want to send, and press link [send]. You can check your message on the other device.