您现在所在的是:

串口通信

回帖:3个,阅读:1216 [上一页] [1] [下一页]
809
ljq7557
文章数:25
年度积分:50
历史总积分:809
注册时间:2007/10/19
发站内信
发表于:2008/4/14 10:57:00
#0楼
S7-200经验点滴
1、SBR0子程序:SBR0一般设置为初始化子程序,主要完成系统初始化,可以对各内部变量、中间变量进行置位或复位。该程序需要用户自己编辑,软件并不提供预置程序。

2、计数器指令在每个扫描周期里执行,而高速计数器独立于CPU的扫描周期。当外部输入的频率大于CPU的扫描频率时,必须使用高速计数器,否则会丢失输入的脉冲信号,造成控制错误。对于编码器的输入信号,一般情况下都必须采用高速计数器来计数;如果设备运转非常慢(每两个脉冲的间隔时间已经大于PLC的扫描周期,例如200ms或以上),那也可以采用普通计数器来进行计数。

3、PLC的扫描时间一般都在10~100ms之间,S7-200默认不允许扫描周期大于500ms。每条指令的执行时间都是微秒级的,PLC的扫描周期可以根据实际指令和PLC相关操作时间来估算,也可以通过查看特殊寄存器SMW22的值(实际最短扫描时间)和SMW26的值(实际最长扫描时间)来得到。

4、HSC高速计数器指令:以HSC0为例,当HSC0的使能端从低电平跳变到高电平时,HSC0指令就会读取控制字节SMB37、初始值寄存器SMD38、预置值寄存器SMD42的数据以及工作模式值,并把这些值作为高速计数器HSC0的当前值。
   也就是说,如果程序中只有1个HSC0指令,每次当这个HSC0的使能端从低电平跳变到高电平时,HSC0的当前值都等于初始值存储器SMD38的值。
   如果程序中有N个HSC0指令,那么当执行到某个HSC0指令时,如果该HSC0的使能端从低电平跳变到高电平时,HSC0的当前值都会被置为初始值存储器SMD38的值!这在对编码器脉冲计数时用得到,将计数器当前值设置为零,以便下个周期采样。
本文转自:赛尔社区



[此贴子已经被jint于2008-4-14 14:06:27编辑过]
17528
ahljj
文章数:3386
年度积分:240
历史总积分:17528
注册时间:2002/3/23
发站内信
发表于:2013/11/16 17:50:28
#1楼
看看。。。
匿名用户
文章数:N/A
年度积分:0
历史总积分:0
注册时间:2011/12/19
发站内信
发表于:2013/11/16 20:06:23
#2楼
该用户被锁定,回复内容不予显示!
匿名用户
文章数:N/A
年度积分:0
历史总积分:0
注册时间:2011/10/18
发站内信
发表于:2013/11/16 20:15:55
#3楼
该用户被锁定,回复内容不予显示!

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

46.8003