Proven Condition Monitoring Solutions

beran standard header

Beran 720 Advanced Plant Monitor easy-to-use interface opens up a world of opportunity for Remote On-Line Condition Monitoring

15 / 10 / 2015

In this first of a series of articles, I explore how easy it is to interface to the Beran PlantProtech 720 Advanced Plant Monitor (APM). At the start of this exercise, I was already aware that the Beran 720 APM had an open interface, and our programmers had reassured me that it would be easy! However, I was keen to find out for myself just how simple this would prove in practice for a non-programmer like me.

Beran PlantProtech 720 Advanced Plant Monitor

Figure 1. Beran PlantProtech 720 Advanced Plant Monitor

The Beran 720 APM is a powerful 20-channel parallel data acquisition monitor that has been optimised for noise and vibration condition monitoring applications.  A major benefit of the Beran 720 APM is its ability to independently log data, without the need for a local computer.  This makes the Beran 720 APM an ideal solution for third party integrators and remote installations where IT facilities are limited, along with ‘Internet of Things’ type installations - enabling  data to be streamed back to a remote server for analysis.  The Beran 720 APM open interface unlocks many possibilities, including:  

  • Formulating your own dashboard.
  • Interfacing to your control system.
  • Interfacing to a maintenance management system.
  • Writing an interface to a remote database for off-site condition monitoring services.

This first article explains how to set up a typical development environment, and describes my first attempt to read back the Current Date and Time from a Beran 720 APM.

I chose the ‘Python’ language to complete the experiment, and downloaded and installed the “Enthought Canopy Integrated Development Environment”.  Subscribing to the $199/year option -   provides a supported product with a managed set of Python packages.  Packages are a collection of pre-written Python Modules.  These modules contain a set of functions that the user can call upon to make life a whole lot easier than having to code everything from scratch.

I started by reading the 720 APM Open Interface Version 2 – Technical Note.  The 720 APM Open Interface provides 720 APM users with the ability to develop their own software to interface with a 720 APM.  It enables full access to 720 APM functionality, and is the interface used by Beran Instrument’s PlantProtech software suite in order to communicate with 720 APMs.

The 720 APM Open Interface access to 720 APM functionality includes:

  • The ability to request the 720 APM to measure and provide a time domain (time series) in real time.
  • The ability to determine the latest stored measurements on a 720 APM, and to retrieve stored measurements.
  • The ability to get the current alarm status from a 720 APM, and to accept alarms.
  • And, of course, the ability to get the time and date on a 720 APM!

What comes next sounds quite complicated, but in summary, it’s the background ‘magic’ which takes place in order to communicate and exchange data with devices on the internet (in our case the 720 APM).  The 720 APM Open Interface is a collection of Web Services, which are expressed in Web Service Description Language (WSDL).  The 720 APM Open Interface Web Services are described in the BeranAPM.wsdl file.  The 720 APM uses the Simple Object Access Protocol (SOAP).

So, my first task was to find a pre-written SOAP package for Python.  In the case of the 720 APM, the data acquisition system is the server, and we talk to it through a client (in my case, a PC).

I tried three different Python Client Libraries, and eventually ended up selecting ‘suds’.  See Figure 2.

Canopy Package Manager

Figure 2. Canopy Package Manager. Makes life simple in relation to installation of Python packages.  In this case, installation of the suds 0.4.1 package before writing any code.

Next, I needed to make sure that I could see the Beran 720 APM on our office network.  To do this, I opened a Windows command prompt and used the Ping command to check that the 720 APM replied.

Onto the coding – where it took me two hours to write five lines of code!  But I’m pleased to report that the end result was a success!!

I opened up the Canopy Code Editor and entered the code as shown in Figure 3. 

Canopy Code Editor

Figure 3. Canopy Code Editor. Five lines of code to connect and retrieve current Date and Time data from the Beran PlantProtech 720 APM.  See the command line prompt at the bottom of figure – ‘In[39]’ – showing the returned date and time.  Note comments are preceded by a #.

So, with five lines of code and the SOAP Libraries doing their magic in the background, I was able to demonstrate that it is easy to interface to the Beran PlantProtech 720 APM. I managed to make a network connection to the 720 APM and acquired the Current Date and Time. In my next article, I aim to demonstrate the collection of real-time vibrations levels from a remote industrial machine.

Peter Morrish, Technology Manager