現(xiàn)場SPS+PN畫面里有PLC時間與HMI時間一致的控制按鈕,可以通過這個進(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
小時的更改
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
以下是時間的轉(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è)置:SFC0
RET_VAL_SFC :=SET_CLK(PDT := TMP_DT);SFC0
Stellbits.X10:= False;
END_IF;
SFC0設(shè)置PLC時間:
使用SFC 0 "SET_CLK" (設(shè)定系統(tǒng)時鐘),可以設(shè)定CPU時鐘的時間和日期。調(diào)用SFC 0會啟動時鐘。時鐘將從設(shè)定時間和設(shè)定日期開始運行。如果這個時鐘是主時鐘,則在調(diào)用SFC 0的同時,CPU啟動同步時間的功能。可使用STEP 7設(shè)定同步周期。
例如:
CALLSFC 0// SFC 0 "SET_CLK" (設(shè)置時間中斷)
(PDT:= #IN_TIME_DATE,//當(dāng)前日期和時間
RET_VAL:= MW 200);//包含錯誤代碼(如果SFC處理發(fā)生故障)
-
plc
+關(guān)注
關(guān)注
5007文章
13127瀏覽量
461576 -
WinCC
+關(guān)注
關(guān)注
6文章
204瀏覽量
47930
原文標(biāo)題:WINCC 時間同步按鈕,腳本分析
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機(jī)器人及PLC自動化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論