书中讲的S5与S7通过ISO(SEND/RECEIVE)通讯中,S7端SEND:=P#DB10.DBX10.0 BYTE 10 (S7端数据发送区为DB10.DBB10~DB10.DBB19);RECV:=DB10.DBX50.0 BYTE 10(S7端数据接收区为DB10.DBB50~DB10.DBB59)。S5端数据发送区为DB10.DBW0~DB10.DBW4;S5端数据接收区为DB10.DBW10~DB10.DBW14。可是书中最后介绍的是“S5将DB10.DBW0~DB10.DBW4的数据发送到S7数据块DB10.DBB0~DB10.DBB9中,接收S7数据发送的数据DB10.DBB50~DB10.DBB59放在本地DB10.DBW0~DB10.DBW4数据块中。”我认为此处不正确。应该是“S5将DB10.DBW0~DB10.DBW4的数据发送到S7数据块DB10.DBB50~DB10.DBB59中,接收S7数据发送的数据DB10.DBB10~DB10.DBB19放在本地DB10.DBW0~DB10.DBW4数据块中。”这是第一个问题。
第二个问题:我按照书中所指示,完整的做了一遍书中所讲的程序,只是将S7端CPU318-2换成CPU414-2,CP343-1换成CP443-1,其他完全是按照书中所讲的做的,经过测试,S7端连接已经成功建立并且SEND块和RECEIVE块中的STATUS的值为“8181(激活作业)”说明S7端得通讯是没有问题的。S5端SEND块中ANZW的值为“8”和RECEIVE块中的ANZW的值为“9”(说明连接建立,接收和发送正常)说明S5端得通讯也是没有问题的。问题出现了:在S5端我手动给DB10.DBW0赋值,但是对应的S7程序中DB10.DBW50(DB10.DBB50,DB10.DBB51)没有任何变化,在S7端给DB10.DBW10(DB10.DBB10,DB10.DBB11)赋值,对应的S5程序中的DB10.DBW0也是没有任何变化。交换机上的指示灯一直在闪烁,说明之间是有数据交换的。S7、S5端均能正常工作(CPU、CP均在运行状态,没有任何报警),这是为什么呢?不知道问题出在哪里了?请各位大侠帮助指导解决一下,谢谢!