回复:PLC200编码器计数,中断同步问题

hbttkj

  • 帖子

    995
  • 精华

    24
  • 被关注

    291

论坛等级:至圣

注册时间:2010-10-15

钻石 钻石 如何晋级?

发布于 2015-05-18 16:06:33

8楼

“ 启动和复位高电平有效,一倍计数率的A/B相正交模式,计数方向增计数,允许更新计数方向,预计值,当前值及执行高速计数指令。”
上述是高速计数器初始化的定义,也就是HSC参数的SM控制位,SMB37是HSC0的控制字节,SMB47是HSC1的控制字节,在STEP7 MicroWIN软件里,按F1键查看在线帮助,阅读高速计数器的控制字节部分内容,有相关解释。

模拟量输出AQW0的数值是AC0的值(VD1220的值是3200至32000,如是用的是0-10V的电压信号,那么AQW0对应的是1-10V)
当系统上电后:
AC0为15040(2350*6.4),AQW0对应的是4.7V。

当I0.4主扎运行信号为1时,当I0.5花架运行信号为1时,M1.4为1时:
每个循环内复位HSC0和HSC1的初始值为0,并执行高速计数指令。
前后两个编码器的计算偏差(VD1024),如在正负50内,Q0.2输出。
AC0为6400(1000*6.4),AQW0对应的是2V。

当I0.2有上升沿时调用INT_0中断程序(M2.0为1),当I0.3有上升沿时调用INT_1中断程序(M2.1为1),同时M3.0为1:
首次VD1220是500,AC0为3200(500*6.4),AQW0对应的是1V。
之后进行工艺计算,我的理解是当前后两个编码器的计数值偏差(VD1024)变化时,VD1220也在变化。
下面假设一下数值,帮助分析吧。
假设VD1024为50,VD1220=350,下个循环时网络5,又将500赋值给VD1220。±
假设VD1024为100,VD1220=700,网络15中复位M2.3为0,下个循环时可以执行网络14的M2.3右侧部分,累计偏差VD1200的值发生变化,VD1220的值也发生变化,当VD1220大于5000时网络5中M2.3置1。

32位整数(DINT)的最高位为符号位,取值范围为-2147483648~2147483647。你的取值是21474181*100。

大概工作工艺是:
当I0.2和I0.3有上升沿时M3.0为1,网络14执行计算(VD1220相当于VD1024+VD1200)当偏差VD1024增大使得VD1220大于500时,累计偏差VD1200会不断累加变大,使得VD1220也不断增加(提速),慢慢的偏差VD1024的值会有减小,同时消弱了VD1220的变化程度。

当偏差VD1024为负数时,累计偏差VD1200不断累加变小,VD1220也会不断变小,慢慢趋向VD1024为0。
我的gmail的邮箱近期总收不到邮件,现更改为:hbttkj@163.com
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33257条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

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