1. sayfa (Toplam 1 sayfa)

zamanı formatlı gösterme

Gönderilme zamanı: 17 Mar 2016, 18:18
gönderen toxema
plc içinde geçen süreyi sn cinsinden registerde tutuyorum. panel aracılığla da bu değeri okuyorum ancak sorunum şu. burada okuduğum degeri DD:SS(dakika:saniye) formatında nasıl gösterebilirim.

örneğin:

plc registerinde 2550 değerini okuyorum bunu smile numeric te 42:00 şeklinde nasıl gösterebilirim.

Re: zamanı formatlı gösterme

Gönderilme zamanı: 18 Mar 2016, 09:55
gönderen toxema
Bunu yapmanın başka yolu varmı bilmiyorum ancak bir çözüm buldum. sizinle de paylaşayım.
iki tag olacak
PLC_SURE // plc den okunan saat değeri saniye cinsinden
PLC_SURE_FORMAT // bu da smile numerik tarafından kullanılacak type STRING olmalı

tag kısmına da bu kodları ekliyoruz.

Kod: [Linkleri görüntülemek için forumumuza üye olmalısınız]

    public partial class Tags
    {
	

		String t(int rr){
			String s="00"+rr;
			return s.Substring(s.Length-2);
		}

		String formatTime(int time){
			return t((int)(time/60))+":"+t(time%60);
		}
		
		
		void SURE_ValueChange(System.Object sender, Neo.ApplicationFramework.smile.Events.ValueChangedEventArgs e)
		{
			SURE_FORMAT.Value=formatTime(SURE.Value);
	
		}
	
    }
umarım birinizin işine yarar

Re: zamanı formatlı gösterme

Gönderilme zamanı: 18 Mar 2016, 10:50
gönderen Teknik3
Merhabalar ,
Bu işlemin en kolay yolu saniye olarak belirttiğiniz sürenizi plc programı içerisinde dakika ve sn süresini
hesapladıktan sonra IX developer tarafında dakika ve sn isimli tag'lere taşıyın.Bu işlemlerden sonra tek
yapmanız gereken aşağıdaki resimde gösterildiği gibi 2 adet numeric butonu DK : SN seklinde tasarlayıp
ilgili tagleri tanımlamak olucaktır.
İyi Çalışmalar..
rtrt.png

Re: zamanı formatlı gösterme

Gönderilme zamanı: 18 Mar 2016, 16:45
gönderen toxema
Evet bu yontemide uygulamayi dusunmustum ancak fazladan komponentle ugrasmak istemedim. Aslina bakarsaniz text ozelliginde expression yazarak ta yapilabiliyor ancak tam nasil calisiyor cozemedim.

Re: zamanı formatlı gösterme

Gönderilme zamanı: 08 Nis 2016, 13:17
gönderen Teknik2
Merhabalar,
Evet isterseniz bunu Expression ile de yapabilirsiniz. Expression için örnek resim ve program aşağıdadır. İyi çalışmalar...

[Linkleri görüntülemek için forumumuza üye olmalısınız]
1.png

Kod: [Linkleri görüntülemek için forumumuza üye olmalısınız]

string.Format("{0:00}:{1:00}:{2:00}", Globals.Tags.saat.Value, Globals.Tags.dakika.Value, Globals.Tags.saniye.Value)