西门子300与mcgs通信_第1页
西门子300与mcgs通信_第2页
西门子300与mcgs通信_第3页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、西门子 S7_300/400MPI1 、 设备简介本驱动构件用于 MCGS 软件通过 MPI 适配器器读写西门子 S7-300/400 系列 PLC设备的各种寄存器的数据驱动类型串口子设备,须挂接在“通用串口父设备”下才能工作通讯协议采用西门子MPI 协议通讯方式一主一从的主从通讯方式。 驱动构件为主, PLC 设备为从。2、硬件连接MCGS 软件与设备通讯之前 ,必须保证通讯连接及适配器的设置正确。通讯连接方式:本构件与 S7-300PLC通讯时,要使用专用的标准西门子 MPI适配器 (PC-Adapter)与上位机 RS232口通讯,适配器设置 及通讯电缆连接线请参见 附录 1。3、设备通

2、讯参数“通用串口父设备”通讯参数设置如下:设置项参数项通讯波特率38400、19200 ( 默认值 )数据位位数8停止位位数1奇偶校验位奇校验其中父设备通讯参数设置应与设备的通讯参数相同,否则无法正常通讯。设备通讯参数的具体设置方法参见 附录 24、设备构件参数设置西门子 S7-300/400MPI”子设备参数设置如下:址都相同。1. “网络传输率 先确保相应设置 中设置的 MPI内部属性: 单击“查看设备内部属性” ,点击按钮进入内部属性,具体设置请参看 内部属性 。 PLC站地址 : PLC站地址,可设定范围 2126,默认值为 2。PLC槽号:PLC槽号(Rack) ,可设定范围 031

3、,默认值为 2,在和 400系列 PLC 通讯时此属性一般要设定为 3。 PLC机架号 :PLC机架号 (Slot) ,可设定范围 0 31,默认值为 0。此属性一般不用设置。通讯响应时间 :通讯初始化 MPI 适配器的等待延时,默认设置为 800ms,当无法正常通讯时可适当增大。数据帧格式 :通讯所用数据帧格式 , 默认为 0-格式 A,与西门子 ProDave 格式兼容 (支持 7E格式 ); 1- 格式 B 与 TopServer 格式兼容 ;2- 格式 C与 MCGS旧嵌入版驱动兼容 ; 3-格式 D与西门子旧版 ProDave5.1 格式兼容 (不支持 7E格式 ) 。建议使用默认

4、0-格式 A,其兼容性最强。本站地址 :上位机的地址 ,默认为 0,建议设置为 0或 1。网络传输率 : MPI网络传输率 , 可设置为 19.2Kbps 、187.5Kbps、1.5Mbps。默认为 187.5Kbps 。最高站地址 :网络中最高的地址,可设置为 15、31、63、126。默认为 31。要确保 MPI 网络中所有站的最高站地”和”最高站地址 ”两项的设置一定要 PLC 的 MPI 通讯设置及 Set PG/PC适配器属性中设置相同,并要 Step7 可以正常通讯。一般建议用户分别设置为默认值187.5K 和 31。另外, “网络传输率 ”是指 PLC网络的传输速率,与 ”通用

5、串口父设备 ”的串口通讯波特率有所区别,其具体查看及设置方法请参见 附2. “数据帧格式 ”一般情况下使用默认的 0- 格式 A即可,其兼容性最强。当使用非原厂的兼容MPI电缆在 A格式无法通讯时,可尝试使用其他格式,此时应注意:当选择1-格式 B和 2-格式 C时, 只能在 MPI网络传输率为 187.5Kbps的情况下才能正常通讯。这是由兼容 MPI 电缆决定的,而原厂电缆则不存在此问题。3. 此驱动与原有老驱动兼容,并默认识别为与旧驱动兼容的 C 格式。但如果用户使用老驱动,因更换为非原厂电缆 等原因,导致无法使用格式 C 通讯时,请重新添加驱动,并以其他格式尝试,此时通道及变量均需重新

6、连接。4. S7-300PLC的出厂设置是: MPI 地址为 2,槽号为 2;对于 S7-400PLC,其电源可能占用槽号位为 13 ,所以 CPU 的槽号位置不再是固定值 2。5、采集通道a、 通讯状态:通讯状态值代表意义0表示当前通讯正常1初始化失败或未收到 SC 确认帧2表示采集无数据返回错误3表示采集数据校验错误4表示设备命令读写操作失败错误5表示设备命令格式或参数错误6表示设备命令数据变量取值或赋值错误7表示 PLC 错误,数据没有准备好8表示收到数据帧(但其中部分数据存在错误)9表示收到数据帧 (但数据有错误, 可以查看日志记录)10表示收到错误帧(可以查看日志记录)b、 数据通道

7、信息:本构件数据通道可通过内部属性添加,具体设置请参看 内部属性 。6、内部属性用户可通过内部属性,添加 PLC 的通道,本驱动构件可增加通道类型如下:寄存器数据类型操作方式I 输入寄存器BT 、 BUB 、BB、BD读写WUB 、WB 、WDDUB 、DB、DD 、DFQ 输出寄存器BT 、 BUB 、BB、BDWUB 、WB 、WDDUB 、DB、DD 、DF读写M 位寄存器BT 、 BUB 、BB、BDWUB 、WB 、WDDUB 、DB、DD 、DF读写DB 数据块寄存器BT 、 BUB 、BB、BDWUB 、WB 、WDDUB 、DB、DD 、DF读写T 时间寄存器WD只读C 计数寄

8、存器WUB 、WB 、WD只读数据类型参见 附录 3地址范围参见 附录 4注意: 添加 DB数据块寄存器通道时, “寄存器地址”处地址添加格式为:DB块号.数据地址 。例如:添加 DB01.WUB002 通道时,则“数据类型”选择“ 16 位 无符号二进制” ,并在“寄存器地址”处填写 “1.2”。如填写不符合要求,则认为所填写值为 DB 块号,而数据地址默认为从 0 开始。例如只填写“ 2”,则识 别为“ 2.0”,即 DB2.0 。7、设备命令本设备构件提供设备命令,用于对西门子S7-300 PLC 进行相应的读写操作,设备命令的格式如下:设备命令命令格式命令举例读取命令ReadRead(

9、寄存器名称 .块号 . 寄 存器地址 .数据类型 = 返回 值)例 1.1: !SetDevice( 设 备 0,6, "Read(M.0.10.BT00=Data01;M.0.11.BT00=Data02)")读取 M10 和 M11 寄存器的值,放入 MCGS 变量 Data01,Data02 中。例 1.2: !SetDevice( 设 备 0,6, "Read(DB.1.20.WUB=Data01;DB.1.40.DF=Data02)")读取 DB1 寄存器中地址 20 的 16 无符号值 , DB1 寄存器中地址 40 的浮点 数值,放入 MC

10、GS 变量 Data01,Data02 中。写入命令WriteWrite( 寄存器名称 .块号 . 寄 存器地址 .数据类型 = 写入 值)例 1.3: !SetDevice( 设 备 0,6, "Write(M.0.10.BT00=Data01;M.0.11.BT00=Data02)")将 Data01,Data02 值分别写入寄存器 M10,M11 中。32 位读命令Read32Read32(寄存器名称 .块号 . 寄存器地址 .数据类型 = 字 符返回值 )例 2.1: !SetDevice(设备 0,6, "Read32(DB.1.30.DUB=strDa

11、ta)")读取 DB1 寄存器中地址 30 的 32 位无符号值 (DB1.DUB), 放入变量 strData中。32 位写命令Write32Write32( 寄存器名称 .块号 . 寄存器地址 .数据类型 = 字 符写入值 )例 2.2: !SetDevice(设备 0,6, "Write32(DB.1.30.DUB=strData)")将字符变量 strData 的值 , 以 32 位无符号格式写入寄存器 DB1.DUB30 中。批量读取 A:ReadPReadP(寄存器名称 . 块号 . 起始地址 .数据类型 , 数据 个数 n, 数据 1, . 数据 n

12、 ,返回状态 )例 3.1: !SetDevice( 设 备 0,6,"ReadP(DB.1.10.WUB,2,Data01,Data02, nReturn)")表示读取 DB1 寄存器从地址 10 开始的两个 16 位无符号数值 ,放入 MCGS 变量 Data01,Data02 中, 执行结果存入变量 nReturn 中。批量读取 B:ReadPVReadPV(寄存器名称 .块号 . 起始地址 .数据类型 , 数据 个数 n, 数据 1 , 返回状 态)例 3.2: !SetDevice( 设备 0,6,"ReadPV(DB.1.10.WUB,5,Data01

13、,nReturn)") 表示读取 DB1寄存器从地址 10开始的 5个16位无符号数值 ,放入 MCGS 变 量 Data01 为 起 始 , 连 续 5 个 变 量 ( 即 : Data01,Data02,Data03,Data04,Data05) 中 ,结果存入变量 nReturn 中。批量读取 C:ReadBlockReadBlock ( 寄存器名称 .块 号.起始地址 .数 据类 型 1 数据类型 ,读取数量 n, 字符数据 , 返回状态 )说明: 配方形式批量操作, 读取数量是指读取 N 个数据类型中指定的数据 段到字符变量中 ,数据类型可以有多个,之间用中括号分隔。 实际

14、连续读取个数 = 读取数量 n *(数据类型 1+数据类型 n) 返回数据“字符数据”格式为: 123, 456, xxx 的 csv 方式,每次读取时 以回车换行结尾。例 3.3: !SetDevice( 设 备 0,6,"ReadBlock(DB.1.10.WUBDF,3,strData,nReturn)")表示读取 DB1 寄存器从地址 10开始,按 WBU,DF 格式连续读取 3 组数据 ( 即 : 数据格式为 WUB,DF,WUB,DF,WUB,DF), 并以相应格式解析并以逗 号间隔的 CSV 格式存入字符变量 StrData 中。批量写入 A:WritePWr

15、iteP( 寄存器名称 .块号 . 起始地址 .数据类型 , 数据 个数 n, 数据 1, . 数据 n例 4.1: !SetDevice( 设 备0,6,"WriteP(DB.1.10.WUB,2,Data01,Data02,nReturn)")表示将 MCGS 变量 Data01,Data02 的值 , 以 16 位无符号形式写入 DB1 寄,返回状态 )存器从地址 10起始的两个寄存器中 , 执行结果存入变量 nReturn 中。批量写入 B:WritePVWriteP( 寄存器名称 .块号 . 起始地址 .数据类型 , 数据 个数 n, 数据 1 , 返回状 态)例

16、 4.2: !SetDevice( 设备 0,6,"WritePV(DB.1.10.WUB,5,Data01,nReturn)") 表示将以 MCGS 变量 Data01 为起始 ,连续 5 个变量的值(即: Data01,Data02,Data03,Data04,Data05), 以 16 位无符号形式写入 DB1 寄存 器从地址 10 起始的两个寄存器中 , 执行结果存入变量 nReturn 中。批量写入 C:WriteBlockWriteBlock ( 寄存器名称 . 块号 .起始地址 . 数据类型 1 数据类型 ,读取数量 n, 字符数据 , 返回状态 )说明 :

17、写入的数据在指定的字符数据对象中,格式为:xxx , xxx ,xxx 的csv 方式,每次读取时换行以回车换行结尾。 其他具体格式参见 ReadBlock 。 例 4.3: !SetDevice( 设 备 0,6,"WriteBlock(DB.1.10.WUBDF,3,strData,nReturn)")表示将 strData 字符变量中的 CSV 格式的数据,按指定格式,写入 DB1 寄存器从地址 10 开始的连续地址中。通讯日志SetHiddenPro(1, 属性值 )开启通讯日志 : !SetDevice(设备 0,6, "SetHiddenPro(1 ,

18、 1) ")开启错误日志 : !SetDevice(设备 0,6, "SetHiddenPro(1 , 2) ")关闭通讯日志 : !SetDevice(设备 0,6, "SetHiddenPro(1 , 0) ")属性获取GetHiddenPro(1, 属性值 )读取日志状态: !SetDevice(设备 0,6, "G etHiddenPro(1 , Data01) ") Data01 为 1 时,表示日志开启;为 0 时,表示日志关闭。读取 PLC延时: !SetDevice(设备 0,6, "G etHid

19、denPro(2 , Data01) ") 读取 PLC实际的响应延迟时间,存入变量Data01 中。读取最小采集耗时: !SetDevice(设备 0,6, "G etHiddenPro(3 , Data01) ") 读取采集最小数据 (1 字长数据 ) 所用耗时,存入变量 Data01 中。参数说明:寄存器名称 :字符型变量 ,表示当前操作的寄存器 ,值等于 I, Q, M, DB, T, C 。块号:数值型变量 ,表示当前操作的 DB寄存器的 DB 块号。当寄存器为 I, Q, M, T, C ,此值无意义,为 0即可。寄存器地址 :数值型变量 ,表示当前操

20、作的寄存器地址 , 查阅相关手册确定 。数据类型 : 字符型变量 ,表示当前操作的寄存器数据类型 ,参见 附录 2 。数据:数值型变量、开关量 ,它是用来存储设备命令数据的 MCGS 变量。返回状态 :返回批量读写设备命令的执行状态(当设备命令格式错误时无效 ), 具体返回值意义请参见 通讯状态 说明 ,返回状态为可选参数 (以标记 ), 用户也可通过通讯状态通道判断返回结果。批量读写说明 :1. 批量读写操作 (包括: ReadP、ReadPV、WriteP、WritePV ),为对同类寄存器连续地址的一次性读写操作。使 用时要注意变量对应寄存器地址的连续性。2. 批量读写操作 (包括: R

21、eadP、ReadPV、WriteP、WritePV),数据个数最大为 512 个。建议一次批量操作数据 量不要过大 , 否则会影响正常采集效果。3. 批量读写 ReadPV 和 WritePV 为对连续变量的操作,使用时要注意保证变量命名的索引累加的连续性。具体可参看相应“命令举例”部分。4. 批量读写 ReadBlock 和 WriteBlock 为对连续地址的读写操作, 其字符变量格式为特定的 CSV 格式,在写入及 读取解析时一定要注意符合格式要求。通讯日志功能说明:设备命令中提供的 通讯日志功能 是为了方便用户现场调试,默认为不开启状态。正常时无需开启,否则影响速度。 当现场有疑难无

22、法正常通讯时,可开启日志功能,记录日志信息,将通讯过程记录以供技术人员分析。对于通讯跳变等 不稳定状态,可以开启错误日志记录(即 :当通讯不正常时,记录通讯错误的日志,而正常通讯时不记录日志) 。通讯日志默认保存为 C:HostLink.log (TPC 下为 HardDiskHostLink.log) 。当文件大于 6M 时自动清空。日志格式举例说明如下:地址行号操作时间操作内容重试次数Address: 2Line001(2007-10-24InitializeMPI1014:21:51)子行号发/收操作时间字节长度发送或接收内容01Send323697651 Byte:0202Recv32

23、3697651 Byte:1003Send3236976512 Byte:0482800C0314B0012E100391行号操作时间总耗时Line00132369796AllCollectTime151ms属性获取功能说明 : 使用设备命令中提供的 属性获取功能 ,可以获得通讯日志状态、 PLC 延时、最小采集耗时等数据。其中: 通讯日志状态 :读回值为 1 时,表示通讯日志开启;读回值为 2 时,表示开启错误日志;为 0 时,表示 通讯日志关闭。PLC 延时 :为 PLC 实际的响应延迟时间,即:驱动读写指令帧发出后到PLC 响应并开始返回数据帧所用的时间。最小采集耗时 :为采集最少数据

24、(1 字长数据 ) 所耗费的时间,最小采集耗时 =发指令帧耗时 + PLC 延时 + 接收数据帧耗时。用户在调试时, 可根据 PLC延时、最小采集耗时判断 PLC 的实际响应时间, 并结合驱动通讯日志判断采集速度 是否正常。如数据值过大,说明 PLC 可能因程序过大而导致响应时间过长,影响采集速度。解决方法为优化 PLC 程序,提高 PLC 响应时间。注释:由于 MPI 驱动为多帧通讯机制,属性中获取的 PLC 延时和最小采集耗时并不完全代表实际采集的时间。8、常见故障分析故障现象分析处理建议通讯状态为1 或 2采集初始化错误或采集无数据返回(通讯硬件连接、参数设置问题)1、检查串口父设备参数

25、设置是否正确2、检查串口是否被其他程序占用3、检查通讯电缆是否正确连接,或使用原厂标准电缆4、检测设备,并使用厂家测试程序确保通讯正常。并确认设备设置项与帮助中要求相同。5、检查“设备地址”与 PLC 设置是否一致6、适当延长“通讯等待时间”7、读取数据地址超范围通讯状态为 3采集数据校验错误(包括应答数据不完整或校验错误两种情况)1、检查父设备串口校验位设置是否正确2、适当延长“通讯等待时间”3、设备断电,重新上电,使初始化设备4、通讯电缆太长,做短距离测试5、现场干扰太大,避免周围环境干扰6、通讯信号变弱,使用有源RS232/485 模块通讯状态为 7PLC 数据未准备好适当增加“通讯等待

26、时间”通讯状态为 8部分通道配置问题(多为寄存器地址超出范围)可能存在配置数据地址越界等错误, 此时有问题通道值显 示可能的错误值及意义如下:-1硬件错误 -3非法寄存器访问 -5错误的寄存器地址-6不支持的数据类型 -10寄存器不存在或长度错误 此时请检查所添加寄存器及地址是否存在问题, 以及对应 型号 PLC 是否支持。通讯状态 9, 10返回错误帧和开发人员联系,确认错误原因通讯状态在 0 与通讯不稳定或读取1、同通讯状态为 3 的处理非 0 之间跳变地址超范围2、读取数据地址超范围(典型情况为,添加某通道后,导致通讯状态变非0)通讯状态为 0,数据不正确组态工程错误1、新建工程测试驱动

27、2、检测通道是否连接变量3、检测工程是否对数据进行处理通讯速度太慢通讯数据量过大或采集周期设置过长1、将“采集优化”属性设置为“1-优化”2、减小父设备及子设备的最小采集周期(最小可设置为 20ms)3、使用设备命令,减少实时采集的数据4、通过设备命令获取 PLC 延时, 判断是否因 PLC 响应时 间过长而影响采集速度。通讯次数过多5、将数据放到连续的地址块中,提高块读效率6、将不同寄存器的数据放到同一寄存器连续的地址块中,减少采集块数,提高采集效率9 、 特殊应用的开发 本设备构件目前只实现部分通讯功能,如需要用作其它用途或本构件不能满足要求时,可自行进行开发, MCGS 用 户指南中有关

28、于开发设备构件的详细说明,也可以提出具体的技术要求,由我们亲自为您定制。附表:附录 1MPI适配器(PC Adapter)的串口通讯的波特率可通过适配器上的 DIP开关进行设置,且必须与上位机 Set PG/PC 中 PC Adapter 的本地连接设置一致。西门子原厂 MPI 适配器有两种型号,分别为: 6ES7 972-0CA23-0XA0 和 6ES7 972-0CA20-0XA0 。其中 6ES7 972-0CA20-0XA0 只支持 19200 的波特率。注意:部分国内兼容的 MPI 适配器只能支持部分网络传输率及串口通讯的波特率,请使用时注意。建议先使用西门 子编程软件 Step7

29、 测试确认一下。在与 TPC 通讯时,有时需要附加通讯电缆与适配器器相接,其接线图如下:注意:TPC RS232 端口与 MPI 适配器之间电缆的最长距离不能超过 15 米。附录 2通讯参数设置方法:1) 连接 PLC,运行 Step7 编程软件。2) 选择主菜单的 Options ,选择“ Set PG/PC Interface ”,弹出“ Set PG/PC Interface ”窗口,如下图所示:3) 点击上图的 Properties 按钮,弹出通讯接口参数配置框如下图所示,可以设置网络参数,并在左下方有对应的 参数显示,组态中驱动设置的网络传输率及最高站地址要与其一一对应。4) 点击上图中“ Local Connection 页”,或切换到本机通讯设置,如下图所示。为本机串口通讯参数的设置,需要与MP

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论