7
西门子模块6ES7221-1BH22-0XA8现货充足
对于远程系统来说,要发送用户需要的数据,那么就必须通过程序块来实现。sinaut md720-3 系统提供了四个基本的功能块wdc_init、wdc_send、wdc_receive和wdc_control。刚开始学习此系统的用户可能对如何使用这四个功能块、以及如何用这四个功能块来实现一个任务感觉很困难,因此我们针对这种情况,对如何编程作进一部的介绍。
根据不同的应用情况,下面分两种情况来作程序架构的搭建步骤:
一、远程站与中心站通讯
二、远程站与远程站的通讯
远程站与中心站通讯
不管哪种应用情况,首先要注意的一点是,上面提及的四个功能块都必须在程序的每个扫描周期顺序调用。
一、远程站发送数据到中心站见下图:
整个任务完成的流程如下:
步:s7-200 plc通过模拟量接口模块读取模拟量值12.3%到内部的数据区。第二步:s7-200 plc通过调用功能块wdc_send(包括有发送的站地址、和数据区的起始地址及长度;中心站的站地址为0)到modem上
第三步:modem把接收到的数据12.3%进行处理后转化为gprs的数据包格式后,通过gprs服务转发到移动服务供应商。
第四步:移动网络供应商进一步把数据12.3%转发到internet上,移动供应商提供了与internet的接入点。
第五步: internet通过路由把数据12.3%转发到internet网络服务供应商的中心站上。
第六步:internet网络服务供应商的中心站把数据12.3%继续转发到sinaut micro sc的中心服务器。
第七步:sinaut micro sc中的opc server把接收到的数据提供给opc的客户端使用。
第八步:当sinaut micro sc成功接收数据后,会发一个确认信息给远程站。
第九步:modem接收到这个确认信息后,把它转发给s7-200的cpu
第十步:s7-200 cpu通过wdc_receive功能块接收此确认信息,紧接着又通过wdc_send功能发送一个发送完成的信息给用户程序。
上面的这些步骤完成了一次发送的任务,从此不难看出即使是一个发送,仅调用一次wdc_send功能是不行,还必须调用wdc_receive功能块来接收确认的信息,而在调用发送与接收功能块之前必须调用wdc_init功能块来完成gprs通讯的初始化工作,经过实验我们发现wdc_control功能块也是*的。
空压站冷却水泵节能技术改造
一、概 述
1、原空压站冷却水系统状况
济南厂空压站现有额定排气量64m3/min空压机两台、40m3/min3台、20m3/min1台。日常运行64m3/min1台,40 m3/min两台,其它备用。空压机在压缩做功的过程中产生大量的热,要**设备的正常运行必须对压缩空气和润滑系统进行冷却,因此对于冷却水系统的要求较高,不但要有足够的流量**冷却效果,而且必须**冷却水的不间断供应。每台空压机都设有水压连锁保护装置,如水压**设定压力持续15s以上,空压机将自动停机,而空压机停机将造成全厂的生产线因压缩空气压力过低而停产的严重后果。
空压站现有的6台机组均采用强制循环水冷方式。冷却水泵从水池吸水,将水以一定压力送入总管,各机组并联供水,冷却水对空压机进行冷却后进入回水总管,经冷却塔冷却后回到水池。水泵是冷却水系统的主要设备,对冷却水的压力和流量起着非常关键的作用。空压站现有IS125-80-200A离心水泵(主要技术参数见表1)3台,并联使用。平时两台同时运行,1台备用。
流量/m3.h-1 扬程/m 效率/% 配用电机/kW 90 48.4 65 30 150 44.0 79 180 40.5 77 表1 IS125-80-200A单级离心水泵技术参数
2、运行情况及存在的问题
两台水泵同时运行时,压力和流量可以得到充分**,而且当1台水泵出现故障停机或流量减小后,另1台水泵可维持运行一段时间,待操作人员巡视时排除故障。但从水泵的设计能力看,1台就能满足空压站的冷却水需求。由于常年多运行了1台泵,浪费了大量的电能。而如果改为1台水泵运行则存在如下问题:(1)单台水泵运行时空压机冷却水进口压力为0.18MPa,水压偏低,这影响了冷却效果,特别是夏季不能满足冷却要求。另一方面由于该压力接近空压机0.15MPa的水压控制低限,如出现泵的进水过滤器堵塞等情况时,经常造成压力低连锁的情况,系统故障率较高。(2)单台水泵运行一旦出现故障停机,依靠人工操作无法在十几秒内恢复供水,这将造成全线停产。所以要做到既节约能源又能实现水泵不间断安全运行,必须解决上述两个问题。
2 技术改造方案的确定
1、技术改造方案
(1)解决单台水泵运行时空压机水压低的问题
根据历史数据,空压机进水压力达到0.25MPa以上即能确保良好的冷却效果,而要达到这一要求有如下方案可以选择:
(1)减少管道阻力损失。管道的总阻力损失等于沿程阻力损失和局部阻力损失之和[1]。对冷却水系统各点的压力进行了测量,1号水泵单独运行时泵头压力0.48MPa,经过止回阀后降至0.20MPa,而到达机组为0.18MPa。为验证该问题,又在2号、3号水泵别进行了测试,测试结果基本相同。所以水泵出口止回阀是压力降低的主要因素,达到了0.28MPa。如果能够大幅度降低止回阀的局部阻力损失,空压机进水压力低的问题可以解决。
(2)选用较高扬程的水泵。不改变现有的管道和阀门,要使空压机进水压力达到0.25MPa以上,水泵出口压力应在0.55MPa以上。将原水泵更换为IS125-80-200Z离心水泵可满足使用要求,但需要配用较大功率(45kW)的电机。
解决单台水泵运行时出现故障后自动恢复供水的问题 对于水泵发生故障后及时自动恢复供水,有几种方案可供选择。
(1)将两台水泵的接触器进行电气连锁,当运行水泵的接触器跳脱时另一台的接触器自动吸合。
(2)采用电接点压力表或压力开关,以继电器实现简单控制。当压力**设定值时压力开关动作,通过继电器触发另外一台水泵的接触器吸合开启备用水泵。
(3)以可编程控制器(PLC)为**,编写逻辑控制程序,将水压的模拟量信号转换成数字量,与程序设定的压力值进行比较。当水压**设定值时,PLC通过开关量模块给相应继电器以开关信号进行声光报警,同时触发备用水泵接触器开启备用水泵。当**台备用泵启动5s后压力仍然达不到设定值,可再启动另一台备用水泵。
2、方案比选
(1)提高空压机进水压力的方案比选 更换水泵的方案设备更换费用较高,施工周期长,较为主要的是采用较高扬程和的水泵增加了配用电机功率,要比利用原有水泵每天增加电能消耗360kW.h,年增加电费约6.5万元。
而止回阀的购置费用较低,可利用原有水泵和管道系统,施工,单台水泵运行的能耗不再增加。因此,不论从一次性投资还是日常运行成本来看,更换水泵的方案经济性较差。因此决定采用更换止回阀的方案。
(2)电气控制的方案比选 将两台水泵的接触器进行连锁的方案,完成起来非常简单,投入很小。但其只能在运行水泵的接触器跳闸的情况下才能起到保护作用,而对于接触器触点因生热、打火而粘接住不能脱开的情况、流量逐渐变小的情况以及其他机械故障无法起到保护作用。
压力开关的方案投资也不多,但从应用经验看存在以下不足:冷却水中的泥垢经常将压力开关进水管道堵塞,容易造成误报警;压力开关的精确度较差,零点易漂移;水压的瞬间波动会造成开关动作,当水压在控制临界点反复波动时将造成电接点反复通断,使水泵反复启停,结果是控制失效,也会大大缩短压力开关的使用寿命。
采用PLC控制,能实现数字化控制,监测速度快,可通过软件编程实现多种功能,如水压在设定值附近波动时的延时判断;在**台备用泵出现意外情况时可启动*二台备用泵;报警手动复位后再延时启动报警等。目前PLC控制技术已相当成熟,运行稳定可靠。而且延时启动*二台泵的功能,排除了**台备用泵因积气、进出水阀门故障及水泵机械故障等意外原因造成备用泵不能正常供水的情况,提高了**系数。
虽然PLC控制方案的初期投资相对较高,但鉴于当前工艺条件下水泵控制高可靠性、高稳定性的要求,采用了可编程控制器的方案
选择编辑方法 根据创建程序时所使用的编程语言,
在编辑语句之前,对所使用的符号进行定义。如果某些符号不可用,则不能*编译块;但是可以保存该不一致的中间版本。 用于STL、S7 SCL、或S7 HiGraph等编程语言的源代码(文本)编辑器 在源代码编辑器中,将创建用于后续编译的源代码文件,以生成块。 建议使用源代码编辑器,因为这是一个非常有效的对程序进行编辑和监视的方法。 将在文本文件中编辑程序或块的源代码,然后进行编译。 文本文件(源文件)将存储在S7程序的源文件夹中,例如,存为STL 源文件或SCL 源文件。源文件可包含一个或多个块的代码。STL和SCL文本编辑器可以生成OB、FB、FC、DB、以及UDT(用户自定义数据类型)的源代码,这样,可使用它们来创建完整的用户程序。一个这样的文本文件可能包含完整的CPU程序(即所有的块)。 编译源文件时将生成相应的块,并写入用户程序中。在对其进行编译之前,定义所有使用的符号。且不报告数据错误,直到相应的编译器编译完源文件为止。 编译符合编程语言的规定语法。只有根据用户指令或在源文件被编译成块时,才执行语法检查。 使用SIMATIC管理器创建块 打开您希望在其中插入S7块的项目的"Blocks"文件夹。 选择菜单命令: 插入 > S7块 > 功能块(FB),如果您希望编写功能块 插入 > S7 块 > 功能(FC),如果您希望编写功能 插入 > S7 块 > 组织块(OB),如果您希望编写组织块 插入 > S7块 > 数据块(DB),如果您希望创建数据块 插入 > S7块 > 用户自定义数据类型(UDT),如果您希望创建用户自定义的数据类型 插入 > S7 块 > 变量表,如果您希望创建变量表(VAT),为了进行测试,而对用户程序中的变量进行监视和修改。 使用程序编辑器创建块 通过双击一个现有的块即可启动相应的编辑器。也可使用该编辑器创建更多的块。 在编辑器窗口中,选择菜单命令文件 > 新建。 在接下来出现的对话框中,选择块将要链接的S7用户程序。 输入希望创建的逻辑块的名称。 单击"确定",进行确认。 于是创建了块,并打开一个窗口用于编辑。窗口上半部分用于对变量声明表进行编辑,下半部分则包含您在其中编写新块的代码段。
丰富的指令集:
运算种类众多,便于编程:
基本操作,如二进制逻辑运算、结果赋值、存储、计数、产生时间、装载、传输、比较、移位、循环移位、产生补码、调用子程序(带局部变量)NOW_HOW_PROTECT属性可以在对块进行编程时,在源文件中进行设置。它将显示在"块属性"对话框中,但不能进行修改。用户自定义数据类型(UDT) 用户自定义数据类型是您自己创建的特定数据结构,一旦对其进行了定义,即可在整个S7程序中使用。 用户自定义数据类型既可像基本数据类型或复杂数据类型一样用于逻辑块(FC、FB、OB)的变量声明中,也可以用作数据块(DB)中的变量数据类型。其优点就是,您只需对特定数据结构定义一次,就能可以按照您的希望任意多次使用,并给它分配任意数目的变量。 用户自定义数据类型可当作一个模板,用于创建具有同一数据结构的数据块,这意味着您创建结构一次,以后就只需通过分配用户自定义数据类型来创建所需要的数据块(实例:配方:数据块的结构始终是相同的,仅使用的数量不同。) 正如其它块一样,在SIMATIC管理器或增量编辑器中都可以创建用户自定义数据类型。
注意 如果在程序编辑器中调用以S7-SCL编程语言创建的、包含UDT参数的块,会导致类型冲突。因此,如果使用UDT,应避免使用以SCL创建的块。
用户自定义数据类型的结构 在打开一个用户自定义数据类型时,将显示一个新的工作窗口,该窗口将以表格的形式显示该用户自定义数据类型的声明视图。 **行和*后一行已经包含有用于用户自定义数据类型起始和结束的声明STRUCT和END_STRUCT。您不能编辑这两行。 从声明表的*二行开始,您即可通过在各列中输入您的条目来编辑用户自定义数据类型。对用户自定义数据类型进行结构化,可根据: 基本数据类型 复杂数据类型 已存在的用户自定义数据类型 S7用户程序中的用户自定义数据类型将不下载给S7 CPU。即可直接使用增量输入编辑器先创建它们,然后进行编辑,也可在编译源文件时创建它们
停机分为两种情况:一种为正常的滑行停机,不刹车制动:另一种为紧急情况下的刹车制动停机。这就避免了以前总是停机、制动刹车同时动作所造成的有时是不必要的机械磨擦损耗,也减少了主驱动电机的磨擦发热机会。
在以前,操作人员要随时根据前后输送带瓶子情况,调节注水机运转速度。爆瓶时,要迅速按下冲水按钮,同时调慢速度。这不仅增加了工人的劳动强度,而且生产效率也低。在这次改造中,我们把这些动作都加进了PLC程序设计中,真正实现了电气自动化控制。
下面分别为注水、爆瓶冲水、F盖动作。在这里主要应用三菱公司PL山C中的特别移位功能指令(SFTL、SFTR)。该指令在电气传动输送带的启动(特别是输送带较长,电机多的情况)也很有用,电机逐个启动,可避免同时启动对供电系统的冲击。具有这种功能的指令在其他公司PLC中很少有现成的,一般都需要自己编写一段功能模块,而使用该功能指令编程会使程序显得较为精简。
这就解决了以前控制很难实现的检测爆瓶位置,及自动向爆瓶位置冲水的功能。避免了以前爆瓶时往仕旦停机,人为手动冲水的过程。同时注水与下盖动作也变得较为准确。原注水动作是靠瓶子进入注水位置触动开关打开阀门的纯机械控制来完成,在潮湿、糖水多的环境中,触动开关很容易失灵,再加上瓶子对开关的触动很难**每次都准确,故生产中经常会出现误动作或不动作,要经常停机进行人为调整,这大大降低了生产效率。现由PLC输出控制电磁阀动作,来实现阀门的开启或关闭,既快速又准确。
在检测光电开关安装时,主要注意调整以下信号,只有满足以下条件,才能**注水、爆瓶冲水动作的准确完成。