SLMP通信相关实验1、实验1:以太网模块/内置以太网接口预定义协议功能A、内置以太网接口设定如下:B、对方以太网模块设定如下:本站端口号选择“通信协议”选择“主动打开”对方IP及端口号本站IP始终允许打帧格式BIN(必须!!!)本站端口号被动打开有顺序Socket通C、设定通信协议内容注意:设定时请务必注意数据帧元素占用的软元件个数,不要重复占用。D、制作梯形图程序梯形图程序包括以下部分:通信建立及中断(端口的打开及关闭)设定帧数据执行预定义协议E、检查执行结果F、注意要点:两方以太网参数必须相对应,包括:端口号、IP地址、帧格式等预定义协议中,帧数据格式固定为BIN。读取数据的存储首地址D204为数据长度2(2字节)D204为读取的实际数据(K123)2、实验2:使用Sockettool调试工具A、对方以太网设备参数设定同实验1B、在SocketTool2软件中,新建客户端C、点击“连接”按键D、在数据发送窗口中输入SLMP报文,并点击发送当前状态:已连接对方及本站端口号发送数据接收数据发送模式,当前为E、BIN格式报文(读M100~M107)54003412000000FFFF03000C00100001040100Subheader序列号固定值网络号站号起始IO多重站号数据长等待时间指令子指令640000900800软元件号软元件类型读写长度D4003412000000FFFF03000600000010001100固定值序列号固定值网络号站号起始IO多重站号数据长完成代码读取数据(从低至高)54003412000000ffff03000c0010000104010064000090080054003412000000ffff03000c00100001040100d00700900800(读M2000)D4003412000000FFFF03000600000000000000F、BIN格式报文(写M100~M107)54003412000000FFFF03001000100001140100Subheader序列号固定值网络号站号起始IO多重站号数据长等待时间指令子指令64000090080000000000软元件号软元件类型读写长度数据区(从低位开始)D4003412000000FFFF030002000000固定值序列号固定值网络号站号起始IO多重站号数据长完成代码54003412000000ffff0300100010000114010064000090080011111111D4003412000000FFFF030002000000G、ASCII格式报文(读M100~M107)54001234000000FF03FF000018001004010001Subheader序列号固定值网络号站号起始IO多重站号数据长等待时间指令子指令M*0001000008软元件类型软元件号读写长度D4001234000000FF03FF00000C000010011000固定值序列号固定值网络号站号起始IO多重站号数据长完成代码读取数据(从低至高)54001234000000FF03FF000018001004010001M*0001000008D4001234000000FF03FF00000C000010011000H、报文元素说明Subheader:SLMP报文报首识别码,默认5400。序列号:任意值,用于识别返回报文,与发送报文相同。网络号/站号:跨网访问时用,访问本站时默认为00/FF起始IO:访问多CPU系统或通过CPU连接的Multidrop网络时用,单CPU为03FF。多重站号访问通过Multidrop网络连接的CPU时用,不使用时为00。数据长:此数据帧之后所有数据帧长度(16进制,以字节计算)。等待时间:数据反馈超时等待时间,单位:250ms。00代表无限等待。指令/子指令:SLMP指令,详细请参考SLMP协议手册。软元件类型:访问的软元件类型。BIN时,为2进制代码,请参考SLMP协议手册。软元件号:访问软元件的起始地址。读写长度:读写软元件长度。完成代码:SLMP报文执行结果代码,正常完成为“00”,异常时为故障代码。I、跨网访问ASCII格式报文(读N1S2的U0\G18515)540012340000010203FF000024001004010080Subheader序列号固定值网络号站号起始IO多重站号数据长等待时间指令子指令00U000000G*0185150000001固定值软元件类型固定值软元件号固定值读写长度540012340000010203FF00002400100401008000U000000G*0185150000001D40012340000010203FF000008000001F4固定值序列号固定值网络号站号起始IO多重站号数据长完成代码读取数据(从低至高)Subheader:SLMP报文报首识别码,默认5400。序列号:任意值,用于识别返回报文,与发送报文相同。网络号/站号:跨网访问时用,此次为访问1号网络2号站(R08CPU)起始IO:访问多CPU系统或通过CPU连接的Multidrop网络时用,单CPU为03FF。多重站号访问通过Multidrop网络连接的CPU时用,不使用时为00。数据长:此数据帧之后所有数据帧长度(16进制,以字节计算)。等待时间:数据反馈超时等待时间,单位:250ms。00代表无限等待。指令/子指令:SLMP指令,详细请参考SLMP协议手册。(子指令规定了后续软元件地址指定格式)软元件类型:访问的软元件类型。BIN时,为2进制代码,请参考SLMP协议手册。软元件号:访问软元件的起始地址。读写长度:读写软元件长度。完成代码:SLMP报文执行结果代码,正常完成为“00”,异常时为故障代码。J、跨网访问ASCII格式报文(读取模块名称)540012340000010203FF00000C001001010000D40012340000010203FF0000180000RCPU0360K、跨网访问ASCII格式报文(远程复位,对于PLC,复位报文仅在Stop情况下生效)540012340000010203FF0000100010100600000001D40012340000010203FF000016C05E020100020010060000(反馈报文为PLC复位完成后回送,格式与手册不符?)实验中遇到的问题:1、跨网访问必须设置路由参数,否则无反馈报文。2、访问CC-IEField主站时,站号固定为“7D”,而不是“00”。3、对于CC-LinkIEField远程模拟量模块,上述报文无效,反馈错误代码为“D0A0”D40012340000010103FF000016D0A0017D03FF0010060000原因不明,有可能该模块不支持ASCII码格式数据帧(测试工具仅支持ASCII码格式)3、MC报文通信实验:Q系列PLC内置以太网口、FX以太网接口模块/适配器不支持SLMP协议(4E帧格式)。3.1以下为使用MC协议1E帧格式进行的通信实验。A、模块参数设定FX3GE&FX3U-ENET-ADPFX3U-ENETFX3U-ENET-LQPLC内置以太网接口B、MC报文格式(读取M100~M107,ASCII码格式)00FF000A4D20000000640800SubheaderPC号ACPU监视时间软元件类型软元件号读写长度固定值800010110000Subheader完成代码读取数据(从低至高)C、报文元素说明Subheader:MC报文报首指令码,“00”为读取位软元件,请参考MC协议手册。网络号/站号:跨网访问时用,访问本站时默认为00/FFPC号:访问多CPU系统时用,单CPU为FF。监视时间:数据反馈超时等待时间,单位:250ms。00代表无限等待。软元件类型:访问的软元件类型。请参考MC协议手册。软元件号:访问软元件的起始地址。读写长度:读写软元件长度。完成代码:报文执行结果代码,正常完成为“00”,异常时为故障代码。3.2以下为使用MC协议3E帧格式进行的通信实验。B、MC报文格式(读取D0~D3,ASCII码格式)500000FF03FF0000180010Subheader网络号站号PC号目标模块数据长度监视时间04010000D*0000000004指令子指令软元件名软元件起始地址读写长度500000FF03FF000018001004010000D*0000000004D00000FF03FF0000140000Subheader网络号站号PC号目标模块数据长度完成代码0000000000000000数据1数据2数据3数据4C、报文元素说明Subheader:MC报文报首指令码,请求报文固定为“5000”,反馈报文固定为“D000”请参考MC协议手册。网络号/站号:跨网访问时用,访问本站时默认为00/FFPC号:访问多CPU系统时用,单CPU为03FF。目标模块:定义不明数据长度:从“CPU监视时间”(或“完成代码”)到最后一个报文数据的长度,以字节为单位。监视时间:数据反馈超时等待时间,单位:250ms。00代表无限等待。指令:指令代码,请参考MC协议手册。子指令:子指令代码,请参考MC协议手册。软元件名:访问软元件类型软元件号:访问软元件的起始地址。读写长度:读写软元件长度。完成代码:报文执行结果代码,正常完成为“00”,异常时为故障代码。请参考对应模块的手册手册4、其他问题点:A、Q系列PLC内置以太网接口不支持SLMP(4E帧)协议。B、FX系列PLC以太网模块或适配器不支持SLMP协议,使用SLMP协议通信时会出现“54”报警(ASCII码格式)或“50”报警(BIN码格式)。C、SLMP/MC报文由于BIN码和ASCII帧格式不同(BIN码存在高低字节交换的情况),发送端和接收端数据类型必须一致,都是BIN或都是ASCII。D、使用预定义协议功能进行通信时,SLMP报文数据格式为BIN码,接收端必须设定为BIN,发送端设定BIN或ASCII都可以。E、SLMP/MC协议通信时,接收方无需成对打开,打开方式选择“发送”或“接收”都可以通信。F、QPLC内置以太网接口及FXPLC以太网接口模块/适配器支持MC协议中的1E帧。帧格式如下:00FF000A4D20000000640800SubheaderPC号ACPU监视时间软元件软元件号读取长度固定值800010110000Subheader完成代码读取数据(从低至高)G、iQ-RPLCSLMP报文格式中,软元件CODE和首地址与Q/L系列不同。BIN格式下,iQ-R为4位+8位,Q/L系列为2位+4位。