⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 00000007.awl

📁 本程序为化工厂输送系统控制程序 长达15000行
💻 AWL
📖 第 1 页 / 共 2 页
字号:
FUNCTION "ACU状态" : VOID
TITLE =
//                 处理ACU来的信号,然后去往人机
//
//
//0=停止  兰色  
//1=待机  绿色
//2=运行  红色
//3=异常  黄色
//4=清管  绿色
//5=急停  兰色
VERSION : 0.1


VAR_TEMP
  ACU1_CLE_STOP : BOOL ;	
  ACU2_CLE_STOP : BOOL ;	
  ACU3_CLE_STOP : BOOL ;	
  ACU4_CLE_STOP : BOOL ;	
  ACU5_CLE_STOP : BOOL ;	
  ACU6_CLE_STOP : BOOL ;	
  ACU7_CLE_STOP : BOOL ;	
END_VAR
BEGIN
NETWORK
TITLE =

      L     B#16#1; 
      T     "PLC_RCV".ACU1_STATUS; 
      T     "PLC_RCV".ACU2_STATUS; 
      T     "PLC_RCV".ACU3_STATUS; 
      T     "PLC_RCV".ACU4_STATUS; 
      T     "PLC_RCV".ACU5_STATUS; 
      T     "PLC_RCV".ACU6_STATUS; 
      T     "PLC_RCV".ACU7_STATUS; 
      T     "PLC_RCV".ACU1_ALARM; 
      T     "PLC_RCV".ACU2_ALARM; 
      T     "PLC_RCV".ACU3_ALARM; 
      T     "PLC_RCV".ACU4_ALARM; 
      T     "PLC_RCV".ACU5_ALARM; 
      T     "PLC_RCV".ACU6_ALARM; 
      T     "PLC_RCV".ACU7_ALARM; 



NETWORK
TITLE =ACU1  异常指示

      A(    ; 
      L     "PLC_RCV".ACU1_ALARM; 
      L     B#16#1; 
      >=I   ; 
      )     ; 
      =     "ACU1_FAL"; 




NETWORK
TITLE =ACU2  异常指示

      A(    ; 
      L     "PLC_RCV".ACU2_ALARM; 
      L     B#16#1; 
      >=I   ; 
      )     ; 
      =     "ACU2_FAL"; 




NETWORK
TITLE =ACU3  异常指示

      A(    ; 
      L     "PLC_RCV".ACU3_ALARM; 
      L     B#16#1; 
      >=I   ; 
      )     ; 
      =     "ACU3_FAL"; 




NETWORK
TITLE =ACU4  异常指示

      A(    ; 
      L     "PLC_RCV".ACU4_ALARM; 
      L     B#16#1; 
      >=I   ; 
      )     ; 
      =     "ACU4_FAL"; 




NETWORK
TITLE =ACU5  异常指示

      A(    ; 
      L     "PLC_RCV".ACU5_ALARM; 
      L     B#16#1; 
      >=I   ; 
      )     ; 
      =     "ACU5_FAL"; 




NETWORK
TITLE =ACU6  异常指示

      A(    ; 
      L     "PLC_RCV".ACU6_ALARM; 
      L     B#16#1; 
      >=I   ; 
      )     ; 
      =     "ACU6_FAL"; 




NETWORK
TITLE =ACU7  异常指示

      A(    ; 
      L     "PLC_RCV".ACU7_ALARM; 
      L     B#16#1; 
      >=I   ; 
      )     ; 
      =     "ACU7_FAL"; 




NETWORK
TITLE =ACU1当前显示状态
//            ACU1反馈的信号
      A     "ACU1_FAL"; 
      =     L      1.0; 
      BLD   103; 
      CALL "处理ACU信息" (
           ACU_STATUS               := "PLC_RCV".ACU1_STATUS,
           ACU_FAL                  := L      1.0,
           ACU_COLOR                := "DHI".COLOR.ACU1,
           ACU_STOP                 := "ACU1_STP",
           ACU_RUN                  := "ACU1_RUN",
           ACU_CLEAN                := "ACU1_CLE");
      NOP   0; 
NETWORK
TITLE =ACU2当前显示状态
//            ACU2反馈的信号
      A     "ACU2_FAL"; 
      =     L      1.0; 
      BLD   103; 
      CALL "处理ACU信息" (
           ACU_STATUS               := "PLC_RCV".ACU2_STATUS,
           ACU_FAL                  := L      1.0,
           ACU_COLOR                := "DHI".COLOR.ACU2,
           ACU_STOP                 := "ACU2_STP",
           ACU_RUN                  := "ACU2_RUN",
           ACU_CLEAN                := "ACU2_CLE");
      NOP   0; 
NETWORK
TITLE =ACU3当前显示状态
//            ACU3反馈的信号
      A     "ACU3_FAL"; 
      =     L      1.0; 
      BLD   103; 
      CALL "处理ACU信息" (
           ACU_STATUS               := "PLC_RCV".ACU3_STATUS,
           ACU_FAL                  := L      1.0,
           ACU_COLOR                := "DHI".COLOR.ACU3,
           ACU_STOP                 := "ACU3_STP",
           ACU_RUN                  := "ACU3_RUN",
           ACU_CLEAN                := "ACU3_CLE");
      NOP   0; 
NETWORK
TITLE =ACU4当前显示状态
//            ACU4反馈的信号
      A     "ACU4_FAL"; 
      =     L      1.0; 
      BLD   103; 
      CALL "处理ACU信息" (
           ACU_STATUS               := "PLC_RCV".ACU4_STATUS,
           ACU_FAL                  := L      1.0,
           ACU_COLOR                := "DHI".COLOR.ACU4,
           ACU_STOP                 := "ACU4_STP",
           ACU_RUN                  := "ACU4_RUN",
           ACU_CLEAN                := "ACU4_CLE");
      NOP   0; 
NETWORK
TITLE =ACU5当前显示状态
//            ACU5反馈的信号
      A     "ACU5_FAL"; 
      =     L      1.0; 
      BLD   103; 
      CALL "处理ACU信息" (
           ACU_STATUS               := "PLC_RCV".ACU5_STATUS,
           ACU_FAL                  := L      1.0,
           ACU_COLOR                := "DHI".COLOR.ACU5,
           ACU_STOP                 := "ACU5_STP",
           ACU_RUN                  := "ACU5_RUN",
           ACU_CLEAN                := "ACU5_CLE");
      NOP   0; 
NETWORK
TITLE =ACU6当前显示状态
//            ACU6反馈的信号
      A     "ACU6_FAL"; 
      =     L      1.0; 
      BLD   103; 
      CALL "处理ACU信息" (
           ACU_STATUS               := "PLC_RCV".ACU6_STATUS,
           ACU_FAL                  := L      1.0,
           ACU_COLOR                := "DHI".COLOR.ACU6,
           ACU_STOP                 := "ACU6_STP",
           ACU_RUN                  := "ACU6_RUN",
           ACU_CLEAN                := "ACU6_CLE");
      NOP   0; 
NETWORK
TITLE =ACU7当前显示状态
//            ACU7反馈的信号
      A     "ACU7_FAL"; 
      =     L      1.0; 
      BLD   103; 
      CALL "处理ACU信息" (
           ACU_STATUS               := "PLC_RCV".ACU7_STATUS,
           ACU_FAL                  := L      1.0,
           ACU_COLOR                := "DHI".COLOR.ACU7,
           ACU_STOP                 := "ACU7_STP",
           ACU_RUN                  := "ACU7_RUN",
           ACU_CLEAN                := "ACU7_CLE");
      NOP   0; 
NETWORK
TITLE =当前PLC使ACU1要处于的状态
//下面的紧急停止情况中,紧急停止信号是由控制盘上面的按钮发送来的,信号会一直保持这
//不符合ACU所需信号的格式(格式为ACU接收到的信号要在3秒内消失)。

      A     "ACU1停止"; 
      A     "ACU1_CLE"; 

      =     #ACU1_CLE_STOP; 

      CALL "去往ACU信息" (
           ACU_RUN                  := "ACU1运行",
           ACU_CLEAN                := "ACU1清管",
           ACU_CL_ST                := #ACU1_CLE_STOP,//清管停止
           ACU_ESTOP                := "H01_ESTOP",//紧急停止
           ACU_STOP                 := "ACU1停止_M",
           ACU_MOD                  := "PLC_SEND".ACU1_MOD);

NETWORK
TITLE =当前PLC使ACU2要处于的状态


      A     "ACU2停止"; 
      A     "ACU2_CLE"; 

      =     #ACU2_CLE_STOP; 

      CALL "去往ACU信息" (
           ACU_RUN                  := "ACU2运行",
           ACU_CLEAN                := "ACU2清管",
           ACU_CL_ST                := #ACU2_CLE_STOP,//清管停止
           ACU_ESTOP                := "H02_ESTOP",
           ACU_STOP                 := "ACU2停止_M",
           ACU_MOD                  := "PLC_SEND".ACU2_MOD);

NETWORK
TITLE =当前PLC使ACU3要处于的状态


      A     "ACU3停止"; 
      A     "ACU3_CLE"; 

      =     #ACU3_CLE_STOP; 

      CALL "去往ACU信息" (
           ACU_RUN                  := "ACU3运行",
           ACU_CLEAN                := "ACU3清管",
           ACU_CL_ST                := #ACU3_CLE_STOP,//清管停止
           ACU_ESTOP                := "H03_ESTOP",
           ACU_STOP                 := "ACU3停止_M",
           ACU_MOD                  := "PLC_SEND".ACU3_MOD);

NETWORK
TITLE =当前PLC使ACU4要处于的状态


      A     "ACU4停止"; 
      A     "ACU4_CLE"; 

      =     #ACU4_CLE_STOP; 

      CALL "去往ACU信息" (
           ACU_RUN                  := "ACU4运行",
           ACU_CLEAN                := "ACU4清管",
           ACU_CL_ST                := #ACU4_CLE_STOP,//清管停止
           ACU_ESTOP                := "H04_ESTOP",
           ACU_STOP                 := "ACU4停止_M",
           ACU_MOD                  := "PLC_SEND".ACU4_MOD);

NETWORK
TITLE =当前PLC使ACU5要处于的状态


      A     "ACU5停止"; 
      A     "ACU5_CLE"; 

      =     #ACU5_CLE_STOP; 

      CALL "去往ACU信息" (
           ACU_RUN                  := "ACU5运行",
           ACU_CLEAN                := "ACU5清管",
           ACU_CL_ST                := #ACU5_CLE_STOP,//清管停止
           ACU_ESTOP                := "H05_ESTOP",
           ACU_STOP                 := "ACU5停止_M",
           ACU_MOD                  := "PLC_SEND".ACU5_MOD);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -