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

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

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

SCL程序: 檢測(cè)存儲(chǔ)區(qū)的填充量示例介紹

機(jī)器人及PLC自動(dòng)化應(yīng)用 ? 來(lái)源:機(jī)器人及PLC自動(dòng)化應(yīng)用 ? 2023-07-20 10:44 ? 次閱讀
檢測(cè)存儲(chǔ)區(qū)的填充量示例

檢測(cè)存儲(chǔ)區(qū)的填充量

下圖顯示的系統(tǒng)中包含兩條傳送帶和一個(gè)臨時(shí)存儲(chǔ)區(qū),臨時(shí)存儲(chǔ)區(qū)位于兩條傳送帶之間。傳送帶 1 將包裹傳送到該存儲(chǔ)區(qū)。傳送帶 1 末端靠近存儲(chǔ)區(qū)的光電屏蔽,負(fù)責(zé)檢測(cè)傳送到存儲(chǔ)區(qū)的包裹數(shù)量。

傳送帶 2 將包裹從臨時(shí)存儲(chǔ)區(qū)域傳輸?shù)窖b載臺(tái),包裹將在此裝載到卡車(chē)上。存儲(chǔ)區(qū)出口處的光電屏蔽,負(fù)責(zé)檢測(cè)離開(kāi)存儲(chǔ)區(qū)傳入裝載臺(tái)的包裹數(shù)量。五個(gè)指示燈用于指示臨時(shí)存儲(chǔ)區(qū)的容量。

6ce560ae-2624-11ee-962d-dac502259ad0.png

實(shí)施

下表列出了所用變量的定義:

名稱 聲明 數(shù)據(jù)類(lèi)型 說(shuō)明
PEB1 Input BOOL 光電屏蔽 1
PEB2 Input BOOL 光電屏蔽 2
RESET Input BOOL 復(fù)位計(jì)數(shù)器
LOAD Input BOOL 將當(dāng)前計(jì)數(shù)器值調(diào)整為 PV 參數(shù)的值。
MAX STORAGE AREA FILL AMOUNT Input INT 存儲(chǔ)區(qū)中最大可能的包裹數(shù)
PACKAGECOUNT Output INT 存儲(chǔ)區(qū)中的包裹數(shù)(當(dāng)前計(jì)數(shù)值)
STOCK_PACKAGES Output BOOL 當(dāng)前計(jì)數(shù)值大于或等于變量“MAX STORAGE AREA FILL AMOUNT”的值時(shí)置位。
STOR_EMPTY Output BOOL 指示燈:存儲(chǔ)區(qū)為空
STOR_NOT_EMPTY Output BOOL 指示燈:存儲(chǔ)區(qū)非空
STOR_50%_FULL Output BOOL 指示燈:存儲(chǔ)區(qū)已用 50 %
STOR_90%_FULL Output BOOL 指示燈:存儲(chǔ)區(qū)已用 90 %
STOR_FULL Output BOOL 指示燈:存儲(chǔ)區(qū)已滿
VOLUME_50 Input INT 比較值:50 個(gè)包裹
VOLUME_90 Input INT 比較值:90 個(gè)包裹
VOLUME_100 Input INT 比較值:100 個(gè)包裹

以下 STL 程序說(shuō)明了如何實(shí)現(xiàn)此示例:

當(dāng)一個(gè)包裹傳送到存儲(chǔ)區(qū)時(shí),“PEB1”處的信號(hào)狀態(tài)從“0”變?yōu)椤?”(信號(hào)上升沿)。“PEB1”在信號(hào)上升沿時(shí),將啟用“加計(jì)數(shù)”計(jì)數(shù)器,同時(shí)“PACKAGECOUNT”的當(dāng)前計(jì)數(shù)值遞增 1。

當(dāng)一個(gè)包裹從存儲(chǔ)區(qū)傳送到裝載臺(tái),“PEB2”處的信號(hào)狀態(tài)從“0”變?yōu)椤?”(信號(hào)上升沿)?!癙EB2”在信號(hào)上升沿時(shí),將啟用“減計(jì)數(shù)”計(jì)數(shù)器,同時(shí)“PACKAGECOUNT”的當(dāng)前計(jì)數(shù)值遞減 1。

只要存儲(chǔ)區(qū)中沒(méi)有包裹(“PACKAGECOUNT”=“0”),則“STOR_EMPTY”變量的信號(hào)狀態(tài)置位為“1”同時(shí)點(diǎn)亮“存儲(chǔ)區(qū)為空”指示燈。

“RESET”變量的信號(hào)狀態(tài)置位為“1”時(shí),會(huì)將當(dāng)前計(jì)數(shù)值復(fù)位為“0”。

如果“LOAD”變量的信號(hào)狀態(tài)設(shè)置為“1”,則會(huì)將當(dāng)前計(jì)數(shù)值設(shè)置為“MAX STORAGE AREA FILL AMOUNT”變量的值。如果當(dāng)前計(jì)數(shù)值大于或等于“MAX STORAGE AREA FILL AMOUNT”變量的值,則“STOCK_PACKAGES”變量的信號(hào)狀態(tài)為“1”。

SCL
"VOLUME_50" := 5; // 為比較值預(yù)先賦值 50 個(gè)包裹(對(duì)于測(cè)試僅使用 5 個(gè)包裹)
"VOLUME_90" := 9; // 為比較值預(yù)先賦值 90 個(gè)包裹(對(duì)于測(cè)試僅使用 9 個(gè)包裹)
"VOLUME_100" := 10; // 為比較值預(yù)先賦值 100 個(gè)包裹(對(duì)于測(cè)試僅使用 10 個(gè)包裹)
"MAX STORAGE AREA FILL AMOUNT" := 10; // 為存儲(chǔ)區(qū)中的最大數(shù)量預(yù)先賦值 100 個(gè)包裹(對(duì)于測(cè)試僅使用 10 個(gè)包裹)
"IEC_Counter_0_DB".CTUD(CU := "PEB1",
CD := "PEB2",
R := "RESET",
LD := "LOAD",
PV := "MAX STORAGE AREA FILL AMOUNT",
QU => "STOCK_PACKAGES",
QD => "STOR_EMPTY",
CV => "PACKAGECOUNT");

只要存儲(chǔ)區(qū)中有包裹,“存儲(chǔ)區(qū)非空”指示燈就會(huì)點(diǎn)亮。

SCL
"STOR_NOT_EMPTY" := NOT "STOR_EMPTY"

如果存儲(chǔ)區(qū)中的包裹數(shù)低于 50%,“存儲(chǔ)區(qū)已用 50 %”、“存儲(chǔ)區(qū)已用 90 %”和“存儲(chǔ)區(qū)已滿”報(bào)警指示燈就會(huì)熄滅。

SCL
IF "PACKAGECOUNT" < "VOLUME_50" THEN
"STOR_50%_FULL" := 0;
"STOR_90%_FULL" := 0;
"STOR_FULL" := 0;
END_IF;

如果存儲(chǔ)區(qū)中的包裹數(shù)大于或等于 50 %,則“存儲(chǔ)區(qū)已用 50 %”指示燈將點(diǎn)亮。

SCL
IF "PACKAGECOUNT" >= "VOLUME_50" AND "PACKAGECOUNT <= "VOLUME_90" THEN
"STOR_50%_FULL" := 1;
"STOR_90%_FULL" := 0;
"STOR_FULL" := 0;
END_IF;

如果存儲(chǔ)區(qū)中的包裹數(shù)大于或等于 90 %,則“存儲(chǔ)區(qū)已用 90 %”指示燈將點(diǎn)亮?!按鎯?chǔ)區(qū)已用 50 %”的指示燈仍然點(diǎn)亮。

SCL
IF "PACKAGECOUNT" >= "VOLUME_90" AND "PACKAGECOUNT < "VOLUME_100" THEN
"STOR_50%_FULL" := 1;
"STOR_90%_FULL" := 1;
"STOR_FULL" := 0;
END_IF;

如果存儲(chǔ)區(qū)中的包裹數(shù)達(dá)到 100 %,則“存儲(chǔ)區(qū)已滿”消息指示燈將點(diǎn)亮?!按鎯?chǔ)區(qū)已用 50 %”和“存儲(chǔ)區(qū)已用 90 %”的指示燈仍然點(diǎn)亮。

SCL
IF "PACKAGECOUNT" >= "VOLUME_100" THEN
"STOR_50%_FULL" := 1;
"STOR_90%_FULL" := 1;
"STOR_FULL" := 1;
END_IF;






審核編輯:劉清

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

    關(guān)注

    38

    文章

    7366

    瀏覽量

    163095
  • 比較器
    +關(guān)注

    關(guān)注

    14

    文章

    1614

    瀏覽量

    106834
  • SCL
    SCL
    +關(guān)注

    關(guān)注

    1

    文章

    239

    瀏覽量

    16991

原文標(biāo)題:SCL程序: 檢測(cè)存儲(chǔ)區(qū)的填充量示例

文章出處:【微信號(hào):gh_a8b121171b08,微信公眾號(hào):機(jī)器人及PLC自動(dòng)化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    STL 程序如何實(shí)現(xiàn)填充示例

    下圖顯示的系統(tǒng)中包含兩條傳送帶和一個(gè)臨時(shí)存儲(chǔ)區(qū),臨時(shí)存儲(chǔ)區(qū)位于兩條傳送帶之間。傳送帶 1 將包裹傳送到該存儲(chǔ)區(qū)
    的頭像 發(fā)表于 10-08 11:18 ?853次閱讀

    如何在IAP程序實(shí)現(xiàn)對(duì)應(yīng)用程序存儲(chǔ)區(qū)的改寫(xiě)

    通信接口的情況下,使用對(duì)外接口更新程序。IAP實(shí)現(xiàn)原理是:在程序正常運(yùn)行應(yīng)用程序時(shí),若需要更新,程序會(huì)跳轉(zhuǎn)到另一個(gè)存儲(chǔ)
    發(fā)表于 03-02 06:31

    stc51單片機(jī)程序存儲(chǔ)區(qū)不夠用,可否在程序存儲(chǔ)區(qū)寫(xiě)一個(gè)bootloader,用戶程序放入自身的EEPROM?

    stc51單片機(jī)程序存儲(chǔ)區(qū)不夠用,可否在程序存儲(chǔ)區(qū)寫(xiě)一個(gè)bootloader,用戶
    發(fā)表于 11-09 07:09

    邊緣檢測(cè)綜合示例_OpenCV3版書(shū)本配套示例程序60

    《OpenCV3編程入門(mén)》書(shū)本配套源代碼:邊緣檢測(cè)綜合示例,邊緣檢測(cè)綜合示例——Canny算子,Sobel算子,Laplace算子,Scharr濾波器合輯。
    發(fā)表于 06-06 15:25 ?0次下載

    漫水填充算法綜合示例_《OpenCV3編程入門(mén)》書(shū)本配套源代碼

    《OpenCV3編程入門(mén)》書(shū)本配套源代碼:漫水填充算法綜合示例
    發(fā)表于 06-06 15:39 ?2次下載

    OpenCV3編程入門(mén)-源碼例程全集-漫水填充算法綜合示例

    OpenCV3編程入門(mén)-源碼例程全集-漫水填充算法綜合示例
    發(fā)表于 09-17 22:55 ?0次下載

    示例SigmaStudio程序

    示例SigmaStudio程序
    發(fā)表于 03-23 18:25 ?15次下載
    <b class='flag-5'>示例</b>SigmaStudio<b class='flag-5'>程序</b>

    STL程序檢測(cè)存儲(chǔ)區(qū)填充示例

    下圖顯示的系統(tǒng)中包含兩條傳送帶和一個(gè)臨時(shí)存儲(chǔ)區(qū),臨時(shí)存儲(chǔ)區(qū)位于兩條傳送帶之間。傳送帶 1 將包裹傳送到該存儲(chǔ)區(qū)。傳送帶 1 末端靠近
    的頭像 發(fā)表于 04-06 09:28 ?1163次閱讀
    STL<b class='flag-5'>程序</b><b class='flag-5'>檢測(cè)</b><b class='flag-5'>存儲(chǔ)</b><b class='flag-5'>區(qū)</b>的<b class='flag-5'>填充</b><b class='flag-5'>量</b><b class='flag-5'>示例</b>

    關(guān)于S7博途V16-SCL檢測(cè)存儲(chǔ)區(qū)填充示例詳細(xì)講解

    下圖顯示的系統(tǒng)中包含兩條傳送帶和一個(gè)臨時(shí)存儲(chǔ)區(qū),臨時(shí)存儲(chǔ)區(qū)位于兩條傳送帶之間。傳送帶 1 將包裹傳送到該存儲(chǔ)區(qū)。傳送帶 1 末端靠近
    的頭像 發(fā)表于 04-07 14:31 ?4091次閱讀
    關(guān)于S7博途V16-<b class='flag-5'>SCL</b><b class='flag-5'>檢測(cè)</b><b class='flag-5'>存儲(chǔ)</b><b class='flag-5'>區(qū)</b>的<b class='flag-5'>填充</b><b class='flag-5'>量</b><b class='flag-5'>示例</b>詳細(xì)講解

    圓形可填充加載器安裝使用案例

    安裝說(shuō)明: 方法1:對(duì)于在示例應(yīng)用程序中使用循環(huán)填充加載器模塊,添加以下依賴項(xiàng)以生成 hap/har。 方法2:對(duì)于使用har文件在單獨(dú)的應(yīng)用程序中使用循環(huán)
    發(fā)表于 03-24 11:29 ?1次下載
    圓形可<b class='flag-5'>填充</b>加載器安裝使用案例

    S7-200 CPU擴(kuò)展程序存儲(chǔ)區(qū)

    擴(kuò)展程序存儲(chǔ)區(qū)——禁用運(yùn)行模式編程功能
    的頭像 發(fā)表于 12-05 10:43 ?986次閱讀

    S7-SCL提供了哪些功能 結(jié)構(gòu)化S7-SCL程序的設(shè)計(jì)

    在一個(gè)S7程序中S7-SCL(程序)塊也能夠與其他STEP7編程語(yǔ)言所編寫(xiě)的塊相結(jié)合塊可以相互調(diào)用。S7-SCL塊也可以儲(chǔ)存在庫(kù)中并被其他語(yǔ)言使用。
    發(fā)表于 01-31 10:10 ?903次閱讀

    介紹 I/O 腳本示例程序(740 系列的模擬器調(diào)試器)

    介紹 I/O 腳本示例程序(740 系列的模擬器調(diào)試器)
    發(fā)表于 05-11 18:52 ?0次下載
    <b class='flag-5'>介紹</b> I/O 腳本<b class='flag-5'>示例程序</b>(740 系列的模擬器調(diào)試器)

    介紹 I/O 腳本示例程序(740 系列的模擬器調(diào)試器)

    介紹 I/O 腳本示例程序(740 系列的模擬器調(diào)試器)
    發(fā)表于 06-28 19:15 ?0次下載
    <b class='flag-5'>介紹</b> I/O 腳本<b class='flag-5'>示例程序</b>(740 系列的模擬器調(diào)試器)

    博途PLC示例: 間接尋址的示例簡(jiǎn)析

    在以下示例中,可以使用下標(biāo)訪問(wèn)來(lái)自不同存儲(chǔ)區(qū)的三個(gè)變量。
    的頭像 發(fā)表于 08-17 17:21 ?4070次閱讀
    博途PLC<b class='flag-5'>示例</b>: 間接尋址的<b class='flag-5'>示例</b>簡(jiǎn)析