首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
基于VC的PLC数据采集管理系统
来源:本站整理  作者:佚名  2009-05-19 14:00:46



摘 要:介绍基于VC++的工控机与多台OMRON CJIG-H PLC组成的数据采集管理系统的实现。用RS 485连接上位机与现场10台PLC,在上位机中建立数据库和安装数据采集管理软件,通过总线将各台PLC的数据采集到上位机的数据库中统一管理。采用VC设计上位机界面、通信程序和作为数据库管理的前台开发语言;后台数据库软件采用SQL Server2000;上位机与PLC之间采用OMRON的Host Link通信协议。将SQL Server 2000与PLC结合起来,弥补了PLC存储、管理大量数据能力不足的缺陷。通过此系统,用户可方便地在上位机中存储、查看和打印下位机(PLC)中的信息,监视PLC的工作状态。现场的运行结果显示该系统使用方便,性能可靠。
关键词:上位机;OMRON PLC;VC6.O;数据采集;通信


0 引 言
    PLC具有可靠性高,系统设计灵活,编程简单,易于安装,抗干扰能力强等优点,但单独的PLC不能提供良好的人机界面和数据处理能力。在实际应用中,往往需要将一组PLC的数据存储、显示和打印出来并对PLC进行实时的监控,应用工业监控组态软件可以解决此类问题。当系统不是很大时,也可以采用VC等工具自己开发出上位机监控通信软件,相对于专业监控组态软件,它具有灵活、小巧、成本低等优点。正是基于现场的应用实际,使用VC开发出了一套满足现场需要的数据采集管理软件系统。


l 现场需求描述
    车间有10台单独的试验台(由OMRON CJlG-HPLC和触摸屏组成),负责检验4种类型制动阀产品的性能参数,并存入各自的DM,EM存储区中,现要求用一台工控机将各台PLC内的数据采集进去,实现产品信息的集中管理,可以灵活地查询、修改、添加、导出所有的产品信息,并能打印出各种指定格式的产品记录单和汇总单;同时需要对PLC工作状态进行监视。


2 系统的硬件构成
    该系统的硬件由1台上位机(工控机),11个RS 232/RS 485转换模块(该系统选用1个FS-485G模块(需外接电源)连接工控机,10个UT-201型连接PLC),10根CJIG-H自由口到RS 232的转换电缆(该系统选用FS-CN26),10台CJIG-H PL及若干双绞线组成,其示意图如图1所示。

3 上位机软件的实现
3.1 通信部分的实现
3.1.1 功能描述
    自动将现场10台试验台的紧急阀和主阀信息采集存人数据库;较实时地监视工控机与各试验台的通信状态和通信内容;并可设置COM口;配置待通信的试验台;编排试验员姓名与其编号的对应序列。通信部分的运行界面如图2所示。
3.1.2 上位机与PLC之间的通信协议
    该系统采用Host Link通信协议,上位机与PLC组成1:N的Host Link通信系统。Host Link采用总线式通信方式,通信的主动权在上位机一方,上位机启动通信;首先向PLC发出FINS命令,PLC收到后会自动识别并加以执行,然后将执行结果返回上位机,上位机以帧的形式发送命令(命令码),PLC也以帧的形式回送执行结果(响应码)。在通信时,PLC与上位机的通信参数(如节点地址、通信波特率、数据格式)应设为一致。上位机的通信设置在对应的VC编写的程序中进行,PLC的通信设置在其对应的系统设定区进行。FINS命令具体格式可在OMRON CJCS通信手册中查找。
3.1.3 上位机的通信编程
    上位机通过串口与PLC相连,故使用VC的串口通信控件 MSComm,完成对串口的读写工作。在使用Mscomm控件进行读写前,必须先初始化该控件的一些属性,串口初始化代码如下:
    //选择串口,参数为整型变量m_nserialport的值,m_Com为CMSComm类的一个对象
    m Com.SetCommPort(m_nserialport);

    if(m_Com.GetPortOpen()) //打开串口
    m_LCom.SetPortOpen(FALSE);
    m_Com.SetPortOpen(TRUE);
    m_Com.SetSettings(''9600,E,7,2'');
    //设置通信参数,必须与PLC设置一致
    m_com.SetInputMode(O); //输入方式为文本传输方式
    m_Com.SetRThreshold(78);
    //接收缓冲区有78个字符时触发OnComm事件
    m_Com.SetInputLen(O);//参数为O表示读取接收缓冲区中全部内容
    m_com.GetInput(); //先预读缓冲区,以清除残留数据

[1] [2] [3]  下一页

关键词:

·上一文章:RFID 测试技术分析
·下一文章:基于虚拟仪器的心电仪

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:219,312.50000 毫秒