回复:【分享】【分享】SINUMERIK 828D计算70000以后的报警地址方法

asdf6

西门子1847工业学习平台

  • 帖子

    1185
  • 精华

    12
  • 被关注

    132

论坛等级:奇侠

注册时间:2008-09-02

钻石 钻石 如何晋级?

发布于 2016-08-15 10:55:09

5楼

展开查看
以下是引用渔明鱼工在2016-08-15 08:23:38的发言 >4楼

有点离谱,如果是700285报警呢,按你的算法:284/8=35.9,对应点是DB1600.DBX35.9啦,这是不对的。

对于840D的报警是从DB2.DBX180.0开始的700000,

那么对应的是:285/8=35.6,那么的地址是:180+35=215,我们再用35*8=280,    285-280=5,

那么对应的地址是:DB2.DBX215.4R报警才对。

事实有些厂的报警号不是遵寻此规律如:

算起来是对的。

算起来是不对的。

700237对应算起来是:DB2.DBX209.4明显不对吧。

以下是引用o285910737在2016-08-12 17:20:51的发言 >楼主:报警号700后面的数如...

引用楼主详细内容:

报警号700后面的数如果大于20就减一再除以8算出小数点后一位如果在20以内就直接除以8再算出小数点后一位即可.例如700030,     30减1等于29再除以8等于3.6,PLC地址就是DB1600.DBX3.6


看828D的手册发现,828D的报警数和840D及840DSL是不一样的,840D是分组的比如 70 01 23,其中01代表组,而且后面的报警数到63为止,也就是说70 00 00-70 00 63,没有70 00 64-70 00 99的报警。下一报警就是70 01 00-70 01 63了,所以不会有700285的报警。

而828D不是这样,他就是按顺序排列下来,70 00 00-70 00 99,下雨组 70 01 00-70 01 99,这样的话,和840D的报警算法就不一样。所以828D直接的报警号(不算7)直接除以8就可以,然后余数就是小数位。

比如700247报警,247/8=30,余7,所以报警位就是DBX30.7,可以看下828D的手册,这和手册是吻合的。


对于840D的报警,因为是分组的,每个组8个字节,所以一组只有64个报警。所以算法应该是组和后面的报警位分开来算,比如上面的例子70 03 52,其中03是组,所以有03*8=24个字节。 52是位,除以8=6个字节余4,而70 00 00 起始地址是DB2.DBX180.

所以700352=DB2.DBX(180+03*8+52/8).4=db2.dbx210.4 



评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SINUMERIK

共有25500条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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