1. sayfa (Toplam 1 sayfa)
DTC'de Ulaşılması Gereken Sıcaklığın Gösterilmesi
Gönderilme zamanı: 24 Eyl 2025, 22:43
gönderen mahsumyasar
DTC ile ramp/rate uygulaması yapıyorum. Örneğin 60 dereceden 180 dereceye 60 dkda gelsin istiyorum. yani dakikada 2 derece artış istiyorum. set valueya sürekli 180 diyor ancak ben bu set valuenun anlık değişmesini istiyorum. Örneğin 30sn sonra set value 61 derece desin 1 dk sonra 62 desin. böylece present valuenun programdan ne kadar uzaklaştığını görmek istiyorum. bunu nasıl yapabilirim?
Re: DTC'de Ulaşılması Gereken Sıcaklığın Gösterilmesi
Gönderilme zamanı: 25 Eyl 2025, 10:09
gönderen İslam
Merhaba,
DTC üzerinden bunu yapamazsınız. Sisteminizde PLC varsa rampalı bir şekilde set sıcaklığını arttırabilirsiniz. Ozaman istediğiniz olur.
Re: DTC'de Ulaşılması Gereken Sıcaklığın Gösterilmesi
Gönderilme zamanı: 25 Eyl 2025, 11:39
gönderen mahsumyasar
HMI'da Makrolar üzerinde yapabilir miyim sisteme plc eklemeden
Re: DTC'de Ulaşılması Gereken Sıcaklığın Gösterilmesi
Gönderilme zamanı: 25 Eyl 2025, 11:44
gönderen İslam
Yapılabilir.
Re: DTC'de Ulaşılması Gereken Sıcaklığın Gösterilmesi
Gönderilme zamanı: 07 Eki 2025, 17:29
gönderen mahsumyasar
$13 = FSUB({Link1}3@TEMP_CTRL-1001, 10) (Signed DW)
$14 = FSUB({Link1}3@TEMP_CTRL-1000, 10) (Signed DW)
IF ({Link1}3@TEMP_CTRL-1034) == 0
$90 = FSUB($13, $14) (Signed DW)
$91 = FDIV($90, {Link1}3@TEMP_CTRL-2080)(Signed DW)
$92 = FADD($91, $14)
$999 = $92
ELSEIF ({Link1}3@TEMP_CTRL-1034) == 1
$190 = FSUB($13, $14) (Signed DW)
$191 = FDIV ($190, {Link1}3@TEMP_CTRL-2081)(Signed DW)
$192 = FADD($191, $14)
$999 = $192
ELSEIF ({Link1}3@TEMP_CTRL-1034) == 2
$290 = FSUB($13, $14) (Signed DW)
$291 = FDIV ($290, {Link1}3@TEMP_CTRL-2082)(Signed DW)
$292 = FADD($291,$14)
$999 = $292
ELSEIF ({Link1}3@TEMP_CTRL-1034) == 3
$390 = FSUB($13, $14) (Signed DW)
$391 = FDIV ($390, {Link1}3@TEMP_CTRL-2083)(Signed DW)
$392 = FADD($391, $14)
$999 = $392
ELSEIF ({Link1}3@TEMP_CTRL-1034) == 4
$490 = FSUB($13, $14) (Signed DW)
$491 = FDIV ($490, {Link1}3@TEMP_CTRL-2084)(Signed DW)
$492 = FADD($14, $491)
$999 = $492
ELSEIF ({Link1}3@TEMP_CTRL-1034) == 5
$590 = FSUB($13, $14) (Signed DW)
$591 = FDIV ($590, {Link1}3@TEMP_CTRL-2085)(Signed DW)
$592 = FADD($14, $591)
$999 = $592
ELSEIF ({Link1}3@TEMP_CTRL-1034) == 6
$690 = FSUB($13, $14) (Signed DW)
$691 = FDIV ($690, {Link1}3@TEMP_CTRL-2086)(Signed DW)
$692 = FADD($14, $691)
$999 = $692
ELSEIF ({Link1}3@TEMP_CTRL-1034) == 7
$790 = FSUB($13, $14) (Signed DW)
$791 = FDIV ($790, {Link1}3@TEMP_CTRL-2087)(Signed DW)
$792 = FADD($14, $791)
$999 = $792
ENDIF
Bu işlem için böyle bir makro yazdım ancak hmi da 0 değeri gözüküyor, nerede hata yapmış olabilirim?
Re: DTC'de Ulaşılması Gereken Sıcaklığın Gösterilmesi
Gönderilme zamanı: 08 Eki 2025, 09:46
gönderen İslam
Yazmış olduğunuz komutlardaki hatayı ayıklamak bu şekilde denemeden güç. Satır satır yazarak adım adım kontrol edin. Olması gereken şartlar her işlem sonucu sağlanıyorsa bir sonrası satıra geçin. İstediğiniz gibi çalışmıyorsa muhakkak sorunlu satıra geldiğinizde bunu göreceksiniz. Ozaman düzeltme yapabilirsiniz.
Re: DTC'de Ulaşılması Gereken Sıcaklığın Gösterilmesi
Gönderilme zamanı: 04 Ara 2025, 18:12
gönderen Ahmet
mahsumyasar yazdı: 07 Eki 2025, 17:29
$13 = FSUB({Link1}3@TEMP_CTRL-1001, 10) (Signed DW)
$14 = FSUB({Link1}3@TEMP_CTRL-1000, 10) (Signed DW)
IF ({Link1}3@TEMP_CTRL-1034) == 0
$90 = FSUB($13, $14) (Signed DW)
$91 = FDIV($90, {Link1}3@TEMP_CTRL-2080)(Signed DW)
$92 = FADD($91, $14)
$999 = $92
ELSEIF ({Link1}3@TEMP_CTRL-1034) == 1
$190 = FSUB($13, $14) (Signed DW)
$191 = FDIV ($190, {Link1}3@TEMP_CTRL-2081)(Signed DW)
$192 = FADD($191, $14)
$999 = $192
ELSEIF ({Link1}3@TEMP_CTRL-1034) == 2
$290 = FSUB($13, $14) (Signed DW)
$291 = FDIV ($290, {Link1}3@TEMP_CTRL-2082)(Signed DW)
$292 = FADD($291,$14)
$999 = $292
ELSEIF ({Link1}3@TEMP_CTRL-1034) == 3
$390 = FSUB($13, $14) (Signed DW)
$391 = FDIV ($390, {Link1}3@TEMP_CTRL-2083)(Signed DW)
$392 = FADD($391, $14)
$999 = $392
ELSEIF ({Link1}3@TEMP_CTRL-1034) == 4
$490 = FSUB($13, $14) (Signed DW)
$491 = FDIV ($490, {Link1}3@TEMP_CTRL-2084)(Signed DW)
$492 = FADD($14, $491)
$999 = $492
ELSEIF ({Link1}3@TEMP_CTRL-1034) == 5
$590 = FSUB($13, $14) (Signed DW)
$591 = FDIV ($590, {Link1}3@TEMP_CTRL-2085)(Signed DW)
$592 = FADD($14, $591)
$999 = $592
ELSEIF ({Link1}3@TEMP_CTRL-1034) == 6
$690 = FSUB($13, $14) (Signed DW)
$691 = FDIV ($690, {Link1}3@TEMP_CTRL-2086)(Signed DW)
$692 = FADD($14, $691)
$999 = $692
ELSEIF ({Link1}3@TEMP_CTRL-1034) == 7
$790 = FSUB($13, $14) (Signed DW)
$791 = FDIV ($790, {Link1}3@TEMP_CTRL-2087)(Signed DW)
$792 = FADD($14, $791)
$999 = $792
ENDIF
Bu işlem için böyle bir makro yazdım ancak hmi da 0 değeri gözüküyor, nerede hata yapmış olabilirim?
1. satırda yanlışlık olmuş. ( $13 = FSUB({Link1}3@TEMP_CTRL-1001, 10) (Signed DW) )
burada siz SET(1001H) değerini $13 adresine yönlendirmişsiniz oysaki tam tersi olmalı.
Bu arada SET değerinden ve Mevcut (PV) Değerinden neden 10 çıkarttığınızı anlayamadım?
Amacınız eğer floating sayıya çevirmekse bunlarla hiç uğraşmayıın direkt olarak HMI ekrandaki okuma ve yazma elementlerinin okuma ve yazma tiplerini DECİMAL olarak seçerek noktalı gösterim yerinide 1 olarak seçerseniz gösterimler noktalı olacak ve yazılan değerler decimal olacaktır. Buda size işlemlerde kolaylık sağlayacaktır.