VB的台达PLC与监控计算机的串行通信实现.docVIP

VB的台达PLC与监控计算机的串行通信实现.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VB的台达PLC与监控计算机的串行通信实现.doc

1 引 言 现场设备层中的设备种类繁多,有传感器、启动器、驱动器、I/O部件、变送器、阀门等等,当然也包括现场检测仪器仪表设备。PLC是现场设备控制层不可缺少的部分,已经非常普及,如何简便地实现与PLC的交互已经成为众多厂商新的竞争战场。由此产生了人机界面等软件产品,这些产品的出现简化了对PLC的控制、操作,使PLC的应用更加方便;但也有其共同的缺点,价格普遍偏高和可二开发性较差。VB作为“原始”的编程语言在这两方面无疑有着明显优势的,本文结合一个简单的案例,用比较基础的概念讨论如何通过VB实现PC与PLC之间的通信问题,这对刚涉步控制领域的工程师或许是有帮助的。在现场设备层中各式各样的设备都可以和计算机联机,而最简单的自动化联机方式就是使用串行通信,VB提供了串行通信控件可以让开发者开发出串行通信的系统程序,以下是对相关问题的粗略讨论。 2 串行通信基本概念 数据通讯中有两种类型的通信形式,即并行通信(Parallel Communication)和串行通信(Serial Communication)。例如,如果有8位数据需要传送,那么并行通信一次就可以完成8位的传输量;而串行一次只能传送1位。图1表示了两种不同的通信模式,常用的串行通信也有两种,分别为RS-232和RS-485。 2.1 RS-232 串行通信 RS-232的信号准位是参考地线而言的,如图2所示。相对于参考接地端1传输端传送数据;接收端则相对于参考接地端2复现出传送端的传送的数据。 2.2 RS-485串行通信 RS-485的信号被传送出去时会分成正负两条线路,当到达接收端后,在将信号相减还原成原来的信号;如果将原始的信号表示成(DT),而被分成的信号分别标示成(D+)及(D-),则DT=(D+)-(D-)。同理,接收端在接收到信号后,也依据上式还原成原来的样子。如果线路受到干扰,两条线路的信号分别为(D+)+Noise与(D-)+Noise。接收端还原信号为(DT)= [(D+)+Noise]-[(D-)+Noise],与先前结果一样,所以RS-485可以有效的防止噪声的干扰。 3 VB的基本概念 VB(Visual Basic)是微软的窗口软件,提供了很多接口成员,对象、属性、事件、方法就是4个重要的接口,VB提供了许多常用的控件。 3.1卷标控件 3.2 按钮控件 3.3 定时器控件 4 基于MScomm控件的串行通信 要完成VB与PLC等设备的串行通信要用到MScomm控件, 在此有必要对该控件作较详细的说明。Mscomm是一个非标准控件,需要要手动添加许多项目,其步骤如下。 1) 选择菜单的【工程】 2) 选择【部件】 4.1 MODBUS ASCII Modbus 分为ASCII和RTU两种,ASCII采用的格式和校验相对简单,本文采用ASCII格式,并仅对使用的功能码进行说明,更多的信息,请参看协议的详细说明。 1)通信格式 4.2 VB与PLC通信的实现 以下举例说明现场设备与PLC通信的实现。 1)控制要求:控制PLC的起动、停止,并显示运行状态(绿色为运行,红色为停止);能够用交替型按钮控制Y0,Y1,并用指示灯显示Y0,Y1状态(绿色为运行,红色为停止);能够对D256,D512两个寄存器进行数值写入的操作。 2)实现思路:PLC起动停止的标志位为M1072,查DVP协议,知道地址为H0C30,按功能码01操作; 同样Y0,Y1的地址分别为H0500,H0501。写入FF00为ON,0000为OFF,按功能码05操作;D256,D512地址分别为H1100,H1200,按功能码06操作即可。 用按钮控制PLC的起动停止,Y0、Y1的ON/OFF及D256、D512写完数据的发送;用Shape组件做指示灯,表示PLC的运行状态和Y的状态;用timer组件不停的读取M1072的状态,以判断PLC的运行情况;用MScomm控件实现PC与PLC的通信。 4)编程实现的代码构成 (1) LRC算法校验的实现 Public Function LRC(str As String) As String c = 0 l = Len(str) For c = c + 1 To l c_data = Mid$(str, c, 2) d_lrc = d_lrc + Val(H + c_data) c = c + 1 Next c If d_lrc 〉 HFF Then d_lrc = d_lrc Mod H100 End If h_lrc = Hex(HFF - d_lrc + 1) If Len(h_lrc) 〉 2 Then h_lrc = Mid(h_lrc, Len(h_lrc) - 1, 2) End If LRC = h_lrc End F

文档评论(0)

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

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

1亿VIP精品文档

相关文档