产品描述
西门子6ES7216-2AD23-0XB8诚信合作
1 引言
随着plc技术的不断成熟,基于plc的控制系统被广泛应用于工业控制。因此,plc控制系统的性将直接影响企业的生产和经济效益,而系统的抗干扰能力则是保证系统运行的重要指标之一。在济钢中厚板厂加热炉区域使用的plc一部分安装在控制室,一部分是安装在生产现场。安装在现场的plc则处在强电电路和强电设备所形成的恶劣电磁环境中。要提高plc控制系统性,我们一方面要求plc生产厂家用提高设备的抗干扰能力;另一方面,我们在工程设计、安装施工和使用维护中引起了高度重视,多方配合才能完善解决问题,有效地增强系统的抗干扰性能。
2 plc系统干扰源
2.1 来自电源的干扰
加热炉plc系统的供电电源由电网供电。由于电网覆盖范围广,它将受到所有空间电磁干扰而在线路上感应电压和电路。尤其是电网内部的变化,如开关操作浪涌、大型电力设备起停、交直流传动装置引起的谐波、电网短路暂态冲击等,都通过输电线路传到电源原边。虽然plc电源采用隔离电源,但其机构及制造工艺因素使其隔离性并不理想。实际上,由于分布参数特别是分布电容的存在,隔离是不可能的[1]。如济钢二号蓄热式加热炉在调试初期,cpu模块上的led“intf”、led“extf”经常报红,使整个plc系统无法正常运行,我们自plc程序到i/o模板逐一排查,未查出问题,但将plc重启后故障。如此重复数次后,我们怀疑是电源引入的干扰造成plc控制系统故障,所以我们改用在线式不间断供电电源(ups)为plc供电,ups具有较强的干扰隔离性能,是一种plc控制系统的理想电源。经改造后,plc不再频繁报故障,只是隔一段时间,偶尔报一次故障。
2.2 来自信号线的干扰
与plc控制系统连接的各类信号传输线,除了传输有效的各类信息之外,总会有外部干扰信号侵入。此干扰主要有两种途径:一是通过变送器供电电源或共用信号仪表的供电电源串入的电网干扰,这往往被忽视;二是信号线受空间电磁辐射感应的干扰,即信号线上的外部感应干扰,这是很严重的。如济钢中厚板厂二号蓄热式加热炉的自动出钢系统,由于出钢机、炉门的电机电源线与控制回路的信号线的距离偏近,出钢机起停过程中产生电磁辐射,控制回路的信号线受电磁辐射感应的干扰,致使自动出钢系统时常在自动出钢时工作异常:出钢机前进过程中,炉门突然下降,使炉门与出钢托杆相撞,将炉门撞坏。后经改造,使控制回路的信号线远离强电电源,才得以控制。
2.3 来自接地系统混乱时的干扰
接地是提高电子设备电磁兼容性的有效手段之一。正确的接地,既能抑制电磁干扰的影响,又能抑制设备向外发出干扰;而错误的接地,反而会引入严重的干扰信号,使plc系统将无法正常工作[2]。
plc控制系统的地线包括系统地、屏蔽地、交流地和保护地等。接地系统混乱对plc系统的干扰主要是各个接地点电位分布不均,不同接地点间存在地电位差,引起地环路电流,影响系统正常工作。如济钢中厚板厂蓄热式加热炉在大修施工期间,将plc系统的系统地、屏蔽地、保护地接到一起,造成整个炉子的控制系统不稳定,如时常接收到误信号(plc接收到引风机、循环水泵、给水泵等掉电信号,而实际上以上设备均正常运行),使炉子连锁紧急停炉,严重威胁到生产的正常运行。后将plc系统的系统地、屏蔽地、保护地立接地,才避免了此类事故的发生。
3 plc系统抗干扰措施
3.1 电源抑制电网干扰
在plc控制系统中,电源占有重要的地位。电网干扰串入plc控制系统主要通过plc系统的供电电源(如cpu 电源、i/o电源等)、变送器供电电源和与plc系统具有直接电气连接的仪表供电电源等耦合进入的。现在,我们一般都采用隔离性能较好电源。另外,为保证电网馈点不中断,我们采用在线式不间断供电电源(ups)为plc供电,提高供电的性。并且ups还具有较强的干扰隔离性能,是一种plc控制系统的理想电源[3]。
3.2 电缆选择的敖设
为了减少动力电缆辐射电磁干扰,我们将profibus电缆(连接控制室plc与现场plc)远离动力电缆,动力电缆走地下电缆沟,profibus电缆走架空线路。而对于其它信号电缆,不同类型的信号分别由不同电缆传输,信号电缆应按传输信号种类分层敖设,避免同一电缆的不同导线同时传送动力电源和信号,避免信号线与动力电缆靠行敖设,以减少电磁干扰[4]。
3.3 正确选择接地点完善接地系统
接地的目的通常有两个,其一为了,其二是为了抑制干扰。完善的接地系统是plc控制系统抗电磁干扰的重要措施之一。
信号源接地时,屏蔽层应在信号侧接地;不接地时,应在plc侧接地;信号线中间有接头时,屏蔽层应牢固连接并进行绝缘处理,一定要避免多点接地;多个测点信号的屏蔽双绞线与多芯对绞总屏电缆连接时,各屏蔽层应相互连接好,并经绝缘处理。选择适当的接地处单点接点[5]。
而对于profibus电缆,由于干扰电流和电磁干扰是通过profibus电缆的屏蔽泄放到地的。因此,屏蔽到地的低阻抗十分重要。电缆屏蔽通常是两端接地。特别在高频干扰情况下,用这种方法可以很好的抑制干扰。在大范围分散系统的各个总线之间存在电位差且不能实现等电位屏蔽接地时,就在一端将电缆屏蔽接地以避免在profibus电缆屏蔽中产生等电位屏蔽接地电流。因为在电缆屏蔽中有电缆均衡电流流过,会大大的降低屏蔽的效率。
4 结束语
在plc控制系统中,干扰问题十分复杂,在抗干扰设计中考虑各方面的因素,具体问题具体分析,对症,合理有效地抑制抗干扰,才能保证plc控制系统正常工作。
(4) 调绳闭锁回路是在调绳过程中起保护作用。双卷简提升机换水平调绳时,调绳转换开关1hk-3断开,使调绳连锁环节串入回路。正常运行时,lhk-3接通,调绳连锁不起作用。
(5) 提升信号回路用于对交流提升电动机启动或减速作好准备。
(6) 位置测程序用于测量提升机在矿井中的位置。
(7) 行程显示子程序根据旋转编码器的脉冲个数来显示当前的行程位置。
(8) 减速信号回路和减速信号铃用于减速控制并且发出铃声提示信号。
(9) 自动换向工作回路和手动正反转工作回路分别用于自动和手动方式下对交 流提升电动机进行正反转控制。
(10) 回路用于防止和避免交流提升机发生意外事故。
(11) 定时器控制回路和转子电阻通断控制用于交流提升电动机启动或减速时的转子电阻切换控制。
(12) 动力制动回路用于动力制动电源的投入与切除控制。
(13) 脚踏制动联锁和工作闸继电器用于交流提升电动机制动控制。
6 结束语
提升机的控制系统采用plc控制与tkd-a控制系统结合的方式,具有、、实现方便等优点。采用plc实现提升机主要控制逻辑, 增加控制功能,实现自动化生产。其关键是充分发挥plc的优势,利用其综合测控机制, 解决好测速、保护等问题, 实现与原系统的良好衔接, 提高系统的综合性能,达到高产出。从系统的应用情况看仍存在一些需进一步完善的问题如:网络通信功能和控制技术及策略如智能控制等,在现有plc技术的基础上进一步进行功能扩充,将会进一步提高我国矿井提升电控系统的现代化水平。
1 引言
随着plc在工业控制中的推广普及,plc产品的种类越来越多,其结构型号、性能、容量、指令系统,编程方法等各不相同,适用场合也各有侧重。因此,合理选择plc对于提高其在控制系统中的应用有着重要作用。应用plc要详细分析被控对象、控制过程与要求,熟悉了解工艺流程后列出控制系统的所有功能和指标要求,与继电器控制系统和工业控制计算机进行比较后加以选择。plc适合于控制对象的工业环境较差,而性、性要求特别高,系统工艺复杂,输入输出以开关量为多,用常规的继电器接触器难以实现,工艺流程又要经常变动的对象和现场。其次要确定控制范围,一般讲,能够反映生产过程的运行情况,能用传感器进行直接测量的参数;用人工进行控制工作量大,操作复杂容易出错或操作过于频繁,人工操作不容易满足工艺要求的往往由plc控制。
2 plc的选择
2.1 机型选择
机型的选择主要是指在功能上如何满足自己需要,而不浪费机器容量。选择机型前,要对控制对象进行下面估计:有多少开关量输入,电压分别为多少,有多少开关量输出,输出功率为多少;有多少模拟量输入和模拟量输出;是否有特殊控制要求,如高速计数器;现场对控制器响应速度有何要求;机房与现场分开还是在一起等。
在功能满足要求的前提下,选择、维护使用方便以及性能价格优的机型。通常的做法是:在工艺过程比较固定、环境条件较好的场合,选用整体式结构的plc;其他情况则选用模块式结构的plc;对于开关量控制以及以开关量控制为主、带少量模拟量控制的,一般其控制速度无须考虑,因此选用带a/d转换,d/a转换,加减运算、数据传送功能的低档机就能满足要求;而控制比较复杂,控制功能要求比较高的(如要实现pid运算、闭环控制、通讯联网等),可根据控制规模及复杂程度来选用中档或机(其中机主要用于大规模过程控制,全plc的分布式控制系统以及整个工厂的自动化等)。
应该注意的是,同一个企业应尽量做到机型统一,这样同一个机型的plc模块可互为备用,便于备品备件的采购和管理;同时,其统一的功能及编程方法也有利于技术力量的培训、技术水平的提高和功能的开发;此外,由于其外部设备通用,资源可以共享,因此配上计算机后即可把控制各立系统的多台plc联成一个dcs系统,这样便于相互通信,集中管理[2]。
2.2 i/o的选择
plc与工业生产过程的联系是通过i/o接口模块来实现的,plc有许多i/o接口模块,包括开关量输入模块、开关量输出模块、模拟量输入模块、模拟量输出模块以及其他一些特殊模块,使用时应根据它们的特点进行选择。
(1)确定i/o点数。不同的控制对象所需要的i/o点数不同,一些典型的传动设备及常用的电气元件所需plc的i/o点数是固定的,如一个单线圈电磁阀用2个输入点,一个输出点;一个按纽需一个输入点;一个信号灯占用一个输出点等,但对于同一个控制对象,由于采用的控制方法不同或编程水平不同,i/o点数也应有所不同。根据控制系统的要求确定所需的i/o点数时,应再增加10%~20%的备用量,以便随时增加控制功能。
(2)开关量i/o。开关量i/o接口可以从传感器和开关(如按纽、限位开关等)及控制设备(如指示灯、报警器、电动机启动器等)接收信号。典型的交流i/o信号为24~240v,直流i/o信号为5~240v。尽管输入电路因制造厂家不同而不同,但有些特性是相同的,如用于错误信号的抖动电路等。此外,大多数输入电路在高压电源输入和接口电路的控制逻辑部分之间都没有可选的隔离电路。在评估离散输出时,应考虑熔丝、瞬时浪涌保护和电源与逻辑电路间的隔离电路[3]。
(3)模拟量i/o。模拟量i/o接口一般用来感知传感器产生的信号。这些接口可用于测量流量、温度和压力,并可用于控制电压或电流输出设备。其典型量程为-10~+10v、0~+11v、4~20ma或10~50ma。一些制造厂家在plc上设计有特殊模拟接口,因而可以接收低电平信号,如rtd、热电偶等。这类接口模块可用于接收同一模块上不同类型的热电偶或rtd混号。
(4)特殊功能i/o。在选择一台plc时,用户可能会面临一些特殊类型且不能用标准i/o实现的i/o限定,如定位、快速输入、频率等。此时应考虑供销厂商是否提供特殊的有助于大限度减小控制作用的模块。有些特殊接口模块自身能处理一部分现场数据,从而使cpu从耗时的任务中解脱出来。
(5)智能式i/o。大型plc的生产厂家相继推出了解决典型工艺过程的智能式的i/o模块,例如pid控制模块等。这些智能模块本身带有处理器,可对输入或输出信号作预先规定的处理,并将处理结果送入cpu或直接输出,这样可以提高plc的处理速度并节省存储器的容量。
2.3 存储器类型及容量选择
plc系统所使用的存储器由rom和ram组成,存储容量则随机器的大小变化,大存储能力:一般小型机大存储能力6kb,中型机的大存储能力可达64kb,大型机的大存储能力可上兆字节。使用时可根据程序及数据的存储需要来选用合适的机型,必要时也可专门进行存储器的扩充设计。
plc的存储器容量选择要受到内存利用率、开关量的i/o点数、模拟量的i/o点数和用户的编程水平这四个因素的影响。存储容量计算的种方法是:根据编程使用的节点数计算存储器的实际使用容量。二种为估算法,用户可根据控制规模和应用目的来估算,总存储字数=(开关量输入点+开关量输出点)×10+模拟量点数×150,然后按计算存储器字数的25%考虑裕量。为了使用方便,一般应留有25%~30%的裕量。存储容量的方法是生成程序,即用了多少字,知道每条指令所用的字数,用户便可以确定准确的存储容量。
2.4 编程器和电源模块选择
在系统的实现过程中,plc的编程问题是非常重要的。用户应当对所选择plc产品的软件功能及编程器有所了解。小型控制系统一般选用价格的简易编程器,如果系统较大或多台plc共用,可以选用功能强,编程方便的图形编程器。如果有个人计算机,可以选用能在个人计算机上运行的编程软件包。同时,为了防止因干扰、锂电池电压下降等原因破坏ram中的用户程序,可以选用eeprom模块作为外部设备。
对于结构为模块式的plc,电源模块和额定电流大于或等于主机、i/o模块、模块等总的消耗电流之和。当使用机架时,从主机架电源模块到远一个扩展机架的线路压降小于0.25v。
2.5 程序设计和总装统调
在确定控制对象的控制任务、选择好plc的机型后,就可以进行控制系统的流程设计,画出流程图,进一步说明各信息流之间的关系,然后具体安排i/o的配置,并对i/o进行地址编号。i/o地址编号确定后,再画出plc端子和现场信号联络图表,进行系统设计即可将硬件设计和程序编写二项工作平行进行,编写程序的过程就是软件设计过程。
用户编写的程序在总装统调前需要进行模拟调试。用装在plc上的模拟开关模拟输入信号的状态,用输出点的指示灯模拟被控对象,检查程序无误后便把plc接到系统里,进行总装统调,如果统调达不到指标要求则可对硬件和软件作调整,全部调试结束后,一般将程序固化在有长久记忆功能的eprom盒中长期保存。
3 plc的抗干扰措施
由于plc是专为工业环境而设计的控制装置,应该具有很强的抗干扰功能,但是如果环境过于恶劣,电磁干扰特别强烈或安装使用不当都不能保证系统的正常运行,干扰会造成plc误动作或使plc内部数据丢失,甚至使系统失控,所以在系统设计时,应采取硬件措施再配合软件措施,以提高plc的性和抗干扰能力。
3.1 硬件措施
(1) 屏蔽:对电源变压器、cpu、编程器等主要部件,采用导电、导磁良好的材料进行屏蔽,以防外界干扰。
(2) 滤波:对供电系统及输入线路采用多种形式的滤波,以或抑制高频干扰,也削弱了各种模块之间的相互影响。
(3)电源调整与保护:对cpu这个部件所需的+5v电源,采用多级滤波,并用集成电压调整器进行调整,以适应交流电网的波动和过电压、欠电压的影响。
(4) 隔离:在cpu与i/o电路间,采用光电隔离措施,有效隔离i/o间的电联系,减少故障误动作。
(5)采用模块式结构:这种结构有助于在故障情况下短时修复。因为一旦查处某一模块出现故障,就能换,使系统回复正常工作,也有助于加快查找故障原因。
3.2 软件措施
故障检测:plc本身有很完善的自诊断功能,但在工程实践中,plc的i/o元件如限位开关、电磁阀、接触器等的故障率远远plc的本身故障率,这些元件出现故障后,plc一般不会察觉出来,不会立即停机,这会导致多个故障相继发生,严重时会造成人身设备事故,停机后查找故障也要花费大量时间[4]。为方便检测故障可用梯形图程序实现,这里介绍一种逻辑组合判断法:系统正常运行时,plc的输入和输出信号之间存在着确定的关系,因此根据输出信号的状态与控制过程间的逻辑关系来判断设备运行是否正常。
信息保护和恢复:当偶发性故障条件出现时,不破坏plc内部的信息,一旦故障条件消失,就可以恢复正常继续原来的工作。所以,plc在检测故障条件时,立即把现状态存入存储器,软件配合对存储器进行封闭,禁止对存储器的任何操作,以防存储器信息被冲掉,一旦检测到外界环境正常后,便可恢复到故障发生前的状态,继续原来的程序工作。
设置警戒时钟wdt:机械设备的动作时间一般是不变的,可以以这些时间为参考,当plc发出控制信号,相应的执行机械动作,同时启动一个定时器,定时器的设定值比正常情况下机械设备的动作时间长20%,若时间到,plc还没有收到执行机构动作结束信号,则启动报警。
提高输入信号的性:由于电磁干扰、噪声、模拟信号误差等因素的影响,会引起输入信号的错误,引起程序判断失误,造成事故,例如按纽的抖动、继电器触点的瞬间跳动都会引起系统误动作,可以采用软件延时去抖。对于模拟信号误差的影响可采取对模拟信号连续采样三次,采样间隔根据a/d转换时间和该信号的变化频率而定,三个数据先后存放在不同的数据寄存器中,经比较后取中间值或平均值作为当前输入值。
在硬件和软件方面采取各种措施后,大大提高。
4 结束语
随着各种技术的发展,plc的种类日益繁多,功能也逐渐增强,在产品规模上向大小两个发展。在实际工作中还要根据实际情况对plc的选用做出适当调整,以便满足期望的工业控制系统
1 引言
plc 作为一种稳定的控制器在工业控制系统得到了广泛的应用[1]。但是由于中小型plc的人机接口功能不很完善,不能提供给用户一个友好的交互界面,因此妨碍了对现场运行过程的跟踪与监控[2~5]。目些通用的组态软件,以其功能强大、界面友好、开发简洁等优点在计算机监控领域已经得到了广泛的应用,但是一般价格比较昂贵[6~7]。
visual basic6.0 在开发可视化环境下的监控系统时具有其特的优势,它本身提供的mscomm控件就是为应用程序提供串口通讯而设计的,它屏蔽了通讯过程中的底层操作,只需设置、监视mscomm控件的属性和事件即可完成对串行口的初始化和数据输入输出[8~10]。西门子s7-200plc由于其体积小,性高,通讯功能强大等特点,在工业控制领域得到广泛的应用。s7-200系列plc的通讯方式主要有三种:ppi方式、profibus-dp方式、freeport(自由口)方式。其中自由口方式是由用户自己定义通讯协议,具有与外围设备通讯方便、自由,易于计算机控制软件的开发等特点,因此使用自由口通讯方式实现plc与上位机通信的控制方案较多[11~14]。
本文采用s7-200plc的自由口通讯协议,基于vb6.0开发了一种简单实用且易于功能扩展的监控界面,其中计算机作为上位机,通过mscomm控件建立与下位机plc的通讯,可以实现数字量和模拟量读写、存储及模拟量趋势曲线绘制。
2 通讯原理
在上位机中,通过vb6.0中的mscomm控件完成数据的发送与接收;在下位机中则是通过plc的指令完成数据的发送与接收的。
2.1 通讯初始化设置
由于s7-200plc与计算机的自由口通讯是串行通讯,故通讯前需要通讯双方的串行端口初始化,使双方通讯参数保持一致。
(1) 上位机初始化设置
上位机使用mscomm控件通过串行端口发送和接收数据,因此要对mscomm控件进行初始化设置,主要始化设置如下:
mport=1 `设定通讯端口号
mscomm1.portopen=true `通讯端口打开
mscomm1.settings="9600,n,8,1"
mscomm1.bbbbbmode=1
settings:以字符串的形式设置并返回波特率、奇偶校验位、数据位和停止位。其中以字符n、o、e 分别代表无校验、奇校验和偶校验。
bbbbbmode:设置从缓冲区读取数据的格式;0为字符串格式(text),1为二进制格式(binary) [15]。
(2) 下位机的初始化设置
为了使下位机与上位机的通讯参数保持一致,可通过对plc的自由端口控制寄存器smb30(端口0)或smb130(端口1)的设置来实现。由于本文中使用的是cpu222是端口0,因此对plc的通讯设置是通过设置smb30来完成的。smb30的设置主要包括奇偶校验位、数据位、波特率、协议选择等参数。本文smb30设置内容如下,奇偶校验为不校验、字符数据位为8位/字符、波特率为9600bit/s、协议选择为自由口协议,故smb30设置为9。由于本文是通过接收字符中断接收数据,通过定时中断发送数据,因此需要将两个中断初始化。
plc主要初始化设置:
movb 9, smb30 //将自由口控制存储器设置9
movb 200, smb34 //定时中断时间设置(200ms)
atch int_0, 8 //接收字符中断
atch int_1, 10 //定时中断
eni //中断允许
2.2 通讯方式
(1) 上位机通讯方式
将上位机待发送的m个字节依次存储在数组s中,每次待接收的数据存储在变量r中。
发送信息时,数组s中个元素s(0)存储个待发送字节……后一个元素s(m-1)存储后一个待发送字节,发送方式为mscomm1.output=s。
接收方式为 r=mscomm1.bbbbb。
由于plc中的信息是以byte的形式传输到计算机中,因此上位机需要对接收的数据进行数据处理。由于plc中模拟量传感器数据是以word的形式存储在aiw中,而plc在发送该数据时是按照word对应的两个byte发送,故计算机在后台计算中要将其对应的两个byte转换为word。为了在人机界面中表达数字量(qb,ib,mb)的各个状态,需要在计算机后台计算中把plc的各数字量的十进制转换为八位二进制,通过对八位二进制的每个位做0、1判断,利用vb6.0可使用多种方法把判断结果表达在界面中
(2) 下位机通讯方式
为了在计算机中实时显示plc运行状况及传感器的实时数据,就需要plc主动发送信息。为此,本文通过“定时中断”使plc周期地向计算机发送数据。具体方法是在定时中断事件里,使用plc自带的发送指令xmt发送数据,定时中断的时间设置(1ms~255ms)即为发送周期。
s7-200系列的plc接收指令有两种方法:种方法是使用plc自带的rcv指令来接收计算机数据;二种方法采用plc提供的“接收字符中断”方式,将smb2(自由口接收字符缓冲区)定义指针,使用指针接收数据。在这两种方法中,二种方法加灵活,因此在本文中,plc在接收信息时采用指针接收数据。即在plc接收数据时,每次接收m个字节,仅在个字节进入smb2时定义指针,并将该字节写入指针所指向的变量存储字节;二个字节进入smb2时,指针指向下一个变量存储字节,并把二个字节写入……后一个字节进入smb2时,指针指向下一个变量存储字节,把m个字节写入。若数据接收完成,则清空用于计数的变量存储字节,等待下次接收数据,至此完成一次数据接收。本文中在接收字符中断里使用指针接收2个字节:
ld sm4.5 //变送器闲置时动作
lps
ab= vb99, 0 //vb99为0时
movd &vb100, ac1
//定义指针ac1,存储于vb100
lrd
movb smb2, *ac1
//指针指向自由口接收字符缓冲区
lrd
incd ac1 //指针递增
lrd
incb vb99 //接收字节个数递增
lpp
ab= vb99, 2 //接收字节个数为2
movb 0, vb99 //计数清零,完成一次接收
3 数据存储
vb6.0可将数据存储在多种数据库中(如access、excel等)。考虑到excel简单实用且应用广泛,通过设置excel的宏属性,就可将实时数据保存在创建的excel文件中,并可方便的查看历史数据。
本文通过vb6.0链接一个的excel文件,在vb程序里定时器的触发事件将数据存储至excel文件,存储方法如下:
k=k+1
xlsheet.cells(k,r) = v`数据v写入excelr列,随着时间k的增加依次逐行存储。
为了建立vb6.0与excel文件的链接,需要对链接的双方分别进行设置。建立并一个excel文件,命名为“g”,存储路径为“d:\g”,通过设置该文件宏属性,可建立excel向vb6.0的链接。exel中的宏属性设置设置为:
sub auto_open()
open " d:\g " for output as #1 `写标志文件close #1
end sub
sub auto_close()
kill " d:\g " `删除标志文件end sub
在vb6.0向excel链接时,考虑到数据快速地写入excel,为避免误操作引起excel运行终止,本文在打开exel时设置excel不可见,当数据存储完毕后,设置excel可见。
(1) 打开exel(链接到的exel文件)
set xlapp=createbbbbbb("excel.application") `创建excel应用类
xlapp.visible = false
`设置excel不可见
set xlbook=xlapp.workbooks.open("d:\g.xls") `打开excel工作簿
set xlsheet=xlbook.worksheets(1)
`打开excel工作表
xlsheet.activate
(2) 关闭exel
xlapp.visible = true `设置excel可见
set xlapp = nothing `释放excel对象
4 运行实例
为了验证本设计在实际应用中的有效性,本文利用实验室现有设备,在cpu222的扩展模块em235中接入2个位移传感器,设计了一套简单实用的人机界面。在界面中,计算机实时的显示两个位移传感器的数据及其曲线图,并能将数据自动存储至excel文件中;在界面中可以显示plc的数字量输入、输出状态及模拟量的实时变化曲线;通过“启动”、“停止”按钮可以直接控制plc的各输出点。
设置plc以200ms为周期每次发送9个字节,将传感器1的数据存入vw2(发送vb2和vb3),传感器2的数据存入vw4(发送vb4和vb5),i0.0~i0.7的状态字节ib0存入vb6,i1.0~i1.7的状态字节ib1存入vb7,q0.0~q0.7的状态字节qb0存入vb8,q1.0~q1.7的状态字节qb1存入vb9,m0.0~m0.7的状态位mb0存入vb10。
计算机每次发送2个字节,个字节写入变量存储字节vb100中,并将vb100的数据赋值给qb0,进而实现点击“启动”/“停止”按钮控制q0.0~q0.7;二个字节写入变量存储位vb101,该字节通过比较指令中的“字节等于”连接发送指令xmt,实现界面中点击“开始监控”(字节等于1)时plc开始发送数据,点击“停止监控”(字节等于0)时plc停止发送数据。
为了实现计算机直接控制plc的数字量输出,本设计在界面中使用8对“启动”/“停止”控制按钮,其中任何一个控制按钮的点击都是一次计算机向plc的数据写入。在qb0中该字节对应的8个位控制plc的8个数字量输出点(q0.0~q0.7),故这里通过定义一个数组q(0 to 7),数组中的8个元素分别对应qb0中的8个输出点,每次点击界面中控制按钮都是向对应元素的赋值,并将8个元素的赋值求和,求和的结果即为写入qb0的内容。其中每个“启动”按钮的赋值为对应元素的十进制数值,任何“停止”按钮的赋值都为0。
下面是人机界面运行中的截图,界面中的图表横坐标单位是“s”,纵坐标单位是“mm”,图表刷新周期为1秒,数据存储至excel文件的周期是200ms。开始监控后,使用两个量程为100mm的位移传感器,用手动方式移动传感器的检测部位,在数据存储过程中,excel文件不可见,停止数据存储后,自动弹出excel文件。在图2、图3中,a列和b列分别表示位移传感器1(黑色曲线)和位移传感器2(红色曲线)的历史数据。
5 结束语
本文应用s7-200plc的自由口通讯协议,以计算机为上位机,plc为下位机,基于vb6.0设计了一套简单实用且易于实现的监控界面。通过mscomm控件建立与下位机plc的通讯,较好地实现了数字量和模拟量读写、存储及模拟量趋势曲线绘制。实验表明该监控系统能准确地监控各类数字量(如q,i,m)信息,自动绘制模拟量变化的实时曲线并存储相应的模拟量数据。
本文设计的通讯方法简单实用且易于功能扩展,可以plc在中小场合的应用,为plc控制系统信息化、智能化发展提供了可行的探索路径。
产品推荐