zl1351766396
级别: 正式会员
精华主题: 0
发帖数量: 29 个
工控威望: 75 点
下载积分: 1171 分
在线时间: 45(小时)
注册时间: 2024-11-05
最后登录: 2024-12-21
查看zl1351766396的 主题 / 回贴
楼主  发表于: 30天前
图片:
初学ST语言编程,在某个资料中看到定时器应用,资料中说定时器输出Q要放在定时器前面。我自己在GXworks3中测试了一下,输出Q放在定时器后面计数也是正常的是我哪里理解有误吗麻烦各位大佬指点一下
宿迁电工
级别: 论坛先锋
精华主题: 0
发帖数量: 1086 个
工控威望: 1228 点
下载积分: 2954 分
在线时间: 403(小时)
注册时间: 2018-11-30
最后登录: 2024-12-22
查看宿迁电工的 主题 / 回贴
1楼  发表于: 29天前
你照着宝马车的维保手册去试奔驰,能测试出正确结果吗?
长三角地区,PLC编程,工业机器人编程
吸塑机,轴承合套仪程序开发
专业外协
 TEL:13815796487(微信同号)
afei828
级别: 正式会员
精华主题: 0
发帖数量: 12 个
工控威望: 53 点
下载积分: 7 分
在线时间: 10(小时)
注册时间: 2024-10-25
最后登录: 2024-12-22
查看afei828的 主题 / 回贴
2楼  发表于: 27天前
说的真经典
肖大宝
级别: 正式会员
精华主题: 0
发帖数量: 31 个
工控威望: 81 点
下载积分: 83 分
在线时间: 10(小时)
注册时间: 2024-08-25
最后登录: 2024-12-16
查看肖大宝的 主题 / 回贴
3楼  发表于: 27天前
应该是用宝马的测马自达,这个输出Q肯定不是三菱的啊,三菱的是输出y
有鱼丶
勿以独见而违众//勿以辩说为必然
级别: 略有小成
精华主题: 0
发帖数量: 238 个
工控威望: 289 点
下载积分: 312 分
在线时间: 114(小时)
注册时间: 2024-07-13
最后登录: 2024-12-20
查看有鱼丶的 主题 / 回贴
4楼  发表于: 26天前
引用
引用第3楼肖大宝于2024-11-26 18:44发表的  :
应该是用宝马的测马自达,这个输出Q肯定不是三菱的啊,三菱的是输出y

他说的这个Q是定时器的条件满足后输出点
有鱼丶
勿以独见而违众//勿以辩说为必然
级别: 略有小成
精华主题: 0
发帖数量: 238 个
工控威望: 289 点
下载积分: 312 分
在线时间: 114(小时)
注册时间: 2024-07-13
最后登录: 2024-12-20
查看有鱼丶的 主题 / 回贴
5楼  发表于: 26天前
引用
引用楼主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
    发帖数量: 238 个
    工控威望: 289 点
    下载积分: 312 分
    在线时间: 114(小时)
    注册时间: 2024-07-13
    最后登录: 2024-12-20
    查看有鱼丶的 主题 / 回贴
    6楼  发表于: 26天前
    你把定时器换成置位复位就能理解。
    实在理解不了也不用纠结,不用就是。
    项目要用到定时以后执行1个上升沿的话,就用R_TRIG
    有鱼丶
    勿以独见而违众//勿以辩说为必然
    级别: 略有小成
    精华主题: 0
    发帖数量: 238 个
    工控威望: 289 点
    下载积分: 312 分
    在线时间: 114(小时)
    注册时间: 2024-07-13
    最后登录: 2024-12-20
    查看有鱼丶的 主题 / 回贴
    7楼  发表于: 26天前
    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;

    这种写法就是,上下都能用的
    zl1351766396
    级别: 正式会员
    精华主题: 0
    发帖数量: 29 个
    工控威望: 75 点
    下载积分: 1171 分
    在线时间: 45(小时)
    注册时间: 2024-11-05
    最后登录: 2024-12-21
    查看zl1351766396的 主题 / 回贴
    8楼  发表于: 26天前
    引用
    引用第5楼有鱼丶于2024-11-27 13:10发表的  :

    这里面的图2,定时器的使能点是用的Q点的反接点,也就是说当定时器定时完成瞬间,输出了Q后,第二个扫描周期会把定时器给停掉,然后在刷新执行时,定时器断开,定时器的Q就没使能了,所以不会执行加法逻辑。就相当于是执行1次的上升沿。而且他还用了特定的功能 "TON.TON()",通常我们只用ton。
    学习ST语言后,尽量少用PLC品牌方封装的指令。有得选就只用IEC标准的指令

    感谢大佬指点,我又重新研究了下PLC刷新机制,再看到你的解答我应该算是明白了