技术论坛

SMART200IO点处理时序问题

作者 主题
侠士

经验值: 1905
发帖数: 252
精华帖: 2
主题:【探讨】SMART200IO点处理时序问题


只看楼主 楼主 2019-01-12 21:24:33

 SMART200中可以进行立即读取IO点状态。但同时输入点有输入滤波过滤器设置的限制,那么问题来了。在当前扫描周期中I0.0(举例)发生了变化,由0变为1了,那么在立即读取的过程中是立即变为1,还是延时输入滤波器的时间后才认为是1,请大侠们解读一下。


Day Day Up~~大名丁丁
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1536518&b_id=64&s_id=0&num=15

至圣

经验值: 67543
发帖数: 14782
精华帖: 100
回复:SMART200IO点处理时序问题


只看楼主 1楼 2019-01-12 23:05:28

这个问题啊。可能要找到资料支持才行。你手上有什么资料,要不我们分开找,你找一部分我找另一部分,谁先找到谁发上来?好吗?

要不你拿plc实验一下?


 
以下网友喜欢您的帖子:

  
至圣

经验值: 76199
发帖数: 19143
精华帖: 378
回复:SMART200IO点处理时序问题


只看楼主 2楼 2019-01-12 23:28:08

信号滤波原理上属于硬件处理范畴(虽然可软件设置),即使是立即读取也是滤波后的值


Zane 注册自动化系统工程师 Always save before download
以下网友喜欢您的帖子:

  
至圣

经验值: 72010
发帖数: 8043
精华帖: 145
回复:SMART200IO点处理时序问题


只看楼主 3楼 2019-01-12 23:51:49

我有时间验证一下就可以了。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 67543
发帖数: 14782
精华帖: 100
回复:SMART200IO点处理时序问题


只看楼主 4楼 2019-01-13 08:18:34

你验证前我也猜猜。脉冲捕捉是滤波后的值,高速计数器也是滤波后的值,这都是手册上找到的。偏偏就是立即输入没有找到。所以我猜……。

楼上,我也对你验证过程很感兴趣。期待,期待……


 
以下网友喜欢您的帖子:

  
侠圣

经验值: 2440
发帖数: 467
精华帖: 6
回复:SMART200IO点处理时序问题


只看楼主 5楼 2019-01-13 21:30:01
以下是引用Zane在2019-01-12 23:28:08的发言 >2楼

信号滤波原理上属于硬件处理范畴(虽然可软件设置),即使是立即读取也是滤波后的值

我同意你的观点。摘自SMART帮助:


通过设置输入延时,您可以过滤数字量输入信号。 该延迟帮助过滤输入接线上可能对输入状态造成不良改动的噪音。 输入状态改变时,输入必须在时延期限内保持在新状态,才能被认为有效。


也就是说经过滤波器的才是有效输入,PLC不会去引入一个无效输入。




 
以下网友喜欢您的帖子:

  
侠士

经验值: 1905
发帖数: 252
精华帖: 2
回复:SMART200IO点处理时序问题


只看楼主 楼主 6楼 2019-01-15 08:46:55
以下是引用lf184452在2019-01-13 21:30:01的发言 >5楼

我同意你的观点。摘自SMART帮助:


通过设置输入延时,您可以过滤数字量输入信号。 该延迟帮助过滤输入接线上可能对输入状态造成不良改动的噪音。 输入状态改变时,输入必须在时延期限内保持在新状态,才能被认为有效。


也就是说经过滤波器的才是有效输入,PLC不会去引入一个无效输入。



以下是引用Zane在2019-01-12 23:28:08的发言 >2楼:信号滤波原理上属于...

引用2楼详细内容:

信号滤波原理上属于硬件处理范畴(虽然可软件设置),即使是立即读取也是滤波后的值

输入滤波延时应该是输入状态保持的最短时间,1、0,都是一样的。滤波之后才传至映射缓存区。那么立即读取,读取的状态是滤波前还是滤波后的值这个一直没有资料支持。


Day Day Up~~大名丁丁
以下网友喜欢您的帖子:

  
至圣

经验值: 72010
发帖数: 8043
精华帖: 145
回复:SMART200IO点处理时序问题


只看楼主 7楼 2019-01-15 11:56:02

昨天用程序大概测试了一下,因为没有找到合适的程序说明问题,目前没有一个有力的证据。

大概测试后,发现滤波时间的概念楼上也描述了,是指输入信号状态值的保持界限范围,即输入信号必须满足这样一个时间段,输入有效。与之关联的有捕捉功能的选项,均指对输入信号的要求。

立即输入是不进入程序的扫描机制,而直接进入输入过程映像区的状态值。

基本可以确定,这2者没有本质的关联。



 
以下网友喜欢您的帖子:

  
至圣

经验值: 72010
发帖数: 8043
精华帖: 145
回复:SMART200IO点处理时序问题


只看楼主 8楼 2019-01-15 12:01:13

我目前的测试是用一个按钮,连接到2个输入端。一个用常规输入型,另一个用立即输入型。

为了克服测试程序过于简单,在中间程序加入了一些循环指令(使扫描周期变长),然后再用bgn_itime、cal_itime指令捕捉2者的时间差,因为该指令最小时间单位是1mS的,所以测试时基本测不到差值,正在找精度高的方法。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 67543
发帖数: 14782
精华帖: 100
回复:SMART200IO点处理时序问题


只看楼主 9楼 2019-01-15 12:46:16

要测试立即值是滤波前还是滤波后啊?


 
以下网友喜欢您的帖子:

  
至圣

经验值: 67543
发帖数: 14782
精华帖: 100
回复:SMART200IO点处理时序问题


只看楼主 10楼 2019-01-15 12:55:05

这事情我想……应该要在一个……哦不,要小于一个扫描周期内获得结果。而这个扫描周期要经历输入的始末的全貌。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 72010
发帖数: 8043
精华帖: 145
回复:SMART200IO点处理时序问题


只看楼主 11楼 2019-01-15 13:00:30
以下是引用芳季在2019-01-15 12:55:05的发言 >10楼

这事情我想……应该要在一个……哦不,要小于一个扫描周期内获得结果。而这个扫描周期要经历输入的始末的全貌。

我昨天考虑正是这样的,应该需要“控制”扫描周期的运行全过程。

什么时候进入采集,什么时候刷新过程映像区、、、、、、

把立即输入和常规输入写入各自的网络段,中间加入程序段(目前我只是考虑循环指令来拖延周期的办法)测试,但是,区别不是很明显。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 72010
发帖数: 8043
精华帖: 145
回复:SMART200IO点处理时序问题


只看楼主 12楼 2019-01-15 13:08:59

可能我进入误区了,为找到小于1mS的时间精度的控件。

我状态测试的plc周期1~80mS之间,主要是调用循环体结构。

测试过cpu在stop模式下的“执行次数”功能办法,但是测试结果仍然不是很明显。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 72010
发帖数: 8043
精华帖: 145
回复:SMART200IO点处理时序问题


只看楼主 13楼 2019-01-15 13:11:00

测试几十次,最大差异2mS,大部分为1mS或者没有差异。

原因也知道,主要是无法控制plc程序的扫描机制。


 
以下网友喜欢您的帖子:

  
侠圣

经验值: 2440
发帖数: 467
精华帖: 6
回复:SMART200IO点处理时序问题


只看楼主 14楼 2019-01-15 13:30:09
以下是引用笑脸相迎在2019-01-15 08:46:55的发言 >6楼

输入滤波延时应该是输入状态保持的最短时间,1、0,都是一样的。滤波之后才传至映射缓存区。那么立即读取,读取的状态是滤波前还是滤波后的值这个一直没有资料支持。

以下是引用lf184452在2019-01-13 21:30:01的发言 >5楼:我同意你的观点。摘...

引用5楼详细内容:

我同意你的观点。摘自SMART帮助:


通过设置输入延时,您可以过滤数字量输入信号。 该延迟帮助过滤输入接线上可能对输入状态造成不良改动的噪音。 输入状态改变时,输入必须在时延期限内保持在新状态,才能被认为有效。


也就是说经过滤波器的才是有效输入,PLC不会去引入一个无效输入。



以下是引用Zane在2019-01-12 23:28:08的发言 >2楼:信号滤波原理上属于...

引用2楼详细内容:

信号滤波原理上属于硬件处理范畴(虽然可软件设置),即使是立即读取也是滤波后的值

滤波后的逻辑输入是映像区的来源,也是立即读来源,这点并不矛盾,SMART也说经过滤波器的才是有效输入,立即读和映像区读的区别就是,是去直接拿这个逻辑输入,还是经过映像区去拿这个逻辑输入在周期内的缓存;另外在说一点,我也做过很多年的PCB设计,开发过很多基于单片机的控制板,按照程序设计规范,现场控制中禁止引入未经处理的物理输入到系统,再说连高速计数器这个由底层硬件实现的功能都是读的滤波后的输入,我不认为立即读比它还底层。


 
以下网友喜欢您的帖子:

  
侠圣

经验值: 2440
发帖数: 467
精华帖: 6
回复:SMART200IO点处理时序问题


只看楼主 15楼 2019-01-15 14:21:46

 做了一个实验,用SMART的PWM功能产生了一个100us周期脉冲,脉宽10us,将此脉冲连接到I0.0,分别用普通读和立即读取捕捉这个脉冲输入,如果说立即读不经过滤波器,那么无论I0.0的滤波时间如何设置,立即读总能捕捉到输入,但实际情况请见下面实验,

1程序代码:

 

2.设置滤波时间位1.6us,看看捕捉情况:

 

 

结果是两者都可以捕捉到输入。


再将滤波设置到1.6ms:

 

 

这时二者都捕捉不到脉冲。

由此可见立即读也是经过滤波器的,是受滤波器影响的。


 
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
SMART200IO点处理时序问题
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。