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