您的位置 首页 IC

自在口形式下PLC与计算机的通讯

概述—-本例说明如何以自由协议实现计算机与S7-200的通信,计算机作为主站,可以实现对PLC从站各寄存器的读写操作。—-计算机通

概述
  —-本例阐明如何故自在协议完成计算机与S7-200的通讯,计算机作为主站,能够完成对PLC从站各寄存器的读/写操作。
  —-计算机经过COM口发送指令到PLC的PORT0(或PORT1)口,PLC经过RCV接纳指令,然后对指令进行译码,译码后调用相应的读/写子程序完成指令要求的操作,并回来指令履行的状况信息。
通讯协议
  —-在自在口形式下,通讯协议是由用户界说的。用户能够用梯形图程序调用接纳中止、发送中止、发送指令(XMT)、承受指令(RCV)来操控通讯操作。在自在口形式下,通讯协议完全由梯形图程序操控。
  指令格局界说
  计算机每次发送一个33字节长的指令来完成一次读/写操作,指令格局见表1 阐明:

  开端字符
  —-开端字符标志着指令的开端,在本例中被界说为ASCII码的“g”,不同的PLC从站能够界说不同的开端字符以接纳真对该PLC的指令。
  指令类型
  —-该字节用来标志指令的类型,在本例中05H代表读操作,06H代表写操作。
  方针PLC站地址
  —-方针PLC站地址占用指令的B2、B3两个字节,以十六进制ASCII码的格局表明方针PLC的站地址。
  方针寄存器地址
  —-在PLC内部能够用4个字节来表明一个寄存器的地址(但不能表明一个位地址)。前两个字节表明寄存器类型,后两个字节表明寄存器号。
  00 00(H): I寄存器区
  01 00(H): Q寄存器区
  02 00(H): M寄存器区
  08 00(H): V寄存器区
  例如:
  IB000的地址可表明为 00 00 00 00(H)
  VB100的地址可表明为 08 00 00 64(H)
  读/写字节数M
  —-当读指令时,一直读回从方针寄存器开端的接连8个字节的数据(转换为十六进制ASCII码后占用16个字节),能够依据自己的需求取用,M能够恣意写入。
  —-当写指令时,M表明的是要写入数据的十六进制ASCII码所占用的字节数。例如要写入1个字节的数据,数据在指令中以十六进制ASCII码表明,它将占用2个字节,此刻应向M中写入“02”。同理,假如要写入5个字节的数据,M中应写入“0A”。
  要写入的数据
  —-要写入的数据在指令中以十六进制ASCII码的格局表明,占用指令的B14-B29共16个字节。数据区有必要填满,但只要前M个字节的数据会被写入方针寄存器。一条指令最多能够写入8个字节的数据(此刻M中应写入“10”,代表十进制的16)
  BCC校验码
  —-在传输过程中,指令有或许遭到任何的搅扰而使本来的数据信号产生歪曲,此刻的指令当然是过错的,为了侦测指令在传输过程中产生的过错,接纳方有必要对指令作进一步的承认作业,以避免过错的指令被履行,最简略的办法便是运用校验码。BCC校验码的办法便是即将传送的字符串的ASCII码以字节为单位作异或和,并将此异或和作为指令的一部分传送出去;同样地,接纳方在接到指令后,以相同的方法对接纳到的字符串作异或和,并与传送方所送过来的值作比照,若其值持平,则代表接纳到的指令是正确的,反之则是过错的。
  —-在本例中,bcc为指令B1到B29的异或和,BCC为bcc的十六进制ASCII码。
  —-bcc=B1 xor B2 xor B3 xor B4 xor …… xor B29
  完毕字符
  —-完毕字符标志着指令的完毕,在本例中被界说为ASCII码的“G”,不同的PLC从站能够界说不同的完毕字符以接纳真对该PLC的指令。
  PLC在接到上位机指令后,将发送一个21字节长反应信息,格局见表2

阐明:
  开端字符
  —-开端字符标志着反应信息的开端,在本例中被界说为ASCII码的“g”,不同的PLC从站能够界说不同的开端字符,这样上位机能够依据信息的开端字符来判别反应信息的来历。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/232104.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部