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
79291members
343969posts

Machine Advisor NodeRed TimeStamp

Solved
YUSUFK
Lieutenant JG
Lieutenant JG
0 Likes
2
780

Machine Advisor NodeRed TimeStamp

Merhabalar,

 

NodeRed Platfomunda İki farklı Cihazdan Schnedier Modbus Nodları üzerinden veri alıp Schneider NodeRed Nodları ile Machine Advisor bulutuna verileri gönderip verileri kontrol ettiğimizde timestampları farklı oluyor ve bu sebeble iki makine verisini Advisorde bulunan Application formullerinde örneğin karşışatırma yada toplama bigi formüllerde kullanamıyoruz.Bu tarz veri okuma ve karşılaştırmaları Application formüllerinde kullanabilmek için yani aynı timestamda verileri alabilmek için nasıl bir NoreRed yapısı kurmamız gerektiği hususunda yardımcı olabilirmisiniz?

 

Teşekkür ederim.

 

node.pngtime.pngapplication.png

Tags (1)

Accepted Solutions
BayramY
Lieutenant Lieutenant
Lieutenant
0 Likes
1
725

Re: Machine Advisor NodeRed TimeStamp

Yusuf Bey merhabalar,

 

Öncelikle timestamp kavramına açıklık getirmek isterim. Timestamp anlık zamanı ifade etmek için kullandığımız bir kavramdır ve 1 Ocak 1970 tarihini sıfır, yani başlangıç olarak kabul eder. Anlık zaman değerinin timestamp karşılığı 1 Ocak 1970 tarihinden itibaren bu zamana geçen saniye değeridir, yani timestamp değerini saniye cinsinden zamana dönüştürüp bu tarihe eklersek şu anki tarih ve saat değerine ulaşırız.

 

Machine Advisor’a veri gönderdiğimizde timestamp değeri ile hangi anda veri gönderdiğimizi belirtmiş oluruz. Application formüllerinde iki değişkeni kullanmak için verilerin aynı timestamp değerine sahip olması gerekir ki birbiriyle ilişkili değişkenleri karşılaştırma veya hesaplama işlemleri yapabilelim.

 

İki farklı cihazdan aynı anda veri almaya çalıştığımızda arada milisaniye cinsinden bile olsa bir senkronizasyon farkı olacaktır. Bunu önlemek için Node-Red’de şöyle bir yapı kurabiliriz:

 

Bir fonksiyon node unda cihazlardan en az birer kez veri gelmesini bekleyelim. Bunun için context değişkenlerden yararlanabiliriz. Her iki cihazdan da bir veri geldiğinde bir verinin timestamp değerini diğerine eşitleyelim, bu verileri bir sonraki node a gönderelim ve hafızada tuttuğumuz context değişkenleri sıfırlayalım. Fonksiyon node unun içi aşağıdaki gibi görünecektir:

 

function.png

 

 

Genel flow yapısını aşağıdaki gibi oluşturmak mümkündür:

 

 

flow.png

 

 

Bu şekilde yapıyı kurduğunuzda farklı cihazlardan gelen veriler aynı timestamp değerine eşitlenerek Machine Advisor node una aktarılacaktır. Sonrasında Applications altındaki yapıları bu değişkenler için kullanabilirsiniz.

 

Yukarıdaki örnekte görülen akışı import etmek için ekteki json dosyasını kullanabilirsiniz.

 

 

İyi çalışmalar dilerim.

 

See Answer In Context

Attachments
Tags (1)
2 Replies 2
BayramY
Lieutenant Lieutenant
Lieutenant
0 Likes
1
726

Re: Machine Advisor NodeRed TimeStamp

Yusuf Bey merhabalar,

 

Öncelikle timestamp kavramına açıklık getirmek isterim. Timestamp anlık zamanı ifade etmek için kullandığımız bir kavramdır ve 1 Ocak 1970 tarihini sıfır, yani başlangıç olarak kabul eder. Anlık zaman değerinin timestamp karşılığı 1 Ocak 1970 tarihinden itibaren bu zamana geçen saniye değeridir, yani timestamp değerini saniye cinsinden zamana dönüştürüp bu tarihe eklersek şu anki tarih ve saat değerine ulaşırız.

 

Machine Advisor’a veri gönderdiğimizde timestamp değeri ile hangi anda veri gönderdiğimizi belirtmiş oluruz. Application formüllerinde iki değişkeni kullanmak için verilerin aynı timestamp değerine sahip olması gerekir ki birbiriyle ilişkili değişkenleri karşılaştırma veya hesaplama işlemleri yapabilelim.

 

İki farklı cihazdan aynı anda veri almaya çalıştığımızda arada milisaniye cinsinden bile olsa bir senkronizasyon farkı olacaktır. Bunu önlemek için Node-Red’de şöyle bir yapı kurabiliriz:

 

Bir fonksiyon node unda cihazlardan en az birer kez veri gelmesini bekleyelim. Bunun için context değişkenlerden yararlanabiliriz. Her iki cihazdan da bir veri geldiğinde bir verinin timestamp değerini diğerine eşitleyelim, bu verileri bir sonraki node a gönderelim ve hafızada tuttuğumuz context değişkenleri sıfırlayalım. Fonksiyon node unun içi aşağıdaki gibi görünecektir:

 

function.png

 

 

Genel flow yapısını aşağıdaki gibi oluşturmak mümkündür:

 

 

flow.png

 

 

Bu şekilde yapıyı kurduğunuzda farklı cihazlardan gelen veriler aynı timestamp değerine eşitlenerek Machine Advisor node una aktarılacaktır. Sonrasında Applications altındaki yapıları bu değişkenler için kullanabilirsiniz.

 

Yukarıdaki örnekte görülen akışı import etmek için ekteki json dosyasını kullanabilirsiniz.

 

 

İyi çalışmalar dilerim.

 

Attachments
Tags (1)
YUSUFK
Lieutenant JG
Lieutenant JG

Re: Machine Advisor NodeRed TimeStamp

Merhaba Bayram Bey,

 

Paylaşmış olduğunuz bilgiler ve örnek flow dosyası için çok teşekkür ederim.

 

İyi çalışmalar dilerim.

Tags (1)