S7

这篇文章我们以一个实际例程来介绍S7-1200高速计数器(HSC)的组态和编程。

假设我们现场需要对流过管路的水的体积进行计量,管路中安装有体积流量计,它以脉冲的形式给PLC发送信号,项目中使用的PLC为1214C/DC/DC/DC。

首先来确定流量计与PLC之间的电气接线。考虑到脉冲的频率不超过100kHz,可以使用1214C的HSC1来测量(HSC的介绍可参考上一篇文章)。下图最左边一栏是HSC1的端子定义:

其中I0.0(DIa.0)是脉冲的输入通道,I0.1是信号方向的通道,I0.3是外部复位信号的通道。由于该信号使用内部输入,不需要方向和外部复位,故I0.1和I0.3可以不连接。传感器的接线示意图如下:

接下来进行硬件配置,在博途V13的项目管理器中,找到项目文件,双击'设备配置(Device configuration)',

在右侧的硬件配置窗口中,选中CPU模块,

在其属性中,点击'高速计数器(High speed counter)'-'HSC1',在其'通用(General)',属性中选中'使能高速计数器(Enable the high speed counter)';这样高速计数器HSC1的功能就激活了;

接下来设置高速计数器的模式和工作方式:

在'计数类型(Type of counting)'中有两种可选:计数(Counting)和频率测量(Frequency),这里选择'计数(Counting)';

在'Operating phase'中选择'单相(Single phase)';

在'计数方向依据(Counting direction is specified by)'中,由于没有外部方向的输入信号,所以选择'用户程序内部控制(User program-internal control)';

在'初始计数方向(Initial counting direction)'中选择'向上计数(Count up)';

接下来设置初始值和复位值:

'Initial counter value'用来设置计数器的初始值;

'Initial reference value'用来设置计数器的最大值,计数到该数值后计数器将会复位;也可以勾选'使用外部输入进行复位(Use external reset value)'进行复位,这样的话需要在I0.3接外部复位信号;

接下来对地址进行配置,可以使用默认的地址:

计数器的数值会保存到输入过程映像区的ID1000中,程序中通过读取ID1000的值就能获取脉冲的数,如果要直接访问计数器的物理地址,可以使用'ID1000:P'。

若此时将配置下载到CPU,高速计数器已经可以工作了。如果你需要在高速计数器复位时触发某个事件,可以在'事件配置(Event Configuration)'中勾选'当计数值等于参考值时触发中断(Generate interrrupt for counter value equals to reference)':

给事件定义一个名称,然后在'硬件中断(Hardware interrpt)'中打开添加硬件中断组织块对话框;

这样当计数器到达复位条件时,就会触发硬件中断,调用该中断组织块,执行其内部的程序。

高速计数器的硬件配置到这里就完成了,下面我们介绍一个指令'CTRL_HSC',使用该指令可以在程序中修改硬件配置中的参数。在博途V13的指令列表中,找到'工艺指令(Technology)'-'计数器(Counting)'-'CTRL_HSC',将该指令拖到程序块中;

该指令需要一个背景DB块,在添加的时候系统会提示。可以使用默认值,也可以自己命名,如下图;

添加完成后,指令在数据块中如下图:

其中参数'HSC'为高速计数器的编号,本例程使用的HSC1,所以写作'w#16#1';

'DIR'是使能外部方向信号,这里使用'False';

'CV'是使能新的计数器初始值,如果有需要,将该参数要设置成'True',然后在'NEW_CV'中输入你想设置的值,比如'L#5'。默认为'False';

'RV'是使能新的计数器参考值,,如果有需要,将该参数设置成'True',然后在'NEW_RV'中输入你想设置的值,比如'L#3000'。默认为'False';

'PERIOD'使能一个新的计数周期;

'BUSY'和'STATUS'为输出值,表示系统是否繁忙及当前的状态。

好了,关于S7-1200高速计数器的组态和编程我们就介绍到这里了。如果你对高速计数器的工作原理及硬件配置不清楚,可以参考上一篇文章:S7-1200硬件篇之高速计数器(HSC)。

(0)

相关推荐

  • 高速计数器应用——计数方向控制SM37.3是0一定是减计数吗

    今天来探讨控制字节SMB37 200 Smart PLC 在应用高速计数器时,如果计数器是HSC0,首先是正确设置控制字节SMB37,计数器才能正确工作,因此在计数工作方式改变时,都要重新设置控制字节 ...

  • 高级工程师的项目:高速计数器使用案例,含程序

    关于启程启程自动化成立于2012年,培训项目主打西门子PLC编程系统集成.工业机器人编程.EPLAN电气设计.视觉等培训与技术服务的机构.推荐高薪就业,越努力越幸运假设在旋转机械上有单相增量编码器作为 ...

  • 没有外部复位的清零方法

    对于200 Smart,如高速计数器HSC0,工作模式如选用0,没有外部复位,则高速计数器的当前计数值HC0,是不能用传送指令MOVE把0传送给HC0的,必须重新设置控制字节SMB37.改初始值SMD ...

  • S7-200SMART PLC断电后如何保持高速计数器当前值及常见问题解答

    S7-200 SMART PLC的断电数据保持不支持高速计数器的范围设置,因此高速计数器的当前值在CPU每次断电后都会复位为数值0,要使S7-200 SMART PLC高速计数器的当前值在CPU断电重 ...

  • 《三国志战略版》内参77 S7第一版,让我们瞅瞅sp诸葛亮和sp周瑜

    镇楼的继续小乔~ ----配将矩阵<九阴真经>的设计原理---- 嗯..我尽可能说明白... 如果你要设计一个12变量对12变量的矩阵(双方合计3个血量 9个技能),进行8次变化(8回合) ...

  • 【阵容推荐】从S1活跃到S7的传家宝队伍(12)——各种类型桃园评价

    桃园可以说是各种三国游戏中经久不衰的组合之一,三战中这哥仨也是战场常客,还没开PK赛季的时候刘张开荒转桃园就是公认打地最平稳,毛地最快的开荒阵容之一.在之前魏法骑强势的版本中,由于和魏法骑对打毫无招架 ...

  • 西门子PLC编程入门:S7

    SIMATIC S7-1200紧湊型控制器是一款节省空间的模块化控制器,适合要求简单或高级逻辑.HMI和网络功能的小型自动化系统.S7-1200设计紧凑.成本低廉且功能强大,是控制小型应用的完美解决方 ...

  • 西门子s7

    西门子s7-200 pc-access使用心得 要找到pc-access的安装目录,一般为C:\Program Files\Siemens\S7-200 PC Access\bin,双击其中的sopc ...

  • 西门子S7以太网通讯处理器编程调试方法

    产品简介:北京华科远创科技有限研发的远创智控ETH-YC模块转以太网,型号有MPI-ETH-YC01和PPI-ETH-YC01,适用于西门子S7-200/S7-300/S7-400.SMART S7- ...

  • 王者荣耀:2削弱2增强,婉儿大招下调秒人难,他增强后梦回S7

    曼姐出品,必属优品.大家好,我是人见人爱的小曼姐.每次王者荣耀更新,都会对体验服进行先行测试,这次也不例外.在对英雄的测试调整中,体验服总是第一时间做出调整.毕竟体验服是王者荣耀更新最快的服务器了.而 ...

  • applewatch S7怎么连接手机

    applewatchS7这款苹果智能手表非常受网友喜欢,并且功能非常齐全,其中applewatch S7怎么连接手机,下面就为大家分享applewatchS7进行蓝牙配对方法,有需要的可以来了解. 1 ...

  • 西门子S7-1500 和 S7-1500 之间 S7 通信

    关于启程 启程自动化成立于2012年,培训项目主打西门子PLC编程系统集成.工业机器人编程.EPLAN电气设计.视觉等培训与技术服务的机构.官网:www.qichengplc.com S7-1500 ...

  • 三星s7有分屏功能吗? 手机知道

    楼主你好,这款手机是有分屏功能的,下面请看. 1)首先我们先长按手机屏幕左下角的[最近键],打开分屏功能后点击第一个应用. 2)然后再选择第二个应用,打开两个程序后点击中间的小白点可进行更多操作. 3 ...

  • 澳大利亚一部三星Galaxy S7爆炸,妈妈庆幸当时儿子没玩手机

    澳大利亚一位年轻的妈妈经历了三星Galaxy S7手机爆炸,庆幸当时自己一岁的儿子并没有玩手机.据这位名叫巴维克的女士讲,周三下午,她的Galaxy S7手机在手中突然开始冒烟.她马上把手机扔到了院子 ...