S7-200读取旋转编码器问题

我现在用224CPU(DC/DC)读取旋转编码器输入脉冲信号,计划用I0.0口读取,我的编码器转一圈输入1024个脉冲,请问PLC端程序如何编写,(接线时,不是是编码器VCC接PLC+24V,编码器电源负端接PLC的M端,输入信号直接接I0.0),按照PLC向导,就是监控不到HC0数据,请问哪位大哥有相关程序例程,谢谢.

最佳答案

参考一下:
程序通过先设定计数器的值,本例中设定值为10;按设备启动按钮I0.1启动设备,运行后通过信号输入点I0.0进行计数,当计数当前值等于设定值10时,输出点断开,设备运行停止。I0.2为设备停止按钮。 程序如下:
LD     SM0.1 
MOVB   16#C8, SMB37 
HDEF   0, 0 
MOVD   +0, SMD38 
HSC    0 
上述程序注解:(1)对高数记数器HSC0初始化,写入控制字节(16#C8含义为:要求进行初始值设定;不装入预设值;运行中不要求更改计数方向;计数器类型为增。) (2)执行HDEF指令,进行高速计数器工作模式的选定设置(计数器为HSC0;模式为0) (3)初始值设定:装载高数记数器初始值为0 (4)执行HSC指令,写入HSC0设置。 LDN    M14.0 
EU MOVB   
16#C8, SMB37 
MOVD   +0, SMD38 
HSC    0 
上述程序注解:当记速值达到要求值时,M14.0复位,高速计数器计数将复位为初始值,以备下次计数使用。
 LDD<   HC0, +10
=      M14.0 
上述程序注解:当计数器值小于10 时,M14.0始终处于置位状态。
 LD     I0.1 
O      Q0.0 
AN     I0.2 
A      M14.0
 =      Q0.0 
上述程序注解:I0.1为设备启动信号;I0.2为设备停止信号。高速计数器累计值达到10 时,设备运行停止
参考链接:
http://www.ad.siemens.com.cn/service/answer/solution.aspx?Q_id=89590&cid=1028
《西门子 S7-200?LOGO!?SITOP 参考》V0.92版(更新版)(2008.02.15)     下载:
 http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=A0136

高速计数器的使用方法,连接:
http://blog.sina.com.cn/s/blog_5d7ca9d90100cesx.html

http://www.plc100.com/siemens/shili/yingyong.htm 


一个高速计数器的例子:
LD     SM0.1
MOVB   16#FC, SMB37
HDEF   0, 9
MOVD   VD100, SMD38
MOVD   16#FFFFFFFF, SMD42
ATCH   长度到达:INT1, 12
ENI
HSC    0
使用时将HSC0的值做相应的计算;比较。


可参考:
http://www.ad.siemens.com.cn/service/answer/solution.asp?Q_id=60718&cid=1028


参考资料:http://www.ad.siemens.com.cn/service/answer/solution.aspx?Q_id=79333&cid=1028

提问者对于答案的评价:
谢谢

专家置评

已阅,最佳答案正确。
也请注意后面的两个答案。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年8月15日
下一篇 2017年8月15日

相关推荐

  • s7-200高速输出控制2

    用向导做的s7-200高速脉冲Q0.0输出控制台达伺服,手动控制伺服,Q0.0有输出,但电机不转,不知原因出在那里,伺服的设置没问题,也不报错。请大家帮忙分析下,谢谢 图片说明: …

    2017年11月4日
  • S7-200 软件帮助问题

    我安装了S7-200的软件后,帮助文件打不开,提示:该主题不存在,请与应用程序供应商联系,以便得到更新的帮助文件。 后来我又安装了windows6.1-KB917607-…

    SIMATIC S7-200 2017年6月9日
  • 224XP手轮编程

    224XP手轮编程224XP没有手轮接口,现在需要接入手轮,根据手轮输入的脉冲,来控制输出脉冲,该如何编程呢?谢谢 最佳答案 参考:http://www.ad.siemens.co…

    SIMATIC S7-200 2020年10月31日
  • 触摸屏显示温度与实际温度误差较大

    触摸屏上显示的温度值与实际的温度值误差较大是什么原因?譬如:屏上显示的温度是250度,而实际温度240度或260度,有将近10度的误差。用的是224xp cpu&nbsp…

    SIMATIC S7-200 2020年11月1日
  • 高位低存

    对高位低存一点不懂  听说不同样的PLC也不一样,高手还请从0指导下一定要有举例   不然我听不懂哦 最佳答案 比如vw0,它包含…

    SIMATIC S7-200 2020年10月31日
  • PLC类型无法显示

    我的笔记本电脑和200PLC通信时,PLC的地址能找到,但类型显示UNKNOW,按确定后,能上传下载。我电脑上没COM口,用的是USB转COM。我用300的编程电缆,USB直接连的…

    SIMATIC S7-200 2020年11月1日
  • STEP 7-MicroWIN SMART软件停止问题

    mwsmart executable已停止工作 出现了一个问题导致程序停止工作 请关闭该程序,按百度上的修复系统也还是一样,重装了好几次都没有效果! …

    2021年7月5日
  • 请教:如何将PID输出的AQW转换成实数

    恒压供水,224 XP通过PID调节控制变频器,如何将PID输出的AQW0转换成实数,来显示当前变频器频率。 问题补充:这个问题的关键不是怎么换算模拟量(这个我会),而是…

    SIMATIC S7-200 2020年10月31日
  • 伺服马达运行两次,且每次所走的长度不一样,请问脉冲数目如何更改啊

    一个自动循环切袋子机器,要求在一个周期里,伺服马达运行两次,且每次运行的长度不一样。请问伺服马达走两次的程序如何写啊?我是这样写的,但是不正确,请帮忙修改;当第一次的长度走完后,在…

    SIMATIC S7-200 2020年11月1日
  • CPU224XP的模拟输入输出问题

    请问大大,我想用西门子CPU224XP的模拟输入输出来控制输出信号该怎么写程序,请指教。谢谢具体就是 通过触摸屏设置一个0-1000的值 PLC 对应…

    SIMATIC S7-200 2021年7月5日