您现在的位置是:首页 > PLC技术 > PLC技术
用Visual C++实现OMRON PLC与计算机的串行通信
来源:艾特贸易2017-06-04
简介本节利用可视化语言 Visual C++ 和 MSComm 控件,实现上位机工业 PC 与下位机 Omron C200DHSPLC 之间的通信。 Visual C++ 在图形处理和底层通信等方面具有较强的功能,用它来实现底层的通信控制
本节利用可视化语言Visual C++和MSComm控件,实现上位机工业PC与下位机Omron C200DHSPLC之间的通信。Visual C++在图形处理和底层通信等方面具有较强的功能,用它来实现底层的通信控制有着更快的速度,而且编程也很方便。 通信要求是:每隔500ms从PLC的DM1000开始读取4个状态字的内容,送到上位机的数据存储区StatusDats[80]。每隔500ms读取一次,可以设置一个时间间隔为500ms的定时器来实现。 假设PLC的节点号为00,则上位机读取数据的命令格式为: @00RD10000002V2V1 下位机接收到该命令后,将做出相应的响应。响应帧的格式为: @00RD100000D7D6D5D4D3D2D1D0Vr2Vr1 其中: ·V2、V1:上位机的校验码。 ·Vr2、Vr1:下位机的校验码,要编写一个帧数据校验码函数。 ·D7~D0:上位机要读取的4个字。 在Visual C++ 6.0中建立一个工程,加入串口通信控件,进行编程,步骤如下。 1.建立工程 启动Visual C++6.0,建立一个基于Dialog的应用程序框架,工程名为PLCComm,并支持ActiveX控件功能。 2.加入串口通信控件 选择“Project”菜单选项,单击“Components and Controls”命令,在“Registered ActiveX Controls”中选取“Microsofi Communication Control,version5.0”控件,插入工程,生成CMSComm类。 在对话框中插入该控件,并同时插入按钮Comm13T。 3.添加消息及程序代码 (1)在CPLCCommDLG类中加入公共成员变量和公共成员函数说明 (2)在onInitDialog()函数中加入串口初始化代码
(3)给通信按钮IDC-COMMBT添加BNCLICKED消息处理函数onCommbt()
(4)编写帧数据校验码函数
(5)给通信控件IDC-MSCOMM添加OnComm消息处理函数onComm()
(6)添加WM-TIMER消息的处理函数onTimer(UINT nIDEvent)
与西门子公司的S7系列PLC -样,OMRON公司的C系列PLC在国内应用也较为广泛,其大、中、小型机也都具有较强的网络通信能力。本例介绍了OMRON PLC与上位计算机之间的硬件连接、通信协议及通信功能的实现问题,应用表明在Visual Basic、Visual C++等高级语言下,可以很方便地实现PLC与上位计算机的通信。 与PLC和上位机的通信功能一样,OMROM PLC可以方便地与同位机(其他PLC)进行通信联络,还可以方便地与远程I/O单元、远程终端等部件连接,构成一个用于分散控制的下位连接系统。
点击排行
