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

下载本文档

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

文档简介

本驱动构件用于MCGS软件通过MPI适配器器读写西门子S7-300/400系列PLC设备的各种寄存器的数据类型讯协议通讯方式串口子设备,须挂接在“通用串口父设备”下才能工作MPI协MPI协议MCGS软件与设备通讯之前,必须保证通讯连接及适配器的设置正确。本构件与S7-300PLC通讯时,要使用专用的标准西门子MPI适配器(PC-Adapter)与上位机RS232口通讯,适配器设置及通讯电缆连接线请参见附录1。“通用串口父设备”通讯参数设置如下:参数参数项81设置项通讯波特率数据位位数停止位位数奇偶校验位其中父设备通讯参数设置应与设备的通讯参数相同,否则无法正常通讯。设备通讯参数的具体设置方法参见附录2门子S7-300/400MPI”子设备参数设置如下:LC2-126,默认值为2。通讯响应时间:通讯初始化MPI适配器的等待延时,默认设置为800ms,当无法正常通讯时可适当增大。数据帧格式:通讯所用数据帧格式,默认为0-格式A,与西门子ProDave格式兼容(支持7E格式);1-格式B与TopServer格式兼容;2-格式C与MCGS旧嵌入版驱动兼容;3-格式D与西门子旧版ProDave5.1格式兼容(不支持7E格式)。建议使用默认0-格式A,其兼容性最强。本站地址:上位机的地址,默认为0,建议设置为0或1。”和”最高站地址”两项的设置一定要PLC的MPI通讯设置及SetPG/PC适配器属性中设置相同,并要Step7可以正常通1.“网络传输率先187.5K和31。另外,“网络传输率”是指PLC确保相应设置中网络的传输速率,与”通用串口父设备”的串口通讯波特率有所区别,其具体查看及设置方法请参见附设置的MPI2.“数据帧格式”一般情况下使用默认的0-格式A即可,其兼容性最强。当使用非原厂的兼容MPI电缆在A格式无法通讯时,可尝试使用其他格式,此时应注意:当选择1-格式B和2-格式C时,只能在MPI网络传输率为187.5Kbps的情况下才能正常通讯。这是由兼容MPI电缆决定的,而原厂电缆则不存在此问题。3.此驱动与原有老驱动兼容,并默认识别为与旧驱动兼容的C格式。但如果用户使用老驱动,因更换为非原厂电缆等原因,导致无法使用格式C通讯时,请重新添加驱动,并以其他格式尝试,此时通道及变量均需重新连接。SPLCMPI2,槽号为2;对于S7-400PLC,其电源可能占用槽号位为1~3,所以CPU的槽号位置不再是固定值2。通讯通讯状态值代表意义表示当前通讯正常0初始化失败或未收到SC确认帧1表示采集无数据返回错误2表示采集数据校验错误3表示设备命令读写操作失败错误4表示设备命令格式或参数错误5表示设备命令数据变量取值或赋值错误67表示收到数据帧(但其中部分数据存在错误)89表示收到错误帧(可以查看日志记录)数数据类型I输入寄存器操作方式WUBWUB、WB、WDQ输出寄存器WUB、WB、WDM位寄存器WUB、WB、WDDB数据块寄存器WUB、WB、WDT时间寄存器DC计数寄存器WUB、WB、WD数据类型参见附录3地址范围参见附录4例如:添加DB01.WUB002通道时,则“数据类型”选择“16位无符号二进制”,并在“寄存器地址”处填写“1.2”。如填写不符合要求,则认为所填写值为DB块号,而数据地址默认为从0开始。例如只填写“2”,则识别为“2.0”,即DB2.0。本设备构件提供设备命令,用于对西门子S7-300PLC进行相应的读写操作,设备命令的格式如下:设设备命令取命令读取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的浮点数值,放入MCGS变量Data01,Data02中。命令格式器地址.数据类型=返回值)例1.1:!SetDevice(设备0,6,"Read(M.0.10.BT00=Data01;M.0.11.BT00=Data02)")命令举例te32位读命令32位写命令Write批量读取A:批量读取B:批量读取C:批量写入A:riteP器地址.数据类型=写入值)存器地址.数据类型=字符返回值)存器地址.数据类型=字符写入值)ReadP(寄存器名称.块号.起始地址.数据类型,数据个数n,n状态])始地址.数据类型,数据个数n,数据1[,返回状态])号.起始地址.[数据类型1][数据类型…],读取数量n,字符数据[,状态])始地址.数据类型,数据个数n,例1.3:!SetDevice(设备0,6,"Write(M.0.10.BT00=Data01;M.0.11.BT00=Data02)")将Data01,Data02值分别写入寄存器M10,M11中。例2.1:!SetDevice(设备0,6,"Read32(DB.1.30.DUB=strData)")读取DB1寄存器中地址30的32位无符号值(DB1.DUB),放入变量strData例2.2:!SetDevice(设备0,6,"Write32(DB.1.30.DUB=strData)")将字符变量strData的值,以32位无符号格式写入寄存器DB1.DUB30中。例3.1:!SetDevice(设备0,6,"ReadP(DB.1.10.WUB,2,Data01,Data02,nReturn)")表示读取DB1寄存器从地址10开始的两个16位无符号数值,放入MCGS变量Data01,Data02中,执行结果存入变量nReturn中。例3.2:!SetDevice(设备0,6,"ReadPV(DB.1.10.WUB,5,Data01,nReturn)")表示读取DB1寄存器从地址10开始的5个16位无符号数值,放入MCGS变量Data01为起始,连续5个变量(即:Data01,Data02,Data03,Data04,Data05)中,结果存入变量nReturn中。N符变量取个数=读取数量n*(数据读取时以回车换行结尾。 (DB.1.10.[WUB][DF],3,strData,nReturn)")表示读取DB1寄存器从地址10开始,按WBU,DF格式连续读取3组数据(即:数据格式为WUB,DF,WUB,DF,WUB,DF),并以相应格式解析并以逗号间隔的CSV格式存入字符变量StrData中。例4.1:!SetDevice(设备WritePDBWUBDataDatanReturn")表示将MCGS变量Data01,Data02的值,以16位无符号形式写入DB1寄批批量写入B:itePV批量写入C:ock[,返回状态])WriteP地址.数据类型,数据个数n,数据1[,返回状态])WriteBlock(寄存器名称.块号.起始地址.[数据类型1][数据类型…],读取数量n,字符数据[,返回状态])存器从地址10起始的两个寄存器中,执行结果存入变量nReturn中。例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中。xx4.3:!SetDevice(设备0,6,"WriteBlock(DB.1.10.[WUB][DF],3,strData,nReturn)")表示将strData字符变量中的CSV格式的数据,按指定格式,写入DB1寄存器从地址连续地址中。讯日志属性获取SetHiddenPro(1,属性值)GetHiddenPro(1,属性值)开启通讯日志:!SetDevice(设备0,6,"SetHiddenPro(1,1)")开启错误日志:!SetDevice(设备0,6,"SetHiddenPro(1,2)")关闭通讯日志:!SetDevice(设备0,6,"SetHiddenPro(1,0)")a时,表示日志开启;为0时,表示日志关闭。的响应延迟时间,存入变量Data01中。小数据(1字长数据)所用耗时,存入变量Data01中。寄存器名称:字符型变量,表示当前操作的寄存器,值等于I,Q,M,DB,T,C。块号:数值型变量,表示当前操作的DB寄存器的DB块号。当寄存器为I,Q,M,T,C,此值无意义,为0即可。寄存器地址:数值型变量,表示当前操作的寄存器地址,查阅相关手册确定。数据:数值型变量、开关量,它是用来存储设备命令数据的MCGS变量。返回状态:返回批量读写设备命令的执行状态(当设备命令格式错误时无效),具体返回值意义请参见通讯状态说明,返回状态为可选参数(以[]标记),用户也可通过通讯状态通道判断返回结果。批量读写说明:对应寄存器地址的连续性。会影响正常采集效果。3.批量读写ReadPV和WritePV为对连续变量的操作,使用时要注意保证变量命名的索引累加的连续性。具体可参看相应“命令举例”部分。4.批量读写ReadBlock和WriteBlock为对连续地址的读写操作,其字符变量格式为特定的CSV格式,在写入及读取解析时一定要注意符合格式要求。设备命令中提供的通讯日志功能是为了方便用户现场调试,默认为不开启状态。正常时无需开启,否则影响速度。当现场有疑难无法正常通讯时,可开启日志功能,记录日志信息,将通讯过程记录以供技术人员分析。对于通讯跳变等不稳定状态,可以开启错误日志记录(即:当通讯不正常时,记录通讯错误的日志,而正常通讯时不记录日志)。通讯日志默认保存为C:\HostLink.log(TPC下为\HardDisk\HostLink.log)。当文件大于6M时自动清空。0发送或接收内容0482800C0314B0012E100391AllCollectTime[151ms]Address:2操作时间操作时间操作时间操作内容PLCPLCPLC响应并开始返回数据帧所最小采集耗时:为采集最少数据(1字长数据)所耗费的时间,最小采集耗时=发指令帧耗时+PLC延时+接收数据帧耗如数据值过大,说明PLC可能因程序过大而导致响应时间过长,影响采集速度。解决方法为优化PLC程序,提高PLC响应时间。注释:由于MPI驱动为多帧通讯机制,属性中获取的PLC延时和最小采集耗时并不完全代表实际采集的时间。通讯状态为采集初始化错误或采集无数据返回 (通讯硬件连接、参数设置问题)2、检查串口是否被其他程序占用3、检查通讯电缆是否正确连接,或使用原厂标准电缆4、检测设备,并使用厂家测试程序确保通讯正常。并确认设备设置项与帮助中要求相同。通讯状态为3通讯状态为7通讯状态为8采集数据校验错误 (包括应答数据不完整或校验错误两种情况)PLC数据未准备好部分通道配置问题5、检查“设备地址”与PLC设置是否一致6、适当延长“通讯等待时间”7、读取数据地址超范围、检查父设备串口校验位设置是否正确2、适当延长“通讯等待时间”6、通讯信号变弱,使用有源RS232/485模块适当增加“通讯等待时间” (多为寄存器地址超出范围)错误值及意义如下:-1-硬件错误-3-非法寄存器访问-5-错误的寄存器地址通讯状态9,10通讯状态在0与返回错误帧通讯不稳定或读取-6-不支持的数据类型-10-寄存器不存在或长度错误此时请检查所和开发人员联系,确认错误原因通讯次数过多通讯次数过多5、将数据放到连续的地址块中,提高块读效率6、将不同寄存器的数据放到同一寄存器连续的地址块中,减少采集块数,提高采集效率22、读取数据地址超范围 (典型情况为,添加某通道后,导致通讯状态变非2、检测通道是否连接变量3、检测工程是否对数据进行处理1、将“采集优化”属性设置为“1-优化”2、减小父设备及子设备的最小采集周期 (最小可设置为20ms)3、使用设备命令,减少实时采集的数据PLCPLC响应时间过长而超范围组态工程错误通讯数据量过大或采集周期设置过长数据不正确通讯速度太慢r置一致。特率。注意:部分国内兼容的MPI适配器只能支持部分网络传输率及串口通讯的波特率,请使用时注意。建议先使用西门子编程软件Step7测试确I录2PLC,运行Step7编程软件。3)点击上图的Properties按钮,弹出通讯接口参数配置框如下图所示,可以设置网络参数,并在左下方有对应的参数显示,组态中驱动设置的网络传输率及最高站地址要与其一一对应。4)点击上图中“LocalConnection页”,或切换到本机通讯设置,如下图所示。为本机串口通讯参数的设置,需要与MPI适配器的DIP拨码开关设置对应。组态时

温馨提示

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

最新文档

评论

0/150

提交评论