S7-200的以太网通讯模块CP243-1使用中的常见问题

来自西门子技术支持热线的故事:CP243-1的困惑
大家好,作为一个热线工程师,今天通过一个热线案例和大家聊一下S7-200的以太网通讯模块CP243-1使用中的常见问题。
 过程是这样的:
 客户:CP 243-1模块和S7-300系统通讯,为什么可以收到数据,但是不能写呢?
 me:首先检查程序块的返回值,“ETH0_XFR”块的 “Done” 和 “Error”表明了通讯的状态。
 客户:检查ing……130
 


 me: (心里活动:嗨!高兴!常见问题!好解决!)每个“ETH0_XFR”执行一个连接里的一次数据传输(读操作或写操作,每个连接下可组态多个数据传输)但是同一连接下的多个数据传输不能够同时执行,也就是说“ETH0_XFR”不能同时执行多个。第一个方法,可以编写轮询程序解决,也就是说执行完一个在执行第二个…..编程思路…..此处省去1000字;(详细内容可以参考下面文档中Modbus 主站轮询程序)口干ing,喝口水继续…第二个方法,不同连接下的数据传输可以同时执行,所以要是懒得再编程,连接资源也富裕,就再建一个连接,分别读写。(心理满足!心想肯定没问题了!)
 http://www.ad.siemens.com.cn/download
 文档编号:A0136
 客户随后就去处理,我想也应该没问题了,于是信心饱满的关掉了这个问题。可是,过了一会儿,电话再次响起:
 客户:程序修改后,报错代码变了。现在报:6号错误。
 

 Me:嗯,于是首先打开STEP7 Micro/Win 的帮助查看错误描述。一看(心理活动:晕!好抽象的描述)。
 

 (其实6号错误也是通讯过程中容易出现的问题,这是为什么呢?我们打开向导看一看,如下:)通讯对象的数据区是DB76.DBB90-DB76.DBB129 一共40个字节。于是问客户,S7-300站检查过程序吗,DB76是否存在?数据区够不够长?
 

 客户:我只是做200站,也不能确定300站那边的状况,应该没问题吧…..去联系一下对方,稍后打给你。
 Me: 好的!(心理-历史再一次证明,做通讯,什么最终要!!答:沟通)
 30分钟后,电话再次响起,是做S7-300站的工程师:
 客户:咋了!我检查哪部分?(客户有点急)
 Me:通讯的数据区您都检查了吗?都存在不?
 客户:没问题!
 Me: DB76建立了吗?
 客户:建立了!
 Me: DB76.DBB90在不?
 客户:在!
 Me:DB76.DBB129在不?
 客户:在!…..等等,没建那么长,我不用行不行?
 Me: 不行,在向导里设定的数据区必须都要存在。
 于是,经过修改,问题解决了!我想,终于解决了!但是第二天,客户又打过来了电话:
 客户:您好,我现在又增加了一个S7-300的站,为什么总连接不上,程序报错:5号。
 

 Me: 老步骤,打开帮助看错误描述。
 

       很明显,和对方的连接没有建立,于是和客户一起检查了所有的参数,都应该没有问题。所以考虑问题还是出在300站那边。对于S7单边通讯,CP343-1作为服务器会占用CP343-1的一个S7连接资源,同时,还会占用CPU的一个S7连接资源。如果组态的时候把CPU的资源硬性分配给其他通讯,可能会造成通讯资源的不足,如下:此时CPU的8个资源已经固定分配给了PG/OP/S7 basic communication,所以资源明显不够了。
 

 后来果然经过检查,果然是这个问题。于是问题就解决了!
   通过客户的这一连串的问题,我们可以看出CP243-1使用起来还是有很多细节需要注意的!而且,通讯过程中问题往往不是自己这边就能解决的,还是那句老话-作通讯神马最重要-沟通!

Write a comment

Comments: 1
  • #1

    sex telefon (Monday, 16 January 2017 21:53)

    sterowny