仿真调试系统(精选12篇)
仿真调试系统 篇1
嵌入式领域不断增大的应用需求,而传统的嵌入式软件往往需要等待硬件平台制作完成后才可以进行调试、开发,这极大的延迟了产品的研发周期,并且在实际硬件平台上调试软件也具有一定难度。所以,基于软件环境开发一套可以仿真硬件平台的系统(即虚拟机)是十分必要的。
虚拟机(Virtual Machine)系统实际上是真实硬件平台的一个软件抽象。它以一个普通的应用程序运行在宿主机的操作系统之上,它将目标平台的硬件行为抽象为宿主机的软件行为,从而达到模拟的效果,软件架构如图1所示。
PowerPC体系结构在嵌入式领域有着广泛的应用和卓越的表现,构建一个针对它的仿真调试系统是十分必要的。所以本文以PowerPC体系结构为仿真目标,在X86体系结构的PC机上构建一个全系统虚拟化调试平台。
1虚拟平台总体设计
1.1平台整体设计
本仿真平台主要是针对MPC8270这一款高性能、低功耗32位超标量RISC微处理器。其是PowerQUICCTMII族的一款CPU,使用了E603的核心,工作频率最高可达450 MHz,拥有独立的16 k数据和程序cache,以及独立的DMMU和IMMU。拥有多种可定制接口,广泛应用于网络交换机和工业控制模块中。
整个仿真平台核心功能就是在一台X86架构的机器上,仿真一个PowerPC平台,可以如真实的硬件平台一样加载运行相应的PowerPC的可执行文件,并提供更方便的调试接口。
MPC8270软件仿真平台主要分为三层,整体架构如图2所示:
1) 目标层:
目标PowerPC平台上的运行环境;
2) 虚拟化层:
整个系统的核心,即运行在主机系统的虚拟机进程;
3) 主机层:
实际宿主机的运行环境。
图2中各个模块主要功能如下:
1) 虚拟机总控模块:
负责整个系统的初始化,虚拟机的空间申请以及释放,协调各个的消息传递。
2) ELF文件分析与加载模块:
分析可执行文件的ELF格式,分析出相应的行号,符号信息。识别相应的数据段、代码段等信息。并加载可执行文件到相应的内存区域。
3) MMU仿真模块:
仿真实际硬件的DMMU和IMMU,分别用于数据和指令的地址转换,由虚拟地址翻译为物理地址。
4) 解释器模块:
即将相应指令PPC指令翻译为x86指令执行的模块。这里为了达到与真实系统执行完全一致,选取了经典的处理器的取址-译码-执行循环。这样可以保证在任何指令处下断点都可以与真实系统的执行结果一致。
5) 调试接口模块:
主要负责外部与虚拟机的通信,可以向虚拟系统下断点、设置监视点。可以在暂停虚拟机执行的状态下,对虚拟机的数据或程序区进行读写操作。已达到调试的目的。
6) PowerPC体系结构映射单元:
此单元维护了源体系结构寄存器映射表,主要用于解释执行和维护PowerPC体系结构的各个寄存器在运行时状态。
1.2平台工作流程
PowerPC虚拟调试平台首先分析带有调试信息的ELF文件,分析出行号表(即执行指令对应的程序地址),变量地址以及对应的可执行文件。而后我们将分析好的可执行加载进虚拟机中。而后虚拟机开始执行加载进来的可执行文件。其内部以一种busyloop的方式实现,首先检查是否有外部的回调函数,外部可以通过此接口完成与虚拟机的通信。而后检查将要执行指令是否有断点,如果有断点则暂停运行,控制权交由上层的图形界面操作。最后执行interpret 完成取址、译码与执行。整体流程如图3所示。
2仿真平台模块实现
2.1指令解释
PowerPC做为一款RISC处理器,所有指令的编码长度都是32位。PowerPC 的位编号方式比较特别:第 0 位是最重要的位,第 31 位是最不重要的位。指令首先由一个字段中较高的 6 位进行解码,这6 位被称为主要操作码(primary opcode)。其余 26 位包含的字段分别是操作数说明、立即(immediate)操作数以及扩展的操作码(opcode),而且这些还可能是保留的位或字段。PowerPC 定义的基本指令格式有如下几种:
1) D-form
这一指令格式提供至多两个寄存器作为源操作数,一个立即源,至多两个寄存器作为目的操作数。这一指令格式的一些变种使用部分目标和源寄存器操作数说明符作为立即字段或作为扩展的操作码。
2) X-form
这一指令格式提供至多两个寄存器作为源操作数,至多两个目的操作数。这一指令格式的一些变种使用部分目标和源寄存器操作数说明符作为立即字段或作为扩展的操作码。
3) A-form
这一指令格式提供至多三个寄存器作为源操作数,以及一个目的操作数。这一指令格式的一些变种使用部分目标和源寄存器操作数说明符作为立即字段或作为扩展的操作码。Rc标记是否记录状态寄存器。
4) BD-form
条件转移指令使用的是这一指令格式。BO指令字段指定了条件的类型;BI指令字段指定了以哪个CR位作为条件;BD字段用作转移位置。AA位指定了转移是绝对转移还是相对转移。LK位指定了下一个顺序指令的地址是否作为子例程调用的返回地址保存在链接寄存器中。
5) I-form
无条件转移指令使用这一指令格式。由于是无条件的,BD格式中的BO和BI字段改变为另外的转移位置,以构成LI指令字段。同BD格式一样,这一指令格式也支持AA和LK位。
对于一个真实的嵌入式系统,我们只需把可执行的二进制文件烧录进相应的存储单元即可。我们的虚拟调试系统为了做到对真实硬件平台的完全仿真,我们的执行步骤也是遵循硬件执行指令的经典步骤 :取址、译码、执行。
1) 取址:
通过访问内存得到32位的指令码。
2) 译码:
译码的过程实际上就是找到相应指令对应的处理函数。我们按照每条指令的0至5位进行一次hash操作,得到一个处理函数的入口。如果此指令还有扩展操作码或者其他标志位,我们在处理函数中通过第二次hash找到最终的函数入口。实践表明,这种译码方式比树形的查找更加迅速。
3) 执行:
调用译码过程查找到的处理函数。这里通过指向函数的指针以实现对上一层程序的接口一致。
2.2ELF文件解析
最为一个调试系统,最基本的功能就是在函数中设置断点,让虚拟机在执行到有断点的语句时暂停,为了实现这个功能,调试系统必须知道高级语言中的语句与机器代码地址的映射关系,即行号表(line number);并且需要知道各个变量被存储的地址,以达到分析执行状态的目的,这便需要符号信息。这些信息被封装在ELF(Executable and Linkable Format)格式文件中。ELF文件格式最初由UNIX系统实验室开发,目前已成为32位操作系统环境下较为通用的可执行文件格式。ELF文件作用有2个:其一为构建程序,主要体现在连接过程中,这与我们的调试系统无关。这里主要分析的是用于运行程序的ELF文件,其大体结构如图9所示。
段主要描述各个段的信息,这里我们主要关注.text段(执行段),和一系列包含调试信息的.debug段(即DWARF)。
在ELF文件中所有的调试信息都以DWARF(Debugging With Attributed Record Format)格式组织起来,DWARF最基本的描述个体为DIE(Debugging Information Entry)。每个DIE都有自己的标签(包含类型和一系列属性)。DIE以儿子兄弟树的结构存储,属性值可以指向其他的DIE。其主要包括以下几项:
1).debug_frame:
含有调用栈的信息
2).debug_info:
包含DWARF的核心数据(DIES)
3).debug_line:
包含行号信息
4).debug_loc:
包含宏的描述
5).debug_macinfo&.debug_pubtypes:
包含全局对象和函数的查找表
6).debug_ranges:
DIE的引用地址区间
7).debug_str:
包含.debug_info段中使用的符号表。
2.3时钟中断的实现
时钟中断是十分重要的中断,操作系统的运行是依赖时钟中断,例如任务调度,以及众多有超时的函数调用。其相关寄存器是有:DEC和TB(Time Base)寄存器。其中TB是一个64位寄存器,由TBL和TBU构成,其中TBL表示低32位,TBU表示高32位。他在每个时钟周期后自增1。而DEC寄存器已TB寄存器自增的频率自减。可以通过指令mfspr和mtspr进行读写,当向DEC中写入一个大于0的值时,它将在下一个时钟周期后自减1。当DEC自减至0时,便会触发时钟中断(除非MSR[EE]将其屏蔽)。
由于MPC8270拥有乱序执行的能力,并且拥有多条并行的流水线和执行单元,由于仿真这些操作对虚拟机的性能影响极大,并且他对于调用没有很大的好处,我们这里就简化了时钟的仿真,DEC值时随着指令的执行而减少。我们建立一个数组区来存储每条指令执行的周期,然后在指令执行后DEC减少相应的值。这样导致仿真的时间并不十分精确。但简单易行,可以满足实际应用需求。
2.4MMU仿真模块的实现
MMU即Memory Management Unit它是CPU中用来管理虚拟存储器、物理存储器的控制线路,同时也负责虚拟地址映射为物理地址,以及提供硬件机制的内存访问授权,是支持众多操作系统运行所必须的模块。
PowerPC处理器的MMU是完全支持段页式管理的,整体结构如图10所示。其中段寄存器负责将有效地址翻译为内部虚拟地址,页表负责将虚拟地址翻译为物理地址。现代操作系统一般对分段支持较弱,主要使用分页的功能。
MMU有2个重要的模块:
1) TLB(Translation Lookaside Buffer)页表旁路缓冲,其保存了最近所使用的页表地址翻译,可以加速页表的查询。
2) BAT(Block Address Translation),他是由软件控制的一个数组,用来缓存有效的块地址翻译。
我们在模拟MMU时也保持其与真实的硬件操作一致。其大体流程如图11所示:1) 首先得到进程ID,切换到目标上下文环境,检查是指令访存还是数据访存;2) 检查MSR寄存器,查看地址转换功能是否开启,如果没开启则有效地址就是物理地址,可直接访问内存;3) 查看BAT是否命中,如果命中则可以跳过地址翻译步骤,直接检查访问权限,未命中则继续;4) 执行段翻译,将有限地址翻译为内部虚拟地址;5) 执行页翻译前首先查看TLB,看相关翻译是否已被缓存;6) 执行页翻译,将虚拟地址翻译为物理地址,并更新相关TLB信息;7) 检查访问权限,如果权限不够则会引发相关;8) 完成地址翻译。
3实现结果与验证
为了达到易用的目的,我们将调试接口以图形GUI的形式提供给使用者,这比GDB命令行的方式更友好。图12为软件执行界面,调试软件具有一般调试所需的所有功能,如断点、观察点、单步运行、全速运行、查看寄存器和内存内容等。
4总结
本文基于虚拟化技术,提出了一种在被广泛使用的X86平台上调试PowerPC平台软件的方法。并详细分析了仿真平台的4大关键技术(ELF解析,指令集解析,虚拟MMU和时钟中断)的实现。最后,搭建了虚拟仿真调试平台。平台经过指令集的单元回归测试和实际的使用,验证系统稳定可靠。
参考文献
[1] Garfinkel T,Rosenbum M.A virtual machine introspection based ar-chitecture for intrusion detection.Proc Network and Distributed Sys-tems Security Symposium,2003
[2] Bellard F.QEMU,a fast and portable dynamic translator.USENIXAnnual Technical Conference,2005
[3] Menon A,Santos J R,Turner Y,et al.Diagnosing performance over-heads in the Xen virtual machine environment.1 st ACM/USENIXInternational Conference on Virtual Machine,2005
[4] Nohl A,Braun G,Schliebusch O,et al.A universal technique forfast and flexible instruction-set architecture simulation.Proceedings ofthe 39 th Conference on Design Automation,2002
[5]周晨枫.基于半虚拟化内存高性能PowerPC体系模拟系统的设计与实现.杭州:浙江大学计算机科学与技术学院硕士学位论文,2006
[6]陈微.基于动态二进制翻译的协同设计虚拟机关键技术的研究.长沙:国防科技大学计算机科学与技术学院博士学位论文,2010
[7]胡波,苗克坚,曹昕.基于时间仿真模拟的DSP软件仿真系统.计算机仿真,2009;1006—9348
仿真调试系统 篇2
1.1 电压稳定度(电压调整率)在满载条件下,所有其它影响量保持不变时,使输入电压在最大允许变化范围内,而引起输出电压的相对变化量。
1.2 负载稳定度
就是交流电的最大值和最小值的差。
稳压输出电压随着负载变化而波动的特性(如突加负载,负载加重,减轻)。还可以说是指由于负载的变化引起输出电压的相对变化量。
负载增加的时候,电流增大,同样的功率,电压就会下降;负载减小得时候相反。
这个参数是表征负载对输出的影响,一般要求在5%以内。具体计算方法:0%负载,电压V1;100%负载;电压V2;要求输出V |V1-V|/V < 5% , |V-V2|/V <5% 需要满足这两个表达式。
1.3 纹波电压
是指直流电源的电压有交流成分,电压有点波动,但幅度不大,用示波器调到AC可以测出其大小,如果这个纹波太大的话,会可能带来损坏器件等问题
1.4 纹波的测量
纹波的大小用Vp-p(峰-峰值电压)来表示,具体测试的时候,示波器打到交流耦合方式,测量波形的Vp-p值得到的就是纹波的大
小。
1.5 纹波的危害
芯片都有一个输入电压的范围,纹波大的话可能超出这个范围,芯片或者因为电压过低而停止工作,或者因为电压过高而烧坏,芯片一般要求纹波在50mV左右,纹波太大,导致芯片工作异常。
1.6 关于电源拉偏
F118项目中实用电源出现过以下问题。
机箱内二次电源为朝阳的开关电源,任务书要求拉偏15%,朝阳电源的拉偏方法为通过一个外接电位器作为反馈回路电阻,电阻为最小值时输出最小,电阻为最大值时输出最大。存在2个问题设计时需要注意:不同电压输出的电源所需的拉偏电位器阻值差别较大;拉偏电阻阻值与拉偏电压存在非常严重的非线性,电位器阻值选择过小会导致拉偏上限不够,电位器阻值选择过大会导致接近拉偏下限电压调节分辨率过低。开关的使用
2010年2月22日,从502所取回地面设备6,7套转接箱和匹配箱共计4个,用户反映转接箱(6套)在唐家岭使用加电时,电加不上,同时地面转接箱的电源开关指示灯不亮。遂运回。
对于第六套设备:康拓测试时发现,设备地面电源箱开关打开时指示灯不亮,220V电压没有加上,首先检查220V电源保险,发现220V保险丝断开了,更换保险后,220V加电正常,使用地面转接箱电源开关后,该开关指示灯不亮,但设备加电正常。开关电性能正常。检查开关指示灯发现开关内置指示灯坏。更换后整套设备电源部分工作正常。应用户要求,将匹配箱内部所有D型头两边的固定六棱柱
更换加高的六棱柱。并提醒用户此为非原配套设计使用方式,因此引起的问题与我方无关。
对于第七套设备:测试时现象同通用户反映的现象一致,即当打开地面电源箱上的开关后,再开匹配箱的地面电源开关时,指示灯变暗,地面侧表头不亮,而只开星上电源时,一切正常。交换测试表明,匹配箱没有问题,而且在所有设备中,电源模块从没坏过。因此将地面转接箱面板电源开关更换。更换后连试正常。应用户要求,将匹配箱内部所有D型头两边的固定六棱柱更换加高的六棱柱。
对于开关,以往用的是台湾DECA的参数为250V AC/3A,的,更换的是日本NKK 3A250VAC,两者参数没有差别,价格相差较大。价格差异主要表现在开关模具,触点材料和涂层用料上。现在已经将四套设备的开关都更换为日本NKK的开关。96芯长针过桥的安装问题
目前公司在安装96芯长针过桥时,使用的安装方式如下图所示:
缺口在右上,A1在右,C1在左。96芯插图也是使用这种习题进
行压接的。但是新采购回来的长针过桥上有A1等标号,和目前的使用习惯是反向的。
现在规定要采用目前这种安装方式,不参考过桥上的标号。另外找到欧式64芯长针,对2室母板提出了解决方案: 欧式64芯长针插座与96芯外形类似,只是少了C排,保留A,B排,可以与我们的星载BUS板无缝连接,由于未找到配套的64芯过桥,就采用96芯的过桥,并配96芯电缆插头,这样省去了原先的非标母板,直接通过电装连线,使系统各信号连线更加清晰,便于调试。设备调试问题
4.1 使用内插板,机壳接地问题
使用内插板结果的设备,例如schroff机箱和带有面板的接口箱,机箱内使用APCI5096,由于板卡内插,所以APCI5096的上下把手被去除,这样就造成了APCI5096的地线和机壳不导通。
解决方法:在电源KDY-36的220V的地与12V的地短接即可
4.2 一体化机箱系统无法正常启动
现象:系统出现白屏 原因:键盘、鼠标接反 解决方法:正确连接键盘、鼠标
现象:系统出现黑屏或者各个板卡工作不正常 原因:设备功耗过大,导致系统5V工作电压不够
解决方法:在母板上加排阻RR1,阻值为10K8-9, 和调节5V工作电压。
多于3个GX5872、GXRCIO板卡,尤其是5260功耗很大。
4.3 APCI5918系统USB不响应问题
出现问题:USB接口不工作。
解决方法:由于之前此系统出现过该问题,每次都是重新安装新系统就好使,但这次在安装完发现问题未解决。打开机箱对USB线进行排查发现一条USB线缆为两根USB剪切后粘连接在一起。更换新线缆后问题解决。
4.4 J36A全系列展开箱使用中遇到的问题
J36A-TJ可以完全插入J36A-ZJ中,当发现原本没问题的信号出现怪异现象,可能是TJ插入了ZJ中,8室姜耿峰曾经出现过这类的误操作。
4.5 展开箱上接插件质量问题
印制板安装前一般都会检查各焊针有无短接,但也会出现焊针与焊盘虚焊的情况,造成部分接插件的接点的断路,所以目测时也要检查各焊点焊锡是否饱满。
F146展开箱使用过程中发现J36A-38ZJ的各点间阻值小于1M,这样会出现个点之间电压干扰的情况,测量橡胶垫及固定塑料阻值均大于30M,初步排除接插件问题,可能是印制板上J36A-38ZJ问题。
使用电缆测试仪也未测试出以上两种问题。
4.6 脉冲信号信号出现过冲
现象:一般项目中都有频率信号的输出,例如2KHz的周期性脉冲信号,该信号的输出往往有很大的过冲,能达到1V左右,并且对其他信号造成一定的干扰。
原因:FPGA芯片XC3S500E的引脚约束默认驱动电流为最大值12,在驱动电流值越大的情况下,过冲的幅度就越明显,而我们的光
隔6N137的驱动电流最小值为5mA,HCPL2232的驱动电流最小值为1.6mA~1.8mA,但是经过试验结果好像并不十分明显,故此原因只是推测而已。
解决:一是设备箱内部的2KHz信号改为屏蔽线,屏蔽层接壳地;二是电路上做出改动,在2KHz的光隔输出端串联一个二极管(BAS85),在对地接一个电阻变位器,原来的光隔上拉电阻去掉。通过调解电位器,控制2KHz信号的输出幅度和上升、下降沿的速率。如下图所示:
4.7 进行I/V变换时,输出电压的稳定度不好
原因:采样电阻实效。
以前使用电流采样电路时没发现采样电阻损坏过,这次修理飞轮转接盒时发现电阻损坏时静态阻值有变化,并且通电测试时也会影响采样值乱跳。拆下电阻后发现电阻表面有轻微鼓起反面有裂纹。所里反馈的信息也证实是电阻影响了采样值。2010-5-24 4.8 使用继电器控制电源输出时,产生阶跃信号
当继电器作为电源开关闭合时,电源输出产生一个一介阶跃信号,会出现超调和抖动,如下图所示,时间一般不到1us,一般不会影响被测设备。
但有些被测设备要求比较严格,如F118,要求电源输出没有过冲。可在电源输出端加一1u电容,效果如下图。
4.9 关于机箱接线表的问题 4.9.1 接插件中电源部分的连接问题
问题描述:一般在做电源接插件的接线时,习惯性的将每块板卡的所有电源信号都连上,这样的好处是便于制表者了解电路,但不利于电装加工。
解决方法:
a)在电流允许(板卡保持正常工作)的情况下,减少每块板卡上的电源信号接线。
b)在电源接插件尽量不要短接相同信号,写表时注意要平均分配信号到各引脚(如4,5点都是VCC,则各点接N个信号,若使用0.35mm2线,建议一点上尽量不超过4个信号)。
4.9.2
1点连7点情况的说明
问题描述:由于本次二室F143敏感器箱设计接线表时未采用母板,在电装中出现了总线口每点与各个板卡都有连接的情况(1点对7点)。危害是对接插件焊接技术要求极高,容易与旁边的点短在一起。且容易脱落。
解决方法:在制作接线表时发现类似上述连接情况的时候应该想想是否要制作母板,以简化电装布线。
4.9.3 前后面板相连情况的说明
问题描述:由于所写接线表的板卡没有用户侧接口(CN口,J1口等),所以前面板的信号都是从BUS上直接引出。如果制作接线表时直接将前后面板信号连接在一起,会出现:
a)电装员无从下手,前后面板只能由一个人电装完成。b)接线出错排查和修改困难。
解决方法:增加一组前后面板间的接插件,这样前后面板可以分开电装。注意在写前面板信号时如果可以简化要写清最后短接后的接点表。减少电装走线。
4.9.4 前后面板接线测试时注意的地方 4.9.4.1 电源和地
F127项目,在测连线的时候发现5V和GND短接。最后发现是开关电源的问题,其未加电情况下5V输出和GND之间电阻很小(50
欧左右),用万用表二极管档(大约输出3.7V电压)测试的时候形成短路。
处理方法:首先在电装前要加电测试开关电源好坏,在测接线时注意开关电源的影响。
4.9.4.2 电源和按钮
F143项目,在测连线的时候发现5V和GND短接,最终由电装人员发现是开关按钮中加入灯泡(用的灯泡正好接5V,此灯泡内阻也很小)的缘故。
处理方法:在测接线时不要装入灯泡。,多次测试
4.10 使用FPGA板卡控制继电器,FPGA加载过程的继电器状态
可以通过FPGA的HSWAP引脚控制加载时IO的状态,当HSWAP被下拉,所有引脚在逻辑加载时输出高电平;当HSWAP被上拉,所有引脚在逻辑加载时为悬空状态。
4.10.1 FPGA引脚直接控制
使用FPGA引脚直接连接控制继电器的NPN三极管时,该控制引脚设置为悬空状态,但必须注意该引脚是否连接了其他电路,例如前面板的指示灯,这样也会使该引脚上有电压,使三极管导通。
4.10.2 FPGA通过同向隔离器件控制继电器
GX5872接口电路如图 1所示,HCPL2232为正逻辑,当CATHODE引脚为低时,LED导通,DO输出为高;反之当CATHODE引脚为高时,DO输出为低。当FPGA上电加载逻辑时,无论HSWAP引脚是否上拉,LED皆不导通,DO输出为低,控制继电器时不会发生误操作。
A+5VR1441.2kVCCOP89P78VCCO1.2kR146U221234ANODE1CATHODE1CATHODE2ANODE2HCPL2232VCCVO1VO2GND8765AGNDR1451.2kDO1DO2 R1471.2k图 1 这样的控制方式没有问题。
4.10.3 FPGA通过反向隔离器件控制继电器
GXRCIO接口电路如图 2所示,6N137为负逻辑,当DO引脚为低时,LED导通,ADO输出为低;反之当DO引脚为高时,ADO输出为高。当FPGA上电加载逻辑时,无论HSWAP引脚是否上拉,LED皆不导通,ADO输出为高,此时会控制继电器闭合。
+5VVCCOU22236DO1C701000p6N137ADO187R625.1k R635.1kAGND图 2 在逻辑加载阶段,GXRCIO板卡上引脚悬空,导致6N137的输入端光耦内LED不导通,输出端为高电平,该高电平使GXJDQ板的9013型三极管导通,继电器接通。而逻辑加载完毕后,引脚初始值为低电平,继电器状态又转换为关断。这个过程造成了上电时继电器的误动作。
那么要解决GXRCIO控制继电器时的误动作问题,首先要使上电阶段引脚的输出电平与控制该引脚的逻辑初始值相同的,即逻辑加载前后,信号有效之前,引脚输出常为高电平。其次,是控制继电器导通的逻辑反向,即输入高电平使继电器关闭,输入低电平是继电器接通。这里采用了一个相对简便的办法:把控制继电器线圈加电的三极管由NPN型更换为PNP型。此外需要完善的工作就是使PNP型三极管的基极控制电压为0/12V,具体的做法是取下GXRCIO板卡上输出端的接5V的上拉电阻,在GXJDQ板上构建一个12V的上拉电阻。
行如下修改:
将GXRCIO接口电路的上拉电阻去掉。如图 3所示。
+5VVCCOU22236DO1C701000p6N13787ADO1 R635.1kAGND图 3
将GXJDQ三极管改为PNP三极管9012,并在输入端加上拉12V,如图 4所示。
VCCSIN13SB1344SOUT1VCCR25.1kR11kQ1901251-+6C1G6B-1114PD1
BZG03DGND图 4 所以在使用FPGA板卡控制继电器时,必须考虑FPGA加载时的IO状态。
4.11 地线!地线!
在对F157星地联试设备进行出厂前测试时,发现数个信号给定输入后并没有测量到预期响应,检查了接线表后发现信号连接无误。后在同事帮助下查明是各个接星接口上的信号地没有与所经过的调
理板卡的地相连造成。地线的原理大家都不陌生,但是这一次调试让我切身体会到了地线设计的重要性。
地线是信号线上流经的电流的回线,通俗来讲是信号进到哪里,回线就从哪里出。具体地说就是某个插头上的信号线进入到某块调理板卡,那么该信号的对应的信号地一定要从那块调理板卡引出接到插头上。如果该插头上的多个信号进入多块调理板卡,那么把所经过的调理板卡的信号地一一引出接到插头的地线点上。如果需要共地则在后面板接线上把几个地短接;如果要各个地独立,则地线点按照与信号的对应关系和按节点定义而放置。
如果在调试阶段发现信号有输入没输出,接线关系没错,调理通道又没错,那么就要考虑是不是地线问题。
4.12 设备的计算机地与星地相通
现象:用示波器测量星上信号,可发现设备的计算机地与星上产品的地相通
原因:示波器是用220V供电,而不是电池供电,这样示波器的地表笔芯就与220V的地相通,而星产品与设备供电均是取自于220V 解决办法:在测量星上产品时,示波器等测量工具最好采用电池供电
4.13 FPGA程序的某一地址数据无法更新
现象:FPGA程序某一地址的数据始终为0,正常情况下应为某一数据,调试环境为使用Labview的内存读写界面进行读写操作,比如分配了0xff0为发送偏移量累加地址,在调试过程中发现该地址数据始终为0,而不断发送运行时能读到数据。
原因:调试环境Labview的内存读写界面运行时,是满屏更新数据的。在程序运行时,由于程序运行速度较快,执行完时,满屏更新
动作还没到达该地址。这样该地址数据经过完全更新后就会被新的数据覆盖。
解决办法:尽量使用最新版Labview的命令行窗口进行测试,就避免了这一问题。
4.14 FPGA程序改换地址后不运行,处于死循环状态
现象:同样的FPGA程序,在改换部分地址后,发现程序进入死循环状态,运行不正常,无法进行数据读写操作。
原因:一考虑程序逻辑状态转移是否正确,二当前环境是否使用了旧的抬高板(原2层的APCI抬高板),旧的抬高板引起的这个问题还无法得知原因,可能跟硬件布板有关。
解决办法:第一种情况仔细检查程序,第二种情况建议不用抬高板,或者使用新的抬高板(现4层的一对一APCI抬高板)
4.15 采用等效阻抗方法分析245芯片,245芯片的驱动能力 4.15.1 问题的提出
在F157设备中存在这样的设计:星上通过一个接点给出控制周期信号,经过一个隔离调理电路后分6路输送到6块地面仿真板卡,用作同步时钟统一工作步调。在以往的设备中该处理方式被证明是可靠的,但是在F157设备中地面板卡始终采集不到控制周期信号。使用示波器观察,发现进入板卡的只有不超过1V的脉冲,频率与星上控制周期相同。仔细测量了调理电路的前端后端,断定问题出在调理后的电路中。
4.15.2 分析
分析以往的设计,在使用PCI5313板卡作为仿真板卡时并未出现
上述问题。而这里使用的是PXI5312,两块板卡的接口芯片确有区别,PCI5313采用的是74ALVC164245;PXI5312采用的是74VTH16245。
查看两个芯片的输入电流Ii均为±5uA。调理电路的输出端为三极管集电极输出方式,由10K电阻上拉到5V。理论计算可以提供500uA的驱动能力,虽不算大,但是用于驱动6个245引脚,每个245引脚可以有80~90uA的灌电流,满足所需的大于5uA,理应使245正常工作。
再对比两种245芯片的区别发现,较之74ALVC164245,PXI5312板卡上的74VTH245芯片还具有总线保持电路,当输入的电压值小于Vcc时,驱动电流的需求将大为增加,达到最大±500uA!
我这样理解总线保持电路,具有这样设计的245比没有的245芯片具有更宽的阈值调整范围,可以根据Vcc和输入电平的情况有效的调整阈值,从而具有一定的抗干扰功能和自适应性能。但是这些性能提升的同时却不得不牺牲了输入阻抗性能。当输入电平接近Vcc或0V时,输入电流为Ii的标准值±5uA,但是当输入电平小于Vcc又高于0V一定范围时,为了能够正确采集到输入状态,需要额外为总线保持电路提供更多的驱动电流(往往与Ii的标准值相差1个量级)。Vcc为3.3V时输入电平Vi为3.3V,Ii标准值为5uA,相当于输入阻抗为660K;而当Vcc不变,输入电平Vi将为2V,此时Ii为500uA,相当于输入阻抗为4K。所有供电情况不变,只是输入电平从标准值降低了39%,则输入阻抗降为原来的1/165。
同时发现名称中标有74LVCH字样的芯片也带有总线保持电路,情况与上述相似。
4.15.3 解决
由此看来,F157设备中的问题就是负载阻抗过小,导致输出电压被拉低。依据这里的实际情况,将调理电路的输出阻抗也调小,将
上拉的10K电阻去掉换为1K,在输出端的电平就会被适当提高,从而可以被判定为高电平。按照这样的办法改进后问题得到解决,6块仿真板卡可以采集到星上的控制周期信号。
4.15.4 后记
之前听说过调试某型号主板时就因245过大的灌电流导致的一些问题,最后是通过更换不带总线保持型号的245来解决。将问题归结为过大的灌电流似乎还有不完善之处,因为仅提高输出电流必然还会影响到输出电压,这样一来245还能不能有效判定电平阈值也成为疑问。如果以等效的输入阻抗观点来考虑或许会对综合解决问题带来帮助。
最后建议同事们在选取245芯片时尤其要注意输入阻抗的问题,根据实际情况选取是否带有总线保持的245芯片。
4.16 三极管的关断性能比较
在协助调试综合测试仪的C1-TL2的时候,发现一个小问题,就是使用信号发生器输入时,每个12V转5V的信号输出端信号在下降沿来临前会有一个Vpp不超过1V的尖峰干扰加在波形上,具体图形如图 5所示:
图 5 在检查了输入信号的波形后,问题基本明了,就是输入的100KHz频率信号传递到终端,接的是10K下拉电阻导致匹配不当信号反射,即输入信号就带有
1V尖峰,而且也通过了调理电路到达输出端。只要速度不高并且匹配电阻合适的话,问题比较容易解决。但是这个尖峰却成为一个标记,引出了接下来的问题,如图图 6所示:
图 6 当将时间展开观察时,图中蓝色信号为输入,黄色信号为输出,输入输出尖峰同时动作,但是输出信号的下降沿启动时间比输入信号的下降沿滞后824ns。C1-TL2板卡这里的电路如图图 7所示:
图 7 首先采取的措施是增加三极管的Ic电流,以此来提高通频带宽。将原13K电阻换为4.7K,原10K电阻换为3K,后波形有所好转,滞后时间减小为670ns。接下来考虑更换速度更快的三极管,于是将原来的9013替换为2N2222,输入400KHz,实测结果为滞后344ns,如图图 8所示
图 8 在实际的应用场合调理电路造成344ns的延迟是性能不佳的。最后想到快速三极管3DK103C型,更换后在输入800KHz频率情况下滞后时间小于1ns几乎为0。如图图 9所示
图 9 最后的解决办法就是将板卡上的9013全部更换为3DK103C型三极管。既提高了通频带宽,又减小了滞后时间。目前该板卡12V转5V的调理能力可以通过800KHz频率信号。
三极管的关断时间问题之前没有太多关注,只是因为以目前项目需求中多为低频信号,1us以下的滞后时间对性能影响很小。出于对电路技术的深入开发目的,对器件各项细节指标的了解还是必要的。
4.17 关于万用表的蜂鸣档
在调试过程中常常需要测量两个信号点的连接关系,但是有时本不相连的信号点由于加工工艺会搭接,引起错误的动作。往往接触电阻较小,介于100欧姆左右,这就给测量带来的一些麻烦。
万用表的蜂鸣档门限各不相同,在100欧姆处在边缘地带,在使用某些万用表时是听不到蜂鸣器响声,而如果此时没有仔细观察电阻值就认定两点是断开的话,则会造成误判。因此建议使用敏感的万用表蜂鸣档,并且在测试过程中要时时留意电阻值。
4.18 如何烧写烧写9054的配置芯片
安装Plx软件,在安装目录下找到C:PlxPlxSdkWindowsDriverPlxSdk.inf文件打开。
在
;----------------------------;Device identification for 32-bit Windows;----------------------------下添加以下内容
“PLX Custom(OEM)PCI 9030 Board”
= DDInstall_9030, PCIVEN_10b5&DEV_9030 “PLX Custom(OEM)PCI 6878 Board”
= DDInstall_9054, PCIVEN_10b5&DEV_6878 “PLX Custom(OEM)PCI 5313 Board”
= DDInstall_9054, PCIVEN_10b5&DEV_5313
保存后,安装该inf文件为板卡驱动 运行PLx软件。选择EEPROM页面
“Load File”,选择8bit-pci5313.X或16bit-pci5313.X
可修改部分内容。点击“Write”。完成烧写。更换VISA驱动。
也可以从原有配置中读取后修改。
4.19 如何使用LabVIEW获取PCI总线中断
使用NI提供的Driver Wizard编写带中断的驱动程序 1.运行软件
选择PXI/PCI,下一步
2.填写板块ID和设备ID,设置如图
默认情况如同所示,其中必写填写subsystem的ID。并且勾选“This device generates interrupts”。下一步。
3.中断监测设置
选择add step before。
BAR0的0x68地址在9054的中断设置和状态寄存器(32位),其中第15位为本地触发总线中断有效,所以设置compare mask和write/compare value的值均为0x00008000。
确定,下一步 4.中断移除设置
选择add step before
该步设置清除中断的设置,需和本地程序配合,例中向本地的RAM(BAR2)中的0xC地址中写1,板上的FPGA逻辑会将LINT信号拉高,清除本地中断。
确定,下一步 5.中断注销设置
该步骤不设置,直接下一步。6.保存驱动文件
7.安装驱动
完成。
在开发应用软件时还需对中断始能进行初始化操作。如图
向BAR0的0x68地址(9054的中断设置和状态寄存器)中写0x0F010900。其中关键是第11位(本地中断输入中断始能)和第8位(CPI中断始能)需置为1。
遥控系统应用原理与调试(下) 篇3
在该遥控系统中,主控微处理器IC001(LA863348)和TV信号处理集成电路IC201(LA76810)之间的数据传输是通过I2C总线进行的。由于LA863348和LA76810集成电路都具有I2C总线标准接口(译码器,D/A转换器等),因而不需要其它接口电路,而直接挂在数据线(SPA)和时钟线(SCL)上即可。
在该机里,所有选择音视频信号滤波器的中心频率和幅频特性均由I2C总线控制且在集成电路内部调整,保证了批量生产的一致性。AGC、AFT的设置,亮度信号的峰化,色度信号的肤色校正,色度副载波的频率、相位,基带延迟系统,矩阵系数,白平衡的调整,副亮度、副对比度、副饱和度、副色调及音量范围等参数的设置,都由PC机经I2C总线控制完成调节和设置。
在图1中,主控微处理器IC001的CLX端的28脚和DATA端的27脚与E2PROM存储器IC002(ST24C04)的6、5脚相连,IC001的I2C DATA端的29脚和I2C CLX端的30脚与TV信号处理集成电路IC201的12、11脚相接。其中ST24C04可以作为被控接收器,通过I2C总线写入来自LA863348微处理器的控制数据,也可以作为被控发送器通过总线发送数据而由微处理器来读取。LA76810的I2C总线数据传输格式分为写入模式和读出模式。所谓写入模式是通过I2C总线接收主控发送器LA863348发送的数据;而读出模式是通过I2C总线把数据传送到作为主控接收器的LA863348中。
在生产线上,采用I2C总线控制可简化大量的生产调试工序;在用户使用过程中,如果机器出现故障,维修技术人员可用遥控器置于维修模式下,检查电视机各参数设置和工作状态,迅速准确地判定故障的部位,排除故障。
下面介绍一下调试的方法和调试的菜单。进入维修调试方法:按“MENU”键进入图像菜单,再依次按“退出键(Q·VIEW)”和“静音键(MUTE)”即可进入;按“定时键(TIMER)”切换5种维修菜单;在维修菜单下,按“频道加、减(+/-)键”可选择调试项,按“音量(+/-)”键可改变参数值;调试结束后,按“MENU”键退出工厂菜单。
维修菜单见表1~5所列。
I2C总线调整在彩电维修中是非常重要的,由于各个厂家对微处理器的控制软件都是自行开发的,因而各机型的调试方法与调节项目也有所不同。为方便广大维修人员,向读者介绍一下康佳F2109A/A2型机和长虹CN-12机心彩电的I2C总线的调整方法和调整项目。
1.康佳F2109A/A2型机I2C总线的调整方法
该机的微处理器采用LC863316A单片集成电路,其调整软件由康佳公司开发。在整机的调试中,整机除B+108V电源电压需用电位器调校外,其余参数均用调试遥控器及计算机调整。该机采用了新颖独特的图形中文菜单,美观大方、操作性强。
由于该机需调整的参数存储在E2PROM内,所以在更换主芯片LA76810及CPU(LC863316A)时,无需对整机进行调整。更换显像管需对亮/暗白平衡进行调整。
维修时,若要更换存储器ST24C04,需对整机进行调整。调试时需采用专用的调试遥控器KK-Y211。若无专用遥控器时,可用F2109型机的遥控器KK-Y173。该遥控器最后1行的第3个键无导电胶,可将遥控器贴片掀起,露出一个洞,用导体(如铁片等)接通洞内印刷板的碳膜,就可以进入工厂调试菜单。
按压遥控器的“调试”键,可进入以下菜单(见表6~表10)。
若想调整其它参数,请先按“调试”键,再按“静音”键,然后用1、2、3……等选择调试菜单。
2.长虹CN-12机心彩电I2C总线调整方法
长虹CN-12机心彩电的微处理器LA863348的掩模编号为CHT0405。整机的许多功能、电气参数、电路的工作模式和工作流程及各种指标,都是通过软件调整来实现。下面是有关维修模式:
(1)进入方式
用用户遥控器将音量减到零,同时按下用户遥控器的“MUTE”键和和本机“AV/TV”键在2s以上。此外,在“S”模式下,按“POWER”键退出“S”模式。
(2)调节方式
用用户遥控器的“上/下”键选择项目,“左/右”键进行调节,其调节功能包括“M”模式的调节项目,见表11所示。
仿真调试系统 篇4
关键词:电力系统全数字仿真装置,调试,并行算法,混合仿真,问题
0 引言
在特高压电网建设和全国互联电网形成的背景下,为了深入开展大电网互联问题的研究,提高电力系统稳定分析计算的能力,争取在大规模互联电网运行动态特性分析、区间电能交换与控制技术和区域电网稳定性与安全性预测等研究领域有所作为,河北省电力公司决定建设河北南网全数字实时仿真实验室[1,2,3]。河北南网全数字实时仿真实验室可以进行电网稳定分析和安全预警、电网规划的运行方式校核和承担电网二次系统的性能评估,可以用于电力系统的各种分析计算,如:潮流、暂态稳定、电压稳定、小干扰稳定等批量任务的并行计算,可以在机器级和CPU级上并列执行。和过去的单个计算机单进程串行执行计算的模式相比,极大地提高了电力分析计算的效率,有效提升对电网稳定分析计算的能力[4,5]。
1 仿真实验室的硬件配置
河北南网全数字实时仿真实验室的核心设备为电力系统全数字仿真装置(ADPSS)。河北南网全数字实时仿真实验室的外观图和电力系统全数字仿真装置硬件架构图如图1、图2所示。
电力系统全数字仿真装置是基于高性能PC机群的全数字仿真系统。该仿真装置利用机群的多节点结构和高速本地通讯网络,采用网络并行计算技术对计算任务进行分解,并对进程进行实时和同步控制,实现了大规模复杂交、直流电力系统机电暂态和电磁暂态的实时和超实时仿真以及外接物理装置实验。利用该仿真装置可以进行1000台机组,5000至10000个节点的大系统交、直流电力系统机电暂态仿真以及机电、电磁暂态混合仿真研究,可以联接SCADA和EMS系统以接收系统远方实时数据、联接相量测量装置以接收经全球定位的系统实测物理量(电量和数字量),接入继电保护、稳定控制装置和直流输电控制装置等实际物理装置进行实时仿真试验,接入MATLAB等商用软件进行局部和子任务计算,接入用户自定义模型以完成用户指定功能和任务[6,7]。
1.1 PC机群
电力系统全数字实时仿真装置的硬件主要使用高性能PC机群(PC-cluster),造价低,扩展性好,用户如果需要扩展节点,只需增加节点和变更配置文件即可完成。通信网络系统采用通用局域网连接且管理网络和计算网络分离的双网结构,管理网和数据网的分离大大提高了网络可用性,同时保障了数据的传输带宽。系统软件采用Linux操作系统,该系统附加费低、稳定可靠、兼容性好、性能优异。应用软件的核心仿真软件是基于成熟的商用软件电力系统分析综合程序(PSASP),具有很高的可信度。
1.2 功率放大器
功率放大器作为仿真系统的最终输出一直是实时数字仿真系统中重要的组成部分。电网数字仿真实验室购买的PAC2000、PA60B等系列放大器是专为电力系统仿真研究的高性能线性功率放大器。河北南网数字仿真实验室功率放大器配置如下:PAC-120B一台,六路电压输出,PAC-2000B三台,共三路电流输出,PAC60B一台,PA60B一台,三路电流输出,四路电压输出。功率放大器共有九路电流输出,十路电压输出,能满足励磁调节装置和一般线路保护装置的测试要求。实验室还配置了断路器模拟装置,可模拟实际断路器的延时动作。
1.3 物理接口箱
物理接口箱为电力系统实时仿真装置提供物理试验接口,以便与外接物理装置进行开环和闭环测试。物理接口箱通过SCSI-2连接线与仿真机群上的DAQ2501、DAQ2502和PCI7396板卡相连。这些板卡提供了AD/DA、DI/DO通道,实现物理接口箱与仿真机群之间的数据交互。同时,物理接口箱通过接线端子与功率放大器、外接物理装置及录波仪等连接,这样在机群与外部物理装置之间建立了信号交互的通道。对模拟输入信号、物理接口箱进行滤波,然后送入AD卡;对模拟输出信号,物理接口箱进行滤波后送入外部物理装置;对数字信号,物理接口箱则提供电平、节点接口和光电隔离。
2 电力系统全数字仿真装置联调说明
河北省电力研究院完成实验室的基础建设后,在中国电力科学研究院技术人员的配合下完成了电力系统全数字实时仿真装置的安装和联调工作。联调工作包括:机群管理及监控软件功能测试、仿真系统功能测试、仿真装置物理接口箱与接口板卡功能测试、仿真装置外接物理装置试验功能测试。
2.1 机群管理及监控软件功能测试
(1)机群管理软件测试
依据机群管理软件中的菜单项:机群设置、系统管理、网络管理、机群工具、查看、帮助等及其各个2级、3级子菜单逐项测试验证。能够正常实现:机群服务器配置管理、用户管理、配置文件系统、实现对机群服务器并行命令。
(2)机群监控系统功能测试
依据机群监控软件中的菜单项:CPU、内存、网卡1、网卡2、IO信息、节点信息等菜单逐项测试验证。能够正常实现:查看机群服务器运行相关信息、正确显示机群服务器负载状态。
(3)机群计算网络管理网络功能测试。
依据网络测试软件机群计算网络管理网络功能测试包括:MYRINET、CICSO网络能够正常ping通、MYRINET网络GM协议运行正常、MYRINET网络>1900 MB/s、千兆以太网>900 MB/sㄢ
2.2 仿真系统功能测试的内容
仿真系统功能测试的内容包括:机电暂态仿真测试、电磁暂态仿真测试、机电-电磁混合仿真测试[8,9,10,11,12,13,14,15,16,17]。
(1)机电暂态测试
a.机电暂态仿真正确性测试
进行机电暂态串并行计算,在本机和后台机均能正常运行。
b.机电暂态实时仿真规模和速度测试
分别使用5 000节点机和10 000节点机数据进行10 s的三永故障设置,计算步长10 ms,查看其最快仿真计算时间。
c.机电暂态实时仿真功能测试
使用测试数据,在机电暂态中进行复杂故障设置、安稳装置动作(切机、切负荷、切线路等)设置和仿真。
1 000台机、5 000节点的大型电力系统中,某条支路发生三永故障,系统分成4个子网,计算时间为2.915 s。仿真结果如图3所示。从图3可以看出,发电机之间的功角经过一段时间的振荡,功角差趋于零,由此可判断系统恢复稳定。母线电压在发生故障的时刻降低,然后逐渐恢复正常。
(2)电磁暂态仿真测试
a.电磁暂态仿真正确性测试
使用测试数据进行电磁暂态仿真串行、并行计算,在本机和后台机均能正常运行。
b.电磁暂态实时仿真规模和速度测试
使用5台发电机、20条线路规模的网络数据进行10 s仿真,计算步长100µs,查看其最快仿真计算时间为2.85 s。仿真计算结果如图4所示。在5 s时发生一个持续0.2 s的三相短路故障。
(3)机电-电磁混合仿真测试
使用测试数据进行机电-电磁暂态混合仿真测试。将系统分为两个子网,分别由机电暂态和电磁暂态计
算。系统进行15 s仿真,其中电磁暂态计算步长100µs,机电暂态计算步长0.01 s。仿真计算时间2.0 s。设支路_4在10 s发生三相短路,10.1 s切除故障,仿真结果如图5、图6所示。图5是进行机电-电磁暂态混合仿真时机电暂态程序计算结果图,图6是进行机电-电磁暂态混合仿真时电磁暂态计算程序结果图。发生短路故障时支路_4电流剧增。通过图5、图6的比较可以看出,在0.1 s的短路过程中,电磁暂态仿真能将短路过程详细仿真出来,而机电暂态由于仿真步长较长,只能对短路过程作一个粗略的仿真。
2.3 仿真装置物理接口箱与接口板卡功能测试
进行仿真装置物理接口箱与接口板卡功能测试。要求模拟量输入正常,模拟量输出正常,开关量输入正常,开关量输出正常。
(1)模拟量输入测试
外接信号发生器,产生可调的电平信号,检查接口测试程序的采样结果。采样精度:误差小于±0.005 Vㄢ
(2)模拟量输出测试
接口测试程序产生可调的电平信号,使用万用表测量物理接口箱的实际输出结果。输出精度:误差小于±0.005 Vㄢ
(3)开关量输入测试
外接电平(空节点)信号,检查接口测试程序的输出结果。当输入高电平(或节点闭合信号)时,接口测试程序输出1;当输入低电平(或节点断开信号)时,接口测试程序输出0ㄢ
(4)开关量输出测试
接口测试程序输出数字信号,使用万用表测量物理接口箱的实际输出结果。当测试程序输出1时,接口箱输出高电平(或节点闭合);当测试程序输出0时,接口箱输出低电平(或节点断开)。
2.4 仿真装置外接物理装置试验功能测试
通过外接物理装置试验,将机群系统、物理接口箱、功率放大器进行联调。仿真模型的数字信号通过DAQ板卡转换成模拟信号,经过物理接口箱进行滤波,送入功率放大器将信号放大,最后送入外部物理装置。外部物理装置处理后的反馈信号输入仿真机群,实现物理装置的闭环控制。
(1)继电保护(线路保护)试验功能测试
采用LFP-941A型高压线路成套保护装置,进行继电保护试验。测试项目:接地距离保护和零序方向过流保护,预设故障类型:线路首端A相保护。系统反应:A相跳闸。
(2)励磁控制系统试验功能测试
仿真装置外接励磁控制系统。仿真装置输出机端A、B、C三相电压,送入发电机的励磁系统,励磁功率系统向发电机转子励磁绕组提供直流励磁电流。对发电机励磁控制系统进行空载5%阶跃响应试验。
3 电力系统数字仿真装置调试中发现的问题
3.1 防火墙固定IP碰到的问题
分析:电力系统全数字仿真装置设置专门的机群管理网络。设置本机IP为192.168.1.1--192.168.1.199,设置子网掩码为255.255.255.0,设置网关为192.168.1.250。设置后即可访问机群内节点机。防火墙进行合理设置后,通过机群管理网络也可正常访问院网。计算网中管理节点IP为192.168.1.251,计算节点c0101--c0110的IP为192.168.1.1--192.168.1.10,io节点的IP为192.168.1.21。通过设置本机路由,也可通过院网访问计算网。但计算网的IP地址与院网冲突,网络中心不便管理。
解决:将机群管理网络与外网完全分开。在线数据接口固定IP,通过中调传送数据。其它工作终端均分别配置外网网线与计算网网线。
3.2 UPS使用中碰到的问题
分析:6、7、8、9、10号机柜电源指示灯不亮,UPS隔两分钟鸣叫一次。
解决:UPS工作于旁路模式,市电指示灯与旁路指示灯亮。UPS工作在旁路模式时,不具后备功能。此时负载所使用的电源是直接通过电力系统经滤波供应的。持续按开关键1s以上,开启逆变器。UPS处于市电模式下运行,正常供电。
3.3 PSAPSP程序更新
分析:机电暂态程序中的两个文件PCNODE.CFG和STPARA.CFG IP地址设置不当,电磁暂态程序中的两个文件PCNODE.CFG和EMTPARA.CFG IP地址设置不当,机电暂态程序和电磁暂态程序中PHYITF.CFG文件需要根据河北南网物理接口箱的实际配置情况进行修改。
解决:将机电暂态程序中的三个文件和电磁暂态中的三个文件进行更新。
3.4 软件调试中碰到的问题
分析:调试外带物理装置的电磁暂态程序时,出现无法将程序提交到后台机的错误,并经常出现死机。
解决:调试外带物理装置的电磁暂态程序时,网络选择实时MYRINET网络,并将曲线阅览室关闭。
3.5 功率放大器调试中发现的问题
分析:功率放大器上电后,功率放大器PAV-120B应该有六相电压输出,但AB两相电压没电。
解决:运输过程中碰撞导致功率放大器内部接线松了,应注意运输中轻拿轻放。
分析:功率放大器PA60B,警示灯亮。
解决:电流功率放大器开路时警示灯亮,短接电流回路则警示灯灭。
3.6 物理接口箱调试中发现的问题
分析:机群的DAQ卡与接口箱接线不方便。
解决:科林公司作端子排,将接口箱的线引到端子排上。
分析:物理接口箱工作不正常,服务器未开机时1号接口箱的1号灯亮,9号节点机开机时,1号接口箱的7号灯亮。服务器未开机时,1号接口箱有1.5 V的电压输出。调试外带物理装置的电磁暂态程序时,2号接口箱无法正常传送程序。
解决:2号接口箱内部板卡有问题,返厂修理。
3.7 在线数据接口的问题
分析:在线实时显示界面数据没有实时更新,整合数据与实时数据的无功数值相差较大,离线数据的下庄与在线数据的夏庄未正确映射。
解决:电科院技术人员完善整合程序,整合数据已能实时更新,且与在线数据很接近。
3.8 综合程序的问题
分析:静态安全分析模块不能实现全网扫描。不能实现潮流断面回放。MATLAB接口功能不完善。
解决:请电科院完成相应程序开发。
3.9 混合仿真算例无法正常计算
分析:机电暂态程序更新后,机电与电磁暂态程序的接口程序没有更新,导致机电与电磁暂态混合仿真程序无法正常计算。
解决:后台机群更新接口程序。
4 结论
DCS系统调试技术总结 篇5
一、概述
A、安徽山鹰纸业股份有限公司八万吨/年牛皮箱板纸安装工程中,自动化仪表项目需对纸机湿部的DCS系统进行调试。该部采用美国AB公司(Allen---Bradley)的Control Logix 1F56-PAF2/B DCS系统。主要用于纸机湿部的生产过程控制。
B、由各种现场检测仪表(如各种传感器,变送器等)送来的过程信号,经过程控制级各单元进行实时数椐采集,滤除噪音信号进行非线性校正及各种补偿运算,折算成相应的工程量,根据组态要求,进行上、下限报警及累积量计算。所有测量值和报警值经通信网络传送到操作站数据库,供实时显示,优化计算,报警打印等功能使用。过程控制单元根据过程控制组态进行各种闭环反馈控制,批量控制与顺序控制等。
C、为了做好该系统DCS的调试。应首先仔细地研究它的组成 结构,主要是针对四台PLC组成的过程控制级。分清它们之间的控制过程和功能区域划分。根据牛皮箱板纸的生产工艺流程,排出顺序控制的时序要求。以便在冷、热负荷试车时做到万无一失。
二、施工准备
调试前的准备工作是调试成功与否的重要一环。首先必须熟练掌握DCS的系统结构和各部分的组态性能和要求。主要是掌握以下几个部分:
A、CPU:工业级计算的稳定,可靠性、冗余度。
B、存储器:ROM、RAM、外部存储器。C、总线:可扩展总线,通讯速率等 D、I/O通道:AI、AO、DI、DO、PI等 E、电源:UPS F、网络拓朴结构
G、用于编制组态软件的专用语言
三、调试过程
DCS的调试主要包括DCS的硬件调试、DCS的软件调试和DCS的系统调试。DCS的硬件调试:
A、对DCS的接地装置进行检查,看是否符合设计要求,并测 量其接地电阻,看是否满足规范的要求(≤4Ω)。
B、依据施工和DCS原理图对盘、柜、站间的接线逐一进行检 查,确认其正确性。
C、对辅助机柜内的安全栅、继电器、转换单元进行调校检查。D、对DCS的供电装置、包括交流供电,直流输出,UPS等进 行检查测试,用数字万用表准确测量各种电压值。
E、通电检查机柜内的通风风扇,由于采用的是正压冷却,故 应检查过滤网进、出风口的风量情况。
F、对机柜内的插卡进行通电检查,主要依据其单元插卡上的 指示灯的状态判断插卡的好坏。
G、对DCS硬件的综合检查,主要是通过操作站上的屏幕显
示,利用DCS的测试及自诊断功能,检查所有硬件单元工作是否正常。
H、打印机、报警器、记录仪等辅助设备进行通电检查调试。DCS的软件调试
DCS软件的调试,在安装调试阶段主要是通过对操作站的各项功能的检查、组态检查和系统调试回路调试来测试,软件调试前,调试人员先在操作站上将存贮在硬盘或磁盘上已经“工厂级“组态好的控制软件调出,分别装载到控制站、卡的内存中,软件装载后,即可进行下列测试工作:
A、操作站的功能测试,具体检查方法按操作手册中的说明 进行。
B、对DCS的数据库生成、历史库生成、图形生成、报表生 成、顺序控制生成等各项组态功能进行检查,安装阶段测试组态软件,主要依据组态设计数据表,在操作站上通过键盘操作,调出组态的有关画面进行对照检查。
C、DCS的某些特殊的专用程序的测试,应按照设计说明逐 一进行。DCS的系统调试
DCS的系统调试前必须先做好以下两点:
A、系统调试在仪表系统安装完毕,管道清扫及压力试验合 格,电缆绝缘合格,气源、电源已符合仪表运行条件后进行。
B、线路和管路连接检查。用万用表或校线器检查系统的线
路是否符合设计图纸的要求,连接是否牢固可靠,校线时依次进行,从现场仪表到控制室端子再到二次仪表,逐个进行检查。管路连接正确、无泄漏。
DCS系统调试包括冷态调试和热态调试 DCS的冷态系统调试:
在I/O柜端子排上直接输入或模拟接点状态信号等模拟信号或其他特殊信号,用以代替各种检测仪器的输入信号,同时可以用规定的负载电阻或电压相符的信号灯,模拟各回路的输出负载。然后对DCS的每一输入输出通道逐个进行检查调试。DCS的热态系统调试:
热态系统调试是指DCS已经与现场的检测仪表和执行机构全部连通之后的调试。方法是在现场检测仪表的一次端送入模拟信号,在操作站的CRT上观察相应画面的显示情况,报警情况等。同时以手动或自动方式输出控制信号,在现场观察各执行机构的动作情况。具体各检测回路、调节回路、报警回路及联锁回路的调试方法和步骤同常规仪表回路。在热态调试阶段,仪表调试人员应与设计单位和建设单位的专业人员一起,对调节回路,报警回路,连锁回路的整定参数共同予以确认和整定。
四、小结
认真做好DCS系统调试的小结工作,是整个调试工作的重要一环。对调试中出现的问题进行分析研究,以利优化和不断完善DCS调试试车的工作。
A、准备工作必须充分、仔细,理解和消化相关资料、图 纸,做到心中有数。
B、做好调试大纲的编制工作,在编制中进一步加深对设 备功能、性能的掌握。
C、调试中做好各种数据的记录,认真核对其正确性,小 结中加以整理和分析。
D、通过对该DCS系统及其控制各仪表回路的调校,掌握了同类型PLC,输入/输出信号模拟的各种先进方法。应用软件的编制,修改参数设定,组态软件模块的功能连接。熟悉了工业控制中各种保护、调节、连锁、回授,报警的控制思路和先进方法。
E、在调试中值得引起注意的是必须先吃透控制对象和受控元器件的具体参数。否则会走弯路,多耗工时。严重时还会损坏元器件。
核电厂污水系统调试与运行 篇6
关键词:核电厂;污水系统;SEO;系统调试;系统运行 文献标识码:A
中图分类号:TM731 文章编号:1009-2374(2016)20-0096-02 DOI:10.13535/j.cnki.11-4406/n.2016.20.047
1 概述
核电厂污水系统(SEO)分为SEO1和SEO2两个部分。SEO1系统用于收集屋面和场地的雨水及生产废水,通过SEO1管网排入海中。SEO2系统用于收集核电站各个子系统排出的生活污水,通过SEO2管网,排至污水处理站(ED),通过污水处理站处理后,再经SEO1管网排入海中。
SEO1管网和SEO2管网都是埋于地下的疏水管网,依靠重力逐级自流,坡度为0.003。考虑到管网的长度,在管网的中间某些位置,设有专门的提升井,将污水泵送到较高的位置,继续依靠重力流动,从而使提升井下游的管网可以埋于地下较浅的位置,降低施工和维护成本。
厂房内的污水要送到室外SEO连接井内,根据厂房内污水收集点的高度,采用直接排放和经污水泵提升后排放两种方式。福清核电1/2#机组当前设置的污水提升泵清单如下表1:
2 SEO系统提升泵的控制逻辑
SEO系统各子项的提升泵有不同的配置,主要有单泵配置、双泵配置和三泵配置三种,不同配置的控制原理也有所不同。除了常规岛循环水集水坑的污水泵是经由DCS控制外,其他的所有污水泵都是由就地控制箱(AR箱)直接控制的,与DCS无关。
2.1 单泵控制逻辑
集水坑内设有三个液位开关,分别在低、高、高高液位时动作:
高液位时,污水泵自动启动。
低液位时,污水泵自动停运。
高高液位时,通过DCS向主控发出报警信号。
2.2 双泵控制逻辑
集水坑内设有四个液位开关,分别在低、高、高高、高高高液位时动作:
高液位时,第一台污水泵自动启动。
高高液位时,第二台污水泵自动启动。
高高高液位时,通过DCS向主控发出报警信号。
低液位时,所有污水泵自动停运。
就地控制箱内的继电器逻辑,保证相邻的两次高液位信号触发时,交替启动两台泵:
第一次高液位信号触发时,启动A泵;低液位信号触发时,停运A泵。
第二次高液位信号触发时,启动B泵。
第二次低液位信号触发时,停运B泵。
如此循环,交替往复。
2.3 常规岛循环水集水坑污水泵控制逻辑
常规岛循环水集水坑污水泵没有设置相应的就地控制箱,是由DCS直接控制的。集水坑内设有远传液位计(MN),在DCS中经阈值比较后,产生低、高、高高液位信号。
高液位时,第一台污水泵自动启动。
高高液位时,第二台污水泵自动启动,同时向主控发出报警。
低液位时,所有污水泵自动停运。
2.4 三泵控制逻辑
集水坑内设有四个液位开关,分别在低、高、高高、高高高液位时动作。
高液位时,第一台污水泵自动启动。
高高液位时,第二台污水泵自动启动。
高高高液位时,第三台污水泵自动启动。
低液位时,所有污水泵自动停运。
3 调试期间发现的问题
3.1 多台泵外形相似的问题
SEO系统的很多子项中,设有并联布置的两台或三台污水泵,其外形一致,根本无法区分。正常运行时没有影响,设备故障检修时电气隔离错误将会产生严重的触电风险。针对这种情况,在调试试验期间按照如下流程处理:(1)根据现场设备布置图,明确设备位号;(2)根据第一步确定的设备位号,安装正式标牌;(3)调试期间,手动逐个启动污水泵,检查闭合的接触器、就地控制箱上信号灯指示、实际启动的泵的一致性。如果存在不一致,则进行调整。
3.2 泵的流量特性差异
由于污水泵的实际应用情况,污水泵出口距离排污口高度差很小,且管道很短流阻小,所以泵出口的实际压力往往小于额定压力,而泵的流量则远大于额定
流量。
实际调试结果,泵的出口压力只有0.1MPa·g,根据污水泵运行期间集水坑液位差计算出来的流量为
86.0m3/h,与理论值存在较大的偏差。
从实际应用的角度,污水泵流量较大,可以保证排污泵可靠性和有效性,在电机功率(电流)不超过限值的情况下是可以接受的。
3.3 止回阀不能关闭
由于污水中普遍含有较多的杂质,而污水泵出口的止回阀一般都是依靠重力回座的,很容易引起止回阀不能完全回座。对于双泵配置的集水坑,当一台泵运行时,停运泵的出口止回阀未完全回座,将引起运行的泵长期过负荷运转,导致泵受损,同时有可能导致污水坑串水。
在调试过程中测量泵的流量时,为保证测量的准确性,应关闭备用泵的出口隔离阀。在运行过程中,巡检时应注意检查泵的运行状态,并注意观察集水坑的水位变化情况,以核查泵出口逆止阀是否复位。
3.4 就地控制箱问题
电厂污水系统大部分子项的污水泵控制是通过就地控制箱来实现的,而就地控制箱内部完全依靠继电器的硬接线来保证逻辑的实现,特别是双泵交替优先启动的逻辑,使得控制箱内的接线非常复杂,调试过程中遇到问题时处理起来非常困难。这要求调试人员对电气一次图、二次图、接线图非常熟悉,同时要保证图纸与实际的一致性。调试过程中,发现了较多的线缆标识错误,甚至有部分接线错误,给调试工作带来了很大的困难。主要的问题如下:(1)接触器卡涩,无法自动闭合;(2)热继电器整定值设置错误;(3)延时继电器延时设置与图纸不一致;(4)信号指示灯正负接反;(5)控制柜柜面按钮标识牌错误。
4 结语
电厂污水系统虽然组成简单,且在电站正常运行中的重要性一般,但是其对于机组的安全运行仍起着不可忽视的作用。在异常情况下,电厂污水系统可以起到重要的水淹报警作用,并缓解事故后果,在机组的日常运行期间,需要对其保持足够的关注。
参考文献
[1] 王楠.厂区室外工程给排水设计说明(0426000-JPS06-001)[S].2010.
[2] 司杨.电厂污水系统系统手册(04260SEOXTS02)
仿真调试系统 篇7
单片机软件开发过程中, 软件调试遇到的各种问题常令初学者感到不知所措。实际上, 各种仿真开发软件的程序调试基本方法和技巧大同小异, 掌握正确的程序调试基本技巧, 对于排查这些程序错误问题可以起到举一反三、事半功倍的效果。软件调试是单片机技术人员必须掌握的重要基本技能。下面以单片机常用开发软件Keil为例, 通过一个项目任务实例来介绍单片机软件仿真与调试的方法。
二、Keil仿真与调试
点击运行软件Keil u Vision2, 其调试操作步骤大体可以分为5步:
1. 创建工程
在项目开发中, 并不是仅有一个用户源程序就够了, 还要为这个项目选择CPU型号、设置编译和调试参数, 有一些项目还会有多个文件组成。因此将这些参数设置和所需要的所有文件统称为一个工程, 存放于专门的工程文件夹下。这里先建立一个工程文件夹如F:exam。
(1) 创建新工程。鼠标左键单击主菜单Project->New Project, 弹出“Create New Project”对话框, 用鼠标选择你要保存工程的文件夹 (如F:exam) , 输入新工程名 (如“exam”) , 单击“保存”按键。
(2) 在随后弹出的CPU型号设置对话框中选择单片机的型号 (如“AT89C51”) , 单击“确定”完成。
2. 建立源程序文件并加入工程
(1) 鼠标左键单击菜单“File->New新建文件。弹出图1窗口, 自动进入编辑工作模式。
(2) 在文本窗口中输入和编辑用户的源程序。
【项目任务】设计一种花样彩灯程序, 实现单片机P1口驱动相连的8个发光二极管依次循环点亮。
(3) 单击菜单“File->Save as”弹出文件保存对话框, 选择工程文件夹 (“F:exam”) , 输入源程序文件名 (如“exam.asm”) , 点击“保存”按钮。注意汇编源程序的扩展名必须为*.asm, C51源程序扩展名必须为*.c。
(4) 将源程序加入工程。用鼠标点击图标“Target1”前的“+”号, 展开后右键单击Source Group弹出快捷菜单, 点击“Add File to Group‘Source Group 1’”项弹出源程序加入工程对话框, 选择刚保存的用户源程序exam.asm, 点击ADD按钮加入工程, 点击Close关闭对话框。
3. 工程参数设置
用鼠标左键单击主菜单Project->Options for Target'Target1弹出工程参数设置对话框。关于工程参数设置的内容很多, 篇幅所限, 这里仅介绍通常需要设置的三个参数:
(1) 设置CPU型号。前面已经进行了设置。
(2) 在设置对话框的“Target”标签下“Xtal (Mhz) ”处输入单片机的晶振 (如“12”) 如图2。
(3) 在设置对话框的“Output”标签下, 选中“Create HEX file”项。用以编译生成可执行的机器码hex文件, 如图3所示。该hex文件可以通过编程器写入或下载到单片机中运行。
4. 编译源文件
鼠标左键单击主菜单Project->Built target或快捷按钮编译文件。
若有语法错误, 输出窗口将有相应提示信息。双击提示信息行, 光标会停留在源程序出错处, 如图4所示, 经检查发现:本程序第3条DJNZ指令被错误输入成了DJNA。用户可根据提示修改源程序, 然后再次编译。注意, Keil具有语法检查功能, 源程序中正确的指令关键词将变颜色, 没变色的为输入错误, 方便用户查找语法错误。
若编译后输出信息窗口显示“0 Errors (s) , 0Warning (s) ”, 则说明源程序的语法错误已经全部排除。注意:有Errors不能Debug, 也不产生HEX码, 有Warning是允许的, 可以运行。
5. 调试程序
源程序编译通过, 表明语法正确, 却并不能保证该程序能够正确运行, 还需要对其逻辑功能进行调试。Keil软件具有很强的软件仿真功能。
鼠标左击主菜单Debug->StartStop Debug Session子菜单或调试/编辑模式切换按钮, 进入调试程序工作模式, 软件窗口如图5所示。重复点击该按钮可以实现在编辑模式和调试模式之间进行切换。
调试程序时的程序运行控制按钮从左到右依次为复位、连续运行, 暂停、单步、过程单步、执行完当前子程序、运行到光标当前行。复位按钮模拟芯片的复位, 它将使程序回到最开头处执行。当程序处于停止状态时复位才有效, 程序处于运行状态时停止按钮才有效。
(1) 为了方便观察程序调试过程中各变量和RAM单元的中间结果, 点击主菜单View->Watch&Call Stack Window和View->Memory Window打开观察变量窗口和存储器窗口进行显示。由于本例还要观察P1口的输出变化, 可以点击主菜单Peripherals->I/O-Ports->Port 1打开I/O口P1的观察窗口。
(2) 程序调试。
程序可以单步执行或连续执行。连续执行是指一条指令执行完后接着连续立即执行下一条, 中间不停止。这样程序执行的速度很快, 可以看到程序执行的总体效果, 即最终结果是正确或错误。但如果程序有错, 则难以确认具体出错地方。例如本例中点击连续运行按钮后, P1口输出01H后便始终保持不变, 这显然与花样彩灯程序的循环显示要求不符, 程序运行出错, 如图6所示。
单步执行指每执行完一条指令后即停止, 等待命令执行下一行程序, 此时可以观察该条指令执行后得到的实际结果, 对比分析是否与预期结果一致, 借此可以找到程序中的错误原因所在。这种方式的缺点是需要时间长, 排查错误效率很低, 尤其当程序很大时。
因此, 对于用户确认没有错误的程序段可以采用连续运行, 对怀疑出错或容易出错的地方则单步执行, 对比排查错误, 这样调试的效率将会高一些。
本例通过单步执行, 发现程序运行过程中循环变量R3的值总在250和249之间变化, 而且R1、R2、R7均始终无变化, 如图7所示。对比程序分析, 发现出现了死循环, 原因在于第1条“DJNZ R3, DEL2”的转移目的地址为DEL2, 应该改为DEL3。
回到编辑状态, 修改为“DJNZ R3, DEL3”, 编译后再次进入调试工作模式时, 发现故障已经排除。此时P1口的输出仅1位高电平, 且依次向左循环移位, R1、R2、R3、R7正常递减变化。如图8所示。
(3) 断点设置
程序调试时, 一些程序行必须满足一定的条件才能被执行到 (如程序中某变量达到一定的值、按键被按下、有中断产生等) , 这些条件往往是异步发生或难以预先设定的, 这类问题采用单步执行的方法是很难调试的, 这时可使用另一种重要的调试方法—断点设置。可以使用Debug->Insert/Remove Break Point设置或移除断点。
断点设置的方法有多种, 常用的是在某一程序行设置断点, 设置好断点后可以连续运行程序, 一旦执行到该程序即停止, 可在此观察有关变量值, 对比分析程序预期理想值, 以确定问题所在。
三、结束语
仿真调试系统 篇8
随着电子技术的发展,IC设计的规模越来越大,复杂度越来越高。利用IP核复用技术和用户开发的专用IP核可以设计组成一个完整的系统级芯片。研究实践表明,在目前芯片的研发流程中,仿真验证的实践已经占到整个设计周期的70%以上。现有的仿真平台多是基于模块级的仿真,对在系统级的仿真缺乏手段,由于芯片产生缺陷的地方多在系统级环境下,模块与模块之间的冲突。因此将软件代码融入硬件仿真作为RTL的激励,可以提高验证的覆盖率。软件还可以很好的模拟实际的工作环境,可以充分控制所需验证的硬件功能,也避免了编写测试代码验证设计的典型应用。在此基础上,衍生出软硬件协同仿真这一需求。软硬件协同仿真指系统设计过程中同时验证软件和硬件,在系统硬件还未可用之前,在硬件模型上运行系统软件,检查调试软硬件设计中的缺陷及接口的错误等。而在使用软件验证过程中,还需要进行软件的调试,本文主要介绍了软硬件协同验证中软件仿真调试内容。
1 软件仿真调试模型
本文Soc芯片选择ARM,利用ARM汇编编译器ARMASM,C/C++编译工具ARMCC、ARMCPP以及连接器工具ARMLINK,将由C语言和汇编编写的源文件编译连接成带调试信息的可执行ELF文件格式并生成bin文件。将bin文件加载到硬件模型的存储器中,由硬件模型仿真产生出波形文件。
软硬件系统仿真中分析elf可执行文件和产生的波形文件,进行软件仿真调试,系统流程如图1所示。
在软件仿真调试模型中,主要包括以下的内容:
(1)软件的Firmware code经过编译器编译链接生成elf格式的可执行文件和二进制bin文件。硬件的仿真是基于二进制可执行文件,为了实现源码级的调试,需要解析elf文件中的调试信息。
(2)软件代码作为硬件仿真RTL的激励产生出波形文件,其中包含了程序仿真阶段的所有信息,进行软件调试需要对波形文件解析。
(3)利用解析得到的elf文件调试信息和波形文件的信息,将源代码和波形文件连接起来,并进行软件调试。
2 DWARF调试规范
在本文模型中采用DWARF(Debugging With Attributed Record Formats)调试规范[1],DWARF是一种非常优秀的调试规范,遵从GNU FDL授权,规定了编译器生成源码级别的调试信息的格式。调试信息被包含在ELF文件某几个节中,对于这些包含调试信息的节,在ELF文件规范[2]中并没有定义这些节,这些节中的调试信息的含义由编译时指定的调试信息格式来解释。
DWARF中的基本描述实体是调试信息条目DIE(Debugging Information Entries)。DIE中包含一个指定DIE所描述内容的标签(tag),以及许多用来填充细节并进一步描述实体的属性(attribute)。DWARF调试信息项之间的所有关系被表示成一棵树,树的节点就是调试信息表项自身。节点的子节点实际上就是该表项所有的子表项,这颗树通过先序进行了线性化,每个调试信息表项可以有,也可以没有子表项。
DWARF的调试信息条目自身不包含调试信息表项标签或每个属性的属性名和形式编码。相反地,每个调试信息表项以一个代码开头,该代码描述了在一个单独的缩写表(abbreviation table)中的表项,缩写表中的表项才包含了调试信息项的标签或各个属性的属性名和形式编码。这个代码后面直接跟着一系列属性值。缩写表中相应的表项将引导对直接包含在.debug_info节中的信息的解释。每个编译单元与一个特殊的缩写表相联系,但是多个编译单元可以共享同一个表。实验表明用缩写表可以将DWARF文件的大小缩减一半。源程序经过编译器的编译后,主要的调试信息包含在以下四个节中,节关系如图2所示。
(1).debug_info包含调试信息的调试信息表项(DIE),描述了代码内所有可供调试的模块的信息,包括函数、局部变量、全局变量等。
(2).debug_abrev包含对调试信息入口的标签和属性的格式说明,所有的编译单元的缩写表(abbreviation table)包含在这个单独的对象文件的节.debug_abbrev中。
(3).debug_line包含目标文件中机器码地址和源文件语句对应信息,对于源码级调试而言,需要解析.debug_line信息。例如当在某一行上设定断点时,调试器将利用行信息找到实际应该断点的地址。当某个指令引起段错误时,调试器会利用行信息反过来找出源代码中的行号,并告诉用户。
(4).debug_pubname保存源程序中的全局对象名、函数名及在.debus_info中的偏移。
Dwarf还有一些段,如.debug_frame段描述了调用栈的使用情况用于调试回溯;.debug_aranges段描述了各个CU的地址范围;.debug_loc信息来获取栈指针等[3]。通过对ELF文件中dwarf段的解析可以对软件代码进行调试。
3 软件仿真调试模型实现
本文模型将软件和硬件波形连接起来按指令同步,可以快速了解软硬件协同仿真过程中问题发生时,执行的是哪条指令,对应的是哪个函数,函数的调用关系,有效解决了软件的调试问题。
3.1 文件连接与断点操作
本文利用ELF文件调试信息,将波形文件和源文件连接起来。现代的计算机原理为程序存储原理,程序输入到计算机中,存储在内存储器中(存储原理),在运行时,控制器按地址顺序取出存放在内存储器中的指令(按地址顺序访问指令)。在处理器中一般有一个寄存器PC存放当前指令的地址,在波形文件中对应PC信号的值。根据波形文件中PC的值确定当前代码执行的位置,按照调试信息.debug_line节中机器码地址和源文件语句的对应信息,可以将波形的位置和源文件代码连接起来,按指令同步。
断点设置是调试器调试程序的基本操作,给定源文件的行进行断点操作(包括设置,取消等),首先需要找到源文件代码行对应的可执行代码的位置。根据.debug_line节调试信息调试控制程序可以得到可执行二进制代码的位置,在波形文件中查找PC信号的值,在对应位置设置断点[4]。区别于一般的软件指令集仿真,在软硬件协同仿真中,可以根据硬件的波形设置断点对应到软件的代码中。在波形中在指定PC信号位置处设置断点,直接对应到源文件的行位置。
3.2 调用堆栈
函数的层次调用中,可以解析得到调用它们的函数的调用结构,这些函数调用结构表现出一种“堆栈”的特征,最后被调用的函数出现在最上方。因此称这种关系为调用堆栈(call stack)。在程序发生故障的时候,程序被终止,一般可以得到最后出错的函数。利用调用堆栈可以知道出错的函数在被哪些函数调用的过程中出错,依此可以检查出错的原因。
在调试器中获得当前函数的调用情况,需要解析.debug_frame节中保存的堆栈状况,对指令解析,获得返回该函数调用函数的地址,从而获得函数所有的调用路径直到main函数。
本文根据波形文件中的信息采用了一种新的方法实现函数的调用堆栈。调试信息.debug_pubnames节中记录了全局对象名、函数名及在.debus_info中的偏移,根据.debug_info、.debug_abbrev节内容,可以得到当前工程中所有函数的地址范围,然后保存在一个数据结构中。在波形文件包含了程序运行过程中PC的所有路径,当程序被中断时,通过中断处的PC,查找函数的范围可以确定当前所在的函数。函数在执行过程中会调用其他函数,所以通过PC向前查找,直到本函数的开始位置,继续向前查找可以得到调用本函数的函数。依次查找可以获得当前函数的调用堆栈直到main函数。整个流程如图3所示。
3.3 数据操作
数据基本操作包括程序中全局变量和局部变量的操作。数据操作的关键在于确定操作变量地址。在DWARF中变量使用DW_TAG_variable调试信息条目DIE描述,变量的属性数据存放在.debug_info节中,属性名和形式编码存放在.debug_abbrev节中。.debug_abbrev节包含了对.debug_info节内容的解析。变量的地址由变量属性DW_AT_location描述。
全局变量的地址固定,一般分配在目标文件的数据段中。对于全局变量,DW_AT_location属性描述了变量的绝对地址。
局部变量相对复杂,因为局部变量可以在全局数据区,可以在栈上,甚至是在寄存器中。全局数据区局部变量与全局变量类似,寄存器中的局部变量,记录变量的寄存器可以得到变量的值,下面对于在栈上的局部变量进行讨论。在堆栈中分配的局部变量,其地址随着函数的调用位置和深度而变化,以其所在函数的调用帧栈基地值进行偏移。局部变量所在函数使用DW_TAG_subprogram调试信息条目DIE描述。函数的调用帧栈基地值存储的寄存器由属性DW_AT_frame_base指定(如:x86使用ebp寄存器,arm体系结构使用r13寄存器)。变量的DW_AT_location属性描述了变量的偏移地址。将函数调用帧栈基址寄存器于变量偏移地址相加可以得到当前局部变量的地址。
根据波形文件中的读写时序,搜索对变量地址最近的写操作。首先在地址总线上查找变量的地址,然后分析写选通信号是否有效。写选通信号送到所有的存储器,但只选通地址有效的存储单元,使之能写入数据。最后读取数据总线上的数据,得到当前变量的值。读写时序如图4所示。
4 软硬件协调仿真调试
将源文件编译产生的二进制代码加载到芯片存储器中,由硬件模型仿真产生VCD波形文件,其中VCD文件包含了整个仿真时间内的信号变化信息,如图5所示。VCD是一个通用的波形文件格式,是IEEE1364标准(Verilog HDL语言标准)[5]中定义的一种ASCII文件。
图中左边为VCD文件的信号值列表,右边为仿真时间内的信号值。在VCD波形文件中仅列出了地址总线,写选通信号线,数据总线和PC寄存器信号。其中波形文件中PC信号记录了程序运行过程中的所有路径。选择源文件中指定行可以对应到VCD波形仿真的位置。反之,选择VCD波形仿真位置,根据PC寄存器值,定位到源文件,如图6所示。
根据VCD波形中的PC路径可以确定PC当前位置函数中的函数调用堆栈的层次结构。当前PC信号为0x1B20,main函数地址范围为0x1AE0到0x1BE4,可以得到当前函数为main函数。在解析二进制可执行文件得到全局变量和局部变量的地址,如全局变量g_flag,解析获得地址为数据段的0x000d0000处。在波形中可以看到,在432.0μs左右,写选通信号线为高电平,对地址0x000d0000写操作,数据总线的值为0,得到当前全局变量g_flag为0。(下转第147页)波形中对全局变量g_flag写操作对应于源文件中对全局变量g_flag赋值操作。在VCD波形文件中根据读写时序,查找依据PC寄存器最近对该地址单元的写操作,可以确定变量值,进行软件调试。另外根据波形文件和调试信息可以实现单步调试、变量值查找等功能。
5 结束语
本文介绍了软硬件协同仿真的原理和流程,利用经编译得到的带调试信息的二进制可执行文件和硬件仿真的波形文件,设计了软硬件协同仿真环境。该环境可以实现硬件波形和软件代码之间的对应连接,并且实现一定的软件调试功能,可以更好地验证软硬件的功能和时序。一般软件仿真基于指令集的仿真,本文设计了一种新的基于硬件波形的仿真环境仅依赖于编译产生的可执行文件和仿真波形文件,不需要指令仿真,可以为各种项目调试验证使用。
参考文献
[1]UNIX International Programming LanguagesSIG.DWARF Debugging Inofmration Format[Z].Revision:2.0.0(Jul.27,1993).
[2]Tool Interface Standard(TIS).Exeeutable and Linkable Format(ELF)Speeifieation(Versionl.2)1998[Z].
[3]李宝丹.嵌入式系统辅助调试环境的开发北京邮电大学[D].2009.
[4]张和君,张跃.基于DWARF的Bootloader远程交叉调试模型[J].计算机工程,2006(24):60-62.
仿真调试系统 篇9
华润水泥(平南)有限公司3号线是天津水泥工业设计研究院有限公司设计的第一条带第三代预分解系统的5000t/d新型干法水泥熟料生产线,以无烟煤为燃料,整个烧成系统包括窑尾预热预分解系统、回转窑、篦冷机等均为天津院开发设计。该生产线于2007年8月30日正式点火烘窑,9月5日投料。为使该生产线早日正常运转,2007年9月5~20日,天津院技术人员到现场进行了现场调试。
2 烧成系统运行情况
由于客观原因,该线烧成系统没有完全按照天津院设计施工,而是在施工过程中对窑尾进行了改造。改造主要内容包括各级旋风筒的入口面积、三次风管风阀处的通风面积、窑尾烟室断面尺寸等。9月11日停窑后,将三次风管闸阀的改造清除,恢复至设计原始情况。
从9月5日~9月9日,使用的是烟煤,热值较高,但是水分比较高。9日~19日临晨2:00左右,采用烟煤与无烟煤搭配作为燃料,烟煤比例10%~15%。19日临晨2:00左右以后采用100%无烟煤作为燃料。采用无烟煤烟煤搭配和完全使用无烟煤时,入窑煤粉细度一般控制在0.08mm筛筛余2%以内。投料以来入窑煤粉工业分析结果见表1。
2.1 调试期间出现的问题
(1)9.6~9.7日投料过程中,系统无论怎么拉风,C1压力很低,投料120t/h时,液力耦合器设定60%,高温风机转速770r/min,电流94A,C1出口压力不到1000Pa;投料到250t/h时,液力耦合器设定80%,高温风机转速905r/min左右,电流130A左右C1出口压力2500Pa,此后高温风机操作状态基本不变,投料一直增加到365t/h,高温风机电流增加到140A,C1压力增加到3300Kp左右。
13日上午对窑尾预热器出口风量进行了测量,测试时系统投料365t/h左右,高温风机转速917r/min,高温风机电机电流128A左右。测试结果见表2。
高温风机设计工况温度325℃,设计工况风量92.5万m3/h,但是实际运行温度370℃下的工况风量仅80万。高温风机风量与设计风量相比还存在较大差距,在高温风机基本达到额定转速情况下,电机电流与额定电流相差较大。
(2)9月6日,现场测试烟室温度很高,达到1350℃以上。从分解炉锥部捅料孔观察,锥部温度较高,火焰红中透白。9月7日,烟室与分解炉下锥部开始出现严重结皮,对分解炉出口处的烟气成分进行了检测,CO含量在0.20%~3.45%之间波动,O2含量在0.15%~1.21%之间波动,说明分解炉还原气氛比较浓,燃烧不是太稳定。
9月11日停窑检修,并清理结皮,发现烟室与分解炉下锥部形成很厚的结皮,结皮呈黑色,与熟料颜色相近,但是质地比较疏松,通过分析,结皮中的硫含量在7%~8%左右,而且在分解炉锥部形成类似立窑中的球形料,球形料呈黄白色。在清理过程中,结皮发生明火燃烧,说明结皮中存在不完全燃烧的煤粉。三次风管进分解炉的进风口积灰较严重,积灰中大部分为未烧透的生料球颗粒。
(3)C5下料分解率较高,基本在95%~97%,但是熟料中fCaO较高,fCaO合格率比较低。另外,根据我院易烧性实验结果,该厂的生料易烧性等级为E级,1450℃煅烧后游离氧化钙达4.35%。此外,入窑生料0.08mm筛筛余在16%左右,0.2mm筛筛余在1.3%左右。
2.2 问题分析
在9月11日停窑检修前,由于对窑尾改造的具体情况不清楚,初步判断是窑头煤和窑尾煤燃烧不好,同时通过高温风机电流判断,高温风机拉风偏小。但是,无论尝试调节喂煤量,调节窑头喷煤管轴流风的风速,还是调节三次风阀门开度和降低产量,都无法改善结皮情况,以及改善熟料游离氧化钙的合格率。因此,不得不在11日凌晨4:00进行停窑检修。并对窑尾部分改造进行恢复,将三次风阀门处砌墙拆除,恢复到设计状态。经过近两天的结皮清理,9月12日中午点火烘窑,晚上23:47重新投料。
1 3 日投料量最大380t/h,分解炉锥部仍存在结粒现象,分解炉和烟室仍然存在结皮情况,但比检修前有所缓解,说明三次风管恢复设计状态后,改善了分解炉内的煤粉燃烧,从一定程度上缓解了结粒、结皮现象。从分解炉出口及五级筒入口的烟气成分检测也可以反映出这一点。CO含量在0%~0.30%之间波动。
但是窑内通风不好,从气体成分测试结果来看,烟室还原气氛比较严重。CO含量在1.26%~4.26%之间波动,说明窑头煤粉燃烧不完全,而且fCaO合格率较低,因此不得不进行减小三次风阀门开度和减料减煤等一系列操作。
1 4 日投料稳定在320t/h,但fCaO合格率还是较低,9月15日经高温风机厂方来人后确认,在中控室显示高温风机进口阀门全开的情况下,现场实际进口阀门开度仅80%左右,经现场处理后高温风机运转正常。15日投料280~320t/h,fCaO仍较难控制。16日投料280~347t/h,fCaO基本合格。
从17日0:00开始进入达标考核阶段,投料量330~345t/h,窑况存在一定波动,全天fCaO有8个不合格,18日投料量340~358t/h,窑况较稳定,fCaO基本合格。19日投料345~380t/h,窑况较稳定,至20日0:00考核结束,累计三天生产熟料15750t,平均日产5250t熟料,达到设计指标,顺利通过达标考核验收。
综合以上情况分析,投料初期分解炉结皮以及熟料质量不合格,主要是因为三次风管的不合理改造,加之高温风机的问题导致分解炉和窑内通风不好,在系统还原气氛下,分解炉内大量机械不完全燃烧的煤粉被生料包裹,形成了结皮和结粒。同时,由于该厂的生料本身也比较难烧等因素,导致风煤量不匹配,从而恶化了系统的运行。只要系统控制合理,分解炉和窑内用风匹配,本系统是完全可以满足要求的。
3计算机仿真技术的运用
在调试过程中,天津院技术人员使用了天津院自行开发的分解炉计算机辅助试验平台,对分解炉内部的温度分布情况进行了预测,并与分解炉测温点的实际检测情况进行了对比。
分解炉三段柱体上分别设置了测温点,第一段测温点设置在柱体高约3000mm,与窑中心线角度约60°处;第二段测温点设置在柱体高度约300~400mm,与窑中心线角度约0°处;第三段测温点设置在柱体高度约400~500mm,与窑中心线角度约180°处。热电偶插入深度按400~500mm左右考虑。以模拟的圆柱坐标系统(h,r,θ),三点的位置大约在模拟坐标点(8.6m,3.05m,60°)、(19.6m,3.05m,0°)、(37.3m,3.05m,180°)(图1)。
9月19日,13:41~14:29时间段分料0%~5%,分解炉三段温度模拟值和中控值对比见表3。
从以上数据对比可以看出,采用计算机模拟的温度分布与实测值吻合较好。
同时模拟中发现,分解炉第一段的高温区通常发生在第一段缩口及下方区域,与窑的中心线角度为0°处,因此,平南三线分解炉第一段测温点的位置设置值得商榷,有可能无法监测到分解炉的真正高温区域,尤其在分料较多时。因此,天津院技术人员根据计算机模拟的分解炉温度分布情况,向厂方提交了分解炉第一段测温点的合理设置位置。
4结论
当原料中有害成分高或分解炉温度控制不当时,往往造成分解炉系统结皮,严重时还会出现堵塞现象,影响分解炉的正常运转,因此,只有清楚地了解分解炉内部的物理化学工艺特点,然后有针对性地采取相应的措施,对分解炉结构设计、喂煤喂料方式、生产操作方式等方面进行优化改进,以合理控制分解炉内部温度分布,才能从根本上避免或解决分解炉结皮堵塞的问题。
通过分解炉计算机仿真技术可以对不同类型的分解炉进行三维模拟,能够给技术人员提供关于分解炉内流场分布、温度分布、烟气各组分的浓度分布等参数信息,以及分解炉出口的生料分解率、煤粉燃烬率和出口温度的统计信息,从而为现场技术人员优化生产操作提供了新的调试手段。
摘要:天津水泥工业设计研究院有限公司在总结工程实践经验的基础上,开发出了具有分解炉三维数值模拟功能的计算机辅助试验平台系统,天津院技术人员运用该系统指导华润水泥(平南)有限公司3号线的生产调试,对该厂分解炉温度场分布进行了很好的预测,为现场技术人员提供了新的调试手段。
仿真调试系统 篇10
《电子产品整机装配与调试实训》是高职应用电子技术专业学生的一门专业主干课程。其任务是让学生系统掌握电路的元件识别、电路安装、电路检修及电路调试等知识, 同时也为学生学习《电子产品设计与制作》等课程及将来的毕业设计打下良好的基础。本文主要分析了《电子产品整机装配与调试实训》课程与EDA仿真软件结合应用的优势, 学生通过对EDA仿真软件的使用, 有效增强了分析电路、排除电子线路故障的能力, 大大提高了产品合格率。同时学生会对该系列课程产生浓厚的学习兴趣, 有利于后续相关课程的学习。
一、EDA仿真软件引入实训课程的意义
《电子产品整机装配与调试实训》课程内容广泛, 教学内容主要包括元器件识别、原理图分析, 电路安装指导及对整机检测与调试等。由于涉及专业课程众多, 指导教师在讲授时常感到事倍功半, 尤其遇到“模拟电子技术”、“数字电子技术”及“单片机原理”等比较抽象的内容时, 学生往往会选择在一知半解的情况下, 将整机装配完成。最终出现不能独立调试或者由于某种原因导致成品功能缺失, 却不知从何下手检测故障的现象。鉴于以上提到的当前实训教学中存在的问题, 可以让学生利用EDA仿真软件对所安装的电路原理图先进行绘制, 运用仿真软件提供的各种虚拟仪器和仪表对电路进行仿真分析和数据检测, 进而深入理解所学的专业知识, 最后记录各个相关点的数据及波形。当学生完成整机装配后即可调试检验成品, 也可以根据先前记录的数据, 自行排除线路或器件故障, 提高学生学习的兴趣与信心。所以要进一步提高实训课程的教学效果, 引入EDA仿真技术对本实训教学可以起到事半功倍的效果。
二、EDA仿真软件在实训课程中的应用
1. EDA仿真软件的选择。
常用的EDA仿真软件有Multisim、Protel、Proteus、Pspice等, 本实训选用了美国NI公司的Multisim 11仿真软件作为仿真平台对实训所有课程项目进行仿真测试。Multisim 11是美国NI公司推出的Multisim系列较新的版本。它以Windows为基础, 能够实现电路原理图的图形输入及电路硬件描述语言的输入, 具有丰富的仿真分析能力。学生可以使用Multisim 11软件去搭建电路原理图, 并对电路进行仿真。Multisim 11提炼了SPICE仿真的复杂内容, 这样学生无需懂得较深SPICE技术就可以很快地掌握仿真和分析能力。Multisim 11的器件库中含有千余种电路元器件, 也可以新建一些原件库里未有的元件。同时软件提供的虚拟仪器仪表种类很多, 有一般常用的仪器, 也有普通实验室缺少的仪器。简而言之, Multisim11简单易学, 容易上手, 非常适用于本实训课程的教学内容。
2. 课程项目选取。
本文选取《电子产品整机装配与调试实训》课程中智能爬行器项目为例, 产品实物见图1。智能爬行器采用电子控制电路与机械组合而成, 成品可使用声音、光线、磁性对爬行器进行控制。教学内容包括了模拟电子与数字电子的相关知识点, 而机械上的动作使本来很抽象的内容表现得非常直观, 直接提高了学生对本实训的学习兴趣, 提高了教学效果。
3. 原理图的功能仿真。
在装配产品前, 学生可以预先运用Multisim 11仿真软件提供的元器件库绘制线路原理图。如图1电路板所示, 实际产品需要通过光敏二极管、麦克风及干簧管来实现对爬行器工作控制。而在仿真线路的绘图过程中, 只需插入三个虚拟按键就能模拟上述三个器件的功能, 同时学生还能使用软件自带的虚拟双踪示波器及虚拟万用表, 对相应的测试点进行电压测量及波形测试, 如图2所示。由图3 (a) 、 (b) 学生们可以清晰地看到有无声音信号输入时的各测试点的电压与波形的变化, 根据仿真结果图3 (c) 显示, 模拟不同的信号输入, 输出波形产生的变化相同。学生通过仿真得到的相关数据, 对于后期整机调试起到相当大的辅助作用。
4. 产品整机调试与检修。
当智能爬行器整机装配完成后进入调试环节, 学生参照仿真记录的波形与数据进行独立调试。由于EDA软件库中有些器件参数与实物参数并不一致, 仿真数据或许存在一定误差, 但并不影响对线路的整体调试。以智能爬行器声控功能调试为例, 正常的工作状态:麦克风接收到声音信号后输出经C1耦合到三极管Q1的基极, Q1的集电极输出信号经C3耦合至Q2的基极, Q2的集电极对地导通。给555集成电路的2号触发端输入低电平信号, 使555时基电路及外围元件组成的单稳态电路输出暂稳态高电平, 同时控制Q4、Q5组成的复合管去推动电机转动, 从而使爬行器动作。若爬行器声控功能缺失, 学生可以依照仿真记录的数据对相关三极管及单稳态电路的测试点比较。随后缩小故障区域, 锁定故障器件或线路后进行检修。光控、磁控操作方法类似, 在此不多做赘述。
三、EDA仿真软件应用在于实训课程中的效果
《电子产品整机装配与调试实训》课程中学生制作产品的合格率是关键的教学指标。在以往的教学里, 学生往往会过多地依赖指导教师协助检测或调试, 但这样很难达到预期的教学目的。每当遇到一些故障如元器件损坏、焊接接触不良等原因造成产品无法正常运行时, 部分学生甚至会选择直接放弃调试与检修, 相对应产品的合格率也不会很高。通过EDA仿真软件应用在本实训课程后, 学生不仅可以在仿真的过程中了解爬行器的工作方式及电路原理, 而且当遇到故障时能够独立通过分段仿真来缩小故障范围, 最后从容地排除故障, 这也大大提高了制作产品的合格率。表1为近2年所带教的应用电子专业学生制作产品合格率与以往的对比。从表中可以明显看出引入EDA仿真软件后, 学生制作产品的合格率有了显著的提升。
四、结束语
综上所述将EDA仿真软件应用于《电子产品整机装配与调试实训》课程教学, 不但可以突破指导教师在教学中所遇见的重点和难点, 而且能更好地实现并完成理论与实践的结合, 对培养学生分析、解决问题能力有重大意义。因此无论从教学效果还是从学生培养的角度来考虑, EDA仿真软件应用于其他机电类实训教学都具有相当大的教学价值。
摘要:随着虚拟仿真技术的快速发展, EDA仿真软件被广泛地应用到高职实训教学之中, 不仅提高了实训教学的水平和质量, 而且对实训教学本身的发展也有着非常重要的现实意义。本文围绕美国NI公司的EDA仿真软件在高职《电子产品整机装配与调试实训》课程教学中的应用, 提出EDA仿真软件应用于实训教学中的新思路。
关键词:高职教育,实训教学,EDA仿真软件,电子产品整机装配与调试
参考文献
[1]林徐润, 段虎.虚拟仿真技术在高职实训教学中的应用[J].深圳信息职业技术学院学报, 2012, (6) .
[2]陈雷, 韩宝如, 张晶.电子技术课程引入EDA的教学探索[J].中国电力教育, 2010, (9) .
[3]王阳, 胡江, 钱裕禄.浅谈EDA软件在数电教学中的应用[J].电脑知识与技术, 2008, (8) .
浅谈DCS自动控制系统的调试 篇11
【关键词】D C S、调试、方法、故障诊断、处理
【中图分类号】 C931.9【文献标识码】 A【文章编号】1672-5158(2013)07-0051-01
前言
分散控制系统DCS是以微处理机为基础,集先进的计算机技术、通讯技术、CRT技术和控制技术于一体的控制系统。主要通过操作站对整个工艺过程进行集中监视、操作、管理,通过控制站对工艺过程各部分进行分散控制。 其功能特点是:通用性强、系统组态灵活、控制功能完善、数据处理方便、显示操作集中、人机界面友好、安装简单规范化、调试方便、运行安全可靠等。不同的集散控制系统所实现的功能和调试方法也不尽相同,但总的内容与步骤大致相同。
一、DCS系统调试前进行检查
系统调试前的检查是为了保证开机顺利、可靠。通常集散系统不经检查是不允许送电和不允许开机的,而且在每次送电和每次开机前,都应进行必要的检查。
检查的主要内容如下:(1)检查主控室和现场控制站的空气温度、湿度、室内照度是否达到使用条件。为此要检查空调系统、照明系统和空气净化系统的运行是否正常,是否符合要求,有一项不合格,就不具备开机条件。若停机时间不长,而且不是因为环境问题停机,可以适当放松,只要环境的温度、湿度和净化度在控制范围之内即可。(2)导线绝缘电阻的检查,此项检查可以作为抽查项目。每个回路都有超载保护,可以抽查几个回路。检查方法是把导线和设备断开,用兆欧表测绝缘电阻。具体要求是:信号线路绝缘 ≥2MΩ,补偿导线之间的绝缘电阻≥0.5MΩ,系统电源带电部分与外壳的绝缘≥5MΩ。(3)供电检查分为两个步骤::第一是装置的供电系统检查,包括UPS的检查和24VDC供电柜的检查;第二是供电电源的检查,包括熔断管容量的检查和负载性能的测试。
二、调试的主要方法
1、系统调试的覆盖方法
1)硬件调试项目覆盖。把硬件分类,制定调试表格,将具体的检验项目的正确状态、数据和允许误差填好。测试时按表格检查,注意记录。
2)软件调试覆盖。其实软件已经过厂家的出场调试,现场调试的主要工作是检查使用系统软件,对相应软件进行结构性测试和功能性测试。
3)单回路调试。根据回路接线图,将输入、输出信号按模拟量、数字量等类型分类,并按其范围和特点分组,排出调试顺序。无论一个回路的调试分几部分完成,每完成一部分即用色笔在回路图对已经调试的线路和单元做好标记,同时要做好相应的数据记录。
4)联锁回路调试覆盖。利用设计提供的信号联锁逻辑图或将线路图整理为逻辑测试图,对联锁系统进行逻辑功能调试。重点为测试前核对逻辑图。逻辑“1”和“0”的条件结果需双重测试。不能遗漏设计需要的逻辑功能,也不能出现多的逻辑功能。
5)程序控制系统调试覆盖。按程序表逐步测试,对每一步的进行条件、各元件状态、程序时间全面检查、试验。
2、系统调试的模拟方法
系统调试中采用综合模拟方法。采用这种方法的目的是在系统投入生产过程以前完整、真实的模拟过程参数,进行系统状态调试。
1)输入信号模拟。在系统中模拟输入过程变量相应的信号,使用0.05级数字万用表和数字式压力表做标准表,保证精度上的要求。
2)输出负载模拟。冷态调试时,现场负载不接入。对模拟量输出负载,可在控制室内有关盘中输出输入端子上接入与负载相当的小功率电阻,使其在屏幕上正常显示。当数字输出信号的负载需要时,可用信号灯模拟。热态调试前拆除模拟负载。
3)系统模拟。系统模拟主要使用在重要且复杂的联锁系统,采用冷态调试。制作模拟板,数字信号用开关和信号灯模拟,模拟量信号可由简易电子元件线路产生。
4)故障模拟。故障模拟的主要目的是为了检查计算机系统对故障的检测诊断和冗余功能。送入越限信号,故障信号,测试操作站的显示状态。用切断电源、切断负载、拔出插件(卡)、人为调整和加临时跨接线等方法模拟故障状态,测试操作站对相应故障的检测诊断和冗余功能。
三、调试人机对话
利用DCS操作站等人机接口的功能,如各单元插卡的发光二极管显示,以及现场的显示操作部分等,或必要时在端子上插入临时的人机接口,提高系统调试的速度、效率和准确性。其要点是:数据通道按三级优先权通讯。对不同的功能画面,扫描周期不同。注意调试中相应等待、监视、延时,不要急与对话。延时也包括调节单元的滞后,如向调节阀发送改变输出信号后,需等待阀的动作时间。
四、DCS系统现场调试中的故障诊断与处理
DCS系统尽管有很多优越性,给现场安装,调试及系统运行带来了很多方便,然而要保证控制系统输入输出点顺利开通,所有回路、联锁及报警系统安全、正确、可靠地投入运行,仍然必须注意现场安装,调试的高质量与高效率,及时排除隐患。根据以往的经验,在施工过程中要注意以下几个方面的问题,并采取相应的措施。
1、常见的硬件故障及软件故障
常见的硬件故障有:(1)系统插卡和元件故障。(2)线路故障。(3)电源故障。
软件方面的故障有:(1)程序错误。(2)组态错误。
2、故障测试的基本途径
现场调试主要包括三部分:硬件调试、软件调试和系统调试。硬件调试和软件调试也可以和现场安装后对DCS系统的设备检验工作一起进行。系统调试是安装后投运前对软件、硬件的综合性的最终检查。可以充分利用制造厂提供的故障检查流程图和故障诊断表。
3、故障的位置及处理
(1)DCS系统能及时对挂在总线上的各回路进行周期诊断,通过检查如发现异常现象,其内容就被编译成代码,经由总线的操作站传递信息,从而在CRT上显示和报告故障发生的位置。通过CRT了解故障情况后,应进一步通过机柜的有关卡件上的发光二极管的显示状态查询不正常状态的故障内容。插件外部的故障则要逐步检查分析。
(2)常见的故障定位方法:根据故障现象、范围、特点以及故障发生的记录,直接分析,判断产生的原因和故障的部位,查出故障。对一些明显的有外表特征的故障,通过外观检查,判断故障部位,如插头松动、断线、碰线、短路、元件发热烧坏、虚焊等等。有的故障是暂时性的,可以通过人为的摇动,敲击来发现。对怀疑有问题的故障部件,用备件或同样的卡件进行替换,或相互比较。注意替换以前要分析排除一些危害故障,如电源异常,负载短路等引起的元件损坏的故障,若不先行排除这些故障则替换后可能会继续损坏元件。当故障范围不明时,可对故障相关的部件、线路进行分段,逐段分析检查。将某些部件或线路暂时断开,观察故障现象变化情况,逐步缩小故障范围,以确定故障部位。
测试中若发现组态错误,可以核对组态表格和组态数据。对组态的修改要有专人负责。对于组态点,在调试过程中要逐一核对。对调试中的某些信号,有时还需要临时改变组态数据,以方便调试回路,调试完后应恢复原来的状态。
应用软件的编制一般在设计阶段已经完成,因而在现场调试时难免会有一些程序上的修改,包括程序编写错误和控制上的变化修改。每套系统都有特定的编程语言,在调试中可以对程序进行检查和运行。
在系统调试中如故障无法进行在线诊断,可进行离线诊断。操作站的离线诊断主要是利用专用设备进行调试,检查有关功能。
结束语
系统调试是DCS投运的重要环节,根据工作经验,总结出DCS在系统调试中的一些方法和步骤,只有把DCS系统调试好,才能保证DCS的顺利投运。
参考文献
药厂空调系统调试方案 篇12
关键词:空调系统调试,净化空调,压差调节,洁净度
1 工程概况
亚宝芮城工业园是一个以中药提取为龙头, 中药注射剂、西药注射剂、粉针剂以及贴剂相配套的产业园区。亚宝芮城工业园项目我公司主要负责注射剂、提取及前处理车间净化系统安装工程, 本项目我公司施工面积注射剂车间1层, 3层约16 000 m2、提取车间1层~4层约9 600 m2、前处理车间1层~4层约7 000 m2, 总面积约32 600 m2。其中水针车间B级净化区约900 m2、C级净化区约600 m2、D级净化区约1 700 m2;提取车间D级净化区约1 100 m2;前处理车间D级净化区约224 m2。项目涉及净化空调13台 (注射剂车间10台, 提取车间1台, 前处理车间2台) , 普通舒适性空调6台, 排风机组122台, 高效过滤器风口 (过滤效率H13) 460台, 层流罩 (过滤效率H13) 18台。此次亚宝项目空调系统调试包括以下几个方面:
1) 净化空调系统调试:包括空调机总风量测试及调整, 风口风量测试及调整, 高效过滤器风口泄露检测, 房间压差梯度调节, 洁净度测试, 气流组织测试, 房间自净时间测试, 房间照度及噪声测试, 室内浮游菌及沉降菌检测 (甲方负责) , 室内温度、湿度测试及调整 (需自控配合) ;2) 普通舒适性空调系统调试:包括空调机总风量测试及调整, 风口风量测试及调整;3) 一般排风系统调试:包括排风机组总风量测试, 排风口有无排风检测;4) 防排烟系统调试:包括消防报警联动测试, 排烟风口有无排风检测;5) 层流罩调试:包括层流罩风速测试及调整, 层流罩气流组织测试。
2 调试准备方案
空调系统调试一般开始于净化安装工程后期, 待项目技术员检查确认现场通风与空调工程相关设备及管道安装完毕, 保温工程基本结束, 并且与其他专业做好相关交底沟通工作后, 方可着手准备空调系统调试的相关准备工作。下面着重列举几条其他专业对空调系统调试工作的影响和需注意的事项。
2.1 装修专业
净化装修工程中内装与通风空调是紧密联系的, 尤其是像药厂这种对洁净度要求很高的洁净厂房, 一般情况下净化空调系统调试都是在洁净室 (十万级、万级、千级、百级或者局部百级) 内完成的, 所以装修专业工程进行的如何会直接影响到空调系统调试的进度与质量, 暖通工程师与装修工程师需在调试进行之前尽快沟通好各自专业进展情况如何, 妥善安排各自专业的进程, 避免在调试进行以后发现各自专业存在相互影响, 尤其需要注意以下几点:1) 洁净室内所有环氧自流平地面的施工与修补工作已进行完毕, 尽量检查全面, 避免在调试时出现地面重新修复需打磨的情况。2) 洁净室内外所有配套的门窗已安装完毕。3) 洁净室围护结构所包含的顶板、墙板、包柱、收边等已全部完工, 积极核查业主下发变更单, 避免洁净室内围护结构变动的情况出现, 一旦房间面积出现变化会直接影响到风量及压差平衡的调节。4) 顶板及墙板上已开洞及需要还未开洞的需与各专业沟通好, 比如压差表是否安装完毕, 设备管路的二次配是否完成, 设备及管道需提前安装, 开洞处该封堵的提前封堵起来, 保证洁净室内的围护结构具有足够的气密性。5) 撕膜打胶需提前完成, 并且在调试之前必须做到2次~3次较全面的室内保洁 (包括顶板、墙板、地面、室内设备及管路等) 。
2.2 管道专业
管道专业对暖通专业的调试影响不大, 但还是有几点需要注意的, 首先管道专业在洁净室附近的管路试水打压需提前完成, 有时我们在洁净室内测洁净度时突然吊顶上管道打压试水作业漏水渗入洁净室内, 导致调试不得不中止。其次管道专业的二次配需提前完成, 而且彩钢板孔洞密封措施需做好, 不要有遗漏的。
2.3 电气专业
在空调系统调试中, 电气专业与调试也是密切相关的, 调试之前需与电气专业工程师沟通好所有通风设备是否已供电能正常运转。在调试之前的准备工作中还有项重要工作就是电气工程师配合暖通工程师一起检查设备的正反转, 尤其是空调机组、排风机组、层流罩等主要设备, 正反转调试要在调试之前全部完成。
2.4 自控专业
药厂空调系统运行时一般会分为五种模式:启动运行、消毒、消毒排风、值班、停机。在后期空调系统正常投入使用后, 五种模式的切换间自控系统需保证所有空调机组、排风机组等设备能够正常开关, 电动调节阀门能够随之准确联动, 这就要求在自控调试时, 暖通工程师与自控工程师必须全程参与其中, 必须保证在自动控制信号输出时电动调节阀门能够准确做到联动, 并且阀门的阀柄与阀叶能够灵活转动, 不出现卡死的情况, 如发现需及时维修或者更换。
对于暖通工程师来说, 其实空调系统的调试准备工作从项目一进场就开始了。一般情况下药厂的空调系统比较多, 像亚宝药厂空调系统就有大大小小19个, 工程师在采购设备时不能完全按照设计院设计的设备参数来订货, 设计院给的参数只能拿来参考, 不要等到调试时突然发现有系统总风量不够, 房间压差达不到要求才想起来, 那时想重新修改参数来订货已经来不及了, 亚宝项目我们就遇到2个系统调试到最后发现送风量还是不够, 最后跟业主沟通后不断降低房间换气次数才勉强达到了压差平衡。所以在项目一开始, 项目暖通工程师或者请经验比较丰富的工程师一定要根据蓝图来审核需要订货的设备参数, 尤其是空调机组霍刚药厂空调系统调试方案和排风机组 (特别是连接到洁净室的) 的风量和风压, 这是调试能否成功的最关键之处。借鉴亚宝项目的调试经验, 下面列举一些调试之前暖通工程师需重点做的准备工作:
1) 确保风管吊装准确无误, 不要出现回风管接排风主管、送风管接回风主管这种情况, 尤其是风管、水管吊装密集的区域, 如果管路接错一是调试时不易发现问题出在哪, 二是就算发现了也不易修改, 影响调试工期。
2) 依照蓝图检查所有电动阀、防火阀、手动阀门等是否安装到位, 阀门打开关闭是否灵活自如, 调试前所有阀门均打到开启状态 (除了消毒排风的风阀) 。
3) 在空调机空吹时, 逐路检查风管的漏风情况, 尤其是有无盲板未装, 风管有无踩断、踩裂的情况, 着重检查风管末端、三通、四通、弯头等易遭破坏的地方。
4) 除非是业主坚持要求, 否则风口接口不建议用帆布软连接, 直接采用镀锌铁皮硬接, 根据亚宝项目的经验 (亚宝所有风口均采用帆布软连接) , 调试过程中不断发现软连接遭到有意或无意破坏的情况, 以免严重影响到风量测试, 见图1。
5) 调试之前建议风管的保温工作需全部完成, 尤其是末端支管和阀门处, 如果等到调试时还在保温, 容易移动阀门的阀柄位置, 会对压差调试产生很大影响。
6) 调试之前空调机组需空吹24 h以上 (空调机初效、中效滤袋全部拆下妥善保管) , 并且空调机空吹与洁净室内保洁最好能同时进行, 二次空吹后在空调机原初效、中效滤袋和回风口处贴上无纺布, 避免空吹造成洁净室和风管内二次污染, 调试之前再将无纺布拆掉, 将初效、中效滤袋安装到原位。
7) 空吹时通风技术员要逐个检查每个风口是否能明显送风, 如发现有风口不送风的马上检查风阀开关情况及相应的风管管路连接情况 (尤其检查是否有严重漏风情况) 。
针对药厂空调系统调试要求高 (尤其是洁净度和压差平衡) 、工作内容多、周期长、影响因素多等特点, 以及亚宝项目总结出的经验, 调试之前的这些准备工作一定要及时完成, 避免调试时交叉影响工期。
3 调试方案
3.1 调试目的
空调系统调试旨在解释、检测及验证该项目洁净厂房通风与空调系统设计的合理性及工程安装结果, 并通过一定的调试方案对该项目的通风与空调工程的综合性能进行检测和验证。
3.2 调试流程
考虑到调试过程中会出现各种影响调试数据的因素, 下面总结出一套比较常规的调试流程, 避免调试过程中出现不必要的麻烦, 见图2。
3.3 调试过程中容易出现的问题
1) 洁净度容易不达标。出现这种问题的原因主要有两个, 一是洁净室内卫生清理不到位, 保洁工作做得不充分;二是洁净管制不到位, 导致室外的污染源容易带到室内, 同时室内的产尘作业也更容易发生, 破坏室内的卫生环境。这需要工程师及时通知业主及其他专业施工队, 严格实行洁净管制, 严格控制人流、物流的进出入, 洁净服、口罩、手套等着装到位, 禁止调试期间出现室内产尘作业。洁净度等级及悬浮粒子浓度限值见表1。
pc/m3
注:1) 本表仅表示了整数值的洁净度等级 (N) 悬浮粒子最大浓度的限值;2) 对于非整数洁净度等级, 其对应于粒子粒径D (μm) 的最大浓度限值 (Cn) , 应按下列公式计算求取:Cn=10n× (0.1/D) 2.08;3) 洁净度等级定级的粒径范围为0.1μm~5.0μm, 用于定级的粒径数不应大于3个, 且其粒径的顺序差不应小于1.5倍
2) 风量不够。调试期间发现空调机总风量或者风口风量不够, 导致这种情况的原因很多, 下面着重介绍:a.风量不够往往是跟漏风联系在一起的, 这也体现了在做药厂净化装修中漏光实验和漏风实验的重要性。在项目进行到中后期时, 往往由于管理不善会导致夹层里的风管多多少少会受到损坏, 尤其是三通、四通、柔性连接处, 这些地方容易被踩坏导致漏风严重。漏风量测定值一般应为规定测试压力下的实测数值。特殊条件下, 也可用相近或大于规定压力下的测试代替, 其漏风量可按下式换算:Q0=Q (P0/P) 0.65。其中, P0为规定试验压力, 500 Pa;Q0为规定试验压力下的漏风量, m3/ (h·m2) ;P为风管工作压力, Pa;Q为工作压力下的漏风量, m3/ (h·m2) 。b.工程师在提材料计划时没有据实核算空调机组参数, 在考虑现场实际漏风量和系统阻力的情况下, 往往会导致空调机到场后无法满足现场的实际风量需求。c.工程师尽量控制空调机房内的系统阻力。比如空调机的尺寸尽量符合机房本身的尺寸, 除非机房本身实在太小, 空调机尽量做成卧式, 不要做成立式, 立式空调机组本身系统阻力太大, 从本次亚宝项目空调调试来看, 本项目两台立式空调机组是效果最差的, 而且还是在订货时考虑了13%的经济余量的情况下。还有机房内的大风管尽量做到横平竖直, 从而减少局部压力损失。d.风阀没有正常开关, 当发现风口风量不够时, 一定要从风口处开始逐路检查风阀的开关情况, 而且药厂的空调系统都有消毒模式的, 调试时一定要仔细检查消毒排风的控制阀处于关闭状态。
3) 房间压差不稳定, 经常发生变化。做洁净厂房的人都知道, 一般情况下, 电子厂房的压差梯度调试后不会发生太大变化, 但是药厂的压差经常会出现波动, 这是跟药厂房间布局严密和空调系统模式多等特点紧密相关的, 所以在调试过程中, 现场技术员要反复的检查风阀的开关情况和风管的漏风情况 (特别是柔性连接处) , 尤其是在各种模式切换的情况下, 一个阀门没开就会影响一个系统整体的压差平衡。
4 结语
本文从一般药厂空调系统调试为依托的工程实际建设经验, 来阐述一般药厂空调系统调试的具体要求以及空调系统调试的过程和方法, 从而了解实际工程建设对空调系统调试的重要性。
参考文献
[1]GB 50243—2002, 通风与空调工程施工质量验收规范[S].
【仿真调试系统】推荐阅读:
模拟调试系统06-30
系统现场调试09-05
电气系统调试09-28
DCS系统调试11-09
气体灭火系统的调试09-02
数控系统连接与调试08-19
辅助变压器系统调试01-06
系统调试作业指导书10-13
核电站KSN系统调试06-19
地铁供电系统电力监控调试简述12-17