博途讀取和編輯CPU模塊的date and time變量?

2020-01-06     工控自動化專家

描述 為了輸入或讀取 CPU 時鐘的日期和時間,S7-300/400 需要數據類型 「DT」 (DATA_AND_TIME) ,S7-1200/1500 需要數據類型 「DTL」 。


為了輸入或讀取 CPU 時鐘的日期和時間,S7-300/400 需要數據類型 「DT」 (DATA_AND_TIME) ,S7-1200/1500 需要數據類型 「DTL」 。


下表給出了在 S7-300/400 和 S7-1200 /1500 中輸入和輸出日期和時間數據所需要的指令。這些指令參見 STEP 7 (TIA Portal) 中的"高級指令 > 日期和時間"


在 S7-300/400 中使用 「T_CONV」 指令從 "DT" 中提取日期、星期和時間數據。該指令需要調用三次。在參數 「IN」 中填寫 「DT」 類型的變量並在參數 「OUT」 中分別填寫定義為 「Date」, 「Int」 和 「TOD」 類型的變量。

1. 從 「DT」 轉換到 「Date」 (日期)

2. 從 「DT」 轉換到 「Int」(星期)

3. 從 「DT」 轉換到 「TOD」 (當前時間)

使用 S7-1200/1500 可以直接符號訪問 DTL 變量結構的組件,但它無需訪問間接地址或編輯絕對地址。建議將數據保存到全局數據塊。在這個數據塊中使用「DTL」 聲明變量,輸入之後點擊左邊的箭頭符號展開這個變量。在這個 DTL 數據類型下將顯示其結構組成(YEAR, MONTH, DAY, ... )及其各自的數據類型。


S7-300/S7-400 的塊

在功能 "ReadWriteTime" [FC20] 中,網絡段1調用 "WR_SYS_T" 指令設置 CPU 時鐘的日期和時間。在此之前,調用 「T_COMBINE」 將 「Date」 和 「Time_of_Day」 格式的數據組合為 「Date_and_Time」 的格式。網絡2調用 "RD_SYS_T" 讀取 CPU 時鐘的日期和時間。調用 "T_CONV" 指令從 「DT」 格式中提取數據類型 「Date」, 「Int」 和 「TOD」。在 OB 塊 "ReadWriteOB" 中調用 "ReadWriteTime" 功能,並將 DB 塊 "TimeDB" 中的變量填寫到該功能的管腳上。



S7-1200/S7-1500 的塊

The function "SetTimeOn" [FC2] contains the two instructions "RD_SYS_T" and "WR_SYS_T" for reading out and setting the clock in the CPU. The function is called in the OB "SetTime" and parameterized with the variables of the data block "DB".功能塊 "SetTimeOn" [FC2] 使用兩個指令 "RD_SYS_T" 和 "WR_SYS_T" 對 CPU 的時鐘進行讀寫。在 OB 塊 "SetTime" 調用該功能塊,並將數據塊 "DB" 的變量填寫到該功能塊的管腳。

在下面的 SCL 編程中,接通時間被編程為 5 個工作日。從周一到周五,變量「Access_On」 在上午9點到上午9點一刻接收到「True」 信號,這一周的其他時間段接收到的是「False」信號。


文章來源: https://twgreatdaily.com/RX5xh28BMH2_cNUgonX7.html