Unix Time
Salih Bey merhaba; scada ile bir enerji analizatörünü haberleştirmem gerek ve cihazın kataloğuna baktığımda okuyup yazmak istediğim değerin unix time formatında olması gerektiğini görüyorum.
Acaba date time-Unix Time ve Unix Time-date time dönüşümlerini nasıl yapabilirim.
Teşekkür ederim.
Merhaba,
Her iki dönüşümde script ile yapılmalıdır. Unix Time 1/1/1970 tarihini başlangıç olarak kabul edip, bu tarihten itibaren toplam saniye sayısını integer olarak ifade eder.
Her iki scriptin başında iki adet tag oluşturuyoruz.
Tag_1 Uint32 tipinde ve analizörden gelen data.
Tag_2 Datetime tipinde internal Tag.
Public Tag_1 As UInt32
Public Tag_2 As DateTime
Unix time’den Datetime dönüşümü için kullanılacak script:
Dim Dt As New DateTime(1970, 1, 1, 0, 0, 0, 0)
Dt = Dt.AddSeconds(Tag_1)
Tag_2 = Dt
Datetime’den Unix time dönüşümü için kullanılacak script:
Dim Dt As New DateTime(1970, 1, 1, 0, 0, 0, 0)
Dim Ts As TimeSpan = Tag_2 – Dt
Tag_1 = Ts.TotalSeconds
Not: Tag_1 analizörde 64 bit olabilir. Bu durumda ilk 32 bit veya ikinci 32 bitlik data kullanılmalıdır.
Örneğin: 40010 64 bit ise, 40010 32 bit veya 40012 32 bit şeklinde kullanılmalıdır.
Was this answer helpful?
LikeDisliketekrar merhaba; Unix time’den Datetime dönüşümü için kullanılacak script sorunsuz çalışıyor fakat;
datetime’den Unix time dönüşümü için kullanılacak scripti maalesef çalıştıramadım,
ayrıca iki farklı datetime veriyi unixtimeye dönüştürmek istediğimde nasıl bir yol izlememi önerirsiniz… çözüm için ben her tarihi ayrı sctript olarak kaydedip dönüşüm için farklı butonlar üzerinden scriptleri çalışırmayı düşünüyorum. Bu konuda Tavsiyenize ihtiyacım var.
teşekkürler.
Datetime’den Unixtime’a dönüştüren scripti çalıştıramadığınızı söylüyorsunuz, eğer neden çalıştıramadığınızı da söylerseniz belki bir şeyler söyleyebilirim. Ben çalıştırıyorum.
İki farklı çevrim için tabii ki iki script kullanmalısınız.
Was this answer helpful?
LikeDislikeMerhaba; aşağıdaki scripti yazıp bir butona bağlayıp çalıştırıyorum ama sonuç elde edemiyorum. (Bu arada işletim sistemim xp sp3)
Teşekkür ederim
Imports System
Imports System.IO
Imports System.Windows.Forms
Imports Microsoft.VisualBasic
Namespace WinTr
Public Class MainClass
Public Tag_1 As Uint32
Public Tag_2 As DateTime
Public Sub Load
‘Datetime’den Unix time dönüşümü için kullanılacak script:
Dim Dt As New DateTime(1970, 1, 1, 0, 0, 0, 0)
Dim Ts As TimeSpan = Tag_2 – Dt
Dim Tag_1 As Uint32 = Ts.TotalSeconds
End Sub
End Class
End Namespace
Was this answer helpful?
LikeDislikeBenim yazdığım script’de hata varmış, düzelttim.
Hatalı satır: Dim Tag_1 As Uint32 = Ts.TotalSeconds
Olması gereken: Tag_1 = Ts.TotalSeconds
Was this answer helpful?
LikeDislike