首先看一下S7-1500与S7-300/400的调试功能有什么样的区别呢?
第一:S7-300/400可以单独一个块下载,而S7-1500必须是一致性下载,就是所有的块都下载。
第二:上载功能,S7-1500可以上载一个块,但是只能上载块中的符号名称,而S7-300/400上载的是绝对地址。
基于这两点,S7-400的团队调试功能应该更方便,但是S7-1500也有自己的独特性,例如其他人修改了程序后,立刻会有状态通知,所有团队成员程序总是保持一致性。
其次分析一下使用S7-1500的团队调试功能可能会出现的问题,这也是上次与用户交流时发现了一个问题,很有普遍性。例如有两个工程师A和B同时调试一个S7-1500CPU,A在FC1中添加一个常开点变量M1.1符号名称缺省为TAG_1,然后下载到CPU中,那么B同时也在FC2中添加一个常开点变量M10.1,符号名称缺省也是TAG_1,这样问题来了,下载FC2时会提示进行程序同步,先上载,那么上载FC1中的变量只是TAG_1,而没有M1.1,到了B中,TAG_1对应的是M10.1,那么FC1中原来M1.1的变量就变成了M10.1。这样程序就混乱了。同样如果在B中没有符号名称TAG_1对应的变量,那么只能显示TAG_1,需要B手动添加。而且必须问A才能知道,非常不方便。那么可不可以上载符号名称呢,可以,但是必须整个站点上载,这样B修改的程序就被覆盖了,也不能这样做。所以团队调试时符号名称必须提前定义。
如果想像S7-400一样随时添加变量怎么办,使用DB块就可以了,因为DB块包含符号名称。其它的方法还没有想到,有建议可以一起分享!