SZARP - System Zbierania Archiwizacji i Prezentacji danych. http://www.szarp.org (C) 1991 - 2010 Witold Kowalewski Praterm Automatyzacja CiepÂłownictwa (C) 1995 - 2009 Praterm S.A. (C) 1991 - 2010 various authors (see AUTHORS file) Table of contents: 0. Table of contents. 1. What is SZARP? 2. What does it mean SZARP, how to pronounce it? 3. What are the features of SZARP? 4. What is the origin of SZARP? 5. What platform is SZARP running on? 6. How to install SZARP? 7. Where are the docs? 8. How can I get SZARP sources? 9. How to setup my first SZARP server? 10. How to get help? 1. What is SZARP? SZARP is a full-featured SCADA system, specially designed for controlling slowly-changing industrial processes, such as operations of urban heating systems. This is completely free software, published under GPL 2.0 (or later version). 2. What does it mean SZARP, how to pronounce it? SZARP is acronym from full Polish name: 'System Zbierania ARchwizacji i Prezentacji danych' which is 'System for Data Acquisition, Archiving and Presentation'. 'sz' in Polish is pronounced as 'sh', so 'SZARP' should be pronounced as 'sharp'. 3. What are the features of SZARP? SZARP architecure contains 3 main layers. The first layer is device drivers. There are several drivers available, for different devices, including: * Modbus RTU/TCP, master and slave * MBus * Praterm ZET/Sterkom PLC * Pollustat and Infocal heating meters * Pozyton electricity meters * text files and text output from programs Device drivers are, for historical reasons, called 'line daemons'. The second layer are deamons for collecting data from drivers, calculating average values and formulas (defined parameters), and saving data to database. Datas are generally available with 10-seconds resolution, but database contains 10-minutes average values. There is also web server available for serving parameter values by HTTP. The third layer are client programs, including: * Reporter - program for viewing current (10-seconds averages) values of parameters. * Controller - program for signalling parameter values irregularities. * Extractor - program for exporting data from database to spreadsheet files. * Draw - powerfull tool for viewing and analyzing historical values of parameters. 4. What is the origin of SZARP? SZARP was developed since 1991 (!) by Praterm company and was used in all heating systems (over 20) owned by Praterm and in similar number of other systems all over Poland. In 2007 Praterm decided to publish almost all of the code under GPL License. Currently SZARP is developed as Open Source project on SourceForge.net. Project website is http://www.szarp.org. Main founder of development is currently Newterm company - http://newterm.pl. 5. What platform is SZARP running on? SZARP is developed and deployed on Debian GNU/Linux, but should also compile and work on any modern Linux distribution, on x86, ia64, amd64 and ARM (server only). Clients applications can also run on Windows XP/Vista/7 machines with NTFS file system. 6. How to install SZARP? File INSTALL contains installation instructions. 7. Where are the docs? Most of the user documentation is available only in Polish. Sources of documentation are in resources/documentation/new directory, it's also available on-line at http://www.szarp.org. Most of the new code is pretty-well documented, using Doxygen. 8. How can I get SZARP sources? See http://www.szarp.org/en/download. 9. How to set-up my first SZARP server? First install szarp-server (for details, see INSTALL): apt-get install szarp-server szarp-paramd szarp-wx While configuring package, you must set 4-letters name of configuration (called 'configuration prefix'), for example use 'test'. Answer 'yes' to question about creating szbase directory. Now look at the /etc/szarp directory. There are two files: * parstart.cfg - this files sets what SZARP services are to be run - the default is to treat machine as SZARP server only if the machine name is equal to configuration prefix. This is propably not your case, so modify the file that it contains: PARCOOK=1 MEANER3=1 SENDER=1 PARAMD=1 PSETD=0 XSLTD=0 SSS=0 Now look at the /etc/szarp/szarp.cfg file and modify the begining of the file so it looks like ($prefix$ variable shoud be set to 'test'): $if $prefix$="" $prefix$:="test" # $prefix$:=exec("hostname -s") $end Now we have to prepare SZARP parameters configuration. We will make configuration with one line daemon, that polls system for average load. Go to the directory /opt/szarp/test and create subdirectory called 'config'. Place there file with name 'params.xml' and following content: <?xml version="1.0"?> <params xmlns="http://www.praterm.com.pl/SZARP/ipk" xmlns:exec="http://www.praterm.com.pl/SZARP/ipk-extra" version="1.0" read_freq="10" send_freq="10" title="Test configuration"> <device daemon="/opt/szarp/bin/execdmn" path="/opt/szarp/test/get_la.sh" exec:frequency="10"> <unit id="1" type="1" subtype="1" bufsize="1"> <param name="Test:System:average system load" short_name="lavg" unit="-" prec="2" base_ind="auto"> <raport title="System report"/> <draw title="System" min="0" max="100"/> </param> </unit> </device> </params> In directory /opt/szarp/test/config run this command: /opt/szarp/bin/i2smo This produces szarp configuration files in old (non-XML) format, that are still in use by some scripts. Prepare executable script /opt/szarp/test/get_la.sh with the following content: #!/bin/bash cat /proc/loadavg | cut -d ' ' -f 1 | tr -d '.' Now restart SZARP services: /etc/init.d/parstart restart Now you should be able to point your browser to http://localhost:8081 and see configured parameter. After full 10 minutes you can also run draw3 program: /opt/szarp/bin/draw3 and analyze your system average load. 10. How to get help? You can try to write us at coders@newterm.pl.