解码模块为JC-11:工业增量式码盘 解码模块,接口简单,易于使用。

应用Step7-MicroWIN编程软件,为S7-200PLC设计本编码盘的应用程序。由于编码盘输出的脉冲信号频率较高,故需应用到S7-200 PLC高速计数器功能。如下图所示,为Step7-MicroWIN的向导功能区,设计者可通过其中的“高速计数器向导”进行本程序的设计。

 

Figure 1  Step7-MicroWIN向导

双击“高速计数器”选项,进入如下图所示的“HSC指令向导”页面。其中,可对计数器与模式进行设置;由于本编码盘输出为脉冲信号与方向信号,可在模式选项栏中选择模式3,即“带外部方向控制的单相增/减计数器;无启动输入;无复位输入。”模式。至于选择哪个计数器,则与PLC的IO端口和分配有关;本例中选择HC4,所使用的输入端口为:I0.3—时钟脉冲信号,I0.4—方向信号。

注:并非所有计数器都支持模式3,设计者需参考S7-200的相关说明文件

 

Figure2  HSC指令向导_1

单击“下一步”按钮,进入如下所示页面。此处,可对子程序名称、计数器预置值、计数器当前值等进行设置。本例中,均按默认设置,设计者可根据程序需要进行更改

 

Figure3    HSC指令向导_2

单击“下一步”按钮,进入如下所示页面。此处,可对本程序的相关中断条件进行设置;本例中,依旧选择默认。

 

Figure4  HSC指令向导_3

单击“下一步”按钮,进入如下所示页面。该页面显示了依据上述设置,向导所增加的相关子程序或中断程序。

 

Figure5  HSC指令向导_4

单击“完成”按钮并确定完成向导,系统将添加如下所示的子程序。

HSC_INIT子程序:

Figure6  HSC_INIT子程序

而后,设计者只需在主程序中,应用SM0.1只在首期扫描周期为1的特征,进行高速计数器的初始化。

 

主程序:

 

Figure7  主程序

如此,本程序的相关内容即书写完毕,而当前的脉冲数量存储在SMD148中。对于不同的高速计数器,其存储位置不同,设计者可参照S7-200说明文件进行修改。

硬件电路:

 

基于S7-200的PLC对里程轮(增量式码盘)解码的应用的更多相关文章

  1. 陕西中际现代:基于自适应算法的PLC滴灌控制系统

    基于自适应算法的PLC滴灌控制系统 陕西中际现代包装科技有限公司滴灌部 1.介绍 水资源正在成为一种珍贵的资源.城镇的市民使用成千上万立方的水来浇灌花园和绿地.他们依赖于使用固定灌溉计划的控制器.而这 ...

  2. 基于Socket访问西门子PLC系列教程(二)

    本文是西门子开放式TCP通信的第2篇,上一篇我们讲了使用西门子1200PLC作为TCP服务器的程序编写,可以点击下方链接阅读:[公众号dotNet工控上位机:thinger_swj] 基于Socket ...

  3. 最简单的基于FFmpeg的移动端例子:IOS 视频转码器

    ===================================================== 最简单的基于FFmpeg的移动端例子系列文章列表: 最简单的基于FFmpeg的移动端例子:A ...

  4. 基于Zlib算法的流压缩、字符串压缩源码

    原文:基于Zlib算法的流压缩.字符串压缩源码 Zlib.net官方源码demo中提供了压缩文件的源码算法.处于项目研发的需要,我需要对内存流进行压缩,由于zlib.net并无相关文字帮助只能自己看源 ...

  5. 最简单的基于FFmpeg的内存读写的例子:内存转码器

    ===================================================== 最简单的基于FFmpeg的内存读写的例子系列文章列表: 最简单的基于FFmpeg的内存读写的 ...

  6. 基于Docker的TensorFlow机器学习框架搭建和实例源码解读

    概述:基于Docker的TensorFlow机器学习框架搭建和实例源码解读,TensorFlow作为最火热的机器学习框架之一,Docker是的容器,可以很好的结合起来,为机器学习或者科研人员提供便捷的 ...

  7. 基于Ubuntu 14.04 LTS编译Android4.4.2源码

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/gobitan/article/details/24367439 基于Ubuntu 14.04 LTS ...

  8. StreamDM:基于Spark Streaming、支持在线学习的流式分析算法引擎

    StreamDM:基于Spark Streaming.支持在线学习的流式分析算法引擎 streamDM:Data Mining for Spark Streaming,华为诺亚方舟实验室开源了业界第一 ...

  9. 基于Scrapy框架的增量式爬虫

    概述 概念:监测 核心技术:去重 基于 redis 的一个去重 适合使用增量式的网站: 基于深度爬取的 对爬取过的页面url进行一个记录(记录表) 基于非深度爬取的 记录表:爬取过的数据对应的数据指纹 ...

随机推荐

  1. Java线程池的工作原理与实现

    简单介绍 创建线程有两种方式:继承Thread或实现Runnable.Thread实现了Runnable接口,提供了一个空的run()方法,所以不论是继承Thread还是实现Runnable,都要有自 ...

  2. innodb master主线程

    http://wenku.baidu.com/link?url=MhY9yhHTgeOlyooWDvaVfPkW3cuVSX_rIZv2QtCu7GLeEuqSfYh_M7Yvl1N4IY08a3ws ...

  3. NK 1137: 石子合并问题

     1137: 石子合并问题 Time Limit: 1500 ms    Memory Limit: 10000 kB    Judge type: Multi-cases Total Submit ...

  4. shell编程——if语句 if -z -n -f -eq -ne -lt

    if  条件then Commandelse Commandfi                              别忘了这个结尾 If语句忘了结尾fitest.sh: line 14: sy ...

  5. CSS中的块级元素与行级元素

    最近初学CSS时对块级元素与行级元素有时会产生混淆,写篇博客记录一下自己对其的理解. 先从概念上来看: 块级元素 特点:1.每个块级元素都是独自占一行,其后的元素也只能另起一行,并不能两个元素共用一行 ...

  6. UVAlive3662 Another Minimum Spanning Tree 莫队算法

    就是莫队的模板题 /* Memory: 0 KB Time: 1663 MS Language: C++11 4.8.2 Result: Accepted */ #include<cstdio& ...

  7. Spark 0.9的安装配置

    一.上传scala2.10.3到linux 下载scala 2.10.3文件.网上的scala-2.10.3.tgz.scala-2.10.3.rpm,前者支持unix,后者专门给linux使用.但我 ...

  8. input file里的JQ change() 事件的只生效一次

    文件选择框的onchange事件只在第一次改变时生效,以后再选择文件不会触发onchange事件. 解决方法1:用jQuery的live代替直接使用change. 错误代码: $("#Upl ...

  9. 关于图像读取函数imread()的一点使用经验,注意默认参数的赋值

    读入数字图像到数组,用CNN进行训练,发现关于图像读取的一个问题. 问题描述:读取灰度数字图像,在验证时发现存在错误,从图像到数组中的值不完全一样? main code as follows: int ...

  10. JSP学习笔记2

    <JAVA遇见HTML——JSP篇>学习笔记(下) 1.Javabean Javabeans就是符合某种规范的java类,使用Javabeans的好处是[解决代码的重复编写],减少代码冗余 ...