S7-200PLC PID和模拟量要点

S7-200PLC  PID和模拟量要点
S7-200PLC  PID和模拟量要点

S7-200PLC 模拟量处理&PID汇总

该资料分为两部分,上半部分主要讲了模拟量模块的信号处理和接线方式。下半部分主要讲了PID 参数功能汇总和注意事项,以及某些问题的解决方法。可根据需要看自己需要的那部分资料。

模拟量模块接线和数据处理

。EM235 是最常用的模拟量扩展模块,它实现了4 路模拟量输入和1 路模拟量输出功能。模拟量扩展模块的接线方法,对于电压信号,按正、负极直接接入X+和X-;对于电流信号,将RX 和X+短接后接入电流输入信号的“+”端;未连接传感器的通道要将X+和X-短接。对于某一模块,只能将输入端同时设置为一种量程和格式,即相同的输入量程和分辩率。

224XP自带2路模拟量输入和1路模拟量输出。

224XP模拟量部分的共6个端子,分别是模拟量输出的M、I、V和模拟量输入的M、A+、B+。

输出的M与电源的M等电位,V对M输出0-10VDC,I对M输出0-20mA。但V、I只能使用其一,不能同时使用。

输入的A+对M,B+对M都是输入0-10VDC,两路模拟量输入共用1个M 端子;对应AIW0、AIW2的值是0-32000

0--10V电压信号和4--20mA电流信号举一例:

如下图:

模拟电压输入(电流输入、输出与电压接线相似)

模拟电压输出

224XP没有电流输入端子。如果要输入电流0-20(或4-20)mA,要并联1个电阻,将电流输入转换成电输入。/

CPU 224XP分两种,一是:CPU 224XP DC/DC/DC ;二是:CPU 224XP AC/DC/继电器

模拟量都是:2输入1输出。模拟量输入类型:单端输入;电压范围:±10

V ;数据字格式,满量程:- 32,000 至+ 32,000

模拟量输入接线端子是:M, A+, B+

解释如下:第一个模拟量输入:M与A+之间仅可以输入电压,不可输入电流,可以是正电压,也可以是负电压,两端之间电压不是20伏,可以是正10伏,也可以是负10伏。

第二个模拟量输入:M与B+之间同上。

补充一点:如果有电流信号时如何办?如果有可以输入电流信号的模块当然可以解决了。如果仅有CPU224XP模块,可以采取变通的办法,那就是将电流信号变更为电压信号:在电流信号的两端接入一电阻,然后取电阻两端的电压信号即可,当然电阻的值需要经过计算,在电流最大值时,电阻两端的电压最大值是10伏。这样可以变通的将电流信号变更为电压信号。

比较全面的s7-200模拟量接线

目前使用最广泛的是集成两线制信号变送器. 它可将传感器信号变送为4~20 mA 的电流信号输出, 而且输出信号线与电源线复用. 两线制变送的突出优点是现场变送器与控制室仪表之间的联系仅仅使用两根双绞线, 这两根双绞线既是供给变送器工作的电源线, 又是信号输出线. 同时变送器与二次仪表的接口采用两线制可使线路简化, 接口简单。

二线制的变送器对电源的消耗是有上限的,一个使用24V输出4~20mA的变送器,它的最大功率允许消耗是480mW,如果可能超过这个限度,则输出失准,就不能设计成二线制的仪表,就必须电源线和信号线分开。

至于二线制、四线制仪表的选用,能用二线制就尽量用二线制的。之所以有四线制的存在,一个原因是上面说的电源消耗问题,另一个原因是早期电子技术的局限性及成本考虑,因为二线制电路用到的IC,尤其高精度的IC,其成本是相当不菲的。

温变的n线制有两种意思:

一是指变送器的供电/信号传输方式。通常不加说明的情况下,几线制是指这情况。

2线制是在一对导线上,在供电的同时进行信号传输;

3线制是供电/信号各用一根专线,同时共用一根负/地线;

4线制是供电/信号各用两根专线。

二是指测量(输入)使用几根线:

热电偶测温通常只需2线;

热电阻测温可以用2线,但会因为导线的电阻随温度变化而引入较大的误差;3、4线可以很好的消除导线的温度影响,但4线因性价比的关系只有要求极高的情况下才会用,工业上一般采用3线。

一般情况下

两线制传感器指的是电流输出(如4-20mA)的,一根是信号线,一根是电源线,信号线和供电是共用的两根,即既作为传感器的供电,又作为信号的输出,至于正负,就测量输出电压就可以判断了。

三线制传感器指的是电压输出(如0-5V)的,一根是信号线,一根是电源线,一根是公共线,三线制:信号线和电源输入共用一个0V的公共端。其他一样。

四线制传感器指的是毫伏电压输出(如0-20mv),一根是信号+,一根是信号-,一根是电源+,一根是电源-。四线制:信号线和电源输入是完全分开的,两根供电,两根输出,正负判断同样量输出电压即可。

这个各个厂家对传感器线的颜色定义可能不能,不能单独的从线的颜色上分辨,有的传感器可能没有加反向保护,如果接错线,可能会导致传感器电路损坏。

最好的办法就是参照附件说明书上接线。

四线制说的是变送器(即传感器)采用四根线,其中两根为电源线(需要外接电源单独供电),另外两根为信号线(传输4-20mA信号),接到AI模块上;而两线制是变送器采用两个线,这两根线既是信号线又作为电源线,接到AI模块上,理所当然的变送器的电源由AI模块提供

在模拟量参数设置中:

1.组态为2线制时,模块除了采集信号还给传感器供电

2.组态为4线制时,模块只采集信号,传感器由外部供电

两线制是指;电源24V正接到仪表的正端,然后由负端的信号进入模块的正端,模块负端出来的线接到COM端也就是24V负端!从而采集信号。四线制仪表是仪表需要独立的供电电源,如24V直流和220V交流。给仪表供电。然后由仪表的信号输出端输出信号直接接入模块的信号输入端子即可。模拟量输入是采集外部模拟信号进行转换就可以了如温度0-100摄氏度如果是电流4-20MA在西门子200里的工程量就是6400-32000了!这样你就换算得出实时的当前温度。输出也是换算就可以了!西门子200PID使用向导自整定就可以完成的!只要是PID往往就会有模拟量!

两线制电流和四线制电流都只有两根信号线,它们之间的主要区别在于:两线制电流的两根信号线既要给传感器或者变送器供电,又要提供电流信号;而四线制

电流的两根信号线只提供电流信号。因此,通常提供两线制电流信号的传感器或者变送器是无源的;而提供四线制电流信号的传感器或者变送器是有源的,因此,当PLC的模板输入通道设定为连接四线制传感器时,PLC只从模板通道的端子上采集模拟信号,而当PLC的模板输入通道设定为连接二线制传感器时,PLC 的模拟输入模板的通道上还要向外输出一个直流24V的电源,以驱动两线制传感器工作。

传感器型号:

1、两线制(本身需要供给24vDC电源的,输出信号为4-20MA,电流)即+接24vdc,负输出4-20mA电流。

2、四线制(有自己的供电电源,一般是220vac ,信号线输出+为4-20ma 正,-为4-20ma负。

PLC:

(以2正、3负为例)

1、两线制时正极2输出24VDC电压,3接收电流),所以遇到两线制传感器时,一种接法是2接传感器正,3接传感器负;跳线为两线制电流信号。二种接法是2悬空,3接传感器的负,同时传感器正要接柜内24vdc;跳线为两线制电流信号。

(以2正、3负为例)

2、四线制时正极2是接收电流,3是负极。(四线制好处是传感器负极信号与柜内M为不同电平时不会影响精度很大,因为是传感器本身电流的回路)遇到四线制传感器时,一种方法是2接传感器正,3接传感器负,plc跳线为4线制电流。

(以2正、3负为例)

3、四线制传感器与plc两线制跳线接法:信号线负与柜内M线相连。将传感器正与plc的3相连,2悬空,跳线为两线制电流。

(以2正、3负为例)

4、电压信号:2接传感器正,3接传感器负,plc跳线为电压信号。

PID功能参数及设置问题汇总

PID的调整关键在实践和经验。和多次的调整。你可把他分为粗调和微调。可按以下调整原则调整:

任何闭环控制系统的首要任务是要稳(稳定)、快(快速)、准(准确)的响应命令。PID调整的主要工作就是如何实现这一任务。PID调整方法。

增大比例系数P将加快系统的响应,它的作用于输出值较快,但不能很好稳定在一个理想的数值,不良的结果是虽较能有效的克服扰动的影响,但有余差出现,过大的比例系数会使系统有比较大的超调,并产生振荡,使稳定性变坏。

积分能在比例的基础上消除余差,它能对稳定后有累积误差的系统进行误差修整,减小稳态误差。

微分具有超前作用,对于具有容量滞后的控制通道,引入微分参与控制,在微分项设置得当的情况下,对于提高系统的动态性能指标,有着显著效果,它可以使系统超调量减小,稳定性增加,动态误差减小。

综上所述,P---比例控制系统的响应快速性,快速作用于输出,好比"现在"(现在就起作用,快),I---积分控制系统的准确性,消除过去的累积误差,好比"过去"(清除过去积怨,回到准确轨道),D---微分控制系统的稳定性,具有超前控制作用,好比"未来"(放眼未来,未雨绸缪,稳定才能发展)。当然这个结论也不可一概而论,只是想让初学者更加

快速的理解PID的作用。

在调整的时候,你所要做的任务就是在系统结构允许的情况下,在这三个参数之间权衡调整,达到最佳控制效果,实现稳快准的控制特点。

PID控制器的参数整定是控制系统设计的核心内容。它是根据被控过程的特性确定PID控制器的比例系数、积分时间和微分时间的大小。PID控制器参数整定的方法很多,概括起来有两大类:一是理论计算整定法。它主要是依据系统的数学模型,经过理论计算确定控制器参数。这种方法所得到的计算数据未必可以直接用,还必须通过工程实际进行调整和修改。二是工程整定方法,它主要依赖工程经验,直接在控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被广泛采用。PID控制器参数的工程整定方法,主要有临界比例法、反应曲线法和衰减法。三种方法各有其特点,其共同点都是通过试验,然后按照工程经验公式对控制器参数进行整定。但无论采用哪一种方法所得到的控制器参数,都需要在实际运行中进行最后调整与完善。现在一般采用的是临界比例法。利用该方法进行PID控制器参数的整定步骤如下:(1)首先预选择一个足够短的采样周期让系统工作﹔(2)仅加入比例控制环节,直到系统对输入的阶跃响应出现临界振荡,记下这时的比例放大系数和临界振荡周期﹔(3)在一定的控制度下通过公式计算得到PID控制器的参数。

PID参数的设定:是靠经验及工艺的熟悉,参考测量值跟踪与设定值

软件测试模拟题及答案

一、选择题 1、下列软件属性中,软件产品首要满足的应该是【A 】 A.功能需求B.性能需求 C.可扩展性和灵活性D.容错纠错能力 2、软件缺陷产生的原因是【 D 】。 A.交流不充分及沟通不畅;软件需求的变更;软件开发工具的缺陷 B.软件的复杂性;软件项目的时间压力 C.程序开发人员的错误;软件项目文档的缺乏 D.以上都是 3、导致软件缺陷的最大原因是【 A 】 A.规格说明书 B.设计 C.编码 D.测试 4、修复软件缺陷费用最高的是【 D 】阶段 A.编制说明书 B.设计 C.编写代码 D.发布 5、下列【 A 】不属于软件缺陷。 A.测试人员主观认为不合理的地方 B.软件未达到产品说明书标明的功能 C.软件出现了产品说明书指明不会出现的错误 D.软件功能超出产品说明书指明范围 6、软件测试的目的是【 B 】 A.避免软件开发中出现的错误 B.发现软件开发中出现的错误 C.尽可能发现并排除软件中潜藏的错误,提高软件的可靠性 D.修改软件中出现的错误 7、软件测试技术可以分为静态测试和动态测试,下列说法中错误的是【 D 】。 A.静态测试是指不运行实际程序,通过检查和阅读等手段来发现程序中的错误。 B.动态测试是指实际运行程序,通过运行的结果来发现程序中的错误。 C.动态测试包括黑盒测试和白盒测试。 D.白盒测试是静态测试,黑盒测试是动态测试。

8、白盒测试是根据程序的【 C 】来设计测试用例。 A.功能B.性能C.内部逻辑D.内部数据9、黑盒测试是根据软件的【 B 】来设计测试用例。 A.功能B.规格说明C.内部逻辑D.内部数据10、用黑盒技术设计测试用例的方法之一为【 A 】 A.因果图 B.逻辑覆盖 C.循环覆盖 D.基本路径测试11、坚持在软件的各个阶段实施下列哪种质量保障措施,才能在开发过程中尽早发现和预防错误,把出现的错误克服在早期【 A 】。 A.技术评审B.程序测试 C.改正程序错误 D.管理评审12、为了提高测试的效率,正确的做法是【 A 】。 A.选择发现错误可能性大的数据作为测试用例 B.在完成程序的编码之后再制定软件的测试计划 C.随机选取测试用例 D.使用测试用例测试是为了检查程序是否做了应该做的事 13、对程序的测试最好由【 B 】来做。 A.程序员 B.第三方测试机构 C.程序开发组 D.用户14、在边界值分析中,下列数据通常不用来做数据测试的是【 B 】。 A.正好等于边界的值 B.等价类中的等价值 C.刚刚大于边界的值D.刚刚小于边界的值 15、单元测试中设计测试用例的依据是【 D 】。 A.概要设计规格说明书B.用户需求规格说明书 C.项目计划说明书D.详细设计规格说明书 16、如果一个判定中的复合条件表达式为(A > 1)or(B <= 3),则为了达到100%的条件覆盖率,至少需要设计多少个测试用例【 B 】。 A.1 B.2 C.3 D.4 17、在某大学学籍管理信息系统中,假设学生年龄的输入范围为16—40,则根据黑盒测试中的等价类划分技术,下面划分正确的是【 B 】。 A.可划分为2个有效等价类,2个无效等价类 B.可划分为1个有效等价类,2个无效等价类

基于PLC的温度PID控制

基于PLC 的温度PID 控制 一、PID 算法 在工业生产过程控制中,模拟量PID (由比例、积分、微分构成的闭合回路)调节是常用的一种控制方法。运行PID 控制指令,S7-200将根据参数表中的输入测量值、控制设定值即PID 参数,进行PID 运算,求得输出控制值。 典型的PID 算法包括三项:比例项、积分项和微分项,即:输出=比例项+积分项+微分项 计算机在周期性地采样并离散化后进行PID 运算,算法如下: ++s d n c n n c n n X c n n i s T T M K SP PV K SP PV M K SP PV T T =?-? ?-+??-()()() c n n K SP PV ?-比例项:() s c n n X i T K SP PV M T ? ?-+积分项:() d c n n s T K SP PV T ? ?-微分项:() 二、PID 控制回路选项 常用的控制回路有PI 、PID 。 (1)如果不需要积分回路(即在PID 运算中无“I ”),则应将积分时间Ti 设为无限大。由于积分项Mx 的初始值,虽然没有积分运算,积分项的数值也可能不为零。(积分时间与积分效果成反比关系) (2)如果不需要微分运算(即在PID 运算中无“D ”),则应将微分时间Td 设定为0.0。(微分时间与微分效果成正比关系) 注:PID 参数设定的原则:先设比例放大系数(比例放大系数越大,回路的调节速度越快,但是比例放大系数过大,也会造成系统不稳定,产生振荡,所以要找一个合适的比例放大系数);再设

积分时间(用来消除余差) 三、回路输入量的转换和标准化 在PLC进行PID控制前,必须将其转换成标准浮点表示法。 (1)将回路输入量数值从16位整数转换成32为浮点数或实数。下列指令说明如何将整数数值转换成实数。 ITD AIW0, AC0 //将输入数值转换成双字 DTR AC0, AC0 //将32位整数转换成实数(0~32000) (2)将实数转换成0.0~1.0之间的标准化数值。 /R 32000.0, AC0 //使累加器中的数值标准化 +R 0.0, AC0 //加偏移量0 MOVR AC0, VD100 //将标准化数值写入PID回路参数表中 四、PID回路输出转换为成比例的整数 程序执行后,PID回路输出0.0~1.0之间的标准化实数数值,必须被转换成16位成比例整数数值,才能驱动模拟输出。 PID回路输出成比例实数数值=(PID回路输出标准化实数值-偏移量)×取值范围 MOVR VD108, AC0 //将PID回路输出送入AC0 *R 32000.0, AC0 //AC0的值乘以取值范围,变成成比例实数数值

51单片机常用外设(硬件)软仿真

51单片机常用外设(硬件)软仿真 (陕西师范大学物理学与信息技术学院,杨春江,西安,710062) 摘要:单片机体积小,功能强,具有很强的灵活性,具有逻辑判断,定时计数等多种功能,广泛应用于仪器仪表,家用电器,医用设备的智能化管理和过程控制等领域。以单片机为核心的嵌入式系统已经成为目前电子设计最活跃的领域之一。但在嵌入式系统的中,开发板成本高,特别是对于大量的初学者而言,还可能由于设计的错误导致开发板损坏。然而我们也发现基于51单片机的嵌入式应用几乎都要用到这几种常用外设硬件(51单片机,LED,LCD,RAM,键盘,D/A,A/D)。Proteus 就是一款功能强大的EDA仿真软件。它拥有丰富的库元件,尤其是动态外设的仿真极大地补充了其他仿真软件的不足;虚拟工具箱的引入为仿真测试提供了方便。 本文以51单片机为例具体分析了该软件在仿真微处理器及其外设硬件方面的独到之处,protues能有效的仿真51单片机及其常用外设硬件,大幅提高开发效率和降低开发成本。 关键词:51单片机Proteus软仿真常用外设(硬件) 0.引言 单片机应用技术所涉及到的试验实践环节比较多,而且硬件投入比较大。在具体的工程实践中,如果因为方案有误而进行相应的开发设计,会浪费较多的时间和经费。所以进行软件的软仿真是非常有用和必要的。有一点必须先肯定,软件仿真不能替代硬件仿真。 软件仿真只是对硬件的仿真模拟,但是软件仿真仍有必要。目标系统是千变万化的,需要开发者去实现。实现可能需要相当长一段时间,甚至完成后不能随意调试,因此有必要对目标系统进行模拟或仿真,以便开发、检测嵌入式软件。 外围设备软件仿真可以快速建立开发目标的模拟系统。由于各仿真部件是软件,因此只要部件存在,就没有采购、制作电路板的过程。将各部件按规则布置、用软件连接,就构成了目标模拟系统。 外围设备软件仿真可以使嵌入式的软件设计与硬件设计相对独立。软件设计者可以先在模拟软件上进行功能和逻辑测试,从而减少了对硬件的依赖。 外围设备仿真软件在一定条件下可以制作为检测硬件功能的工具。如果仿真部件的连接口可以转化为硬件接口,那么就可以在硬件上用软件仿真部件代替被仿真部件运行。 外围设备软件仿真可以降低开发成本。过去有时为了配合软件开发,需要在硬件开发初期制作一些测试硬件。而现在,硬件开发可以按自己的需要按部就班地进行,只要在必要时与软件设计者沟通就可以了。

实验一 MCS-51仿真调试软件伟福软件模拟器使用练习

实验一 MCS-51仿真调试软件伟福软件模拟器使用练习 一、实验目的 1.学习51系列仿真调试软件伟福6000软件模拟器的使用方法。 2.练习程序的录入、修改、编译方法。 3.练习程序的调试方法。 4.对程序进行模拟仿真运行。 二、实验设备 1.PC机(WINDOWS操作系统)。 2.HF-MC01单片机实验实训系统。 3. 伟福6000软件模拟器。 三、实验内容及步骤 1、运行WAVE 双击“WAVE”图标,进入仿真调试环境。最上行为提示行:伟福6000 软件模拟器(8***) [C:\WAVE\SAMPLES\***.PRJ]- [***- C:\WAVE\SAMPLES\***.ASM],其中,8***为要仿真的芯片,后面的.PRJ文件是你要调试的项目,最后一项是录入的源程序。(如果有项目文件,请点击菜单文件-关闭项目) 2、仿真器设置 使用语言设置:点击“仿真器——仿真器设置” 仿真器设置:点击“仿真器——仿真器设置——语言”,选择“伟福汇编器”“混合十、十六进制”;点击仿真器设置下的“仿真器”,选择 S51/S、 POD8X5X、8751(或AT89C51);在“使用伟福软件模拟器”选项上打“√”,点击“好”。完成软件模拟仿真器环境设置。 3、程序录入 请完成下列程序的录入(SY1.ASM)。(注意:录入源程序必须使用西文输入法) 录入源程序前先关闭项目,具体操作步骤是:点击“文件”——点击“关闭项目”;再按下述步骤进行录入操作。 录入步骤为:点击“文件”——点击“新建文件”,则显示器打开源程序录入窗口,文件名默认为NONAME1;将SY1.ASM录入并点击“文件”———点击“保存文件”。特别注意:保存文件时必须加上扩展名“.ASM”,并记录保存的文件夹路径。 ORG 0000H L1: MOV A,#02H MOV P1,A INC A MOV R0,A INC A MOV R7,A MOV 21H,A MOV 25H,21H SJMP L1 END 4、对录入的源程序SY1.ASM进行编译 编译步骤为:点击“项目———全部编译” 若编译完成,在左下角的“信息窗口”将显示生成两个文件SY1.HEX和SY1.BIN。 若源程序在格式上有错误,则在“信息窗口”中出现错误提示,请检查源程序,修改后

实验2 CCS Emulator硬件仿真环境的配置与使用

实验二CCS硬件仿真环境的配置与使用 一、实验目的 1.了解嵌入式DSP硬件仿真调试的过程; 2.学会自己配置CCS Emulator开发环境; 3.掌握CCS硬件仿真环境下的调试与运行。 二、实验内容 1、CCS硬件开发环境的熟悉; 2、CCS Emulator硬件仿真环境的配置与使用 3、CCS Emulator硬件仿真调试实例。 三、实验设备及工具 软件:PC机操作系统Windows XP环境、CCS2.0。 硬件:DSP开发板、TDS 510仿真器。 四、实验步骤 ? 1. 分发工具箱,检查开发套件是否完备,共6项,见列表。 如有配件不齐全,立刻向老师反应。本次试验会用到 1,4,5,6项; 1.DSP开发板; 2.并口连接线; 3.9口直连线 https://www.360docs.net/doc/d110819935.html,B黑色数据线 5.TDS510 Jtag仿真器

6.黑色电源适配器 , ? 2. 认识硬件电路;硬件连接。 *注意事项: Jtag口不支持、不允许热插拔;否则有可能损伤硬件 连接顺序: 1)仿真器连接开发板; 2)开发板利用电源适配器上电; 3)仿真器利用USB口上电;观察电源指示灯; 4)断电顺序与上述依次相反。 * 一定要按照顺序连接硬件,否则可能无法识别硬件。? 3.仿真器驱动安装自动安装usb-driver

按照提示从指定文件夹usb-driver中进行安装。

新硬件安装成功,查看设备管理器中图示红框处TITDS510-USB2.0,即为安装成功。 ? 4.开发板驱动安装 DSPice-usb2 setup.exe 按提示安装文件夹中的setup程序。

? 5.开发环境设置 setup ccs 双击打开ccs setup。Exe进行配置, 清除掉原有的configuration文件,选择54xxXDS510 emulator,然后进行配置。

单片机软硬件联合仿真解决方案

单片机软硬件联合仿真解决方案摘要:本文介绍一种嵌入式系统仿真方法,通过一种特殊设计的指令集仿真器ISS将软件调试器软件Keil uVision2和硬件语言仿真器软件Modelsim连接起来,实现了软件和硬件的同步仿真。关键词:BFM,TCL,Verilog,Vhdl,PLI,Modelsim,Keil uVision2,ISS,TFTP,HTTP,虚拟网卡,Sniffer,SMART MEDIA,DMA,MAC,SRAM,CPLD缩略词解释:BFM:总线功能模块。在HDL硬件语言仿真中,BFM完成抽象描述数据和具体的时序信号之间的转换。PLI:Verilog编程语言接口,是C语言模块和Verilog 语言模块之间交换数据的接口定义。TCL:字面意思是工具命令语言,是一种解释执行语言,流行EDA软件一般都集成有TCL。使用TCL用户可以编写控制EDA工具的脚本程序,实现工具操作自动化。ISS:CPU指令集仿真器,可以执行CPU的机器码。TFTP:简单文件传输协议,Windows的tftp.exe既是该协议的客户端实现。SMART MEDIA:一种存储卡,常用于数码相机、MP3。DMA:直接内存访问。用于外部设备之间高速数据转移。MAC:媒体接入控制器。本文中是指网卡芯片。前言传统的嵌入式系统中,设计周期、硬件和软件的开发是分开进行的,并在硬件完成后才将系统集成在一起,很多情况下,硬件完成后才开始进行实时软件和整体调试。软硬件联合仿真是一种在物理原型可用前,能尽早开始调试程序的技术。软硬件联合仿真有可能使软件设计工程师在设计早期着手调试,而采用传统的方法,设计工程师直到硬件设计完成才能进行除错处理。有些软件可在没有硬件支持的情况下完成任务的编码,如不涉及到硬件的算法。与硬件相互作用的编码在获得硬件之前编写,但只有在硬件上运行后,才能真正对编码进行调试。通过采用软硬件联合仿真技术,可在设计早期开始这一设计调试过程。由于软件的开发通常在系统开发的后段完成,在设计周期中较早的开始调试有可能将使这一项目提早完成,该技术会降低首次将硬件和软件连接在一起时出现意外而致使项目延期完成所造成的风险。在取得物理原型前,采用软硬件联合仿真技术对硬件和软件之间的接口进行验证,将使你不会花太多的时间在后期系统调试上。当你确实拿到物理原型开始在上面跑软件的时候,你会发现经过测试的软件部分将会正常工作,这会节省项目后期的大量时间及努力。软硬件联合仿真系统由一个硬件执行环境和一个软件执行环境组成,通常软件环境和硬件环境都有自己的除错和控制界面,软件通过一系列由处理器启动的总线周期与硬件的交互作用。本文以一个Mini Web卡的开发介绍一种软硬件联合仿真系统。[!--empirenews.page--]该方案的核心是采用一个51单片机仿真引擎GoldBull ISS51(以下简称ISS51),ISS51是51单片机开发环境Keil uVision2的一个插件,ISS51具有连接Keil 和硬件仿真环境Modelsim的接口,可以实现软硬件同步仿真。在该系统中,Keil作为软件调试界面,Modelsim作为硬件仿真和调试界面,ISS51负责软件执行、监控软件断点、单步执行、内存和寄存器数据返回给Keil、CPU总线时序产生和捕获、内部功能模块(如定时器,串口)的运行等功能。Mini Web卡介绍Mini Web卡是一个运行在单片机上的Web服务器,提供网口连接,有大容量文件系统,提供TFTP和HTTP服务。尽管软件系统比较复杂,但优化编译后,执行代码还不足25K,为后续升级留下了足够空间。 51CPU采用SST89系列,这种CPU具有ISP功能,可以通过RS232串口,直接将目标码下载到CPU。DMA控制逻辑是一个可编程逻辑器件,采用的是ALTERA的CPLD EPM240,主要功能是实现外围器件之间的DMA传递。因为51CPU进行IO访问是很低效的,需要24个时钟周期才能进行一次IO访问,在外围设备之间转移数据则需要更多的时钟周期,使用DMA控制逻辑可以达到3个时钟周期就能转移一个字节。本系统中处理多种网络协议,需要大量报文收发和文件系统访问,采用DMA可以极大地提高51单片机的数据处理速度。DMA通道主要有MAC芯片与RAM之间的数据块转移,SMART MEDIA和RAM之间的数据块转移。网卡芯片采用的是AX88796,主要的优点是可以和51CPU方便地接口;支持100M以太网,速度高;有较大的接收报文缓存,能够平滑网络流量,减少因51CPU处理速度慢导致的报文丢弃和重发。SMART MEDIA是一个移动存储卡,主要用于存储文件,Mini Web卡支持8M到256M的SMD卡。文件系统是Mini Web卡的新开发模块,

调试与测试软硬件设计

系统测试软硬件设计 本课题所采用的单片机P89C668内部带有ISP和IAP的片内Flash存储器,其内部有Boot-Rom用于引导RS232 串口下载程序。本课题正是通过程序直接下载到单片机运行调试而不需要仿真器,以减少程序现场运行的不稳定性。以及为了配合本转换器在线调试功能,特意开发了具有输入输出字符功能的串口调试程序,以便观察内部运行的相关状态来进一步完善程序;同时为了使本系统具有很强的应用灵活性能,还开发了通过串口进行相关内部参数的设定的程序,从而使其可以适应不同的系统中[39]。 1 RS232串口硬件的实现 本串口硬件电路采用传统的电平转换芯片MAX232来进行TTL与RS-232C之间的电平转换,由于其内部有专门的升压电路,因此外部只须单一+5V供电,接口方便实用,芯片不易损坏具体电路如图6-1所示。 图6-1 串口扩展电路 2 RS232串口软件实现 串口软件中,由于程序下载软件有专门的厂家提供,不用具体介绍。在本课题中进行程序调试和参数设置所需的输入输出程序设计,主要包括串口中断子程序中将接收的数据存入串口接收缓冲区、将串口发送缓冲区的数据通过串口发送出去、 从串口缓冲区读字符、向串口发送缓冲区写字符、以及利用以上子程序进行进行发送各种格式的数据等(字符型、十六进制、IP格式等)。

3 串口中断子程序实现 串口中断函数在接收中断处理中负责对串口数据的接收,且只将接收数据放到接收缓冲区,接收缓冲区ComRxdBuf大小可根据需要进行调整,由两个指针管ComRxdWrite和ComRxdRead进行管理;其中ComRxdWrite 为接收缓冲区写指针,ComRxdRead为接收缓冲区读指针,且程序以比较此二指针来判断发送缓冲区是否有数据。COM_RXD_BUFF_SIZE 为接收缓冲区容量最大值(数组)。在发送中断处理中只负责处理发送缓冲区的数据输出到串口,输出缓冲区由指针ComTxdRead和ComTxdWrite管理,其中ComTxdWrite 定义为接收缓冲区写指针,定义ComTxdRead为接收缓冲区读指针,且程序以比较此二指针来判断发送缓冲区是否有数据,COM_RXD_BUFF_SIZE为发送缓冲区容量最大值(数组)。具体流程如图6-2所示。 发送中断子程序接收中断子程序 图6-2 中断子程序流程 4 其他串口处理函数[41] 完成上述中断子程序后,对接收和发送数据的处理只须对发送和接收缓冲区操作即可从而减少了程序的复杂性能。读取接收缓冲区一个数据由函数unsigned char Get_Char() 来完成,函数将读得的数据返回给调用此函数的主体来做进一步处理。同样,当要通过串口向外发送数据时则只须将所要发送的数据放入发送缓冲区,然后置发送中断标志位就可通过中断子程序自动将数据发送出去,由函数void Printf_Char(uchar ascii)完成此功能。具体流程如图6-3所示。

如何使用Keil uVision2软件调试单片机程序

先说一个概念:调试,在企业程序设计里(我把企业商务类型的软件开发叫企业程序设计,把单片机与驱动程序这样接触底层汇编与硬件相关的程序设计叫底层程序设计),调试一般都用来跟踪变量的赋值过程,以及查看内存堆栈的内容,查看这些内容的目的在于观察变量的赋值过程与赋值情况从而达到调试的目的。由于企业程序的宿主就是开发它的计算机本身,因此企业程序设计比起底层程序设计,特别是单片机的程序设计调试来的更直观,调试也更方便。 单片机的程序设计调试分为两种,一种是使用软件模拟调试,意思就是用开发单片机程序的计算机去模拟单片机的指令执行,并虚拟单片机片内资源,从而实现调试的目的,但是软件调试存在一些问题,如计算机本身是多任务系统,划分执行时间片是由操作系统本身完成的,无法得到控制,这样就无法时时的模拟单片机的执行时序,也就是说,不可能像真正的单片机运行环境那样执行的指令在同样一个时间能完成(往往要完成的比单片机慢)。为了解决软件调试的问题,第二种是硬件调试,硬件调试其实也需要计算机软件的配合,大致过程是这样的:计算机软件把编译好的程序通过串行口、并行口或者USB 口传输到硬件调试设备中(这个设备叫仿真器),仿真器仿真全部的单片机资源(所有的单片机接口,并且有真实的引脚输出),仿真器可以接入实际的电路中,然后与单片机一样执行。同时,仿真器也会返回单片机内部内存与时序等情况给计算机的辅助软件,这样就可以在软件里看到真实的执行情况。不仅如此,还可以通过计算机断的软件实现单步、全速、运行到光标的常规调试手段。 图1:仿真器 总结一下两者的不同与相同: 相同点: 1:都可以检测单片机执行时序下的片内资源情况(如R0-R7 、PC计数器等) 2:可以实现断点、全速、单步、运行到光标等常规调试手段。

PLC闭环控制系统中PID123

引言 在工业生产中,常需要用闭环控制方式来实现温度、压力、流量等连续变化的模拟量控制。无论使用模拟控制器的模拟控制系统,还是使用计算机(包括PLC)的数字控制系统,PID控制都得到了广泛的应用。 PID控制器是比例-积分-微分控制的简称,具有 (1) 不需要精确的控制系统数学模型; (2) 有较强的灵活性和适应性; (3) 结构典型、程序设计简单,工程上易于实现,参数调整方便等优点。积分控制可以消除系统的静差,微分控制可以改善系统的动态相应速度,比例、积分、微分三者有效地结合可以满足不同的控制要求。 2 PLC实现PID的控制方式 2.1 PID过程控制模块 这种模块的PID控制程序是PLC生产厂家设计的,并存放在模块中,用户使用时序要设置一些参数,使用起来非常方便,一个模块可以控制几路甚至几十路闭环回路。 2.2 PID功能指令 现在很多PLC都有供PID控制用的功能指令,如S7-200的PID指令。它们实际上是用于PID控制的子程序,与模拟量输入/输出模块一起使用,可以得到类似于使用PID过程控制模块的效果。 2.3 用自编的程序实现PID闭环控制 有的PLC没有PID过程控制模块和PID控制用的功能指令,有时虽然可以使用PID控制指令,但是希望采用某种改进的PID控制算法。在上述情况下都需要用户自己编制PID控制程序。 3 PLC-PID控制器的实现 本文以西门子S7-200PLC为例,说明PID控制的原理及PLC的PID功能指令的使用及控制功能的实现。3.1 PID控制器的数字化 PLC的PID控制器的设计是以连续系统的PID控制规律为基础,将其数字化写成离散形式的PID控制方程,再跟据离散方程进行控制程序设计。 在连续系统中,典型的PID闭环控制系统如图1所示。图1中sp(t)是给定值,pv(t)是反馈量,c(t)是系统的输出量,PID控制的输入输出关系式为: 式中: M(t)—控制器的输出量,M0为输出的初始值; e(t)=sp(t)-pv(t)-误差信号; K C比例系数; T I-积分时间常数; T D-微分时间常数。

PIC单片机软件模拟器PICSIM及其使用

PIC单片机软件模拟器PICSIM及其使用 我们知道单片机开发工具,一般都包括实时在线仿真器(Emulator)和烧写器(Programmer),其中在线仿真器是很好的工具,价格也较高。对于一些想 节省开发成本的用户,也可以用软件模拟器(Simulator)来替代实时仿真器, 因为其成本一般都很低。用软件模拟器和烧写器可组成一套低成本的开发系统,如针对Microchip 著名的PIC 单片机系列有PICKIT,即由软件模拟器PICSIM 和烧写器PICPROG 构。(一)PIC 单片机软件模拟器PICSIM 功能特点PICSIM 即然称为软件模拟器,顾名思义即知它是一个纯软件,不需专门的仿 真板,专门用于模拟调试PIC 系列单片机的应用程序,具有如下功能特点: 1、工作平台:硬件PC 机(286 以上),软件DOS3.0 以上 2、通过键盘在电脑屏幕上调试应用程序,没有实时插座输出。 3、全屏幕、多窗口调试环境。单片机的所有资源都可以显示在屏幕上,并随着程序运行动态地变化,反映出单 片机的运行及资源情况。4、高级符号调试,用户可直接对符号变量进行操作。 5、断点设置,跟踪变量设置。 6、多种运行方式:单步、有限步长、快速模拟运行等。 7、用户可在线修改程序指令。 8、用户可在线修改寄存器值。 9、看门狗模拟。10、在线帮助,解释每个调试命令的作用和用法。(二)PIC 单片机软件模拟器PICSIM 调试屏幕PICSIM 是一个全屏幕,多窗口的调试环境,简明易用,优于传统的类似于Debug 的环境(如MPSIM)。图1 是PICSIM 屏幕各区域的功能和作用。从图1 可看出,程序运行情况及单片机的 资源情况都一目了然地显示在屏幕上。运行光条所指的位置是当前程序计数器(PC)所处的位置,另一个参数即指令运行计数(Pccount)显示出程序运行 中已执行过的指令条数。具体的使用方法细节读者可参考PICSIM 的使用手册,下面我们仅谈一些使用PICSIM 中的技巧。(三)PIC 单片机软件模拟器

S7-200PLC PID和模拟量

S7-200PLC 模拟量处理&PID汇总 该资料分为两部分,上半部分主要讲了模拟量模块的信号处理和接线方式。下半部分主要讲了PID 参数功能汇总和注意事项,以及某些问题的解决方法。可根据需要看自己需要的那部分资料。 模拟量模块接线和数据处理 。EM235 是最常用的模拟量扩展模块,它实现了4 路模拟量输入和1 路模拟量输出功能。模拟量扩展模块的接线方法,对于电压信号,按正、负极直接接入X+和X-;对于电流信号,将RX 和X+短接后接入电流输入信号的“+”端;未连接传感器的通道要将X+和X-短接。对于某一模块,只能将输入端同时设置为一种量程和格式,即相同的输入量程和分辩率。 224XP自带2路模拟量输入和1路模拟量输出。 224XP模拟量部分的共6个端子,分别是模拟量输出的M、I、V和模拟量输入的M、A+、B+。 输出的M与电源的M等电位,V对M输出0-10VDC,I对M输出0-20mA。但V、I只能使用其一,不能同时使用。 输入的A+对M,B+对M都是输入0-10VDC,两路模拟量输入共用1个M 端子;对应AIW0、AIW2的值是0-32000

0--10V电压信号和4--20mA电流信号举一例: 如下图: 模拟电压输入(电流输入、输出与电压接线相似) 模拟电压输出 224XP没有电流输入端子。如果要输入电流0-20(或4-20)mA,要并联1个电阻,将电流输入转换成电输入。/ CPU 224XP分两种,一是:CPU 224XP DC/DC/DC ;二是:CPU 224XP AC/DC/继电器 模拟量都是:2输入1输出。模拟量输入类型:单端输入;电压范围:±10

硬件调试流程及说明

硬件调试流程 硬件调试是一项细心的工作,一定要有耐心。硬件调试工具需要示波器、万用表等,同时需要主芯片调试开发软件及相应的仿真器。硬件调试首先要熟悉原理图原理和PCB布局,然后根据功能模块进行相关调试。调试流程如下。PCB裸板测试 PCB加工生产故障往往由于设计和加工制板过程中工艺性错误所造成的,主要包括错线、开路、短路。当用户的PCB板制作完毕后,不要急于焊接元器件,请首先对照原理图仔细检查印制电路板的连线,确保无误后方可焊接。应特别注意电源系统检查,以防止电源短路和极性错误,利用数字万用表的短路测试功能测量一下板上所有的电源和地有没有短路的。 然后检查系统总线(地址总线、数据总线和控制总线)是否存在相互之间短路或与其它信号线路短路。 对于需要SMT的PCB板,量小建议每个PCB板都进行一下检查,如果量大可抽样检查。检查完毕无异常后交由SMT焊接,SMT焊接资料有硬件工程师提供焊接用partlist,PCB工程师提供PCB的SMT相关文档。 如果是手工焊接,建议焊接3块,以便调试时进行比较,排除焊接异常出现的问题。并且焊接时建议根据功能模块进行焊接,功能模块调试完成后再焊接其他功能模块。焊接及调试的一般顺序如下: 电源 主芯片及外围最小系统,包括主芯片,晶振,复位电路 RAM,FLASH,串口外设 其他功能模块 按照这样的序调试焊接,优点在于能一步一步的排除问题点。假设,当你把主芯片,存储器都焊好,而且也调试可以工作了,再去焊你的电源,结果板上的电源部分出问题了,一个高压窜到了主芯片上,那后果不是很严重? 排除元器件SMT错误 SMT后,观察板上是否有下述现象 有漏贴的器件 有焊接不牢固的现象 有极性电容、二极管、芯片是否焊接方向有错误 芯片的相邻管脚焊接短路 小封装的无极性的陶瓷电容,电阻焊接短路 相同封装的芯片焊接错误 芯片管脚有虚焊,挂锡现象 。。。。。。

PicoBlaze软核的仿真与调试

PicoBlaze软核的仿真与调试 引言 PicoBlaze 是Xilinx 公司为Virtex、Spartan 系列FPGA 和CoolRunnerII 系列CPLD 设计的8 位嵌入式处理器软核。PicoBlaze 嵌入式处理器具有高达 44~100 MIPS 的指令执行速度,并具有效率高、占用资源少等优点,可以方便地嵌入到硬件系统设计中,实现与其他功能模块的无缝连接[1],在FPGA 嵌入 式系统中具有广泛的应用。传统的PicoBlaze 项目调试方法通常将PicoBlaze 的汇编程序编译后,与FPGA 相关逻辑综合、实现,然后下载到电路板上进行板 级验证,往往要花费大量时间,效率低下。本文介绍了一种基于pBlazIDE 的PicoBlaze 汇编程序仿真调试方法,并对基于JTAG Loader 的PicoBlaze 程序快速更新方法进行了详细分析。实践证明,该方法简便可行、效率较高,大大加 快了PicoBlaze 项目的调试进度。 1pBlazIDE 仿真调试工具 pBlazIDE 是一款免费的图形化仿真调试工具,只有145 MB,无需安装即可使用[1],非常适合于PicoBlaze 汇编程序的前期仿真验证。pBlazIDE 具有以下 功能: ◆按语法分色高亮显示代码; ◆指令集仿真器,可设置断点,并可查看寄存器和存储器内容; ◆源代码格式化; ◆KCPSM3 到pBlazIDE 导入功能,并自动完成语法转换; ◆支持语法分色高亮显示HTML 文件输出。 pBlazIDE 仿真调试工具窗口布局如图1 所示。pBlazIDE 仿真调试工具窗口 布局为标准的Windows 界面,主要包括菜单栏、工具栏、代码区、I/O 端口栏、

软件的设计与调试

4 软件的设计与调试 软件部分主要是用所编写的语言程序来配合相应的硬件电路,控制所设计 电路实现所预期功能的部分。C8051F120单片机的程序可以使用C语言,也可以使用汇编语言,或者是两者的结合,本设计使用C 语言编写程序实现拖拉机工况油耗仪功能。 软件部分分成几大模块来实现单片机的功能。程序主函数的设计,由于设 计中使用了相应的芯片,所以必须首先对相应的芯片进行初始化并对通讯串口芯片进行初始化、中断向量的设计以及开中断、循环等待等准备。程序的详细如附录中的程序部分所示。 4.1 初始化程序 对所有模块进行初始化,例如单片机的初始化、LED数码管显示的初始化等。程序如附录中所示。初始化是为了让系统正常工作,而给一些变量参数赋 以初值的程序。初始化程序主要任务是清屏幕。初始化模块,如图 4.1所 示。 系 统加电后进行初始化,测量系统进入起始状态,等待控制面板输入。系统检测控制面板输入,根据控制面板输入进入相应测量程序。 SFRPAGE = CONFIG_PAGE; WDTCN = 0xde; // Disable watchdog timer WDTCN = 0xad; OSCILLATOR_Init (); // Initialize oscillator PORT_Init_UART0 (); // Initialize crossbar and GPIO PORT_Init_UART1 (); // Initialize crossbar and GPI1 UART0_Init (); // Initialize UART0 UART1_Init (); // Initialize UART1 其中串口uart0 初始化如下 void UART0 { char SFRPA _Init (void) //uart0 初始化GE_SAVE; SFRPAGE_ SAVE = SFRPAGE; // Preserve SFRPAGE SFRPAGE = TMR2_PAGE; TMR2CN = 0x00; // Timer in 16-bit auto-reload up timer // mode TMR2CF = 0x08; // SYSCLK is time base; no output; // up count only RCAP2 = - ((long) SYSCLK/BAUDRATE/16);

基于keilc51集成开发环境的仿真与调试

基于Keil C51 集成开发环境的仿真与调试 一.实验目的 熟悉Keil C51 集成开发环境调试功能的使用和DP-51PRO 单片机综合仿真实验仪的使用。二.实验设备及器件 IBM PC 机一台 DP-51PRO 单片机综合仿真实验仪一台 三.实验内容 调试仿真功能是指DP-51PRO 单片机综合仿真实验仪运行单片机P87C52X2 内部的MON51 监控程序,把用户的应用程序装载到外部SRAM 中,从而实现运用Keil C51 集成开发环境所提供的所有调试命令来调试用户的应用程序或仿真用户的应用系统,然后按照以下内容建立文件并编译仿真调试。 ORG 8000H LJMP Main ORG 80F0H Main: MOV R7, #0 Loop: MOV R6, #0 DJNZ R6, $ DJNZ R6, $ DJNZ R6, $ DJNZ R6, $ DJNZ R7, Loop ;延时 CPL P1.0 ; P 1 .0 取反 CPL P1.1 ; P 1 .1 取反 CPL P1.2 ; P 1 .2 取反 CPL P1.3 ; P 1 .3 取反 CPL P1.4 ; P 1 .4 取反 CPL P1.5 ; P 1 .5 取反 CPL P1.6 ; P 1 .6 取反 CPL P1.7 ; P 1 .7 取反 SJMP Main ; END 四.实验要求 熟练掌握结合DP-51PRO 单片机综合仿真实验仪和Keil C51 集成开发环境进行仿真调试。五.实验步骤 1.用40 针排线把DP-51PRO 实验仪上的A1 区J76 接口和A2 区J79 接口相连,然后使用导线把A2 区的J61 接口与D1 区的J52 接口相连。 2.对DP-51PRO 实验仪上电,首先,在A1 区,把JP13 中的SRAM_E 和FLASH_E 两个跳线座的短路器拔走(即不短接),把MOD_SW1 开关拨到LOAD 模式,即在下载状态

PID算法在西门子PLC模拟量闭环控制中的实现

PID算法在西门子PLC模拟量闭环控制中的实现 摘要:本文主要针对PID算法在西门子PLC模拟量闭环控制中的实现展开分析,明确了如何在PLC模拟量闭环控制中更好的应用PID算法,提出了实现的思路和 具体的实现方法,可供今后参考。 关键词:PID算法,西门子,PLC,模拟量,闭环控制 前言 PID算法在西门子PLC模拟量闭环控制中的实现是十分关键的技术工作,一 定要采取更好的实现技术和方法,才能提高其实现的质量和效率,对于其中的关 键环节和技术必须要更加重视。 1、PID控制概述 PID控制是连续系统控制中广泛应用的一种控制方法,由于它结构改变灵活,可根据系统的要求,在常规PID调节的基础上进行多种PID变型控制,如PI、PD 控制,比例PID控制,不完全微分控制,带死区的PID控制等。而且不需要建立 精确的控制系统数学模型,有较强的适应性和灵活性。 我们都知道模拟量是指一些连续变化的物理量。而PLC是由继电器控制电路 引进微处理器技术后发展而来,可以方便、可靠地进行开关量的控制。PLC进行 模拟量控制,需要将模拟量转换成数字量,数字量的本质也就是开关量。经转换 后的模拟量,对有较强信息处理的PLC并不难。 2、PID算法的实现 在模拟量闭环过程控制领域内,扩展模拟量处理模块,如EM231、EM232、EM235,根据PLC提供的PID编程功能模块,只需设定好PID参数,运行PID控 制指令,就能求得输出控制值,实现模拟量闭环控制。 2.1PID算法 在模拟量的控制中,经常用到PID运算来执行PID回路的功能,PID回路指令使这一任务的编程和实现变得非常容易[。 如果一个PID回路的输出M(t)是时间的函数,则可以看作是比例项、积分项 和微分项三部分之和。即: M(t)=Kc*e+Kc∫t00tedt+M0+Kc*de/dt 以上各量都是连续量,第一项为比例项,最后一项为微分项,中间两项为积 分项。其中e是给定值与被控制变量之差,即回路偏差。Kc为回路的增益。用数 字计算机处理这样的控制算式,连续的算式必须周期采样进行离散化,同时各信 号也要离散化,公式如下: MPn=Kc*(SPn-PVn)+Kc*Ts/Ti*(SPn-PVn)+MX+Kc*Td/Ts?(PVn-1-PVn) 公式中包含9个用来控制和监视PID运算的参数,在PID指令使用时构成回 路表,。 2.2PID指令 使能输入有效时,该指令利用回路表中的输入信息和组态信息,进行PID运算。梯形图的指令盒中有2个数据输入端:TBL,回路表的起始地址,是由VB指定的字节型数据;指令LOOP,回路号,是0~7的常数。 指令格式:PIDTBL,LOOP 2.2.1PID回路号 用户程序中最多可有8条PID回路,不同的PID回路指令不能使用相同的回 路号,否则会产生意外的后果。

3软件调试程序的流程和方法.

用KEIL uvsion 3软件调试程序的流程和方法 (1)用汇编语言或C语言创建源程序 使用菜单“File->New”或点击工具栏的新建文件按扭,即可在项目窗口的右侧打开一个新的文本编辑窗口。编辑完文件后,保存该文件,注意必须加上扩展名(汇编语言源程序一般用asm或a51为扩展名)。 (2)创建一个项目,从器件库中选择目标器件,配置工具设置 点击“Project->New Project…”菜单,出现一个对话框,要求给将要建立的工程起一个名字(默认保存类型为uv3/uv2) 下一步,选择目标CPU(即你所用芯片的型号),(先选择生产该CPU的公司,然后点“+”,从下拉列表中即可看到具体的CPU),然后点击“确定”按钮回到主界面。此时在工程窗口的文件页中,出现了“Target 1”,前面有“+”号,点击“+”号展开,可以看到下一层的“Source Group1”,这时的工程是一个空的工程。 (3)向项目中添加源文件。 右击界面左边项目窗口中的“Source Group1”,选择“Add file to Group” Source Group1“,出现” Add file to Group” Source Group1“对话框。 在对话框下面的”文件类型“改为”*.*“,找到需加入的.asm文件,双击该文件名,即可把该文件加入项目。 (4)设置工程项目 点击左边Project窗口中的Target1,然后使用菜单”Project->Options for target “target1”“即出现对工程设置的对话框。共八个页面,大多数取默认值即可。 选几个比较重要的做下说明: Target页 Xtal:晶振频率值,默认值是所选目标CPU的最高可用频率值,该数值与最终产生的目标代码无关,仅用于软件模拟调试时显示程序执行时间。正确设置该数值可使用显示时间与实际所使用时间一致,一般将其设置成与你的硬件所用晶振频率相同。 Output页面 Creat Hex file:用于生成可执行代码文件,扩展名为HEX,可用编程器写入单片机芯片的文件。若要写片做硬件实验,必须选中该项。 (5)编译、连接

巧用虚拟串口软件调试串口通信

巧用电脑虚拟串口软件调试串口通信 殷建彬朱前华 笔者在试用Proteus这个软件的时候,在Labcenter Electronics\Proteus 6 Demonstration\SAMPLES\目录下看到COMPIM Demo这个例子,电路图如图1所示。它用虚拟串口物理模型(左侧的P1)和一个虚拟终端(右侧的VT1)通信。在使用这个例子的时候,笔者准备使用一个串口调试软件sscom32来检验一下,发现需要把电脑的两个串口连接起来,并且要串口2、3脚颠倒使用,当时手头没有这样的连线,也就没有进行这个试验。后来有一天突然想到软驱、光驱、打印机甚至PC都能虚拟,串口也应该可以吧?功夫不负有心人,终于在一个外国的网站上找到一个虚拟串口软件――Virtual Serial Ports kit。 虚拟串口的使用 Virtual Serial Ports kit在它的官方网站上下载到的最新版本是4.72,可惜只有15天的试用期。下载解压后点击setup.exe进行安装,安装的时候,要求你同意它的协议才能继续安装。然后一路“NEXT”,就可以安装成功了!安装完毕 点击桌面上的图标,出现图2所示的界面。点击工具栏的图标,出现了 如图3所示的对话框,这是让我们设置虚拟串口的。一般来说,电脑硬件上已经设置串口COM1和COM2,所以我们可以把虚拟串口设置成COM3和COM4,让这两个串口通讯,点击“OK”按钮,这个时候软件的界面变成了如图4所示 的界面了。如果发现工具栏上按钮是灰色,还需要点击一下,使它变成绿色, 这意味着两个串口可以正常通信了。 笔者先试验了一下这个软件。同时运行两个sscom32软件,既双击sscom32图标两次,软件的界面如图5所示。点击左侧串口选择下拉箭头,如图6,把运行的两个sscom32的串口分别设置为COM3和COM4(要和虚拟串口软件的一 致。)点击“打开串口”按钮,打开两个串口,使“打开串口”前面的 指示灯变为红色。这个时候我们就可以进行两个串口通信的试验了。在其中一个sscom32 要发送的栏里添上几个字母,然后点击的“发送”按钮,在另一个sscom32里就接收到刚才发送的字母了。 虚拟串口和Proteus结合调试串口通信 打开Proteus的ISIS,然后打开Labcenter Electronics\Proteus 6 Demonstration\SAMPLES\目录下的COMPIM Demo这个例子。右键点击P1,选中它,然后点击左键出现如图7所示的对话框。按照如图所示的情形设置P1的通信串口(COM3)、波特率(2400)等。先打开Virtual Serial Ports kit软件,软件的设置和上面的一样即可。然后运行sscom32软件,把它的串口设置为COM4(必须先运行Virtual Serial Ports kit,才会出现COM3和COM4口选择的),波特率要和P1的设置一致,以便他们之间能进行通信。 点击ISIS的右下脚的运行按钮,或者按F12,让Proteus模拟运行, 这个时候出现虚拟终端的对话框,如图8所示。在Sscom32的字符输入框里随

相关文档
最新文档