是由两个方面影响的。
一时定时器本身就是异步更新的。,定时器位和当前值的更新不与扫描周期同步。
另一方面就是串行通讯的延时,可以适当增加通讯波特率。
定时部分改进:
可以使用定时中断,S7-200有四个定时中断定时器可以触发中断进程,包含两个特殊寄存器(SMB34/SMB35)和两个定时器(T32/T96)中断。中断定时计时精确;
特殊寄存器SMB34/SMB35 可设置25ms,对应中断事件号10、11;
再增加一个计数变量,按钮上升沿给这个变量复位为0;
定时中断中,先执行计数自加1功能,
当计数次数为 1000/25=40 时,向 VW1000 传a;
当计数次数为 (1000+625)/25=65 时,向 VW1000 传b;
当计数次数为 (1000+625+1500)/25=125 时,向 VW1000 传a;
另外还得注意计数变量什么时间复位呢?
定时器常见问题
http://www.ad.siemens.com.cn/productportal/Prods/s7-200-portal/MicroPower2013/Smart%20SMS/033.html
你这个所谓的延时是采用那种方式?普通定时器?
如果是,这就“对”了,定时器的刷新除了T32、T96,其它均是异步的,所谓异步就是于plc程序的扫描周期有关了,而程序段由于具体运行程序指令的关系,每一个扫描是存在差异的,这些差异造成你的一些误解。
另外,HMI设备同样存在数据显示上的异步,HMI的变量是通过采集plc数据,这个采集是由用户设置的采集周期等决定的,mS级的异步同样属于正常范畴了。
最后是通讯了,ppi、modbus,乃至IRT等时通讯,自你发送数据信息到接收到其它设备反馈回路的数据,必须要经历几个或者多个周期的过程。
这个过程我理解为2个人的对话,我讲一个事情,你从听到我的讲话声音开始,反馈到你的大脑,经过你的思考再反馈出你回答的声音,再返回到我的大脑,思考判断为止的整个过程。
CPU扫描周期影响较大,通讯时间影响较小,建议使用中断,将序列写入,会形成定时间隔
通讯时间和程序扫描定时器周期都有影响
电话:13818569113
邮箱:13916183699@139.com
网址:http://www.4008104288.net
地址:中国上海市青浦区北青公路7171号