Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
en:sw:01-mervis:storing-data-to-mervis-db-hidden [2020/05/25 14:37]
avsetula
en:sw:01-mervis:storing-data-to-mervis-db-hidden [2024/04/03 09:37]
avsetula
Line 1: Line 1:
 ====== Storing data into Mervis DB ====== ====== Storing data into Mervis DB ======
-In this tutorial, we are going to demonstrate how to use cloud-based [[en:​sw:​01-mervis:​03-mervis-db|Mervis DB]] for long-term storing of data from UniPi controllers running Mervis.+<WRAP group> 
 +<WRAP half column 81%> 
 +In this tutorial, we are going to demonstrate how to use history logs for long-term storing of data from Unipi controllers running Mervis ​OS 
 +</​WRAP>​ 
 +<WRAP half column 15%> 
 +;;# 
 +<​html><​span class="​dev-tag dev-patron">​Patron</​span></​html>​ \\ 
 +<​html><​span class="​dev-tag dev-neuron">​Neuron</​span></​html>​ \\ 
 +<​html><​span class="​dev-tag dev-gate">​Gate</​span></​html>​ \\ 
 +<​html><​span class="​dev-tag dev-unipi11">​Unipi&​nbsp1.1</​span></​html>​ \\ 
 +<​html><​span class="​dev-tag dev-axon">​Axon</​span></​html>​ 
 +;;# 
 +</​WRAP>​ 
 +</​WRAP>​
  
-===== Prerequisites ​=====+<WRAP center round box> 
 +<​html><​span class="​kbBlue-H4alt">​Prerequisites</​span></​html>​ 
 +  * Unipi controller running Mervis OS 
 +  * 24 V⎓ power supply 
 +  * Mervis IDE project created according to [[storing-data-to-history-log-hidden|Storing data to history log]] 
 +  * [[en:​sw:​01-mervis:​03-mervis-db|Mervis DB]] credentials 
 +</​WRAP>​
  
-  * UniPi controller running Mervis OS +<WRAP center round info> 
-  * Temperature regulator project from the [[en:​sw:​01-mervis:​attaching-1-wire-devices-hidden#​download|Attaching 1-Wire devices]] tutorial. +The Mervis DB credentials ​are generated together with the Mervis SCADA project and are intended for all PLCs that are connected ​to this SCADA project. ​
-  * 24V power supply +
-  * 1-Wire temperature sensor +
-  * [[en:​sw:​01-mervis:​03-mervis-db|Mervis DB]] credentials ​([[en:​sw:​01-mervis:​getting-mervis-licence-hidden|tutorial]] how to obtain it)+
  
-In this tutorial, we will use [[https://​www.unipi.technology/​cs/​unipi-neuron-l523-p329|Unipi Neuron L523]].+----
  
-===== Setting the storage ===== +If you are only interested in the Mervis DB without Mervis SCADAplease [[https://​www.unipi.technology/​contacts|contact our sales department]] for an individual offer. 
-If you followed ​the **Prerequisites**your workspace should look like this:+</​WRAP>​
  
-{{ :​en:​sw:​01-mervis:​storing-data-to-mervis-db-01-workspace.png?​direct |}} 
  
-First, we will configure the connection parameters ​to Mervis DB. Select the PLC in the **Left panel**.+===== PLC properties settings ===== 
 +The first step is to  ​[[storing-data-to-history-log-hidden#​memory_storage_settings|set up the storage]].
  
-{{ :en:sw:01-mervis:​storing-data-to-mervis-db-02-mervis-db-parameters.png?​direct |}}+/* Přeložit z CZ rozděleno na dva odstavce */
  
-In the **Properties panel** ​you need to change ​the **History Runtime Identification**. This property is used as a name of the PLC for identification in the Mervis DB Viewer. Set it to something descriptivee.g. location of the PLC or its function.+If you wish to use the Mervis DB service to back up variables using our servers, ​you need to set its communication parameters first. In the **left panel**, select ​PLC. 
  
-Lower in the PLC's properties ​is section **Mervis DB Parameters**. Set the values ​as follows:+{{ :​en:​sw:​01-mervis:​storing-data-to-mervis-db-02.png?​direct |}} 
 + 
 +Approximately ​in the middle of the PLC's properties ​section **Mervis DB Parameters** ​is located. Set its values ​to the following:
  
   * **Enable**: set to true to enable the logging   * **Enable**: set to true to enable the logging
Line 29: Line 47:
   * **Communication period [min]**: this is the period in which the PLC will send the gathered data   * **Communication period [min]**: this is the period in which the PLC will send the gathered data
   * **Certificate validation**:​ set to ''​FALSE''​ by default, more info in the [[en:​sw:​01-mervis:​ssl-certification-validation-hidden|Certificate validation]]   * **Certificate validation**:​ set to ''​FALSE''​ by default, more info in the [[en:​sw:​01-mervis:​ssl-certification-validation-hidden|Certificate validation]]
-  * **Username**:​ the Mervis DB username ​you obtained from your account on [[http://​unipi.technology|unipi.technology]] +  * **Username**:​ the Mervis DB username 
-  * **Password**:​ the Mervis DB password ​you obtained from your account on [[http://​unipi.technology|unipi.technology]]+  * **Password**:​ the Mervis DB password
  
-Since we changed the configuration of the PLC, we need to upload it. Right click on the PLC in the **Left panel** and select the <​html><​span class="​avBlueText">​PLC Operation<​/span><​/html> -> <​html><​span class="​avBlueText">​PLC Setup</span><​/html> -> <​html><​span class="​avBlueText">​Upload configuration<​/span></​html>​. If you are not sure, check out the [[en:​sw:​01-mervis:​updating-a-runtime-configuration-hidden|Uploading a RunTime configuration]] tutorial.+<WRAP center round info 90%> 
 +Mervis DB credentials are available ​in the [[https://www.unipi.technology/customer/scada/|Mervis SCADA project administration]] (customer portal). 
 +</​WRAP>​
  
-{{ :​en:​sw:​01-mervis:​storing-data-to-mervis-db-03-upload-configuration.png?direct |}}+<WRAP center round tip 90%> 
 +Observant users probably realized we just entered a second different time parameter, namely the **Communication period**
  
-You will be asked how to connect to the PLC. If you are on the same network, you can select **UDP Broadcast**,​ otherwise use the **Deploy parameters** and confirm by clicking on **OK**. +What'​s ​the difference?
- +
-{{ :​en:​sw:​01-mervis:​storing-data-to-mervis-db-04-probing-method.png?direct |}} +
- +
-Next we need to define a **History log** into which we will set variables for storing. In the **Left panel** right click on the **History** and from the context menu select the **Add New History**. +
- +
-{{ :​en:​sw:​01-mervis:​storing-data-to-mervis-db-05-add-new-history.png?​direct |}} +
- +
-A new **History log** will appear under the **History** in the **Left panel**. Select it a move over to the **Properties panel**. +
- +
-{{ :​en:​sw:​01-mervis:​storing-data-to-mervis-db-06-history-properties.png?​direct |}} +
- +
-Change the **History log** properties accordingly:​ +
-  * **History Saved on PLC**: enable the saving of this log by setting the value to ''​true''​ +
-  * **Type**: set to ''​Synchronous''​ +
-  * **Save Period**: this will set the period of saving the variable values for this History log.+
  
 +The Save Period defines how often the PLC will sample variable values. The Communication Period is how often the PLC will send those samples to the Mervis DB. 
 \\ \\
-<WRAP center round tip 80%> +  * **Communication Period** defines how often will PLC send data to Mervis DB. Can be set in **PLC Properties** 
-As you can see, we already configured two different time period parameters: The Communication Period in PLC's properties and the Save Period in the History'​s log. So what is the difference between them? +  ​* ​**Save Period** ​determines ​how often will PLC parse variable values. ​Can be configured in the **History log**. 
- +
-The **Save Period** ​defines ​how often the PLC will sample ​variable values. ​The **Communication Period** is how often the PLC will send those samples to the Mervis DB.+
 </​WRAP>​ </​WRAP>​
-\\ 
  
-We defined ​the **History log** and now we can add some variables ​to it. In the **Main window** you should see the main program canvas. Simply right-click on the office_Temperature global variable and in the context menu click on the **Add to History**. A similar method can be used to add variables into history directly from the **Variable Browser**.+Since we changed ​the configuration of the PLC, we need to upload ​it. Right click on the PLC in the **Left panel** and select the <​html><​span class="​avBlueText">​PLC Operation</​span></​html>​ ->​ <​html><​span class="​avBlueText">​PLC Setup</​span></​html>​ ->​ <​html><​span class="​avBlueText">​Upload configuration</​span></​html>​If you are not sure, check out the [[en:​sw:​01-mervis:​updating-a-runtime-configuration-hidden|Uploading a RunTime configuration]] tutorial.
  
-{{ :​en:​sw:​01-mervis:​storing-data-to-mervis-db-07-add-to-history.png?direct |}}+{{ :​en:​sw:​01-mervis:​storing-data-to-mervis-db-03-upload-configuration.png?direct |}}
  
-**Add to History** dialog will appearSelect ​the correct history log and click on **OK**.+You will be asked how to connect to the PLC. If you are on the same network, you can select ​**UDP Broadcast**. If not (ie. you connect to the PLC via Mervis Proxyn), select **Use deploy parameters** ​and confirm by clicking ​on **OK**.
  
-{{ :​en:​sw:​01-mervis:​storing-data-to-mervis-db-08-add-to-history-dialog.png?direct |}}+{{ :​en:​sw:​01-mervis:​storing-data-to-mervis-db-04-probing-method.png?direct |}}
  
-And repeat ​the process for the rest of the variables. After you finish, double click on the history log in the **Left panel**. ​A complete list of variables assigned to the history log will appear as a new tab in the **Main window**.+Deploy ​the solution, start the Debugging Mode and open the **System status** tab located ​on the **main panel**. ​In the **MervisDB** section (or **RcWareDB** ​in older versions of the IDE), you can check if the PLC communicates with Mervis DB. If the **Communication interval [min]** is set to 1 minute, the **Records saved** value will increase every 60 seconds
  
-{{ :​en:​sw:​01-mervis:​storing-data-to-mervis-db-09-history-list.png?direct |}}+{{ :​en:​sw:​01-mervis:​storing-data-to-mervis-db-12-system-status.png?direct |}} 
  
-Deploy ​the solution, switch to Debugging mode and open the **System status** tab in the **Main window**In the **MervisDB** (for older IDE ** RcWareDB **) section you can checkwhether the communication of the PLC with Mervis DB works. If you left the **Communication Period [min]** set to 1 minute, the **Records saved** will increase each minute.+Let's move into the Mervis DB Viewer - a web tool for analyzing data stored by controllers. Open a web browser ​and enter [[https://​db.unipi.technology/​viewer|]] address. A login screen will appear - enter the login info used in the PLC settingsUpon entering themclick on **Set** and then on **Close**. 
  
-{{ :en:​sw:​01-mervis:​storing-data-to-mervis-db-12-system-status.png?​direct ​|}} +<WRAP center round box> 
 +If Mervis DB fails to display data even if you configured everything correctly, it is probably caused by the fact Mervis DB does not have any logged data yet. Close the Mervis DB Viewer and wait until the first log is uploaded - the required time for this varies depending on communication intervals set for the PLC and DB, or on the history log interval. The interval can be synchronous (eg. with a fixed upload time) or asynchronous (the interval depends on how long it takes for data to be logged). If the issue persists even then, check Mervis DB login and password, make sure the address is set correctly and also make sure you [[en:​sw:​01-mervis:​updating-a-runtime-configuration-hidden|uploaded the configuration into the PLC]] correctly. 
 +</​WRAP>​
  
-Now to the Mervis DB Viewer - a web-based tool for analyzing the data saved by PLCs. Open the web browser and enter the address [[https://​db.unipi.technology/​viewer|]]. You will be presented with the login screen, where you have to enter the same credentials you used in the PLC's settings. After filling the username and password, click on **Set** and then on **Close**. 
  
 {{ :​en:​sw:​01-mervis:​storing-data-to-mervis-db-10-mervis-db-viewer-login.png?​direct |}} {{ :​en:​sw:​01-mervis:​storing-data-to-mervis-db-10-mervis-db-viewer-login.png?​direct |}}
  
-You will be presented with the Mervis DB web interface. In the **Left panel**, ​you should see a device with the name you set as the **History ​Runtime Identification**. Click on it and you should see a list of variables you set to the History log. Select all of them and their values will be automatically charted.+Mervis DB web interface ​will open. In its **left panel** ​your PLC should be visibleidentified by the name you entered into **History ​runtime identification**. Check the box next to their names to start plotting their data in the graph.
  
 {{ :​en:​sw:​01-mervis:​storing-data-to-mervis-db-11-mervis-db-viewer-workspace.png?​direct |}} {{ :​en:​sw:​01-mervis:​storing-data-to-mervis-db-11-mervis-db-viewer-workspace.png?​direct |}}
  
-You can visually check that our simple temperature regulation works. You can use the mouse cursor ​to check the values ​of the charted data, set different ​chart types and periods and so on.+Using the cursor ​you can display parsed data values, set various ​different ​graph types and many more options.