回复:1500控制V90怎么更快的读取伺服的实时位置来输出io信号

已锁定

芳季

西门子1847工业学习平台

  • 帖子

    15538
  • 精华

    101
  • 被关注

    963

论坛等级:至圣

注册时间:2007-08-03

钻石 钻石 如何晋级?

发布于 2020-10-30 14:36:09

8楼

你可以测得指定的伺服读取得到数据的时刻,两次之间的时差。利用一个虚拟时间轴上面的某个统一测试时间点对两次读取的值进行插值解释出两此读取之间的某一个值,作为结果。

举例:

……

第n0秒读到伺服1的值是100。时间轴同时是4100

第n1秒读到伺服2的值是300。时间轴同时是4200

第n2秒读……此时产生ID信号了。时间发生在时间轴上的4234时刻上。暂时记住。

……到伺服3的值是600。时间轴4400

第n3秒读到伺服4的值是800 。时间轴4600

读完了。现在算一下在刚才4234时刻的时候每一个伺服可能在什么值的范围。结合上一轮(不是我上面抄写的这一轮)的读取履历,

上一轮

轴1    50    3300

轴2    200    3400

轴3    500    3500

轴4    700    3600

并且假设两轮之间伺服的速度是不变的,(因为两次读取之间的实际时间非常短,暂且看做速度不变)那么就插值。已知直线上的两个点,求某一值x对应的Y值,所有轴都可以获得插值点的值。无论所求点在已知点以内还是在外,都可以求得Y值。直线上两个点(50,3300)和(100,4100)求4234对应的值。这个是初二知识,不详说了。

仅提供思路。这个方法我用过。而且还是用modbus读4个伺服,可以想象多慢!但是计算结果令我满意。

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1500系列

共有10698条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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