現(xiàn)場SPS+PN畫面里有PLC時(shí)間與HMI時(shí)間一致的控制按鈕,可以通過這個(gè)進(jìn)行定期更新改進(jìn).
年的更改
SetValueSmartTags("@StandardSPS_InfoGrund_DB.Stell_Datum_Uhrzeit_BCD.Jahr"), (Year (Date)1000)*4096 +((Year (Date) Mod 1000)100)*256 + ((Year (Date) Mod 100)10)*16 + Year (Date)Mod 10
月的更改
SetValueSmartTags("@StandardSPS_InfoGrund_DB.Stell_Datum_Uhrzeit_BCD.Monat"), (Month (Date)1000)*4096 +((Month (Date) Mod 1000)100)*256 + ((Month (Date) Mod 100)10)*16 + Month(Date) Mod 10
日的更改
SetValueSmartTags("@StandardSPS_InfoGrund_DB.Stell_Datum_Uhrzeit_BCD.Tag"), (Day (Date)1000)*4096 +((Day (Date) Mod 1000)100)*256 + ((Day (Date) Mod 100)10)*16 + Day (Date) Mod10
小時(shí)的更改
SetValueSmartTags("@StandardSPS_InfoGrund_DB.Stell_Datum_Uhrzeit_BCD.Stunde"), (Hour (Time)1000)*4096 +((Hour (Time) Mod 1000)100)*256 + ((Hour (Time) Mod 100)10)*16 + Hour (Time)Mod 10
分鐘的更改
SetValueSmartTags("@StandardSPS_InfoGrund_DB.Stell_Datum_Uhrzeit_BCD.Minute"), (Minute (Time)1000)*4096 +((Minute (Time) Mod 1000)100)*256 + ((Minute (Time) Mod 100)10)*16 + Minute(Time) Mod 10
秒的更改
SetValueSmartTags("@StandardSPS_InfoGrund_DB.Stell_Datum_Uhrzeit_BCD.Sekunde"), ((Second(Time)+1)1000)*4096+ (((Second(Time)+1) Mod 1000)100)*256 + (((Second(Time)+1) Mod 100)10)*16 +(Second(Time)+1) Mod 10
SetBit SmartTags("@StandardSPS_InfoGrund_DB.Stellbits.OP_Stell")
_Stellbits := "DB_ARG".Stellbits;
IF Cfg.X1 AND Stellbits.X10 THEN
以下是時(shí)間的轉(zhuǎn)換:
iDate := uiDate(DAY:=BCD_TO_INT("DB_ARG".Stell_Time_Tag),
MONTH:=BCD_TO_INT("DB_ARG".Stell_Time_Monat),
YEAR:= BCD_TO_INT(WORD_TO_BYTE("DB_ARG".Stell_Time_Jahr)) + 2000);
TMP_DT := D_TOD_DT(IN1 := DINT_TO_DATE(INT_TO_DINT(iDate)),IN2 :=TOD#0000.000);
_DT.Stunde:= "DB_ARG".Stell_Time_Stunde;
_DT.Minute:= "DB_ARG".Stell_Time_Minute;
_DT.Sekunde:= "DB_ARG".Stell_Time_Sekunde;
以下是PLC時(shí)間的設(shè)置:SFC0
RET_VAL_SFC :=SET_CLK(PDT := TMP_DT);SFC0
Stellbits.X10:= False;
END_IF;
SFC0設(shè)置PLC時(shí)間:
使用SFC 0 "SET_CLK" (設(shè)定系統(tǒng)時(shí)鐘),可以設(shè)定CPU時(shí)鐘的時(shí)間和日期。調(diào)用SFC 0會啟動(dòng)時(shí)鐘。時(shí)鐘將從設(shè)定時(shí)間和設(shè)定日期開始運(yùn)行。如果這個(gè)時(shí)鐘是主時(shí)鐘,則在調(diào)用SFC 0的同時(shí),CPU啟動(dòng)同步時(shí)間的功能。可使用STEP 7設(shè)定同步周期。
例如:
CALLSFC 0// SFC 0 "SET_CLK" (設(shè)置時(shí)間中斷)
(PDT:= #IN_TIME_DATE,//當(dāng)前日期和時(shí)間
RET_VAL:= MW 200);//包含錯(cuò)誤代碼(如果SFC處理發(fā)生故障)
-
plc
+關(guān)注
關(guān)注
5013文章
13331瀏覽量
464221 -
WinCC
+關(guān)注
關(guān)注
6文章
204瀏覽量
48036
原文標(biāo)題:WINCC 時(shí)間同步按鈕,腳本分析
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機(jī)器人及PLC自動(dòng)化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論