技术论坛

说说200 smart高速计数器的计数0

作者 主题
至圣

经验值: 72010
发帖数: 8043
精华帖: 145
主题:【分享】说说200 smart高速计数器的计数0
推荐帖


只看楼主 楼主 2016-12-17 09:29:01

说说200 smart高速计数器的计数 0

   以前,做过几次200 PLC的高速计数器应用,连接的是编码器或者光栅尺之类,深深对它比较稳定的特性记忆犹新。200虽然已离我们渐行渐远了,而200 smart PL的高速计数器性能或者编程情况又将如何?

   今拿了一个第三方的增量型旋转编码器来测试,看在200 smart PLC下如何能够稳定的运行。测试高速计数功能的增量型编码器电压24V,1000线,A/B正交;Z相零脉冲输出型,这对于使用过用PLC作为高速输入载体的同事,是非常熟悉不过的事情。

   200smart PLC本体集成了4个高速计数器(HSC0~HSC3),如果单相输入时,最高计数频率达200K hz,这在同类型小型PLC中也算是比较高的了,并且允许输入NPN;PNP输出型的高速计数器,所支持的电压有24V和部分5V的产品。200 smart PLC沿用原200对高速计数器的向导功能方便用户使用,这对刚刚开始使用者是一个好办法,把一些所谓比较复杂的控制用向导方式加以简化。既然是说200 smart PLC的高速计数器,那先需要熟悉高速计数器的工作模式。

200 smart PLC高速计数器的工作模式:

1)单相高速计数器,内部方向控制

2)单相高速计数器,外部方向控制

3)双向增、减高速计数器,双路高速脉冲输入

4)A/B正交高速脉冲计数器

上述4类高速输入模式的每一类还可以分:

1)  无复位、无启动输入

2)  有复位、无启动输入

3)  有复位、有启动输入

    其中,HSC0和HSC2支持8种高速计数器模式(0、1、3、4、6、7、9、10),HSC1和HSC3仅仅支持模式(0)

   下面,我用向导的方式编辑一个高速计数器控制程序,根据高速计数器外部输入元件A/B正交型编码器,选择所对应的高速计数器号,打开200 smart 软件,选择一款与实际PLC型号一致的cpu,CR60。点击“工具”按钮,软件上部的工具栏中出现“高速计数器”向导,选择高速计数器模式0或(2),点击“下一页”按钮,选择高速计数器名称,这里选择默认名称,点击“下一页”,这里 选择模式,因为我的高速输入为A/B正交型编码器,只能选择模式9、10,这里选择模式9,图示:A/B正交,无复位输入(不连接Z相输入)

点击“下一页”,定义高速计数器子程序名称,这里选择默认名称,在“值”选项中先设置“预设值”= 10000,不设置“当前值”,在“选项”的输入初始计数方向设置为“上”,计数速率选择1倍频方式,图示:


点击“下一页”选择“中断”,这里选择“当前值等于预设值(CV = PV)中断,并产生一个中断源,图示:


点击“下一页”,不选择“步”,直接点击“下一页”,在“组件”中可以看到之前用向导生成地方子程序和中断程序,图示:


点击“下一页”,进入“映射”,这个窗口主要是对外部连接的一些定义,输入端子,其中A相连接I0.0;B相连接I0.1,其它设置在“系统块”中可以修改,图示:


点击“下一页”,完成高速计数器向导,点击“生成”,图示:


向导完成后,点开左侧目录树下的“程序块”,系统已经自动映射了一个高速计数器子程序和一个当前值等于预设值的中断程序,图示:


用户仅仅需要调用一个初始化高速计数器子程序及中断程序就可以使用高速计数器功能了,用SM0.1调用初始化高速计数器子程序,图示:


我这里先做一个当高速计数器的当前值等于预设值时,在中断中启动Q0.0作为高速计数器数据达到时的标记,并在主程序中允许随意复位,图示:


主程序复位程序,图示:


选择“系统块”,打开“数字量输入”,将默认6.4mS的刷新时间修改为3.2uS,并勾选“脉冲捕捉,图示:


最后,连接外部编码器接线、通讯连接线后,把程序编译、下载到cpu中等待测试,借用西门子官方提供的CAD图纸连接编码器接线示意,图示:


启动PLC运行,为监控高速计数器输出数据,新建“状态图表”,图示:


当前值等于10000个脉冲数后,立即进入中断置位了Q0.0,实验成功。

小结:

无论是那种方式组态高速计数器(向导或直接赋值给相应的控制字、状态字),其目的就是设置控制字SMB37;初始值SMD38;预设值SMD42;定义高速计数器模式;启动高速计数器号,开中断这些基本步骤。高速计数器允许调用若干种类的中断,参见中断事件优先级表单,关于各高速计数器中断的含义及中断号。设置完成与外部元件对应的参数后(向导中的映射窗口有硬件连接地址),用SM0.1调用初始化子程序即可,如果需要实时调用高速计数器的当前值,用MOV_DW将HC*传送到一个数据寄存器中,当然这个简单的传送与程序的扫描机制关联着刷新机制,这样的调用建议在主程序中进行,用户在实际应用中需要引起注意。



 
分享帖版主置评: Step by Step. (推荐人:yanxiao)
以下网友喜欢您的帖子:

  
重要声明:

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

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1349025&b_id=64

至圣

经验值: 67540
发帖数: 14782
精华帖: 100
回复:说说200 smart高速计数器的计数0


只看楼主 1楼 2016-12-17 11:22:53

楼主,帮试一试一个事情:当前计数方向方向标志的相关操作,sm36.5。如何使用,注意事项。200的时候我也未能理解它的解释意义。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 72010
发帖数: 8043
精华帖: 145
回复:说说200 smart高速计数器的计数0


只看楼主 楼主 2楼 2016-12-17 11:24:19
以下是引用芳季在2016-12-17 11:22:53的发言 >1楼

楼主,帮试一试一个事情:当前计数方向方向标志的相关操作,sm36.5。如何使用,注意事项。200的时候我也未能理解它的解释意义。

好的,我有时间做你这样的实验呈上。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 67540
发帖数: 14782
精华帖: 100
回复:说说200 smart高速计数器的计数0


只看楼主 3楼 2016-12-17 11:43:41
以下是引用WWCWWC在2016-12-17 11:24:19的发言 >

好的,我有时间做你这样的实验呈上。

主要是时效问题。什么时候开始起作用,什么时刻是最新鲜的状态,此“新鲜”程度能保持到什么时刻便变成无效。书上好像有个字眼“只有中断里有效”,那我在主程序中用上了又咋地啦?


 
以下网友喜欢您的帖子:

  
至圣

经验值: 72010
发帖数: 8043
精华帖: 145
回复:说说200 smart高速计数器的计数0


只看楼主 楼主 4楼 2016-12-17 11:45:47
以下是引用芳季在2016-12-17 11:43:41的发言 >

主要是时效问题。什么时候开始起作用,什么时刻是最新鲜的状态,此“新鲜”程度能保持到什么时刻便变成无效。书上好像有个字眼“只有中断里有效”,那我在主程序中用上了又咋地啦?

我对你的问题也相当感兴趣,刚刚在现场实际操作阶段。

你留意一下。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 72010
发帖数: 8043
精华帖: 145
回复:说说200 smart高速计数器的计数0


只看楼主 楼主 5楼 2016-12-17 12:00:06

好了,我仅仅是按上面的程序测试,可能结果与你想要的有一点出入。

关于SM36.5的状态位

当前值小于预设值时,


当前值等于或者大于预设值时,


我一直转动编码器做正、反转,这个位就是按上图的描述进行。

如果你需要捕捉这个位信息,是应该在中断中执行。



 
以下网友喜欢您的帖子:

  
至圣

经验值: 72010
发帖数: 8043
精华帖: 145
回复:说说200 smart高速计数器的计数0


只看楼主 楼主 6楼 2016-12-17 12:45:00

验证小于,等于,大于时的图片:

小于预设值:


等于;大于预设值时:




 
以下网友喜欢您的帖子:

  
至圣

经验值: 72010
发帖数: 8043
精华帖: 145
回复:说说200 smart高速计数器的计数0


只看楼主 楼主 7楼 2016-12-17 12:46:31

我看了看帮助说明:注意红色





 
以下网友喜欢您的帖子:

  
至圣

经验值: 72010
发帖数: 8043
精华帖: 145
回复:说说200 smart高速计数器的计数0


只看楼主 楼主 8楼 2016-12-17 12:54:16

基于这个我在主程序中添加了这个程序段来验证:




 
以下网友喜欢您的帖子:

  
至圣

经验值: 72010
发帖数: 8043
精华帖: 145
回复:说说200 smart高速计数器的计数0


只看楼主 楼主 9楼 2016-12-17 13:09:25

基于上面测试结果,文档中的状态仅仅是另一种特例,所以西门子加了这个“注”字。


 
以下网友喜欢您的帖子:

  
版主

经验值: 25991
发帖数: 11808
精华帖: 43
回复:说说200 smart高速计数器的计数0


只看楼主 10楼 2016-12-17 15:15:02

 先点个赞。晚上再仔细看贴。


 
以下网友喜欢您的帖子:

  
版主

经验值: 25991
发帖数: 11808
精华帖: 43
回复:说说200 smart高速计数器的计数0


只看楼主 11楼 2016-12-17 22:00:26

 在系统块,并勾选“脉冲捕捉”,为什么?


 
以下网友喜欢您的帖子:

  
至圣

经验值: 72010
发帖数: 8043
精华帖: 145
回复:说说200 smart高速计数器的计数0


只看楼主 楼主 12楼 2016-12-17 22:16:03
以下是引用yanxiao在2016-12-17 22:00:26的发言 >11楼

 在系统块,并勾选“脉冲捕捉”,为什么?

回版主:

这些是基于集成的I/O口,可以用于一般数字量输入,也可以通过组态为高速脉冲输入。

如果是高速脉冲的输入可能存在一下不规范的脉冲串输入,使高速输入口会不按实际的脉冲串进行计数。虽然有前面的滤波功能,为规避上述脉冲串不规范的风险,需要再规范脉冲有效范围,加速高速输入的更新。

一般高速输入高电平判断:2.5mA;15VDC以上、低电平判断1.0mA;5VDC,当然这个是对于24V高速输入而言的,对于5V的高速信号,则高电平判断8mA时 4VDC;低电平判断1mA时 1VDC.


 
以下网友喜欢您的帖子:

  
版主

经验值: 25991
发帖数: 11808
精华帖: 43
回复:说说200 smart高速计数器的计数0


只看楼主 13楼 2016-12-17 22:44:49

速度上至200kHz,这个捕捉有用吗?我印象中没有这个要求。


 
以下网友喜欢您的帖子:

  
侠圣

经验值: 2608
发帖数: 407
精华帖: 5
回复:说说200 smart高速计数器的计数0


只看楼主 14楼 2016-12-17 23:19:59

楼主把你那图纸给我吧,我插入EPLAN


 
以下网友喜欢您的帖子:

  
至圣

经验值: 72010
发帖数: 8043
精华帖: 145
回复:说说200 smart高速计数器的计数0


只看楼主 楼主 15楼 2016-12-18 21:55:13
以下是引用yanxiao在2016-12-17 22:44:49的发言 >13楼

速度上至200kHz,这个捕捉有用吗?我印象中没有这个要求。

苦于我没有实际信号发生器,不然我就做这样的验证,加“脉冲捕捉”和不加的区别。个人仍然倾向于加。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 72010
发帖数: 8043
精华帖: 145
回复:说说200 smart高速计数器的计数0


只看楼主 楼主 16楼 2016-12-18 22:06:38

查了一下帮助文档说明:当为某一输入点启用脉冲捕捉时,输入状态的改变被锁定,并保持至下一次输入循环更新。

图示:

上图说明:当激活“脉冲扑捉”后即帮助文档说明中的“使能”,当高速输入捕捉到一个很窄的脉冲时,会自动延伸到一个周期的结束,这样理解,相当于接收到一个宽脉冲信号,不至于丢失。



 
以下网友喜欢您的帖子:

  
至圣

经验值: 67540
发帖数: 14782
精华帖: 100
回复:说说200 smart高速计数器的计数0


只看楼主 17楼 2016-12-18 22:25:12

那跟高计有什么关系?高计又不与扫描有关,管他扫描不扫描。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 72010
发帖数: 8043
精华帖: 145
回复:说说200 smart高速计数器的计数0


只看楼主 楼主 18楼 2016-12-18 22:33:04
以下是引用芳季在2016-12-18 22:25:12的发言 >17楼

那跟高计有什么关系?高计又不与扫描有关,管他扫描不扫描。

可能在这里引起了一些误会,因为这里一直在说高速计数器的事情。

我的意思是这个“脉冲捕捉”的功能是捕捉一般状态下运行的窄脉冲信号,而不是针对于高速计数器的输入。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 67540
发帖数: 14782
精华帖: 100
回复:说说200 smart高速计数器的计数0


只看楼主 19楼 2016-12-18 23:26:42
以下是引用WWCWWC在2016-12-18 22:33:04的发言 >

可能在这里引起了一些误会,因为这里一直在说高速计数器的事情。

我的意思是这个“脉冲捕捉”的功能是捕捉一般状态下运行的窄脉冲信号,而不是针对于高速计数器的输入。

既然说到捕捉,那我又有问题了。

常on之下一个off的窄脉冲,是否能捉住?这个我没找到答案。


 
以下网友喜欢您的帖子:

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