新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > CAN现场总线的计算机与PLC通信

CAN现场总线的计算机与PLC通信

作者: 时间:2016-12-19 来源:网络 收藏

  MSComm 控件提供了一种有效的处理串*互作用的方法:事件驱动法。该方法利用OnComm 事件捕获并处理通信及其错误,当CommEvent 属性发生变化时,就产生事件并等待相应处理。每个MSComm 控件都有一个串口相对应。

  Visual Basic 6.0(以下简称VB) 是一种功能强大、简单易学的程序设计语言,利用ActiveX 控件MSComm能十分方便地开发出使用计算机串口的计算机通信程序。本文在VB中使用MSComm控件实现上位机与PLC的串行通信。

  VB 程序由串口初始化、数据发送、数据接收等几大部分组成。主要的程序段如下所示。

Rem      程序加载时进行串口初始化


  以上给出了计算机与PLC 通信的主要程序段。需要注意的是,如果传送的数据大于132 个字符,可以将数据分成起始帧、若干中间帧、结束帧进行传送。起始帧必须包含设备号, 命令码等, 否则通信的过程中将会有错误发生。上位机每发送完一帧时,在收到PLC 返回的分界符(即“↙”)后再发送下一帧,只有当结束帧数据发送完毕时才返回响应代码。

  6 结束语

  本文基于VB 利用MSComm 控件实现了上位机与欧姆龙PLC的串行通信,充分发挥了CAN 总线实时、可靠、高速、远距离、易维护的特点。计算机能够深入地配合PLC 厂商提供的各种软件,从而实现更多强大的功能, 比如系统配置、人机界面、组态开发等。

  通常,计算机与PLC 通过串口连接,实现各种通信功能。但串口的通信距离、节点数量都受到了串口本身的性能限制。比如,RS-232 标准只可以实现1:1 通信,RS-422/485 标准能够实现32 个节点以内的通信,通信距离、抗干扰能力都比较弱,并不能够满足实际工业现场多台PLC 联网应用的需求。即使借助RS232/RS485-CAN 适配器也很难突破串行通信本身的功能限制[5]。

  针对这一情况,可以采用计算机内置PC-CAN 接口卡,可以建立起1 条或者多条CAN 总线网络,并通过连接在CAN 总线网络中的RS232/RS485-CAN 适配器,借助于CAN 总线网络配套的虚拟串口软件,建立多达2047 个标准的串行通信端口,从而连接多达2047 条串行网络[6]。也就是说,可以在同1 条普通双绞线上连接多达2047 台PLC 设备,工控PC 访问连接在这条CAN总线网络上的PLC 设备,也与操作标准串口完全一致。

  这种方式可以充分发挥工控PC 的作用,通信效率比较高,应用灵活,是一般PLC 网络建设的主流方向。


上一页 1 2 下一页

评论


技术专区

关闭