回复:有奖【微分享】“说说我用过的功能块”

Zane

版主 西门子1847工业学习平台

  • 帖子

    21054
  • 精华

    399
  • 被关注

    1484

论坛等级:至圣

注册时间:2003-06-06

钻石 钻石 如何晋级?

发布于 2014-03-25 00:09:42

100楼

quote:以下是引用纯属虚构在2014-03-19 09:05:14的发言:
quote:以下是引用Zane在2014-03-18 21:43:26的发言:
quote:以下是引用纯属虚构在2014-03-18 19:25:46的发言:
quote:以下是引用Zane在2014-03-18 18:16:15的发言:
quote:以下是引用纯属虚构在2014-03-18 10:36:35的发言:
quote:以下是引用Zane在2014-03-16 16:39:09的发言:
经常使用DP/PN诊断功能块FB126作为系统现场总线的站级诊断,随着系统架构的日趋复杂,多条总线的应用,发现要从诊断数据块中取出对应从站的诊断数据也并非易事,很容易出错,还是让机器自己去算吧,于是根据FB126的说明书,编写了个FB126诊断数据块的从站诊断数据译码的功能块,只要输入诊断数据块的块号,总线序号(详见FB126的说明),总线类型,站地址或设备号这几个参数,就能取出指定从站的诊断数据,比如通讯故障等,可以赋值标志位。编程比较灵活,一个从站调用一次,可随意增减,没有顺序限制。
附件为源程序代码,有兴趣大家可以一试,FB1为译码功能块,FB2为调用示例

点击此处查看附件


点击此处查看附件


Zane 斑FB126说明中尚未清楚总线序号是在哪里读取啊

呵呵,总线序号的定义及站点故障标志位偏移量的计算在FB126的说明书里都有

站点故障标志位偏移量的计算在文档里面看见了,总线序号的定义就有点摸不着了。
另外我也用你的程序测试了下,为啥诊断DP总线的时候Failed也是出现code108,不应是code128吗?难道还有哪边未设置?










这是计算方法
其中DP总线2、5、12的总线序号为1、2、3,PN总线102、107的总线序号为4、5
CODE128是DPV1的代码,DPV0及PN的代码是CODE108

sorry ,看的有些随意了没有注意DPV0与DPV1的区别,想当然的认为是同一个了。还有个问题现在使用PN总线100,总线序号也是1,这是怎么回事?这个总线序号在硬件组态内是否可以设置?

是按照MASTER SYSTEM或者I/O SYSTEM 的SYSTEM NUMBER的大小来排序的,DP总线从0开始,PN总线从100开始,所以DP与PN共存的前提下,DP总线序号在前,如果只用PN总线,那也是从1开始的。
Zane 注册自动化系统工程师 Always save before download
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54616条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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