<em id="ju2li"></em>

<style id="ju2li"><kbd id="ju2li"></kbd></style>

  • <style id="ju2li"></style>
    <acronym id="ju2li"><cite id="ju2li"></cite></acronym>
    <blockquote id="ju2li"></blockquote>
  • 国产av丝袜熟女一二三,国产精品国语对白露脸在线播放 ,中文字幕国产精品日韩,一区二区福利在线视频,日韩一区二区在线看精品,毛片无码一区二区三区,大屁股肥熟女流白浆,av中文字幕在线二区

    讀取PLC時間轉換為UNIX時間做網絡同步比較

    2019/10/14 16:08:50 人評論 次瀏覽 分類:PLC應用  文章地址:http://www.xzycr.cn/tech/2738.html

    最近在安全行業里做讀取PLC內部故障事件分析的工作,發現在PLC網絡里采用NTP時間同步基本上沒有,因為在工控領域PLC更多承擔業務層面控制需求的實現,反而對于PLC本身的安全并沒有過多的重視。

    多區域內PLC時間同步就是安全設置的必要一步,因為這個會涉及PLC內部的事件和記錄是否能夠按照真實的時間進行提取和分析。那在不同網段讀取不同廠商PLC時間進行比較和同步就成為一個比較麻煩的事情。不同廠商PLC的日期和時間比較需要用到一個INT數組數據來比較。所以才有了這需求打算采用Unix 時間來做時間對比,因為所有廠商的PLC的日期和時間都可以轉成Unix時間。


    什么是Unix時間?
    Unix時間(英文為Unix epoch, Unix time, POSIX time或Unix timestamp)是從1970年1月1日(UTC/GMT的午夜)開始所經過的秒數,不考慮閏秒。UNIX時間的0按照ISO 8601規范為:1970-01-01T00:00:00Z。一個小時表示為UNIX時間格式為:3600秒;一天表示為UNIX時間為86400秒,閏秒不計算。

    時間                    秒

    1分鐘                  60秒

    1小時                  3600秒
    1天                     86400秒
    1周                     604800秒
    1月(30.44天)       2629743秒
    1年(365.24天)     31556926 秒


    下面將采用結構化文本的形式來開發這個PLC時間轉成Unix時間,為了方便大家在其他的PLC中實現時間格式的轉換。
    // Convert system time to unix time
    // (seconds until 1970-01-01 00:00)
    // Create by jiansiting
     
    FUNCTION Unixtime : DWORD
     
    VAR_INPUT
    END_VAR
     
    VAR_TEMP
    leapyears:INT;
    days_from_1970  : DINT;
    days_from_BeginOfYear : ARRAY[1..12] OF INT;
    l_unixtime:DINT;
    sfc1_ret_val:INT;
    CDT_systemtime:DATE_AND_TIME;
    systemtime AT CDT_systemtime : STRUCT
        year_CDT:BYTE; // 1970 ... 2038
        month_CDT:BYTE;
        day_CDT:BYTE;
        hour_CDT:BYTE;
        minute_CDT:BYTE;
        second_CDT:BYTE;
    END_STRUCT;
     
    year:INT; // 1970 ... 2038
    month:INT;
    day:INT;
    hour:INT;
    minute:INT;
    second:INT;
    END_VAR
     
    leapyears:= 0;
    days_from_1970  := 0;
     
    // days of current month without leap day
     
    days_from_BeginOfYear[1]  :=   0;  
    days_from_BeginOfYear[2]  :=  31;  
    days_from_BeginOfYear[3]  :=  59;  
    days_from_BeginOfYear[4]  :=  90;  
    days_from_BeginOfYear[5]  := 120;  
    days_from_BeginOfYear[6]  := 151;  
    days_from_BeginOfYear[7]  := 181;  
    days_from_BeginOfYear[8]  := 212;  
    days_from_BeginOfYear[9]  := 243;  
    days_from_BeginOfYear[10] := 273;  
    days_from_BeginOfYear[11] := 304;  
    days_from_BeginOfYear[12] := 334;  
     
    // read system time
    sfc1_ret_val:= READ_CLK(CDT := CDT_systemtime);
    year:= BCD_TO_INT(systemtime.year_CDT) + 2000;
    month:= BCD_TO_INT(systemtime.month_CDT);                       
    day:= BCD_TO_INT(systemtime.day_CDT);
    hour:= BCD_TO_INT(systemtime.hour_CDT);
    minute:= BCD_TO_INT(systemtime.minute_CDT);
    second:= BCD_TO_INT(systemtime.second_CDT);
     
    // sum of leap years since 1979 (without current leap year)
    leapyears := ((year-1)-1968)/4-((year-1)-1900)/100+((year-1)-1600)/400;
    days_from_1970 := (year-1970)*365 + leapyears+ days_from_BeginOfYear[month] + day-1;
     
    IF ( (month > 2) AND ((year MOD 4 = 0) AND ((year MOD 100 <> 0) OR (year MOD 400 = 0))) ) THEN
        days_from_1970 := days_from_1970 + 1; // + leap day, if year is leap year
    END_IF;
     
    // OUTPUT in s
    l_unixtime :=  second + 60 * ( minute + 60 * (hour + 24 * days_from_1970) );
     
     
    // if error return 0
    IF  sfc1_ret_val <> 0 THEN
        Unixtime := 0;
    ELSE      
        Unixtime := DINT_TO_DWORD(l_unixtime);
    END_IF;
     
    END_FUNCTION
    者:劍思庭

    共有訪客發表了評論 網友評論

      客戶姓名:
    郵箱或QQ:
    驗證碼: 看不清楚?
    主站蜘蛛池模板: 精品无码一区二区三区在线| 无码h黄肉动漫在线观看| 国产精品白浆视频免费观看| 亚洲国产综合AV| 国产区精品视频自产自拍| 67194熟妇在线观看线路1 | 九九热在线精品免费视频| 亚洲中文字幕av在线| 国产农村激情免费专区| 国产精品一区在线麻豆| 人妻少妇久久| 国产av仑乱内谢| 国产18禁网站| 草莓a| 日日碰狠狠添天天爽五月婷| 亚洲av久久精品狠狠爱av| 风间由美性色一区二区三区 | 日本色多多| 在线观看无码av五月花| 国产熟女精品| va在线| 精品丝袜国产自在线拍AV| a4yy私人毛片| 国产台湾黄色av一区二区| 动漫精品中文字幕无码| 欧美a视频| 日本九州不卡久久精品一区| 91成人无码| 亚洲日韩人妻在线| 国产爆乳成AV人在线播放| 无码乱人伦一区二区亚洲一| 精品熟女少妇免费久久| 超碰免费在线观看| 东辽县| 亚洲 综合 校园 欧美 制服| 亚洲一区二区三区四区三级视频| 丁香五月亚洲综合在线国内自拍| 亚洲熟妇无码一区二区三区| 国产亚洲福利精品一区二区| 国产欧美在线视频免费| 精品国产乱弄九九99久久|