在以下部分中,將創(chuàng)建 SCL 函數(shù)塊“SCL_Best_before_date” 。 可使用 SCL 函數(shù)塊計(jì)算保質(zhì)期。
要?jiǎng)?chuàng)建 SCL 函數(shù)塊,請按以下步驟操作:
1. 打開“程序塊” 文件夾。
2. 雙擊“添加新塊”。
3. 要添加一個(gè)函數(shù)塊:
– 單擊“函數(shù)塊” 。
– 指定塊名稱“SCL_Best_before_date” 。
– 選擇語言“SCL” 。
– 單擊“確定”。
4. 保存項(xiàng)目。成功創(chuàng)建了 SCL 函數(shù)塊“SCL_Best_before_date” 。 程序編輯器將自動打開。
要定義接口,請按以下步驟操作:
1. 在“Input” 部分定義帶有以下屬性的輸入參數(shù):
– 名稱:"Duration"
– 數(shù)據(jù)類型:"Int"
可在此參數(shù)中指定保質(zhì)期(年)。
2. 在“Output” 部分定義帶有以下屬性的輸出參數(shù):
– 名稱:"Best_before_date_Output"
– 數(shù)據(jù)類型:"Int"
需要此參數(shù)輸出計(jì)算出的保質(zhì)期。
3. 在“Temp”部分定義帶有以下屬性的一個(gè)參數(shù):
– 名稱:"Error"
– 數(shù)據(jù)類型:"Int"
需要此臨時(shí)參數(shù)臨時(shí)存儲指令“RD_SYS_T” 的返回值,該參數(shù)將在項(xiàng)目過程中稍后設(shè)定。
4. 在“Temp”部分定義帶有以下屬性的第二個(gè)參數(shù):
– 名稱:"System_Time_DT"
– 數(shù)據(jù)類型:"Date_And_Time"
需要此臨時(shí)參數(shù)臨時(shí)存儲指令“RD_SYS_T” 的系統(tǒng)時(shí)間。
5. 在“Temp”部分定義帶有以下屬性的第三個(gè)參數(shù):
– 名稱:"System_Time_Array"
– 數(shù)據(jù)類型:"AT"
需要此臨時(shí)參數(shù)覆蓋接口“System_Time_DT” 。
部分名稱后將自動添加后綴“AT "System_Time_DT"” ,同時(shí)將數(shù)據(jù)類型“AT” 轉(zhuǎn)換為“Date_And_Time” 。
6. 將文本“Date_And_Time” 替換為“Array [0 .. 7] of Byte” 。
7. 在“Temp”部分定義帶有以下屬性的第四個(gè)參數(shù):
– 名稱:"Year"
– 數(shù)據(jù)類型:"Int"
需要此臨時(shí)參數(shù)臨時(shí)存儲所讀取的系統(tǒng)時(shí)間的年份值。
8. 保存項(xiàng)目。在 SCL 函數(shù)塊的接口中成功定義了所有必需參數(shù)。
在以下部分中,將編寫計(jì)算保質(zhì)期的 SCL 函數(shù)塊。
對于項(xiàng)目“Filling Station” ,則只輸出年份值:
● 要執(zhí)行此操作,需要使用指令“RD_SYS_T” 讀取 CPU 塊的當(dāng)前系統(tǒng)時(shí)間。 讀出的數(shù)據(jù)以 DT (Date_And_Time) 格式存儲在該指令的臨時(shí)接口“System_Time_DT” 中。
● 然后用臨時(shí)參數(shù)“System_Time_Array” 覆蓋臨時(shí)參數(shù)“System_Time_DT” 。 該操作將數(shù)據(jù)類型“DT” 的各個(gè)值對應(yīng)數(shù)組中的相應(yīng)字節(jié)。
● 數(shù)組的第一個(gè)字節(jié)包含當(dāng)前年份值。 將值“2000” 添加到年份字段中,由于格式為“DT(Date_And_Time)”,因此只指定了年份的最后兩位(例如: 值“11” 對應(yīng)于“2011”年)。 除了當(dāng)前年份外,還會加上輸入接口“Duration” 中指定的持續(xù)時(shí)間。
要編寫 SCL 函數(shù)塊,請按以下步驟操作:
1. 定義程序代碼的第一行:
– 在指令前寫入:"#Error :="
– 寫入指令:"RD_SYS_T"
– 在指令后寫入:"(OUT => #System_Time_DT);"
2. 定義程序代碼的第二行:
– 在指令前寫入:"#Year :="
– 寫入指令:"BCD_TO_INT"
– 在指令后寫入:"(#System_Time_Array[0]);"
該指令用于將“BCD” 格式轉(zhuǎn)換為“INT”格式。
3. 定義程序代碼的第三行:
– "#Best_Before_Date_Output := #Year + 2000 + #Duration;"
該指令用于將值“2000” 和輸入接口“Duration” 的當(dāng)前值加到值“Year” 上。
4. 保存項(xiàng)目。成功編寫了計(jì)算保質(zhì)期的 SCL 函數(shù)塊。
審核編輯:郭婷
-
函數(shù)
+關(guān)注
關(guān)注
3文章
4327瀏覽量
62573 -
編輯器
+關(guān)注
關(guān)注
1文章
805瀏覽量
31163
原文標(biāo)題:SCL-編寫計(jì)算保質(zhì)期的程序
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機(jī)器人及PLC自動化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論