1 前言

js9905com金沙网站 1

众所周知,PLC自从问世以来就在自动控制的各个行业发挥着难以取代的核心控制作用。PLC运行可靠,适用于各种恶劣的工业环境。PLC和工控机相比,其运行可靠,可扩展性好,便于电气连接,控制更专业;但是工控机良好的人机界面,方便高级语言都是PLC所不能比拟的。

摘 要:介绍基于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;数据采集;通信

虽然组态软件在很多场合下应用于控制,但是整个控制的中心往往还是PLC,组态软件所起的控制作用是很小的。人机界面一般用于简单的动作控制,工艺参数的编制,配方的设定等等,虽然在概念上属于控制范畴,但是它并未真正起到核心控制作用,因为真正的长期的自动运行控制是由PLC完成的。我们经常不使用工控机作为核心控制部分的原因有两点:第一是,工控机不适于在很恶略的环境下运行;第二是,工控机经常采用的Windows系统并不能够让人放心,其长期运行效果并不好。

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

js9905com金沙网站,尽管PLC、IPC在自动化控制中扮演着不同的角色,但是在许多运行连续时间较短,环境相对比较好的地方,人们有时候还是希望使用IPC进行核心控制。

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

使用IPC进行核心控制有很多种实现方式,当然其中最为简单的办法就是使用组态软件。

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所示。

本文针对使用组态软件做控制中用户经常遇到的问题进行讨论。在许多用户使用组态软件进行控制,尤其是使用串口连接方式进行控制时,发现组态软件自动控制会影响的数据的采集速度,本文就着重介绍如何解决此问题,解决此问题的办法就是,将PLC的控制方式模仿的应用的上位机串口控制中。

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);