文件名称:FM020 Modbus通讯模块使用说明书文件编号:J12-C12—000005项目名称:SM/FM硬件技术改进开发项目编号:B12014H-1-J物料编码:3020200121/3020200168版 本 号:A文件密级:普通文件状态:CFC受控标识:不受控拟制:杜泽峰高志强ﻠ ﻠﻠ ﻠﻠ ﻠﻠﻠ ﻠﻠ ﻠ ﻠ ﻠ ﻠﻠﻠ ﻠﻠﻠ ﻠﻠﻠﻠﻠ ﻠ ﻠ ﻠ ﻠﻠ ﻠ ﻠﻠ ﻠ ﻠ ﻠﻠ ﻠ ﻠﻠ ﻠﻠﻠ ﻠ ﻠ ﻠ ﻠ ﻠ ﻠﻠ ﻠﻠ ﻠ ﻠ ﻠ ﻠ ﻠ ﻠ ﻠﻠﻠ 2012年 1月 13日审核:魏晓亮 2012年 1月 13日会签:批准:王弢 2012年 1 月13日文件发放范围:ﻩ24 / 26修订页序号版本号修订内容简述拟制/日期审核批准A创建杜泽锋/09-05-13李乐义王弢A/01增补用户参数配置状态说明杜泽锋/09-09-10李乐义王弢A硬件改板升级,修订相关技术指标及指示灯状态说明(原文件为北和项目A0603X,现转为西和项目B12014H-1-JH,且文件编号由A09-C12—000050变更为J12—C12-000005)杜泽峰/2012—1-13魏晓亮王弢注:自新文件J12-C12-000005正式发布起,北和原文件《FM020 Modbus通讯模块使用说明书》,文件编号A09—C12—000050,A/01版本作废!FM020Modbus通讯模块使用说明书概述图1 FM020模块外观示意图FM020 FM020-A02兼容之前FM020-A01版本;组态时新工程FM020-A01与FM020-A02分别对应FM020-Master.GSD (FM020-Slave.GSD)和FM020_M_MTF.GSD (FM020_S_MTF.GSD)两种GSD文件;老工程替换时老GSD文件兼容FM020-A02新模块,且新老模块在软件升级后都能继续使用。
模块是Modbus通讯模块,支持Profibus-DP总线协议与Modbus协议,通过Profibus-DP总线与控制器进行参数与数据交换实现DP从站功能,同时通过Modbus通讯协议获取或下发Modbus数据,支持功能码01、02、03、04、05、06、0F、10.FM020模块在Profibus-DP一侧只能做Profibus-DP从站;在Modbus一侧既可以做Modbus主站,也可以做Modbus从站FM020模块支持的最大从站数必须同时满足输入/输出数据长度最多各1000byte,输入/输出数据之和最大1200 byte,以及对于Modbus主站逻辑模块数目小于等于22*,对于Modbus从站逻辑模块数目小于等于的26*约束条件Modbus通讯采用应答方式.应答方式是主站向某个从站发出命令,然后等待从站的应答,从站接到主站命令后,执行命令,并将执行结果返回给主站作为应答,然后等待下一个命令主站发出命令到从站应答命令之间的时间间隔成为超时时间,用户可通过模块组态参数“Time of Replay”进行设置Modbus物理层采用RS485和RS232(2选1),传输速率可达115.2kbps,支持RTU模式和ACSII模式(2选1)。
FM020模块由功能模板和壳体组成,采用DIN35导轨或平面独立安装,模块面板上提供Profibus-DP及Modbus通讯接口、电源输入接口、模块站地址拨码开关、Profibus-DP和Modbus终端匹配拨码开关FM020 Modbus通讯模块的外观结构如图1所示.原理说明FM020在数据存储RAM中建立了Profibus—DP到Modbus的映射数据区,由软件实现Profibus—DP和Modbus 协议转换及数据交换FM020模块的硬件原理框图如图2所示图2 FM020模块硬件原理框图FM020(Master)的协议转换原理首先,在FM020(Master)的数据存储器中建立“ Modbus报文队列”,即Modbus报文序列它是用户依据应用的要求,在Profibus—DP主站配置FM020(Master)时,组态配置选择后自动形成,并在Profibus-DP主站与FM020(Master)建立连接通讯时初始化并传送到数据存储器中关于如何依据应用要求,在组态配置时选择Modbus通信功能,详见“产品应用实例”一节FM020(Master)在数据存储器中建立Profibus-DP数据区和Modbus数据区,Profibus-DP主站与FM020(Master)的通信数据都存储在Profibus-DP数据区中,Profibus-DP通信数据分为输入和输出数据。
Modbus主站与Modbus从站的通信数据都存储在Modbus数据区中,Modbus通信数据分为输入和输出数据,写入(如05H、06H、0FH、10H 功能)Modbus从站的数据为输出数据,与Profibus—DP的输出数据对应;读取(如01H、02H、03H、04H 功能)Modbus从站的数据为输入数据,与Profibus-DP的输入数据对应.Modbus输入数据区存放需要上报的数据,模块每轮询一遍Modbus从站,做一次Modbus输入数据区和Profibus-DP输入数据区的数据交换,然后SPC3就可以把Modbus上报的数据报给主控;Modbus输出数据区存放需要下发的数据,模块下发完数据,做一次Profibus—DP输出数据区和Modbus输出数据区的数据交换FM020(Master)模块的协议转换原理如图3所示.图3 FM020(Master)模块协议转换原理图示FM020(Slave)的协议转换原理与FM020(Master)一样在数据存储器中建立Profibus-DP数据区和Modbus数据区,通过Profibus—DP输入/输出与对应的Modbus存储区交换数据,实现Modbus到Profibus—DP的数据通信。
FM020(Slave)接收Modbus报文,并根据Modbus主站的指令读写Modbus数据区,同时发送Modbus 回答报文每完成一次Profibus—DP数据通信,按照用户配置的Profibus—DP的I/O地址和Modbus地址的对应关系,进行一次两个数据存储区的数据交换FM020(Slave)模块的协议转换原理如图4所示图4 FM020(Slave)模块协议转换原理图示使用说明FM020的冗余配置由于FM系列硬件设备为单DP总线结构,并且FM020只提供单Modbus总线接口,因此,此处所述的FM020模块的冗余配置是针对于Modbus总线而言的,也即采用双FM020模块在DP总线双模块主、备配置环境下,提供两个Modbus总线接口(仅支持RS485方式,不支持RS232方式冗余),用于实现Modbus总线的冗余需要说明的是,FM系列硬件设备的单DP总线只需连接到FM020模块DPA或DPB任意一个接口即可,同时,在物理上主、备配置的FM020模块除DP从站地址外,组态时参数设置必须相同,即或者全为Modbus主站,或者全为Modbus从站,否则会造成通讯故障详细配置图示由图5所示。
图5 FM020模块冗余配置图示状态指示灯说明FM020上电后,其面板上的状态及通讯指示灯显示当前的工作和通讯状态具体组合状态及含义由表1给出FM020模块与FM系列主控模块通过Profibus—DP总线进行数据交换.模块面板上有四个状态指示灯分别代表模块运行和通信状态,可以方便地对模块的工作及运行状态进行监测.表1 状态指示灯组合及含义RUN(绿)COM(黄)TXD(黄)RXD(黄)含义亮亮闪闪模块运行正常,通讯数据收发正常,同时模块作为ModBus主站时运行在工作状态灭闪ModBus主或从站发送数据闪灭ModBus主或从站接收数据灭灭模块没有配置ModBus从站;或ModBus通信故障;或模块作为ModBus主站时运行在备用状态闪亮灭闪模块作为ModBus从站时运行在备用状态闪灭灭灭模块等待初始化或未得到正确的初始化数据;DP通讯未建立或DP通讯线路故障灭灭灭灭模块掉电或其它严重故障其它组合未定义通讯接口定义FM020模块Profibus-DP冗余通讯接口位于模块面板的左侧上方,其引脚定义由表2给出 表2 Profibus-DP DB9连接器信号定义DB9孔座定义Profibus-DP A网3DPA+5GND8DPA—Profibus-DP B网3DPA+5GND8DPA—注:FM系列硬件系统的Profibus—DP为单总线结构,因此,使用时DPA/DPB接口任选一个连接即可.FM020模块Modbus通讯接口位于模块面板的右侧,其引脚定义由表3给出。
表3 Modbus 双连接器信号定义序号定义Modbus RS485方式 凤凰端子A1RS485+A2RS485-A3MBGNDA4SGNDModbus RS232方式 DB9孔座2TXD3RXD5GND电源接口定义FM020模块的电源接口说明见表4所示表4 电源供电端子信号定义端子序号定义A1NCA224V-A324V—A424V+终端匹配拨码开关的设置FM020模块面板上有两个终端匹配拨码开关(DP TR、MODBUS TR),通过拨码开关选择是否为Profibus-DP总线和Modbus总线的RS485接口连接有源匹配电阻网络DP TR:用于设置Profibus—DP总线的RS485接口是否连接终端匹配电阻,默认连接MODBUS TR:用于设置Modbus总线的RS485接口是否连接终端匹配电阻,默认不接.每个拨码开关的全部键位要拨成一致同时拨向“ON”为接通终端匹配电阻;同时拨向“OFF"为断开终端匹配电阻模块站地址拨码开关的设置FM020模块面板上有一个8位站地址拨码开关“DP Slave adds"用于设置FM020 模块的Profibus-DP从站地址拨向“ON”,该位二进制数值为“0”;拨向“OFF”,该位二进制数值为“1"。
主控站号=20×K1+21×K2+22×K3+23×K4+24×K5+25×K6+26×K7+27×K8(其中Ki=0 (i=1~8)表示第i位拨码的二进制数值)例如:33号站的拨码开关从高位到低位依次设定为“10000100",对应的十进制数值33就是FM020 模块的DP从站地址号Modbus通讯信息说明Modbus通讯协议是主/从通信协议.主站发送报文,只有与主站发送报文中呼叫地址相同的从站才向主站发送回答报文FM020模块的从站地址范围1~247,协议中的0地址为广播报文发送模式,FM020模块未使用0地址功能Modbus协议传送方式Modbus通讯协议有两种传送方式:RTU(二进制)方式和ASCII方式,两种传输模式不能混用;FM020支持上述两种方式(2选1,组态设定).两种方式如表5所示:表5 Modbus协议传送方式说明特性ASCII(7位)RTU(8位)编码系统十六进制(ASCII码)二进制每一个字符的位数 开始位1位1位数据位(最低有效位第一位)7位8位奇偶校验(任选)1位(此位用于奇偶校验,无校验则无该位)1位(此位用于奇偶校验,无校验则无该位)停止位1位或2位1位或2位错误校验LRC(即纵向冗余校验)CRC(即循环冗余校验)Modbus存储区Modbus涉及到的设备存储区以0xxxx、1xxxx、3xxxx、4xxxx 为标识,如表6所示。
表6 Modbus存储区说明Modbus存储区标识符类型读/写名称存储单元地址0xxxx位读写线圈00001~0xxxx1xxxx位只读离散量输入10001~1xxxx3xxxx字只读输入寄存器30001~3xxxx4xxxx字读写保持寄存器40001~4xxxx功能码定义功能码是主机用来通知从机应执行何种动作,从机作为响应发送与从主机发送来的相同功能码,表明从机已响应主机进行操作.如果从机发送的功能码的最高位为1(功能码大于127),则表明从机没有响应操作或发送出错.表7列出了FM020支持的Modbus功能码的含义和作用. 表7 支持的功能码定义功能码数据类型名称作用(对主站而言)1(01H)Bit读取多个开关量输出值取得一组开关量数据(不支持广播方式)2(02H)Bit读取多个开关量输入值取得一组开关量数据(不支持广播方式)3(03H)Word读取多个模拟量输出值取得一组模拟量数据(不支持广播方式)4(04H)Word读取多个模拟量输入值取得一组模拟量数据(不支持广播方式)5(05H)Bit强制单个开关量输出值向从站发送一个开关量点值(不支持广播方式)6(06H)Word预置单个模拟量输出值向从站发送一个模拟量点值(不支持广播方式)15(0FH)Bit发送多个开关量向从站发送多个开关量点值(不支持广播方式)16(10H)Word发送多个模拟量向从站发送多个模拟量点值(不支持广播方式)128(80H)异常应答码用作从站异常应答(约定内使用的异常功能码是128,不支持广播方式)注:对于第三方从站模块,对未列出的功能码不做任何响应,即不响应非自己配置站号的各类RTU帧。
诊断信息码定义当发现主站的请求报文有误时,从站会在应答报文中将功能码的最高位(bit7)置1,同时发送一个字节长度的错误代码错误代码1~7分别代表不同的错误类型,具体含义参见表8在接收到错误代码后,用户应根据错误类型采取响应的措施,并重新发送请求表8 支持的诊断信息码定义错误代码含义原因1非法的功能码从站不支持该功能码2非法的数据地址数据起始地址设置不正确3数据范围溢出数据长度设置不正确4连接设备错误从机设备故障5确认收到请求从机需较长时间来处理,先确认收到6忙,拒收请求从站设备忙7收到请求但不确认不执行请求组态参数设置说明模块选择配置说明FM020支持的最大从站数量必须同时满足输入/输出数据最多各1000byte,输入输出数据之和最大1200byte,以及和从站数目小于等于26*.FM020为多功能型(逻辑上,非物理设备)设备每个模块代表Modbus支持的一种可能模块类型,组态时根据所接Modbus从站设备功能选择所需的模块,其中必须选择的两个模块为:通讯状态字Status和通讯控制字ControlStatus为设备状态模块,4个字节输入,各字节说明如下所述第一个字节各位意义如下:D7D6D5D4~D1D0保留CRC、LRC、奇偶校验主、备用状态异常功能码主、从离线状态第1位表示是否有Modbus从站或者主站离线。
此设备作为Modbus主站时标志是否有Modbus从站设备离线,当回复超时并且达到最大重发次数时置为1,最大重发次数可通过组态参数配置;此设备作为Modbus从站时标志是否有Modbus主站是否离线,当一定时间没有主站轮询时置为1,时间可通过组态参数配置第2~5位表示异常功能码,如果多个从站都有异常时,此变量滚动显示第6位表示主、备用状态,1为主状态,此时BAK灯灭;0为备用状态,此时BAK灯亮第7位表示CRC、LRC或奇偶校验出错,1表示有错误发生第8位暂保留该字节除第六位上报64次后清零第二个字节各位意义如下:D7~D4D3~D0输出数据传输帧数输入数据传输帧数低4位(Bit0 ~ Bit3)表示输入数据分几帧传输;高4位(Bit4 ~ Bit7)表示输出数据分几帧传输如字节2为16#23,表示输入数据分3帧传输,输出数据分2帧传输输入输出数据分几帧传输的计算方法如下:FM020通过解析主控下发的配置数据,计算出每一帧输入数据的长度和每一帧输出数据的长度其中输入数据长度为:4字节的Status状态字 + 开辟DP输入缓冲区的占位模块的字节长度;输出数据长度为:2字节的Control状态字 + 开辟DP输出缓冲区的占位模块的字节长度.还需要注意的是FM020模块单帧输出数据长度应控制在124字节以内,否则会导致其他IO模块离线!比如按下图方式组态时,则每帧输入数据长度为:4 + 15*2=34 Byte;每帧输出数据长度为:2 + 15 *2=32 Byte。
而总的输入数据长度为:4 + FM020模块通过每个Modbus从站的参数数据计算出的输入数据长度(单位:字节);总的输出数据长度为:2 + FM020模块通过每个Modbus从站的参数数据计算出的输入数据长度(单位:字节)然后根据总的输入/输出数据长度和每帧的输入输出长度计算出输入和输出数据各分几帧传输第三个字节各位意义如下:D7~D4D3~D0当前输出数据为第几帧当前输入数据为第几帧低4位(Bit0 ~ Bit3)表示当前输入数据是第几帧;高4位(Bit4 ~ Bit7)表示当前为第几帧输出数据如字节3为16#21,表示当前输入是第1帧数据,并且当前为第2帧输出数据注:起始输入数据帧和输出数据帧均从1开始计数第四个字节目前未使用,保留Control为设备控制模块,2个字节输出,各字节说明如下所述第一个字节各位意义如下:D3~D7D2D1D0不用Modbus写允许Modbus读允许启动Modbus设备第1位表示是否启动Modbus通信,1启动,BAK灯灭;0不启动,BAK灯亮第2位表示读允许,只允许Modbus读命令1表示允许,0表示不允许第3位表示写允许,只允许Modbus写命令1表示允许,0表示不允许。
第二个字节各位意义如下:D7~D4D3~D0下发第几帧输出数据请求第几帧输入数据低4位(Bit0 ~ Bit3)表示上位机请求第几帧输入数据;高4位(Bit4 ~ Bit7)表示当前下发的输出数据是第几帧;注:1、起始输入数据帧和输出数据帧均从1开始计数2、特殊情况下,当FM020接收到的字节2为16#00时,模块只接收Control状态字,并且只上传Status状态字,不上传和接收Modbus数据3、当FM020发现上位机请求的输入数据帧大于实际的最大输入数据帧个数时,模块自动复位;当FM020发现上位机下发的输出数据帧大于实际计算出的输出数据帧个数时,模块自动复位FM020的Modbus冗余通信规约Status和Control模块可以实现控制FM020的Modbus冗余通信,约定条件如下:1、两个FM020初时同时上电初始化后都进入备用状态,不进行Modbus通信,待接收上位机下发的控制命令后,此时DP从站地址编号偏小的FM020为主,DP从站地址编号偏大的FM020为备;如果两个FM020在初时先后依次上电,则先上电的为主,后上电的为备2、正常运行后,一个FM020处于工作状态,另一个FM020处于备用状态。
上位机在一定周期内判断工作的FM020上报的状态字(Status),如果有故障发生,并且备用FM020的DP工作正常,上位机则通过控制字(Control)下发命令停止工作的FM020,同时启用备用的FM020;如果备用FM020的存在DP故障,则不进行切换3、正常运行后,一个FM020处于工作状态,另一个FM020处于备用状态.上位机在一定周期内判断工作的FM020的DP状态,如果有DP通讯故障发生,并且备用FM020的DP工作正常,上位机则通过控制字(Control)下发命令启用备用的FM020,同时上位机清原先运行的FM020的DP状态及控制字(Control)中的RUN位和状态字(Status)中的RUN_STANDBY位;如果备用FM020的DP故障,则不进行切换.4、当两个FM020的DP均正常,而Modbus均断线时,则会不停的切换寻检;5、当CRC、LRC、奇偶校验出错、Modbus异常功能码等错误发生,则不进行切换;6、当两个模块的反馈主从状态均为主,则重新初始化模块(过程与上电初始化过程相同);7、当DP通讯故障时,则停止FM020的Modbus通信FM020的Modbus功能模块说明每个Modbus从站设备可以对应一种功能的Modbus模块, 所以一共可以最多添加19~23*个Modbus模块,FM020 (Master)与Modbus模块类型对应关系如表9。
表9a FM020 (Master)与Modbus模块类型对应关系表模块类型Profibus—DP I/O数据存储区对应Modbus报文功能及存储区其他参数配置read X bits(0xxxx), X=1~256输入数据(%IB, 152字节)功能码01H,0xxxx读取X个线圈状态1.从站地址: 1-2472.起始地址0-65535(取决于Modbus设备)read X bits(1xxxx), X=1~256输入数据(%IB, 152字节)功能码02H,1xxxx读取X个离散量输入状态1.从站地址: 1-247;2.起始地址0—65535(取决于Modbus设备)read X words(4xxxx), X=1~60输入数据(%IW, 152字节)功能码03H,4xxxx读取X个保持寄存器值1从站地址: 1—247;2.起始地址0-65535(取决于Modbus设备)read X words(3xxxx), X=1~60输入数据(%IW, 152字节)功能码04H,3xxxx读取X个输入寄存器值1从站地址: 1-247;2.起始地址0-65535(取决于Modbus设备)Write X bits(0xxxx), X=1~256输出数据(%QB, 152字节)功能码0FH,0xxxx写入X个连续线圈状态1.从站地址: 1-247;2.起始地址0-65535(取决于Modbus设备)Write X words(4xxxx), X=1~34输出数据(%QW, 152字节)功能码10H,4xxxx写入X个保持寄存器值1.从站地址: 1—247;2.起始地址0—65535(取决于Modbus设备)Force single bit(05H Command)输出数据(%QB, 152字节)功能码05H,0xxxx强制单个线圈值1.从站地址: 1—247;2。
起始地址0-65535(取决于Modbus设备)set single word(06H Command)输出数据(%QW, 152字节)功能码06H,4xxxx强制单个保持寄存器值1从站地址: 1—247;2.起始地址0-65535(取决于Modbus设备)表9b FM020 (Slave)与Modbus模块类型对应关系表模块类型Profibus-DP I/O数据存储区对应Modbus数据存储区说明X bits in(0xxxx), X=8~128输入数据(%IB, 152字节)线圈,0xxxx建立Profibus-DP(Bit)输入与Modbus模块存储区0xxxx之间的对应关系X words in(4xxxx), X=1~16输入数据(%IW, 152字节)保持寄存器,4xxxx 建立Profibus—DP(Word)输入与Modbus模块存储区4xxxx之间的对应关系X bits out(1xxxx), X=8~128输出数据(%QB, 152字节)离散量输入,1xxxx 建立Profibus—DP(Bit)输出与Modbus模块存储区1xxxx之间的对应关系X words out(3xxxx), X=1~16输出数据(%QW, 152字节)输入寄存器,3xxxx 建立Profibus-DP(Bit)输出与Modbus模块存储区3xxxx之间的对应关系用户参数配置说明FM020 (Master) GSD用户参数有8个字节,如图6所示。
具体参数设置说明说明如下:“Baudrate”:代表波特率选择,可选值有1200、2400、4800、9600、19.2K、384K、576K和115.2K,默认选择9600Parity”:代表校验方式选择,可以设置为奇校验、偶校验和无校验,默认为偶校验. “MODBUS Master”:代表MODBUS主从站设置,为主站设置 “Transmission Mode”:代表MODBUS数据传输方式(RTU和ASCII)设置,默认为RTU “DataUpdataMode”:代表数据更新方式,可以设置为每条MODBUS命令结束时更新和所有MODBUS命令结束时更新,默认为每条MODBUS命令结束时更新 “Time of Replay”:代表超时时间设置,可以设置为10ms、20ms、30ms、40ms、50ms、60ms、80ms、100ms、120ms、150ms、200ms、250ms、300ms、350ms、400ms、450ms、500ms、550ms、600ms、650ms、700ms、750ms、800ms、850ms、900ms、950ms、1000ms、1100ms、1200ms、1300ms、1400ms、1500ms、1600ms、1700ms、1800ms、1900ms、2000ms、2100ms、2200ms、2300ms、2400ms、2500ms和2550ms。
默认为200ms “RS232/RS485”:代表RS232/RS485选择,默认为RS485ﻩ “Max polling no”:代表从站回复超时时的最大轮训次数,默认为10次图6 FM020 (Master)用户参数设置图示FM020 (Slave) GSD用户参数有7个字节,如图7所示具体参数设置分别说明如下:Baudrate:代表波特率选择,可选值有1200、2400、4800、9600、19.2K、38.4K、57.6K和1152K,默认选择9600Parity:代表校验方式选择,可以设置为奇校验、偶校验和无校验,默认为偶校验 MODBUS Slave:代表Modbus主从站设置,为从站设置Transmission Mode:代表Modbus数据传输方式(RTU和ASCII)设置,默认为RTURS232/RS485:代表RS232/RS485选择,默认为RS485 MODBUS no:代表本Modbus从站站号 Poll timeout(200ms):从站等待的轮训时间,单位200ms,默认为2S,最大可设置51S图7 FM020 (Slave)用户参数设置图示产品应用实例FM020的用户组态参数通常由MACS系统软件自动生成,以下产品配置实例内容为手动配置的说明,仅供参考。
FM020/Master的配置说明1 在Codesys中建立一个新项目,之后添加Profibus-DP从站模块FM020(Master),选择从站站号,本例中选择从站站号为25,如图8、9所示图8 添加Profibus-DP从站模块FM020(Master)图9 站地址设定2 配置FM020(Master)用户参数,如图10.图10 FM020(Master)用户参数配置Baud rate选择9600Parity选择偶校验. MODBUS Master只能为主站 Transmission Mode设置为RTU模式. Data Update Mode选择At Evry MD End,意为每条Modbus命令结束时更新 Time of Replay超时时间设置为200ms RS232/RS485选择RS485方式 Max polling no从站回复超时最大轮训次数为10次3 配置FM020(Master)模块类型首先,添加设备状态Status和设备控制Control,然后添加DP输入/输出缓冲区的占位模块,最后添加read 16 bits(0xxxx)模块,此模块对应Modbus的01H功能码,即从寄存器0xxxx中读取16个开关量输出状态,然后选择“属性”,完成“从站地址”和“起始地址”的参数设定。
如图10所示说明:DP输入缓冲区的占位模块—”In 15 Words”、"In 28 Words”、”In 30 Words"、"In 60 Words";DP输出缓冲区的占位模块—”Out 15 Words"、"Out 29 Words”、"Out 60 Words”、"Out 61 Words”占位模块只占据配置数据,不占用参数数据占位模块表示DP一帧所传送的字节数,如图10中组态配置所示,每帧输入数据长度为:4 + 15*2=34 Byte,组态中现场Modbus设备需要上传2字节数据,此时只需要传送一帧即可完成数据传送图11 FM020(Master)模块类型的配置模块属性对话框参数说明:“MODBUS Slave No”从站地址,是指该Modbus模块发送到Modbus从站设备的地址,对应Modbus报文的第一个字节FM020模块的从站地址范围为1~247,此处需要注意的是FM020模块未使用0地址功能,0用于广播 “start_address”起始地址,是指要读取的寄存器的起始地址,注意:报文中起始地址00000对应设备中00001地址;其他顺延本例中设定Modbus从站地址为8;起始地址则输入欲读取的寄存器0xxxx的起始地址,本例地址为00000,如果再插入一项“read 4 bits (0xxxx)”,则Modbus输入寄存器地址顺序连续分配,即从00016开始。
4 Profibus-DP地址与Modbus地址对应关系:如图12所示,其中%IB1,%IB2是Profibus-DP主站分配给这个Modbus模块的Profibus—DP输入地址,对应本例中Modbus报文读到的16bits (0xxxx),见图12:图12 FM020(Master)模块Profibus-DP与Modbus的地址对应关系图示FM020/Slave的配置说明1 在Codesys中建立一个新项目,之后添加Profibus—DP从站模块FM020(Slave),选择从站站号,本例中选择从站站号为26,如图13所示.项目建立过程与FM020(Master)类似图13 站地址设定2 配置FM020(Slave)用户参数,如图14.图14 FM020(Slave)用户参数配置Baudrate选择9600Parity设置为偶校验 MODBUS Slave只能为从站设置Transmission Mode设置为RTURS232/RS485选择RS485方式 MODBUS no本例中从站站号设为1.Poll timeout(200ms)从站等待的轮训时间设为2s(即200ms×10次=2s)。
3 配置FM020(Slave)模块类型首先,添加设备状态Status和设备控制Control,然后添加DP输入/输出缓冲区的占位模块,最后添加16 bits(1xxxx) out,Profibus-DP主站向FM020(Slave)输出16个开关量数据,Modbus主站通过02H功能码读取FM020(Slave)的16个开关量输出状态到寄存器1xxxx中,如图15所示说明:DP输入缓冲区的占位模块-"In 15 Words"、"In 28 Words"、"In 30 Words"、”In 60 Words”;DP输出缓冲区的占位模块—"Out 15 Words"、"Out 29 Words”、"Out 60 Words”、”Out 61 Words".占位模块只占据配置数据,不占用参数数据占位模块表示DP一帧所传送的字节数,如图15中组态配置所示,每帧输入数据长度为:2 + 30*2=62Byte,组态中现场Modbus设备需要上传2字节数据,此时只需要传送一帧即可完成数据传送图15 FM020(Slave)模块类型的配置4 FM020(Slave)模块类型配置的限制条件:需要特别注意的是,在配置FM020(Slave)模块类型时,无论是配置输入还是输出模块,均要求先添加bit型模块,再添加word型模块。
配置FM020(Master)模块类型时,无此约束条件5 Profibus-DP 地址与Modbus地址对应关系:如图16所示,其中%QB2,%QB3是Profibus-DP主站分配给这个Modbus模块的Profibus—DP输出地址,对应本例中Modbus报文读到的16bits (1xxxx),如果再插入一项“8 bits out(1xxxx)",则Modbus 输入寄存器地址顺序连续分配,即从10016开始见图16:图16 FM020(Slave)模块Profibus-DP与Modbus的地址对应关系图示安装和维护FM020模块可以采用DIN导轨方式安装也可以采用平面螺钉紧固方式安装外观尺寸如图17所示(单位:mm)图17 模块尺寸图示FM020模块采用DIN导轨方式的安装及拆卸如图18所示模块安装 模块拆卸图18 DIN导轨安装图示FM020模块平面螺钉紧固方式的安装及拆卸如图19所示模块安装 模块拆卸图19 平面螺钉安装图示技术指标FM020 MODBUS通讯模块技术指标供电电源输入电压24VDC±10%功耗(max.)Max.100mA @24V指示灯状态RUN绿色COM黄色RXD黄色TXD黄色隔离耐压DP与MODBUS通讯隔离500VAC@1min,漏电流≤5mA绝缘电阻常态100MW(温度+25℃±2℃,相对湿度30%±5%无冷凝)湿热环境10MW(温度+45℃±2℃,相对湿度95%±3%无冷凝)DP通讯协议Profibus-DP协议从站标识号0x0423双网冗余支持PROFIBUS—DP通讯速率1.5Mbps,500kbps,187。
5kbps,93.75kbps,4545kbps,192kbps,9.6kbps可选,自适应故障诊断功能支持DP A网故障、DP B网故障、MODBUS网络故障三种诊断MODBUS通讯协议MODBUS协议传输模式和帧格式RTU、ASCII(软件配置)物理层接口RS485接口方式(端子接口)、RS232接口方式(DB9、母头接口)支持的功能码01、02、03、04、05、06、0F、10(十六进制)支持的最大从站设备数MODBUS主站模块:22注1MODBUS从站模块:26注1输入/输出数据长度输入/输出数据最多各1000字节,输入输出数据之和最大1200字节MODBUS通讯速率支持1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200通讯波特率,自适应(受DP通讯速率限制)校验方式奇、偶、无校验位(软件配置)主从方式支持主从站(软件配置)冗余通信支持Modbus冗余通信物理特性安装方式导轨安装、面板安装模块尺寸(W*H*D)156MM×120MM×34MM环境条件工作环境温度0℃~60℃工作环境相对湿度5%~95%,无凝结储存环境温度-40℃~70℃储存环境相对湿度5%~95%,无凝结海拔高度≤3000m防护等级IP40振动0.15mm,频率10~57Hz;1G 57 Hz~150Hz;每轴向10次振动,1倍频程/分冲击半正弦波,峰值加速度300m/s2,脉冲持续时间11ms碰撞峰值加速度100m/s2,脉冲持续时间为16ms电磁兼容静电放电抗扰度接触放电±6.6kV,空气放电±8.8kV.性能达到B级电快速瞬变脉冲群抗扰度电源口:±2。
2KV;信号口:±1.1KV.性能达到B级浪涌(冲击)抗扰度信号口:±11KV CM;±055KV DM;交流电源口:±22KV CM, ±1.1KV DM. 性能达到B级射频传导扰抗扰度015-80MHz,电源口:11V;信号口:11V.性能达到B级电压跌落和电源中断试验交流电源:0%持续0.5周期,0%持续250周期,40%持续10周期,70%持续25周期,性能达到B级振铃波抗扰度电源口:±22KV CM, ±1.1KV DM;信号口:±1.1KV CM, ±055KV DM性能达到B级工频磁场持续干扰:33/m;瞬间干扰:330A/m注1:Status和Control状态字及占位模块至少要占用3个逻辑模块,实际最大可组态的MODBUS逻辑模块数对于MODBUS主站模块为19个,对于MODBUS从站模块为23个,同时模块支持的最大逻辑模块数须满足输入/输出数据长度≤1000byte和输入输出数据长度之和≤1200byte的限制条件。