您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 用NJ控制器对V680S进行通讯测试
FAE-华北(资料分类应用技术制作者丛龙辉审核者标题用NJ控制器对V680S进行通讯测试编号目录1.目的...............................................................................................................22.相关手册........................................................................................................23.对象产品和对象工具......................................................................................23.1.对象产品...............................................................................................23.2.设备构成...............................................................................................24.技术内容........................................................................................................34.1.Modbus-TCP协议简介...........................................................................34.2.V680S使用的MODBUS/TCP协议.............................................................44.3.实现方法:...........................................................................................95.附件数据........................................................................................................17应用技术-用NJ控制器对V680S进行通讯测试FAE-华北(1.目的V680S系列是OmronRFID家族的最新主打产品,目前已大量应用于京东方B5/B6线。为便于使用,该产品使用以太网接口,通讯协议采用MODBUS-TCP,内置了Web界面。2.相关手册和本资料相关的手册如下。Man.No.型号手册名称相关页码SBCA-CN5-360F机器自动化控制器NJ系列指令基准手册基本篇2-913~2-935Z235-E1-01V680SSeriesUser’sManualSection53.对象产品和对象工具3.1.对象产品本操作使用的对象产品如下。厂家名称型号版本OmronNJ5系列控制器NJ501-1500+NJ-PA3001V1.03OmronSysmacStudioV1.07OmronReader/WriterV680S-HMD64-ETNOmronRFtagV680-D1KP66TOmron24VDCPowersupplyS8VS-03024OmronCableV680S-A41(5m)OmronSwitchingHubW4S13.2.设备构成本次操作的设备构成如下所示。FAE-华北(4.技术内容4.1.Modbus-TCP协议简介MODBUS/TCP是简单的、中立厂商的用于管理和控制自动化设备的MODBUS系列通讯协议的派生产品。显而易见,它覆盖了使用TCP/IP协议的“Intranet”和“Internet”环境中MODBUS报文的用途。协议的最通用用途是为诸如PLC,I/O模块,以及连接其它简单域总线或I/O模块的网关服务的。所有的请求通过TCP从寄存器端口502发出。ModbusTCP数据帧:ModbusTCP数据帧包含报文头、功能代码和数据3部分。MBAP报文头(MBAP、ModbusApplicationProtocol、Modbus应用协议)分4个域,共7个字节,如下表所示:Modbus功能代码共有3种类型分别为:1)公共功能代码(如表4所示):已定义好的功能码,保证其唯一性,由Modbus.org认可;2)用户自定义功能代码有两组,分别为65~72和100~110,无需认可,但不保证代码使用的唯一性。如变为公共代码,需交RFC认可;3)保留的功能代码,由某些公司使用在某些传统设备的代码,不可作为公共用途。功能代码划分:按应用深浅,可分为3个类别。类别0,对于客户机/服务器最小的可用子集:FAE-华北(读多个保持寄存器(fc.3);写多个保持寄存器(fc.16);类别1,可实现基本互易操作的常用代码:读线圈(fc.1);读开关量输入(fc.2);读输入寄存器(fc.4);写线圈(fc.5);写单一寄存器(fc.6)。类别2,用于人机界面、监控系统的例行操作和数据传送功能:强制多个线圈(fc.15);读通用寄存器(fc.20);写通用寄存器(fc.21);屏蔽写寄存器(fc.22);读写寄存器(fc.23)。4.2.V680S使用的MODBUS/TCP协议电脑、PLC或其它主站设备是客户端,V680S读写器是服务器。通讯过程示例如下图1V680S的modbus/tcp通讯过程FAE-华北(以下内容摘自V680S操作手册:MessageFormatsThehostdevicecommunicationsprotocolthatisusedbytheV680SisbasedonModbus/TCP.ThecommandmessagethatthehostdevicesendstotheReaderWriteriscalledaquery.TheresponsemessagethattheReaderWriterreturnsiscalledtheresponse.Thecommunicationsformatsforqueriesandresponsesaregivenbelow.QueryformatTransactionIdentifierYoucansetanydesiredvalue.ThetransactionidentifierintheresponsefromtheReaderWriterwillbeacopyofthevaluethatisspecifiedhere.ProtocolIdentifierThisfieldisalways0000hex.FieldLengthSpecifythenumberofbytesinclusivelyfromtheunitidentifierthroughtheendofthedata.Byte4willalwaysbe00hex.UnitIdentifierThisfieldisalwaysFFhex.FunctioncodeSpecifythefunctioncodeofthefunctionfortheReaderWritertoexecute.Theapplicablefunctioncodesarelistedbelow.FunctioncodeFunction03hexReadHoldingRegister10hexWriteHoldingRegisterDataSendthedataforthefunctioncode.Theformatofthedatadependsonthefunctioncode.OfthedatatypesthataresupportedbyModbuscommunications,theReaderWritersupportsthefollowingdatatype.ResponseFormatNormalEndErrorEndFAE-华北(FunctionCodeAvalueof80hexisaddedtothevaluethatwasspecifiedinthequeryandset.ExceptionCodeAcodethatprovidesinformationontheerrorisattached.ExceptionCodeMeaning01hexIllegalfunction02hexIllegaldataaddress03hexIllegaldatavalue04hexFailureinslavedevice06hexSlavedevicebusyMessageDetailsREADDATAThisqueryreadsdatafromanRFTaginthecommunicationsarea.QueryFormatResponseFormatNormalResponseErrorResponseExecutionExampleReadingEightWordsofDataStartingfromWordAddress1234HexintheRFTagTX:000000000006FF0312340008FAE-华北(RX:000000000013FF031011112222333344445555666677778888WRITEDATAThisquerywritesdatatoanRFTaginthecommunicationsarea.QueryFormatResponseFormatNormalResponseErrorResponseExecutionExampleWriting“1111222233334444”toFourWordsStartingfromWordAddress1234HexintheRFTagTX:00000000000FFF1012340004081111222233334444RX:000000000006FF1012340004READIDThisqueryreadstheIDcodefromanRFTaginthecommunicationsarea.QueryFormatResponseFormatNormalResponseFAE-华北(ErrorResponse以上为V680S会经常用到的消息格式,其它格式在此省略。FAE-华北(4.3.实现方法:1.NJ的编程实现NJ没有内置Modbus/TCP功能块,故需要自行编写FB实现,为此编写了3个功能块MTCP_Connect、MTCP_Fun03、MTCP_Fun10分别用于建立Modbus/TCP连接、功能码03、功能码10。以下为三个功能块的源代码:功能块MTCP_Connect源代码:输入/输出名称输入/输出数据类型边沿初始值保持常量Enable输入BOOL无边沿FALSEFALSEIPaddress输入STRING[16]无边沿FALSEFALSEPort输入UINT无边沿UINT#502FALSEFALSEConnect输入BOOL无边沿FALSEFALSEConnected输出BOOL无边沿FALSEFALSEError输出BOOL无边沿FALSEFALSEErrorID输出WORD无边沿FALSEFALSETCP_Socket输出_sSOCKET无边沿FALSEFALSESocket_Status输出_eCONNECTION_STATE无边沿FALSEFALSE内部名称数据类型初始值分配到保持常量TCP_PortUINTUINT#502FALSEFALSETCP_Connect_InstSktTCPConnectFALSEFALSETCP_
本文标题:用NJ控制器对V680S进行通讯测试
链接地址:https://www.777doc.com/doc-7337478 .html