西门子PLC高速计数器怎样使用?

来自:    更新日期:早些时候
求助西门子PLC高速计数器指令的使用~

高速计数器初始化后,只要接好线,不再需要其他指令,输入口的状态变化就自动被高速计数器捕获。双字HCx就是对应高速计数器的当前值。

西门子的计数器是通过比较计数器的值来进行触发的。
(1)单路脉冲输入的内部方向控制加/减计数。即只有一个脉冲输入端,通过高速计数器的控制字节的第3位来控制作加计数或者减计数。该位=1,加计数;该位=0,减计数。如图1所示内部方向控制的单路加/减计数 。
(2)单路脉冲输入的外部方向控制加/减计数。即有一个脉冲输入端,有一个方向控制端,方向输入信号等于1时,加计数;方向输入信号等于0时,减计数。如图2所示外部方向控制的单路加/减计数。

扩展资料:
将S7-200的高速计数器的计数设置为:连续计数方式,且计满自动从0计数。输入的计数脉冲的频率=1KHz,这样高速计数器每计1个数的时间=1mS。
用被监测的信号的前沿读取高速计数器的计数值HC0 减去VD0,其差送入VD4,再将HC0值送入VD0。
用VD4(差值)与数“300”比较。
如VD4 300,即信号间隔大于300mS,使Q0.0=1,即报警输出。
参考资料来源:百度百科 ——s7-300

西门子S7-200PLC高速计数器的使用方法(一)
本程序皆经过本人上机测试正常后发出;本意是能让PLC初学者迅速掌握西门子S7-200PLC高速计数器的基本使用方法,所以程序尽量加以简化,以便大家学习;同时也希望能起到抛砖引玉的效果,多得到PLC高人的指点,使自己有更多的领悟,结识更多的朋友、导师。
程序通过先设定计数器的值,本例中设定值为13;按设备启动按钮I0.1启动设备,运行后通过信号输入点I0.0进行计数,当计数当前值等于设定值13时,输出点断开,设备运行停止。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, +13
= M14.0
上述程序注解:当计数器值小于13 时,M14.0始终处于置位状态。
LD I0.1
O Q0.0
AN I0.2
A M14.0
= Q0.0
上述程序注解:I0.1为设备启动信号;I0.1为设备停止信号。高速计数器累计值达到13 时,设备运行停止。
西门子S7-200PLC高速计数器的使用方法(二)
本例程序设计的背景:(中断单点控制)
程序是通过一个板材自动定长剪切设备工作程序简单设计进行高数计数器和中断指令的使用。
工作要求为:启动设备,料滚电机工作带动板材进行送料,同时由计数器记录长度脉冲信号,当达到脉 冲预设值时,即板材设定长度时,中断指令发信号,停止料滚电机工作,执行压料、裁 剪,裁剪完成后,压料阀和料剪同时复位,料滚电机工作,进行下一次裁剪,周而复始。
程序拓展:可根据实际需要设计成钢板的定长裁剪;或流量的控制。
通过本程序学习,可加深高数计数器指令和中断指令的使用了解。I0.0为计数脉冲输入点。

主程序:
Network 1 // 开机调用子程序,进行高数记速器的参数设定
LD SM0.0
CALL SBR0
Network 2 // 送料电机启动控制
LD I1.1
O T39
S Q0.0, 1
Network 3 // 送料电机停止控制
LD I1.0
R Q0.0, 3
Network 4 // 压紧时间设置
LD Q0.1
TON T37, 15
Network 5
LD T37
S Q0.2, 1
Network 6 // 剪裁时间设置
LD Q0.2
TON T38, 10
Network 7 // 压板、裁刀复位时间设定
LD T38
LD M0.0
AN T39
OLD
R Q0.1, 1
TON T39, 20
= M0.0
R Q0.2, 1
Network 8 // 程序调试计数器运行检测;实际中可删除。
LD SM0.0
MOVD HC0, VD30

子例行程序及注解:
第一条为设定高数计数器参数:16#E8=11101000。含义是:启用计数器;可更新当前值即SMD38;允许更新设定值即SMD42;不更改计数方向。
LD SM0.1
MOVB 16#E8, SMB37 设定高数计数器参数;
MOVD +0, SMD38 设定当前值SMD38=0
MOVD +20, SMD42 设定预装值SMD42=20;
HDEF 0, 0 选用0#记速器连接12号中断事件
ATCH INT0, 12
ENI 开中断;
HSC 0 开启0#计速器

中断例行程序注解:

LD SM0.0
R Q0.0, 1 中断执行,Q0.0失电料滚停转
MOVB 16#E8, SMB37 重新设置高数计数器控制参数SMB37
MOVD 0, SMD38 清空高数计数器当前值SMD38。
HSC 0 执行高数计数器指令HSC0。
S Q0.1, 1 中断执行,压板控制得电工作开始。

到西门子网站上下载本s7-200的说明书,还有那本实例书也不错都可以下载的到。




西门子PLC高速计数器怎样使用?视频

相关评论:
  • 15213697575S7200 plc中怎样利用高速计数器来计算距离?
    弓琦宇首先得有编码器,然后计算编码器一圈,物料走多远,也就是算出来编码器1个脉冲,物料行走多少距离,根据你设定的6米,除以这个距离,就算出来多少个脉冲了,然后高速计数自计数开始比较,到了算出来的脉冲值就停就可以了~

  • 15213697575西门子 S7-200 高速计数器清零程序怎么编写
    弓琦宇其I0.0输入端为时钟输入,I0.2即为复位控制端,PLC运行时,如I0.2=0,I0.0有高速脉冲信号输入,高速计数器就进行计数,如使I0.2置1,高速计数器被复位且停止计数,此时计数值被清0,当再使I0.2置0时,计数器复位结束,且从0开始计数。你就可以利用控制I0.2,来将计数器清0。

  • 152136975751200西门子高速计数器怎么测量电机正反转
    弓琦宇你可以参考一下这个。AB相是存在相位差的,通过是A超前B还是滞后,用来确定编码器是正转还是反转。这是三菱的 ,原理是一样的,你改成西门子就行

  • 15213697575西门子PLCS7-200的程序高速计数器指令怎么用?
    弓琦宇你进行了高数计数器清零就是你调用了清零程序

  • 15213697575老师你好,我想请教你西门子plc200的高速计数器在编程过程中那个预设值在...
    弓琦宇可以更改的,建一个子程序用来更改预设值就可以 以HSC0为例,他的控制字定义如下:SM37.0 0=复位高电平 1=复位低电平 SM37.1 0 SM37.2 0=4X计数速率 1=1X计数速率 SM37.3 0=减计数 1=增计数 SM37.4 0=计数方向无更新 1=计数方向更新 SM37.5 0=预设值无更新 1=预设值更新 SM37...

  • 15213697575西门子S7-200 PLC中 高速计数器HSC0选择模式9,用什么方法可以复位HC0的...
    弓琦宇方法一:可以定义SMB37用16进制和2进制均可,然后0写到SMB38中,前面加一个开关触发点做复位用既可以把0赋值到目标。方法二:用一个指令复位SMB34中断周期,及把中断周期变0即可,因为中断周期没有了,在下一个计数周期里没有时间计数。

  • 15213697575西门子plc高速计数器问题
    弓琦宇S7-200还是1200的?Q0.0你让他自锁不就行了,再加个时间定时器,时间到了后先复位HSC,再用个常闭切断Q0.0的自锁。用Q0.0触发内部计数器,记住是普通的,不需要HSC,而后move值进去就行了。

  • 15213697575plc两相双向计数器c250怎么用?我这启动程序不计数,求教
    弓琦宇使用高速计数器编程方法与普通计数器不同。下面是高速计数器C250的用法,请仔细研究。注意:加计数输入端X3,减计数输入端X4,计数复位端X5,计数启动端X7.都不应该在程序中出现。M8250为加或减计数控制。

  • 15213697575求大神!西门子200plc高速计数器如何更改预置值
    弓琦宇回答:在中断中更改SMD42,再执行HSC指令就可以了。

  • 15213697575西门子 PLC 高速计数器
    弓琦宇单相计数模式,是增还是减是由计数方向决定的,=1增计数,=0减计数。内部方向控制和外部方向控制的区别就是:内部方向控制是由SM寄存器定义,而外部方向控制是由开关量输入点定义,见下图,举例HSC0为模式3,则I0.1作为其方向控制位。

  • 相关主题精彩

    版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

    Copyright © 喜物网