1 / 11
文档名称:

plc培训班-西门子S7200与变频器MODBUS通讯实例详解.doc

格式:doc   页数:11页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

plc培训班-西门子S7200与变频器MODBUS通讯实例详解.doc

上传人:xxj16588 2016/5/7 文件大小:0 KB

下载得到文件列表

plc培训班-西门子S7200与变频器MODBUS通讯实例详解.doc

相关文档

文档介绍

文档介绍:西门子 S7200 与变频器 MODBUS 通讯实例详解西门子 S7200PLC 简介西门子 S7-200PLC 在实时模式下具有速度快,具有通讯功能和较高的生产力的特点。一致的模块化设计促进了低性能定制产品的创造和可扩展性的解决方案。来自西门子的 S7- 200 微型 PLC 可以被当作独立的微型 PLC 解决方案或与其他控制器相结合使用。 Modbus 通讯协议简介 Modbus 是由 Modicon ( 现为施耐德电气公司的一个品牌)在 1979 年发明的, 是全球第一个真正用于工业现场的总线协议。 ModBus 网络是一个工业通信系统, 由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成。其系统结构既包括硬件、亦包括软件。它可应用于各种数据采集和过程监控。 ModBus 网络只有一个主机, 所有通信都由他发出。网络可支持 247 个之多的远程从属控制器,但实际所支持的从机数要由所用通信设备决定。采用这个系统,各 PC 可以和中心主机交换信息而不影响各 PC 执行本身的控制任务。 1 MODBUS RTU 协议在 S7-200 中的应用原理 1 .1 MODBUS RTU 协议与 S7-200 相互关系简介 S7-200 CPU 上的通讯口 Port0 可以支持 MODBUS RTU 协议,成为 MODBUS RTU 从站。此功能是通过 S7-200 的自由口通讯模式实现, 因此可以通过无线数据电台等慢速通讯设备传输。想在 S7-200 CPU 与其他支持 MODBUS RTU 的设备使用 MODBUS RTU 协议通讯,需要由有 S7-200 CPU 做 MODBUS 主站。 S7-200 CPU 做主站必须由用户自己用自由口模式,按相关协议编程。 2 从站指令的用法: S7-200 控制系统应用中, MODBUS RTU 从站指令库只支持 CPU 上的通讯 0口(Port0) 。要实现 MODBUS RTU 通讯,需要 Step7-Micro/WIN32 以上版本的编程软件, 而且须安装 Step7-Micro/WIN32 Instruction Library( 指令库) 。 MODBUS RTU 功能是通过指令库中预先编好的程序功能块实现的。 MODBUS RTU 协议在 S7-200 中应用的基本过程(1) 首先检查 S7-200 控制系统中所用 Micro/WIN 软件版本,应当是 Step7-Micro/WIN 以上版本。(2) 检查 Micro/WIN 的指令树中是否存在 MODBUS RTU 从站指令库( 图 1) ,库中应当包括 MBUS_INIT 和 MBUS_SLAVE 两个子程序。如果没有, 须安装 Micro/WIN32 Instruction Library( 指令库) 软件包编程时使用 —调用子程序 MBUS_INIT 进行初始化,使用 —调用研究 MBUS_SLAVE ,并指定相应参数。关于参数的详细说明,可在子程序的局部变量表中找到。调用 MODBUS 通讯指令库参数意义如下:●模式选择: 启动/ 停止 MODBUS , 1= 启动;0= 停止; ●从站地址: MODBUS 从站址,取值 1~247; ●波特率: 可选 1200 , 2400 , 4800 , 9600 , 19200 , 38400 , 57600; ●奇偶校验:0= 无校验;1= 奇校验;2= 偶校验; ●延时: 附加字符间延时,缺省值为 0; ●最大 I/Q 位: 参与通讯的最大 I/O 点数, S7-200 I/O 映像区为 128/128 ,缺省值为 128; ●最大 AI 字数: 参与通讯的最大 AI 通道数,可为 16 或 32; ●最大保持寄存器区: 参与通讯的V 存储区字(VW); ●保持寄存器区起始址: 以&VBx 指定( 间接寻址方式); ●初始化完成标志: 成功初始化后置 1; ●错误代码:0= 无错误。 注意的问题调用 Step7-Mciro/WIN32 Instruction Library( 指令库) 需要分配库指令数据区(Library Memory) 。库指令数据区是相应库子程序和中断程序所要用到变量存储空间。编程时不分配库指令数据区,编译时会产生许多相同的错误。由子程序参数 HoldStart 和 MaxHold 指定保持寄存器区,是 S7-200 CPU V 数据存储区中分配, 此数据区不能和库指令数据区有任何重叠, 否则运行时会产生错误, 不能正常通讯。注意 MODBUS 中保持寄存器区按“字”寻址,即 MaxHold 规定是 VW 而 VB 个数。 3 主站指令的用法: 1.