zl1351766396
级别: 正式会员
精华主题: 0
发帖数量: 28 个
工控威望: 74 点
下载积分: 1118 分
在线时间: 43(小时)
注册时间: 2024-11-05
最后登录: 2024-12-19
查看zl1351766396的 主题 / 回贴
楼主  发表于: 27天前
图片:
初学ST语言编程,在某个资料中看到定时器应用,资料中说定时器输出Q要放在定时器前面。我自己在GXworks3中测试了一下,输出Q放在定时器后面计数也是正常的是我哪里理解有误吗麻烦各位大佬指点一下
有鱼丶
勿以独见而违众//勿以辩说为必然
级别: 略有小成
精华主题: 0
发帖数量: 237 个
工控威望: 288 点
下载积分: 310 分
在线时间: 113(小时)
注册时间: 2024-07-13
最后登录: 2024-12-19
查看有鱼丶的 主题 / 回贴
1楼  发表于: 23天前
引用
引用第3楼肖大宝于2024-11-26 18:44发表的  :
应该是用宝马的测马自达,这个输出Q肯定不是三菱的啊,三菱的是输出y

他说的这个Q是定时器的条件满足后输出点
有鱼丶
勿以独见而违众//勿以辩说为必然
级别: 略有小成
精华主题: 0
发帖数量: 237 个
工控威望: 288 点
下载积分: 310 分
在线时间: 113(小时)
注册时间: 2024-07-13
最后登录: 2024-12-19
查看有鱼丶的 主题 / 回贴
2楼  发表于: 23天前
引用
引用楼主zl1351766396于2024-11-23 13:53发表的 小白请教ST中定时器应用 :
初学ST语言编程,在某个资料中看到定时器应用,资料中说定时器输出Q要放在定时器前面。我自己在GXworks3中测试了一下,输出Q放在定时器后面计数也是正常的是我哪里理解有误吗麻烦各位大佬指点一下

这里面的图2,定时器的使能点是用的Q点的反接点,也就是说当定时器定时完成瞬间,输出了Q后,第二个扫描周期会把定时器给停掉,然后在刷新执行时,定时器断开,定时器的Q就没使能了,所以不会执行加法逻辑。就相当于是执行1次的上升沿。而且他还用了特定的功能 "TON.TON()",通常我们只用ton。
学习ST语言后,尽量少用PLC品牌方封装的指令。有得选就只用IEC标准的指令
[ 此帖被有鱼丶在2024-11-27 13:24重新编辑 ]
本帖最近评分记录:
  • 下载积分:+2(zl1351766396)
    有鱼丶
    勿以独见而违众//勿以辩说为必然
    级别: 略有小成
    精华主题: 0
    发帖数量: 237 个
    工控威望: 288 点
    下载积分: 310 分
    在线时间: 113(小时)
    注册时间: 2024-07-13
    最后登录: 2024-12-19
    查看有鱼丶的 主题 / 回贴
    3楼  发表于: 23天前
    你把定时器换成置位复位就能理解。
    实在理解不了也不用纠结,不用就是。
    项目要用到定时以后执行1个上升沿的话,就用R_TRIG
    有鱼丶
    勿以独见而违众//勿以辩说为必然
    级别: 略有小成
    精华主题: 0
    发帖数量: 237 个
    工控威望: 288 点
    下载积分: 310 分
    在线时间: 113(小时)
    注册时间: 2024-07-13
    最后登录: 2024-12-19
    查看有鱼丶的 主题 / 回贴
    4楼  发表于: 23天前
    IF b模式选用 THEN
        T_01(IN:=NOT(T_01.q) , PT:=T#2S , Q=> , ET=> );
        IF T_01.Q THEN
            var1:=var1+1;
        END_IF
    END_IF;
    IF b模式选用=FALSE THEN
        IF T_01.Q THEN
            var1:=var1+1;
        END_IF    
        T_01(IN:=NOT(T_01.q) , PT:=T#2S , Q=> , ET=> );

    END_IF;

    这种写法就是,上下都能用的