水电电工知识
电工技术|plc编程时新手容易犯错的一点
2016-02-15  浏览:32
水电之家讯:操作定时器,包括使能位、直接赋定时值、R指令复位等,指令执行后立即生效,不是等到系统刷新时。

这和系统对定时器的刷新机制不冲突,也不矛盾的。

读定时状态位、当时定时值,读到的就是最新鲜的值,包括由操作定时器指令立即产生的结果。但读指令本身不会改变定时器的状态。

前几天看到一个提问是这样的

问为什么C0不计数?而把网络1和网络2交换就可以了?

这个问题对于新手来说是一个很容易犯的错误,我自己也犯过同样的错误。那是因为手册中有段话把我误导了,也是自己对它理解不够。



就是这个程序,我的想法是I0.0是按钮,按下Q0.0接通,在按下Q0.0断开,可实际Q0.0根本不会接通。

那么问题来了,手册中这样说的



我的程序应该I0.0上升沿时Q0.0置位,但要等到扫描完时才会输出Q0.0,那么网络2的I0.0上升沿后面Q0.0就应该为OFF,那么就不会复位,下次按下I0.0时Q0.0复位。应该没问题啊。



而第一个程序是这样的,说明书上说

10ms定时器在扫描开始时刷新,那么当T98 ON的那一个扫描周期计数器就应该计数啊。难道说明书有问题?

后来自己仔细研究才明白,CPU执行程序时用的是过程映像寄存器中的值,Q0.0那个程序就好理解了,置位Q0.0后,寄存器中Q0.0已经ON了,扫描网络2的时候读取寄存器中Q0.0 ——>ON,所以I0.0上升沿——>ON,Q0.0——>0N,所以Q0.0被复位,Q0.0输出OFF。

那定时器这个呢?我在想cpu读取的应该也是寄存器中的值而不是定时器的实际地址,所以

实际就是扫描开始

读取T98实际地址传送给T98寄存器——>T98寄存器ON

网络1 扫描到T98时——>T98寄存器off

网络2 T98寄存器OFF,

所以网络2的T98永远接不通。

这只是我的个人理解,实际是不是这样运算的也没找到资料,想到了电脑CPU的缓存,是不是plc的过程映像寄存器是一个道理。

经过我的消化,是这样理解的:

1、与定时器有关的指令,可以分两类,一类是使用定时数据的,另一类是操作定时器的。就象一个闹钟,读时间就是使用闹钟,拨弄闹钟就是操作。

2、使用定时器,也就是读定时器状态或定时器当前的时间值,对定时器是没有影响的,而操作定时器,则会影响定时器的状态及当前值,而且是若有影响,立即生效。所以T38,定时到时,又被立即复位了,T38=1的状态到不了下面的网络。

水电之家为您提供最全面的管材,管件,水电,电线,电工,管材水电品牌的装修知识点和各种管材水电的导购与在线购买服务,拥有最便宜的管材水电价格和最优质的售后服务,每天都有秒杀的抢购活动哦!敬请登陆水电之家:http://shuidian.jc68.com/
更多»您可能感兴趣的文章:
更多»有关 管材 的产品:
  • 水电电工资讯
  • 发表评论 | 0评
  • 评论登陆
  • 移动社区 天花之家 木门之家 灯具之家 铁艺之家 幕墙之家 五金头条 楼梯头条 墙纸头条 壁纸头条 玻璃头条 老姚之家 灯饰之家 电气之家 全景头条 照明之家 防水之家 防盗之家 区快洞察 建材 枣庄建材 临沂建材 南昌建材 上饶建材 抚州建材 宜春建材 吉安建材 赣州建材 鹰潭建材 新余建材 九江建材 萍乡建材 景德镇陶瓷 石家庄建材 衡水建材 廊坊建材 沧州建材 承德建材 建材之家 企业之家 720全景
    (c)2015-2017 BYBC.CN SYSTEM All Rights Reserved