Grafana is another one of those amazing GitHub projects that is completely free and licensed under the permissive, MIT license. I actually never heard of it until I attended a Rockwell Automation Fair in Philadelphia and just started talking with a random attendee at the lunch table. When I explained that I work for an OEM and was trying to find ways of providing some value added web based features to the product he mentioned using InfluxDB and Grafana. The funny part was that he said it kind of on the sly like it was some trade secret. In retrospect I can understand why, now that I’ve had a chance to use it. It basically does, for free, what many of the high-end pay for products do. Many of those products being showcased at the fair. Because the product is targeted at IT, it seems that no one in the manufacturing automation and data sectors have ever heard of it. With this said, in my opinion Grafana is tremendously useful in these sectors. Here is an example dashboard for server temperatures and environmental temperatures. (I wish I could show some real life examples from the furnaces I work on, but the information is private.) For our OEM offering, FIN Historian is being used on the back end to do the data collection from a Wonderware OI Server using the DDE plugin. All of this resides on a core i5 HMI PC with 8GB of ram. Grafana easily connects to any real-time database. This means the data MUST be date time stamped. In the case of most historians this is not a problem. When I have some time I’ll post the steps required to setup drill down and move your Grafana dashboards from static images to real reporting tools.
I have been using a GitHub project called pylogix by GitHub user dmroeder to do some basic data retrieval from ControlLogix and CompactLogix PLCs. While the project has been around for a while there has been some more recent activity and the code has become pretty reliable. I have used it to pull data from PLCs where that data does not change readily, for example recipe data or setpoint data. Another great use is for turning Raspberry PIs into remote IO devices by having them push data to a PLC. This can be useful for monitoring a fire pump run status in a remote pump house or for monitoring the temperature and humidity of a control room where there is no PLC and cost is an issue. I will try to post more examples of industrial uses for Raspberry PIs in the near future, but wanted to give a shout out for this project since it is quite good. https://github.com/dmroeder/pylogix