200 PLC,转速程序怎么写啊?

1       有人说采用编码器,但是编码器的转速最高才1500RPM,我要测量的轴的转速至少是4000多转,编码器的速度根本跟不上啊?
2       这个程序如何写啊?请详细的说明提纲就可以了。
谢谢

最佳答案

首先是检测机构,可以使用高速接近开关取信号,也就是转一圈接近开关输出一个脉冲信号
编程就是使用高速计数器和定时中断,定时中断设定时间100ms,在中断程序里累计10次,取得高数计数器的实际值,就是每秒的转速了,然后清定时的累计值,复位高速计数器的初始值,进行下一秒的计数。

刚好昨天做了个测试程序,脉冲信号输入到I0.0

ORGANIZATION_BLOCK 主程序:OB1
TITLE=程序注释
BEGIN
Network 1 
LD     SM0.1
CALL   SBR1
Network 2 
LD     SM0.1
CALL   SBR0
END_ORGANIZATION_BLOCK
SUBROUTINE_BLOCK SBR_0:SBR0
TITLE=子程序注释
BEGIN
Network 1 
LD     SM0.0
MOVW   0, VW100
Network 2 
LD     SM0.0
MOVB   100, SMB34
ATCH   INT0, 10
END_SUBROUTINE_BLOCK
SUBROUTINE_BLOCK HSC_INIT:SBR1
TITLE=
BEGIN
Network 1 
LD     SM0.0
MOVB   16#F8, SMB37
MOVD   +0, SMD38
MOVD   +0, SMD42
HDEF   0, 0
ENI
HSC    0
END_SUBROUTINE_BLOCK
INTERRUPT_BLOCK INT_0:INT0
TITLE=中断程序注释
BEGIN
Network 1 
LD     SM0.0
+I     1, VW100
Network 2 
LDW>=  VW100, VW102
MOVD   HC0, VD104
MOVD   0, SMD38
HSC    0
MOVW   0, VW100
Network 3 
END_INTERRUPT_BLOCK

SUBROUTINE_BLOCK SBR_0:SBR0
TITLE=子程序注释
BEGIN
Network 1 
LD     SM0.0
MOVW   0, VW100
Network 2 // 网络标题
// 网络注释
LD     SM0.0
MOVB   100, SMB34
ATCH   INT0, 10
END_SUBROUTINE_BLOCK

SUBROUTINE_BLOCK HSC_INIT:SBR1
TITLE=
BEGIN
Network 1 // HSC 指令向导
// 要在程序中使用此配置,请在主程序块中使用 SM0.1 或一条沿触发指令调用一次此子程序。
// 配置 HC0 为模式 0;CV = 0; PV = 0;增计数;
// 开放中断和启动计数器。
// 
LD     SM0.0
MOVB   16#F8, SMB37                //设置控制位:增计数;已使能;
MOVD   +0, SMD38                   //装载 CV
MOVD   +0, SMD42                   //装载 PV
HDEF   0, 0
ENI
HSC    0
END_SUBROUTINE_BLOCK


INTERRUPT_BLOCK INT_0:INT0
TITLE=中断程序注释
BEGIN
Network 1 // 网络标题

LD     SM0.0
+I     1, VW100          //定时累计
Network 2 
LDW>=  VW100, VW102      //VW102=10, 10*100ms=1S
MOVD   HC0, VD104            //VD104为累计时间的脉冲数
MOVD   0, SMD38       
HSC    0
MOVW   0, VW100  
Network 3 
END_INTERRUPT_BLOCK

提问者对于答案的评价:
多谢大哥,等几天我找个马达再验证一下。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc306169.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年10月31日 下午3:51
下一篇 2020年10月31日 下午3:51

相关推荐

  • 怎样用高速计数器做速度编程

    S7-200用增量编码器在程序中怎样编程监控速度 最佳答案 用一个时间来定时中断高速计数器,时间可以是秒,毫秒,高速计数器得到脉冲换算成位移,就是速度。 提问者对于答案的评价:感谢…

    SIMATIC S7-200 2021年7月4日
  • S7-200向导控制步进电机。

    请问S7-200用向导控制步进电机,在程序中可以随意更改结束位置的值吗? 最佳答案 这个是可以实现的,EM253模块对应的运动包络都是有相应的存储地址的,只要对相应的地址进行改动就…

    SIMATIC S7-200 2020年11月1日
  • MICwin软件

    双击MICWIN软件后,弹出这个提示,然后无法打开软件,要如何解决? 问题补充:之前打开过,保存过一个文件,然后关闭,就打不开了。 图片说明:    最佳答案 …

    2021年7月5日
  • EM253阶段性警报 亮红灯

    plc226连接了6个扩展模块,其中有两个EM253  运行过程中253 阶段性亮红灯,排查下来有可能是5v 电源供应不足, 有什…

    SIMATIC S7-200 2017年6月10日
  • cpu226与台达变频器VDF-B通讯

    刚刚做了一个通讯,用modbus协议,但是不成功,请问哪位大侠有这方面的程序,给小弟发一个,谢谢。邮箱:daxiang20072008@163.com QQ:569154…

    SIMATIC S7-200 2021年7月5日
  • S7200程序编译错误

    请教各位    我有一个程序在编译时没错误,但下载到100%时提示有错误代号:91(操作数范围错误),但有时没有错误,有时有错误?程序没有什…

    SIMATIC S7-200 2020年10月31日
  • S7200SMART-三菱F700-MODBUS RTU

    用一个S7200SMART控制一台三菱F700的RS485端子,MODBUS RTU通信,S7200可以写启/停,随时写频率,读频率,读电流。求助:较详细具体的S7200…

    SIMATIC S7-200 2021年7月5日
  • s7-200电源计算

    请问,是不是s200的,所有的DC输出数字量模块,第一路输出都是按9mA来算,我下载的说明书上6ES7222-1HD22为什么是20mA呢。是不是印刷错误啊。 最佳答案 EM&nb…

    SIMATIC S7-200 2021年7月5日
  • S7200上载提示,此项目文件包含一个或多个3.0板不支持的旧构造

    用的软件是4.0+SP1,PLC266CN,上载程序时提示错误:此项目文件包含一个或多个3.0板不支持的旧构造. 最佳答案 下载本站的SP6的软件安装,然后将软件的操作语言改为中文…

    SIMATIC S7-200 2021年7月4日
  • s7-200plc程序上载问题

    两CPU226XM作为主从站,主站程序可以上载,上载从站程序时总是通信错误 最佳答案 将CPU  先STOP再 看看 提问者对于答案的评价:以经解决

    SIMATIC S7-200 2021年7月5日