技术论坛

[博途]+我所用的DeviceStates指令块

作者 主题
至圣

经验值: 13937
发帖数: 2008
精华帖: 43
主题:【分享】[博途]+我所用的DeviceStates指令块
精华帖精华帖星级3级 推荐帖


只看楼主 只看精华 楼主 2018-11-21 13:28:13

    楼主从事行业比较悲催,所接触客户,几乎没有系统软件维护能力,一遇到设备开不起,立即打电话,“ HI XX工,软件又出问题了”,开不起来!有时半夜接到这些电话 真TM的想打人,远程联到电脑上一看,原来是某个站点通讯断了。

    没办法,只能培训客户维护了,出现问题怎么查,先查控制电,再查是否有急停,急停位置,再看通讯是否正常,通讯不正常是不是子站模块引起的; 所以啊,各个站点的通信状态必须得显示下软件界面上啊。


       早期对DP进行诊断时,西门子提供了FB125/FC125 2个程序块给大家使用,后来PROFINET大行其道,西门子提供了 可以同时诊断PN和DP网络的FB126功能块,这个功能块需要根据CPU型号选择不同版本的FB126,大家需要选择合适的FB126(主要是不同型号的CPU所支持的程序块大小不一样,低端的最大支持16K);坑爹的是FB126是对外保密的,结合第三方系统使用,需要自己分析DB里类容。所以 在那段时间,楼主都是自己通过调用"S7_RDSYSST"系统功能来进行诊断的,虽然功能简单了点,但是够用了。


        使用1500+TIA PORTAL后,指令 "DeviceStates"让你的需求变的简单,而且 支持PN/DP诊断;

        先看下PORTAL 里的指令帮助吧

        首先,是指令的参数接口

        1:LADDR PN IO 或者DP的硬件标识,数据类型是HW_IOSYSTEM,这值怎么找?其实在我们组态完PN IO或者DP 主站系统后,会在 PLC变量默认变量表系统常数里找到它见下图

看硬件配置图


其次找到相应的PN IO系统的HW_IOSYSTEM值


    2:MODE PLC 会根据在此所设的参数来读取相应的信息,模式定义见下图


3:RET_VAL 返回值 


4:读取的信息存放区,数据类型VARIANT,



编程实例

首先,要定义信息存储区见下图,分别定义了 5个一维数组


改变MODE参数来读取相应的信息

读取的信息中的 CPU中已组态的站点故障站点未激活站点等信息都存在相应的数组里了,从数组元素1开始存放各个站点的信息。数组大小,大家可以根据需要来确定,目前CPU自身+扩展的CM/CP 最多支持1000个IO设备,所以楼主就把数组大小设为1024了(目前1500系列PLC的数据内存比较大)

新的指令真是简单明了!


人生就像一场旅行!
以下网友喜欢您的帖子:

  
重要声明:

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

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1523128&b_id=66&s_id=0&num=15

奇侠

经验值: 9638
发帖数: 1041
精华帖: 25
回复:[博途]+我所用的DeviceStates指令块
推荐帖


只看楼主 只看精华 1楼 2018-11-21 17:13:27

多谢分享,请问Dp从站故障在博途中仿真吗?一直没找到。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 10588
发帖数: 848
精华帖: 9
回复:[博途]+我所用的DeviceStates指令块
推荐帖


只看楼主 只看精华 2楼 2018-11-22 08:00:42


感谢 分享


学如逆水行舟,不进则退! wwhoho@163.com
以下网友喜欢您的帖子:

  
至圣

经验值: 12543
发帖数: 1843
精华帖: 0
回复:[博途]+我所用的DeviceStates指令块
推荐帖


只看楼主 只看精华 3楼 2018-11-22 08:11:27


 感谢分享!


邮箱 yongquancun@126.com
以下网友喜欢您的帖子:

  
奇侠

经验值: 9058
发帖数: 375
精华帖: 0
回复:[博途]+我所用的DeviceStates指令块
推荐帖


只看楼主 只看精华 4楼 2018-11-22 09:16:02


学习学习!


随心所欲
以下网友喜欢您的帖子:

  
侠圣

经验值: 2484
发帖数: 368
精华帖: 1
回复:[博途]+我所用的DeviceStates指令块
推荐帖


只看楼主 只看精华 5楼 2018-11-22 09:24:38

很实用的指令块,一直在用,配合在触摸屏做好硬件组态网络图,之间的连线上加一个叉,网络断开就显示出来,很容易判断网络问题。


 
以下网友喜欢您的帖子:

  
侠士

经验值: 1848
发帖数: 90
精华帖: 0
回复:[博途]+我所用的DeviceStates指令块
推荐帖


只看楼主 只看精华 6楼 2018-11-22 09:32:34


谢谢楼主分享,学习啦


JUST COME ON!!!
以下网友喜欢您的帖子:

  
侠圣

经验值: 3723
发帖数: 486
精华帖: 1
回复:[博途]+我所用的DeviceStates指令块
推荐帖


只看楼主 只看精华 7楼 2018-11-22 10:07:20

我一般只用来检查从站掉站,MODE=2


永无止境!
以下网友喜欢您的帖子:

  
至圣

经验值: 13937
发帖数: 2008
精华帖: 43
回复:[博途]+我所用的DeviceStates指令块
推荐帖


只看楼主 只看精华 楼主 8楼 2018-11-27 22:40:52
一般来说 这个模式就满足 最基本的诊断了。
人生就像一场旅行!
以下网友喜欢您的帖子:

  
游侠

经验值: 395
发帖数: 25
精华帖: 0
回复:[博途]+我所用的DeviceStates指令块
推荐帖


只看楼主 只看精华 9楼 2018-11-30 18:57:08

这个功能的确很实用,配合HMI做成硬件组态图,用颜色变化就可以判断网络问题



 
以下网友喜欢您的帖子:

  
奇侠

经验值: 6042
发帖数: 939
精华帖: 4
回复:[博途]+我所用的DeviceStates指令块


只看楼主 只看精华 10楼 2018-12-07 21:41:51

确实很好,温故一遍,做网络状态再也不难了


不患无位,患所以立
以下网友喜欢您的帖子:

  
侠圣

经验值: 2841
发帖数: 276
精华帖: 3
回复:[博途]+我所用的DeviceStates指令块


只看楼主 只看精华 11楼 2018-12-10 22:06:18

要是从站通讯报警信息能直接传给触摸屏,不另行组态报警就好了。


你若安好便是晴天
以下网友喜欢您的帖子:

  
游侠

经验值: 498
发帖数: 88
精华帖: 0
回复:[博途]+我所用的DeviceStates指令块


只看楼主 只看精华 12楼 2018-12-18 21:59:29


很实用学习了!


学习快乐 快乐学习
以下网友喜欢您的帖子:

  
侠圣

经验值: 3245
发帖数: 239
精华帖: 2
回复:[博途]+我所用的DeviceStates指令块


只看楼主 只看精华 13楼 2018-12-30 17:21:47


谢谢楼主分享



诚心想各位学习,先谢谢各位高手,大神的指导。
以下网友喜欢您的帖子:

  
游民

经验值: 143
发帖数: 9
精华帖: 0
回复:[博途]+我所用的DeviceStates指令块


只看楼主 只看精华 14楼 2019-03-25 10:52:42

多谢指教,正好需要


 
以下网友喜欢您的帖子:

  
侠客

经验值: 667
发帖数: 152
精华帖: 0
回复:[博途]+我所用的DeviceStates指令块


只看楼主 只看精华 15楼 2019-03-25 11:51:25


,正好转到TIA上用到!


 
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
[博途]+我所用的DeviceStates指令块
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。