Welcome to the new Schneider Electric Community

It's your place to connect with experts and peers, get continuous support, and share knowledge.

  • Explore the new navigation for even easier access to your community.
  • Bookmark and use our new, easy-to-remember address (community.se.com).
  • Get ready for more content and an improved experience.

Contact SchneiderCommunity.Support@se.com if you have any questions.

Close
Invite a Co-worker
Send a co-worker an invite to the Exchange portal.Just enter their email address and we’ll connect them to register. After joining, they will belong to the same company.
Send Invite Cancel
84249members
353348posts

Geo SCADA VB capability

EcoStruxure Geo SCADA Expert Forum

Find out how SCADA systems and networks, like EcoStruxure Geo SCADA Expert, help industrial organizations maintaining efficiency, processing data for smarter decision making with IoT, RTU and PLC devices.

Solved
DavidSkilbeck
Lt. Commander
Lt. Commander
0 Likes
4
1241

Geo SCADA VB capability

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,

Tags (1)

Accepted Solutions
BevanWeiss
Spock
Spock
0 Likes
3
1227

Re: Geo SCADA VB capability

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).


Lead Control Systems Engineer for Alliance Automation (VIC).
All opinions are my own and do not represent the opinions or policies of my employer, or of my cat..

See Answer In Context

Tags (1)
4 Replies 4
BevanWeiss
Spock
Spock
0 Likes
3
1228

Re: Geo SCADA VB capability

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).


Lead Control Systems Engineer for Alliance Automation (VIC).
All opinions are my own and do not represent the opinions or policies of my employer, or of my cat..
Tags (1)
DegMet
Crewman
Crewman
0 Likes
2
984

Re: Geo SCADA VB capability

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

BevanWeiss
Spock
Spock

Re: Geo SCADA VB capability

@DegMet 

New question... new topic.  Please don't try to thread hijack.


Lead Control Systems Engineer for Alliance Automation (VIC).
All opinions are my own and do not represent the opinions or policies of my employer, or of my cat..
sbeadle
Janeway Janeway
Janeway
0 Likes
0
920

Re: Geo SCADA VB capability

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).