最近别人做了一个项目用314c-2dp做软冗余,现场调试无论如果也不能建立软冗余的连接。我到现场后仔细检查了软冗余的功能块的调用情况,也没有发现问题,最后给西门子的技术支持打电话。他们也没有说出什么来,只是说软冗余功能经过测试的,没有问题。然后我就在现场帮助他仔细查看程序。最后没有办法,只用软冗余的功能块调试,系统没有问题,然后我又照着他写得程序只是把功能块里面的数据块的数量改了,测试还是正常的,那么就说明功能块没有问题,我把他做的所有程序都加进去好的,可以是过了没有多久就不行了。在线调试发现很多读写区域长度错误。然后我就着重检查程序了!看看编写的程序也没有问题,最后偶然发现在他做的冗余功能里面交换了几个空的数据块。经过询问,这几个数据块都是另外的人调试的时候加进去的没有用的数据块。最后我把这些数据块删除,然后调整了冗余功能里面处理的数据块数量,下装好了!
结论:1、自己的程序不要让别人乱改。2、交换的数据块中不要存在空的数据块。