Ask our Experts
Didn't find what you are looking for? Ask our experts!
New Community Ranking System
Our Community ranking system has recently been updated. You may notice changes in user rankings and receive system messages or notifications. If you have questions about how the new ranking works, please refer to the announcement post for more details (click here).
Schneider Electric support forum about installation, configuration, integration and troubleshooting of EcoStruxure Geo SCADA Expert (ClearSCADA, ViewX, WebX).
Search in
Please select a country to continue with beta search.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2026-06-08 04:16 AM . Last Modified: 2026-06-08 10:28 AM
I have a customer that replaced an old telemetry SCADA with Geo SCADA and are looking to reproduce a bit of functionality that they had before. The old SCADA used to dump historical data from a selection of points to a set of CSV files on a weekly basis and then e-mail those CSV files to specified e-mail address.
I know how to use the SQL-Export to create CSV files - but that doesn't e-mail them
I know how to do alarm redirections to send an e-mail - but that is for alarms not for scheduled reports.
I've also seen that Crystal Reports was previously used to e-mail weekly reports - but in this case my customer doesn't have a Crystal Reports runtime license and I am loath to recommend they get one.
Any suggestions? VBScript or Python maybe?
**** Edit *****
I've managed to write VBScript that will put all the CSV files from a set of SQL-Export objects, into a ZIP file (using Scripting.FileSystemObject) and then e-mails the ZIP file (using CDO.Message).
The VB Script is in a Script Library and I can trigger the VBScript to perform the aforementioned functions from a button on a mimic.
Now all I need to figure out is how to configure the Geo SCADA server to execute the VBScript on a regular schedule (say once a week).
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2026-06-10 01:49 PM
With Python is by far the easier solution for this question.
Sample configuration attached with both VBScript and Python Script to achieve what I asked in my original post.
Notes:
The file Sample_EMail_CSV_Reports (GeoSCADA 2025).sde was exported with the Python Script included and in Geo SCADA 2025 database format.
The file Sample_EMail_CSV_Reports (Pre GeoSCADA 2025).sde was exported without the Python Script and in Geo SCADA 2023 database format.
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2026-06-08 04:00 PM . Last Modified: 2026-06-08 04:00 PM
A simple structured text calling SYSTEM() will probably do what you want with minimum fuss, and be set to run on interval or manually from a button.
Just make sure you have a Windows user defined in the Geo SCADA Server Config for system calls on any server which can be Main, and that they're enabled, and that the user has the relevant policies to log in. Ignoring that its best practice due to least privilege, if there is no user then it'll run under the service account that Geo SCADA runs as and that limits network functions (typically SMB but does impact other things too which you may use)
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2026-06-09 02:59 AM
@AdamWoodlandToo wrote:Ignoring that its best practice due to least privilege, if there is no user then it'll run under the service account that Geo SCADA runs as and that limits network functions (typically SMB but does impact other things too which you may use)
You cannot enable the system calls feature without specifying a Windows user account. Running system commands under the service account was removed 10 years ago. See System Calls Settings in the help.
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2026-06-09 10:43 AM
Hi Adam,
Call me a n00b if you like, but I'm not quite sure how to use the System() function in Structured Text logic, to execute a VBScript Sub. From what I could find about System(), it seems to be used for making calls on programs hosted by the Windows OS (as in the example in the help files, where it calls 'C:\Windows\SetInstall.exe'.
Assuming I have a Sub called 'DoAllTheThings()' in a VBScript Library called 'FileHandling' as indicated below, how should I write the Structured Text program 'ExecuteSub' ?
The advice about configuring a Windows account in the server config as explained by you and Andrew is noted and understood.
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2026-06-09 11:11 AM
You cannot run a VBScript that is inside a mimic (or script library) from a system call (or on a schedule), but you could save the script to a ".vbs" file on the server(s) and then use a system call to run "cscript.exe" to execute the script:
C:\Windows\System32\cscript.exe C:\GEOSCADA_Reports\EmailReports.vbs /b /nologohttps://learn.microsoft.com/en-us/windows-server/administration/windows-commands/cscript
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2026-06-09 02:22 PM
Okay. That solved it. The Geo SCADA server successfully executes the VBScript in an external *.VBS file, using a system call to cscript.exe.
Pity that the Geo SCADA server cannot be configured to execute VBScript within itself on a Schedule, when that same VBScript can be called from a mimic.
Just one side note: I ended up using a System Call object and adding it to the same Schedule that executes the SQL Export objects - a bit simpler than using Structured Text.
To close out this topic, I will add my example configuration and VBS file to the post if other people are interested in future.
I wonder if this could not have been solved better with Python? I see that Python programs defined in Geo SCADA can be run from a Schedule. hmmm...
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2026-06-10 01:49 PM
With Python is by far the easier solution for this question.
Sample configuration attached with both VBScript and Python Script to achieve what I asked in my original post.
Notes:
The file Sample_EMail_CSV_Reports (GeoSCADA 2025).sde was exported with the Python Script included and in Geo SCADA 2025 database format.
The file Sample_EMail_CSV_Reports (Pre GeoSCADA 2025).sde was exported without the Python Script and in Geo SCADA 2023 database format.
Link copied. Please paste this link to share this article on your social media post.
You’ve reached the end of your document
Create your free account or log in to subscribe to the board - and gain access to more than 10,000+ support articles along with insights from experts and peers.