在Step7中定時器(Timer)的輸出參數BI、BCD,是其剩余時間的兩種數據格式。BI以整數Int格式顯示,BCD以BCD格式顯示。如何將BI、BCD轉為秒為單位的浮點數(Real),下面提供了思路和例程。
1 定時器(Timer)的參數說明
定時器(Timer)在編程中大量使用,有時會用到其剩余時間,例如用剩余時間進行其他運算和編程,或者在其它廠家的觸摸屏上顯示。這時,需將定時器的剩余時間轉為浮點數(Real),以秒為單位。
下面是調用定時器的程序截圖,預設定時時間為1分鐘為例。 首先,分析定時器的各參數含義,按鼠標左鍵點擊定時器框圖后按F1鍵會看到step7幫助信息,如下圖。 由此可見輸出參數BI、BCD是定時器剩余時間的兩種數據格式。BI以整數Int格式顯示,BCD以BCD格式顯示。注意,此處BCD格式即是S5Time格式,其數據結構和時基如下: 明顯看出,參數BI轉為秒為單位的浮點數,必須利用參數BCD的時基。參數BCD轉為秒為單位的浮點數,需調用庫函數FC33(S5TI_TIM)。 2 剩余時間參數BI,轉為秒為單位的浮點數(Real)
思路:參數BI -> 整數INT -> 雙整數DI -> 浮點數Real -> 取參數BCD的時基 -> 根據不同時基,轉為秒為單位的浮點數Real。編程如下: 3 剩余時間參數BCD,轉為秒為單位的浮點數(Real)
思路:參數BCD -> 時間S5Time -> 庫函數FC33(S5TI_TIM) -> 時間Time -> 雙整數DI -> 浮點數Real -> 除以1000.0,轉為秒為單位的浮點數Real。編程如下: 4 結果顯示
本例程中,定時器的預設定時時間為1分鐘,啟動定時器,截圖如下。
可見,截圖時定時器剩余時間為30s500ms,參數BI和BCD轉為秒為單位的浮點數,均為30.5秒。
|