EcoStruxure Geo SCADA Expert Forum
Schneider Electric support forum about installation, configuration, integration and troubleshooting of EcoStruxure Geo SCADA Expert (ClearSCADA, ViewX, WebX).
Link copied. Please paste this link to share this article on your social media post.
Posted: 2020-09-03 04:31 PM . Last Modified: 2023-05-03 12:11 AM
Hi,
I have a couple of questions regarding Geo SCADA VB capabilities.
Is it possible
* to do a binary file read. Example below in Python, but something like
# Get Data out of Binary File
def readdata(filename,i):
'''Read data from a file. Data count is in the header'''
with open(filename, "rb") as file:
buffer = file.read(20)
size, variation, objectType, pointIndex, startTime, sampleRate, count = struct.unpack('>IBBHIII', buffer)
print(size, variation, objectType, startTime, sampleRate, count)
* to calculate Epoch time. Again example below in Python, but something like
startTime = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(struct.unpack('>i', byte)[0]))
are there builtin functions for these.
Thanks,
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: 2020-09-03 10:30 PM . Last Modified: 2020-09-03 10:34 PM
If we are talking about Geo SCADA ViewX Client-side VBscript then 'yes', it's possible.
But no, it's not a GeoSCADA 'builtin function'
With VBscript you are able to call pretty much any COM type of object.
Like thus...
https://stackoverflow.com/questions/6060529/read-and-write-binary-file-in-vbscript
And to calculate epoch time (yucky)
https://gist.github.com/sean-m/12e225436215c3358afb
But epoch is just a fixed time reference, so if you just use NOW and then subtract the fixed time (of epoch) then you would have the 'time since epoch'. You should not need to actually calculate epoch (since it is by definition in the Unix world 01/01/1970 00:00:00+00:00).
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: 2020-09-03 10:30 PM . Last Modified: 2020-09-03 10:34 PM
If we are talking about Geo SCADA ViewX Client-side VBscript then 'yes', it's possible.
But no, it's not a GeoSCADA 'builtin function'
With VBscript you are able to call pretty much any COM type of object.
Like thus...
https://stackoverflow.com/questions/6060529/read-and-write-binary-file-in-vbscript
And to calculate epoch time (yucky)
https://gist.github.com/sean-m/12e225436215c3358afb
But epoch is just a fixed time reference, so if you just use NOW and then subtract the fixed time (of epoch) then you would have the 'time since epoch'. You should not need to actually calculate epoch (since it is by definition in the Unix world 01/01/1970 00:00:00+00:00).
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: 2021-01-12 07:26 AM
Hi @BevanWeiss,
I have a need related with Unix Time conversion. We are migrating an OASyS DNA SCADA to a GeoSCADA system. I've found a variable that represent a timestamp (from a remote event logger system), and I assume the format as Unix time, because the tag name (Unix_TS) and the following script:
Public Sub rt_TimeStamp_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rt_TimeStamp.ValueChanged
Try
' Insert user code here.
Dim DT As DateTime = New DateTime(1970, 1, 1, 0, 0, 0)
dt = DT.AddSeconds(CDbl( rt_TimeStamp.Text ))
rt_timestamp_text.Text = dt.ToString("dd/MM/yyyy HH:mm:ss")
' End user code here.
Catch ex As Exception
DNALog.WriteLog(DNALog.LogLevel.Always, "Event handler rt_TimeStamp.ValueChanged on display " + Model.InstanceName + " failed: " + ex.Message)
End Try
End Sub
I have to implement this conversion in GeoScada, I mean given a Unix time to convert it in a human readable form.
Is there a direct funtion to do that? or should I implement some ST code or may be some script?
I've trying to convert this code (https://www.geeksforgeeks.org/convert-unix-timestamp-to-dd-mm-yyyy-hhmmss-format/) to ST script, but there's no break tag inside a while loop in GeoScada :(.
Thanks
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: 2021-01-12 08:44 PM
New question... new topic. Please don't try to thread hijack.
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: 2021-01-19 02:08 AM
Hi. Yes, please raise as another thread because it's a new subject.
(There are Logic functions to get an absolute time and offset by a number of seconds or milliseconds).
Link copied. Please paste this link to share this article on your social media post.
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.