ZABBIX Forums  
  #1  
Old 08-03-2009, 06:08
rxm8028 rxm8028 is offline
Member
 
Join Date: Apr 2005
Posts: 42
Default Monitoring Industrial Automation

Has anyone else attempted to use Zabbix for monitoring outside the typical business computer network arena?
I am an industrial controls engineer, as well as a network manager for my employer. I recently discovered a tool called OpenOPC.
This tool, in conjunction with a Zabbix Agent installed on an OPC server pc, allows Zabbix to function as a high-level SCADA system in an industrial automation control system.
If anyone else is interested, I will post the details of my experience with this arrangement. I am still experimenting with the configuration, but it seems to work well, and holds great promise.

Regards,

Ross
Reply With Quote
  #2  
Old 08-03-2009, 21:05
RohrbaGe RohrbaGe is offline
Senior Member
 
Join Date: Aug 2005
Posts: 157
Default

Can you explain more detailed what this can do for us?

Will that e.g allow me to read from a PLC S7 or PCL from an another supplier values into zabbix?

If yes, which PLC's your are using?

Gerald
Reply With Quote
  #3  
Old 08-03-2009, 22:07
rbenea rbenea is offline
Junior Member
 
Join Date: Apr 2008
Posts: 27
Default

Dear Ross,

We didn't got to the scale that you have BUT we used Zabbix to monitor something else then networks.

I'm sure that you are familiar with this post: A hardware ZABBIX Agent made with PIC18F67J60 microcontroller and this post: Hardware Zabbix Agent with GSM module

We used this agents to monitor things like mushroom growing green house and heating systems plant.

I'm looking forward to see the progress you make with your system.

Regards,
Rares
Reply With Quote
  #4  
Old 09-03-2009, 00:01
rxm8028 rxm8028 is offline
Member
 
Join Date: Apr 2005
Posts: 42
Default

As I stated before, I am still in the experimental stages. However, I am successfully able to extract values from an Allen-Bradley PLC via the RSLinx OPC Server. I am sure that Siemens S7, or any PLC with an available OPC server, would work just as well. In fact, I have an S7-400 system in another part of the plant, which will be my next attempt at monitoring with Zabbix.

I have also started using "spoken" alerts as described here http://www.zabbix.com/forum/showthread.php?t=8276 :

They arrive at my desk much quicker than email, in most cases. Very useful for monitoring the factory automation, where I want to know immediately if the production line has stopped.

I have also considered using the hardware Zabbix agent, but have not yet gone to the trouble of attempting to obtain a unit for experimentation.
I'll post more as my experiments continue.

Regards

Last edited by rxm8028; 09-03-2009 at 00:04. Reason: Added information
Reply With Quote
  #5  
Old 09-03-2009, 10:54
rbenea rbenea is offline
Junior Member
 
Join Date: Apr 2008
Posts: 27
Default

Dear Ross,

Yes, you could use the hardware agent to gather data that would not be available via the PLC sensors but I drought it. PLCs are very versatile and modular, maybe the sensors are more expensive but in the end you get a compact unitary system.

Maybe you'll be interested in this too: plugin zabbix for firefox (new version 1.1) it works great. Go to the last page to get the latest version.

Rares
Reply With Quote
  #6  
Old 17-03-2009, 20:28
rxm8028 rxm8028 is offline
Member
 
Join Date: Apr 2005
Posts: 42
Default Industrial Automation Monitor HOWTO

HOWTO: Industrial Automation Monitoring with Zabbix (tm)

INTRODUCTION:
This project began as a way to generate email alerts to warn managers when a particular section of the production process was experiencing difficulty. Zabbix is great at managing trigger-based alerts of various kinds, so it seemed a logical choice for the backbone of the system. However, Zabbix is designed to monitor computer networks, not machine controllers, so a means of communication between the two was necessary. Fortunately, to products were found that fit the bill nicely.
OpenOPC (http://openopc.sourceforge.net/about.html) is an Open Source project that provides a OLE for Process Control toolkit in the Python programming language. More important to this discussion, it provides a pre-compiled Win32 executable that allows the user to access a running OPC server from the command line. This executable (opc.exe) works out of the box with several commercial OPC servers. For others, a second utility is required.
Graybox Software (http://gray-box.net/index.php) offers a free OPC “wrapper” dll for Windows, which povides a standard communication interface for otherwise proprietary OPC servers. This allows OpenOPC's command-line utility to communicate with these OPC servers correctly.
In my experience, this combination of tools allows one to retrieve (or write as needed) data from the Industrial Control Systems via the RSLinx OPC server from Rockwell Automation, the SimaticNET OPC server from Siemens, and the ibaPDA OPC server from ibaAG.

ENVIRONMENT:
The environment used to develop this application is as follows:
ZABBIX SERVER: Ubuntu 8.04 Server edition (32-bit) on SMP i686 hardware, 1 Gigabyte of RAM installed. Currently a single NIC and single SATA disk handle the load, but improvements are planned. Current performance on specified hardware:

Parameter Value Details
ZABBIX server is running Yes -
Number of hosts (monitored/not monitored/templates) 218 156/47/15
Number of items (monitored/disabled/not supported) 2580 1246 / 966 / 368
Number of triggers (enabled/disabled)[true/unknown/false] 443 416 / 27**[23 / 45 / 348]
Number of users (online) 7 1
Required server performance, new values per second 21.9902

Zabbix Server version 1.6.2 , Zabbix Agent version(s) 1.4.4 & 1.6.2

OPC Servers: Vary by equipment manufacturer. Currently using RSLinx from Rockwell Software, SimaticNET from Siemens and ibaPdaOPC from iba AG.

REQUIREMENTS:

OPC SERVER: You will require some sort of OPC server in order to connect into the machine control systems. This component is typically provided by the OEM of the controls. Most HMI (Human-Machine Interface) terminals and many programming terminals will include an OPC server of some sort. Configuration of the OPC server is beyond the scope of this HOWTO. Please read the manufacturer's instructions.

OpenOPC: In the configuration described here, only the command-line tool “opc.exe” is used. However, the OpenOPC toolkit may be installed as desired.

Graybox OPC Wrapper: In some cases it is necessary to install the Graybox OPC Automation Wrapper DLL, “gbda_aut.dll”, on the same Windows PC that runs the OPC server. This dll allows certain non-standard OPC servers to be accessed by the opc.exe command-line tool from OpenOPC.

Microsoft C Runtime Library: In some cases, the Windows PC that runs the OPC server may not have the “msvcr71.dll” installed. It has been found on most Windows XP machines in my location, but typically not on Windows 200x servers. If necessary you can copy it from one machine to another (into the %SystemRoot%\system32 folder), and install in by executing the command “regsvr32 msvcr71.dll”.

CONFIGURATION:

In this example, we will walk through the configuration necessary to alert managers when the plant is down. In order to accomplish this, we need several things to be prepared:

Zabbix Agent / OPC Server computer:
1.The machine controls must produce some signal to indicate a stoppage of production. Creation of this signal is outside the scope of this HOWTO.
2.An OPC Server must be available and configured to read the “production stoppage” signal from the machine controls and provide the data to OPC clients.
3.The opc.exe command-line tool is copied somewhere in the PATH on the Windows PC running the OPC server. The Windows\system32 folder is suggested.
4.If needed, the Windows libraries 'msvcr71.dll' and 'gbda_aut.dll' should be copied to the Windows\system32 folder of the OPC Server PC, and registered using the regsvr32 utility.
5.The Zabbix Agent should be installed on the OPC server computer. Be certain that in the zabbix_agentd.conf file, the HOST entry is identical to the HOST name for the PC as configured at the Zabbix Server. Also make certain that Active Checks are enabled.
6.Include a UserParameter in the zabbix_agentd.conf file similar to the one below. Some experimentation may be required in formatting the $1 and $2 strings, depending on the syntax needed by your particular OPC server. This example is for RSLinx, which encloses the OPC 'Group' name in brackets, followed by the 'Item' name.
1.UserParameter=OPC[*],opc.exe -r [$1]$2 -o values

Zabbix Server:

1.Configure the host to be monitored. Verify that the HOST name in Zabbix (not the DNS name) is identical to the HOST entry in the zabbix_agentd.conf file.
2.Add an item to the host. Enter the fieled data as follows:
1.The Description field can be anything you like.
2.The Type field should be ZABBIX Agent (active). More on this later.
3.The Key field should match the UserParameter created in the zabbix_agentd.conf file. In our example, the Key name was OPC, and it required 2 parameters. Therefore, an example Key name would be 'OPC[cnet,N103:60]'. This calls the OPC UserParameter, and passes a 'Group' name of 'cnet', and and 'Item' name of 'N103:60'. Keep in mind that this format is valid for RSLinx, and may vary with other OPC servers. Also remember that the Group and Item must be configured in the OPC server before the values can be extracted. Configuring the OPC server is outside the scope of this HOWTO.
4.The Type of information field should be chosen to match the data expected from the OPC server. This will typically be a Numeric(integer 64bit) or Numeric(float).
5.The Units field can be seat as you deem appropriate.
6.The Use multiplier field can also be set as you deem appropriate.
7.The Update interval may be set as you deem appropriate. However, extremely short intervals may tax the Zabbix server into poor performance if Active Checks are not used. More on this later.
8.The remaining fields may be set however you feel is appropriate for you application
9.After the Item is configured in Zabbix, Triggers and Actions may be set ups as for any other monitored item. Please refer to the Zabbix documentation, as these items fall outside the scope of this HOWTO.

DISCUSSION:
The need for near real-time alerts for machine controls will vary from application to application. For the instance described here, Zabbix is used as a high-level alert system, aimed at upper-level management, rather than machine operators. Therefore, some consideration must be given to the items to be monitored and the frequency of checks. It is recommended that for anything less than a 30 second update interval, Active Checks be implemented. That way, the Zabbix Agent can check and store the Item value as frequently as you like, and dump the data to the Server at the configured interval (2 minutes by default). This makes for very nice graphs of analog values, but limits the response of triggers. For me, two minutes is perfectly adequate. Your mileage may vary.
Reply With Quote
  #7  
Old 30-12-2009, 08:11
IvanG IvanG is offline
Junior Member
 
Join Date: Aug 2008
Posts: 12
Default

Awesome!
Reply With Quote
  #8  
Old 27-11-2017, 17:22
Thiago Strato Thiago Strato is offline
Junior Member
 
Join Date: Nov 2017
Posts: 2
Default

Hi Guys,

Is anyone using Zabbix to collect data on OPC server?
Would you help me?
Reply With Quote
  #9  
Old 27-11-2017, 17:25
Thiago Strato Thiago Strato is offline
Junior Member
 
Join Date: Nov 2017
Posts: 2
Question Help

Hi Guys,

Is anyone using Zabbix to collect data on OPC server?
Would you help me?
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 02:42.