来自西门子技术支持热线的故事:为什么我的CH_DI 输出值不受控制?

已锁定

西门子PA

官方工程师

  • 帖子

    40
  • 精华

    1
  • 被关注

    155

论坛等级:游侠

注册时间:2011-03-30

普通 普通 如何晋级?

来自西门子技术支持热线的故事:为什么我的CH_DI 输出值不受控制?

1500

1

2011-12-22 16:53:31

有一个客户反映了他的CH_DI工作不正常,现象描述如下:在没有输入值的情况下,过程值有输出;过程值和鼠标停留在输出时显示值不一致;甚至连部分功能块的仿真功能都有问题。
  CH_DI块用于S7-300/400 SM 数字输入模块的数字输入值信号处理,没有过多的设置,替代值和仿真值在使用过程中容易出问题,正常情况下过程值会跟随输入值的变化。客户先是发送故障截图,故障信息如下:



  比较奇怪的现象,问题出在什么地方呢?会不会是在编译和下载过程中出现错误导致的呢?在推荐客户进行编译下载无果后,无奈之下让客户发送程序。
  检查用户的日志记录发现用户仅仅做了部分编译和部分下载,可能问题出在这里。再次与用户联系,确定以下信息:采用全部编译和下载;编译和下载过程中没有提示错误;存储卡的类型为RAM卡。这几项都没有问题,用PLCSIM下载用户的程序测试,复现了用户描述的现象。(挠头ing……)
  第二天在测试过程中发现过程值竟然一会是“0”一会是“1”,而此时输入输入值一直为“0”。会不会是与CH_DI的相关的数据块出问题了呢?开始分析用户的程序,监视输入相关的数据块,发现这个数值也在变化。原来问题在这里啊。看到曙光了,继续查看程序。明明已经被系统占用了的DB 146却出现在了用户自己定义的FC块中。如下图所示。



  联系客户询问相关的功能块和DB块,原来这几个功能块用来做通信用的。客户发现DB 146没有被使用就用这个DB来存储数据了。而此时系统在编译的过程中又将这个DB分配给其他系统块使用,这样就发生了冲突,导致了前面客户描述的现象。
  我们知道在CFC的编译/下载参数中,可以设置客户使用的DB和FC的范围,在用户使用该范围外的FC时,编译过程中会提示用户,这样能够引起用户注意。如下图所示在程序中使用FC 10,但是在编译/下载参数中设置FC的范围为60~700,在编译过程中会提示超出范围错误。



但是对于DB块往往容易被忽视,系统不会去检查这个DB是否被用户使用,所以就出现了故事中的奇怪问题。
  好了!故事先写到这里。欢迎您关注更多的西门子热线故事!
来自西门子技术支持热线的故事:为什么我的CH_DI 输出值不受控制? 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

DCS/SIMATIC PCS7

共有4457条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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