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

📄 main.plm

📁 说明:采用与C极其类似的PL/M-96语言编写。 单片机采用Intel的96系列KB; 开发环境为Wave6000; 该程序的功能为采用模糊滑膜变结构 控制算法
💻 PLM
📖 第 1 页 / 共 3 页
字号:
       END;
      END;
    END;
    ELSE IF  AIM_SPD>=1200 THEN DO;
      TURNON=T_SPAN*14/15;
      TURNOFF=T_SPAN/3;
      DO CASE ORDER;
       T35:DO;
         HSO_COMMAND=21H;
         HSO_TIME=TIMER1+TURNON;
         R0=0;
         R0=0;
         HSO_COMMAND=03H;
         HSO_TIME=TIMER1+TURNOFF;
         R0=0;
         R0=0;
         HSO_COMMAND=02H;
         HSO_TIME=TIMER1+04H;
       END;
       T36:DO;
         HSO_COMMAND=22H;
         HSO_TIME=TIMER1+TURNON;
         R0=0;
         R0=0;
         HSO_COMMAND=00H;
         HSO_TIME=TIMER1+TURNOFF;
         R0=0;
         R0=0;
         HSO_COMMAND=03H;
         HSO_TIME=TIMER1+04H;
       END;
       T37:DO;
         HSO_COMMAND=23H;
         HSO_TIME=TIMER1+TURNON;
         R0=0;
         R0=0;
         HSO_COMMAND=01H;
         HSO_TIME=TIMER1+TURNOFF;
         R0=0;
         R0=0;
         HSO_COMMAND=00H;
         HSO_TIME=TIMER1+04H;
       END;
       T38:DO;
         HSO_COMMAND=20H;
         HSO_TIME=TIMER1+TURNON;
         R0=0;
         R0=0;
         HSO_COMMAND=02H;
         HSO_TIME=TIMER1+TURNOFF;
         R0=0;
         R0=0;
         HSO_COMMAND=01H;
         HSO_TIME=TIMER1+04H;
       END;
      END;
    END;
    ELSE IF  AIM_SPD>=800 THEN DO;
      TURNON=T_SPAN/15;
      TURNOFF=T_SPAN/3;
      DO CASE ORDER;
       T30:DO;
         HSO_COMMAND=20H;
         HSO_TIME=TIMER1+TURNON;
         R0=0;
         R0=0;
         HSO_COMMAND=03H;
         HSO_TIME=TIMER1+TURNOFF;
         R0=0;
         R0=0;
         HSO_COMMAND=02H;
         HSO_TIME=TIMER1+04H;

       END;
       T31:DO;
         HSO_COMMAND=21H;
         HSO_TIME=TIMER1+TURNON;
         R0=0;
         R0=0;
         HSO_COMMAND=00H;
         HSO_TIME=TIMER1+TURNOFF;
         R0=0;
         R0=0;
         HSO_COMMAND=03H;
         HSO_TIME=TIMER1+04H;
         R0=0;
         R0=0;
       END;
       T32:DO;
         HSO_COMMAND=22H;
         HSO_TIME=TIMER1+TURNON;
         R0=0;
         R0=0;
         HSO_COMMAND=01H;
         HSO_TIME=TIMER1+TURNOFF;
         R0=0;
         R0=0;
         HSO_COMMAND=00H;
         HSO_TIME=TIMER1+04H;
         R0=0;
         R0=0;
       END;
       T33:DO;
         HSO_COMMAND=23H;
         HSO_TIME=TIMER1+TURNON;
         R0=0;
         R0=0;
         HSO_COMMAND=02H;
         HSO_TIME=TIMER1+TURNOFF;
         R0=0;
         R0=0;
         HSO_COMMAND=01H;
         HSO_TIME=TIMER1+04H;
         R0=0;
         R0=0;
       END;
      END;
    END;
    ELSE IF AIM_SPD>=400 THEN DO;
      TURNON=T_SPAN/3;
      TURNOFF=T_SPAN/3;
      DO CASE ORDER;
       T20:DO;
         HSO_COMMAND=20H;
         HSO_TIME=TIMER1+TURNON;
         R0=0;
         R0=0;
         HSO_COMMAND=03H;
         HSO_TIME=TIMER1+TURNOFF;
         R0=0;
         R0=0;
         HSO_COMMAND=02H;
         HSO_TIME=TIMER1+04H;
         R0=0;
         R0=0;
       END;
       T21:DO;
         HSO_COMMAND=21H;
         HSO_TIME=TIMER1+TURNON;
         R0=0;
         R0=0;
         HSO_COMMAND=00H;
         HSO_TIME=TIMER1+TURNOFF;
         R0=0;
         R0=0;
         HSO_COMMAND=03H;
         HSO_TIME=TIMER1+04H;
         R0=0;
         R0=0;
       END;
       T22:DO;
         HSO_COMMAND=22H;
         HSO_TIME=TIMER1+TURNON;
         R0=0;
         R0=0;
         HSO_COMMAND=01H;
         HSO_TIME=TIMER1+TURNOFF;
         R0=0;
         R0=0;
         HSO_COMMAND=00H;
         HSO_TIME=TIMER1+04H;
         R0=0;
         R0=0;
       END;
       T23:DO;
         HSO_COMMAND=23H;
         HSO_TIME=TIMER1+TURNON;
         R0=0;
         R0=0;
         HSO_COMMAND=02H;
         HSO_TIME=TIMER1+TURNOFF;
         R0=0;
         R0=0;
         HSO_COMMAND=01H;
         HSO_TIME=TIMER1+04H;
         R0=0;
         R0=0;
       END;
      END;
    END;

    ELSE IF  AIM_SPD>=200 THEN DO;
      TURNON=T_SPAN*3/5;
      TURNOFF=T_SPAN/3;
       DO CASE ORDER;
       T10:DO;
         HSO_COMMAND=20H;
         HSO_TIME=TIMER1+TURNON;
         R0=0;
         R0=0;
         HSO_COMMAND=03H;
         HSO_TIME=TIMER1+TURNOFF;
         R0=0;
         R0=0;
         HSO_COMMAND=02H;
         HSO_TIME=TIMER1+04H;
         R0=0;
         R0=0;
       END;
       T11:DO;
         HSO_COMMAND=21H;
         HSO_TIME=TIMER1+TURNON;
         R0=0;
         R0=0;
         HSO_COMMAND=00H;
         HSO_TIME=TIMER1+TURNOFF;
         R0=0;
         R0=0;
         HSO_COMMAND=03H;
         HSO_TIME=TIMER1+04H;
         R0=0;
         R0=0;

       END;
       T12:DO;
         HSO_COMMAND=22H;
         HSO_TIME=TIMER1+TURNON;
         R0=0;
         R0=0;
         HSO_COMMAND=01H;
         HSO_TIME=TIMER1+TURNOFF;
         R0=0;
         R0=0;
         HSO_COMMAND=00H;
         HSO_TIME=TIMER1+04H;
         R0=0;
         R0=0;
       END;
       T13:DO;
         HSO_COMMAND=23H;
         HSO_TIME=TIMER1+TURNOFF;
         R0=0;
         R0=0;
         HSO_COMMAND=02H;
         HSO_TIME=TIMER1+TURNON;
         R0=0;
         R0=0;
         HSO_COMMAND=01H;
         HSO_TIME=TIMER1+04H;
         R0=0;
         R0=0;
       END;
      END;
    END;
    ELSE DO;
      TURNON=T_SPAN*4/5;
      TURNOFF=T_SPAN/5;
       DO CASE ORDER;
       T05:DO;
         HSO_COMMAND=20H;
         HSO_TIME=TIMER1+TURNON;
         R0=0;
         R0=0;
         HSO_COMMAND=03H;
         HSO_TIME=TIMER1+TURNOFF;
         R0=0;
         R0=0;
         HSO_COMMAND=02H;
         HSO_TIME=TIMER1+04H;
         R0=0;
         R0=0;
       END;
       T06:DO;
         HSO_COMMAND=21H;
         HSO_TIME=TIMER1+TURNON;
         R0=0;
         R0=0;
         HSO_COMMAND=00H;
         HSO_TIME=TIMER1+TURNOFF;
         R0=0;
         R0=0;
         HSO_COMMAND=03H;
         HSO_TIME=TIMER1+04H;
         R0=0;
         R0=0;

       END;
       T07:DO;
         HSO_COMMAND=22H;
         HSO_TIME=TIMER1+TURNON;
         R0=0;
         R0=0;
         HSO_COMMAND=01H;
         HSO_TIME=TIMER1+TURNOFF;
         R0=0;
         R0=0;
         HSO_COMMAND=00H;
         HSO_TIME=TIMER1+04H;
         R0=0;
         R0=0;
       END;
       T08:DO;
         HSO_COMMAND=23H;
         HSO_TIME=TIMER1+TURNOFF;
         R0=0;
         R0=0;
         HSO_COMMAND=02H;
         HSO_TIME=TIMER1+TURNON;
         R0=0;
         R0=0;
         HSO_COMMAND=01H;
         HSO_TIME=TIMER1+04H;
         R0=0;
         R0=0;
       END;
      END;
    END;
  END;

  ELSE DO;
    IF RUN_SPD<60 THEN DO;
      TURNON=02H;
      TURNOFF=02H;
      DO CASE ORDER;
       T50:DO;
         HSO_COMMAND=22H;
         HSO_TIME=TIMER1+TURNON;
         R0=0;
         R0=0;
         HSO_COMMAND=00H;
         HSO_TIME=TIMER1+TURNOFF;
         R0=0;
         R0=0;
       END;
       T51:DO;
         HSO_COMMAND=23H;
         HSO_TIME=TIMER1+TURNON;
         R0=0;
         R0=0;
         HSO_COMMAND=01H;
         HSO_TIME=TIMER1+TURNOFF;
         R0=0;
         R0=0;
       END;
       T52:DO;
         HSO_COMMAND=20H;
         HSO_TIME=TIMER1+TURNON;
         R0=0;
         R0=0;
         HSO_COMMAND=02H;
         HSO_TIME=TIMER1+TURNOFF;
         R0=0;
         R0=0;
       END;
       T53:DO;
         HSO_COMMAND=21H;
         HSO_TIME=TIMER1+TURNOFF;
         R0=0;
         R0=0;
         HSO_COMMAND=03H;
         HSO_TIME=TIMER1+TURNON;
         R0=0;
         R0=0;
       END;
      END;
    END;
    ELSE IF AIM_SPD>=1600 THEN DO;
      TURNON=T_SPAN*4/5;
      TURNOFF=T_SPAN/3;
      DO CASE ORDER;
       T90:DO;
         HSO_COMMAND=21H;
         HSO_TIME=TIMER1+TURNON;
         R0=0;
         R0=0;
         HSO_COMMAND=03H;
         HSO_TIME=TIMER1+TURNOFF;
         R0=0;
         R0=0;
         HSO_COMMAND=00H;
         HSO_TIME=TIMER1+02H;
       END;
       T91:DO;
         HSO_COMMAND=22H;
         HSO_TIME=TIMER1+TURNON;
         R0=0;
         R0=0;
         HSO_COMMAND=00H;
         HSO_TIME=TIMER1+TURNOFF;
         R0=0;
         R0=0;
         HSO_COMMAND=01H;
         HSO_TIME=TIMER1+02H;
       END;
       T92:DO;
         HSO_COMMAND=23H;
         HSO_TIME=TIMER1+TURNON;
         R0=0;
         R0=0;
         HSO_COMMAND=01H;
         HSO_TIME=TIMER1+TURNOFF;
         R0=0;
         R0=0;
         HSO_COMMAND=02H;
         HSO_TIME=TIMER1+02H;
       END;
       T93:DO;
         HSO_COMMAND=20H;
         HSO_TIME=TIMER1+TURNON;
         R0=0;
         R0=0;
         HSO_COMMAND=02H;
         HSO_TIME=TIMER1+TURNOFF;
         R0=0;
         R0=0;
         HSO_COMMAND=03H;
         HSO_TIME=TIMER1+02H;
       END;
      END;
    END;
    ELSE IF  AIM_SPD>=1200 THEN DO;
      TURNON=T_SPAN*14/15;
      TURNOFF=T_SPAN/3;
      DO CASE ORDER;
       T85:DO;
         HSO_COMMAND=21H;
         HSO_TIME=TIMER1+TURNON;
         R0=0;
         R0=0;
         HSO_COMMAND=03H;
         HSO_TIME=TIMER1+TURNOFF;
         R0=0;
         R0=0;
         HSO_COMMAND=00H;
         HSO_TIME=TIMER1+02H;

       END;
       T86:DO;
         HSO_COMMAND=22H;
         HSO_TIME=TIMER1+TURNON;
         R0=0;
         R0=0;
         HSO_COMMAND=00H;
         HSO_TIME=TIMER1+TURNOFF;
         R0=0;
         R0=0;
         HSO_COMMAND=01H;
         HSO_TIME=TIMER1+02H;
       END;
       T87:DO;
         HSO_COMMAND=23H;
         HSO_TIME=TIMER1+TURNON;
         R0=0;
         R0=0;
         HSO_COMMAND=01H;
         HSO_TIME=TIMER1+TURNOFF;
         R0=0;
         R0=0;
         HSO_COMMAND=02H;
         HSO_TIME=TIMER1+02H;
       END;
       T88:DO;
         HSO_COMMAND=20H;
         HSO_TIME=TIMER1+TURNON;
         R0=0;
         R0=0;
         HSO_COMMAND=02H;
         HSO_TIME=TIMER1+TURNOFF;
         R0=0;
         R0=0;
         HSO_COMMAND=03H;
         HSO_TIME=TIMER1+02H;
       END;
      END;
    END;
    ELSE IF  AIM_SPD>=800 THEN DO;
      TURNON=T_SPAN/15;
      TURNOFF=T_SPAN/3;
      DO CASE ORDER;
       T80:DO;
         HSO_COMMAND=22H;
         HSO_TIME=TIMER1+TURNON;
         R0=0;
         R0=0;
         HSO_COMMAND=03H;
         HSO_TIME=TIMER1+TURNOFF;
         R0=0;
         R0=0;
         HSO_COMMAND=00H;
         HSO_TIME=TIMER1+04H;
         R0=0;
         R0=0;
       END;
       T81:DO;
         HSO_COMMAND=23H;
         HSO_TIME=TIMER1+TURNON;
         R0=0;
         R0=0;
         HSO_COMMAND=00H;
         HSO_TIME=TIMER1+TURNOFF;
         R0=0;
         R0=0;
         HSO_COMMAND=01H;
         HSO_TIME=TIMER1+04H;
         R0=0;
         R0=0;
       END;
       T82:DO;
         HSO_COMMAND=20H;
         HSO_TIME=TIMER1+TURNON;
         R0=0;
         R0=0;

⌨️ 快捷键说明

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