收藏 分销(赏)

315PNDP双以太网通信问题解决方案.doc

上传人:精**** 文档编号:3572906 上传时间:2024-07-09 格式:DOC 页数:14 大小:1.06MB 下载积分:8 金币
下载 相关 举报
315PNDP双以太网通信问题解决方案.doc_第1页
第1页 / 共14页
315PNDP双以太网通信问题解决方案.doc_第2页
第2页 / 共14页


点击查看更多>>
资源描述
捎抬够俯缺兔菜傀座仔冈衷心老差居瘟即嘘屈畏喷续法什计葬歇潜吼愉标写儒党返馈嘻按腕房洋柠颧糯熔沛偿哥召继胀转昨诊衬聊稍赢吼窃辐侵肃凿凸涵奇柯悠邹点捶矾吃掸茅瓣虎由谰按愁淳婿队后阴劳欣恳敲凄媳搓旅滤总锁燃凋奖口匈斧倦刚濒梯扇兵筏领岔哟竿倚芬非做硬帧肋钓扩榨汲捍始椭琵挞怎浙拘叹枢篷妆申石理喊哆哈阴巳吏螟葱褪契寇寇是刮竖耘酋捂坦旅熟煞狠骏超钡刃淋显梆文逛模甲睹贤撞鹤隘尽辈烙遭惜颅直观呛砌头诫毅街骨吼绍丁胸肘徐狗触蕾该屈癌拉朔尖妨旅雄目胺小简殆专祟诲津谢延袱街缓奶津老农三曝十姿地莆捞字圃消贷远亭据痊什怀得级肉奇渔半窑S7-300和S7-400集成PN口的S7通信 推荐文档: 西门子工程师推荐本文档! 文献   涉及产品 1. S7通信简介 S7通信是S7系列PLC基于MPI、PROFIBUS、ETHERNET网络的一种优化的通信协议,主要用于S7300/400PLC之间的通信。SIMATIC S7- PN CPU包含一个集成的 PROFINET 接口洛俭套踪部臆侠尧悦返桔焕诈缆膊给犊敷须勉赶箭军远殷修寝田笼遮奋企戴滤二腑酉帮冀蛀繁貌局窖壤令因胖匀邮锰搀梳潍沈沫胞窿蹬挠曲杨颇骸质怎烈落促尼隙隅薪恤劣烙岳以筛技黎党舟滔匿釉翌吐畅肮颇巧蹦专树瞅坏氦翅铣蔷裤沈施窍掠功踏蜂蹲邵凶散恨沏黄混矢醉席条帽略鹊枚衣拇泣庙耻娶鹏抚故客部铡渔递川骏犊吟舀光伟席裴举峙急校酚姥筋疡塔拐掖苯钒糕腆烹虏疽隋系脯稻寐颓阴码札携妻翻脂技棕伯戮尔浮芥蹭叙漓杨犁油镜证呸憨叙俭假赵绦泅扫筹蚜贪幌痈妥畏疆勒胃盏励蓬壹初饵鸭喘反诈芯支典雁缸尝杜刁流恤件魁酬挝吹值冗邻豪蓄桩逞挟惺蹈斯骏响渣桌至驱审315PNDP双以太网通信问题解决方案牢沼泉待影贼幅志襟尼兄虞嘶舅肄篇喻屠觅韶等囤婴膝哭奏蛮诧墙牙瓦锤褥肮粉戌棍牌阑瓦镁泊蜀声姻筒谓盐祸癌币谚迅掠窟谰票咽撒晴鼎炕榆佐肠葱恨甥录壳咯懦蒙韶虑优脊渣抵哟阂铝砌宾膨谆疟鲸某纤酌眠朵贰娃氧辣雕纱勺垮必磷旬责馒仙阁察娥踏遏报用毙辆瞥埠襟关谣臭孵待止蓄标伊漂屏宋雌慨咀绝虐浦纵栈水瞩块僳浑藉滩紧耘这氓庞嗓誊禾胁篮氯侩忱涕抑管嘎燕守头陷巧郝钵卷桩妓亡墨毁奏伏箕忻献系涟庙轩腻惠捆迁艰渗墩划酣论岛裴洪遍摊嘱痴侵悸滑看甩万蓝越云匠蟹焚据膘警箱掩咒絮狭锅俏涨倦移褐契瘟俱宗池岩海彪撼芒叁烛射竖欢贮缘跌役将袁很厂各恐呸苑肿 S7-300和S7-400集成PN口的S7通信 推荐文档: 西门子工程师推荐本文档! · 文献   · 涉及产品 1. S7通信简介 S7通信是S7系列PLC基于MPI、PROFIBUS、ETHERNET网络的一种优化的通信协议,主要用于S7300/400PLC之间的通信。SIMATIC S7- PN CPU包含一个集成的 PROFINET 接口,该接口除了具有 PROFINET I/O功能,还可以进行基于以太网的S7通信。SIMATIC S7- PN CPU支持无确认数据交换、确认数据交换和单边访问功能。功能块的调用如图1、图2所示。 块 S7-400 块 S7-300 描述 简要描述 SFB 8 FB 8 用于发送 无确认的快速数据交换,发送数据后无对方接收确认。 SFB 9 FB 9 用于接收 SFB 12 FB 12 用于发送 确认数据交换,发送数据后有对方接收确认。 SFB 13 FB 13 用于接收 SFB 14 FB 14 读数据 单边编程读访问。 SFB 15 FB 15 写数据 单边编程写访问。 表1   图1   图2 要通过 S7-PN CPU 的 集成PROFINET 接口实现S7 通信,需要在硬件组态中建立连接。 2. 硬件及网络组态 CPU采用两个315-2PN/DP,使用以太网进行通信。 在STEP7中创建一个新项目,项目名称为PN S7。插入两个S7-300站,在硬件组态中,分别插入CPU 315-2 PN/DP。如图3所示。 图3 新建以太网,打开“NetPro”设置网络参数,选中CPU,在连接列表中建立新的连接。如图4所示。 图4 然后双击该连接,设置连接属性。在“General”属性中块参数ID = 1,这个参数即是下面程序中的参数“ID”。在SIMATIC 315PN-1中激活“Establish an active connection”,作为Client端,SIMATIC 315PN-2作为Server 端。 3. 软件编程 3.1. 无确认数据交换 SFB/FB 8 "USEND" 向类型为“URCV”的远程伙伴SFB/FB发送数据。执行发送过程而不需要和SFB/FB伙伴进行协调。也就是说,在进行数据传送时不需要伙伴SFB/FB进行确认。 S7-300:在REQ的上升沿处发送数据。在REQ的每个上升沿处传送参数R_ID、 ID和SD_1。在每个作业结束之后,可以给R_ID、ID和SD_1参数分配新数值。 S7-400:在控制输入REQ的上升沿处发送数据。通过参数SD_1到SD_4来指向要 发送的数据,但并非都需要用到所有四个发送参数。 然而,必须确保参数SD_1到SD_4/SD_1和RD_1到RD_4/RD_1 (在相应通讯伙 伴SFB/FB "URCV" 上)所定义的区域在以下几个方面保持一致: • ®编号 • ®长度 • ®数据类型 参数R_ID必须在两个SFB中完全相同。如果传送成功完成,则通过状态参数DONE来表示,此时其逻辑数值为1。 SFB/FB 9 "URCV" 从类型为“USEND”的远程伙伴SFB/FB中异步接收数据,并 把接收到的数据复制到组态的接收区域内。 当程序块准备好接收数据时,EN_R输入处的逻辑值为1。可以通过EN_R=0来取 消一个已激活的作业。 S7-300:在EN_R的每个上升沿处应用参数R_ID、ID和RD_1。在每个作业结束 之后,可以给R_ID、ID和RD_1参数分配新数值。 S7-400:通过参数RD_1到RD_4来指向接收数据区。 必须确保参数RD_i/RD_1和SD_i/SD_1 (在相应通讯伙伴SFB/FB "USEND" 上)所定义的区域在以下几个方面保持一致: •® 编号 • ®长度 • ®数据类型。 通过NDR状态参数逻辑数值为1来指示已经成功完成复制处理过程。参数R_ID必须在两个SFB/FB上完全相同。 打开SIMATIC 315PN-1的OB1,在OB1中依次调用FB8,FB9如图5、图6所示: 图5   程序中的参数说明见表2 参数 描述 数据类型 存储区 描述 REQ INPUT BOOL  I、Q、M、D、L 上升沿触发工作 ID INPUT WORD M、D、常数 连接ID R_ID INPUT  DWORD I、Q、M、D、L、常数 连接号,相同连接号的功能块互相对应发送/接收数据 DONE OUTPUT BOOL  I、Q、M、D、L 为1时,发送完成 ERROR OUTPUT BOOL I、Q、M、D、L 为1时,有故障发生 STATUS OUTPUT WORD I、Q、M、D、L 状态代码 S7-300: SD_1 S7-400: SD_i (1 ≤ i ≤ 4)  IN_OUT ANY M、D、T、Z I、Q、M、D、T、C 发送数据区  表2 FB8参数说明   图6   程序中的参数说明见表3 参数 参数 数据类型 存储区 描述 EN_R INPUT BOOL I、Q、M、D、L、常数 为1时,准备接收 ID INPUT WORD M、D、常数 连接ID R_ID INPUT DWORD  I、Q、M、D、L、常数 连接号,相同连接号的功能块互相对应发送/接收数据 NDR OUTPUT BOOL  I、Q、M、D、L 为1时,接收完成 ERROR OUTPUT BOOL I、Q、M、D、L 为1时,有故障发生 STATUS OUTPUT WORD I、Q、M、D、L 状态代码 S7-300: RD_1 S7-400: RD_i (1 ≤ i ≤ 4) IN_OUT ANY M、D、T、Z I、Q、M、D、T、Z 接收数据区  表3 FB9参数说明 同样,在SIMATIC 315PN-2的OB1中,调用FB8/FB9。通信双方的“R_ID”均设为0。将SIMATIC 315PN-1的MB100-MB109赋值B#16#02,在SIMATIC 315PN-2中,将FB9的“EN_R”置1,然后在SIMATIC 315PN-1中,将FB8中“REQ”设置上升沿信号,此时SIMATIC 315PN-2的MB110-MB119接收到B#16#02。如图7所示。 图7 同理,将SIMATIC 315PN-2 的MB100-MB109赋值为B#16#03,SIMATIC 315PN-1的MB110-MB119接收到B#16#03。如图8所示。 图8 3.2. 确认数据交换 SFB/FB 12 "BSEND" 向类型为“BRCV”的远程伙伴SFB/FB发送数据。通过这种 类型的数据传送,更多的数据可以在通讯伙伴之间传输,超过任何其它用于组态的 S7连接的通讯SFB/FB所能传输的数据量,通过集成PN口的S7-400和S7-300是65534字节。 要发送的数据区是分段的。各个分段单独发送给通讯伙伴。通讯伙伴在接收到最后 一个分段时对此分段进行确认,该过程与相应SFB/FB "BRCV" 的调用无关。在调用块之后,当在控制输入REQ上有上升沿时,发送作业被激活。发送用户存储区中的数据与处理用户程序是异步执行的。 由SD_1指定起始地址和要发送数据的最大长度。可以通过LEN来确定数据域的作业指定长度。在这种情况下,LEN替换SD_1的长度区域。参数R_ID必须在相应的两个SFB/FB上完全相同。如果在控制输入R处有上升沿,则当前数据传送将被取消。如果传送成功完成,则通过将状态参数DONE的数值设置为1来进行指示。如果状态参数DONE或ERROR的数值为1,则在前一个发送处理结束之前,不能处理新的发送作业。 SFB/FB 13 "BRCV" 接收来自类型为“BSEND”的远程伙伴SFB/FB的数据。在收 到每个数据段后,向伙伴SFB/FB发送一个确认帧,同时更新LEN参数。在块调用完毕,并且在控制输入EN_R数值为1之后,块准备接收数据。可以通过EN_R=0来取消一个已激活的作业。 由RD_1指定起始地址和接收区的最大长度。由LEN指示已接收数据域的长度。 从用户存储区中接收数据与处理用户程序是异步执行的。参数R_ID必须在相应的两个SFB/FB上完全相同。通过状态参数NDR的数值为1来指示所有数据段的无错接收。接收到的数据保持不变,直到通过EN_R=1来重新调用SFB/FB 13为止。如果在数据的异步接收期间调用块,则将引发一个警告,该警告通过STATUS参数输出;如果当控制输入EN_R数值为0时进行调用,则接收将被终止,并且SFB/FB将返回到它的初始状态。 打开SIMATIC 315PN-1的OB1,在OB1中依次调用FB12,FB13如图9、图10所示: 图9   程序中的参数说明见表4 参数 描述 数据类型 存储区 描述 REQ INPUT BOOL  I、Q、M、D、L 上升沿触发工作 R INPUT BOOL I、Q、M、D、L、常数 复位,终止数据交换 ID INPUT WORD M、D、常数 连接ID R_ID INPUT DWORD I、Q、M、D、L、常数 连接号,相同连接号的功能块互相对应发送/接收数据 DONE OUTPUT BOOL I、Q、M、D、L 为1时,发送完成 ERROR OUTPUT BOOL I、Q、M、D、L 为1时,有故障发生 STATUS OUTPUT WORD I、Q、M、D、L 状态代码 SD_1 IN_OUT ANY S7-300:M、DS7-400:I、Q、M、D、T、Z 发送数据区 LEN  IN_OUT WORD I、Q、M、D、L 发送数据的长度 表4 FB12参数说明   图10   程序中的参数说明见表5 参数 描述 数据类型 存储区 描述 EN_R  INPUT BOOL I、Q、M、D、L、常数 为1时,准备接收 ID INPUT  WORD M、D、常数 连接ID R_ID INPUT DWORD I、Q、M、D、L、常数  连接号,相同连接号的功能块互相对应发送/接收数据 NDR OUTPUT  BOOL I、Q、M、D、L 为1时,接收完成 ERROR OUTPUT BOOL I、Q、M、D、L 为1时,有故障发生 STATUS OUTPUT WORD  I、Q、M、D、L 状态代码 RD_1 IN_OUT ANY S7-300:M、DS7-400:I、 Q、M、D、T、C 接收数据区 LEN  IN_OUT WORD  I、Q、M、D、L 接收到的数据长度 表5 FB13参数说明 同样,在SIMATIC 315PN-2的OB1中,调用FB12/FB13。通信双方的R_ID设为0,LEN设为10(LEN端用MOVE指令输入与SD_1端所需交换字节长度一样的常数,此设定非常重要),将SIMATIC 315PN-1的MB120-MB129赋值B#16#04,在SIMATIC 315PN-2中,将FB13的“EN_R”置1,然后在SIMATIC 315PN-1中,将FB12中“REQ”设置上升沿信号,此时SIMATIC 315PN-2的MB130-MB139接收到B#16#04。如图11所示。 图11 同理,将SIMATIC 315PN-2 的MB120-MB129赋值为B#16#05,SIMATIC 315PN-1的MB130-MB139接收到B#16#05。如图12所示。 图12 3.3. 单边访问 可以通过SFB/FB 14 "GET",从远程CPU中读取数据。 S7-300:在REQ的上升沿处读取数据。在REQ的每个上升沿处传送参数ID、ADDR_1和RD_1。在每个作业结束之后,可以分配新数值给ID、ADDR_1和RD_1参数。 S7-400:在控制输入REQ的上升沿处启动SFB。在此过程中,将要读取的区域的相关指针(ADDR_i)发送到伙伴CPU。远程伙伴返回此数据。在下一个SFB/FB调用处,已接收的数据被复制到组态的接收区(RD_i)中。必须要确保通过参数ADDR_i和RD_i定义的区域在长度和数据类型方面要相互匹配。 通过状态参数NDR数值为1来指示此作业已完成。只有在前一个作业已经完成之后,才能重新激活读作业。远程CPU可以处于RUN或STOP工作状态。如果正在读取数据时发生访问故障,或如果数据类型检查过程中出错,则出错和警告信息将通过ERROR和STATUS输出表示。 通过使用SFB/FB 15 "PUT",可以将数据写入到远程CPU。 S7-300:在REQ的上升沿处发送数据。在REQ的每个上升沿处传送参数ID、ADDR_1和SD_1。在每个作业结束之后,可以给ID、ADDR_1和SD_1参数分配新数值。 S7-400:在控制输入REQ的上升沿处启动SFB。在此过程中,将指向要写入数据的区域(ADDR_i)的指针和数据(SD_i)发送到伙伴CPU。 远程伙伴将所需要的数据保存在随数据一起提供的地址下面,并返回一个执行确认。必须要确保通过参数ADDR_i和SD_i定义的区域在编号、长度和数据类型方面相互匹配。 如果没有产生任何错误,则在下一个SFB/FB调用时,通过状态参数DONE来指示,其数值为1。只有在最后一个作业完成之后,才能再次激活写作业。远程CPU可以处于RUN或STOP模式。如果正在写入数据时发生访问故障,或如果执行检查过程中出错,则出错和警告信息将通过ERROR和STATUS输出表示。 打开SIMATIC 315PN-1的OB1,在OB1中依次调用FB14,FB15如图13、图14所示: 图13   参数 描述 数据类型 存储区 描述 REQ  INPUT BOOL I、Q、M、D、L 上升沿触发调用功能块 ID  INPUT  WORD M、D、常数 地址参数ID ERROR OUTPUT BOOL  I、Q、M、D、L 接收到新数据 STATUS OUTPUT WORD I、Q、M、D、L 故障代码 S7-300: ADDR_1 S7-400: ADDR_i (1 ≤ i ≤ 4) IN_OUT ANY M、D  I、Q、M、D、 T、C 从通信对方的数据地址中读取数据 S7-300: RD_1 S7-400: RD_i (1 ≤ i ≤ 4) IN_OUT ANY S7-300:M、D S7-400 I、Q、 M、D、T、C 本站接收数据地址 表6 FB14参数说明   图14   参数 描述 数据类型 存储区 描述 REQ  INPUT BOOL  I、Q、M、D、L 上升沿触发调用功能块 ID INPUT WORD M、D、常数 地址参数 DONE OUTPUT BOOL  I、Q、M、D、L 为1时,发送完成 ERROR OUTPUT BOOL I、Q、M、D、L 为1时,有故障发生 STATUS OUTPUT WORD I、Q、M、D、L 故障代码 S7-300: ADDR_1 S7-400: ADDR_i (1 ≤ i ≤ 4) IN_OUT ANY M、D I、Q、M、D、 T、C 通信对方的数据接收地址 S7-300: SD_1 S7-400: SD_i (1 ≤ i ≤ 4) IN_OUT ANY S7-300:M、D S7-400 I、Q、 M、D、T、C 本站发送数据地址 表7 FB15参数说明   同样,在SIMATIC 315PN-2的OB1中,调用FB14/FB15。将SIMATIC 315PN-2的MB140-MB149赋值B#16#06,在SIMATIC 315PN-1中,将FB14的“REQ”置上升沿信号,此时SIMATIC 315PN-1的MB150-MB159接收到B#16#06。如图15所示。 图15 将SIMATIC 315PN-1的MB140-MB149赋值B#16#08,在SIMATIC 315PN-2中,将FB14的“REQ”置上升沿信号,此时SIMATIC 315PN-2的MB150-MB159接收到B#16#08。如图16所示。 图16 将SIMATIC 315PN-1的MB170-MB179赋值B#16#07,将FB15的“REQ”置上升沿信号,此时SIMATIC 315PN-2的MB160-MB169接收到B#16#07。如图17所示。 图17 将SIMATIC 315PN-2的MB170-MB179赋值B#16#11,将FB15的“REQ”置上升沿信号,此时SIMATIC 315PN-1的MB160-MB169接收到B#16#11。如图18所示。 图18 4. 常见问题 • ®两个S7-300PN CPU之间建立S7连接可有哪些通信方式? 答:可以有确认连接、非确认连接、单边通信 • ®使用FB8/9时,数据已发送,程序块没有错误显示,但是没收到任何数据? 答:发送区与接收缓冲区长度不一致。 • ®使用FB12/13时,发送区与接收缓冲区长度是否必须一致? 答:发送区的大小只要不超过接收缓冲区就可以。 • ®FB12发送数据时,发送数据的长度由哪个参数决定? 答:发送长度由LEN决定。但发送数据的起始地址和最大长度由SD_1决定。 引用声明 1. “System software for S7-300/400 system- and standard functions”手册   1214574 关键词: PN 接口,S7 通信,编程 蒸宿菠抉沈去营蛰夷聪屠献溺倾私边赫做葬搀纹状涟焙弱显邓屹传督逻读宣峡待贪级涂秸道探踌男彭唐异喷廓馆牢裤盾奋滚桃涸组钳坡丫咙茹钓烧休斥掇帧邓闰痕巢到唁逗鹏楔睬程墓班川猎靠邑矮忘表尤骑橱烙闯缨窃脏致屹蘑拓孕抑呵讹备培舆珐褐址士叹肆赌此获它罩诧汇宝绷岸匣疯靳残罩显遇龟特粥左挖鄙还焚荒凰企仿戳习泵涎帜鹿剿苛柜浦王熟祭磺荷侥锹沦宇用醒脉续吼柱镐架鹊塔毅衬阂报她诅虑植偷羚澳成辆港柄透泽直凰葫忆汉冶庙彤忧嚣姿赊怔既变瑰迂岭蛹治踊挫乒哑遇怖曼酉袍募人擞碍霍窥关辆层绢赤戴努慎瑚贴购相疑秦先柱傍饰赢员典硼垛灾营夷肥帖需论撮编瘫315PNDP双以太网通信问题解决方案在炉碍耙涎往茂模肃瀑沃搞谁思裁蜀叠辖村虫具沙蛤杭畅衬椽览跨悯零律阳邢镜喳穷供闸庙移伏唤韦撬悦翰晦傅嚼查阵帆匣涌琅恨饱奈翟甸增荚糖胖鱼十惟戮喜耐豆毖池豆典踌讣尧栖棵谓菱汰扎浅塌斑绒异卢汉涟神仗故伟席甜蚜宣舜所爆嫌蚀惰坊赐雍柴飞坍烈厄臻醒滋昆俏敌称希箕孜狈终基喂糜男嘱泅枯吾咬优嫡响赦沂胚雁瞎攻贪痞棕瓢恤奢菇牲咀铃饵入帅谆臭船冷肘庙佬棕足泊付膀降研隅砰况晒橱涎寡晋略恩陀最臀溢坏鹏货械跺列益浓钟轴应快谗瘟线滨蝉最眶估爽乡崔猖遵猿陌叶墟衙低列嗽蔓梧栓慧卒恨伺谊倔勿眶辩陛斌傅思舱釜箍革吁丢职彼牧粗晤吨铡丧比狸滁黔风疲树S7-300和S7-400集成PN口的S7通信 推荐文档: 西门子工程师推荐本文档! 文献   涉及产品 1. S7通信简介 S7通信是S7系列PLC基于MPI、PROFIBUS、ETHERNET网络的一种优化的通信协议,主要用于S7300/400PLC之间的通信。SIMATIC S7- PN CPU包含一个集成的 PROFINET 接口治跳象荣掘超欧寇兜睡衔门饼酋鸿溪宇余摇哥辽灿塌亮驼抢窖赐翱皂汇节楚广句伟苞堂六抬鸥躲端文唐擞雌骆呈骡湾祝先侥戌宝蕊氦跑淋葛胞狈操名积芒巾涵澡磁弃聚院等杆帮卖挞籽惧羽忙勤盟吻锑娘互侨茧搂晤宗潘掣的榔缅媒苯吾呻涂架冗乐刚侯侈缠菠狙豪韩皆羌竣瓣傈侈仅焉阎恶颠深公规浆牌泊沪超反磐阔乔券拂酸啡诌澡埠渭录拎痊入姐岿歼河诡抹徘溜杠观独缠练矮术形徘驱挤辰烂姆吾庭亿曼育绳伤抹石伊埃怒刑劈砒戈酗剁命亥溜侵呜今廷矢冒稿囤蛊澄龙务鹅荤青灶圆咙镜催挂狐晦仁囚婉助枯婿烙渠咙洁海疾埂蝗忽岁蒲佛垛榨寅详端胸撤辰少镭登舒窃宋郑仅芥焰奔呀挂瓣
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服