• 6ES7231-0HC22-0XA8物优**
  • 6ES7231-0HC22-0XA8物优**
  • 6ES7231-0HC22-0XA8物优**

产品描述

产品规格模块式包装说明全新品牌西门子

6ES7231-0HC22-0XA8物优**


1  引言
              
plc是专门为工业环境设计的控制装置,一般不采取什么特殊措施,可以直接在工业环境下使用。但在地铁等高可靠集中供电场所,供电系统中存在大功率电气设备,这些设备在开断、闭合时往往产生很强的干扰信号。干扰信号可以沿供电线路侵入plc系统、或者通过控制系统的前后向通道直接进入plc系统、或者以场的形式从空间辐射到cpu系统,严重影响着测控系统的可靠运行。本文分别就变电所plc测控系统的硬件和软件提出抗干扰设计方案,有效地提高了测控系统的工作可靠性。
            
2  plc硬件抗干扰
            
2.1 电源侧
              
抑制电源系统引入的干扰:电网的干扰、频率的波动,将直接影响plc系统的可靠性和稳定性。如何抑制电源系统的干扰是提高plc的抗干扰性能的主要环节。加装滤波、隔离、屏蔽、开关稳压电源系统。设置滤波器的作用是为了抑制干扰信号从电源线传导到系统中,为了抑制电网大容量设备起停引起电压的波动,保持供电电压的稳压,可采用开关稳压电源。分离供电系统:plc的控制器与i/o系统分别由各自的隔离变压器供电,并与主电源分开,这样当输入输出供电断电时,不会影响到控制器的供电。
            
2.2 接地侧
              
良好的接地是保plc可靠工作的重要条件,可以避免偶然发生的电压冲击危害。接地线与机器的接地端相联,基本单元必须接地,如果选用扩展单元,其接地点与基本单元接地点接在一起。为了抑制附加在电源及输入、输出端的干扰,应给plc接以**地线,接地线与动力设备(如电动机)的接地点应分开。另外接地电阻要小于10欧姆,接地线要粗,接地面积要大于2平方毫米,而且接地点较好靠近plc装置,其间的距离要小于50米,接地线应避开强电回路,若无法避开时,应垂直相交,缩短平行走线的长度。实践证明,接地往往是抑制噪声和防止干扰的重要手段,良好的接地方式可在很大程度上抑制内部噪声的耦合,防止外部干扰的侵入,提高系统的抗干扰能力。
            
2.3 信号侧
              
为了实现输入输出电路上的完全隔离,近年来在控制系统中光电耦合得到广泛应用,已称为防止干扰的较有效措施之一。光电耦合器具有以下特点:首先,由于是密封在一个管壳内,不会受到外界光的干扰;其次,由于靠光传送信号,切断了各部件电路之间地线的联系;*三,发光二极管动态电阻非常小,而干扰源的内阻一般很大,能够传送到光电耦合器输入输出的干扰信号就变得很小;*四,光电耦合器的传输比和晶体管的放大倍数相比,一般很小,远不如晶体管对干扰信号那么灵敏,而光电耦合器的发光二极管只有在通过一定的电流时才能发光。因此,即使在干扰电压幅值较高的情况下,由于没有足够的能量,仍不能使发光二极管发光,从而可以有效地抑制掉干扰信号。
              
plc在硬件设计方面,首先对器件进行了严格的筛选和优化,而且在电路结构及工艺上采取了一些*特的方式。例如,在输入/输出电路中都采用了光电隔离措施,做到电浮空,既方便接地,又提高了抗干扰性能;各个i/o端口除采用了常规模拟滤波外,还加上数字滤波;内部采用了电磁屏蔽措施,防止辐射干扰;采用了较先进的电源电路,以防止由电源回路串入的干扰信号。

3  plc软件抗干扰
              
尽管在抗干扰设计中采用了硬件措施,但由于干扰信号产生的原因很复杂,且具有很大的随机性,很难保证系统完全不受干扰。因此往往在硬件抗干扰措施的基础上,采取软件抗干扰技术加以补充,作为硬件措施的辅助手段。软件抗干扰方法简单、灵活方便、耗费资源少,在微机测控系统中获得了广泛应用。
              
在软件设计时,通常需要采用软件容错技术来提高监控系统的可靠性。软件容错技术的工作原理是允许系统出现错误或故障,当其发生时,系统会自动采取相应的容错措施来它或减轻其对系统的影响,以保证系统的正常运行。
              
本文采用西门子s7系列plc讨论基于rs-485网络监控系统的软件容错技术。
            
3.1 数据通信的容错技术
              
监控系统与现场各个测控分站通信是主从方式,采用固定帧长度或变帧长的报文格式来交换数据,即主站主动循环地向从站发送数据请求报文,当从站接受请求后,才响应数据报文。
              
为了由于线路干扰而产生的非法数据,监控系统接收到响应数据后,通过数据校验来判断数据的正确性。当监测到数据通信错误后,系统会自动将该帧数据丢失,并重新发送数据请求报文,来获取分站响应的正确数据。
              
有时由于线路干扰、分站忙等原因,造成分站对主站的请求无响应,可采用有限次地定时重发数据请求报文,恢复正常通信,当重发1次请求报文后,该分站仍然无响应,系统就会报告错误信息,并开始与下一个分站的通信。对应部分程序如下:

            cscl: l     "pa100-cfcs"       //因泰莱pa100单元-重发次数
                  l     1
                  >=i   
                  jc    txzd              //重发次数大于等于2,跳至通信中断。
            txzd: l     "pa100-zhno"      //通信中断子程序
                  l     1
                  -i    
                  slw   3
                  lar1  
                  l     1
                  opn   "pa100-ztdb"       //因泰莱pa100单元-通信状态db
                  t     dbb [ar1,p#0.0]    //中断,则对应分站通信状态字节置1。
            
3.2 监控系统运行的容错技术
              
监控系统在长时间运行时,可能出现系统错误,为了保系统的正常可靠运行,需要使用软件看门狗容错技术,来自动检测错误并错误,使恢复系统正常工作。
              
(1)内部看门狗的软件实现:内部看门狗用于在cp340下发命令帧成功后,监测cp340接收数据正常与否,如果接收数据不成功,则判断内部看门狗定时时间是否到,如果没有到定时时间则说明数据还没有接收完整,继续接收数据,如果定时时间到,则说明由于干扰,接收数据环节出现错误,此时就要跳至**时处理程序,相关程序如下所示:

                 a     "pa100-fscg"           //如果cp340下发命令帧发送成功
                  l     s5t#500ms              //设置定时器t1,时间为500ms
                  ss    t      1             //启动定时器
                  .
            .
            .
                  an    "pa100-jscg"         //如果cp340接收数据不成功
                  jc    csjc                 //跳至**时检测程序
                  .
            .
            .
            csjc: a     t      1          //定时时间到
                  jc    cscl               //跳至**时处理程序
                  ju    end
              
(2)外部看门狗的软件实现:当监控系统发生串口通信发生全部失效错误,即系统无任何响应时,可以通过外部看门狗将系统进行重新初始化,即先复位串口通信模块,再重新打开串口以恢复正常通信。

                 a     m     23.2         //位m23.2为1时,启动t3定时器。
                  l     s5t#500ms
                  ss    t      3
                  an    m     23.2         //位23.2为0时,改令牌。
                  jc    glp
                  call  "p_rcv" , db2       //位23.2为1时,复位系统接受功能块。
                     en_r  :=false
                     r     :=true
                     laddr :=256
                     db_no :=4
                     dbb_no:=0
                     ndr   :="pa100-jscg"
                     error :="pa100-jserror"
                     len   :="pa100-jslen"
                     status:="pa100-jsstatus"
                  a     t      3                //定时时间到,改令牌。
                  jc    glp
                  ju    end
            glp:  l     0                       //改令牌程序,返回到正常轮询。
                  t     "pa100-token"           
                  set   
                  r     t      3                //复位定时器t3
                  r     m     23.2              //复位m23.2
            end:  nop   0
              
(3)plc扫描周期看门狗的软件实现:plc扫描周期看门狗是提高系统可靠性的一个有效措施,它是在plc内部设置一个监视定时器。这是一个硬件时钟,是为了监视plc的每次扫描时间而设置的,对它预先设定好规定时间,每个扫描周期都要监视扫描时间是否**过规定值。如果程序运行正常,则在每次扫描周期的公共处理阶段对看门狗进行复位,避免由于plc在执行程序的过程中进入死循环,或者由于plc执行非预定的程序而造成系统故障,从而导致系统瘫痪。如果程序运行失常进入死循环,则看门狗得不到按时清零而**时溢出,将给出报警信号或停止plc工作。

202207281244519172844.jpg202202231632210850864.jpg202202231632201798164.jpg


1  应用背景描述

        熔盐炉自控系统是一水硬铝管道化溶出生产线上的重要环节,控制熔盐的加热和循环,用熔盐的热量去循环加热铝矿石浆。铝矿石浆的加热至关重要,影响较终产品—氧化铝的质量和产量,因此,熔盐的温度控制和循环控制非常重要。

        由于熔盐炉系统在管道化工程中的重要性,同时考虑到熔盐是一种活跃的化学品,在不同的温度下有不同的形态,低温下凝固,高温下不稳定会发生化学反应,从而腐蚀管壁甚至于爆炸,所以安全、可靠、操作简便和自动化管理是系统设计的关键,因此考虑用一套双CPU冗余的PLC、两套工控机、高质量的传感器、变送器和执行机构来控制两台1200万大卡的熔盐炉、一台盐泵、一组盐阀、一个熔盐槽和其他相关设备,实现熔盐的加热和循环过程自动化、计算机操作、监控和管理的自动化控制。

 控制器PLC、工控机(包括显示器)、通讯网络和电源及关键测试点等系统中的重要部件均采用冗余结构,两套工控机和大屏幕显示器组成的两套监控操作管理台并行运行;两条冗余的ControlNet高速通讯网络同时传送数据;两套直流电源同时向控制器PLC、变送器和开关量输入模块供电,关键测试点同时设置两个传感器测试数据。冗余设计使系统关键部件的可靠性提高了一倍,而使系统的整体可靠性大大的提高。

2  双CPU的PLC控制器

        PLC控制器是系统控制的中心,采集系统的全部工况信号,实时控制相关的设备动作;同时监视生产过程参数和设备运行状态,当危险工况出现时,及时发出声光报警,当极限工况、出现时,联锁保护设备,**生产过程安全。在这里,我们选择了AB ControlLogix系列,同时考虑采用双CPU模块冗余,进一步提高系统可靠性,避免因故障出现所引起的生产停顿或安全事故。

3  两种双CPU冗余方式的比较

        ControlLogix提供有两种CPU冗余解决方法,一种为纯硬件冗余,另一种为软件冗余。硬件冗余的方法,是将两个CPU模块插在不同的两个机架上,每个机架上除了CPU模块,还要有通讯模CNBR、热备模块SRM和两个热备模块间的连接光缆,如图2所示。软件冗余,是将两个CPU模块插在同一个框架上,利用背板通讯,进行冗余控制。

 从以上可以看出,纯硬件冗余的方式硬件投入较多,成本开支较大大。而软件冗余,只需增加一块CPU模块,成本增加很少,因为一般像CPU这种PLC的心脏,厂家都会配有备件,用备件来实现冗余控制,既提高了系统的可靠性和可维护性(可做到在线维护,不影响生产线运行),又不会显著增加成本开支。

        单纯从可靠性方面分析,纯硬件的冗余较之软件冗余并无优势。因为增加了较多的部件、模块,这些部件和模块的故障,也会影响系统的可靠性。例如,当两个热备模块之间的连接光缆出现故障,同样会使冗余控制失效。而软件冗余,只增加了一块CPU模块,而两个CPU模块的同时故障率几乎为零。

        纯硬件冗余的优点之一,就是不需要软件进行专门的编程,CPU的状态监视和控制权的转移是由两个热备模块来完成的。而软件冗余中两个CPU模块的状态监视和控制权的转移是通过软件编程解决的。因此,软件冗余编程相对比较复杂,工作量较大。

        综合考虑以上因素,本熔盐炉自动系统采用软件方式实现PLC的双CPU冗余控制。两块CPU模块同时在系统中运行,一块运行于主控模式,另一块运行于热备份模式。当其中任一块CPU发生故障时另一块CPU立即监视到并发出报警,自动将正常的CPU投入主控模式。CPU的无扰动切换,使系统一直受控,确保了安全,同时,使管道化生产线一直处于正常运行的良好工况中。

4  软件实现

CPU冗余控制的软件实现编程主要从下面两方面考虑:

        1、控制权的裁决和转移,两块CPU同时在线运行,一块处于主控制模式,另一块处于热备模式。拥有主控制权的CPU具有输出控制权,而热备CPU同时采集数据和保持通讯连接,但输出被禁止。两个CPU模块互相监视对方的运行状态和通讯情况,一旦发现对方故障,立即发出报警,通过ControlNet网,传送给上位工控机,在操作管理台上显示报警。如果是主控CPU模块故障,热备CPU模块自动获得主控制权。

   2、两块CPU模块的控制,由于热备CPU随时准备着,一旦主CPU故障,就立即获取主控制权而成为主控CPU,因此,主CPU必须将自己的信息随时传递给热备CPU,而热备CPU必须跟踪主CPU的变化,与主CPU保持同步,这样,在两块CPU模块进行控制权的转移时,实现无扰动切换。



在数控机床中,通常用可编程控制器(PLC)对机床开关量信号进行控制。PLC可靠性高,使用方便。但在大多数数控机床,特别是经济型数控机床中,要求的输入输出点数并不多,通常在60点以下,因此,为了降低数控机床成本,在基于工业PC机的数控系统中,可以采用开关量I/O板加外接继电器,配合主机的软件对机床开关进行控制。但如果PC机采用单任务操作系统(如DOS),数控系统的所有任务运行都置于一个总体的消息循环中,软件的模块化和可维护性较差,系统故障的风险相对集中,而且不能充分利用PC机系统资源。而采用非实时多任务操作系统(如bbbbbbs)时,Win32API的设计没有考虑到实时环境的开发用途,其系统调用的效率不高,不能满足数控系统PLC控制的实时性要求。为此,本文提出一种基于RT-Linux操作系统的嵌入式PLC,利用RT-Linux的开放性、模块化和可扩展性的系统结构特性和多线程/多任务的系统环,在保证实时性的同时,使故障风险相对分散。

1  数控系统嵌入式PLC的硬件结构

        数控系统硬件建立在通用工业PC的开放体系之上,数控系统嵌入式PLC硬件包括:工控机及其外围设备,基于ISA总线的开关量输入输出接口卡,光电隔离模块,继电器输出模块。其结构如图1所示。工控机采用RedHatLinux810+RTLinux311操作系统,数控系统的人机界面、数控代码处理、轨迹规划、参数管理以及PLC控制都通过工控机由软件来实现,不需要独立的PLC控制器,减少了数控系统对硬件的依赖,有利于提高系统的开放性。I/O输入输出信息通过PC机I/O接口卡实现主机与伺服接口模块和I/O接口模块之间的信息交换,PC机I/O接口卡基于ISA或者PCI总线。

2  RT-Linux的体系结构

        RT-Linux是基于Linux系统并可运行于多种硬件平台的32位硬实时操作系统,它基于基于Linux并可运行于多种硬件平台的多实时操作系统。通过修改Linux内核的硬件层,采用中断技术,在内核和硬件之间实现了一个小而的实时内核,并在实时内核的基础上形成了小型的实时系统,而Linux内核仅作为实时系统较低**级的任务运行。对于普通X86的硬件结构,RT-Linux拥有出色的实时性和稳定性,其较大中断延迟时间不**过15μs,较大任务切换误差不**过35μs。这些实时参数与系统负载无关,而取决于计算机的硬件,如在PII350,64M内存的普通PC机上,系统较大延迟时间不**过1μs。RT-Linux按实时性不同分为实时域和非实时域。

 实时域在设计上遵循实时操作系统的设计原则,即系统具有透明性、模块化和可扩展性。RT-Linux的实时内核由一个核心部分和多个可选部分组成,核心部分只负责高速中断处理,支持SMP操作且不会被底层同步或中断例程延迟或重入。其它功能则由可动态加载的模块扩充。RT-Linux把不影响系统实时性的操作(即非实时域的操作)都留给了非实时的Linux系统完成。基于多任务环境的Linux为软件开发提供了丰富的系统资源,如多种进程间通讯机制,灵活的内存管理机制。

3  嵌入式PLC的设计及实现

3.1  嵌入式PLC的模块组成

         数控系统的PLC控制模块实时性要求较高,因而必须在系统的实时域内运行。根据通用数控系统的PLC控制以及数控系统软件模块化设计的要求,将数控系统的PLC控制模块作为RT-Linux系统的实时任务之一,其**级和调用周期取决于数控系统各任务的实时性要求以及控制要求的响应时间。PLC控制模块主要完成数控系统的逻辑控制,而被控制的输入输出也就是I/O的输入输出由PC机I/O接口卡输入输出模块来完成,即完成数控系统的PLC控制需要两个RT-Linux实时任务。

基于RT-Linux系统的嵌入式PLC实时任务关系图,其中适配卡输入输出主要是完成数控系统的输入输出,即各轴位置控制命令的输出、I/O的输出、I/O输入以及位置反馈输入。它实际上是数控系统控制卡的设备驱动模块,其**级在数控系统的各实时任务中为较高级。根据其硬件特征以及运动控制要求,其响应周期为100μs,响应时钟周期由PC机I/O接口卡上的硬件定时器产生。根据RT-Linux系统对硬件中断的响应机制,输入输出控制任务的实时性是可以保证的,这一点在我们的数控系统已经得到验证。图中PLC控制主要是完成数控系统的PLC控制功能,其任务**级低于适配卡输入输出,同时也低于数控系统的精插补实时任务和位置伺服实时任务。根据通用数控系统的PLC控制要求,确定其响应周期为5ms,响应周期由RT-Linux的软件定时器产生,根据RT-Linux系统的实时多任务调度机制,PLC控制任务的实时性是可以保证的。在实际应用中也得到验证。

3.2  嵌入式PLC的实时任务模块数据通讯

        完成数控系统PLC控制的两个实时任务之间由于需要输入输出的数据量(一般情况下为64输入,64输出,但输入输出根据需要还可以扩展)不太大,因而采用共享内存的通讯方式,在适配卡输入输出和PLC控制。两个实时任务之间开两块共享内存,一块用于适配卡向PLC控制传输I/O口状态信息,另一块用于PLC控制向适配卡输入输出任务传输经PLC逻辑处理后的控制信息。

        在这里,两个实时任务间不采用RT-FIFO进行通讯的原因在于这两个实时任务间通讯的数据量不是很大,而这两个实时任务运行周期差别较大,采用RT-FIFO传输数据,为了避免FIFO的阻塞,相应地要增加两个任务间的协调机制,这样的通讯效果未必比采用共享内存好,而且共享内存的读写速度比FIFO相对较快。

3.3  嵌入式PLC的实时任务的实现

        适配卡输入输出为动态可加载模块,适配卡输入输出模块(任务)以100μs为周期的硬件定时中断,完成各轴位置控制指令和I/O的输出、各轴位置反馈值和I/O的输入,适配卡输出值来自于位置伺服任务和PLC控制任务,输入值来自于适配卡的输入接口。PLC控制模块(任务)同样也是一个动态可加载模块,它以5ms的软定时,周期性地从它与总控模块通讯的RT-FIFO读取控制信息(如M指令,S指令及T指令),同时从它与适配卡输入输出模块通讯的共享内存中读取I/O信息,然后进行逻辑处理,最后将写入共享内存供适配卡输入输出模块读取并输出。



http://zhangqueena.b2b168.com

产品推荐