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日

相关推荐

  • USS modbus master 9600 8 N 2问题

    MBUS_CTRL块没有地方添停止位,请问如何设置modbus 9600 8 N 2? 专家建议 招财牛,你好,由于西门子S7-200的自由…

    SIMATIC S7-200 2021年7月4日
  • 三菱MILSEC FX2N-48ER和S7-200如何能通讯?

    现有三菱MILSEC FX2N-48ER想和S7-200进行通讯,如何实现? 问题补充:能给提供一段他们通讯的简单例程吗? 最佳答案 1、FX2N控制器增加FX2N-48…

    SIMATIC S7-200 2020年10月31日
  • s7-200 simulator v2.0的使用

    我用STEP7 MICRO WIN V4.0编写程序编译保存后,打开s7-200 simulator v2.0,选择"文…

    SIMATIC S7-200 2021年7月5日
  • S7-200 自由口控制问题

    现有一个扫码设备,自由口基础参数已经设置完成,想用刷条形码的次数来计数,不知道怎么实现;第二个问题,SMB94可以确定接收的最大字符数,扫码的信息都存储在缓存区里,我想更改缓存区里…

    SIMATIC S7-200 2021年7月5日
  • s7-200 I/O中断故障

    新手刚开始使用中断处理程序,用I0.0上升沿为条件,触发编号为0的中断事件,中断连接指令在主程序,中断条件返回指令在INT_0程序中,外部输入I0.0上升沿信号,触发中断事件,中断…

    2017年10月24日
  • 8路模拟量EM231输入问题

    请问下,我8路模拟量输入,拨码为11110,6通道输入AIW14,外部4-20MA输入为4-10MA时怎么AIW14才显示0-2400呢。有人叫我用模拟量输出试试模拟量输入是否坏的…

    SIMATIC S7-200 2017年11月19日
  • EM 235功率消耗问题

    EM 235 AI4/AQ1 x 12位  6ES7 235-0KD21-0XA0  +5…

    SIMATIC S7-200 2021年7月5日
  • PPI通讯的最大距离

    两台S7200 PLC,用PPI做通讯,最远的可靠距离是多少? 最佳答案 手册上说直接连接的话50米,但如果你稍微超点,还是没问题的,因为官方都有余量的,如果超的很多,就…

    SIMATIC S7-200 2020年10月31日
  • SIMATIC NET建立和PLC的通讯之后,服务器里列表下没有值。

    SIMATIC NET建立和PLC的通讯之后,服务器里列表下没有值,也就看不到各个数据的ID,那我怎么获得PLC里的数据呢?通讯是没问题,已经验证过了,建立成功了。 问题…

    2021年7月5日
  • s7-200程序执行时间

    请教:本人对CPU226编了个程序,对一个模拟量4-20mA采集后再判断然后再进行模拟量4-20mA输出,CPU226作为modbus主站读2个设备中的几个模拟量数值,还有一些功能…

    SIMATIC S7-200 2021年7月5日