西门子S7200PLCModbus通信.pdf
《西门子S7200PLCModbus通信.pdf》由会员分享,可在线阅读,更多相关《西门子S7200PLCModbus通信.pdf(78页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、HardwareSoftwareWorkshopS7-2001NEW!NEW!S7-200 Modbus 通信通信HardwareSoftwareWorkshopS7-2002概述概述 定义定义 Modbus 报文传输格式报文传输格式 Modbus 主站协议指令主站协议指令 Modbus 从站协议指令从站协议指令Micro/Win 指令库的管理指令库的管理 指令库的安装指令库的安装 指令库的卸载指令库的卸载 指令库的添加指令库的添加 指令库的删除指令库的删除编程示例编程示例 功能要求功能要求 实现步骤实现步骤2S7-200 Modbus 通信通信HardwareSoftwareWorkshop
2、S7-2003定义定义Modbus 报文传输格式报文传输格式Modbus 主站协议指令主站协议指令Modbus 从站协议指令从站协议指令3概述概述HardwareSoftwareWorkshopS7-2004使用使用 Modbus 通信协议是通信协议是 Modicon 公司提出的一种报文传输协议,公司提出的一种报文传输协议,它广泛应用于工业控制领域,并已经成为一种通用的行业标准。不同它广泛应用于工业控制领域,并已经成为一种通用的行业标准。不同厂商提供的控制设置可通过厂商提供的控制设置可通过 Modbus 协议连成通信网络,从而实现集协议连成通信网络,从而实现集中控制。中控制。根据传输网络类型的
3、区别,根据传输网络类型的区别,Modbus 通信协议又分为串行链路上的通信协议又分为串行链路上的Modbus 和基于和基于 TCP/IP 协议的协议的 Modbus。Modbus 串行链路协议只有一个主站,可以有串行链路协议只有一个主站,可以有1247个从站。个从站。Modbus 通信只能从主站发起,从站在未收到主站的请求时,不能发通信只能从主站发起,从站在未收到主站的请求时,不能发送数据或互相通信。送数据或互相通信。Modbus 串行链路协议的通信接口可采用串行链路协议的通信接口可采用 RS-485 接口,也可使用接口,也可使用RS-232C 接口。其中接口。其中RS-485 接口可用于远距
4、离通信,接口可用于远距离通信,RS-232C 接口接口只能用于短距离通信。只能用于短距离通信。定义定义HardwareSoftwareWorkshopS7-2005定义定义Modbus 报文传输格式报文传输格式 Modbus 寻址寻址 ASCII 模式模式 RTU 模式模式Modbus 主站协议指令主站协议指令Modbus 从站协议指令从站协议指令5概述概述HardwareSoftwareWorkshopS7-2006Modbus 寻址寻址ASCII 模式模式RTU 模式模式6Modbus 报文传输格式报文传输格式HardwareSoftwareWorkshopS7-2007Modbus 地址
5、通常是包含数据类型和偏移量的地址通常是包含数据类型和偏移量的5个或个或6个字符值。第一个字符值。第一个或前两个字符决定数据类型,最后的四个字符是符合数据类型的一个或前两个字符决定数据类型,最后的四个字符是符合数据类型的一个适当的值。个适当的值。Modbus 主设备指令能将地址映射至正确的功能,以便主设备指令能将地址映射至正确的功能,以便发送到从站。发送到从站。1 Modbus 主站寻址主站寻址Modbus主设备指令支持下列主设备指令支持下列Modbus地址:地址:(1)00001至至09999是离散输出(线圈)。是离散输出(线圈)。(2)10001至至19999是离散输入(触点)。是离散输入(
6、触点)。(3)30001至至39999是输入寄存器(通常是模拟量输入)。是输入寄存器(通常是模拟量输入)。(4)40001至至49999是保持寄存器。是保持寄存器。所有所有Modbus地址均以地址均以1为基位,表示第一个数据值从地址为基位,表示第一个数据值从地址1开始。有开始。有效地址范围将取决于从站。不同的从站将支持不同的数据类型和地址效地址范围将取决于从站。不同的从站将支持不同的数据类型和地址范围。范围。Modbus 寻址寻址HardwareSoftwareWorkshopS7-20082 Modbus 从站寻址从站寻址Modbus从站指令支持以下地址:从站指令支持以下地址:(1)0000
7、01至至000128是实际输出,对应于是实际输出,对应于Q0.0Q15.7。(2)010001至至010128是实际输入,对应于是实际输入,对应于I0.0I15.7。(3)030001至至030032是模拟输入寄存器,对应于是模拟输入寄存器,对应于AIW0至至AIW2。(4)040001至至04XXXX是保持寄存器,对应于是保持寄存器,对应于V区。区。Modbus 从站协议允许您对从站协议允许您对Modbus主站可访问的输入、输出、模拟主站可访问的输入、输出、模拟输入和保持寄存器(输入和保持寄存器(V区)的数量进行限定。区)的数量进行限定。MBUS_INIT 指令的参数指令的参数MaxIQ 指
8、定指定 Modbus 主站允许访问的实际输入或输出(主站允许访问的实际输入或输出(I或或Q)的最)的最大数量。大数量。MBUS_INIT 指令的指令的 MaxAI 参数指定参数指定 Modbus 主站允许访问主站允许访问的输入寄存器(的输入寄存器(AIW)的最大数量。)的最大数量。MBUS_INIT 指令的指令的MaxHold 参参数指定数指定 Modbus 主站允许访问的保持寄存器(主站允许访问的保持寄存器(V存储区字)的最大数存储区字)的最大数量。量。Modbus 寻址寻址HardwareSoftwareWorkshopS7-2009Modbus 地址与地址与 S7-200 地址对应关系如
9、下表所示。地址对应关系如下表所示。Modbus 寻址寻址HardwareSoftwareWorkshopS7-20010Modbus 寻址寻址ASCII 模式模式RTU 模式模式10Modbus 报文传输格式报文传输格式HardwareSoftwareWorkshopS7-20011Modbus 通信协议有通信协议有 ASCII 和和 RTU(远程传输单元)两种报文传输(远程传输单元)两种报文传输模式。模式。Modbus 网络中所有的站必须采用相同的传输模式和串口参网络中所有的站必须采用相同的传输模式和串口参数。数。ASCII模式采用模式采用LRC(纵向冗余校验)方式进行校验,其报文格式如(纵
10、向冗余校验)方式进行校验,其报文格式如下表所示:下表所示:ASCII 模式中,报文帧中的每个模式中,报文帧中的每个8位字节都转换为两个位字节都转换为两个 ASCII 码发码发送。报文中的每个送。报文中的每个ASCII码都由码都由16进制字符组成,传输的每个字符都进制字符组成,传输的每个字符都包括包括1个起始位、个起始位、7个数据位、个数据位、1个奇偶校验位、个奇偶校验位、1个停止位;如果没有个停止位;如果没有校验位,则有两个停止位。校验位,则有两个停止位。LRC计算时不包括开始的冒号符、计算时不包括开始的冒号符、LRC本身和回车换行符。本身和回车换行符。Modbus 报文传输格式报文传输格式H
11、ardwareSoftwareWorkshopS7-20012Modbus 寻址寻址ASCII 模式模式RTU 模式模式12Modbus 报文传输格式报文传输格式HardwareSoftwareWorkshopS7-20013RTU模式的报文格式如下表所示:模式的报文格式如下表所示:地址:地址:Modbus 地址,地址,1个字节。个字节。功能码:功能码:Modbus功能代码,功能代码,1个字节。个字节。Modbus协议支持的功能码协议支持的功能码共共16条(条(116),其中西门子),其中西门子Modbus RTU协议库支持最常用的协议库支持最常用的8条。条。信息数据:信息数据:N个字节,格式
12、与功能码有关。个字节,格式与功能码有关。CRC:循环冗余校验,两个字节。:循环冗余校验,两个字节。Modbus 报文传输格式报文传输格式HardwareSoftwareWorkshopS7-20014西门子西门子Modbus RTU协议库支持最常用的协议库支持最常用的8条功能码如下表所示。条功能码如下表所示。Modbus 报文传输格式报文传输格式HardwareSoftwareWorkshopS7-20015RTU模式下,报文中的每个模式下,报文中的每个8位字节被转化为两个位字节被转化为两个16进制字符,然后进制字符,然后以字节为单位进行传输,并采用以字节为单位进行传输,并采用CRC(循环冗余
13、校验)方式进行校(循环冗余校验)方式进行校验。验。RTU模式的优点在于同波特率下有着比模式的优点在于同波特率下有着比ASCII模式更高的传输效模式更高的传输效率。率。目前支持目前支持 Modbus 通信的通信的 DCS 系统和过程仪表大都采用基于串行接系统和过程仪表大都采用基于串行接口的口的 Modbus RTU 模式,西门子提供了针对西门子模式,西门子提供了针对西门子 PLC Modbus RTU 通信的协议库。通信的协议库。如果要在西门子如果要在西门子 PLC 上实现上实现 Modbus ASCII 模式通信,用户可根据模式通信,用户可根据相关协议规定利用自由口模式自主编程实现。相关协议规
14、定利用自由口模式自主编程实现。Modbus 报文传输格式报文传输格式HardwareSoftwareWorkshopS7-20016西门子专门为西门子专门为 Modbus RTU 通信开发了指令库,极大地简化了通信开发了指令库,极大地简化了Modbus RTU 通信的开发,以便于快速实现相关应用。通过通信的开发,以便于快速实现相关应用。通过 Modbus RTU 从站指令库,使得从站指令库,使得 S7-200 可作为可作为 Modbus RTU 中的从站设备中的从站设备集成到集成到 Modbus 网络中,以实现与网络中,以实现与 Modbus 主站设备的通信。主站设备的通信。而在最近推出的而在
15、最近推出的 STEP7-Micro/Win SP5 升级包中,西门子又增加了升级包中,西门子又增加了Mobus RTU Master 指令库,使得指令库,使得 S7-200 CPU 可作为可作为 Modbus 主主站,实现与站,实现与 Modbus RTU 从站的通信任务。从站的通信任务。要使用要使用 Modbus 指令库必须注意以下四点:指令库必须注意以下四点:(1)使用)使用 Modbus 指令库前,需要将其安装到指令库前,需要将其安装到 Step7-Micro/Win中,中,STEP 7-Micro/WIN 必须为必须为 V3.2 或以上版本。或以上版本。(2)S7-200 CPU 必须
16、是固化程序修订版必须是固化程序修订版2.00或最好支持或最好支持 Modbus主设备协议库主设备协议库(CPU MLFB 21x-2xx23-0XB0)。Modbus 报文传输格式报文传输格式HardwareSoftwareWorkshopS7-20017(3)由于目前已经推出了针对端口)由于目前已经推出了针对端口0和端口和端口1的的 Modbus RTU 主站指主站指令库令库 Modbus Master Port0 和和 Modbus Master Port1、以及针对端、以及针对端口口0的的 Modbus RTU 从站指令库,故可利用指令库实现端口从站指令库,故可利用指令库实现端口0的的M
17、odbus RTU 主主/从站通信。从站通信。(4)一旦)一旦 CPU 端口被用于端口被用于 Modbus RTU 主主/从站协议通信时,该端从站协议通信时,该端口就无法用于任何其它用途,包括与口就无法用于任何其它用途,包括与 STEP 7-Micro/WIN 通讯。通讯。Modbus 报文传输格式报文传输格式HardwareSoftwareWorkshopS7-20018定义定义Modbus 报文传输格式报文传输格式Modbus 主站协议指令主站协议指令 MBUS_CTRL 指令指令 MBUS_MSG 指令指令Modbus 从站协议指令从站协议指令 MBUS_INIT 指令指令 MBUS_S
18、LAVE 指令指令18概述概述HardwareSoftwareWorkshopS7-20019MBUS_CTRL 指令指令MBUS_MSG 指令指令19Modbus 主站协议指令主站协议指令HardwareSoftwareWorkshopS7-20020西门子西门子 Modbus 主站协议库包括两条指令:主站协议库包括两条指令:MBUS_CTRL 指令和指令和MBUS_MSG 指令。指令。MBUS_CTRL 指令用于初始化主站通信,指令用于初始化主站通信,MBUS_MSG 指令指令(或用于或用于端口端口1的的MBUS_MSG_P1)用于启动对用于启动对Modbus从站的请求并处理应从站的请求并
19、处理应答。答。MBUS_CTRL 指令用于指令用于 S7-200 端口端口0的的 MBUS_CTRL 指令指令(或用于或用于端口端口1的的 MBUS_CTRL_P1 指令指令)可初始化、监视或禁用可初始化、监视或禁用 Modbus 通通讯。在使用讯。在使用 MBUS_MSG 指令之前,必须正确执行指令之前,必须正确执行 MBUS_CTRL 指指令。指令完成后立即设定令。指令完成后立即设定“完成完成”位,才能继续执行下一条指令。位,才能继续执行下一条指令。MBUS_CTRL 指令在每次扫描且指令在每次扫描且EN输入打开时执行。输入打开时执行。MBUS_CTRL指令必须在每次扫描时指令必须在每次扫
20、描时(包括首次扫描包括首次扫描)被调用,以允许监视随被调用,以允许监视随MBUS_MSG 指令启动的任何突出消息的进程。除非每次调用指令启动的任何突出消息的进程。除非每次调用MBUS_CTRL,否则,否则Modbus 主设备协议将不能正确运行。主设备协议将不能正确运行。MBUS_CTRL 指令指令HardwareSoftwareWorkshopS7-20021西门子西门子EN:指令使能位。:指令使能位。Mode:“模式模式”参数。参数。“模式模式”输入数值选择通讯协议。输入数值选择通讯协议。输入值输入值1将将CPU端口分配给端口分配给Modbus协议并启用该协议。协议并启用该协议。输入值输入值
21、0将将CPU端口分配给端口分配给PPI系统协议,系统协议,并禁用并禁用Modbus协议。协议。Baud:“波特率波特率”参数。参数。MBUS_CTRL指令支持的指令支持的波特率为波特率为1200、2400、4800、9600、19200、38400、57600或或115200bit/s。Parity:“奇偶校验奇偶校验”参数。参数。“奇偶校验奇偶校验”参数被设为与参数被设为与Modbus从站奇偶从站奇偶校验相匹配。所有设置使用一个起始位和一个停止位。可接受的数值校验相匹配。所有设置使用一个起始位和一个停止位。可接受的数值为:为:0无奇偶校验无奇偶校验1奇校验奇校验2偶校验偶校验MBUS_CTR
22、L 指令指令HardwareSoftwareWorkshopS7-20022Timeout:“超时超时”参数。参数。“超时超时”参数设为等待来参数设为等待来自从站应答的毫秒时间数。自从站应答的毫秒时间数。“超时超时”数值可以设置数值可以设置的范围为的范围为1毫秒到毫秒到32767毫秒。典型值是毫秒。典型值是1000毫秒毫秒(1秒秒)。“超时超时”参数应该设置的足够大,以便从站有时间参数应该设置的足够大,以便从站有时间对所选的波特率作出应答。对所选的波特率作出应答。Done:MBUS_CTRL指令成功完成时,指令成功完成时,“完成完成”输出为输出为1,否则为,否则为0。Error:“错误错误”输
23、出代码。输出代码。“错误错误”输出代码由反应输出代码由反应执行该指令的结果的特定数字构成。执行该指令的结果的特定数字构成。“错误错误”输出代码的含义如下:输出代码的含义如下:0无错误无错误1奇偶校验选择无效奇偶校验选择无效2波特率选择无效波特率选择无效3超时选择无效超时选择无效4模式选择无效模式选择无效MBUS_CTRL 指令指令HardwareSoftwareWorkshopS7-20023上述参数支持的操作数和数据类型如下表所示。上述参数支持的操作数和数据类型如下表所示。MBUS_CTRL 指令指令HardwareSoftwareWorkshopS7-20024MBUS_CTRL 指令指令
24、MBUS_MSG 指令指令24Modbus 主站协议指令主站协议指令HardwareSoftwareWorkshopS7-20025MBUS_MSG 指令指令(或用于端口或用于端口1的的 MBUS_MSG_P1)用于启动对用于启动对Modbus从站的请求并处理应答。从站的请求并处理应答。当当 EN 输入和输入和“首次首次”输入都为输入都为1时,时,BUS_MSG 指令启动对指令启动对 Modbus 从站的请求。发送请求、等待应答、并处理应答通常需要多次扫描。从站的请求。发送请求、等待应答、并处理应答通常需要多次扫描。EN输入必须打开以启用请求的发送,并应该保持打开直到输入必须打开以启用请求的发
25、送,并应该保持打开直到“完成完成”位被位被置位。置位。必须注意的是,一次只能激活一条必须注意的是,一次只能激活一条 MBUS_MSG 指令。如果启用了多指令。如果启用了多条条 MBUS_MSG 指令,则将处理所执行的第一条指令,则将处理所执行的第一条 MBUS_MSG 指指令,之后的所有令,之后的所有 MBUS_MSG 指令将中止并产生错误代码指令将中止并产生错误代码6。MBUS_MSG 指令指令HardwareSoftwareWorkshopS7-20026EN:指令使能位。:指令使能位。First:“首次首次”参数。参数。“首次首次”参数应该在有新请求要发送时参数应该在有新请求要发送时才打
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 西门子 S7200PLCModbus 通信
限制150内