三菱PLC的高速计数器怎么用

三菱PLC的高速计数器怎么用,第1张

高速计数器(C235-C255)用通过中断的方式对外部输入的高速脉冲信号的下降沿进行计数,高速计数器置位指令HSCS,功能号是FNC53,其功能是,当高速计数器的当前值S1达到设定值S2时,将D指定的输出点用中断的方式立即置位。
m8000
S1
S2
D
-||-------[HSCS
c235
k1000
Y10]
C235的设定值是1000,(S2=1000)如果当前值由999变为1000或者由1001变为1000时,Y10立即被置1。
每个高速计数器的输入点都是固定的,c235输入点是x0,c236是x1,依此类推。

永宏plc计数器指令编写程序如下。
1、每次向上计数输入CU从关闭向打开转换时,向上计数(CTU)指令从当前值向上计数。当前值(Cxxx)大于或等于预设值(PV)时,计数器位(Cxxx)打开。
2、复原(R)输入打开或执行"复原"指令时,计数器被复原。达到最大值(32,767)时,计数器停止计数。
3、每次向下计数输入光盘从关闭向打开转换时,向下计数(CTD)指令从当前值向下计数。
4、当前值Cxxx等于0时,计数器位(Cxxx)打开。载入输入(LD)打开时,计数器复原计数器位(Cxxx)并用预设值(PV)载入当前值。达到零时,向下计数器停止计数,计数器位Cxxx打开。
5、计数器范围:Cxxx=C0至C255在STL中,CTD载入输入是堆栈顶值,而向下计数输入是装载在第二个堆栈位置的数值。每次向上计数输入CU从关闭向打开转换时,向上/向下计时(CTUD)指令向上计数,每次向下计数输入光盘从关闭向打开转换时,向下计数。
6、计数器的当前值Cxx保持当前计数。每次执行计数器指令时,预设值PV与当前值进行比较。达到最大值(32,767),位于向上计数输入位置的下一个上升沿使当前值返转为最小值(-32,768)。

计数器:

示例:一个盒子里放50瓶水,每出一瓶水传感器记一次数,LED上显示剩余数量。

首先,上电将D0赋值50,然后每出一瓶水传感器X0将D0自减一,将D0/10,取得商D1(也就是十位)和余数D2(也就是个位);

然后,用SEGD指令分别将D1和D2译码输出即可。

  这个截图是模拟运行的结果,模拟运行不支持SEGD指令的模拟,所以K2Y0和K2Y10都是0;如果把程序下载到PLC中联机运行监视,K2Y0和K2Y10就不是0了。

比较器:

示例:设备S7-200CPU224旋转编码器Autonics(E50S8-3-T-24),编码器每转脉冲数为250,三相A、B、Z测速辊直径100mm。

要求:编码器连接测速辊,目的要计算测速辊的周长每分钟走过多少米。

编码器每转一圈,发出250的脉冲,测速辊直径为100mm,其周长为314mm,则每两相邻脉冲距离=314/250=1256mm。

如果测速辊旋转速度低于200Hz,可用普通输入口计数,否则就得用高速计数器计数,其编程是这样的:用计数脉冲的后沿,触发一内部位开关(如M30)使其置1,M30的常开点接定时为1分的定时器T0,同时使MB9与MW10清0,用M30与计数脉冲串联的后沿,使MB9加1,用比较器使MB9值与250比较,当MB9=250时,MW10加314值,同时MB9清0,当定时器延时1分到时,T0触点闭合,使M30=0,计数停,用MB9的值乘以1256,再将其积加入MW10中,此时MW10的值即为测速辊每分走过的距离。

下图即为测速梯形图:

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

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

子例行程序及注解:
第一条为设定高数计数器参数:16#E8=11101000。含义是:启用计数器;可更新当前值即SMD38;允许更新设定值即SMD42;不更改计数方向。
LD SM01
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 SM00
R Q00, 1 中断执行,Q00失电料滚停转
MOVB 16#E8, SMB37 重新设置高数计数器控制参数SMB37
MOVD 0, SMD38 清空高数计数器当前值SMD38。
HSC 0 执行高数计数器指令HSC0。
S Q01, 1 中断执行,压板控制得电工作开始。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13255569.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-27
下一篇 2023-06-27

发表评论

登录后才能评论

评论列表(0条)

保存