6
西门子模块6ES223-1BH22-0XA8原装代理
一、传统仪器设计过程回顾
现代化的自动仪器设备均具有如下几方面的性能和特点:
的信号检测,适时数据采集,数据处理,实现其功能的光机电一体化的自动装置,以及人机操作界面,除此之外还必须有完备的上下位机的控制程序软件包。为实现以上几个方面的性能,以高性能的微处理器为基础的嵌入式单板机就似乎成为迄今仪器设计的一选择。从而,在仪器具体的性能要求确定以后,单板机的软硬件设计制造工作就进入议事日程。
二、新设计方案的提出和可行性分析与单板机方案比较
所谓的新方案的概念源于个人的专业技术经历和接触不同的技术领域,笔者分别从事过精密仪器设计和工业自动化领域的工作,PLC技术,特别是国产HOLLiAS LM 系列小型PLC的性能给我一个在精密仪器设计方案上重新审视的技术空间。
从设计方法学的角度来看待设计问题,全世界没有谁规定自动仪器一定要以单板机为核心,只要能够实现倾向用户使用要求的仪器设计就是成功的产品,换句话说用户和使用者不关心仪器的设计过程和内部构造,他们只关心仪器的性能价格比。而作为设计人员,我们所要考虑的是所有可以实现预期性能的设计方案和手段以及技术途径,这样较为符合设计方法学的思想方法和设计规程。
考虑技术可行性,先来看一下电子控制的硬件要求,一般地,系统需要有高性能的CPU,一定数量的内存,DI,DO,AI,AO,与人机界面的通讯端口,以及根据具体运行要求所编制的程序。这些工作对一个单板机或DSP系统来说,无异于编制一套**小型操作系统。在硬件上甚至往往需要设计单板机或DSP的PCB板,在SMT技术的今天设计完善这样的系统也非易事,调试的问题不用说,甚至一两个DI的扩展,都需要重新设计改动PCB板。
再看一下PLC的性能,PLC是可编程序逻辑控制器(Programmable Logic Controller)的英文缩写。对有工业自动化控制经验的人来说,一点也不陌生,但对于那些仅从事仪器设计的人来说,也许不甚了解或者**涉足使用。PLC通常具有高性能的CPU,相当规模的内存,可任意扩展的DI,DO,AI,AO接口,其中AI的分辨率为16 BIT 以上,其DO接口可以直接驱动1A电流的功率器件或继电器, 因此PLC在硬件上完全可以代替单板机。
再从软件编程和运行的方面比较,单板机或DSP,即使借助于C语言或其他专门的开发环境,其工作也是相当厄繁的,而且不使用汇编语言,指令对硬件的直观控制效果不易观察,调试困难。对于仪器控制的特殊应用,运行时子程序调用比较多,在线调试困难。而对于PLC来说,其自身的功能块,指令组,就此类系统控制应用而言,比C语言完备得多,如各种微电机控制,定时,记数,脉宽调制,脉冲输出等等。另外PLC程序在运行时是实时重复扫描,可以根据逻辑计算结果的要求实时任意取舍子程序或功能块的运行,对于一个接近120K内存的较长程序,一次扫描仅需几十毫秒,就绝大多数应用而言,速度足够快。就编程而言,PLC的指令系统容易学,容易使用,调试方便。PLC 较之嵌入式的程序,具有更好的可读性和易读性,它可以使得更多公司和更多工程技术人员从事开发工作.
考察性能价格比,显然在开发阶段,PLC的成本很低,它是工控市场化批量生产的产品,只需要设计少量外围**电路,软件环境也容易在PC上设置,经常是PLC厂家免费提供的。在生产阶段,PLC与单板机的成本相差不悬殊。况且PLC较单板机的用户面宽,产品成熟,质量稳定可靠,从而在生产订购上也节省时间。
综上所述,PLC的功能和实时运行能力以及系统开发的简易性**过一般意义上的单板机。甚至具备单板机所不具备的实时在线能。因此,从理论到实践上看PLC作为仪器核心都是具有更多优越性。
三、设计过程详实(以自动生化分析仪为例)
自动生化分析仪是用于医院临床检验血液生化指标的复杂仪器。生化分析仪的基本功能是按照各自不同的生化方法要求设定测试参数,然后自动机构取样并按照设定对各样品及同一样品的不同测试加入所需的试剂,按所需特定比例进行稀释。进而分别注入比色杯对反应液进行保温和延时(经稀释后的样品称为反应液),下一步对反应液按照所需编排好的测试方法和时间进行测试,最后计算并储存和打印测试结果。 从而得到生化分析仪对电子系统的软硬件要求,并据此选择PLC的软硬件配置。
1) 硬件要求
120K程序内存
3 AI输入
24 DI输入
16 DO输出,包括2 -PTO,1-PWM输出
2 AO 输出
RS232(及485)串行口
如有必要可以选择2个或更多PLC CPU模块联合控制。
2) 软件功能及内部函数要求
输入高速记数,
高速脉冲输出,
步进电机脉冲控制模块
PID 控制功能块
自由通讯功能块
基于ST文本的数据处理子程序
多种逻辑和计算结果判断指令。
3) 总控制程序,自动机构微电机控制,数据采集及数据计算处理软硬件安排
仪器的PLC控制软件由主控制程序,初始化复位子程序,自动机构动作算法子程序,自动机构运动执行子程序,数据读取控制子程序,及数据计算处理子程序组成。
主控制程序完成各子程序的选择执行以及与人机界面的通讯,为梯形图程序。
初始化复位子程序完成自动机构的回位和数据初始化,为梯形图程序。
自动机构动作算法子程序完成安排自动机构的动作顺序判断,为梯形图程序。
自动机构运动执行子程序驱动自动机构完成要求的动作,为梯形图程序。
数据读取控制子程序执行检测数据的读取和机构为读取数据的配合动作,为梯形图程序。
数据计算处理子程序完成生化分析所需的分析计算,由ST语言编写子程序。
4) 硬件的安排
自动机构的运动和控制(包括比色用不同波长光源的自动选择转换)由高速脉冲输出端口配合普通DO端口选择控制多个微型步进电机来实现,其中机构的运动定位由
DI,高速DI以及AI接受运动和位置反馈信号用以控制步进电机来实现。
恒温槽的温度由AI接收温度传感器,经PLC的PID结合脉宽调制驱动电热元件实现。控制精度较高可达±0.05°C,典型值达到±0.1°C。
数据的读入由对数运算放大器(LOG100)接入AI实现。由于PLC可设置数字滤波参数。所以数据采集完全可以保持所需的精度要求。
PLC与人机界面的通讯由PLC的RS232串行口实现,可以采用PLC自身的MODBUS协议,也可以采用PLC提供的自由协议功能块,这样编程更方便。本系统采用自由通讯协议。
四、结论和展望
近年来工控市场上新的PLC品牌不乏高性价比的小型PLC,使其设想成为可能。而且,仪器设计者如果更多采用PLC产品,必将促使PLC制造商不断提高PLC的性能,以及向单板机容合,那样设计人员将有更多便利的设计手段和软硬件可选择。从而缩短新产品的开发周期,增加产品品种,使用户、仪器开发商和PLC生产商都得到好处。
前言
可编程控制器(PLC)对机床开关量信号进行控制时可靠性高,使用方便,在大多数数控机床,特别是经济型数控机床中,要求的输入输出点数不多的情况下得到广泛应用。在兼用PC 机系统资源的情况下,采用bbbbbbs 的分时性,没有考虑到实时环境的开发用途,其系统调用的效率不高,不能满足数控系统高实时场合PLC 控制的实时性要求。
VxWorks 作为一运行在目标机上的高性能、可裁减的嵌入式实时操作系统,目前以其良好的可靠性和**的实时性被广泛地应用在通信、军事、航空、航天等**技术及实时性要求较高的领域。
本文基于 VxWorks 操作系统,提出了基于VxWorks 的嵌入式实时PLC 设计的方法与应用,利用VxWorks 的开放性、模块化和可扩展性的系统结构特性以及多线程/多任务的系统环境来达到高实时要求的PLC 控制,在保证实时性的同时,实现多点位、复杂功能的PLC系统控制目标。
1、传统 PLC 系统的结构
相比较传统的的基于通用工业 PC 的工业PLC,其数控系统嵌入式PLC 硬件包括:工控机及其外围设备,基于ISA 总线的开关量输入输出接口卡,光电隔离模块,继电器输出模块。
工控机采用 bbbbbbs 等非实时操作系统,数控系统的人机界面、数控代码处理、轨迹划、参数管理以及PLC 控制都通过工控机由软件来实现,不需要独立的NC 控制器,减少了数控系统对硬件的依赖,有利于提高系统的开放性。I/O 输入输出信息通过PC 机I/O 接口卡实现主机与伺服接口模块和I/O 接口模块之间的信息交换,PC 机I/O 接口卡基于ISA或PCI 的总线。虽然其相较较初的单片机的控制加入了工业PC 来拓展其开放性,但是由于没有充分利用PC 机系统资源,而开发和运行都采用的非实时多任务操作系统(如bbbbbbs,Linux)时,其设计没有考虑到实时环境的开发用途,其系统调用的效率不高,数控系统PLC控制不能满足一些高精度场合的实时性要求。
2、基于嵌入式系统的实时PLC 系统结构
嵌入式实时 PLC 系统,一般由开发系统和实时运行系统两部分组成,是相互独立而又密不可分的两个系统,可以分别单独运行。开发系统基于PC 机,建立在bbbbbbs 操作系统平台之上,提供了PLC 应用程序的编写及其编译调试环境。开发系统与实时运行系统的通讯一般通过RS232 接口来实现。如果嵌入式操作系统提供网络服务,也可以通过以太网、Modbus 或CAN 总线进行通讯。应用程序编写完并编译调试无误后通过RS232 或TCP/IP 通信协议下载到嵌入式系统。实时运行系统则用于完成系统配置、输入信号处理、循环调用PLC 程序及控制信号输出等操作,并且可以通过现场总线或TCP/IP 通信协议与硬件层(I/O)实现通信。
为了更好地支持实时运行系统,嵌入式系统一般要引入操作系统,嵌入式操作系统(如bbbbbbs CE,VxWorks 等)为实时运行系统提供了启动代码、串行通讯接口、内存操作(malloc/free)、ANSI 标准库、1ms 的时钟滴答、调试接口等服务。如果实时运行系统整合了相应的功能,系统也可以不引入操作系统。
了其通信性能,实时能力大大提高,同时此结构具有完全开放性,高度兼容性,较佳的可扩展性,使得自动控制系统的设计不受硬件的限制,可以有效地提高PLC 的运行速度和可靠性,并且支持多任务的控制策略。另外相应的从嵌入式处理的设计与和BSP 改造方面,也做了相应的优化处理。
3、基于PPC 的嵌入式处理器设计
VxWorks 系统运行在基于PPC 的MPC860 处理器上,并作了一些有关改造以适应实时PLC 的现场总线的通信要求。主要包括4 个主要模块:PowerPC 核心,系统接口单元(SIU),通信处理模块(CPM)和快速以太网控制器(FEC)。
系统接口单元(SIU)集成几乎所有32-bit 处理器系统的常用功能。MPC860 采用32 位内部总线,可以支持8,16 或32 位的外设和存储器,同时SIU 提供功耗管理、复位控制、PowerPC减法器、PowerPC 时钟基准以及实时时钟等功能。其内存控制器可以控制多达8 个存储体,同时只需通过很少的电路就可实现与DRAM,SRAM,Flash 以及其它外围设备的无缝连接,同时DRAM 接口支持8,16 和32 位的端口,DRAM 控制器提供页模式下的突发传送访问;提供4 个16 位通用定时器或者2 个32 位定时器;同时系统集成单元集成了总线监控、软件看门狗、系统节电模式、时钟合成、实时时钟、复位控制以及支持IEEE 1149.1 调试方式JTAG等。
通信处理模块(CPM)具有更强大的通信处理能力,拥有独立的简单指令集通信处理器(RISC),能够完成低层次任务以及DMA 控制,使得PowerPC 内核能够空闲出来处理高层次的实时任务,从而降低了系统频率,减少功耗。
内嵌的 FEC 模块与IEEE 802.3 兼容,支持10-和100-Mbps 连接。不仅完成了以太网协议中的 控制功能,并且使用了突发传送DMA,从而减少了系统总线的负荷。而FEC内部接的收和发送FIFO 通过将所有的冲突碰撞局部化到FEC 内部而进一步减轻总线的负荷。FEC 采用独立的发送缓存描述符和接收缓存描述符来完成具体的收发存取。可支持Modbus,CAN,EIP 等现场总线的应用。
4、BSP 的改造
BSP 即Board Support Package,通常指针对具体的硬件平台,用户所编写的启动代码和部分设备驱动程序的集合。BSP 是一个VxWorks 内核运行的基础。4.1 BSP 与VxWorks 的层次关系在 VxWorks 中,将BSP 简单描述成介于底层硬件环境和VxWorks 之间的一个软件接口。它的主要功能是系统加电后初始化目标硬件,初始化OS,及提供部分硬件的驱动程序如时钟、中断、串口驱动等。
BSP 为上层软件与底层硬件之间进行交互的桥梁,为上层提供统一接口。BSP中包括的驱动程序与具体的硬件相关,在移植到不同的硬件系统的时候,要修改相关的驱动。
4.2 VxWorks BSP 的特点
在众多的商用嵌入式实时操作系统中,VxWorks 是使用较为广泛的一种操作系统,它实时性强,占用空间小,提供丰富的网络协议,有众多的调试手段。
VxWorks 的BSP 可以按功能分为两大部分。
1)目标系统的系统引导部分:主要是目标系统启动时的硬件初始化,在目标系统上电后开始执行,主要是配置处理器的工作状态,初始化系统的内存等,这部分的程序一般只在系统引导时执行,为操作系统运行提供硬件环境。
2)目标系统的设备驱动程序:主要是驱动目标系统配置的各种设备,包括字符型设备、块存储设备、网络设备等,这些设备驱动程序完成对硬件的配置,操作系统通过设备驱动程序来访问硬件,从而完成读取数据和外界的交互等。
在实际应用中,为了获得更好的稳定性和执行效率,许多设备驱动程序会直接和应用程序捆绑在一起,而不是由操作系统来管理。
4.3 BSP 的设计与修改
WRS 提供了大量预制的,支持许多商业主版或*估板的BSP,减少了开发时间。
宏观来看,BSP 包括两部分:
初始化部分:CPU 初始化;目标板初始化;操作系统的初始化。
驱动程序部分:一般要包括时钟、中断、串口驱动。
具体来看,BSP 包括源文件、头文件、派生文件。主要需要修改VxWorks 源码中的以下目录中:
/target/config/all
几个重要文件的功用如下:
1)bootConfig.c:引导ROM 映像的主要初始化和控制文件。
2)bootInit.c:引导ROM 映像的*二阶段的初始化代码。实现romStart 函数--romInit.s中的romInit()函数执行完后跳转到romStart(),执行解压缩,代码/数据段从rom 拷到ram。
3)usrConfig.c:VxWorks 映像的主要初始化代码。
/target/config/comps/vxworks:实时内核基本模块描述(cdf)文件。
/target/config/comps/src:实时内核模块配置文件。供usrconfig.c 使用。
/target/config/bspname 该目录下的文件就是要编写的BSP 文件。
由于 BSP 系统开发的硬件相关性和处理器系列的多样性,不可能有一种通用的程序或方法来解决每一种处理器的BSP 问题,所以必须具体问题具体分析,不断实践,才能使程序运行达到比较高的效率。
5、总结与展望
嵌入式系统已经成为历史发展的必然,其较佳的可扩展性,对多种硬件的支持,同时能够提高PLC 的运行速度和可靠性,并且支持多任务的控制策略,对PLC 的性能有了很大的提高。新型的基于VxWorks 的嵌入式实时PLC 具有很高的性能价格比,具有市场竞争优势,有助于我国PLC 企业发展本国市场,发展自主产业的PLC



PC与PLC之间使用PC ADAPTER USB(6ES7972-0CB20-0XA0)连接,CPU是315-2DP,在不插入MMC卡时,可以建立连接,但下载硬件时会报SDB过大的错误。但一插入MMC卡,立即就会变成无法连接。使用CPU上的复位键做过复位,但问题不能解决。
答:使用下面的方法试试再下载
1、可以采用压缩功能:
将CPU置于STOP状态,此时:
可以执行菜单PLC/Diagnostic Setting/Module Inbbbbation(PLC/诊断/设置/模块信息),打开模块信息窗口,选定“Memory”(存储器)选项,可以看到CPU的工作存储器和装载存储器当前使用的情况,装载内存(Load Memory RAM) 是否有足够的空间来存储新的快,你可以点击“Compress”(压缩)按钮,以便释放更多存储空间。
2、按以下步骤删除CPU中的MMC卡上的块:
、将要删除的MMC卡插入到CPU。
、 在SIMATIC管理器中,通过“View > Online”或通过相关按钮切换到在线模式。
、在在线窗口中选择块文件夹。
、标记文件夹中所有的块。
、右击并选择“Delete”(可确认 提示系统函数不能的信息)。
3、如果希望删除带密码保护的 MMC,按以下步骤进行。
将 MMC 卡插入到 PG 或者是个人电脑的 SIMATIC USB 读卡器中。
在 SIMATIC 管理器中选择“File”。
选择 “S7 Memory Card” ==> “Delete...”
SDB过大的错误。即系统数据过大的错误。首先做的就是清楚PLC内部所有数据。清空数据,就像用一个新的plc一样。然后再把的项目的程序和硬件组态重新下载到PLC当中。
插入MMC卡就连不上?
这个MMC卡不是新的,内部有其它的数据,这样插入PLC当中就会出项这种情况!因为MMC卡内存在着别的程序和硬件组态。
你要做的就是清楚MMC卡之后再插上mmc,把你的整个项目,先把硬件组态编译保存,产生的SDB数据没有错误,把这个硬件组态先下载到你的plc中,然后把程序下载到PLC中。
清楚MMC卡的方法:
(1)对新型S7-300(带MMC卡),方法如下: 建立电脑与CPU之间的连接,在SIMATIC管理器中,选择菜单View(查看)/Online(在线),在线打开Blocks(块),选中所以块,右击选择“删除”,即可删除CPU工作存储器中内容,同时也删除了MMC卡中内容;你也可以使用菜单PLC/Download user program to memory card(把用户程序下载到存储卡中),下载一个空的程序到MMC卡中,间接把MMC卡中程序删除;你也可以利用PG 或西门子**读卡器来删除MMC卡中程序。
(2)对于标准S7-300(使用闪存FEPROM卡),首先在SIMATIC管理器中,选择菜单View(查看)/Online(在线),在线打开Blocks(块),选中所以块,右击选择“删除”,即可删除CPU工作存储器中内容,然后执行菜单PLC/Copy RAM to ROM(复制RAM到ROM),即把在线空的程序下载到FEPROM卡中,把FEPROM卡中程序删除。