300plc之间以太网通信.docx

上传人:李司机 文档编号:7120606 上传时间:2024-06-15 格式:DOCX 页数:15 大小:139.60KB
返回 下载 相关 举报
300plc之间以太网通信.docx_第1页
第1页 / 共15页
300plc之间以太网通信.docx_第2页
第2页 / 共15页
300plc之间以太网通信.docx_第3页
第3页 / 共15页
300plc之间以太网通信.docx_第4页
第4页 / 共15页
300plc之间以太网通信.docx_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《300plc之间以太网通信.docx》由会员分享,可在线阅读,更多相关《300plc之间以太网通信.docx(15页珍藏版)》请在三一办公上搜索。

1、S7-300和S7-400集成PN口的S7通信举荐文档:西门子工程师举荐本文档!文献涉及产品1.S7通信简介S7通信是S7系列P1.C基于MPI、PROFlBUS、ETHERNET网络的一种优化的通信协议,主要用于S7300/400P1.C之间的通信。SlMATICS7-PNCPU包含一个集成的PROFINET接口,该接口除了具有PROFlNETDo功能,还可以进行基于以太网的S7通信。SIMATICS7-PNCPU支持无确认数据交换、确认数据交换和单边访问功能。功能块的调用如图I、图2所示。块S7-400块S7-300描述简要描述SFB8FB8用于发送无确认的快速数据交换,发送数据后无对方接

2、收确认。SFB9FB9用于接收SFB12FB12用于发送确认数据交换,发送数据后有对方接收确认。SFB13FB13用于接收SFB14FB14读数据单边编程读访问。SFB15FB15写数据单边编程写访问。表1E)3SFBblocks人+QSFCblocksMultipleinstances-fff1.ibraries+Qstdlibs+ QStandard1.ibrary+ 0SystemFunctionBlocks+ 055-S7ConvertingBlocks+ IECFunctionBlocks+ jOrganizationBlocks+ 我PlDCOntrOlBloCkSCommunic

3、ationBlocksFB8USENDCPU_300FB9URCVCPU_300FB12BSENDCPU_300FB13BRCVCPU_300FBHGETCPU_300FB15PUTCPU300+StdiibS-QStandard1.ibrary,-SystemFunctionBlocksSFBOCTUIEC_TCSFBlCTDIEC,TCSFB2CTUDIEC_TCSFB3TPIEC_TCSFB4TONIEC_TC5FB5TOFIEC_TCSFB8USENDCOM.FUNCSFB9URCVCOM,FUNCSFB12BSENDCOM,FUNCSFB13BRCVCOM.FUNCSFBHGETCO

4、M,FUNCSFB15PUTCOM_FUNCSFB16PRINTCOM_FUNCSFB19STARTCOM_FUNCSFB20STOPCOM_FUNCSFB21RESUMECOM_FUNC5FB22STATUSCOM.FUNCSFB23U5TATU5COM_FUNC5FB29H5.C0UNTCOUNTERS图2要通过S7-PNCPU的集成PROFINET接口实现S7通信,须要在硬件组态中建立连接。2 .硬件及网络组态CPU采纳两个315-2PN/DP,运用以太网进行通信。在STEP7中创建一个新项目,项目名称为PNS7。插入两个S7-3OO站,在硬件组态中,分别插入CPU315-2PNDPo如

5、图3所示。SIMATICManager-PNS7-d:siemenss7projPn_s7故FileEditInSertP1.CViewOPtiOnSWindowHelpDg8T三?!felQaaia臼巷圆冏一昌SIMATIC315PN1SHSIMATIC315PN-1WSIMATIC315PN-2由国SIMATIC315PN2需MPI普EtherneU8)新建以太网,打开“NetPro”设置网络参数,选中CPU,在连接列表中建立新的连接。如图4所示。n.+hernetEIndustrialEthernetTT322图4然后双击该连接,设置连接属性。在“Genera属性中块参数ID=I,这个参

6、数即是下面程序中的参数“ID”。在S1MATIC315PN-1中激活“EstablishanaCtiVeeonneCtion”,作为CHenl端,SlMATlC315PN2作为SerVer端。3 .软件编程3.1. 无确认数据交换SFB/FB8USEND向类型为“URCV”的远程伙伴SFBZFB发送数据。执行发送过程而不须要和SFB/FB伙伴进行协调。也就是说,在进行数据传送时不须要伙伴SFB/FB进行确认。S7-3:在REQ的上升沿处发送数据。在REQ的每个上升沿处传送参数RD、ID和SD。在每个作业结束之后,可以给RD、ID和SD参数安排新数值。S7-4:在限制输入REQ的上升沿处发送数据

7、。通过参数SD_I到SD_4来指向要发送的数据,但并非都须要用到全部四个发送参数。然而,必需确保参数SD_1到SD_4/SD_1和RD_1到RD_4/RD_1(在相应通讯伙伴SFB/FBURCV上)所定义的区域在以下几个方面保持样: f编号 f长度 T数据类型参数RD必需在两个SFB中完全相同。假如传送胜利完成,则通过状态参数DoNE来表示,此时其逻辑数值为1.SFB/FB9URCV从类型为USEND”的远程伙伴SFB/FB中异步接收数据,并把接收到的数据复制到组态的接收区域内。当程序块打算好接收数据时,EN_R输入处的逻辑值为1。可以通过EN_R=0来取消一个已激活的作业。S7-3:在EN_

8、R的每个上升沿处应用参数RD、ID和RD。在每个作业结束之后,可以给RD、ID和RD参数安排新数值。S7-400:通过参数RD到RD_4来指向接收数据区。必需确保参数RD_i/RD_l和SD_i/SD_l(在相应通讯伙伴SFB/FBUSEND上)所定义的区域在以下几个方面保持一样: 编号长度 T数据类型。通过NDR状态参数逻辑数值为1来指示已经胜利完成复制处理过程。参数RD必需在两个SFB/FB上完全相同。打开SlMATlC315PNJ的OBl,在OBl中依次调用FB8,FB9如图5、图6所示:图5程序中的参数说明见表2参数描述数据类型存储区描述REQINPUTBOO1.I、Q、M、D、1.上

9、升沿触发工作IDINPUTWORDM、D、常数连接IDRDINPUTDWORDI、Q、M、D、1.、常数连接号,相同连接号的功能块相互对应发送/接收数据DONEOUTPUTBOO1.I、Q、M、D、1.为1时,发送完成ERROROUTPUTBOO1.I、Q、M、D、1.为1时,有故障发生STATUSOUTPUTWORDI、Q、M、D、1.状态代码S7-300:SD_1S7-400:SDJ(li4)IN_OUTANYM、D、T、Z1.Q、M、D、T、C发送数据区表2FB8参数说明Retvozk2:Title:DB9FB9UncoordinatedReceivingofDataURCV*CM11M

10、AM9.0-EN_RNDR-M9.1W#16#l-IDERROR-M9.2MD26-R_IDSTATUS-MW30P#M110.0BYTE10-RD_1图6程序中的参数说明见表3参数参数数据类型存储区描述EN_RINPUTBOO1.I、Q、M、D、1.、常数为1时,打算接收IDINPUTWORDM、D、常数连接IDRDINPUTDWORDI、Q、M、D、1.、常数连接号,相同连接号的功能块相互对应发送/接收数据NDROUTPUTBOO1.1、Q、M、D、1.为1时,接收完成ERROROUTPUTBOO1.I、Q、M、D、1.为1时,有故障发生STATUSOUTPUTWORDI、Q、M、D、1.

11、状态代码S7-300:RD_1S7-400:RDJ(li4)IN_OUTANYM、D、T、ZkQ、M、D、T、Z接收数据区表3FB9参数说明同样,在SIMATIC315PN2的OBl中,调用FB8/FB9。通信双方的“R_ID”均设为0。将SlMATlC315PNJ的MBlOO-MB109赋值B#16#()2,在SlMATIC315PN-2中,将FB9的“EN_R”置1,然后在SlMATIC315PN/中,将FB8中“REQ”设置上升沿信号,此时SIMATlC3】5PN-2的MBIIO-MBI19接收到B#16#02.如图7所示。口VarVAITable(Mtr刊D同旧X隹|卜IXlWl刈I5

12、访5闻咽39S7SIMATiC315PN1fPU3j7PN)PS7&皿&,2宣中1413元ISr*olD9lyfortSttiusvlvModitjvlu出A44rxtSrbolW2lfor*tSttuv1q4XS100W602M1602HisnoHEXBt!6029IB101HEXyW16f02BX16tO220KBIIIHEX/7Bl6t0210IB102HEXM1M02BS16O221IB112HEX/Btl60211IB103hex发送的ai6102B160222RB113H堂收到的Bfl6t021213104he1一W16102W1602MKBn4H改据TB41602图7同理,将Sl

13、MATlC315PN-2的MB100-MB109赋值为B#16#03,SlMATlC315PN-I的MBllo-MB119接收到B#16#O3如图8所示。&EdtlrrtPlCV,d6ewOf刽Ddi受IRIMElN阵UJgIl府回蚓闻上IjVAT_1MNSzIMAllC31PN1KPU3152PNM)S7Profn(A44111312PWS7P11VAU-F*qu”213,nqREXHEX.:UI603Mefo3Bflefo3M16fO3发送的数据U16103BfI803Bli6t03Bfl6t03MI6IO3图83.2. 确认数据交换SFB/FB12,BSEND向类型为“BRCV”的远程伙

14、伴SFB/FB发送数据。通过这种类型的数据传送,更多的数据可以在通讯伙伴之间传输,超过任何其它用于组态的S7连接的通讯SFB/FB所能传输的数据量,通过集成PN口的S7-400和S7-300是65534字节。要发送的数据区是分段的。各个分段单独发送给通讯伙伴。通讯伙伴在接收到最终一个分段时对此分段进行确认,该过程与相应SFB/FBBRCV的调用无关。在调用块之后,当在限制输入REQ上有上升沿时,发送作业被激活。发送用户存储区中的数据与处理用户程序是异步执行的。由SD指定起始地址和要发送数据的最大长度。可以通过1.EN来确定数据域的作业指定长度。在这种状况下,1.EN替换SD的长度区域。参数R_

15、lD必需在相应的两个SFB/FB上完全相同。假如在限制输入R处有上升沿,则当前数据传送将被取消。假如传送胜利完成,则通过将状态参数DoNE的数值设置为】来进行指示。假如状态参数DONE或ERRoR的数值为1,则在前一个发送处理结束之前,不能处理新的发送作业。SFB/FB13BRCVm接收来自类型为“BSEND”的远程伙伴SFB/FB的数据。在收到每个数据段后,向伙伴SFB/FB发送一个确认帧,同时更新1.EN参数。在块调用完毕,并且在限制输入EN_R数值为1之后,块打算接收数据。可以通过EN_R=O来取消一个已激活的作业。由RD-I指定起始地址和接收区的最大长度。由1.EN指示已接收数据域的长

16、度。从用户存储区中接收数据与处理用户程序是异步执行的。参数RD必需在相应的两个SFB/FB上完全相同。通过状态参数NDR的数值为】来指示全部数据段的无错接收。接收到的数据保持不变,直到通过EN_R=1来重新调用SFB/FB13为止。假如在数据的异步接收期间调用块,则将引发一个警告,该警告通过STATUS参数输出:假如当限制输入EN_R数值为O时进行调用,则接收将被终止,并且SFB/FB将返回到它的初始状态。打开SIMATIC315PN的OB1.在OBl中依次调用FB12,FBI3如图9、图M)所示:Netvork3:Title:DB12FB12SendingSegmentedDataBSEND

17、M12.0-REQDONE-M12.2M12.1-RERROR-M12.3W#16#l-IDSTATUS-MW38MD32-R_IDP#M120.0BYTE10-SD_1MW36-1.EN图9程序中的参数说明见表4参数描述数据类型存储区描述REQINPUTBOO1.I、Q、M、D、1.上升沿触发工作RINPUTBOO1.I、Q、M、D、1.、常数复位,终止数据交换IDINPUTWORDM、D、常数连接IDRDINPUTDWORDI、Q、M、D、1.、常数连接号,相同连接号的功能块相互对应发送/接收数据DONEOUTPUTBOO1.I、Q、M、D、1.为1时,发送完成ERROROUTPUTBOO

18、1.I、Q、M、D、1.为1时,有故障发生STATUSOUTPUTWORDI、Q、M、D、1.状态代码SD_1IN_OUTANYS7-300:M、DS7-400:I、Q、M、D、T、Z发送数据区1.ENIN_OUTWORDI、Q、M、D、1.发送数据的长度DB13FB13ReceivingSegmentedDataBRCMENENOM13.0-W#16#l-MD4O-P#M130.0BYTE10-三44-EN_RNDRIDERRORR-IDSTATUSRD1.EN-M13.1-M13.2-MW46图10程序中的参数说明见表5参数描述数据类型存储区描述EN_RINPUTBOO1.I、Q、M、D、

19、1.、常数为1时,打算接收IDINPUTWORDM、D、常数连接IDRDINPUTDWORD1、Q、M、D、1.、常数连接号,相同连接号的功能块相互对应发送/接收数据NDROUTPUTBOO1.1、Q、M、D、1.为1时,接收完成ERROROUTPUTBOO1.I、Q、M、D、1.为1时,有故障发生STATUSOUTPUTWORD1.Q、M、D、1.状态代码RD_1IN_OUTANYS7-300:M、DS7-400:I、Q、M、D、T、C接收数据区1.ENIN_OUTWORDI、Q、M、D、1.接收到的数据长度表5FB13参数说明同样,在SlMATIC315PN-2的OBI中,调用FB12/F

20、B13。通信双方的R_ID设为O,1.EN设为10,将SIMATIC315PN-I的MBI20MB129赋值B#16#04,在SIMATIC315PN-2中,将FB13的“EN_R”置1.然后在SIMATIC315PN-I中,将FB12中“REQ”设置上升沿信号,此时SlMATIC315PN2的MB130-MB139接收到如图11所示。VAT_1PNS7SIMATIC315PNIKPU3152PN)PS7Progrtfn(I)囹AbSRbOllDi”IorMtIS17foriM44vIjWAd4ttSmgllivUrrot*tf11u”lgJMktTvlNi605ElietOSN16*05B1

21、6*05Bfl6IMOMl06/MI6005发送的KIetoeBlfO5数却MI(05图123.3. 单边访问可以通过SFB/FB14GET,从远程CPU中读取数据。S7-300:在REQ的上升沿处读取数据。在REQ的每个上升沿处传送参数ID、ADDR和RD。在每个作业结束之后,可以安排新数值给ID、ADDR和RD参数。S7-400:在限制输入REQ的上升沿处启动SFB。在此过程中,将要读取的区域的相关指针(ADDR_i)发送到伙伴CPU。远程伙伴返回此数据.在下一个SFB/FB调用处,已接收的数据被旦制到组态的接收区(RDJ)中。必须要确保通过参数ADDRJ和RDJ定义的区域在长度和数据类型

22、方面要相互匹配。通过状态参数NDR数值为1来指示此作业已完成。只有在前一个作业已经完成之后,才能重新激活读作业。远程CPU可以处于RUN或STOP工作状态。假如正在读取数据时发生访问故障,或假如数据类型检存过程中出错,则出错和警告信息将通过ERROR和STATUS输出表示。通过运用SFB/FB15PUT,可以将数据写入到远程CPU。S7-300:在REQ的上升沿处发送数据.在REQ的每个上升沿处传送参数ID、ADDR和SD。在每个作业结束之后,可以给ID、ADDR和SD参数安排新数值。S7-400:在限制输入REQ的上升沿处启动SFB。在此过程中,将指向要写入数据的区域(ADDR_i)的指针和

23、数据(SD_i)发送到伙伴CPU。远程伙伴将所须要的数据保存在随数据一起供应的地址下面,并返回一个执行确认。必须要确保通过参数ADDRJ和SDJ定义的区域在编号、长度和数据类型方面相互匹配。假如没有产生任何错误,则在下一个SFB/FB调用时,通过状态参数DoNE来指示,其数值为1。只有在最终一个作业完成之后,才能再次激活写作业。远程CPU可以处于RUN或STOP模式。假如正在写入数据时发生访问故障,或假如执行检查过程中出错,则出错和警告信息将通过ERRoR和STATUS输出表示。打开SlMATlC315PNJ的OB1.在OBl中依次调用FB14,FB15如图13、图14所示:Netvork5:

24、Title:DB14FB14ReadDataFromaRemoteCPUGET.ENENOM14.0-W#16#l-P#M140.0BYTE10-P#M150.0BYTE10-M14.1-M14.2-三48REQNDRIDERRORSTATUSRD1ADDR_1图13参数描述数据类型存储区描述REQINPUTBOO1.I、Q、M、D、1.上升沿触发调用功能块IDINPUTWORDM、D、常数地址参数IDERROROUTPUTBOO1.I、Q、M、D、1.接收到新数据STATUSOUTPUTWORDI、Q、M、D、1.故障代码S7-300:ADDR_1S7-400:ADDRJ(lUPHSquar

25、e31WHIKpU3152PNDPS?Protren(I)创口同0lJdlHJ凶库,刈|gpWHIIg口2SFIMAnc31W2CWJ3i2POPS7瓦A44ISrSl9lyfor*tI(lyforwModitfle5051S26354nDDDnHEX叼/KEl谈到房3数据Ni6toeBtlMBlCO4BtlC0HEXHEXHEXHEX血MietoeBl0数嘱E416f0镜国VM16t06B*1606BtietoeNittMNi6t(BI6*O6图15将SIMATlC315PNJ的MBI40MB149赋值BM6#08,在SIMATIC315PN-2中,将FB14的“REQ”匿上升沿信号,此时S

26、IMATIC315PN-2的MB150-MB159接收到B#16#08o如图16所示。TatEsplrfortSt1uvlvNo4kt7”18A4drSt3bolDitplyfomfSt08MBISOHEXBS16*0867D1417BS1608Btl08Ttn151HEX_7N1M0368sTTXBI42HEX数僵ttttnBtl6408Bfl6S0879KB152HEX三peM1608KB1OHEXM1M08B91M0880KB153HEXgi6oeIB144HEXIBtlGO8WIefo81XBIMHEXI61O8图16将SIMATlC315PN-1的MB170MB179赋值B#16#0

27、7,将FB15的“REQ”置上升沿信号,此时SIMATIC315PN-2的MBl60-MBI69接收到B#I6#07e如图17所示。T4Eirfor*tSmviu4170B*16t07BfIetO7tl160HEXB1607100171_A7M1607B21607161HEX/Bf!607101H2数据.二,N1607Btl6t0790162HEX写入的数嘱FW1607102173HEXB1607B1607加163HEXBf6t07103174HEXIBf!6t07BtI680792IMHEKlBS16007VA1.l-+PNS7SIMAIIC315PZ-2CPU31S-2Pf图I7将SIMA

28、TIC315PN-2的MB170-MBI79赋值B#16#lb将FB15的“REQ”置上升沿信号,此时SIMATIC315PN-1的MBI60MB169接收到B#16#ll0如图18所示。口同凰Xl闻日c,IRJU捶Il9府必岂同JHlJSPHSTUlMAIiC)1PNIKPU31?PNDPS?Progfen(I)、VAt143,SlMAltC?CRJJ1A2PVoPS7ProSybol0A2lyforiSttpl7fomtF411n170BtIMIIMiefiiD171BflMllB6tilKlD172IEtBll6tllBfleflI18D173HEXUlMllW16fll10D174Kf

29、iUNI6liBtl6*11Mo41frVtlQI160HEXMIMI161_/1.162H31BtlMl1633受人的Btl64!164J豆用IBtlMlDDmD三图184 .常见问题 T两个S7-300PNCPU之间建立S7连接可有哪些通信方式?答:可以有确认连接、非确认连接、单边通信 -运用FB8/9时,数据已发送,程序块没有错误显示,但是没收到任何数据?答:发送区与接收缓冲区长度不样。 T运用FB12/13时,发送区与接收缓冲区长度是否必需一样?答:发送区的大小只要不超过接收缓冲区就可以。 TFB12发送数据时,发送数据的长度由哪个参数确定?答:发送长度由1.EN确定。但发送数据的起始地址和最大长度由SD确定。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号