(博途)S7-300PLC传送带工件计数控制程序设计
关注“PLC发烧友 ”,一起涨知识!
传送带想必在工控界并不陌生,商场的自动扶梯,机场的自动人行道,码头上自动装卸货传送带,工厂生产流水线,农业机械中(联合收割机、插秧机)都有应用,传送带上传送的物品肯定是要得知它传送了多少物品,那么如何得知呢?我们可以采用PLC计数器指令来实现,下面就带大家来完成传送带工件计数控制程序的设计。
01控制要求
传送带输送40个工件,用光电传感器计数,当计件数量小于35时指示灯常亮,当计件数量等于或大于35时指示灯闪烁,当计件数量为40时,10S后传送带停止,同时指示灯熄灭。
02 IO分配表
03组态配置
第一步: (点击添加新设备,选择CPU 315-2 DP版本号根据实际版本来设定,点击确认)
第二步: (项目树—PLC变量创建一下变量地址)
04编写程序
第一步: (传送带电机的启动与停止控制)
第二步: (工件计数及比较)
05演示运行
第一步: (启动,在程序段1中, 当按下启动按钮M3.0,M3.0常开触点接通,Q124.0线圈通电自锁,传送带电机启动运行)
第二步: (工件计数,在程序段2中,当传送带电机运行时,Q124.0常开触点接通,工件每次经过光电传感器时,光电开关接通1次,M3.3常开触点闭合1次,C0的当前值MW100加一,MW100<35时,Q124.1线圈一直通电, 指示灯常亮,MW100≥35时,指示灯每秒闪烁1次, MW100≥40时,定时器TO延时10s。 延时10S时间到,计数器C0复位,程序段1中TO常闭断开,传送带电机停止。)
来源:PLC发烧友,作者:技成-徐陈爽,未经授权请勿转载!评论处大家可以补充文章解释不对或欠缺的部分,这样下一个看到的人会学到更多,你知道的正是大家需要的。。。回复:”西门子全套 ”资料,可领含手册、案例、软件等资料包,不要忘记领取哦~
第3章 PLC编程中的计数器全面解析
计数器是常用和通用的功能之一。
3.1 计数器指令
如图3.1所示,a为加计数器指令,b为减计数器指令,c为加减计数器指令。
图3.1 计数器指令
3.1.1 加计数器
如图3.2所示,程序段1为加计数器的简单应用。
a为计数器的背景DB空间;用于存放计数器使用的一些变量信息等。
b为计数器开始计数的条件引脚CU;
c为计数器的复位引脚R;用于将计数器清零
d为计数器的目标值引脚PV;加计数器要达到的数值
f为计数器的当前值引脚CV;
e为计数器的输出引脚Q,当计数器的当前值大于等于设定值时,该引脚输出信号。
g为计数器输出时接通的信号,本段程序中使用的是DB201.DBX0.2。
图3.2 加计数
大致工作原理
当DB201.DBX0.0接通时,计数器C[21]开始计数,CU引脚每接通一次,计数器数值加一。一直加到CV值等于PV值时,DB201.DBX0.2接通。
当DB201.DBX0.0还继续重复接通时,计数器C[21]不超过限值的话就会一直计数,CV值会增加。
当改变PV值时,依然满足CV值大于等于PV值时,计数器的Q引脚才会输出。
当DB201.DBX0.1接通时,计数器C[21]清零。
计数器背景空间
a处可以是调用指令后,自动生成的DB块,也可以是自己在某一DB块建立的数据类型为IEC_COUNTER的数据类型。如图3.3所示我们建立了一个C数组,数量为1000个,编号从0-999,数据类型都是计数器的数据类型IEC_COUNTER,这样以后再使用计数器的时候都可以选择使用,没有用过的计数器变量,用于当做某一计数器的背景块。
图3.3 计数器数组
计数器清零
如图3.2所示,当计数器的R引脚接通时,计数器就会被复位,计数器的当前值就会为0,本案例中使用的地址为DB201.DBX0.1。
计数器清零还有另外一种方法就是直接令计数器的当前值CV=0,如图3.4所示,当M220.0接通时,将0赋值给DB11.DBW130,这样该计数器的CV值就变成了0,该计数器是咱们上边用到的计数器。需要给哪个计数器清零,就把它的计数器的CV值给0就可以了。这种方法与引脚R接通复位效果是一样的。
图3.4 计数器数组
3.1.2 减计数器
如图3.5所示,程序段3为减计数器的简单应用。
a为计数器的背景DB空间;用于存放计数器使用的一些变量信息等。
b为计数器开始计数的条件引脚CD;
c为计数器的装载引脚LD;接通时将PV值重新装载到计数器
d为计数器的目标值引脚PV;减计数器用于装载的数值
f为计数器的当前值引脚CV;
e为计数器的输出引脚Q,当计数器的当前值小于等于0时,该引脚输出信号。
g为计数器输出时接通的信号,本段程序中使用的是DB201.DBX6.2。
图3.5 减计数
大致工作原理
当DB201.DBX6.0接通时,计数器C[22]开始计数,CD引脚每接通一次,计数器数值减一。一直加到CV值等于0时,DB201.DBX0.2接通。
当DB201.DBX6.0还继续重复接通时,计数器C[22]不超过限值的话就会一直计数,CV值会减少。
当CV小于等于0时,计数器的Q引脚才会输出。
当DB201.DBX6.1接通时,计数器C[22]装载PV值。
3.1.3 加减计数器
如图3.6所示为加减计数器的简单应用。加减计数器是将加计数器和减计数器集合在了一起,对应的功能引脚功能如下,具体用法参照加计数和减计数的单独使用的方法即可。
a为计数器的背景DB空间;用于存放计数器使用的一些变量信息等。
b为计数器开始加计数的条件引脚CU;接通时开始加
c为计数器开始减计数的条件引脚CD;接通时开始减
d为计数器的复位引脚R;用于将计数器清零
e为计数器的装载引脚LD;接通时将PV值重新装载到计数器
f为计数器的目标值引脚PV;减计数器用于装载的数值
g为计数器的输出引脚QU,当计数器的当前值大于等于设定值时,该引脚输出信号。
h为计数器的输出引脚QD,当计数器的当前值小于等于0时,该引脚输出信号。
i为计数器的当前值引脚CV;
k为计数器QU引脚输出时接通的信号,本段程序中使用的是DB201.DBX12.4。
同一计数器具备了加和减的两种功能,加减相对独立,各自实现各自的功能,总体数值体现在一个计数器上。
图3.6 加减计数
3.2 计数器做定时器使用
有时候需要用到通过计数器做定时器的程序。如图3.7所示,做的是一个定时器。当(开始计时条件M220.1)接通时,通过1秒的脉冲时钟,每过1秒,计数器C[24]就会加1,这样C[24]就变成了秒级别的定时器,定时器的时间存放在DB201.DBW4中。
当(开始计时条件M220.1)断开时,计数器停止计数。M220.1的常闭触点接通,通过R引脚复位计数器,达到给定时器清零的目的。
图3.7 加减计数
3.3 问题思考
如果计数条件是一个信号,一个信号的通断能正常反应通断问题。如果计数条件如图3.8所示,我们应该做成置复位的形式。当满足计数条件时,置位计数条件信号,不需要计数时,复位该信号就行了。如果不采用置复位的话,当M30.0,M30.1,M30.2和M30.3中,有任何一个信号出现晃动,或者短时间内多次接通的情况,就会导致虚假计数的发生。因此在实际编程过程中,计数原来很简单,但是做好计数就不简单了!需要甄别选用哪些信号作为实用,如何过滤晃动信号,又该何时复位计数条件等。
图3.8计数条件案例
1、加计数最大能加到多少?为什么?如果想加到更大,如何操作?
2、减计数时,能产生负数吗?如果不想让减计数产生负数,怎么操作呢?
3、减计数能直接装载一个负数吗?如果在计数向负数的方向越变越小,那么减计数的线圈输出使用该怎么办呢?
4、加减计数同时用的时候,如果加计数和减计数同时发生了,怎么办?编程时是否需要把加减计数接通的条件完善一下,不让加减计数条件同时接通。
还在犹豫什么,抓紧时间实操一下吧,或者仿真操作也可以的!
喜欢的请收藏和转发!希望能帮到更多的朋友!
相关问答
plc怎么设置计数程序?
在PLC中设置计数程序需要编写相应的程序代码,下面介绍一般的设置计数程序的步骤。1.确定计数器类型。PLC中有多种计数器类型可供选择,如循环计数器、总计数...
plc如何做到批量计数?
首先在做程序前要规划好I/O已及内部中继,数据寄存器这是做批量控制的前题。第二要全用PLC的数据处理指令,逻辑门指令,还有FOR循环指令,这两类是做批量处理...
三菱plc旋转编码器怎么编程计数?
在三菱PLC中编程计数旋转编码器,您可以按照以下步骤进行操作:1.首先,确保您的PLC和旋转编码器已正确连线,并已连接到PLC的输入模块。2.在PLC编程软件(如GX...
三菱PLC怎样实现产品计数?
程序最好还是自己写的,我跟你说下我的思路吧。三菱的我没用过,西门子的是这样用的,首先,你把编码器接入到PLC上,然后在程序里面用个高速计数器计数,一般在...
如何用PLC对绝对值编码器计数?
绝对值编码器不用PLC计数的,编码器能够自己计数的PLC需要的只是把编码器计完数的数值读出来。要看编码器和PLC怎么连接,使用什么接口,最简单的是模拟量接口,4...
三菱PLC计数器计数的数字怎么用二进制(4输出)表示三菱Plc,...
[最佳回答]编了个三菱FX2N程序,用MOV传送指令编的,X0为计数脉冲输入,X1为计数器复位。Y0~Y3为二进制数输出。程序已经通过仿真运行。编了个三菱FX2N程序,用MO...
plc一相两计数怎么实现?
要实现PLC一相两计数,可以使用PLC的计数器功能来实现。以下是一种可能的实现方法:1.首先,确保PLC具有足够的计数器功能。大多数PLC都提供了多个计数器功能,...
三菱FX1S系列PLC记数指令程序如何编写?
应用指令:FNC21LDX000-----FNC21—D10-D12-D14当取X0时D10减去D12的差存贮在D14应用指令:FNC21LDX000-----FNC21—D10-D1...
PLC高速计数AB相计数是怎么计数的呢?
PLC高速计数AB相计数是指编码器输出两路计数信号(A.B),它们在相位上相差90°,PLC可以根据两者的相位,判断编码器的转向进行所要执行的控制。PLC高速计数AB...
松下plc计数器指令怎么输入?
符号是C.列如C100,计数器跟定时器是共享寄存器的,根据设定可以改变它们的数量,而却松下每种机型里的数量也不一致,根据你的机型来选择合适的计数器就可以了...