技术论坛

 200smart PLC的另一种响应测试

返回主题列表
作者 主题
WWCWWC
至圣

经验值: 71500
发帖数: 7980
精华帖: 145
楼主    2020-09-02 09:26:15
主题:200smart PLC的另一种响应测试 精华帖 

200smart PLC的另一种响应测试

   今天快下班时,看到有这样一个帖子。说有一个高速计数器的组态,组态一个2000线的编码器在一个速度下运行,其旋转一周的时间为100mS,在旋转一周过程中还需要有20个输出响应的条件要求。我在做200系列PLC中没有做过类似的程序,吃过晚饭有做一下验证的冲动。

   根据大致的含义,我做一个在10mS定时中断内,让plc输出一个点,由这个输出点驱动一个上升沿输入中断,如果能够正确接收到上升沿中断的触发,那么,网友的问题将不是什么问题了。为模拟一个真实的PLC控制程序,我加入的FOR/NEXT指令做程序的延长,仿真一个真实的PLC程序。

测试条件:

因为没有找到晶体管输出型plc,我测试用继电器输出型plc替代。

PLC为SR30继电器输出型。

测试项目:

1)  定义一个定时中断_0,时间定义为10mS;

2)  定义一个I0.0的上升沿中断,中断事件号:0;

3)  在定时中断_0中做一个常规线圈输出,Q0.0作为外置I0.0输入上升沿中断的触发源;

4)  如果常规输出线圈与上升沿输入中断的次数相等,说明这样的控制程序可以满足控制要求;

5)  加入FOR/NEXT指令延长程序的扫描周期,再模拟仿真测试结果。

程序:

1)  主程序初始化:

2)  定时中断子程序:

3)  I0.0上升沿输入中断子程序:

将程序编辑、编译、保存、下载,创建状态图表监控结果:

定时中断次数与外部输入的I0.0上升沿中断的次数基本接近。说明在测试模式下,普通的输出线圈能够在10mS定时中断状态下迅速开、关,PLC输出响应能够满足测试要求。

我再次加入循环FOR/NEXT指令,加大对plc的扫描周期,哦,对了,先看看没有循环指令的周期吧,等一会儿好做对比。

没有循环指令的扫描周期,图示:

加入一个循环指令的周期,图示:加了一个10000次的循环,2个中断次数差异就非常明显了。

我再将常规输出改为立即输出,图示:其它程序未改变。

当变更为立即输出线圈时,刚刚测试的差异马上改变,基本没有次数差异了,由此说明,网友的程序需要立即输出作为项目应用是必须的。好不容易外接的I0.0输入中断,不如再测试几次其它条件下的结果:

循环次数为最大值32767时的差异,图示:

没有差异,再看扫描周期,图示:

已经在96mS了,基本接近一般常规的控制程序扫描周期。看来,网友的那个高速计数器的程序是可以实现的。本想模拟网友的那个程序,因为手头上没有网友那个2000线数的编码器,所以,模拟测试plc的响应速度也从另一个侧面,验证网友的可行性,是可以的。

    刚刚在上一个月,我做一个技改项目中有要求,要求一个普通的电磁换向阀做0.3S的停顿,这个0.3S并不是什么空穴来风,也是我根据外部实际连接的硬件条件,测试结果所得,该设备运行已经有一个多月了,工艺改造效果是可以的,就是有一些担心普通电磁换向阀是否能够长期在这样停顿状态下工作,工作的有效周期大概为多少,我已经准备了2个液压电磁换向阀作为备件准备着。同样的话题,再次引出之前我说过的阀岛,阀岛的阀芯相对工作的频率原比我改造的普通液压电磁换向阀项目要高的多,而阀岛一般大概也可以正常工作约2年左右时间,我想我工作于0.3S的普通电磁换向阀,如果能够工作2年也足够让我满意了的。本次测试我也只是在相对较短时间内,做的一些简单短时间的测试,完全不能够作为正常的输出,我在测试前还犹豫过这10mS的立即输出是否真实有效呢,实际准确周期应该是20mS的。


20161222987705
游民

经验值: 53
发帖数: 2
精华帖: 0
1楼    2020-09-02 12:16:30
主题:回复:200smart PLC的另一种响应测试

首先非常感谢你对我的提问的回复及验证。希望能再次得到你的指导。


可能是我前面提问表述不是很清晰,我把条件及要求再描述一次。


1)高速旋转的轮子极限速度是每秒10圈,即100ms一圈(实际生产时速度会变化)。

2)在轮子上等分20份,即20个产品在上面,需要对每个产品进行检测,那么检测需要一个触发信号。

3)用2000线的编码器与旋转的轮子同步,那么PLC 需要 100个脉冲送出一个信号。

4)用高速计数器  当前值等于预设值 进中断,高速计数器在第二个计数周期不是从  0开始。如果在主程序对高速计数器清零,由于扫描周期的影响,从第二个信号周期开始就出现延迟。


希望能得到你的帮助。再次感谢!VX:C17714144

WWCWWC
至圣

经验值: 71500
发帖数: 7980
精华帖: 145
2楼    2020-09-02 15:01:41
主题:回复:200smart PLC的另一种响应测试

你没有理解当当前值等于预设值时,plc优先进入指定的中断,在这个中断子程序中仍然可以写更新当前值和更新预设值的(这个在你相对均分的脉冲中可能用不上)。由此说明进入中断后,高速计数器允许更新当前值,相当于理解又从0开始计数,更新预设值,你需要高速脉冲总数。

重新设置高速计数器参数本身没有问题,你也不需要纠结在此。

我当时担心的问题是相当于5mS时间内,plc需要作出一个输出响应,你要知道一般plc的扫描周期很有可能大于5mS时间周期,那么,如果按一般方式,等待plc的扫描周期很有可能丢失输出机会,所以,正是考虑到这些因素,我回复说调用中断,在中断用用立即输出指令可以测试试试的。

你还可以这样理解,假设是一个恒速设备,设备每5mS输出一个脉冲(暂且怎么定义),你将如何处理?

这个5mS的来由是,每旋转一周需要100mS时间,每一圈需要划分20个中断工位,每一个工位的时间= 100 / 20 = 5mS


WWCWWC
至圣

经验值: 71500
发帖数: 7980
精华帖: 145
4楼    2020-09-02 17:32:50
主题:回复:200smart PLC的另一种响应测试

高速计数器允许在进入高速中断时修改当前值和预设值。

如高速计数器HSC0,它的设置在SMB37.6  = 1(更新当前值),SMB37.5 = 1 (更新预设值)。

还包含更新计数方向SMB37.4 = 1

这些是组态200(smart)高速计数器最基本的控制字节内容。

芳季
至圣

经验值: 66275
发帖数: 14654
精华帖: 100
5楼    2020-09-02 17:38:28
主题:回复:200smart PLC的另一种响应测试

高速计数器一但启动就不关闭不清零。

找到哪个脉冲是第一个脉冲。

有明白我说的两个关键的问题点吗?

我都不明白为什么大家都是很喜欢清零的。清了为什么?我让你打烂一个正在使用的水表,用手拨表针回零。但是,你知不知道,拨的时候水仍然在用的。最快的那条针一边走你一边拨,是不是没有信心拨得准?误差就是来源于这里。当前值每增加50,就产生一个中断,翻转一个输出点,用立即输出。之后定义下一个中断的设定值,是刚才值加50,并不是当前值加50,由于一致性问题绝对不可以读取两次当前值。慢慢想想为什么。

yanxiao
至圣

经验值: 26048
发帖数: 11948
精华帖: 43
6楼    2020-09-02 19:26:06
主题:回复:200smart PLC的另一种响应测试

1、楼主的测试,实际是触碰到了Q点输出机制,以及在一个扫描周期内,多次输出(通常归为多线圈问题)的物理意义。

2、中断程序,主要还是影响响应时间的一些因素有哪些,以及两次中断响应的时间是否能得到保障。

WWCWWC
至圣

经验值: 71500
发帖数: 7980
精华帖: 145
7楼    2020-09-03 08:05:26
主题:回复:200smart PLC的另一种响应测试

回y版:

  是的,正是有那样的顾虑,才简单测试了一下在特殊场合的用途。

保障的前提条件是产生中断(拿优先权执行程序),用立即输出(不经过输入、输出映像区),把响应提升到plc能够做的极致。

WWCWWC
至圣

经验值: 71500
发帖数: 7980
精华帖: 145
8楼    2020-09-03 08:38:13
主题:回复:200smart PLC的另一种响应测试

季侠:

  回答问题前,我先声明一下,我所说的可以重新定义当前值和预设值的200(smart)高速计数器功能的一种类型,至于应用了会可能产生什么问题,只是见仁见智的应用性问题了。

关于什么时候计数,这个是高速计数器(旋转编码器)应用中的其中一种常见问题,什么时候开始计数、什么时候作为设备机械原点等。如果仅仅只是针对于网友的问题描述,我认为是电机启动的那一刻开始,作为高速计数器计数的判断标准报警合适。

我曾经遇到过一个问题,即西门子840d系统的机床主轴定位问题,同样也是你提及到这个旋转360度的主轴,什么时候是0度,又什么时候是360度的问题,我理解为什么时候计数的问题是一致的,该主轴没有原点开关,无法判断主轴电机的原点位置,但是,我实际应用中这个主轴定位非常准确。难道它不存在累积误差?这个位置编码器是外置的,通过同步皮带传动的。

另外一个问题,我也与你同样想到的重复定义高速计数器的计数响应问题。即高速计数器进入中断需要重新定义高速计数器的计数模式时,从开始定义到正色使用过程中的计数问题如何确保?也担心丢失脉冲的问题。

WWCWWC
至圣

经验值: 71500
发帖数: 7980
精华帖: 145
9楼    2020-09-03 08:54:13
主题:回复:200smart PLC的另一种响应测试

最近,或多或少的遇见一些相对应用比较绝端的使用。

如让一个普通的液控换向电磁阀在正常通电情况下,修改为停顿0.3S的工作机制。大概工艺是这样的,因为一个自动钻序在工作中无法产生断屑问题,造成自动钻孔机无法真正意义上实现所谓的自动,必须定期进行人工清理,这有驳与自动化进程。于是,我首先想到的是在钻孔时,稍一停顿有断屑的可能这个机械物理现象,把这个原理挪用到该设备自动钻孔时工进的钻孔工序上。至于0.3S的停顿也是通过几次实际测试得到一个比较合理的数据值,因为考虑该自动钻孔机的连续性(是一台在线连续工作的自动钻孔机)。

这样一来,编辑控制程序是没有问题了的,电气控制上,我将输出的小型继电器几组触点并联,以扩大驱动能力。只是这个液控换向阀的工作寿命问题,是我目前比较担心的问题了。哦,对了,这样的停顿对于我们这里的效果的被认可的。我已经准备了2个液控换向阀作为备件准备着,以防万一故障了时的更换。

话说让换向阀短时间做停顿,工进(一个设置进给常数后)停顿0.3S的话题。必将引导出阀岛工作机制,我们这里应用阀岛设备非常多,一般正常应用一个阀岛其中某一个阀芯的正常工作寿命是近2年,也是一个已经不错了的硬件特性了,如果我的液控换向阀也能够使用到1~2年,这个应用算是比较成功的一种应用了。

WWCWWC
至圣

经验值: 71500
发帖数: 7980
精华帖: 145
10楼    2020-09-03 09:07:18
主题:回复:200smart PLC的另一种响应测试

关于200系列(包含smart)plc高速计数器零点应用问题,因为这个问题实际上所牵涉到的问题也非常多。如何界定高速计数器的开始?这个与300的高速计数器有一些区别的是没有那些所谓的门的概念,300系列有软件门硬件门之说,来界定高速计数器什么时候开始计数,什么时候终止计数的功能,而200则没有那么多功能。200有外部输入复位端子,如200smart高速计数器的模式10(AB正交带外部复位),利用这个仅有的功能来实现我们需要,且是已经最大化了的功能?这有待于大家对此项的认识角度与应用问题了。

kayome
奇侠

经验值: 6854
发帖数: 1351
精华帖: 5
11楼    2020-09-03 12:47:29
主题:回复:200smart PLC的另一种响应测试

个人感觉清零是对的,可以结合工艺来,累积误差是需要重视的

WOWUWUWU
至圣

经验值: 10349
发帖数: 1791
精华帖: 0
12楼    2020-09-03 22:26:06
主题:回复:200smart PLC的另一种响应测试

常来可以提高自己,谢谢大家的分享。

WWCWWC
至圣

经验值: 71500
发帖数: 7980
精华帖: 145
14楼    2020-09-08 09:48:16
主题:回复:200smart PLC的另一种响应测试

我这次主要测试的是中断优先权及立即输出的对比。

当一个周期里面可能出现2个以上的中断时,这些中断均要求被执行,而这样的执行条件只能是立即指令才可以胜任了。

很多时候,看别人的程序确实是一件痛苦的事情,我自己也是,必须时刻围绕着别人的思路进行程序的梳理,很不适应这样的思路。建议,有实际硬件条件时,自己做一遍可能会很容易熟悉这些基本的知识面。

您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。