PLC300四個小專案

小kBlog發表於2024-04-23
  • 控制要求:兩臺電動機的順序起動順序停止控制。要求第一臺電動機起動3秒後第
    二臺電動機方能手動起動,第一臺電動機停止3秒後第二臺方可手動停止。要求兩臺電動機
    均要有執行指示(綠燈)和過載報警指示(紅燈),當某臺電動機發生過載時,兩臺電動機
    均立即停止,發生過載的電動機其報警指示燈以1Hz頻率閃爍,直至按下停止按鈕。
邏輯:

1. 程式開始

I1.0(常開) ----> I1.2(常閉) ----> I1.3(常閉) ----> I1.5(常閉) ------------> Q1.0(線圈)
Q1.0(常開) ---->|(並聯)                                     |(並聯)-------> Q1.2(線圈)
                                                            |(並聯)-------> (S) S_ODT(定時器) (Q) -----> M2.0 
                                                                      S5T#3S(TV)        
2. 開關過載等主控

M2.0(常開) -----> Q1.0(常開) ----> I1.1(常開) ----> M2.3(常閉) ----> I1.4(常閉) ----> I1.5(常閉) --------> Q1.1(線圈)
Q1.0(常開) ----------------------------------|(並聯)                                           |(並聯)---> Q1.3(線圈)
    
    
3. 電動機啟動3秒限制第二臺時間到後才能啟動

I1.2(常開) ----> I1.0(常閉) ---> M2.1(線圈)
M2.1(常開) ---->|(並聯) (並聯) ---> (S) S_ODT(定時器) (Q) ---> M2.2(線圈)
                             S5T#3S(TV)
    
4. 訊號源控制

M2.2(常開) ---> Q1.0(常閉) ---> I1.3(常開) ---> M2.3(線圈)
    
5. 第一臺電動機過載保護閃爍

I1.4(常開) ---> I1.2(常閉) ---> M2.5(線圈)
M2.5(常開) --->|(並聯)   |(並聯) ---> M0.5(常開) ---> Q1.4(線圈)

6. 第二臺電動機過載保護閃爍

I1.5(常開) ---> I1.3(常閉) ---> M2.6(線圈)
M2.6(常開) --->|(並聯)   |(並聯) ---> M0.5(常開) ---> Q1.5(線圈)
  • 控制要求:8個霓紅燈控制。要求按下起動按鈕,奇數盞燈(1、3、5、7盞全部點
    亮)亮1s,全部熄滅1s,然後偶數盞(2、4、6、8盞全部點亮)再亮1s,全部熄滅1s,然
    後8盞燈全部亮1s,再全部熄滅1s,如此迴圈,直至按鈕下停止按鈕後全部熄滅。
1. 啟動邏輯

I1.0(常開) ----> I1.1(常閉) ---------> M2.1(線圈)
M2.1(常開) ----|(並聯)  |(並聯)------> M2.2(常閉) (S) S_ODT(定時器) (Q) ---> M2.2(線圈)
                                            S5T#6S(TV)              (BI)--> MW12
                                              I1.4(R)  

2. 奇數盞燈亮1秒邏輯:

M2.0(線圈) ---> CMP>I(比較指令>I) ---> CMP<I(比較指令<I) ---> (EN) MOVE(移位指令) (ENO)
           MW12(IN1)             MW12(IN1)             W#16#55(IN)(OUT)QB1 ---> QB1(亮1秒)
            500(IN2)              600(IN2)
  
3. 奇數盞燈滅1秒邏輯:

M2.0(線圈) ---> CMP>I(比較指令>I) ---> CMP<I(比較指令<I) ---> (EN) MOVE(移位指令) (ENO)
           MW12(IN1)             MW12(IN1)             W#16#0(IN)(OUT)QB1 ---> QB1(滅1秒)
            400(IN2)              500(IN2)

4. 偶數盞燈亮1秒邏輯:

M2.0(線圈) ---> CMP>I(比較指令>I) ---> CMP<I(比較指令<I) ---> (EN) MOVE(移位指令) (ENO)
           MW12(IN1)             MW12(IN1)             W#16#AA(IN)(OUT)QB1 ---> QB1(亮1秒)
            300(IN2)              400(IN2)

5. 偶數盞燈滅1秒邏輯:

M2.0(線圈) ---> CMP>I(比較指令>I) ---> CMP<I(比較指令<I) ---> (EN) MOVE(移位指令) (ENO)
           MW12(IN1)             MW12(IN1)             W#16#0(IN)(OUT)QB1 ---> QB1(滅1秒)
            200(IN2)              300(IN2)
    
6. 全部燈亮1秒邏輯:

M2.0(線圈) ---> CMP>I(比較指令>I) ---> CMP<I(比較指令<I) ---> (EN) MOVE(移位指令) (ENO)
           MW12(IN1)             MW12(IN1)             W#16#FF(IN)(OUT)QB1 ---> QB1(亮1秒)
            100(IN2)              200(IN2)

7. 全部燈滅1秒邏輯:

M2.0(線圈) ---> CMP>I(比較指令>I) ---> CMP<I(比較指令<I) ---> (EN) MOVE(移位指令) (ENO)
           MW12(IN1)             MW12(IN1)             W#16#0(IN)(OUT)QB1 ---> QB1(滅1秒)
              0(IN2)               10(IN2)

    
8. 按下全部停止邏輯:
    
I1.1(常開) ----> (EN) MOVE(移位指令) (ENO)
           W#16#0(IN)     (OUT)QB1
  • 控制要求:按下起動按鈕後,數碼管開始9秒倒數計時,直至倒數計時到0,在此過程中,
    若再次按下起動按鈕無效。若按下停止按鈕,數碼管全部熄滅,再次按下起動按鈕,數碼管
    再進行9秒倒數計時。

1. 啟動邏輯

I1.0(常開) ---> I1.1(常閉) ----------------->M0.0(線圈)
M0.0(常開) --->|    |------> M0.1(常閉) (S) S_OUT
                     S5T#1S (TV)
                       I1.1 (R)
    
2. 時間到給定時器復位

T0(常開) ----> M0.1(線圈)
    
3. 賦予初始倒數計時初始值9

                M1.2 
M0.0(常開) ----> (P)(上升延) -----> (EN)MOVE(移位指令)
                                   9(IN)  (OUT)MW12
                     
4. 每間隔1S減1S
                                  M1.1
M0.0(常開) -----> M0.1(常開) ----> (P) (上升延) -----> CMP>I (比較指令>I) -----> (EN) SUB_I(減法指令) (ENO)
                                                 MW12(IN1)                   MW12(IN1)                  (OUT)MW12
                                                    0(IN2)                      1(IN2)
    
5. 開始顯示數字9

M0.0(常開) --------> CMP==I(比較指令==I) --------------> (EN) MOVE(移位指令)(ENO)
               MW12(IN1)                          W#16#6F(IN)               (OUT)QB3
                  9(IN2)
  
6. 開始顯示數字8

M0.0(常開) --------> CMP==I(比較指令==I) --------------> (EN) MOVE(移位指令)(ENO)
               MW12(IN1)                          W#16#7F(IN)               (OUT)QB3
                  8(IN2)

7. 開始顯示數字7

M0.0(常開) --------> CMP==I(比較指令==I) --------------> (EN) MOVE(移位指令)(ENO)
               MW12(IN1)                          W#16#7(IN)               (OUT)QB3
                  7(IN2)

8. 開始顯示數字6

M0.0(常開) --------> CMP==I(比較指令==I) --------------> (EN) MOVE(移位指令)(ENO)
               MW12(IN1)                          W#16#7D(IN)               (OUT)QB3
                  6(IN2)
  
9. 開始顯示數字5

M0.0(常開) --------> CMP==I(比較指令==I) --------------> (EN) MOVE(移位指令)(ENO)
               MW12(IN1)                          W#16#6D(IN)               (OUT)QB3
                  5(IN2)
  
10. 開始顯示數字4

M0.0(常開) --------> CMP==I(比較指令==I) --------------> (EN) MOVE(移位指令)(ENO)
               MW12(IN1)                          W#16#66(IN)               (OUT)QB3
                  4(IN2)

11. 開始顯示數字3

M0.0(常開) --------> CMP==I(比較指令==I) --------------> (EN) MOVE(移位指令)(ENO)
               MW12(IN1)                          W#16#4F(IN)               (OUT)QB3
                  3(IN2)

12. 開始顯示數字2

M0.0(常開) --------> CMP==I(比較指令==I) --------------> (EN) MOVE(移位指令)(ENO)
               MW12(IN1)                          W#16#5B(IN)               (OUT)QB3
                  2(IN2)
 
13. 開始顯示數字1

M0.0(常開) --------> CMP==I(比較指令==I) --------------> (EN) MOVE(移位指令)(ENO)
               MW12(IN1)                          W#16#6(IN)               (OUT)QB3
                  1(IN2)
 
14. 開始顯示數字0

M0.0(常開) --------> CMP==I(比較指令==I) --------------> (EN) MOVE(移位指令)(ENO)
               MW12(IN1)                          W#16#3F(IN)               (OUT)QB3
                  0(IN2)

13. 停止執行全部熄滅

I1.1(常開) -----> (EN) MOVE(移位指令) (ENO) -----------> (EN) MOVE(移位指令) (ENO)
                 0(IN)                (OUT)MW12         0(IN)                (OUT)QB3
  • 1.控制要求:按下起動按鈕後,東西方向綠燈亮5s,以1Hz頻率閃爍3次,黃燈亮3s,
    然後紅燈亮8s,再以1Hz頻率閃爍3次;與此同時,南北方向紅燈亮8s,再以1Hz頻率閃
    爍3次,然後綠燈亮5s,以1Hz頻率閃爍3次,黃燈亮3s,如此迴圈,直到按下停止按鈕
    後所有交通燈全部熄滅。
1. 啟動邏輯

I1.0(常開) ---> I1.1(常閉) ---> M2.0(線圈)
M2.0(常開)|(並聯)

2. 計算時間啟動定時器倒數計時邏輯

M2.0(常開) ---> I1.1(常閉) ---> M2.1(線圈)
M2.1(常開) --->|(並聯)   |(並聯) ---> M2.3(常閉) ---> (S) S_ODT(定時器) (Q)
                                               S5T#22S(TV)              (BI)MW10
                                                  I1.1(R)
    
3. 計時到位的時候復位定時器

T1(常開) ----> M2.3(線圈)
    
4.東方向綠燈亮5S

M2.0(常開) ---> CMP>=I (比較指令>=I) ----> CMP<I (比較指令<I) ---> M3.0(線圈)
         MW10(IN1)                   MW10(IN1)
          170(IN2)                    220(IN2)
    
5. 以1HZ閃爍3次

M2.0(常開) ---> CMP>=I (比較指令>=I) ----> CMP<I (比較指令<I) ---> M0.5(常開) ---> M3.1(線圈)
         MW10(IN1)                   MW10(IN1)
          140(IN2)                    170(IN2)
    
6. 連線到燈

M3.0(常開) ---> Q1.1(線圈)
M3.1(常開)|(並聯)
    
7. 黃燈亮3秒

M2.0(常開) ---> CMP>=I (比較指令>=I) ----> CMP<I (比較指令<I) ---> Q1.2(線圈)
         MW10(IN1)                   MW10(IN1)
          110(IN2)                    140(IN2)
    
8. 紅燈亮8S

M2.0(常開) ---> CMP>=I (比較指令>=I) ----> CMP<I (比較指令<I) ---> M3.2(線圈)
         MW10(IN1)                   MW10(IN1)
           30(IN2)                    110(IN2)
    
9. 以1HZ亮3次

M2.0(常開) ---> CMP>=I (比較指令>=I) ----> CMP<I (比較指令<I) ---> M0.5(常開) ---> M3.3(線圈)
         MW10(IN1)                   MW10(IN1)
            0(IN2)                     30(IN2)
    
10. 連線燈

M3.2(常開) ---> Q1.0(線圈)
M3.3(常開)|(並聯)
    
東西方向結束

11. 南北方向紅燈亮8秒

M2.0(常開) ---> CMP>=I (比較指令>=I) ----> CMP<I (比較指令<=I) ---> M3.4(線圈)
         MW10(IN1)                   MW10(IN1)
          140(IN2)                    220(IN2)
    
12. 以1HZ閃爍3次

M2.0(常開) ---> CMP>=I (比較指令>=I) ----> CMP<I (比較指令<I)---> M0.5(常開) ---> M3.5(線圈)
         MW10(IN1)                   MW10(IN1)
          110(IN2)                    140(IN2)
    
13. 連線到燈

M3.4(常開) ---> Q1.4(線圈)
M3.5(常開)|(並聯)
    
    
14. 綠燈亮5秒

M2.0(常開) ---> CMP>=I (比較指令>=I) ----> CMP<I (比較指令<I) ---> M3.6(線圈)
         MW10(IN1)                   MW10(IN1)
          60(IN2)                    110(IN2)
    
15. 以1HZ閃爍3次

M2.0(常開) ---> CMP>=I (比較指令>=I) ----> CMP<I (比較指令<I) ---> M0.5(常開) ---> M3.7(線圈)
         MW10(IN1)                   MW10(IN1)
          30(IN2)                    60(IN2)
    
16. 連線到燈

M3.6(常開) ---> Q1.5(線圈)
M3.7(常開)|(並聯)
    
17. 黃燈亮3秒

M2.0(常開) ---> CMP>=I (比較指令>=I) ----> CMP<I (比較指令<I) ---> M4.0(線圈)
         MW10(IN1)                   MW10(IN1)
            0(IN2)                     30(IN2)
18. 連線到燈

M4.0(常開) ---> Q1.6(線圈)

理論基礎

  • S7-300PLC由哪些模組構成?
  • 導軌(RACA)、電源模組(PS)、CPU模組、介面模組IM、訊號模組(SM)、功能模組(FM)、通訊模組(CP)
  • S7-300PLC的計數器有幾種型別,在計數時,什麼情況下計數器觸點的狀態為“0”,什麼情況下則計數器觸點的狀態為“1”?CPU314C模組的計數器編號範圍為多少?
  • 3種,計數器計數為0時,計數不為“0”,Co~C255
  • S7-300PLC 的定時器有幾種型別,定時最大值為多少?定時器預置值的格式為?
  • 5種,999os或2小時46分鐘30秒,S5T#
  • QD2、QW2、QB2、MD0、MW0、MBO等類似的表示的具體含義及高低位的分配
    等相關問題。
  • QD2:雙字(DINT)型別的變數,用於儲存32位有符號整數。
    QW2:字(WORD)型別的變數,用於儲存16位有符號整數。
    QB2:位元組(BYTE)型別的變數,用於儲存8位有符號整數。

    這些變數名中的“Q”通常表示它們是輸出變數(Q代表“Quelle”,德語中的“源”,在PLC程式設計中通常表示輸出)。數字“2”可能表示它們是資料塊中的第二個變數,或者它們在輸出區域中的地址。

    MD0:位元組(BYTE)型別的變數,用於儲存8位有符號整數。
    MW0:字(WORD)型別的變數,用於儲存16位有符號整數。
    MBO:位元組(BYTE)型別的變數,用於儲存8位有符號整數。

    這些變數名中的“M”通常表示它們是中間變數(M代表“Mittelwert”,德語中的“中間值”),用於儲存程式執行過程中的臨時資料。數字“0”表示它們是資料塊中的第一個變數,或者它們在中間儲存區域中的地址。

    在PLC程式設計中,變數的高低位分配通常遵循以下規則:
    對於位元組(BYTE)型別的變數,如QB2或MD0,高位是位元組中的最高位(第7位),低位是位元組中的最低位(第0位)。
    對於字(WORD)型別的變數,如QW2或MW0,高位是字中的最高位(第15位),低位是字中的最低位(第0位)。
    對於雙字(DINT)型別的變數,如QD2,高位是雙字中的最高位(第31位),低位是雙字中的最低位(第0位)。

    在實際程式設計中,這些變數可以被用作位、位元組、字或雙字的訪問,具體取決於程式設計的需要。例如,QW2可以被用作一個16位的整數,也可以被分解為兩個獨立的位元組(QB2.0和QB2.1),或者四個獨立的位(QB2.0、QB2.1、QB2.2和QB2.3)。

  • L#428 等類似表達的含義。
  • 在PLC程式設計中,L#428等類似的表達通常是指一個符號地址,它代表了一個特定的資料型別和儲存位置。在S7-300PLC中,這種符號地址通常用於引用系統位儲存區(SMB)中的一個位。

    SMB(系統儲存器位)是S7-300和S7-400PLC中的一個特殊儲存區域,用於儲存系統狀態資訊、診斷資訊、引數設定等。SMB位通常用於與PLC的硬體和系統功能進行互動。

    L#428中的“L”表示這是一個位地址,而“#”表示這是一個符號地址。數字“428”是SMB位編號。因此,L#428指的是SMB位編號為428的位。

    在實際程式設計中,可以使用L#428來讀取或寫入SMB位編號為428的位的狀態。例如,可以使用以下指令來讀取L#428的值:

    IF L#428 THEN
    // 執行某些操作
    END_IF

    或者使用以下指令來設定L#428的值:

    L#428 := TRUE; // 設定L#428為TRUE

    SMB位的編號和功能可能會根據PLC的型號和韌體版本而有所不同。

相關文章