Here you can find all the example projects supplied along with the Reliance 4 SCADA/HMI system. To view the detailed description of an example, please click on its name. To download the example, click on the Download button next to it.
All example projects below are a standard part of the Reliance 4 installation package.
Complete Archive
Type |
Project name |
Edited |
Download |
|
The ZIP archive contains all example projects shipped with the Reliance 4 SCADA/HMI system. Unpack the archive contents to the folder where you have installed Reliance 4. |
6/9/2021 |
The following tables contain the example projects divided into the thematic groups.
Demos
Type |
Project name |
Edited |
Download |
|
AirCondition is an interactive visualization project designed to demonstrate functions of basic graphical components. Simple scripts are also used in the project to simulate the environment in an office. The project is translated into several languages (English, Russian, Czech, Dutch, and Turkish). |
6/19/2009 |
|
|
BoilerRoom is an interactive project designed to demonstrate functions of basic components, such as Button, Display, Active Picture, Pipe, Progress Bar, and Real-Time Trend, for the visualization of the water-heating process in a central heating gas boiler. The project also demonstrates how to use alarms, trends, reports, and event and periodic scripts. Within the project, several users with different access rights are defined through the User Manager (you can log on with an empty password). A similar visualization project is created step by step during the Reliance 4 training courses. |
6/19/2009 |
|
|
Factory is an interactive project designed to demonstrate functions of basic components, such as Button, Display, Pipe, Picture, Progress Bar, for the visualization of a simple chemical production process. Four basic chemicals are mixed together in a boiler (the mixing ratio can be defined manually or via recipes). The final product is stored in a tank and fed to moving tank trucks. A truck is represented as a picture and a progress bar grouped together. The movement of the truck is achieved by dynamically changing the X coordinate using scripts. |
6/19/2009 |
|
|
SMS is a project designed to demonstrate sending and processing text messages via scripts. To successfully run the project, it is required that SMS Driver be installed and a GSM modem connected (e.g., Siemens M20 Terminal). |
4/4/2014 |
|
|
Tannery is a project designed to demonstrate how to use the Reliance SCADA/HMI system for the control of the chemical process of leather tanning. The project contains about 250 tags and is based on a real industrial process. |
6/19/2009 |
Alarms/Events
Type |
Project name |
Edited |
Download |
|
SendAlarmsUsingGroups_Simple is a project designed to demonstrate how to send alarm/event information to certain users based on the alarm/event group defined in the project. The alarm/event information can be sent via E-mail or SMS (text messages) as the alarms/events occur, end, get acknowledged. |
5/29/2012 |
|
|
SendAlarmsUsingGroups_TwoAreas is a project designed to demonstrate how to send alarm/event information to certain users based on the alarm/event groups defined in the project. The alarm/event information can be sent via E-mail or SMS (text messages) as the alarms/events occur, end, get acknowledged. |
5/9/2011 |
Components
Type |
Project name |
Edited |
Download |
|
DataGrid is a simple project designed to demonstrate basic features of the Data Grid component. There are several tags defined within the System device that are displayed in the data grid's columns (Array_Value, Array_FgColor, and Array_BgColor) and tags that control the global behavior of the component (Offset, Position, and RowCount). The Array_FgColor tag controls the font color. The Array_BgColor tag controls the background color. These tags are initialized in scripts. |
6/19/2009 |
|
|
DataGrid_SelectItemDialog is a project designed to demonstrate how to use the Data Grid component when selecting an item from the list available in the Select Item dialog box. To bring up the dialog, click the Select Item button located in the main window (MainWindow). After closing the dialog, the main window displays whether an item has been selected or not (Yes/No |
5/29/2012 |
|
|
DataTree_ControlArea is a project designed to demonstrate how to use the Data Tree component for the visualization of the control area tree structure. Tags of all basic data types listed in the tree structure (the Tags subtree) are defined within the System device. Two data tables are defined via the Data Table Manager to log the System device's tags. Two trends and two reports are also defined via the Trend Manager and the Report Manager to visualize historical data. In addition, actions to display current and historical alarms/events, tables, and trends are defined via the Action Manager. These actions are connected to the data tree nodes. The Data Tree component's structure simulates the structure of the control area. |
10/15/2014 |
|
|
DataTree_Grid is a project designed to demonstrate how to use the Data Tree component to display non-array tags in a tabular format. The project contains ten virtual devices defined via the Device Manager. All virtual devices contain the identical set of tags. For each virtual device, one data table is defined via the Data Table Manager to log the tag values. The same number of trends are defined via the Trend Manager to display historical data. |
10/15/2014 |
|
|
DataTree_Localized is an example project designed to demonstrate how to use text strings in the Data Tree component that are translated into several languages. |
6/11/2012 |
|
|
IPCamera_Axis is a project designed to demonstrate how to use the Axis IP Camera component to display and record data received from the Axis IP camera connected to the computer. To successfully run the project, it is required to have IP camera drivers installed on your computer (they are part of the Reliance Add-On Pack installer). |
6/19/2009 |
|
|
IPCamera_Pelco is a project designed to demonstrate how to use the Pelco IP Camera component to display data received from the Pelco IP camera connected to the computer. To successfully run the project, it is required to have IP camera drivers installed on your computer (they are part of the Reliance Add-On Pack installer). |
11/16/2012 |
|
|
IPCamera_Vivotek is a project designed to demonstrate how to use the Vivotek IP Camera component to display and record data received from the Vivotek IP camera connected to the computer. To successfully run the project, it is required to have IP camera drivers installed on your computer (they are part of the Reliance Add-On Pack installer). |
6/19/2009 |
|
|
RealTimeChart_Stacked is a project designed to demonstrate how to configure the Real-Time Chart component to show a horizontal stacked bar chart. Each bar of the chart consists of two differently colored parts whose size can be changed separately using a Display component. The total bar size is the sum of each part's size. |
6/19/2009 |
|
|
SimpleTimeProgram is a project designed to demonstrate how to use the Simple Time Program component. Within the System device, the DataArray tag is defined to store the time program's configuration data. The remaining tags (auxiliary tags |
6/19/2009 |
Databases
Type |
Project name |
Edited |
Download |
|
AppendRecordsToDb is a project designed to demonstrate how to use the RDb.AppendRecord method to add a group of records into a data table. One record (row) in the Data1 data table contains the values of the following tags (columns): RecordTimeStamp, LongInt, String, and Word. |
6/19/2009 |
|
|
AppendRecordToDb is a project designed to demonstrate how to use the RDb.AppendRecord method to add a new record into a data table. |
6/19/2009 |
|
|
LogDataToSQLServer is a project designed to demonstrate how to log tag values to an external SQL server and how to visualize this data in the trend viewer. The example requires access to an SQL server (MS SQL Server is part of the Reliance Add-On Pack installer). |
6/19/2009 |
|
|
ODBCFromScript is a project designed to show how to access the ODBC databases in the Reliance 4 SCADA/HMI system via scripts. The Define script defined in the project contains the ReadDataFromSQLTable and WriteDataToSQLTable procedures. The procedures work with the "ADODB.Connection" object and related objects. The procedures are called from the ReadDataFromSQLTable and WriteDataToSQLTable scripts with the parameters defined by the constants c_ConnectString and c_TableName. |
6/19/2009 |
|
|
RandomAccessToDataTable is a project designed to demonstrate how to manually (randomly) read/write data from/to a data table of type dBASE. The Records data table is defined via the Data Table Manager. The Data acquisition method property of this data table is set to Not specified and the Archive files property on the Advanced page is set to None. The table contains the following fields: Number, Length, Color, and Material. The fields are linked to the same-named tags of different types defined through the Device Manager. The records in the data table are accessed manually from a script. You can view the records stored in the data table via the record viewer (the Report1 report). |
2/15/2009 |
|
|
SQLFromScript is a project designed to demonstrate how to read and write data from/to an SQL database via methods of the "ADODB.Command" and "ADODB.Connection" objects. The ReadDataFromSQLTable, WriteDataToSQLTable, and Define scripts are defined in the project. The first two scripts are event scripts calling the procedures defined within the Define script (the script is started only once before all other scripts at the process – script engine – initialization). You have to set the Connection string in the Define script according to your SQL server. The usage of the SELECT and INSERT SQL commands is demonstrated in the procedures. |
6/19/2009 |
Data Exchange
Type |
Project name |
Edited |
Download |
|
CommWithExternalProgram is a project designed to demonstrate how to transfer data between the Reliance system and an external application via the COM interface. The RandomValue and Seconds tags defined in the project are used to hold the data received from the external application. The project also contains the RelianceValue tag, which is used to send the data to the external program (you can set its value in the visualization window). The external application is located in the <Project>\Main\Apps folder and it is automatically started upon project startup (the Project Options > Scripts > Other > After run project property specifies the Create_GlobalObject script, which is to run the program). Before the project is started for the first time, the external program needs to be started manually to register the COM object. |
6/19/2009 |
|
|
DDE_Client is a project designed to show how to use the DDE protocol to exchange data between two Reliance projects. The DDE_Client project needs to be started in the Reliance Control software (and, simultaneously, the DDE_Server project needs to be started in the Reliance Control Server software). If both projects are running successfully, you can set a value in the DDE_Server project and the change is instantly visible in the DDE_Client project (and vice versa). |
6/19/2009 |
|
|
DDE_Server is a project designed to show how to use the DDE protocol to exchange data between two Reliance projects. The DDE_Server project needs to be started in the Reliance Control Server software (and, simultaneously, the DDE_Client project needs to be started in the Reliance Control software). If both projects are running successfully, you can set a value in the DDE_Server project and the change is instantly visible in the DDE_Client project (and vice versa). |
6/19/2009 |
|
|
ExportImportXLS is a project designed to demonstrate how to access MS Excel files via the COM interface (the MS Excel application has to be installed on the same computer as the Reliance SCADA/HMI system). The Var_Float, Var_Int, and Var_Str tags defined through the Device Manager are linked to the corresponding Display components in the main visualization window (the Enable setting value option is active). The values of these tags are exported/imported from/to an *.xls or *.xlsx file. The ExportToExcel and ImportFromExcel event scripts (activated by pressing the respective button in the visualization window) are defined through the Script Manager. The Excel file named Values is located in the <Project> folder. |
6/19/2009 |
|
|
ExportHistDataToCSV is a project designed to show how to export historical data from a relational database to a text file in the CSV format. It is assumed that the computer on which this project runs is equipped with Microsoft SQL Server with its instance named SQLEXPRESS and credentials preset when installing SQL Server from Reliance Add-On Pack. In case SQL Server has been installed in another way, it is necessary to customize the connection string (Project Options > SQL) and the value of the constant c_ConnectionString in the Define_DataExport script. A data table named IncrementalData is defined through the Data Table Manager. The Reliance SCADA system logs the table's data to the table named IncData contained in the database R_ExportHistDataToCSV in Microsoft SQL Server running on the same computer (both the database and the table will be created with Reliance once the project is started for the first time). |
6/4/2015 |
|
|
ImportFromCSV is a project designed to demonstrate how to use scripts to import data from a text file (CSV). The project contains the following tags: RoomNumber, Occupied, Date, and Time. The ImportCsvFile event script is designed to load the data from a file to these tags. The visualization window contains a Button component used to start the script and four Display components that display the imported data after the script is finished. The values are imported from the <Project>\Import.csv file. |
6/19/2009 |
|
|
LogDataToFileAndDb is a project designed to show how to log tag values to a file and database via a script. The main visualization window contains three Display components (displaying the sine and cosine of a periodically incremented angle) and two Button components used to activate/deactivate data logging to the file or data table. The data will be logged to the <Project>\ History\Data\AngleData.txt file and/or to the AngleData data table (the sampling method of the data table is set to Script-controlled (by RDb.AppendRecord procedure)). You can view the data logged to the data table via the report viewer (the AngleData report). |
6/19/2009 |
Devices
Type |
Project name |
Edited |
Download |
|
AMiT is a project designed to demonstrate basic features of the AMiT PLC connected to the visualization application, i.e., reading/writing tag values, logging values to a data table, bit access, etc. Within the AMiT1 device, a group of tags containing current values (Sawtooth_1, Sawtooth_2, Sine, ARC_index) and current digital values (Bit1, Bit2, Bit3), and a group of array-type tags used to display the Real-Time Trend component are defined via the Device Manager. The current tag values are logged to the Database1 data table and can be displayed in Trend1 defined through the Trend Manager. Via the Real-Time Trend Manager, Trend1_RT is defined to be displayed directly in the visualization window. |
6/19/2009 |
|
|
BACnet is a project designed to demonstrate how a device is connected via the BACnet communication driver. BACnet is not only used for defining communication services. Among other things, it is also used to define a number of objects and their properties through which data is presented. In this project, there are tags representing the properties of all Reliance-supported objects. |
7/9/2012 |
|
|
DeviceCommErrorAlarm is a project designed to demonstrate how to replace the alarm automatically triggered by a device communication error with a custom alarm defined through the Device Manager. This alarm will remain active for the duration of the communication error. This is the difference from the alarm that is automatically triggered by Reliance when an error in the communication with a device occurs. It is an "event" type of alarm – it is triggered, but it does not remain active; Reliance does not check to see if the error condition still exists – this is a drawback). |
4/4/2014 |
|
|
Generic_SimpleText is a project designed to demonstrate how the Generic device is used to read data from any device in the form of a text string. A device named Generic1 is defined via the Device Manager. Within the device, several special tags whose values are used for the communication are defined. |
6/13/2012 |
|
|
Generic_Teco is a project designed to demonstrate how a communication protocol is implemented and how a device is connected via the Generic communication driver. In this example project, the EPSNET protocol of the Tecomat PLC is chosen. |
6/13/2012 |
|
|
OPC_DeviceCommStatus is a project designed to demonstrate how to use a script to determine the state of an OPC server by testing the quality of a tag. Via the Device Manager, you have to configure the OPCDevice1 device according to your local OPC server. The OPC group of this device contains an internal tag that is periodically tested in the script (if the tag quality is not 'Good', it means that the OPC server is not connected). For this purpose, the Random_UInt1 tag is used in the project. The project also contains the OPCDevice1Connected tag that, after the script is evaluated, contains information regarding the OPC device connection status and is linked to the Active Text component placed in the visualization window. |
6/19/2009 |
|
|
OPC_RemoteServer is a project designed to demonstrate how to connect Reliance's runtime software to an OPC server that is not running locally. The OPC1 device of type OPC is defined via the Device Manager. The OPC server Prog ID property allows you to select the OPC server for the device (e.g., from the local network). The PC1 computer, to which OPC1 is connected, is defined via the Project Structure Manager. On the Driver page of the device's Channel1, the Connect to driver property is set to On remote computer. Also the computer name is specified (RemotePC). The RemotePC computer is the second computer defined via the Project Structure Manager. This computer's only purpose is to identify the remote computer on which the OPC server is running. It holds the IP address of the OPC server (the Basic page). |
4/4/2014 |
|
|
Teco_Databox is a project designed to demonstrate how to transfer data from/to the Databox memory of the Teco device. Via the Device Manager, the Tecomat1 device of type Teco and its IP address are defined. On the Databox page, the Enable reading/writing Databox option is active and the links to the respective tags defined within the System device are specified. The following tags are defined within the System device: The Control of type Byte tag is used to control the data transfer from/to the databox (0 – ready, 1 – read, 2 – write). The Status tag of type LongInt is connected to the Active Text component placed in the visualization window and indicates the activity that is being performed with the databox (Ready/Reading/Reading completed/Read error/Writing/Writing completed/Write error). The DataLength and DataOffset tags are used to define the range of data to be transferred from/to the databox. The current data range is accessed via the DataBuffer tag of type Array of Byte. |
6/19/2009 |
|
|
Teco_ModemComm is a project designed to demonstrate how to make a connection to the Teco PLC via a modem connected to the computer's serial port. Within the System device, several tags of type Word are defined to monitor and control the state of the modem and the PLC device. The Modem1Control tag is used to control Modem1 – it connects the Combo Box component placed in the visualization window and the Modem1 object defined via the Project Structure Manager (on the Basic page, the Control property must be active and the tag specified). The Tecomat1Control tag is used to control Tecomat1 (allows selecting one of the following commands: Disconnect, Connect, 'Connect, read data and disconnect') – it connects the Combo Box component placed in the visualization window and the Channel1 object defined via the Project Structure Manager. The Tecomat1Status tag, which is also connected to the Channel1 object, is processed in the Tecomat1StatusChanged script and the result is shown in the visualization window. The Tecomat1Status tag is linked to the Status property via the Project Structure Manager (Tecomat1 > Channel1 > Advanced). Similar tags exist for Modem2 and Tecomat2. Also, the Tecomat1 and Tecomat2 devices and the required tags are defined via the Device Manager. |
6/19/2009 |
Embedded Objects
Type |
Project name |
Edited |
Download |
|
BoilerRoom_WindowTemplate is a project designed to demonstrate how to use data structures and window templates. The visualization project represents a boiler room with a gas boiler. Information related to individual devices (e.g., pump and burner), measured quantities (water and air temperature), and control parameters is arranged into data structures (Pump, Burner, MeasuredTemperature, ControlParameters |
4/4/2014 |
|
|
MotorDetails_WindowTemplate is another project designed to demonstrate how to use data structures and window templates. The main visualization window (MotorOverview) is an overview window displaying 4 engine symbols. By double-clicking a symbol, detailed information on the respective motor (ID, status, speed) and its controls (speed setpoint, start/stop button) is displayed. |
5/29/2012 |
Network Applications
Type |
Project name |
Edited |
Download |
|
BoilerRoom_ClientServer is a project that adds the network functionality to the BoilerRoom demo. A new computer named Client1 has been created through the Project Structure Manager. The already defined users, trends, and reports are connected to this computer (objects are only accessible from a specific computer if they are connected to it). In addition, a new server connection group with a new server connection (named Server1) have been created. The Server computer property of the server connection is set to Server1. This connection is used to connect the BoilerRoom1 and BoilerRoom2 devices and the same-named data tables to the Client1 computer (the Data transfer property is set to Network instead of Direct and directories for the data tables are set to $(HistoryData)\Client1\). The Address property (Server1 > Basic) is set to 127.0.0.1, which is the local address (if you want to run the project on different computers over the network, set this property to a real IP address or hostname). |
6/19/2009 |
|
|
BoilerRoom_MultipleServers is a project that adds a second server computer (Server2) to the BoilerRoom_ClientServer project. Server2 communicates to the BoilerRoom2 device. In this case, Server1 only communicates to the BoilerRoom1 device. This project demonstrates how to configure a client computer to access data from both servers at the same time. Each server provides the client with the data and alarms/events from a different device. The most important thing is creating two server connection groups for Client1 through the Project Structure Manager. Each group contains one server connection (Server1, Server2). To avoid displaying the top tray on the Server1 and Server2 computers, the TopTray window is disabled on the Display page (Disabled windows). |
6/19/2009 |
|
|
BoilerRoom_RedundantServers is a project that adds a second server computer (Server2) and a second client computer (Client2) to the BoilerRoom_ClientServer project. The computers are defined through the Project Structure Manager. |
12/13/2024 |
|
|
ThinClientListFromScript is a project designed to demonstrate how to access the list of connected thin clients from a script. After the project is started in the runtime software, the main window contains a Display component with the number of connected thin clients (the ThinClients_Count tag) and a Data Grid component with detailed information about all connected thin clients. The Data Grid component is connected to array-type tags that are periodically updated in the GetThinClientList script. The script is started every 5 seconds and uses the RWS.GetThinClientList method to load the information about the thin clients to the ClientList array. Subsequently, this information is transferred to the array-type tags (ThinClients_xxxx) to be displayed by the Data Grid component. |
6/19/2009 |
|
|
ThinClientRequestHandlingFromScript is a project designed to demonstrate how to handle requests from thin clients (Reliance Web Client or Reliance Smart Client). In the Web section of the Project Options dialog box, there is the HandleThinClientRequest script set to be executed when a thin client request is received by a data server (Reliance Server or Reliance Control Server). The client's request information (request type, unique session identifier, client IP address, etc.) is obtained using the RScr.GetCurrentScriptDataEx function. This information is written to the corresponding tags in the System device. The values of these tags are shown in the Display components in the visualization window. |
8/5/2010 |
Reports
Type |
Project name |
Edited |
Download |
|
CustomReport_ADODatabase is a project designed to demonstrate how to use a custom report of type FastReport to visualize data from an SQL database in the form of a data grid. The project contains three virtual devices defined via the Device Manager. Each of these devices contains five tags (Tag1, ..., Tag5). Also, three SQL-type data tables are defined via the Data Table Manager. Each of this tables contains items corresponding to the tags in the virtual devices and has different settings of the Time stamp base property. The SQL server is named (LOCAL)\SQLEXPRESS. It is a standard name set when Microsoft SQL Server 2005 Express Edition is installed with setup.bat. |
6/19/2009 |
|
|
CustomReport_ADOChart is a project designed to demonstrate how to use a custom report of type FastReport to access an SQL database and to draw a trend based on this data. The TimeRange_From and TimeRange_Till tags (used to specify the time range) are defined via the Device Manager. A sample tag of type Word is also defined. The SQL-type data table defined via the Data Table Manager is used to log the values of the sample tag. The SQL server is named (LOCAL)\SQLEXPRESS. It is a standard name set when Microsoft SQL Server 2005 Express Edition is installed with setup.bat. |
10/6/2009 |
|
|
CustomReport_AVG is a project designed to demonstrate how to use a custom report of type FastReport to access an SQL database and to display a data grid containing hourly average values based on this data. A sample tag named ActFlow is defined via the Device Manager. The SQL-type data table defined via the Data Table Manager is used to log the values of the sample tag. The SQL server is named (LOCAL)\SQLEXPRESS. It is a standard name set when Microsoft SQL Server 2005 Express Edition is installed with setup.bat. |
12/1/2011 |
|
|
CustomReport_dBASE is a project designed to demonstrate how to use a custom report of type FastReport to visualize data from a dBASE database in the form of a data grid. Within the System device, the DatabaseName tag of type String is defined via the Device Manager. It is an auxiliary tag that is used to store the dBASE data table's directory. A script named Init is defined via the Script Manager. The script is used for setting the dBASE data table's directory in the DatabaseName tag. The script is run after project startup. A custom report named Report is defined via the Custom Report Manager. It contains an item named DatabaseName linked to the same-named tag from the System device. The BDETable component is used to make a link between the custom report and the data table. BDETable's DatabaseName property can be set using the DatabaseName custom report item. The data table's file name is set in the TableName property. |
3/19/2013 |
|
|
CustomReport_DynamicPicture is a project designed to show how to use a custom report of type FastReport to print a picture selected from the list. The available pictures are not stored in the custom report, but they are loaded dynamically from a file when generating the custom report. In the visualization window, there is a Combo Box component in which the pictures are specified. The picture files are located in the <Project>\Pictures folder. |
6/13/2012 |
|
|
CustomReport_EquithermalCurve is a project designed to demonstrate how to print an equithermal curve via a custom report of type FastReport. To define the equithermal curve, fourteen tags are defined via the Device Manager. A custom report of type FastReport named Report1 is defined through the Custom Report Manager – the items of this report correspond to the tags defined within the System device. You can edit the report template via the Edit Report command. The template file is located in the <Project>\Main\CustomReports folder. At runtime, you can change the tag values in the visualization window using the Equithermal Curve or Display components. |
6/19/2009 |
|
|
CustomReport_Form is a project designed to show how to use a custom report of type FastReport to print a simple form. The main visualization window contains a form assembled of several Edit Box components. The components are linked to the corresponding tags defined within the System device. The CustomReport_CertificateOfPosting object is defined through the Custom Report Manager and contains items corresponding to the tags from the System device. At runtime, you are enabled to enter values to the form. To switch among the Edit Box components, use the Tab button. To preview and/or print the form, press the Display button. The project also demonstrates the use of multilanguage support. It is localized into Czech and English. If you switch the language of the project, the language is also changed in the text strings of the custom report. |
6/19/2009 |
|
|
CustomReport_HTML is a project designed to demonstrate how to use a Web page as a template for the custom report. The project contains several sets of tags organized to folders according to the technological unit (see the Device Manager). A Web custom report named WebReport is defined via the Custom Report Manager. The custom report contains items connected to the corresponding tags from the System device. The custom report template files are located in the <Project>\Main\CustomReports folder. This folder also contains a Microsoft Office Word document, which is a source for the custom report template. The visualization window contains several components forming a table. You can set the tag values via this table. |
6/19/2009 |
|
|
CustomReport_Text is a project designed to demonstrate how to use a text custom report. Within the System device, five tags that contain water level values in tanks are defined.The TextReport custom report is defined via the Custom Report Manager. The custom report contains five items linked to the corresponding tags from the System device. The file Template.txt (custom report template) is located in the <Project>\Main\CustomReports folder. At runtime, you can set the tag values and generate the text report based on the current values. |
6/19/2009 |
|
|
CustomReport_AlarmsEvents_File is a simple project designed to show how to use a custom report to display alarms/events stored in a file-based database. Within the System device, a main tag named Level and an auxiliary tag named RAEFileName are defined. The Level tag has its operating limits fixed. The RAEFileName tag is used for storing the path to the current file of the alarm/event database. There are also four alarms defined within the System device. The alarms are triggered when the main tag's operating limits are exceeded. A script named Init is defined via the Script Manager. The script is used for setting the file path in the RAEFileName tag. The script is run after project startup. A custom report named Report – basic is defined via the Custom Report Manager. It contains an item named RAEFileName linked to the same-named tag from the System device. |
11/19/2012 |
|
|
CustomReport_AlarmsEvents_SQL is a simple project designed to show how to use a custom report to display alarms/events stored in an SQL database. Within the System device, a tag named Level is defined. This tag has its operating limits fixed. There are also four alarms defined within the System device. The alarms are triggered when the Level tag's operating limits are exceeded. A custom report named Report – basic is defined via the Custom Report Manager. |
11/19/2012 |
Scripts
Type |
Project name |
Edited |
Download |
|
AccessDLLFromScript is a project designed to show how to call functions exported by DLL (dynamic-link library) from a script. The VBScript language, which is used for writing scripts in Reliance projects, does not itself support calling DLL functions. This limitation can be worked around by using a utility called DynaCall, which can, at runtime, create an object-like wrapper around any DLL so that its functions could be called even from VBScript code. |
5/29/2012 |
|
|
AutomaticUserLogOff is a project designed to demonstrate how to automatically log off the current user from the runtime software after a certain time of mouse and keyboard inactivity. |
1/26/2011 |
|
|
CustomRecipeEditor is a project designed to demonstrate how to use visualization windows and scripts to implement the features of the Recipe Editor, which is available at runtime. This should be done in cases where a customer requires to edit recipes through a form (not by editing values on the list of recipe items through the Recipe Editor). |
5/29/2012 |
|
|
DeclareArrayVar is a project showing how to define and use global and local array variables. The main visualization window contains two buttons that start the UseGlobalArrayVar and UseLocalArrayVar scripts. |
6/19/2009 |
|
|
DownloadAndSaveFile is a project designed to show how to download and save a file defined by a URL to a local computer. The project's main functionality is done in the DoDownloadAndSaveFile script. This script downloads the file based on the string values of the FileURL and FileName tags. The FileURL tag is linked to the corresponding Display component in the visualization window and defines the source file name and address (the URL has to be entered with the leading http://). The FileName tag is linked to the second Display component and defines the target file. To execute the script, press the Download File button. |
6/19/2009 |
|
|
ExtractBits is a project designed to demonstrate how to use scripts to extract bits from an integer tag and store the bit values in tags of type Bool. |
4/4/2014 |
|
|
GetCurrentScriptDataEx is a project designed to show how to pass a parameter from the Reliance SCADA/HMI system to a script and how to access it inside the script. A tag of type LongInt named ScriptParamValue is defined via the Device Manager. It is linked to the Display component. A script named EventScript defined through the Script Manager is linked to the three buttons located in the visualization window. If you click a button, the number associated with the button is passed to the script, accessed inside the script, stored in the ScriptParamValue tag, and shown in the Display component located below. |
6/19/2009 |
|
|
GetFolderContents is a project designed to demonstrate how to list the contents of a directory. The main visualization window contains a Display component (enter the name of the directory you want to list), a Button component (which starts the GetFolderContents script), and two Data Grid components. After the script is finished, the left data grid displays the list of subdirectories and the right one shows the file list. |
6/19/2009 |
|
|
CheckHDSerialNumber is an example project designed to demonstrate how to easily protect a project from being launched on an unauthorized computer. After the protection is activated, the project is bound to the hard disk serial number and cannot be run on another computer. Two tags named HDSerialNumber and CheckEnabled are defined through the Device Manager. The first one contains the serial number, the other one is used to activate/deactivate the protection. |
6/13/2012 |
|
|
LogMessage is a project designed to demonstrate how to log a text string to a file from a script. The button located in the main visualization window is used to start the LogMessageTest script that contains the LogMessage procedure. This procedure is defined within the Define script (also the functions for custom date and time formatting are defined within this script). Access to the file is done via an object named "Scripting.FileSystemObject" (the OpenTextFile method of this object is used). If this method is called with the filename as a parameter, a new object is created (the numerical parameter defines the opening method, 1 – read only, 2 – write, 8 – append, and the logical parameter defines whether the file should be created if it doesn't exist). Now, you can call the WriteLine method of this object and write an arbitrary text string to the file. |
6/19/2009 |
|
|
MoveTagElementValues is a project designed to demonstrate how to use an event script (started via a button in the visualization window) to copy the first 10 elements from the WordArray20 array to the positions 50–59 in the WordArray100 array. The RTag.MoveTagElementValues method is used to copy the values of the array-type tags. |
6/19/2009 |
|
|
MoveTagValue is a project designed to demonstrate how to copy a tag value between two devices. The project contains the AfterStartProject script that is run after project startup (Project Options > Scripts > Other > After run project). This script initializes the DateTime1 tag. In addition, there are several scripts defined in the project used to copy tags from the System device to the Virtual1 device. They are event scripts linked to the buttons in the main visualization window; the window contains Display components that display the values of source and target tags. To copy the tags of a different type, the RTag.MoveTagValue method is used. |
6/19/2009 |
|
|
ScriptDebugging is an example project that requires a debugging tool installed on your computer. You can use the Microsoft Script Debugger application (it is part of the Reliance Add-On Pack installer). The visualization window contains two buttons that enable/disable the script debugging function. This is done in the Windows Registry via actions that execute the ScriptDebuggerEnabled.reg and ScriptDebuggerDisabled.reg files. The runtime program has to be restarted before the change takes place. Since Reliance 4.1.3, you can also enable/disable the script debugging function via the Environment Options dialog box in the development environment. If the debugging is enabled and the Run Script button is pressed, the debugging tool is opened. |
11/13/2009 |
|
|
ScriptTypes is a project designed to demonstrate how to use different script types. The main visualization window contains five panes, each demonstrating features of one script type. The first pane introduces the Periodic script – the angle value is periodically incremented. The second pane introduces the Data change script – if you change the value of A, B, or C, the result is automatically recalculated. The third pane introduces the features of the Key script – if you press the F5 button, a dialog window is shown (all scripts run in the same thread and, therefore, other scripts are paused if the dialog is shown). |
4/4/2014 |
|
|
SendEmail is a project designed to demonstrate how to send an email message from a script. Before any email can be sent, you have to set the information about the SMTP server. This can be done via the Project Structure Manager on each project computer's E-mail page. The main visualization window of the project contains Display components where the email's recipient, subject, attachments, and body can be specified. The Send Email button is used to activate the script that sends the email. The core part of the script is the RInet.SendMail method. |
6/19/2009 |
|
|
Stopwatch is a project designed to demonstrate how to measure the amount of time elapsed from a particular time (similarly as done by a stopwatch). The main visualization window contains two buttons named Start Measuring Time and Stop Measuring Time. After clicking on the Start Measuring Time button, the amount of elapsed time begins to be displayed by the Display components. It is displayed in two ways: |
5/29/2012 |