PLC在自由口通讯中实现多地址指针接收数据方法.pdfVIP

PLC在自由口通讯中实现多地址指针接收数据方法.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PLC 在自由口通讯中实现多地址指针接收数据的方法 1 引言 西门子S7-200PLC 由于其体积小,可靠性高,通讯功能强大等特点,在工业 控制领域得到广泛的应用,使用S7-200PLC 高性价比的自由口通讯协议实现人机 界面灵活方便。目前S7-200PLC 接收计算机指令数据主要有两种方法:第一种方 法是使用PLC 自带的RCV 指令来接收计算机数据;第二种方法采用PLC 提供的“接 收字符中断”方式,将SMB2(自由口接收字符缓冲区)定义指针,使用指针接收 数据。 使用“RCV指令接收数据的方法虽然简单,但在接收大量数据的时候每次都 要依次接收,大大降低了数据传输效率。在本实验室的一套机电一体化控制系统 中,人机界面设计要求是:界面可以向PLC 写入QB0、QB1、QB2、传感器采样周 期、一个判断指令、AQ0、AQ1 等不同指令数据。若一次上位机写指令仅仅是控 制QB0.3 的启动,为了写入QB0 则需要将9 B 的数据全部发送,由于PLC 内接收 数据是用“RCV”指令,必须将9 B 的数据依次存储,这样会造成数据传输线路 中的时间过长产生延时,降低数据传输的效率,甚至导致误码出现,显然这种使 用“RCV”接收大量数据的方法不太适合。 使用PLC 提供的“接收字符中断”方式,将SMB2(自由口接收字符缓冲区) 定义指针,使用指针接收数据。此方法若仅仅定义一个指针,其效果和“RCV” 指令是一样的。但此方法由于其使用起来比较灵活,故本文设计了一种多地址指 针接收数据的方法,即在计算机向PLC 写入数据时,仅写入指针判别的代号和对 应数据就可完成上位机对下位机的写指令,不同的代号对应不同的地址,与以往 使用“RCV”指令相比,有效地减少了写指令的数据,提高了通讯效率。本文在 设计PLC 与上位机的串口通讯中设计了此种方案,尚未见其他同类文章使用。 2 指针判别 在PLC 与计算机的自由口通讯中,为消除“RCV”或单指针接收计算机数据 带来的大数据流,本文在计算机每次向PLC 发送指令时,第一个字节总是模式的 代号,从第二个字节开始才是指令数据的内容。在PLC 接收数据时,第一个数据 进入“自由口接收字符缓冲区”SMB2 时,PLC 通过“选择指针”最先接收的是指 针判别的代号,通过接收代号的数值比较来判断该指令数据对应的是哪种数据, 判断完成后定义一个地址指针接收并存储这种数据的内容。不同的指针判别代号 对应不同的地址指针,因此计算机每次写入PLC 指令时发送的指令数据都是由两 部分构成:第一部分为指针判别代号,第二部分为指令数据的内容。指针判别过 程是PLC 内接收到判别代号后进行数值比较。指针判别的意义就是通过一个总指 针接收模式代号,用不同模式代号再定义多个指针完成不同种类的指令数据的接 收与存储。 3 具体应用方案 在设计本实验室的一套电液伺服控制系统中,上位机的人机界面使用VB 6.0 编程,下位机的通讯模式为自由口通讯。人机界面设计要求:界面可以向PLC 写入QB0、QB1、QB2、传感器采样周期、AQW0、AQW2 等不同指令数据,PLC 在定 时中断内使用XMT 指令周期地向上位机发送变量存储器VB1~VB21 中的待监视数 据(包含PLC 中的数字量与模拟量)。由于在设计中上位机写入PLC 指令数据种类 较多,其中包括定时中断的时间设置、状态位值的写入、模拟量扩展模块的输出 等,故本文的模式选择可以将种类不同的指令数据用多个指针接收并存储。表1 是本设计PLC 程序的部分地址分配表,以便结合PLC 程序来说明多地址指针方案 的具体实现方法。 SBR_0 子程序初始化: 网络1:在子程序中定义中断事件。 INT_0 接收字符中断事件中采用指针判别: 网络1:指针代号接收存储于VB22。 网络2:启动指针1,接收数据写入VB24,用于启动/停止XMT(0 启动,1 停止)。 网络3:启动指针2,接收数据写VB26,VB27,VB28,用于写入QB0,QB1, QB2。 网络4:启动指针3,接收数据为写入定时中断的时间设置SMB34。 网络5:启动指针4,接收数据赋值给PLC 模拟量输出AQW0。 网络6:启动指针5,接收数据赋值给PLC 模拟量输出AQW2。 INT_1 定时中断事件中PLC 发送监视数据: 网络1:通过VB24 接收的数据控制XMT “启/停”,控制PLC 向PC 发送数据。 4 注意要点: 由于在本设

文档评论(0)

nnh91 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档