Which Programming Language Should I Use?
Geo SCADA Expert 2025 onwards supports several server-side programming languages. This comprises support for programs written in the Python programming language and programs written using any of the supported Logic programming languages (ST programs, Function Block Diagrams, Ladder Diagrams, and Sequential Function Charts). You can use whichever programming language best suits the purposes for which you want to design and use your programs.
This topic summarizes the strengths and differences between the supported programming languages. Use the information in the topic to help you decide which programming languages you want to use to build additional functionality into your Geo SCADA Expert system.
Python Programming Language
You can use Python programs to perform complex calculations on, or processing of, data in the Geo SCADA Expert database. You can also use Python programs to work with external systems. Python programs have a low to high overhead on the database, depending on the interactions that the programs have with the Geo SCADA Expert API.
The principal strengths of Python programs in Geo SCADA Expert are in data analysis, and integrating with external databases and systems. There is also an extensive collection of third-party libraries for use in Python programs. The Python driver in Geo SCADA Expert has access to the complete API of Geo SCADA Expert.
You can schedule Python programs or run Python programs automatically when a database item changes. You can also use Python programs to access historic data in Geo SCADA Expert, or to write database configuration; the latter in particular is a very powerful feature.
Python programs run in a more typical way than Logic programs in Geo SCADA Expert in that database writes are written at the time of execution. (With Logic programs in Geo SCADA Expert, database writes are written once the program's execution is complete.) Python programs can have a greater overhead when starting up than Logic programs. As with Logic programs, you should design your Python programs carefully to reduce their impact on the server’s performance. This includes, but is not limited to, restricting the amount of historic data that a program queries, and limiting the number of programs that get triggered automatically.
The Geo SCADA Expert server can run multiple Python programs simultaneously.
The Server Status tool provides detailed diagnostics about the execution and status of Python programs. For more information, see Python Status Information in the Geo SCADA Expert Guide to the Server Status Tool.
Logic Programming Languages
You can use Logic programs to perform calculations on, or processing of, data in the Geo SCADA Expert database.
The principal strengths of Logic programming are the simplicity of programming and the speed of execution. Logic includes both drag and drop languages and text programming with Structured Text (ST). Logic includes a powerful on-change, scheduling and execution queuing system that is optimized for fast start-up and fast read and write of database data. These are possible because of the close relationship between Logic and the database in Geo SCADA Expert. With Logic programs, you declare 'inputs' in the program code. You can configure the programs to trigger when one of these inputs is processed.
Logic is ideal for swiftly executed actions, such as those relating to calculated values from real-time data, control checking, data and control verification, and control sequencing. Structured Text is also well-suited to reading limited amounts of historian data and writing summary results to Points or Forecast database items.
With careful design, it is possible to use Structured Text to read and write data using SQL. This is possible if the scope of the Logic program's queries is limited to avoid excesses in database locking durations. You can also use Structured Text to execute database methods, giving Logic a wide range of actions within the Geo SCADA Expert API.
The Geo SCADA Expert server can only run one Logic program at a time, however Logic programs are typically quick to run to completion.
Calculation Points
You can use Calculation Points to perform simple calculations on data in the database in Geo SCADA Expert. Such calculations typically have a low overhead on the database. For more information, see Configuring and Working with Calculation Points in the Geo SCADA Expert Guide to Core Point Configuration.
Further Information
Python programs that the Geo SCADA Expert server is to execute: see the Geo SCADA Expert Guide to the Python Driver.
Logic Programs: see the rest of this Geo SCADA Expert Guide to Logic.