怎么用Twincat编写一个正反转的ST程序 点击:1171 | 回复:1



杜小妍

    
  • 精华:0帖
  • 求助:2帖
  • 帖子:2帖 | 0回
  • 年度积分:0
  • 历史总积分:26
  • 注册:2012年9月23日
发表于:2012-10-11 13:06:06
楼主
求助帖5分-已结帖

我刚入门   昨天刚装了Twincat   今天学习下怎么用Twincat编写ST程序   

我想编写个一个  当按键1按下去   ,电机正传,正传指示灯亮

                      当按键2按下去,电机反转,反转指示灯亮

                      当按键3按下去,电机停止转动,正传和反转指示灯灭

 我在这里 谢谢给位前辈了能给我讲下怎么编写的       




miy_gongkong

  • 精华:0帖
  • 求助:2帖
  • 帖子:23帖 | 3065回
  • 年度积分:0
  • 历史总积分:12421
  • 注册:2008年9月18日
发表于:2012-10-12 09:38:03
1楼

当按键3按下去,电机停止转动,正传和反转指示灯灭

-----------------------

正反转 是不能同时亮的,ST 不适合编写 BOOL 逻辑程序,时候数据处理,

 

当然你要写也可以,但要注意和梯形图中的区别。。。。。

示例1:定义变量 

  输入变量

        iFOR  :     BOOL:=FALSE; (/*  定义变量为布尔类型,初始化为 0, “false==0”, */)

          iINV  :     BOOL:=FALSE;

         iSTOP:     BOOL:=FALSE;

   输出变量

         oFOR  :     BOOL:=FALSE; 

         oINV  :     BOOL:=FALSE;    

 

程序段    

         IF iFOR=TRUE AND iINV=FALSE AND iSTOP=FALSE AND oINV=FALSE THEN

             oFOR:=TRUE;   // 正向输出置为 1

         END_IF;

         IF iFOR=FASLE AND iINV=TRUE AND iSTOP=FALSE AND oFOR=FALSE THEN

             oINV:=TRUE;   // 反向输出置为 1

         END_IF;

          IF iSTOP=TRUE THEN

             oFOR:=FALSE;   // 正向输出置为 0

             oINV:=FALSEl;  //  反向输出置为0

         END_IF;

         


热门招聘
相关主题

官方公众号

智造工程师