PLC300四个小项目
  an7r1i2Cj68o 11天前 16 0
  • 控制要求:两台电动机的顺序起动顺序停止控制。要求第一台电动机起动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的型号和固件版本而有所不同。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 11天前 0

暂无评论

推荐阅读
an7r1i2Cj68o