技术论坛

 崔坚版《西门子工业网络通信指南》(下册)中S5与S7通过ISO(SEND/RECEIVE)通讯中的问题请教?

返回主题列表
作者 主题
kaidy
侠圣

经验值:2044
发帖数:730
精华帖:1
楼主    2011-04-05 23:31:22
主题:崔坚版《西门子工业网络通信指南》(下册)中S5与S7通过ISO(SEND/RECEIVE)通讯中的问题请教?
书中讲的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均在运行状态,没有任何报警),这是为什么呢?不知道问题出在哪里了?请各位大侠帮助指导解决一下,谢谢!
I can do anything if I want
kaidy
侠圣

经验值:2044
发帖数:730
精华帖:1
1楼    2011-04-08 23:43:45
精华帖  主题:回?崔坚版《西门子工业网络通信指南》(下册)中S5与S7通过ISO(SEND/RECEIVE)通讯中的问题请教?
各位好,经过这几天我对崔坚版《西门子工业网络通信指南》(下册)中S5与S7通过ISO(SEND/RECEIVE)的仔细研读以及S7的帮助文件,还有就是COM1430的资料,以上问题我终于搞清楚了。
一、书中最后介绍的是“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与S5之间既要交换,S5中SEND(FB120)、RECEIVE(121)程序块必须要激活才能正常交换数据,及调用SEND(FB120)、RECEIVE(121)之前必须要使RLO=1,才能正常执行SEND(FB120)、RECEIVE(121),才能完成数据的发送和接收。
I can do anything if I want
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。