该项目是工控机上CP5611卡通过DP线连接了两套CPU226,1#CPU226的通讯始终正常,2#CPU226的通讯时而会不通。我在两套CPU中分别测试观察了一个实数变量,发现把1#CPU226的DP头拔掉后,画面中该值仅是显示发灰,但值仍为某一具体实数。用同样的方法把2#CPU226的DP头拔掉后,画面中该值显示发灰,但经过约30秒后,该值变为了0。我想问这是什么原因?如何才能保证2#CPU226的通讯正常,把2#CPU226的DP头拔掉后,画面中该值保持不变呢?
问题补充:
我的另一个项目通讯正常,跟该项目有相同的配置,但采用相同的测试方法后,即把2#CPU226的DP头拔掉后,画面中该值显示发灰,但值为某一实数,并保持不变。
最佳答案
我觉跟你拔掉DP线没有太大关系,如果组网正确,硬件是通的情况下,可能还是程序设计的问题,程序没有做好,可以参考下面的资料:
《SIMATIC NET OPC Server与 S7-200/EM277的 S7连接》
http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=A0303
《SIMATIC NET OPC Server 与 S7-200/EM277 的 DP 连接》
http://www2.ad.siemens.com.cn/download/Upload/AS/application/A0523.pdf
《通过OPC Server连接S7-200和WinCC》连接:
http://www.mw35.com/sof*are/986.html
现成的资料《WINCC与S7-200如何通讯》连接:
http://wenku.baidu.com/view/2aad78d233d4b14e85246823.html
《PC Access快速入门》下载:
http://www2.ad.siemens.com.cn/download/Upload/AS/application/A0297.pdf
《WINCC与S7-200通信》下载:
http://www2.ad.siemens.com.cn/download/Upload/AS/faq/21915573.pdf
提问者对于答案的评价:
首先非常感谢大家的帮助。经过试验发现将WINCC脚本程序中采用的函数GetTagFloatWait()改为GetTagFloat()就可以解决问题了。
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc365811.html