0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

S7-300 PLC是將時間日期信息如何進行存儲的?

jf_kBxdsOIg ? 來源:你身邊的機器人專家 ? 2023-12-15 10:28 ? 次閱讀

很多情況下我們都需要根據(jù)時間日期的變化來改變自動化系統(tǒng)的控制方式,這時候我們就需要將這些時間和日期的信息,從PLC中調(diào)出,下面我們就一起來學習,S7-300PLC是將時間日期信息如何進行存儲的?

簡單應用

01

S7-300PLC中實際上系統(tǒng)的時間日期信息是存儲在主程序OB1的本地數(shù)據(jù)中,具體位置是OB1的LB12到LB18,分別存儲的是年、月、日、小時、分鐘、秒、毫秒、信息如圖 1-1所示:

acb21830-9af0-11ee-8b88-92fbcf53809c.jpg

那么我們?nèi)绻枰獙@些信息進行提取最簡單的方法就是使用MOVE指令把這些L區(qū)的數(shù)據(jù)讀到其他區(qū)域比如說M區(qū)如圖 1-2所示:

acbc5188-9af0-11ee-8b88-92fbcf53809c.jpg

這里我們必須要注意所有時間的顯示都是以16進制的方式而不是10進制的方式顯示的。

高級應用

02

一、數(shù)據(jù)類型:DATE_AND_TIME

DATE_AND_TIME是Step7四種復雜數(shù)據(jù)類型(DATE_AND_TIME、STRING、ARRAY及STRUCT)的一種,表示由日期和時間組成的時間,可以使用縮寫DT來代替DATE_AND_TIME。

DATE_AND_TIME變量由8個字節(jié)構(gòu)成,分別代表年、月、日、時、分、秒、毫秒,最后一個字節(jié)0-3位代表星期,4-7位表示毫秒,數(shù)據(jù)以BCD碼表示。如圖1所示,為DATE_AND_TIME的數(shù)據(jù)格式。

acc6edd2-9af0-11ee-8b88-92fbcf53809c.jpg

DATE_AND_TIME數(shù)據(jù)類型的取值范圍為:

最小:DT#1900-01-01-000.000

最大:DT#2089-12-31-2359.999

二、設置系統(tǒng)時鐘

1、在聯(lián)機的情況下,通過STEP7軟件菜單指令直接設定系統(tǒng)時鐘,如圖2.1、圖2.2、圖2.3所示。(前提:PG/PC要與實際PLC聯(lián)網(wǎng),或打開仿真器PLCSIM,即要處于"聯(lián)機"狀態(tài))

acd1437c-9af0-11ee-8b88-92fbcf53809c.jpg

圖2.1 菜單命令設定系統(tǒng)時鐘(一)

acdb5b32-9af0-11ee-8b88-92fbcf53809c.jpg

圖2.2 菜單命令設定系統(tǒng)時鐘(二)

ace75108-9af0-11ee-8b88-92fbcf53809c.jpg

圖2.3 菜單命令設定系統(tǒng)時鐘(三)

上述三種方法,都會彈出"設置時鐘"的對話框,如圖3所示,勾選"來自PG/PC",使用計算機時鐘來同步PLC時鐘。

acf94ac0-9af0-11ee-8b88-92fbcf53809c.jpg

圖3 與PG/PC時鐘同步

2、使用SFC0設置系統(tǒng)時間

除了使用PG/PC來同步系統(tǒng)時鐘外,我么也可以使用系統(tǒng)功能SFC0來自定義系統(tǒng)時鐘,方法如下:

1) 首先,創(chuàng)建一個DB塊,如:DB20。并在其中定義一個DATE_AND_TIME變量。

ad02acbe-9af0-11ee-8b88-92fbcf53809c.jpg

圖4 定義DATE_AND_TIME變量

2) 在OB1中編寫代碼,將參考時間以16進制BCD碼的形式賦值給DATE_AND_TIME變量的各個字節(jié)。第7個字節(jié)包含毫秒的個位值及星期,一般不需要設定,系統(tǒng)會根據(jù)給定的年、月、日來自己計算星期值并賦值。如圖5所示。

ad0f0db0-9af0-11ee-8b88-92fbcf53809c.jpg

圖5 為DATE_AND_TIME變量賦值

有很多初學者在這里常常會犯疑惑,為什么此時"ref_time"中的星期數(shù)不對呢?(如圖5所示)。其實,ref_time中并不會顯示當前的星期數(shù),我們需要重新讀取系統(tǒng)時鐘,才能獲得正確的星期值,這點我們將在接下來的"讀取系統(tǒng)時鐘"中繼續(xù)討論(圖7、圖9)。

3) 調(diào)用SFC0,將定義好的DATE_AND_TIME變量值(這里為DB20中的"ref_time")設定為系統(tǒng)時鐘,如圖5所示。當M0.0檢測到上升沿信號后,系統(tǒng)的時鐘將變?yōu)?time.ret_time"所指定的值,本例中為:2018-12-30 1420。

ad23de02-9af0-11ee-8b88-92fbcf53809c.jpg

圖5 調(diào)用SFC0,自定義系統(tǒng)時鐘

三、讀取系統(tǒng)時鐘

1、使用OB1中的臨時量 “OB1_DATE_TIME"來讀取系統(tǒng)時鐘;

OB1中定義了名為"OB1_DATE_TIME"的臨時變量,如圖6所示。OB1的每個掃描周期都會讀取系統(tǒng)時鐘,并存儲到"OB1_DATE_TIME"中。因此,通過該臨時變量即可得到系統(tǒng)時鐘。

ad34e1fc-9af0-11ee-8b88-92fbcf53809c.jpg

圖6 臨時變量:"OB1_DATE_TIME"

ad401838-9af0-11ee-8b88-92fbcf53809c.jpg

圖7 通過"OB1_DATE_TIME"讀取系統(tǒng)時鐘

2、調(diào)用SFC1來讀取系統(tǒng)時鐘

系統(tǒng)功能SFC1是專門用來讀取系統(tǒng)時鐘的,程序如如8所示。讀取的系統(tǒng)時鐘值存放于DB20中DBX8.0開始的8個字節(jié)空間中,如圖9所示。

ad518348-9af0-11ee-8b88-92fbcf53809c.jpg

圖8 調(diào)用SFC1來讀取系統(tǒng)時鐘

ad5cb556-9af0-11ee-8b88-92fbcf53809c.jpg

圖9 調(diào)用SFC1來讀取系統(tǒng)時鐘

結(jié)合圖7、圖9,我們就可以解開圖5的疑惑了。我們自定義的系統(tǒng)時鐘后,系統(tǒng)會自動計算出"星期值",我們讀取當前系統(tǒng)時鐘時,自然會讀出正確的"星期值",因此,在給定系統(tǒng)時間時,僅需要給出年、月、日、小時、分鐘、秒即可。






審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • plc
    plc
    +關(guān)注

    關(guān)注

    5001

    文章

    12944

    瀏覽量

    459203
  • S7-300
    +關(guān)注

    關(guān)注

    8

    文章

    224

    瀏覽量

    34110

原文標題:干貨分享 | PLC時間日期還能這樣讀取?

文章出處:【微信號:你身邊的機器人專家,微信公眾號:你身邊的機器人專家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    西門子S7-300 PLC視頻教程大全

    此文詳細介紹西門子S7-300,全文共有15個視頻,介紹S7-300的結(jié)構(gòu)、CPU模塊、PLC功能及模擬量模塊地址的確定。 1、西門子S7-300
    發(fā)表于 09-26 10:11 ?5.6w次閱讀

    西門子S7-300/400 PLC與VB的通信方法

    本文主要介紹了用VB 與西門子S7-300/400 PLC 的通信方法,并把此方法應用于復雜控制系統(tǒng)的調(diào)試以及PC 機管理系統(tǒng)與PLC 控制系統(tǒng)的信息交換中。西門子
    發(fā)表于 08-13 08:59 ?154次下載

    S7-300模塊數(shù)據(jù)(中文)

    S7-300模塊數(shù)據(jù)(中S7-300模塊數(shù)據(jù)(中S7-300模塊數(shù)據(jù)(中
    發(fā)表于 06-16 17:57 ?3次下載

    SIMATIC S7-300 PLC及指令系統(tǒng)

    SIMATIC S7-300 PLC及指令系統(tǒng)
    發(fā)表于 12-09 15:30 ?0次下載

    S7-200與S7-300之間的通訊方式圖文詳解

    S7-200和S7-300進行MPI通信S7-200 plcS7-300
    的頭像 發(fā)表于 12-04 18:33 ?5.4w次閱讀
    <b class='flag-5'>S7</b>-200與<b class='flag-5'>S7-300</b>之間的通訊方式圖文詳解

    玩轉(zhuǎn)西門子S7-300系列PLC的PID

    玩轉(zhuǎn)西門子S7-300系列PLC的PID
    的頭像 發(fā)表于 03-21 10:46 ?9034次閱讀

    西門子S7-200和S7-300進行的以太網(wǎng)通信

    S7-200和S7-300進行以太網(wǎng)通信,使用STEP 7 Micro/WIN32中的向?qū)?b class='flag-5'>進行通信的配置即可。
    的頭像 發(fā)表于 04-28 15:27 ?7813次閱讀
    西門子<b class='flag-5'>S7</b>-200和<b class='flag-5'>S7-300</b><b class='flag-5'>進行</b>的以太網(wǎng)通信

    S7-300PLC如何時間日期信息進行存儲

    很多情況下我們都需要根據(jù)時間日期的變化來改變自動化系統(tǒng)的控制方式,這時候我們就需要將這些時間日期信息,從PLC中調(diào)出,下面我們就一起來學
    的頭像 發(fā)表于 11-01 11:31 ?5461次閱讀

    S7-300PLC時間日期信息何進行存儲

    很多情況下我們都需要根據(jù)時間日期的變化來改變自動化系統(tǒng)的控制方式,這時候我們就需要將這些時間日期信息,從PLC中調(diào)出,下面我們就一起來學
    的頭像 發(fā)表于 11-03 18:12 ?3450次閱讀
    <b class='flag-5'>S7-300PLC</b>是<b class='flag-5'>將</b><b class='flag-5'>時間日期</b><b class='flag-5'>信息</b>如<b class='flag-5'>何進行</b><b class='flag-5'>存儲</b>的

    西門子S7-300系列PLC基本指令系統(tǒng)

    西門子S7-300系列PLC基本指令系統(tǒng)資料免費下載。
    發(fā)表于 04-23 11:50 ?191次下載

    S7-300系列PLC與CS3000型DCS之間的通信

    S7-300系列PLC與CS3000型DCS之間的通信說明。
    發(fā)表于 04-23 15:00 ?14次下載

    S7-300 PLC在水廠自動控制系統(tǒng)中的應用

    S7-300 PLC在水廠自動控制系統(tǒng)中的應用說明。
    發(fā)表于 04-25 11:03 ?41次下載

    S7-300S7-200PLC之間的PROFIBUS-DP通訊

    S7-300S7-200PLC之間的PROFIBUS-DP通訊說明。
    發(fā)表于 05-08 11:42 ?25次下載

    天拓分享:西門子plc S7-300/400系列的PLC通訊

    今天看一下西門子plc S7-300/400系列的PLC通訊。西門子plc?S7-400與s7-300
    的頭像 發(fā)表于 08-03 16:35 ?3491次閱讀
    天拓分享:西門子<b class='flag-5'>plc</b> <b class='flag-5'>S7-300</b>/400系列的<b class='flag-5'>PLC</b>通訊

    西門子S7-300S7-400之間的以太網(wǎng)通訊方法和步驟

    隨著工業(yè)自動化的不斷發(fā)展,以太網(wǎng)通訊在工業(yè)控制領(lǐng)域的應用越來越廣泛。西門子的S7系列PLC就是其中的一個典型代表。本文詳細介紹S7-300S7
    的頭像 發(fā)表于 08-24 14:37 ?5855次閱讀