当前位置:
工控论坛
> >
产品
>
PLC
>
西门子(Siemens)PLC
我要发帖
如何用S7-200的中断
点击:
3258
| 回复:
14
LQM
关注
私信
精华:0帖
求助:0帖
帖子:4帖 | 44回
年度积分:0
历史总积分:124
注册:2001年11月20日
发表于:2003-07-31 13:36:00
楼主
如何用S7-200的中断 有一测速机构,每转发出60个脉冲,进入I0.0和I0.1,由于转速较低,采用的是测量脉冲宽度的方法,即I0.0上升沿触发中断,开始计时,到I0.1下降沿时,停止计时,进行转速换算.问题是,我试了一下,发现S7-200只对中断扫描一个周期就停止计时了,无法达到我的要求,请教各位老师该如何处理. 谢谢!!
分享到:
收藏
邀请回答
回复楼主
举报
LQM
关注
私信
精华:0帖
求助:0帖
帖子:4帖 | 44回
年度积分:0
历史总积分:124
注册:2001年11月20日
发表于:2003-07-30 15:43:00
1楼
是不是太简单了,怎么没人回答?
回复
引用
举报
丁喜
关注
私信
精华:0帖
求助:0帖
帖子:29帖 | 924回
年度积分:0
历史总积分:1640
注册:2002年8月30日
发表于:2003-07-30 17:11:00
2楼
可以用高速计数然后折算频率,进而得到转速。其实不少品牌的plc就直接提供了频率计的功能。
回复
引用
举报
LQM
关注
私信
精华:0帖
求助:0帖
帖子:4帖 | 44回
年度积分:0
历史总积分:124
注册:2001年11月20日
发表于:2003-07-30 17:27:00
3楼
谢谢丁喜 高速计数功能得到的转速误差较大。因为设备的最高转速是34--35转/分钟。每转30个脉冲(更正)。 原来我使用的是三菱的FX2N,X0上升沿中断,开始计时,X1下降沿 结束中断。使用良好。现在改用S7-200,应该说测速的控制思路是 不变的,但就是无法在S7-200上具体实现。
回复
引用
举报
gmail
关注
私信
精华:0帖
求助:0帖
帖子:4帖 | 50回
年度积分:0
历史总积分:112
注册:2002年12月05日
发表于:2003-07-30 18:07:00
4楼
你是否把定时器放在中断程序中了? 西门子的定时器若用在中断程序中,在脱离中断时定时器就停止计时。 你可在I0.0上升中断程序置位一中间变量,然后在主程序中用这一中间变量启动定时,同样在I0.1下降中断程序中复位这一变量、同时保存当前定时器的值。最后再在主程序中进行转换,这样应该可以了。
回复
引用
举报
LQM
关注
私信
精华:0帖
求助:0帖
帖子:4帖 | 44回
年度积分:0
历史总积分:124
注册:2001年11月20日
发表于:2003-07-31 07:21:00
5楼
谢谢Proface 你说的两种情况我都试过,将定时器用在中断程序中,在脱离中断时定时器就停止计时。这一点我已经注意到了.我也尝试在I0.0上升中断程序置位一中间变量,然后在主程序中用这一中间变量启动定时这一方法.程序如下 主程序 ld sm0.1 ATCH INT_0, 0 ATCH INT_1, 3 中断0 LD SM0.0 S Q0.1, 1 中断1 LD SM0.0 R Q0.1, 1 当i0.0上升沿到时,Q0.1并没有如预期般接通.不知为何?
回复
引用
举报
gmail
关注
私信
精华:0帖
求助:0帖
帖子:4帖 | 50回
年度积分:0
历史总积分:112
注册:2002年12月05日
发表于:2003-07-31 09:26:00
6楼
好像缺少了一个中断使能指令,ENI 还有在中断1中对中断0事件的脱离,DTCH 因为中断事件0的优先级比中断事件3的优先级高,所以在运行中断1时要脱离对中断0的响应事件 主程序 ld sm0.1 ATCH INT_0, 0 ATCH INT_1, 3 --->ENI 中断0 LD SM0.0 S Q0.1, 1 中断1 LD SM0.0 --->DTCH 0 R Q0.1, 1 你再试试
回复
引用
举报
LQM
关注
私信
精华:0帖
求助:0帖
帖子:4帖 | 44回
年度积分:0
历史总积分:124
注册:2001年11月20日
发表于:2003-07-31 10:52:00
7楼
谢谢Proface 确实少了一个中断使能指令,ENI 但在中断1中不能有DTCH 0 在实际使用过程中发现,在主程序中进行计时还是存在较大误差.-2---+3RPM.
回复
引用
举报
树根
关注
私信
精华:0帖
求助:0帖
帖子:7帖 | 21回
年度积分:0
历史总积分:92
注册:2003年3月22日
发表于:2003-07-31 11:32:00
8楼
不用中断度过可以实现的
回复
引用
举报
gmail
关注
私信
精华:0帖
求助:0帖
帖子:4帖 | 50回
年度积分:0
历史总积分:112
注册:2002年12月05日
发表于:2003-07-31 11:52:00
9楼
对,不用中断试试,输入点有滤波时间,时间肯定存在误差, 对“使用中断,不使用中断(直接写在主程序中),还有使用高速计数器”三种方法比较一下,看哪种效果好。我个人认为使用高速计数器应该精度较高
回复
引用
举报
LQM
关注
私信
精华:0帖
求助:0帖
帖子:4帖 | 44回
年度积分:0
历史总积分:124
注册:2001年11月20日
发表于:2003-07-31 11:52:00
10楼
对不用中断也是可以实现的,不过误差以及稳定性较差.
回复
引用
举报
LQM
关注
私信
精华:0帖
求助:0帖
帖子:4帖 | 44回
年度积分:0
历史总积分:124
注册:2001年11月20日
发表于:2003-07-31 12:38:00
11楼
谢谢Proface,默然一笔,丁喜 使用高速计数器从理论上来说会存在-2--+2转的误差(每转30个脉冲),当然,每转的脉冲数越多则误差就越小.这种测量方法即M法.在低速系统中比较精确的方法就是采用测量脉冲宽度的方法(T法).或者采用连续测量N个脉冲的时间来解决(即M-T法). 问题是S7-200的上升沿中断后,是在主程序中进行计时,这样就存在扫描周期的影响.对于速度值的显示就不是那么稳定了.
回复
引用
举报
gongkongedit
关注
私信
精华:1099帖
求助:0帖
帖子:14392帖 | 54470回
年度积分:0
历史总积分:622
注册:2008年9月08日
发表于:2003-07-31 13:36:00
12楼
系统的扫描周期对于低速来说应该没有多大的影响,你把输入的响应时间I0.0--I0.3的响应时间改成最小,0.2毫秒,一般系统默认的是6.4毫秒.这样会减少误差
回复
引用
举报
lamony
关注
私信
精华:0帖
求助:0帖
帖子:0帖 | 15回
年度积分:0
历史总积分:123
注册:2008年3月24日
发表于:2009-07-11 16:52:45
13楼
恩。学习了!!!!!!!!!!
回复
引用
举报
独行侠
关注
私信
精华:0帖
求助:0帖
帖子:9帖 | 599回
年度积分:0
历史总积分:715
注册:2009年1月09日
发表于:2009-07-12 10:22:36
14楼
进来学习一下。。。。。。
回复
引用
举报
热门招聘
相关主题
三菱触摸屏编辑仿真软件、三菱...
[12139]
求助三菱PLC的ALT指令的应用
[9414]
一欧姆龙plc的ERR灯亮了,如何...
[9619]
西门子plc400 extf红灯亮了,...
[13209]
西门子S200PLC编程实例精解(...
[15163]
你最常用的PLC是什么品牌的?...
[17400]
台湾丰炜PLC与三菱PLC兼容吗...
[7940]
PLC排名榜
[7718]
PLC常用程序设计语言简介
[23373]
搞PLC真的有前途吗?(水木清华...
[15424]
官方公众号
智造工程师
客服
小程序
公众号