7
6ES7322-1FF01-0AA0千万库存
1 前言
随着科学技术的发展及制造技术的进步,社会对产品多样化的需求越来越强烈,产品的新换代周期也越来越短,中小批量生产的比重明显增加,从而对制造设备提出了高的要求。为满足市场的需要,要求制造设备具有率、高质量、高柔性及的性能,数控机床作为一种自动化的加工设备而被广泛采用。同时,随着现代机械制造业向高层次的发展,数控机床也必将成为柔制造单元(FMC)、柔制造系统(FMS)以及计算机集成制造系统(CIMS)的基础装备。计算机数控系统作为制造形状复杂、高质量、产品所的基础设备,己成为当今制造技术的一个重要组成部分。
PLC(Programmable Logic Controller)可编程逻辑控制器是20世纪60年代末期逐步发展起来的一种以计算机技术为基础的新型工业控制装置。PLC作为计算机技术应用于工业控制领域的崭新产品,也是开放式数控系统中不可缺少的重要组成部分。它在处理开关量的控制问题时起着重要作用。现代的数控机床一般可分为机床床体(MT)、NC和PLC三部分。数控机床中NC和PLC协调配合共同完成对数控机床的控制,其中NC主要完成管理调度及轨迹控制等“数字控制”工作,PLC主要完成与逻辑有关的一些动作,如的换、工件的夹紧及冷却液润滑液的开停。PLC技术在各种工业过程控制、生产自动线控制中得到为广泛的应用,成为工业自动化领域中的一项十分重要的应用技术。
在数控机床上有两类控制信息:一类是控制机床进给运动坐标轴的位置信息,如数控机床工作台的前、后、左、右移动;主轴箱的上、下移动和围绕某一直线轴的旋动位移量等。这些控制是用插补计算出的理论位置与实际反馈位置比较后得到的差值,对伺服进给电机进行控制而实现的。这种控制的作用就是保证实现加工零件的轮廓轨迹,除点位加工外,各个轴的运动之间随时随刻都保持严格的比例关系。这类数字信息是由CNC系统(计算机)进行处理的,即“数字控制”。另一类是数控机床运行过程中,以CNC系统内部和机床上各行程开关、传感器、按钮、继电器等开关量信号的状态为条件,并按照预先规定的逻辑顺序,对诸如主轴的开停、换向,的换,工件的夹紧、松开,液压、冷却、润滑系系统的运行控制。这一类控制信息主要是开关量信号的顺序控制,一般由 PLC来完成。
2 精密切割数控机床的功能分析
精密切割数控机床是通过数控系统以数字方式控制的运动以实现对工件的切削,在编写数控车削加工程序时,并不考虑。在加工前,用户将的 X轴补偿量、Z轴补偿量、尖圆弧半径、尖形式共四种补偿参数输入数控系统,由数控系统根据程序,进行补偿运算。这四种参数中,尖形式按数控系统的规定予以确认,尖圆弧半径可由R规测量,而的X,Z轴补偿量的测量则相对困难一些,使用自动对仪能很好地解决这个问题,为此,数控机床及加工大多配置了各种不同类型的对装置,如机外对仪、机内光学对仪、接触式自动对装置等。由于车削对一般的数控车床夹持标准化程度不高,因此采用机外对仪的对精度相对较低,而且机外对仪成本较高,操作复杂,需要专门的操作空间,所以实用性较差。而采用机内接触式自动对装置无疑是一种简便、快捷的对方法,它能方便地自动测量的固定补值,大大减少对时间,提高机床的加工效率。所以本文旨在设计一种机内接触式的数控车床,实现数控车削前的精密对,提高生产率,降低加工成本。需要解决的问题主要有以下方面:自动对仪需有的电子测头(传感器),能够准确在触发点触发,有较快的反映时间;对仪的测头与尖刚性接触,需加缓冲装置,对测头表面保护,压力需控制在1~10MPa左右,这样才不会对传感器的测头造成损坏,形成凹坑;系统能利用机床本身的位置测量装置进行测量,通过对不同尖触发点坐标(X,Z)的记录,可以方便地得到一组坐标值,分析计算后便可确定各补值; 安装和固定对仪的装置(联接臂)应达到相应精度要求,满足平行度与垂直度要求,且要有较好的刚度和易操作性。
3 精密切割数控机床总体设计
对精密切割的功能,主要需保证切割精度,因此要求对数据机床的主要部件一一传感器的精度得到保证,传感器的作用是感知和检测某一形态的信息,并将其转换成另一形态的信息,将被测量(尖位置这个物理量)按照一定的规律转换成可用输出信号(电流、电压)表示的物理量。 精密切割的数控机床传感器由以下几部分组成:
在本文中,传感器的选用应有相当的精度,完成以下功能:1)、实现对X轴和Z轴两个方向的传感,对仪要得到X轴和Z轴的坐标值,使不同在相同的点触发传感器,进而运用机床数控系统的功能再结合编程实现该点坐标值的。实际上传感器要完成的功能是一个开关量,不同的在相同点触发即可。 2)、由于偏角的不同,传感器不能做成X轴向和Z轴向相互垂直的两对传感器,这样对Z向坐标的时候,得到的尖点可能不是真实的尖点坐标。
本文采用的是机械式开关传感器,用机械触发的方式得到一个开关量的输出,当尖与传感器触发并行进到预设位置时,电路接通得到触发信号。机械式传感器相对来说精度是差一些,但只要设计合理,也能将误差控制在合理的范围内。另一方面,可自行设计以兼顾偏角的不同和传感器的大小及联接方式。此种传感器简单适用,成本较低,具有很大的市场推广。
4 PLC与数控系统编程
NUM1020/1040数控系统是NUM于1995年开发出的全新数控系统,是紧凑且功能完善的32位数控系统,并且和NUM1060系列系统兼容。它特别适合于1~6轴的数控机床,其硬件特点如下:采用CISC( 大规模集成电路)技术的GSP主板;主板上连接可插接(分离的)小模板,由于考虑到数控系统和系统外部的联系,NUM把和外界联系的功能模块制造成可插接小模块,便于用户将来的维护。具体分为轴模块、显示模块和通讯模块;NUM1020/1040采用+24VDC为其电源输入,由于数控系统是弱电电路,采用+24VDC为电源输入,可以大大降低其热源和不稳定因素的影响。用户可以把+24VDC稳压电源放在电气柜内,大大提高了整个数控系统的性;PLC功能的内部集成,PLC功能的内部集成化,提高了PLC和 CNC的内部通讯能力,增强了数控机床的逻辑控制;PLC的32输入和24输出模块,NUM的32输入和24输出模块可以和外围的电路相连接,而这种模块通过NUM提供的电缆和NUM数控系统连接,提高了整个机床的性。(如果有问题,只能损坏这种模块,不会对数控系统造成损坏);光纤技术的通讯,PLC输入输出点的扩展,通过光纤进行连接,简化了线路的连接;轴转接模块,机床的编码器和到伺服的线路可以直接联到此模块上,并通过它和数控系统的轴板进行连接,提高了数控系统的性。另外,NU M的轴连接和其它数控系统不同,NUM的轴模块连接此轴的所有信息(如编码器、速度信号、回零开关)。如果机床的轴有问题,可以直接把轴模块上的插头相对换,就能很快地查出问题所在(系统内部或外部);轻巧实用的紧凑型操作面板。其上显示器和计算机的CRT有可兼容性,与NC相通的功能键共有47个,有6个用户自由定义键及串行通讯接口,可以连接PC的键盘(直接插拔)。
按照设计要求,当传感器检测到信号时,数控系统的程序并未监控,此时是不能记录尖坐标值进行数据处理的。先使进给电机停下来,等候操作者发出指令,然后进行下一步的操作。所以应该通过PLC的控制来实现这一功能,将Q001.0和Q001.1两个端子分别与两两个进给电机相连,实现单控制。其次,传感器共有四个测头,但对进给电机的控制都是一样的:任何一个传感器得到信号都使相应的电机同时停下来,然后进行相应的数据处理。
数控机床的传感器得信号后通过接口电路传给PLC,PLC将得到的信号通过交换区与CNC进行数据的传输,CNC将信息运算处理后再传递到PLC中,PLC控制X向电机和Z向电机运动。数控系统与传感器的接口电路如图2所示:
如图所示为PLC的接线示意图,将%I001.0、%I001.1、%I001.2、%I001.3 四个输入口分别与四个传感器相连,然后再与 COM口连接。传感器得到信号后,相当于开关闭合,由原先的+24VDC电压跳变为零,从而给PLC的相应的输入端口一个信号。输出口%Q001.0控制 X方向进给电机的使能,%Q001.1控制Y方向进给电机的使能。
NUM1060CNC是一种多功能、多处理器的系统,它提供与数控机床连接的各种自动控制功能。用梯形图语言编制的自动控制功能包括安装在机床上的传感器和执行机械以及与CNC的数据交换。自动控制功能设置在处理单元之中,它包括一块或多块功能卡,CNC通过它们实现图形显示,自动控制和信息存储功能。CPU与系统的数据交换可以分为二种类型:通过交换区的通讯和通过协议的通讯。
自动控制功能由一个监督程序进行管理,它包括处理初始化,将输入/输出点分配到不同的框架以及输人输出接口和监视器的管理等多种基本任务。监控程序与用户程序一起对系统进行整体的监督管理。用户程序是在监督程序控制下受一个20ms周期的实时时钟(RTC)支配循环运行的。
机床处理器的存储器空间安排如下:
(1) 有备份功能(掉电保持)的32K静态RAM。
(2) 在电源接通是复位(清零)的32K动态RAM。
(3) 机床处理器(1MB V1)的用户程序使用的180KB动态RAM。
(3) 机床处理器(4MB V1)的用户程序使用的2.5MB动态RAM。
(3) 机床处理器(4MB V2)的用户程序使用的3.5MB动态RAM。
(6) UCSII模块上的用户程序使用的64KB动态RAM。
自动控制功能如下:
(1) 对DACs(12位)直接存取。
(2) 对ADCs和输入/输出点间接读和写存取,这种存取是经由虚拟存储空间(每20ms刷新)实现的。
5 点总结
本文的点是针对数控车床对切割中,对时间长、精度差这一问题,设计了精密切割数控车床,通过对尖位置的捕捉运用NUM数控系统自身的测量装置得到了尖点的坐标,经过计算将不同相对于标准的位置偏差得出并再存入数控系统,实现了自动对,有效地提高了对的效率和精度,具有可推广性。可为生产效率的提高,制造成本的降低起到积的作用。
四、热力站控制系统的实现
热力站的一次网回路控制,主要是热负荷控制。通过控制调节一次网回路上的电动调节阀,来调节流过热力站的一次热水的流量。在全网控制系统中,全网控制根据目前室外温度情况,参考热源的运行情况及各热力站反馈的二次网运行数据,计算出各热力站一次网控制阀门的开度指令或二次网目标控制温度。热力站系统根据全网控制下发的指令,调节一次网流量调节阀,从而实现全热网的热资源均匀分配。一次网回路控制中主要的参考对象为热力站一、二次网供回水温度;一网控制的对象为一次网调节阀;控制目的为提供热力站的供暖热量。
2、二次网循环泵控制:热力站系统二次网循环泵是通过变频器来调速。传统热力站系统循环泵通常采用工频泵,循环泵选定后,热力站二次网的流量无法进行调整,从而造成热力站系统无法根据室外温度及实际供热需求来调整,造成热力及电力资源的浪费。而且大,热力系统自控改造中,对15KW以上的循环泵普遍使用变频控制。一般的循环泵均采用压差控制方式,即循环泵的转速受二次网供回水压差调整。压差控制的方式可以通过调节循环泵转速,调节二网流量以满足供热需求,从而减少浪费。在热力站循环泵控制中,我们采用供回水温差结合供回水压差控制的方式。热力站控制系统根据各系统的实际情况,设定一个供回水压差目标值。设定此供回水压差值以满足二次管网的供暖水循环。在此基础上,热力站PLC系统通过测量二次网供回水温差来对循环泵进行修正。当二网供回水温差偏大时,则需提高循环泵转速,加大二网流量,提高二网回水温度,改善供热效果;当二网供回水温差过小时,需适当降低循环泵转速,减小二次网的流量。这种调整可以起到节约电能及热能的效果,在大型热网中,这种节能手段就能可观的效果。二次网的控制采用的是定压控制,传统热力站中往往采用压力表电节点控制。随着城市集中供热的发展,系统的热负荷越来越大,热力站系统所带的供暖面积都比较大,并且供热网条件不一,二网系统的水力损失较大。严重的水力损失使得二次网的系统压力加大,频繁。而传统的工频泵的频繁起停,容易造成二次管网压力的波动。在热负荷较大的系统中,我们采用泵变频控制,对系统进行的微调。当系统失水时,二网压力下降,系统会通过变频器控制泵以一定的转速进行,泵的转速根据当前压力与目标压力的差值均匀调整,从而避免泵在启动和停止时对二次网系统的冲击。
在现场人机界面上,可以通过操作面板任意调节系统所需的各种运行状态,例如:一、二次网供回水温度及温差,变频器大小运行频率等,并可随时查阅以往运行记录。根据用户要求可将当前参数以画面、曲线、报表的形式在屏幕上显示。
五、热力站自控系统的优点在热力站中使用变频器及可编程控制器,充分发挥变频器的调速和节能的优点及可编程控制器配置灵活、控制、编程方便的优点,使整个系统的稳定性有了。通过热力站自动控制系统的投运,过去主要依靠人工调节的控制手段得到了改善,热网的运行得到合理控制,失调现象得到了有效地解决,了热网中各站冷热不均的现象。按需供热、节能降耗,改变了不合理的小温差大流量运行方式,既保证了远端客户的供热需要又避免了近端用户的过热现象直接提高了热网的供热效果
本文着重介绍自控系统及变频器在热力站控制中的应用。间连型热力站自控系统按设备类型分,可分为:温度、压力变送器,流量计,电动调节阀,循环泵及泵;按控制回路分,则可分为:一次网流量控制回路、二次网循环控制回路、二次网定压回路。在热力站自控系统中,一次网流量控制回路主要通过调节一次回水调节阀来实现。二次网的调节回路则是通过调节二次网循环泵及泵转速来实现。一次网的控制指令主要由热网调度根据全网平衡算法下发,而二次网循环泵及泵变频器转速则由站内PLC系统依据各热力站所带热网的实际情况计算得出。热力站自控系统结构如下图。
三、系统控制思想在集中供热工程中由于各用户的建筑面积、暖气片能及房屋保温质量各不相同,很难确定一组典型的室内温度作为直接被控量,而供、回水的平均温度从整体上反映了各用户暖气片的平均温度,因此一般的供热系统都是根据室外环境温度及不同的供热时段来控制供、回水平均温度的方法来间接控制用户室温。
在太原各热网控制中,由于在进行热力站自控改造的同时,对热网调度系统也进行了调整。目前太原各个热力分公司热网调度都加设了全网平衡系统,调度通过与个热力站进行通讯,热网数据,并根据室外温度情况对全网热力站的供热效果进行均匀调整。
各热力站从控制对应的二次网供回水平均温度,站内系统将立控制回路分为二次网供回水平均温度控制回路和一次网流量控制回路,根据平均温度的偏差确定一次网流量的设定值,然后调节阀门开度使流量达到设定值。系统根据二次网供、回水平均温度的温差,通过变频器自动调节循环泵的转速,实现对系统总流量和温度的调节。使循环水泵按照实际负荷输出功率,减少不必要的电能损失,实现小流量大温差的运行模式。通过此举,可以及时地把流量、扬程调整到需要的数值上,多余的电能消耗,从而达到良好的节能效果。通常热力系统会设计两台变频泵,这不仅是为了系统备用,也是为了防止系统调。如果负荷不够,则泵的转速加大,达到100%时还不满足要求,则启动二台泵。同时系统还可以根据运行时间自动切换各循环泵,也提供低水压保护和连锁功能。供、回水压力是热网运行的重要参数。供水压力过高可能造成热水管道及用户暖气片的破裂;供、回水压力过低,使得部分热用户无法的到足够热量。恒压控制的方案是对泵进行变频调速控制



自动控制具有以下优点:
■操作简单,可以实现无人值守;
■良好的实时调节,防止了人为因素滞后;
■具有高性;
■减轻工作人员负担;
■节省人力成本。
需要控制的参数和可能的控制方式
空压站需要的控制需求;⑴高、低压供气压力控制(机组自动开停控制);⑵系统自动排水控制;⑶循环水液位控制和自动加药控制;⑷所需压缩空气温度、循环水温度等参数控制等等。
空压系统的整体自动调控一般可以使用以下2种方法之一来实现:
⑴采用PLC系统进行通讯和控制。
⑵可以采用英格索兰公司或自己编制的控制软件。
种方法性高,适用于工业控制系统。当监控计算机出现故障时,PLC还可以按照设定的程序进行自动控制。
二种方法是通过控制系统的计算机进行单的分析运算进行控制,它具有较好的灵活性,但缺点是如果出现如计算机死机等故障时,有可能影响系统的正常运行。好在计算机的一般恢复往往不需要太多的时间。
除空压供气系统自控外,空压站可与制冷站、热力站系统一起建立设备控制网络,实现集中控制,或与工厂控制联网,由控制的控制器实时远程监控,实现真正的无人值守。
系统构成
对于以上讨论,如果需要实现空压站的整体自控,又许多成熟PLC自控系统可以选用,现以ZH公司的PLC自控系统为例。
该自控系统选用西门子S7-300系列可编程控制器,带有RS422/485网络接口,支持MODBUS等相关网络通讯协议。该系统可以采用工业通讯网络技术实施远程联网。空压站自控设备可根据生产实际情况和各设备的特点,以及可能存在的问题,综合各方面因素后确立分级控制网络的实施方案,如图1所示。
■硬件配置
现场仪表,受控设备、执行器、带有串行通讯接口的设备(如空压机,冷干机等),PLC和监控计算机。
■软件功能
选用的工业组态软件(如WINCC或iFIX)用来监视和操作整个生产过程,为控制系统提供通讯、显示及报表管理等功能,各设备控制器自成一子系统,其应用程序功能包括:信息,设备控制,故障报警,连锁保护,以及数据处理和通信传输。
在系统实施过程中,还可引入故障检测和故障诊断的处理程序,能够提高系统的智能化程度,有利于进一步改善自控系统的有效性和性,通过优化调度策略,软件连锁保护等自动控制功能模式的应用,有望将自动化水平提升到高层次,可以为确定空压机设备状态检修点提供依据,并由此获得大的效益。 结论
总之通过自动化控制可以克服由于人为因素造成的调节滞后等不利因素,减少运行参数的波动,达到减少用工和节约能源的目的。对于提升天纺控股有限公司的整体技术水平是相当重要的
在棉纺织企业广泛使用喷气织机的情况下,空压站建设是一项重要的辅助工程。在天津纺织园区所有空压站配备的主要设备为离心式空气压缩机、冷冻式空气干燥器,通过储气罐、连接管道和阀门等组成压缩空气供气系统,并配套冷却系统、仪表空气系统,计算机检测系统,以实现空压站为生产保证不同压力、不同负荷的用气需求。在此前提下确保合格的供气品质,满足稳定的气源压力,自动调节供气等是空压站自动控制的基本任务。随着自动化水平的不断提高,关于建设无人值守空压站的讨论,是一个发展过程中的必然的课题。空气系统自动控制的必要性
应用在天纺控股有限公司棉纺一工厂的空压站,安装有4台70M3/min4台,53M3/min4台,48M3/min2台,43M3/min4台离心式空压机和1台42.5M3/min螺杆式空压机,配有相应处理量的冷冻式干燥器。空压机设备自身带有的CMC控制器,能够自动控制和保护主机的运转,自动提示工作信息,具有故障报警和保护停机功能,能自动根据用气量的大小加载或卸载,并配有LCD显示屏供现场观察各工艺参数和设备状态,具有RS422/485通讯接口,可以实现与现场控制室计算机监控系统的完整连接。
目前,空压站的自控系统通过西门子S7-300可编程控制器,将部分空压机的实时运行数据通过RS422/485通讯接口采集进PLC控制系统,并将数据传送到现场控制室计算机上进行显示,以代替传统仪表。但是没有对空压机进行控制。
空压机设备自带的CMC控制器已经能很好的控制单台空压机,但是不具备对空压系统的整体调控能力。在空压系统中,相对单台空压机的调整,空压系统的整体自动调控具有重要的意义:
■单台空压机无法保证空压系统整体供气压力的稳定,而空压系统的整体自控可以有效保持系统内空气压力稳定。
■整体的负载平衡,减少排气放空,可以节约多的能源,节省人力成本。
■可以实现无人操作,根据实际需要自动开机或加载空压机以保持系统压力。
■可以定时间断地记录空压机运行数据和报警,如跳车、喘振、通讯故障、压力等。
在已有的PLC系统中,没有实现空压系统的整体调控功能。由于空压机自带的CMC控制器提供了RS422/485通讯接口,所有的数据采集和控制功能都通过通讯接口来实现,对比原有的控制系统,不需要增加硬件设备的投资,只需要改进和增加控制软件即可实现空压系统的整体控制。
除空压机设备外,还可以将与空压机配套的冷冻式干燥器集成到RS422/485网络中来,实现空压供气设备的自控。
空压站其他系统的自动控制
除空压供气系统外,空压站的其他系统也需要进行自动控制,如水循环冷却系统等。这些系统的控制方法与空压供气系统不同,主要是采用传统控制模式。使用仪表采集需要的运行参数,进行数据处理和分析运算后,输出控制信号给执行机构就可以实现系统的自动控制。
枕式包装机三驱动控制系统,采用的运动控制技术将weinview触摸屏、和利时PLC、伺服驱动集成一体,实现了无轴传动、自动偏心调整、色标追踪、多路温控等功能。替代了传统包装机的机械偏心、无级变速箱、差速箱等主要部件,使整机的自动化水平大幅度提高。适用于的枕式包装机。
这项技术同样也适用于纺织、造纸、包装等机械。
系统特点
1.三轴立、无轴传动
包装机的三个关键轴,、膜、料分别立驱动,采用电子轴实现同步传动,省略了繁琐的齿轮链条结构,减少了机械振动和磨损,使机械转速得以提高。
2.自动偏心调整
采用伺服电机直接驱动横封,系统根据袋长自动计算偏心量,根据包装物厚度自动进行速度补偿,使封切准确度大大提高。同时由于取消了机械偏心机构,也了包装机主要的振动源。
3.的色标追踪
采用的控制算法,系统可以分辨出横封器0.05度的位置变化,伺服电机驱动的输膜辊可以地追踪到切点的位置,在横封器启动、加速、匀速、减速及停止全过程封切准确无误。
4.自动上料、易于配线
采用伺服电机直接驱动输送机,系统进行逐个检查物料的位置,计算补偿量,确保每个物料准确地送到包装膜上,即使对于无规律地来料同样可以做到无误。使包装机与各种自动生产线联机变得易于实现。
5.操作简便、界面友好
采用彩色触摸屏和精心设计的界面、操作步骤,使开机调整变得简便易懂,新手在很短的时间内就可以掌握操作。
6.大容量的配方存储
系统内建100组配方,断电保持,可以保存所有曾经使用过的参数,再次生产调出参数即可运行,省去了换产品规格后的调整过程,提率,减少消耗。
7.集成温度控制
系统集成了四路PID温度控制回路适用于各种型号的包装机。每个回路都具有温度限报警,PID参数调整功能。温度控制精度±0.5℃,高速生产也可以确保封口质量,
8.完善的故障诊断
系统设有完善的故障诊断报警功能,包括温度限报警,色标跑偏,驱动器故障,传感器故障等均有文字提示,方便用户快除故障。
9.联机控制
系统留有充足的接口,可以配套各种自动化生产线,联线参数可以集成到本系统内,无须曾设另外的控制装置。成熟的配线方案包括:
——-冷饮花色线、切片线联机控制
——-蚊香、肥皂、盒装奶联机控制
——-横送机联机控制
10.特殊供料系统,以及多台包装机配合运行可以定制开发
本次系统通过触摸屏来控制显示整个操作系统,让操作人员加方便简捷,减少了很多以前用开关,按扭来控制的操作失误,weinview触摸屏的触控时间为50000小时,大大减小了设备的维修次数,提高了生产效率
在工业控制中,用PLC控制的工程在上/下位机通讯上一般采用RS-232/RS-485串口通讯,这种方法对于数据量较大,通讯距离较远,实时性要求高的控制系统,很难满足通讯需要。
近年来随着计算机网络技术的飞速发展,网络化数控已经成为现代制造业发展的必然趋势, 控制系统正向虚拟化、网络化、集成化、分布化和节点智能化的方向发展。[1]许多大型PLC厂商生产的PLC都配备了相应的以太网通信模块,本文讨论了OMRON PLC的以太网通信体系结构,并以CP1H PLC的ENT2l以太网模块为例实现与计算机的通信。
1. Winsock网络通信控件
Winsock控件是不可视控件,它提供了访问TCP和UDP网络服务非常简便的途径,使编程人员开发客户/服务器应用程序时,不必了解TCP的细节或调用低级的Winsock API函数,只通过设置Winsock控件的属性并调用其方法,就可直接连接到一台远程计算机进行,并可实现双向数据交换。
WinSock主要支持两种类型的套接字:①流式套接字(Stream Socket)也称面向连接方式,该方式对应的是TCP协议,其传输特点是通信性高,可以保证数据流的传输是的、有序的、无重复的,可提供双向的数据流,数据被看作字节流,无长度限制。②数据报套接字(Datagram Socket)又称无连接方式,对应的是UDP协议,这种方式不提供的正确性、有序性和无重复性,因为它支持面向记录的数据流。因此,传输的数据可能丢失和重复,并且接收顺序混乱,报文长度是有限的。考虑到本系统对通信性和正确性的要求很高,选用流式套接字方式。基于Client/Server模式的流式套接字通讯过程如图1所示。
2.Ethernet网络通信单元的设置
在组建网络时,根据网络类型的不同,网络中的每个节点需要安装相应的通信单元,PLC上需安装Ethernet网络通信模块,例如0MR0N公司的CJ1W—ETN21以太网模块。应用之前必需对网络进行必要的设置,分为开关设置和CPU总线单元系统设置。
开关设置主要包括以下几项内容:确定分配给CJ1W—ETN21单元的内存工作区(CIO区、DM区),该地址在CPU总线区,由UNIT No.开关确定ETN单元的单元号范围为0~F;NODE No.旋转开关设定两组l6进制数作为ETN单元在网络中的节点号,范围为O1~7E;IP地址设置网络号和主机节点号,由32位二进制数组成,分4段以十进制数表示。
CPU总线单元设置主要通过编程设备如CX—Programmer软件或编程器对网络单元进行模式、本地IP地址、子网掩码、FINS端口号、FTP登录名及口令和IP路由器表等项进行设定。若使用FINS/TCP协议,则还需在以太网单元设置中修改FINS/TCP项的部分参数,如:自动分配的FINS节点号、是否保持等项。
3.面向上位计算机的通信协议
如图2所示,以太网的分层模型分为物理层(Physical Layer)、网际层(Internet Layer)、传输层(Transpot Layer)和应用层(Application Layer)。其中:传输层可使用无连接的UDP或需建立连接的TCP协议;应用层为FINS(Factory Interface Network Service)协议,FINS协议是由OMRON公司开发的用于工厂自动化控制网络的指令响应系统。主要规定对PLC存储空间的数据读写等操作方法。应用层使用FINS协议,传输层使用TCP协议的通信实现方法称为FINS/TCP方法。
FINS协议包含指令系统和响应系统,其命令帧格是由FINS报头、指令代码、响应代码和正文等几部分组成。从上位计算机发出的指令和响应符合下面帧的格式要求,并提供合适的FINS报头信息。[3-4]FINS通信服务是通过FINS命令帧和它们对应的响应帧交换实现的。
FINS命令/响应帧格式如图3所示。FINS/TCP header中规定了五种命令,用于客户机(host computer)与服务器(PLC)之间通信:发送客户机节点地址(node address);(2)发送服务器节点地址(node address);(3)发送Fins frame;(4)Fins frame发送出错通知;(5)客户机与服务器联机确认。
4.通信程序的具体实现
在新建VB工程后,需要执行VB工具栏“工程/部件” 命令,将Winsock控件添加到工程中, 并命名为“WskClient”。程序采用TCP/IP协议进行通信,其主要属性设定如下:
With WskClient
.Protocol = sckTCPProtocol ‘采用TCP/IP协议
.LocalPort = 9600 ‘本地计算机端口号
.RemoteHost = txtIP.Text ‘远程PLC的IP地址
.RemotePort = txtPort.Text ‘远程PLC端口号
.Bind 9600 ‘使用的本地端口
End With
初始化工作完成后向PLC提出连接请求,待PLC接受请求并发送应答信息后,客户端程序依照各种帧格式建立好要发送的信息帧,就可以与PLC进行双向的数据交流了。在这一过程中,可建立发送失败后的重发机制,以增强通信的性。
,建立并发送“握手信息”指令(20字节),指明客户机节点号;当计算机接收到PLC返回帧(24字节)后,检查PLC是否收到命令,并服务器和客户机节点号。当计算机接收到PLC返回的数据时,会产生DataArrival事件,参数BytesTotal包含接收到的数据字节数。在DataArrival事件中,可以调用GetData方法接收数据。如果接收到Close事件,则用Close方法关闭连接。另外,可用Winsock的State属性来反映当前TCP/IP的连接状态。这里仅列举主要程序如下:
‘向服务器请求连接
WskClient.Connect
TimeDelay 100
Do
DoEvents
Loop Until WskClient.state=sckConnected
‘建立并发送FINS命令帧
Private Sub SendData_Click()
ReDim SendData (19) As Byte
SendData (0) = &H46‘FINS命令帧报头的1个字节
……
WskClient.SendData SendData() ‘发送FINS命令帧
End Sub
‘接收PLC响应帧,并分析数据
Private Sub WskClient_DataArrival(ByVal bytesTotal As Long)
Dim i As Integer
ReDim ArriveData(bytesTotal) As Byte
wsk.GetData ArriveData, vbArray + vbByte, bytesTotal
‘接收数据,保存在ArriveData数组中
For i = 0 To bytesTotal - 1
txtArData.Text = txtArData.Text & " " & ArriveData (i)
Next i
……‘其它数据处理
If ArriveData(7) <> 16 Then
MsgBox“接收信息丢失“
ElseIf SendData(19)= ArriveData (bytesTotal-5) Then
MsgBox“节点地址错误“
End If
End If
在接收信息后,当PLC收到传输过去的信息后,会将对应的命令反馈值传回,这个事件程序内的程序将它显示在文本框中,还可作进一步处理。主程序流程图如图4所示。
若采用UDP协议,则通信的基本过程与TCP相同,只是不需要建立连接。此外,UDP应用程序可以是客户机,也可以是服务器,而不必象TCP应用程序那样分别建立客户机程序务器程序。由于UDP在传输数据报前不用在客户务器之间建立一个连接,且没有时重发等机制,故而传输速度很快。因此如果网络中设备不是很多,且发送数据量不大时,可选择耗费计算机“资源”小的UDP协议进行通信。
5.结束语
采用Winsock控件实现的上位机以太网通信程序,已成功应用于数字小样并条机监控系统中,该法简单实用,在不追加投资的情况下,实现车间设备的网络数据实时监控的功能,达到了理想的效果。而且以VB作为软件的开发平台,软件的二次开发不受限制,节约成本,并可根据需要随时对程序进行升级。为实现对控制系统进行有效的信息管理与监控,基于以太网的PLC控制系统必将有为广泛的应用,本文的论述对解决这类问题提供了一定参考。