• «
  • 1
  • 2
  • »
  • Pages: 1/2     Go
pc8mcu
级别: 探索解密
精华主题: 0
发帖数量: 50 个
工控威望: 149 点
下载积分: 840 分
在线时间: 18(小时)
注册时间: 2014-11-13
最后登录: 2020-04-12
查看pc8mcu的 主题 / 回贴
楼主  发表于: 2015-11-10 21:32
TON_1(IN:= NOT TON_1.Q ,PT:= TIME#1S ); (*定义一个1S定时器*)

IF TON_1.Q  THEN (*定时时间到,D0++,D0大于10,那么清零*)
    D0 := D0 + 1;
    IF  D0>10 THEN
        D0 := 0;
    END_IF;
  
    IF D0 := 2 THEN
         Y0:=FALSE;
   END_IF;

   IF D0:=8 THEN
       Y0:=TRUE;
  END_IF;

END_IF;

以上ST语句编译通过,但定时器似乎不起左右,因为在2,7控制Y0口不起作用,,麻烦帮看一下,在下先谢谢了,!!
tingfenghu
级别: 工控侠客

精华主题: 0
发帖数量: 2845 个
工控威望: 3617 点
下载积分: 3517 分
在线时间: 3803(小时)
注册时间: 2007-11-04
最后登录: 2024-11-26
查看tingfenghu的 主题 / 回贴
1楼  发表于: 2015-11-10 22:56
没用过ST,用过其它编程语言,好像没有这种写法。
这种多条件选择,是不是应该用if……else if, switch……case,这类写法。
ST语言,这两种写法。
[attachment=141363]
[attachment=141364]  
[ 此帖被tingfenghu在2015-11-10 23:25重新编辑 ]
二手PLC,触摸屏,伺服驱动,各类气动设备
http://shop58129605.taobao.com/
pc8mcu
级别: 探索解密
精华主题: 0
发帖数量: 50 个
工控威望: 149 点
下载积分: 840 分
在线时间: 18(小时)
注册时间: 2014-11-13
最后登录: 2020-04-12
查看pc8mcu的 主题 / 回贴
2楼  发表于: 2015-11-11 08:39
没错,楼上将多情况跳转用  CASE  ,这有点像C, C++

还是讲清楚上问题,用的是GW-Work2 环境选的是 FX2  ST结构化语言
   刚开始TON_1()系统出错,后来在左边原件FB-模块中选TON 弹出对话框,进行注册OK即可用上
可用上面语句了,,但定时器不起作用,啥原因,请教了
cvlsam
富士低压,POD(觸摸屏),PLC专卖
级别: VIP会员

精华主题: 3 篇
发帖数量: 6770 个
工控威望: 38371 点
下载积分: 3262 分
在线时间: 9513(小时)
注册时间: 2006-09-13
最后登录: 2024-11-26
查看cvlsam的 主题 / 回贴
3楼  发表于: 2015-11-11 08:49
IF D0 := 2 THEN
         Y0:=FALSE;
   END_IF;

IF语句条件使用赋值语句,我也是醉了。

IF D0=2 THEN
    Y0:= FALSE;
END_IF;

Good  Luck ~
pc8mcu
级别: 探索解密
精华主题: 0
发帖数量: 50 个
工控威望: 149 点
下载积分: 840 分
在线时间: 18(小时)
注册时间: 2014-11-13
最后登录: 2020-04-12
查看pc8mcu的 主题 / 回贴
4楼  发表于: 2015-11-11 08:59
TON_1(IN:= NOT TON_1.Q ,PT:= TIME#1S ); (*定义一个1S定时器*)

D0 := 0;
IF TON_1.Q  THEN (*定时时间到,D0++,D0大于10,那么清零*)
    D0 := 1 - D0 ;
    
    CASE D0 OF
    1:
         Y0:=TRUE;    
   0:
         Y0:=FALSE;    
    END_CASE;
      
END_IF;

太谢谢了,我试上一段语句,意思想让Y0 在1S 内交替亮,灭,  程序执行了,亮就不见灭,,我想是不是系统执行了一次定时就退出了,,,谢谢 对我 ST语言的知道,,,,谢谢"
cvlsam"老兄
pc8mcu
级别: 探索解密
精华主题: 0
发帖数量: 50 个
工控威望: 149 点
下载积分: 840 分
在线时间: 18(小时)
注册时间: 2014-11-13
最后登录: 2020-04-12
查看pc8mcu的 主题 / 回贴
5楼  发表于: 2015-11-11 09:31
TON_1(IN:= NOT TON_1.Q ,PT:= TIME#5S ); (*定义一个1S定时器*)

IF TON_1.Q  THEN (*定时时间到,D0++,D0大于10,那么清零*)  
         Y0:=TRUE;    
END_IF;

TON_2(IN:= NOT TON_2.Q ,PT:= TIME#5S ); (*定义一个1S定时器*)

IF TON_2.Q  THEN (*定时时间到,D0++,D0大于10,那么清零*)  
         Y1:=TRUE;    
END_IF;

又试验上面一段ST代码,,可以运行,,本来我的意思是想程序是顺序执行的, Y0 先亮,,Y1后亮实际情况是,Y0,Y1同时定时亮。更说明定时器用完就完了,不能循环使用,如何才能循环定时呢?谢谢
pc8mcu
级别: 探索解密
精华主题: 0
发帖数量: 50 个
工控威望: 149 点
下载积分: 840 分
在线时间: 18(小时)
注册时间: 2014-11-13
最后登录: 2020-04-12
查看pc8mcu的 主题 / 回贴
6楼  发表于: 2015-11-11 09:38
TON_1(IN:= NOT TON_1.Q ,PT:= TIME#1S ); (*定义一个1S定时器*)

IF TON_1.Q  THEN (*定时时间到,D0++,D0大于10,那么清零*)
    D0 := D0 + 1;                          // ---------经过反复实验-
    IF  D0>10 THEN                   //-----------
        D0 := 0;                              //-----------
    END_IF;                                 //----------该段无法时间,因为这段代码只运行一次,,不能循环????
END_IF;
pc8mcu
级别: 探索解密
精华主题: 0
发帖数量: 50 个
工控威望: 149 点
下载积分: 840 分
在线时间: 18(小时)
注册时间: 2014-11-13
最后登录: 2020-04-12
查看pc8mcu的 主题 / 回贴
7楼  发表于: 2015-11-11 10:07
TON_1(IN:= NOT TON_1.Q ,PT:= TIME#1S ); (*定义一个1S定时器*)
D0:=0;

IF TON_1.Q  THEN (*定时时间到,D0++,D0大于10,那么清零*)  
         D0:= D0+1;
         IF D0>4  THEN
                D0:=0;
         END_IF;

         CASE D0 OF
          1:
               Y0:=TRUE;    
          2:
                Y0:=FALSE;    
          END_CASE;
        
END_IF;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
TON_1(IN:= NOT TON_1.Q ,PT:= TIME#1S ); (*定义一个1S定时器*)

IF TON_1.Q  THEN (*定时时间到,D0++,D0大于10,那么清零*)  
         Y0:=TRUE;    
END_IF;

TON_2(IN:= NOT TON_2.Q ,PT:= TIME#2S ); (*定义一个1S定时器*)

IF TON_2.Q  THEN (*定时时间到,D0++,D0大于10,那么清零*)  
         Y0:=FALSE;    
END_IF;

=================================================================
上段不能实现Y0 隔1 秒亮, 灭一次,  而 下面一段实现了 Y0 反复的亮灭 ,实现了循环,,能看一下原因,讲一下原理吗??谢谢
pc8mcu
级别: 探索解密
精华主题: 0
发帖数量: 50 个
工控威望: 149 点
下载积分: 840 分
在线时间: 18(小时)
注册时间: 2014-11-13
最后登录: 2020-04-12
查看pc8mcu的 主题 / 回贴
8楼  发表于: 2015-11-11 10:13
原因找到了,谢谢
小小一电工
每天一点点 加油 你可以的!
级别: 工控侠客
精华主题: 0
发帖数量: 647 个
工控威望: 2530 点
下载积分: 1698 分
在线时间: 747(小时)
注册时间: 2012-02-27
最后登录: 2024-08-12
查看小小一电工的 主题 / 回贴
9楼  发表于: 2015-11-11 10:27
这是 上位机通讯语句?
每天一点点
rongbing
级别: 论坛先锋
精华主题: 0
发帖数量: 1052 个
工控威望: 1251 点
下载积分: 21843 分
在线时间: 292(小时)
注册时间: 2015-02-15
最后登录: 2024-11-26
查看rongbing的 主题 / 回贴
10楼  发表于: 2015-11-11 12:30
昆仑通泰的脚本程序
tingfenghu
级别: 工控侠客

精华主题: 0
发帖数量: 2845 个
工控威望: 3617 点
下载积分: 3517 分
在线时间: 3803(小时)
注册时间: 2007-11-04
最后登录: 2024-11-26
查看tingfenghu的 主题 / 回贴
11楼  发表于: 2015-11-11 12:51
引用
引用第10楼rongbing于2015-11-11 12:30发表的  :
昆仑通泰的脚本程序

PLC的ST语言,即实现和梯形图一样的功能。
二手PLC,触摸屏,伺服驱动,各类气动设备
http://shop58129605.taobao.com/
  • «
  • 1
  • 2
  • »
  • Pages: 1/2     Go