TableView
SchemeView
WebPageView
+ ChartProView
DashboardView
MapView
ElasticRep
- TableView
SchemeView
WebPageView
+ ChartProView
DashboardView
MapView
ElasticRep
- TableView
SchemeView
WebPageView
ChartProView
DashboardView
MapView
State
The following figure helps to understand the layout of the chart in order to change the plugin configuration.
+ +Chart Pro Plugin supports the view mode, in which a chart node is added to the view tree of Webstation. To display the chart as a view, add the following row to the Views table:
+ +The Path field contains the path in the view tree. The View Type field should be set to Chart Pro. The view arguments correspond to the query string parameters described above.
diff --git a/ScadaDoc/ScadaDoc/Pages/En/Version61/Modules/PlgDashboard.cshtml b/ScadaDoc/ScadaDoc/Pages/En/Version61/Modules/PlgDashboard.cshtml new file mode 100644 index 000000000..6e1397b83 --- /dev/null +++ b/ScadaDoc/ScadaDoc/Pages/En/Version61/Modules/PlgDashboard.cshtml @@ -0,0 +1,111 @@ +@page "/en/latest/modules/plg-dashboard" +@{ + Layout = "_ArticleLayout"; + ViewBag.Title = "Dashboard Plugin"; +} + +@section Styles { + +} + +@section Scripts { + +} + + + +Dashboard Plugin displays useful widgets on dashboards: charts, current data and arbitrary frames, for example, CCTV camera stream. Settings of each dashboard allow to specify column count and widget aspect ratio. Download the plugin using the link. The appearance of Dashboard Plugin is shown in the following figure.
+ + +Dashboard Plugin is installed according to the instructions. No unusual actions are required during installation.
+ +Configuration of each dashboard is stored in a separate XML file. The dashboard example, Dashboard1.xml, is included in the plugin installation package. Dashboard files should be located in the views directory.
+In order to display dashboard nodes in the explorer tree of Webstation, perform the following settings in the project:
+It is required to explicitly specify the view type because the Webstation application cannot automatically determine the type based on the xml file extension.
+ +A dashboard consists of widgets. The layout of widgets on the dashboard is controlled by the Bootstrap grid system. Widgets are arranged in rows, each of which can contain up to 12 widgets. For a widget, you can set the width from 1 to 12, so that the total width of the widgets in the row is equal to 12. If the widget width is not specified, it is calculated automatically. The breakpoint specifies the web page width, which determines how the widgets are positioned. If the page is wider than the breakpoint, the widgets are displayed in a row; otherwise, the widgets are displayed one below the other.
+Consider the contents of a dashboard configuration file:
+ +<?xml version="1.0" encoding="utf-8" ?>
+<DashboardView>
+ <DashboardOptions>
+ <!-- Widget AspectRatio = Width / Height -->
+ <AspectRatio>1.33</AspectRatio>
+ <!-- Breakpoint: ExtraSmall | Small | Medium | Large | ExtraLarge | ExtraExtraLarge -->
+ <Breakpoint>Small</Breakpoint>
+ </DashboardOptions>
+ <Widgets>
+ <!-- The total width of the columns in a line is 12 -->
+ <Row>
+ <Widget type="Chart" columnWidth="5" cnlNums="101,102" />
+ <Widget type="Chart" columnWidth="4" cnlNums="101,103" mode="fixed" period="-2" title="Sample Chart" profile="PlgChartPro.xml" />
+ <Widget type="CurData" columnWidth="3" cnlNums="101-105" title="Sample Data" />
+ </Row>
+ <Row columnCount="2">
+ <Widget type="View" viewID="2" />
+ <Widget type="CustomUrl" url="https://www.youtube.com/embed/xAieE-QtOeM" />
+ </Row>
+ </Widgets>
+</DashboardView>
+
+
+ The DashboardOptions
section contains common dashboard parameters:
+ AspectRatio
- ratio of widget width to its height,
+ Breakpoint
determines the web page width to switch widget layout.
+
The Widgets
section contains a list of widgets that are displayed on a dashboard. The dashboard can contain an arbitrary number of widgets, but no more than 12 in one row. Please note that too many widgets on one dashboard can slow down the performance of the web application.
+ The attribute of the Row
element:
+ columnCount
- number of columns to display widgets of a given row. If the columnCount
attribute is specified for the row, then the columnWidth
attribute is not required for widgets in that row.
+
+ The main attributes of the Widget
element:
+ type
- widget type,
+ columnWidth
- widget width from 1 to 12,
+ cnlNums
- channel numbers.
+
+ Widgets of the following types are supported:
+ Chart
- a chart of the specified channels,
+ CurData
- a table contains current data of the specified channels,
+ View
- a view having the specified ID,
+ CustomUrl
- custom web page.
+
Widgets of the Chart
type support attributes that match the query string parameters described in the Chart Pro Plugin documentation. When events are filtered by view, the filter uses the channel numbers specified in the cnlNums
attributes of the widgets.
Elastic Report Plugin allows to generate reports according to a custom configuration. Using this plugin, you can build almost any desired report. A user simply selects the period and clicks the generate report button. Report configurations are created by an administrator. Download the plugin using the link.
+ +Elastic Report Plugin is installed according to the instructions. During installation, complete the following additional step: copy the PlgElasticReport.xml
file from the plugin distribution into your project. The file should be displayed in the project explorer under the Webstation > Configuration Files node.
A report consists of a set of sections, which are listed in the output document, one by one. Each section has its own type, parameters, and data binding. In addition, the report has the general parameters that affect all sections. The same report can be generated in a variety of formats. Currently supported PDF, Excel and HTML formats. The appearance of the same report, generated in different formats may slightly differ.
+ +Each report form requires the creation of a separate configuration file in XML format. The configuration file specifies the report formatting and determines the binding of report data to channels. This file should be saved in the views directory or a subdirectory within the project.
+ +Configuration files may be edited using any text editor. For example, the free editor Notepad++ is convenient for working with XML files.
+An example report file ElasticReport1.xml
is contained in the plugin installation package. This example includes a detailed description of the options and demonstrates the generation of report sections of all possible types.
The main elements of the report configuration file:
+InputOptions
element contains options for the input report form, with which a user enters the report parameters and starts generating the document.OutputOptions
element contains formatting options for the generated document.Document
element defines the content of the report.
+ DocumentOptions
element specifies basic options that apply to the entire document.Section
element describes a report section containing data. A report includes one or more sections of various types.The supported section types:
+TimeData
section displays channel data for the selected time period. Channels are displayed horizontally, timestamps are displayed vertically.TimeTime
section displays data of one channel in a compact form. Timestamps are displayed in the horizontal and vertical section headers.DataData
section displays data in a table form. Each cell can be linked to its own channel.The plugin provides the generation of reports based on historical data. Reports on current data and events are not supported. When choosing a historical archive for a report, it is recommended to give preference to an archive with a data writing period that matches or is close to the step of the report sections. This will avoid fetching unnecessary data.
+ +The PlgElasticReport.xml
configuration file contains a list of reports divided into groups, which are displayed on the Main Menu > Reports page. Example of file contents:
<?xml version="1.0" encoding="utf-8" ?>
+<PlgElasticReport>
+ <ReportGroup name="Elastic Reports" isPublic="false" objNum="0">
+ <ReportItem reportID="1" isPublic="false" objNum="0" config="Reports\ElasticReport1.xml" prefix="MyRep" cnlNums="">My report</ReportItem>
+ </ReportGroup>
+</PlgElasticReport>
+
+
+ The ReportGroup
element attributes:
+ name
- the display name of the report group;
+ isPublic
- a value indicating whether the group is public, that is, available to all users;
+ objNum
- the number of the object to which reports of the group belong. Restricts the group visibility according to a user's access rights to the object.
+
+ The ReportItem
element attributes:
+ reportID
- the report identifier, unique within the configuration file;
+ isPublic
- a value indicating whether the report is public, that is, available to all users;
+ objNum
- the number of the object to the report belong. Restricts the report visibility according to a user's access rights to the object;
+ config
- the path of the report form configuration file relative to the views directory,
+ prefix
- the file name prefix used when downloading the report,
+ cnlNums
- the predefined channel numbers for which the report is generated.
+
You can customize your own report styles, including fonts, colors, cell sizes, etc. For each report format, styles are configured separately.
+ +The PdfStyleDefault.xml
and PdfStyleCustom.xml
files specify the formatting of reports in PDF format. These files are located in the web application directory ScadaWeb\wwwroot\plugins\ElasticReport\templates
. The PdfStyleDefault.xml
file contains the default styles and should remain unchanged. Custom styles are added to the PdfStyleCustom.xml
file. When creating custom styles, you can inherit new styles from existing ones or override existing styles.
Similarly, the ExcelStyleDefault.xml
and ExcelStyleCustom.xml
files, located in the same directory, specify the formatting of reports in Excel format. The ExcelStyleDefault.xml
file contains default styles and should remain unchanged. Custom styles are added to the ExcelStyleCustom.xml
file. Please note that PDF and Excel style file formats are different.
The html-style-default.scss
and html-style-custom.css
files define the display of reports in HTML format. The files are located in the ScadaWeb\wwwroot\plugins\ElasticReport\css
directory. Custom styles are added to the html-style-custom.css
file using Cascading Style Sheets (CSS) rules.
When generating reports in PDF format, the Arial font is used by default. If the required font is not available in the operating system, it is replaced with the built-in Segoe WP font. To change the report font, edit the styles file.
+The font search is performed using the following algorithm:
+C:\Windows\Fonts
directory, on Linux in the /usr/share/fonts/truetype directory
FontFamily.ttf
, FontFamily-Regular.ttf
FontFamilyb.ttf
, FontFamilybd.ttf
, FontFamily-Bold.ttf
FontFamilyi.ttf
, FontFamily-Italic.ttf
, FontFamily-Oblique.ttf
FontFamilybi.ttf
, FontFamily-BoldItalic.ttf
, FontFamily-BoldOblique.ttf
The default fonts usually do not contain characters for languages such as Chinese and Korean. To generate reports in such languages, it is recommended to install the Arial Unicode MS font. On Windows, the font installation is required for all users so that the font file is placed in the C:\Windows\Fonts
directory.
In generated reports in Excel format, only the font name is specified; the font itself is not included in the report file. The default font is Arial. When a file is opened in Microsoft Excel or Libre Office Calc, the application loads the font from the system. If the font is missing, automatic replacement is used. You can change the font using the styles file.
+Cet article fournit les commandes pour les systèmes d’exploitation Ubuntu et Debian. Si vous installez Rapid SCADA sur d’autres OS que Linux, utilisez les commandes appropriées.
+ +Installez ASP.NET Core Runtime 6.0.x en suivant les instructions.
+Si l’installation de .NET depuis le dossier est impossible, suivez l’installation manuelle décrite si dessous :
+/usr/share/dotnet/
dotnet
exécutable :
+ sudo chmod +x /usr/share/dotnet/dotnet
+ dotnet
:
+ sudo ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet
+ sudo dpkg -i rapidscada_VERSION_all.deb
+ scada
vers /opt/scada
sudo chmod +x /opt/scada/make_executable.sh
+sudo /opt/scada/make_executable.sh
+ daemons
vers /etc/systemd/system
sudo systemctl enable scadaagent6.service
+sudo systemctl enable scadaserver6.service
+sudo systemctl enable scadacomm6.service
+sudo systemctl enable scadaweb6.service
+ sudo mkdir /var/log/scada
+ /etc/fstab
, et ajoutez les lignes suivantes au fichier
+ tmpfs /var/log/scada tmpfs defaults,noatime,size=100m 0 0
+ sudo apt update
+sudo apt install nginx
+ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/nginx-selfsigned.key -out /etc/ssl/certs/nginx-selfsigned.crt
+ nginx/default
vers /etc/nginx/sites-available
après avoir sauvegardé les fichiers existants.sudo reboot
+ /etc/fstab
sudo dpkg -r rapidscada
+ sudo systemctl disable scadaagent6.service
+sudo systemctl disable scadaserver6.service
+sudo systemctl disable scadacomm6.service
+sudo systemctl disable scadaweb6.service
+ /etc/systemd/system
/opt/scada
avec tout son contenu.Rapid SCADA supporte des modules additionnels qui permettent d’étendre les fonctionnalités de l’application. Vous pouvez trouver les modules disponibles dans la section Téléchargement du site web officiel et dans le Module Store. La version du module installé doit être compatible avec la version installée de Rapid SCADA. Les informations de compatibilité est fournit sur la page sur les modules dans le Module Store. Les modules publiés dans la section Téléchargement sont compatibles avec la version courante de Rapid SCADA.
+ +La séquence d’installation d’un nouveau module ou pour le mettre à jour pour l’application Server est la suivante :
+ScadaAdmin\Lang\*.xml | +Fichiers de langue de l’UI pour l’application Administrator | +
ScadaAdmin\Lib\*.View.dll | +Bibliothèque d’UI pour l’application Administrator | +
ScadaServer\Config\*.xml | +Configuration du module à copier dans le projet | +
ScadaServer\Mod\*.Logic.dll | +Bibliothèque logique de modules pour l’application Server | +
Voici la séquence d’installation d’un nouveau pilote ou de mise à jour d’un pilote existant de l’application Communicator :
+ScadaAdmin\Lang\*.xml | +Fichiers de langue de l’UI pour l’application Administrator | +
ScadaAdmin\Lib\*.View.dll | +UBibliothèque d’UI pour l’application Administrator. | +
ScadaComm\Drv\*.Logic.dll | +Bibliothèque logique de pilote pour l’application Communicator. | +
Les modules supplémentaires pour l’application Webstation sont appelés plugins. La séquence d’installation d’un nouveau plugin ou de mise à jour d’un plugin existant est la suivante :
+ScadaAdmin\Lib\*.View.dll | +Bibliothèque d’interface utilisateur pour l’application Administrator. | +
ScadaWeb\config\*.xml | +Configuration du plugin à copier dans le projet. | +
ScadaWeb\lang\*.xml | +Fichiers de langue du plugin pour l’application Webstation | +
ScadaWeb\wwwroot\*.* | +Fichiers de plugin statiques pour l’application Webstation. | +
ScadaWeb\*.dll | +Bibliothèques de plugins pour l’application Webstation. | +
Rapid SCADA requiert Internet Information Services (IIS) et .NET Runtime pour être installé. Selon la version de Windows, la procédure d’installation de certains composants pourrait varier.
+ +Ouvrez Panneau de configuration > Programmes > Activer ou désactiver des fonctionnalités Windows et sélectionnez Internet Information Services. La sélection des fonctionnalités enfant à IIS peuvent être couchées par défaut.
+ + +Téléchargez depuis ce lien et installez ASP.NET Core Runtime 6.0.x (Hosting Bundle) et .NET Desktop Runtime.
+ + +Après que l’installation des composants soit terminée, ouvrez Panneau de configuration > Système et sécurité > Outils d’administration > Gestionnaire des services Internet (IIS), naviguez dans Modules, assurer vous qu’AspNetCoreModuleV2
est installé. Si le module est manquant, réinstallez Hosting Bundle.
Télécharger et décompressez le package de distribution Rapid SCADA. Lancez le fichier ScadaSetup.exe
pour ouvrir l’installeur comme vu sur les captures ci-dessous. L’installation doit être réalisée avec le compte administrateur. Cliquez sur le bouton Install pour ouvrir les options d’installation.
Note: Si l’installateur ne démarre pas, ouvrez les fichiers de *.dll
, *.exe
et débloquez les fichiers.
Le port http 80 est utilisé par le site web par défaut. Par conséquent, le programme d’installation suggère un port différent, tel que 10008. Pour utiliser le port 80 pour Rapid SCADA, le site Web par défaut doit être arrêté.
+Après que l’installation soit terminée correctement, ouvrez un navigateur web et parcourez http://localhost:10008
+ Nom d'utilisateur : admin
+ Mot de passe : scada
La première fois que l’application web se lance, cela peut prendre du temps dû au chargement des données, vous aurez besoin d’attendre environ 10 secondes et ensuite de rafraîchir la page de connexion. Par défaut, Rapid SCADA fonctionne avec le projet Hello Word. Si une erreur est rencontrée pendant la procédure d’installation, analysez-les en utilisant les logs d’installation. Utilisez le forum de support pour trouver une solution.
+ +TLes services Rapid SCADA écrivent activement des fichiers de log. Pour prolonger la durée de vie du disque dur et augmenter les performances du système, il est recommandé de configurer la journalisation sur le lecteur RAM. Voici la marche à suivre :
+ScadaInstanceConfig.xml
seront enregistrés, par exemple, R:\SCADA\
Si l’application web n’est pas utilisée, il s’arrête. Sur un serveur de production, il est préférable que l’application web fonctionne continuellement. Pour s’en assurer, démarrez Gestionnaire de Services Internet (IIS), sélectionnez l’application ScadaAppPool
,ouvrez les Réglages avancés de l’application, et définissez les options suivantes :
L’installateur permet de mettre à jour la version précédemment installée de Rapid SCADA version 6.
+ +Important
+La mise à jour fonctionne à la suite de ces instructions :
+Désinstaller Rapid SCADA est aussi possible via l’installeur. Par conséquent, il est recommandé de ne pas supprimer la distribution Rapid SCADA de votre ordinateur après l’installation.
+Les projets Rapid SCADA créés par les utilisateurs sont localisés dans le dossier Documents folder. Par conséquent, après la suppression de Rapid SCADA, les projets restent. Il n’est vraiment pas recommandé de sauvegarder les projets à l’intérieur du dossier d’installation, car ils pourraient être accidentellement supprimés par l’installateur.
+Installer Rapid SCADA manuellement fournit le contrôle total de l’installation du logiciel, sa mise à jour et sa suppression
+ +Installez ASP.NET Core Runtime 6.0.x (Hosting Bundle) et .NET Desktop Runtime depuis ce lien.
+Note: Si l’application web n’est pas requise sur Windows, passez le premier item et n’installez que .NET Desktop Runtime.
+C:\Program Files\SCADA
ScadaAgent\svc_install.bat
ScadaComm\svc_install.bat
ScadaServer\svc_install.bat
+ AspNetCoreModuleV2
est présent.ScadaAppPool
, définissez la version .NET CLR sur No Managed Code
.Identité
de LocalSystem
.ScadaWeb
, spécifiez le pool d’application créé, rendez disponible le port TCP et le chemin C:\Program Files\SCADA\ScadaWeb
Note: Le port http 80 est utilisé par le site web par defaut
. Utilisez un autre port comme 10008 ou arrêtez le site web par défaut
.
ScadaInstanceConfig.xml
, par exemple, R:\SCADA\
ScadaAdmin.exe
) sur le bureau.ScadaAgent\svc_stop.bat
ScadaAgent\svc_uninstall.bat
ScadaComm\svc_stop.bat
ScadaComm\svc_uninstall.bat
ScadaServer\svc_stop.bat
ScadaServer\svc_uninstall.bat
+ Si Rapid SCADA est utilisé dans un environnement d’entreprise, assurez-vous que les autres utilisateurs n’ont pas accès au répertoire d'installation de Rapid SCADA. Windows, ouvrez les propriétés du répertoire contenant les applications Rapid SCADA, choisissez l’onglet Security, vérifiez et configurez les droits d’accès.
+ +Configurez un serveur Web pour activer le protocole HTTPS pour l’application Webstation. Grâce à HTTPS, tout le trafic entre un navigateur et le serveur Web, y compris les mots de passe, est crypté.
+ +Utilisez un VPN pour fournir un accès aux utilisateurs externes. Si possible, évitez l’accès ouvert à Webstation depuis l’extérieur.
+ +Changez le mot de passe par défaut. Pour créer un mot de passe fort, utilisez un générateur de mot de passe, par exemple celui-ci. Si une entreprise utilise Active Directory, le paramétrage de l’authentification utilisateur Rapid SCADA basé sur Active Directory améliore la sécurité du système.
+Mots de passe devant être configurés :
+ScadaAgentConfig.xml
.Windows:
+Linux:
+La configuration hardware d’un serveur dépend de l’échelle du système automatisé. La configuration minimum est déterminée par les exigences du système d’exploitation.
+Par défaut, Rapid SCADA utilise ses propres systèmes de management de bases de données intégrées, l’installation d’un SGBD tiers n’est donc pas nécessaire. Le logiciel peut fonctionner sur des machines physiques ou virtuelles.
+ +Rapid SCADA est une plateforme d’automatisation industrielle open source. Le logiciel prêt à l’emploi fournit des outils de création rapide de système de surveillance et de contrôle.
+L’open source est la clef de la transparence et de la sécurité des logiciels. Le code open source est disponible sur GitHub. Rapid SCADA est délivré sous Apache License 2.0 qui permet la création de nouveaux produits logiciels dérivés.
+Rapid SCADA est le choix parfait pour la création d’importants systèmes d’automatisation industrielle distribués. Rapid SCADA fonctionne sur serveur, sur calculateurs embarqués et sur le cloud. Les nœuds Rapid SCADA échangent des informations entre eux, et interagissent avec des bases de données externes en temps réel.
+Les principales classes de systèmes développées utilisées par Rapid SCADA sont les suivantes :
+Général | +|
---|---|
Familles de systèmes d’exploitation prises en charge | +Windows, Linux | +
Nombre illimité de canaux, tags et appareils | +✓ | +
Configuration et maintenance à distance des projets | +✓ | +
Travail simultané sur des projets avec GIT | +✓ | +
Support technique gratuit et payant | +✓ | +
Sécurité | +|
HTTPS, SSL | +✓ | +
Protection contre les attaques par force brute | +✓ | +
Captcha à la connexion | +✓ | +
Surveillance des connexions | +✓ | +
Cryptage du mot de passe | +✓ | +
Journalisation de l’activité des utilisateurs | +✓ | +
Redondace | +|
Serveur principal et serveur de sauvegarde avec synchronisation automatique des données | +✓ | +
Serveurs centraux et distants avec synchronisation automatique des données | +✓ | +
Mise en miroir | +✓ | +
Archivage | +|
Stockage des données | +Fichiers, PostgreSQL, InfluxDB | +
Nombre maximum d’archives indépendantes | +31 | +
Période d’écriture | +✓ | +
Écriture sur le changement | +✓ | +
Connectivité | +|
Intégration avec des bases de données | +Oracle, MS SQL, MySQL, PostgreSQL | +
Protocoles industriels | +OPC UA, OPC Classic, Modbus, MQTT, SNMP, etc. | +
Programmation | +|
REST API | +✓ | +
Exemples de modules avec code source | +✓ | +
Documentation pour les développeurs | +✓ | +
sudo mkdir /var/log/scadasudo mkdir /var/log/scada
+ sudo mkdir /var/log/scada
/etc/fstab
указанную нижу строку, предварительно сохранив резервную копию существующего файла.
tmpfs /var/log/scada tmpfs defaults,noatime,size=100m 0 0
diff --git a/ScadaDoc/ScadaDoc/Pages/Ru/Version61/Modules/PlgChartPro.cshtml b/ScadaDoc/ScadaDoc/Pages/Ru/Version61/Modules/PlgChartPro.cshtml
index 2f71f48af..0bfe01adc 100644
--- a/ScadaDoc/ScadaDoc/Pages/Ru/Version61/Modules/PlgChartPro.cshtml
+++ b/ScadaDoc/ScadaDoc/Pages/Ru/Version61/Modules/PlgChartPro.cshtml
@@ -10,7 +10,12 @@
Плагин Графики Про поддерживает работу в режиме представлений, при котором узел графика добавляется в дерево представлений Вебстанции. Чтобы показать график как представление, необходимо добавить в таблицу представлений строку следующего вида:
+ +Поле Путь содержит путь в дереве представлений. Тип представления - График Про. Аргументы представления соответствуют параметрам строки запроса, описанным выше.
Плагин Дэшборды отображает полезные виджеты на дэшбордах: графики, текущие данные и произвольные фреймы, например, изображение с камеры видео-наблюдения. Настройки каждого дэшборда позволяют задать количество столбцов и соотношение сторон виджетов. Скачать плагин можно по ссылке. Внешний вид плагина Дэшборды показан на следующем рисунке.
+Установка плагина Дэшборды выполняется по инструкции. В ходе установки каких-либо нестандартных действий не требуется.
Конфигурация каждого дэшборда сохраняется в отдельном файле формата XML. Пример файла дэшборда Dashboard1.xml содержится в установочном пакете плагина. Файлы дэшбордов должны располагаться в директории представлений.
+Чтобы дэшборды появились в дереве представлений Вебстанции, в проекте необходимо выполнить следующие настройки:
+Необходимо явно указать тип представления, потому что приложение Вебстанция не может автоматически определить тип по расширению файлов xml.
+Дэшборд состоит из виджетов. Расположением виджетов на дэшборде управляет табличная система Bootstrap. Виджеты располагаются по строкам, каждая из которых может содержать до 12 виджетов. Для виджета можно задать ширину от 1 до 12, таким образом, чтобы суммарная ширина виджетов в строке была равна 12. Если ширина виджета не указана, она рассчитывается автоматически. Точка разрыва определяет ширину веб-страницы, больше которой виджеты отображаются на одной строке, в противоположном случае виджеты отображаются один под другим.
+Рассмотрим содержимое файла дэшборда:
-<?xml version="1.0" encoding="utf-8" ?>
+<DashboardView>
+ <DashboardOptions>
+ <!-- Widget AspectRatio = Width / Height -->
+ <AspectRatio>1.33</AspectRatio>
+ <!-- Breakpoint: ExtraSmall | Small | Medium | Large | ExtraLarge | ExtraExtraLarge -->
+ <Breakpoint>Small</Breakpoint>
+ </DashboardOptions>
+ <Widgets>
+ <!-- The total width of the columns in a line is 12 -->
+ <Row>
+ <Widget type="Chart" columnWidth="5" cnlNums="101,102" />
+ <Widget type="Chart" columnWidth="4" cnlNums="101,103" mode="fixed" period="-2" title="Sample Chart" profile="PlgChartPro.xml" />
+ <Widget type="CurData" columnWidth="3" cnlNums="101-105" title="Sample Data" />
+ </Row>
+ <Row columnCount="2">
+ <Widget type="View" viewID="2" />
+ <Widget type="CustomUrl" url="https://www.youtube.com/embed/xAieE-QtOeM" />
+ </Row>
+ </Widgets>
+</DashboardView>
-
+ Секция DashboardOptions
содержит общие параметры дэшборда:
+ AspectRatio
- отношение ширины виджетов к высоте,
+ Breakpoint
- точка разрыва.
+
Секция Widgets
содержит список виджетов, которые отображаются на дэшборде. Количество виджетов на дэшборде произвольное, но не более 12 на одной строке. Следует учитывать, что слишком большое количество виджетов на одном дэшборде может снизить быстродействие веб-приложения.
+ Атрибут элемента Row
:
+ columnCount
- количество столбцов, на которые разбиваются виджеты данной строки. Если для строки указан атрибут columnCount
, то для виджетов этой строки атрибут columnWidth
не требуется.
+
+ Основные атрибуты элемента Widget
:
+ type
- тип виджета,
+ columnWidth
- ширина виджета от 1 до 12,
+ cnlNums
- номера каналов.
+
+ Поддерживаются виджеты следующих типов:
+ Chart
- график заданных каналов,
+ CurData
- таблица текущих значений заданных каналов,
+ View
- представление с указанным идентификатором,
+ CustomUrl
- произвольная веб-страница.
+
Виджеты типа Chart
поддерживают атрибуты, которые совпадают с параметрами строки запроса, описанными в документации на плагин Графики Про. При фильтрации событий по представлению используются номера каналов, заданные в атрибутах cnlNums
виджетов.
Плагин Гибкий отчёт позволяет генерировать отчёты в соответствии с пользовательской конфигурацией. С помощью данного плагина Вы можете построить практически любой необходимый отчёт. Пользователю достаточно выбрать период и нажать на кнопку генерации отчёта. Конфигурации отчётов предварительно создаются администратором. Скачать плагин можно по ссылке.
+ +Плагин Гибкий отчёт устанавливается по инструкции. В ходе установки выполните дополнительное действие: скопируйте файл PlgElasticReport.xml
из дистрибутива плагина в свой проект. Файл должен отображаться в проводнике проекта внутри узла Вебстанция > Конфигурационные файлы.
Отчёт состоит из секций, которые выводятся в выходной документ одна за другой. Каждая секция имеет свой тип, параметры и привязку к данным. Кроме того, отчёт имеет общие параметры, влияющие на все секции. Один и тот же отчёт может быть сгенерирован в различных форматах. В настоящий момент поддерживаются форматы PDF, Excel и HTML. При этом внешний вид одного и того же отчёта, сгенерированного в разных форматах, может незначительно отличаться.
+ +Для каждой отчётной формы создаётся отдельный файл конфигурации в формате XML. Файл конфигурации задаёт форматирование отчёта и определяет привязку данных отчёта к каналам. Этот файл должен быть сохранён в директории представлений или в её поддиректории внутри проекта.
+ +Редактирование файлов конфигурации может осуществляться в любом текстовом редакторе. Например, бесплатный редактор Notepad++ удобен для работы с XML-файлами.
+Пример файла отчёта ElasticReport1.xml
содержится в установочном пакете плагина. Данный пример включает подробное описание параметров настройки и демонстрирует формирование секций отчёта всех возможных типов.
Основные элементы файла конфигурации отчёта:
+InputOptions
содержит настройки входной формы отчёта, с помощью которой пользователь вводит параметры отчёта и запускает формирование документа.OutputOptions
содержит настройки форматирования генерируемого документа.Document
определяет содержимое отчёта.
+ DocumentOptions
задаёт основные параметры, относящиеся ко всему документу.Section
описывает секцию отчёта, содержащую данные. Отчёт включает одну или несколько секций различных типов.Поддерживаемые типы секций:
+TimeData
отображает данные каналов за выбранный период времени. По горизонтали расположены каналы, по вертикали - временные точки.TimeTime
отображает данные одного канала в компактной форме. По горизонтали и вертикали расположены временные точки.DataData
отображает данные в форме таблицы, каждая ячейка которой может быть привязана к своему каналу.Плагин позволяет формировать отчёты по историческим данным. Отчёты по текущим данным и событиям не поддерживаются. При выборе исторического архива, на основе которого строится отчёт, рекомендуется отдавать предпочтение архиву с периодом записи данных, совпадающим или близким к шагу секций отчёта. Это позволит избежать выборки лишних данных.
+ +Конфигурационный файл PlgElasticReport.xml
содержит список отчётов по группам, которые отображаются на странице Главное меню > Отчёты. Пример содержимого файла:
<?xml version="1.0" encoding="utf-8" ?>
+<PlgElasticReport>
+ <ReportGroup name="Elastic Reports" isPublic="false" objNum="0">
+ <ReportItem reportID="1" isPublic="false" objNum="0" config="Reports\ElasticReport1.xml" prefix="MyRep" cnlNums="">My report</ReportItem>
+ </ReportGroup>
+</PlgElasticReport>
+
+
+ Атрибуты элемента ReportGroup
:
+ name
- отображаемое наименование группы отчётов;
+ isPublic
- является ли группа публичной, то есть доступной всем пользователям;
+ objNum
- номер объекта, к которому относятся отчёты группы. Ограничивает видимость группы в соответствии с правами пользователя на объект.
+
+ Атрибуты элемента ReportItem
:
+ reportID
- идентификатор отчёта, уникальный в пределах конфигурационного файла;
+ isPublic
- является ли отчёт публичным, то есть доступным всем пользователям;
+ objNum
- номер объекта, к которому относится отчёт. Ограничивает доступность отчёта в соответствии с правами пользователя на объект;
+ config
- путь к файлу конфигурации отчётной формы относительно директории представлений,
+ prefix
- префикс имени файла, используемый при скачивании отчёта,
+ cnlNums
- фиксированные номера каналов, по которым строится отчёт.
+
Имеется возможность настроить собственные стили отчётов: шрифты, цвета, размеры ячеек и т.д. Для каждого формата отчётов стили настраиваются отдельно.
+ +Файлы PdfStyleDefault.xml
и PdfStyleCustom.xml
задают форматирование отчётов в формате PDF. Эти файлы расположены в директории веб-приложения ScadaWeb\wwwroot\plugins\ElasticReport\templates
. Файл PdfStyleDefault.xml
содержит стили по умолчанию и должен оставаться неизменным. Пользовательские стили добавляются в файл PdfStyleCustom.xml
. Создавая пользовательские стили, можно наследовать новые стили от существующих или переопределять существующие стили.
Аналогично файлы ExcelStyleDefault.xml
и ExcelStyleCustom.xml
, расположенные в той же директории, задают форматирование отчётов в формате Excel. Файл ExcelStyleDefault.xml
содержит стили по умолчанию и должен оставаться неизменным. Пользовательские стили добавляются в файл ExcelStyleCustom.xml
. Будьте внимательны, форматы файлов стилей PDF и Excel отличаются.
Файлы html-style-default.scss
и html-style-custom.css
определяют отображение отчётов в формате HTML. Файлы расположены в директории ScadaWeb\wwwroot\plugins\ElasticReport\css
. Пользовательские стили добавляются в файл html-style-custom.css
по правилам каскадных таблиц стилей (CSS).
При формировании отчётов в формате PDF по умолчанию используется шрифт Arial. Если требуемый шрифт отсутствует в операционной системе, он заменяется на встроенный шрифт Segoe WP. Чтобы изменить шрифт отчётов, необходимо отредактировать файл стилей.
+Поиск шрифта для загрузки происходит по следующему алгоритму:
+C:\Windows\Fonts
, на Linux - в директории /usr/share/fonts/truetype
FontFamily.ttf
, FontFamily-Regular.ttf
FontFamilyb.ttf
, FontFamilybd.ttf
, FontFamily-Bold.ttf
FontFamilyi.ttf
, FontFamily-Italic.ttf
, FontFamily-Oblique.ttf
FontFamilybi.ttf
, FontFamily-BoldItalic.ttf
, FontFamily-BoldOblique.ttf
Установленные по умолчанию шрифты обычно не содержат символов таких языков как китайский и корейский. Для формирования отчётов на таких языках рекомендуется установить шрифт Arial Unicode MS. На Windows установка шрифта должна производиться для всех пользователей, чтобы файл шрифта был помещён в директорию C:\Windows\Fonts
В генерируемых отчётах в формате Excel указывается только наименование шрифта, сам шрифт не включается в файл отчёта. По умолчанию используется шрифт Arial. При открытии файла с помощью Microsoft Excel или Libre Office Calc шрифт загружается приложением из системы. Если шрифт отсутствует, используется автоматическая замена. Изменить шрифт можно с помощью файла стилей.
+@WebUtils.HtmlEncodeWithBreak(Model.ErrorMessage ?? dict.ErrorMessage)
+@WebUtils.HtmlEncodeWithBreak(Model.ErrorMessage ?? dict.ErrorMessage)
+ + @if (!string.IsNullOrEmpty(Model.ReturnUrl)) + { + @dict.btnReturn + }`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n// 2. Add explicit cursor to indicate changed behavior.\n// 3. Prevent the text-decoration to be skipped.\n\nabbr[title] {\n text-decoration: underline dotted; // 1\n cursor: help; // 2\n text-decoration-skip-ink: none; // 3\n}\n\n\n// Address\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\n\n// Lists\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // 1\n}\n\n\n// Blockquote\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n\n// Strong\n//\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Small\n//\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n\n// Mark\n\nmark {\n padding: $mark-padding;\n background-color: var(--#{$prefix}highlight-bg);\n}\n\n\n// Sub and Sup\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size($sub-sup-font-size);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: rgba(var(--#{$prefix}link-color-rgb), var(--#{$prefix}link-opacity, 1));\n text-decoration: $link-decoration;\n\n &:hover {\n --#{$prefix}link-color-rgb: var(--#{$prefix}link-hover-color-rgb);\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-code;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: var(--#{$prefix}code-color);\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(1em);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n//\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\n\n// Tables\n//\n// Prevent double borders\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding-y;\n padding-bottom: $table-cell-padding-y;\n color: $table-caption-color;\n text-align: left;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `