文档库 最新最全的文档下载
当前位置:文档库 › 实验七:模拟量输入输出实验

实验七:模拟量输入输出实验

实验七:模拟量输入输出实验

实验目的:

掌握EM235模块的使用方法

掌握S7-200模拟量输入输出的方法

实验环境:

THPFSM-1.2型实验台

PC机

Step7-Micro/Win软件

MCGS组态软件

实验原理:

1. EM235模块的接口连接,可参见EM235说明书(上网下载相关说明书,有相关毕业设计的同学会用到)

2. 模拟量输入输出原理:EM235的模拟量范围是0-5V(或0-10V,与设置有关),其对应的数字量是:单极性,全量程范围-32000~+32000

实验内容:

1. 实验任务:

(1)编写S7-MICRO/WIN程序,每隔1秒钟,VW0中的数值增加工厂100,将该值传送到VW2后向PLC的AQW0输出该数据,把EM235的模拟输出量接入直流电压表,

测量该值。

(2)编写上位机MCGS程序,读取下位机VW0中的数据并显示。

(3)编写上位机MCGS程序,对VW2中的数值进行处理,转化成其对应的模拟量后在MCGS中显示。注意,该值应与直流电压表中测量的结果一致。

(4)完善下位机程序,将AIW0中的数据送入VW4,和VW6。编写MCGS程序,在其中读取VW4中的数据并显示,注意该值是一个0-32000之间的数字量;在MCGS

中读取VW6中的数据并显示,注意该值是一个模拟电压值,其值可能在0-5或

0-10V之间。

2.编写下位机程序

参考代码如下(可参见有关资料):

3.编写MCGS工程

(1)增加实时数据库变量

AO(输出的模拟电压值),ShowAO(AQW0寄存器中的值);

AIA(输入的模拟电压值),AID(AIW0寄存器中的值);

(2)增加PLC的数据通道,如下图示:

增加了WB0,WB2,WB4,WB6四个数据通道,并将这四个通道与ShowAO/AO/AID,AIA四个数据库变量进行绑定。

(3)通道的数据处理

将AO处理为AO=AO/3200(依据:根据数模转换的公式,把数字量转化为其对应的模拟量)。将AIA处理为AIA=AIA/4800(依据,根据数模转换的公式,把数字量转化为其对应的模拟

量)。

(4)在MCGS用户窗口中增加四个标签控件,显示四个数据库变量,注意设置其小数位数。

(5)运行程序

a)连接PLC电源和地;

b)将实验面板上“直流可调电源”接入PLC的AI输入区中的A输入,将PLC的AO模

拟量输出区中的VO接“直流数字电压表”

c)同时运行PLC程序和MCGS程序,MCGS界面如下所示。

实验总结:(当EM235工作单极性模式,输入输出模拟量在0-10V之间,试写出此时的模拟量与对应的数字量之间的线性关系式。并用梯形图实现这种关系)

实验七:模拟量输入输出实验

实验七:模拟量输入输出实验 实验目的: 掌握EM235模块的使用方法 掌握S7-200模拟量输入输出的方法 实验环境: THPFSM-1.2型实验台 PC机 Step7-Micro/Win软件 MCGS组态软件 实验原理: 1. EM235模块的接口连接,可参见EM235说明书(上网下载相关说明书,有相关毕业设计的同学会用到) 2. 模拟量输入输出原理:EM235的模拟量范围是0-5V(或0-10V,与设置有关),其对应的数字量是:单极性,全量程范围-32000~+32000 实验内容: 1. 实验任务: (1)编写S7-MICRO/WIN程序,每隔1秒钟,VW0中的数值增加工厂100,将该值传送到VW2后向PLC的AQW0输出该数据,把EM235的模拟输出量接入直流电压表, 测量该值。 (2)编写上位机MCGS程序,读取下位机VW0中的数据并显示。 (3)编写上位机MCGS程序,对VW2中的数值进行处理,转化成其对应的模拟量后在MCGS中显示。注意,该值应与直流电压表中测量的结果一致。 (4)完善下位机程序,将AIW0中的数据送入VW4,和VW6。编写MCGS程序,在其中读取VW4中的数据并显示,注意该值是一个0-32000之间的数字量;在MCGS 中读取VW6中的数据并显示,注意该值是一个模拟电压值,其值可能在0-5或 0-10V之间。 2.编写下位机程序 参考代码如下(可参见有关资料):

3.编写MCGS工程 (1)增加实时数据库变量 AO(输出的模拟电压值),ShowAO(AQW0寄存器中的值); AIA(输入的模拟电压值),AID(AIW0寄存器中的值); (2)增加PLC的数据通道,如下图示: 增加了WB0,WB2,WB4,WB6四个数据通道,并将这四个通道与ShowAO/AO/AID,AIA四个数据库变量进行绑定。 (3)通道的数据处理 将AO处理为AO=AO/3200(依据:根据数模转换的公式,把数字量转化为其对应的模拟量)。将AIA处理为AIA=AIA/4800(依据,根据数模转换的公式,把数字量转化为其对应的模拟

工作室报告2——模拟量的输入输出

工程化模入模出的实现 班级:自动化093 姓名:吕凯 学号:2009023313

一、模拟量输入接口与过程通道 在计算机控制系统中,模拟量输入通道的任务就是把从系统中检测到的模拟信号,变成二进制数字信号,经接口送往计算机。传感器是将生产过程工艺参数转换成电参数的装置,大多数传感器的输出是直流电压(或电流)信号,也有一些传感器把电阻值、电容值、电感值的变化作为输出量。为了避免低电平模拟信号传输带来的麻烦,将温度、压力、流量的电信号变成0~10mA或4~20mA的统一信号,然后经过模拟量输入通道来处理。 1.1、模拟量输入通道的组成 模拟量输入通道的一般结构如图2-14所示。过程参数由传感元件和变送器测量并转换为电流(或电压)形式后,再送至多路开关;在微机的控制下,由多路开关将各个过程参数依次地切换到后级,进行采样和A/D转换,实现过程参数的巡回检测。 由2-14图可知,模拟量输入通道一般由I/V变换,多路转换器,采样保持器、A/D转换器、接口及控制逻辑等组成。 图2-14 模拟量输入通道的组成结构 1.2、信号调理和I/V变换 1、.信号调理电路 信号调理电路主要通过非电量的转换、信号的变换、放大、滤波、线性化、共模抑制及隔离等方法,将非电量和非标准的电信号转换成标准的电信号。信号调理电路是传感器和A/D之间以及D/A和执行机构之间的桥梁,也是测控系统中重要的组成部分。 (1)非电信号的检测-不平衡电桥 电桥将电阻,电感,电容等参数的变化变换为电压或电流输出的一种测量电路。由于电桥电路具有灵敏度高,测量范围宽、容易实现温度补偿等优点,因此被广

泛采用。图2-15所示为一个热电阻测量电桥,由三个精密电阻R1,R2,R3和热电阻R PT 构成。激励源(电压或电流)接到E 端。AB 两端接到测量放大电路。 一般情况下R2=R3,R1=100Ω,当测量温度为0℃时,R PT 100Ω(铂电阻分度号为Pt100),此时电桥平衡,输出电压V out =0.。当温度变化时,R PT 的阻值是温度的函数。 R PT (t )=R0+α(t)*t=R0+ΔR 式中,R0为0℃时的电阻值,α(t)是电阻温度系数,t 为被测量温度。在某温度情况下,即要产生不平衡电压ΔV ,由ΔV 即可推算出温度值。 用热电阻测温时,工业设备距离计算机很远,引线将很长,若采用两线制连接,由于电线电阻,容易产生误差,为此,热电阻采用三线制于调理电路相连,如图2-16所示。引线A 和引线B 分别接在两个可抵消的桥臂上,引线的常值误差及温度变化引起的误差一起被补偿掉,这种方法简单、价廉,实践中可用于百米以上距离。 图2-15 热电阻测量电桥电路 图2-16 热电阻三线制接线图

(完整版)S7-200模拟量输入输出实例

对输入、输出模拟量的 PLC 编程的探讨及编程实例解析 3134 人阅读| 4条评论发布于:2011-12-29 9:03:42对于初学PLC 编程的人来说,模拟量输入、输出模块的编程要比用位变量进行一般的程序控制难的多,因为它不仅仅是程序编程,而且还涉及到模拟量的转换公式推导与使用的问题。不同的传感变送器,通过不同的模拟量输入输出模块进行转换,其转换公式是不一样的,如果选用的转换公式不对,编出的程序肯定是错误的。比如有 3个温度传感变送器:(1)、测温范围为0~200 ,变送器输出信号为4~20ma (2)、测温范围为0~200 ,变送器输出信号为0~5V (3)、测温范围为-100 ~500 ,变送器输出信号为4~20ma (1)和(2)二个温度传感变送器,测温范围一样,但输出信号不同,(1)和(3)传感 变送器输出信号一样,但测温范围不同,这3个传感变送器既使选用相同的模拟量输入模块,其转换公式也是各不相同。 一、转换公式的推导 下面选用S7-200 的模拟量输入输出模块EM235 的参数为依据对上述的3个温度传感器进行转换公式的推导: 对于(1)和(3)传感变送器所用的模块,其模拟量输入设置为0~20ma 电流信号,20ma 对应数子量=32000 ,4 ma 对应数字量=6400 ; 对于(2)传感变送器用的模块,其模拟量输入设置为0~5V 电压信号,5V 对应数字量 =32000 ,0V 对应数字量=0 ; 这3种传感変送器的转换公式该如何推导的呢?这要借助与数学知识帮助,请见下图:

上面推导出的( 2-1 )、( 2-2 )、(2-3 )三式就是对应(1)、(2)、(3)三种温度传感变送器经过模块转换成数字量后再换算为被测量的转换公式。编程者依据正确的转换公式进行编程,就会获得满意的效果。 二、变送器与模块的连接 通常输出4~20ma 电流信号的传感变送器,对外输出只有+、- 二根连线,它需要外接24V 电源电压才能工作,如将它的+ 、- 二根连线分别与24V 电源的正负极相连,在被测量正常变化范围内,此回路将产生4~20ma 电流,见下左图。下右图粉色虚线框内为EM235 模块第一路模拟输入的框图,它有3个输入端,其A+与A-为A/D 转换器的+ - 输入端,RA 与A-之间并接250 Ω 标准电阻。A/D 转换器是正逻辑电路,它的输入是0~5V 电压信号,A- 为公共端,与PLC 的24V 电源的负极相连。 那么24V 电源、传感变送器、模块的输入口三者应如何连接才是正确的?正确的连线是这样的:将左图电源负极与传感器输出的负极连线断开,将电源的负极接模块的A- 端,将 传感器输出负极接RA 端,RA 端与A+ 端并接一起,这样由传感器负极输出的 4 ~20ma 电 流由RA 流入250 Ω标准电阻产生0~5V 电压并加在A+与A-输入端。 切记:不可从左图的24V 正极处断开,去接模块的信号输入端,如这样连接,模块是不会正常工作的。 对第(2)种电压输出的传感変送器,模块的输入应设置为0~5V 电压模式,连线时, 变送器输出负极只连A+,RA 端空悬即可。 三、按转换公式编程: 根据转换后变量的精度要求,对转换公式编程有二种形式:1、整数运算,2 、实数运算。请见下面梯形图: (A)、整数运算的梯形图:

S7-200模拟量输入输出实例

对输入、输出模拟量的PLC编程的探讨及编程实例解析 3134人阅读| 4条评论发布于:2011-12-29 9:03:42 对于初学PLC编程的人来说,模拟量输入、输出模块的编程要比用位变量进行一般的程序控制难的多,因为它不仅仅是程序编程,而且还涉及到模拟量的转换公式推导与使用的问题。不同的传感变送器,通过不同的模拟量输入输出模块进行转换,其转换公式是不一样的,如果选用的转换公式不对,编出的程序肯定是错误的。比如有3个温度传感变送器:(1)、测温范围为0~200 ,变送器输出信号为4~20ma (2)、测温范围为0~200 ,变送器输出信号为0~5V (3)、测温范围为-100 ~500 ,变送器输出信号为4~20ma (1)和(2)二个温度传感变送器,测温范围一样,但输出信号不同,(1)和(3)传感变送器输出信号一样,但测温范围不同,这3个传感变送器既使选用相同的模拟量输入模块,其转换公式也是各不相同。 一、转换公式的推导 下面选用S7-200的模拟量输入输出模块EM235的参数为依据对上述的3个温度传感器进行转换公式的推导: 对于(1)和(3)传感变送器所用的模块,其模拟量输入设置为0~20ma电流信号,20ma 对应数子量=32000,4 ma对应数字量=6400; 对于(2)传感变送器用的模块,其模拟量输入设置为0~5V电压信号,5V对应数字量=32000,0V对应数字量=0; 这3种传感変送器的转换公式该如何推导的呢?这要借助与数学知识帮助,请见下图:上面推导出的(2-1)、(2-2)、(2-3)三式就是对应(1)、(2)、(3)三种温度传感变送器经过模块转换成数字量后再换算为被测量的转换公式。编程者依据正确的转换公式进行编程,就会获得满意的效果。 二、变送器与模块的连接 通常输出4~20ma电流信号的传感变送器,对外输出只有+、- 二根连线,它需要外接24V电源电压才能工作,如将它的+、- 二根连线分别与24V电源的正负极相连,在被测量正常变化范围内,此回路将产生4~20ma电流,见下左图。下右图粉色虚线框内为EM235 模块第一路模拟输入的框图,它有3个输入端,其A+与A-为A/D转换器的+ - 输入端,RA 与A-之间并接250Ω标准电阻。A/D转换器是正逻辑电路,它的输入是0~5V电压信号,A-为公共端,与PLC的24V电源的负极相连。 那么24V电源、传感变送器、模块的输入口三者应如何连接才是正确的?正确的连线是这样的:将左图电源负极与传感器输出的负极连线断开,将电源的负极接模块的A-端,将传感器输出负极接RA端,RA端与A+端并接一起,这样由传感器负极输出的4~20ma电流由RA流入250Ω标准电阻产生0~5V 电压并加在A+与A-输入端。 切记:不可从左图的24V正极处断开,去接模块的信号输入端,如这样连接,模块是不会正常工作的。 对第(2)种电压输出的传感変送器,模块的输入应设置为0~5V电压模式,连线时,变送器输出负极只连A+,RA端空悬即可。 三、按转换公式编程: 根据转换后变量的精度要求,对转换公式编程有二种形式:1、整数运算,2、实数运算。 请见下面梯形图: (A)、整数运算的梯形图:

单片机教材_第7章模拟量输入及处理

第七章模拟量输入及处理 在很多应用场合需要测量模拟量,例如,在空调控制中需要测量温度。模拟量是连续变化的量,而计算机作运算处理时采用的是二进制表示的数字量。为了让计算机知道模拟量的大小,需要用一个称为模/数转换的装置,简称A/D转换,也称ADC。ATmega16中嵌入了一个8路10位逐次比较的A/D转换电路。转换后的数字量为10位二进制数,数字范围为0~1023。 7.1 ATmega16的模拟转换技术 ATmega16中的8路10位的A/D转换电路由多路切换开关、放大器、10位DAC转换、及转换逻辑电路、控制寄存器等组成。 与A/D转换有关的引脚有模拟地(AGND)、模拟电源(A VCC)、参考电压(AREF)、模拟量输入通道引脚PA0~PA7,引脚名为ADC0~ADC7。应用电路中所有的模拟地应集中在一起后,一个单点与数字地连接。A Vcc与Vcc差值应小于0.3V,可通过RC滤波网络与Vcc连接;参考电压AREF的电压范围在AGND~A Vcc之间,AREF的大小决定了转换电压的范围。8个模拟输入通道用的是PA口,它是一个双功能口,既可以作普通的I/O接口也可以作模拟量输入口。可以用其中的几路作模拟量输入口,其它几路作一般的I/O口。模拟量输入引脚上电压的范围在AGND~AREF之间是有效的。 为了使A/D转换正常工作,系统配置了5个专用寄存器ADMUX、ADCSR、ADCL、ADCH、SFIOR,在C语言应用中它们由头文件mega16.h定义为特殊变量,变量名与寄存器名相同。下面分别介绍如下: ADC数据寄存器——ADCL和ADCH 这是两个8位的寄存器,用来存放AD转换的结果。AD转换的结果是10位的,有两种存放方式,一种是结果的低8位放在ADCL中,高2位放在ADCH的低2位,其它6位为0,称为右对齐格式。另一种是结果的高8位放在ADCH中,低2位放在ADCL的高2位,其它6位为0,称为左对齐格式。在C语言编程时,头文件mege16.h把这两个字节合并为一个字ADCW,专门用来存放转换结果。 右对齐:ADLAR=0时 位: 位: 左对齐:ADLAR=1时 位: 位:

西门子S7模拟量输入输出

西门子S7-300模拟量输入输出 一、实验目的 1、熟悉S7 - 3 0 0可编程控制器模拟量接线及硬件组态方法。 2、熟悉STEP7编程环境。 3、熟悉STEP7编程及调试过程。 4、熟悉程序中状态信息传递的方法 二、实验器材 1、PC机一台 2、S7-300实验系统一套 三、实验内容及步骤 1、模拟量输入设置: 新建一个项目,插入S7-300的站点,进行硬件组态,组态完后双击硬件中模拟量输入输出模块(插槽5,订货号:6ES7 334-0KE00-0AB0),会弹出属性对话框,点击“输入”按钮对其输入属性设置,如图1所示,其中第0、1通道在激活时必须同时设置为10000欧姆电阻或同时设置为PT100 CL,第2、3可以设置为0-10V或10000欧姆电阻或PT100 CL。本例把第0通道设置为0-10000欧姆电阻,组态完毕后点击“下载”按钮将硬件组态下载到PLC中。 2、模拟量输入接线: 操作台上一个0-10000欧姆的电位器,其中R1 与R3为固定电阻端(两端电阻始终是10000欧姆),R2为滑动端(R1与R2或R2与R3两端电阻会随着电位器旋钮的转动而变化),本例取R1和R2作为0-10000欧姆的可变电阻。根据334模块的盖板接线图很容易知道将R1接到已经短接好了的2#端子和3号端子(M0+)上;将R2接到4#端子(M0-)同时也与5#端子(M1+)短接,又由于第1通道暂时没用,因此5#端子(M1+)应该与已经短接好了的6#端子(M1-)、7号端子短接,如图所示。 在硬件组态中334模块的输入起始地址为272 即当前第0通道为PIW272,在块的监控栏中可以看到随着电位器的转动R1与R2两端的电阻在0-10000变化,PIW272的值在0-27648之间变化.并且是成正比变化。

ADC0809模拟量采集实验报告

ADC0809模拟量采集 一.实验目的 (1)了解将模拟量转换成数字量的基本原理。 (2)学会利用ADC0809芯片进行摸/数转换的编程方法。 二.实验内容 将电位器产生的模拟电压信号转换成数字信号,转换结果送入主机内存中,并在屏幕上显示。取256个采样点。 三.线路连接 ADC0809有8个模拟输入端IN7~IN0,输入模拟量电压范围为0V ~+5V ,旋转电位器SW1产生不同的模拟电压,作为模拟输入量。实验电路中只开通了IN0一路模拟量输入,其它输入端未使用。ADC0809的D7~D0引脚与主机数据总线相连接。ADC0809的START 端为A/D 转换启动信号,ALE 端为通道地址的锁存信号。线路中将START 端与ALE 端连接,以便锁存通道地址,同时启动A/D 采样并进行转换。ADC0809的CLOCK 端的时钟频率范围为10~1280KHz ,本实验中采用1MHz 。ADC0809的结束信号EOC 用来产生中断请求信号,请求CPU 读入转换后的结果。实验接线如图4.9所示。 四.编程提示 (1)发出启动A/D 转换信号 由于START 与ALE 相连,所以在通道地址锁存的同时,发出A/D 转换信号。通道IN0地址为PCI 外扩设备基地址+外扩设备译码器输出地址。 (2)将转换结果读入内存 当A/D 转换结束后,CPU 从ADC0809输出端接收数据。 五.流程图 程序流程如图4.10所示。 图4.9 ADC0809模/数转换实验线路图18 19 20 21 D 3 D 4 D 5 D 6 D 7 2-5 2-4 2-3 2-2 2-1(MSB)&

六.参考程序 DA TA SEGMENT ;数据段 IOPORT EQU 0D880H-280H ;端口基地址 IO0809A EQU IOPORT+298H ;0809通道0地址 CRT DB 'SPIN “SW1”SWITCH ,VIEW ON THE DISPLA Y ',0DH ,0AH DB 'ENTER ANY KEY CAN EXIT TO DOS ',0DH ,0AH , '$' ;提示信息 DA TA ENDS CODE SEGMENT ;代码段 ASSUME CS :CODE ,DS :DA T A ST ART : MOV AX ,DA T A ;初始化,取段基址 MOV DS ,AX MOV DX ,OFFSET CRT ;AX←CRT 段基址 MOV AH ,09H ;DOS 9号调用,显示提示信息 INT 21H LAB : MOV DX ,IO0809A ;DX ←IN 0端口地址 OUT DX ,AL ;启动A/D 转换 MOV CX ,0FFFFH ;CX=FFFFH DELA Y : LOOP DELA Y ;调延时子程序 IN AL ,DX ;AL ←IN 0端口数据 MOV BL ,AL ;BL ←AL ,暂存IN 0端口数据 MOV CL ,4 ;CL=4 SHR AL ,CL ;AL 内容右移4位, CALL DISP ;调显示子程序,显示高四位 MOV AL ,BL ;AL ←BL ,IN 0端口数据 AND AL ,0FH ;“与”操作,屏蔽高4位 CALL DISP ;调显示子程序,显示低四位

总结模拟量输入程序编写的步骤

总结模拟量输入程序编写的步骤 一、引言 模拟量输入程序编写是电子工程师日常工作中必不可少的一项技能。它是将模拟信号转化为数字信号的过程,常用于传感器信号采集、控制系统等领域。本文将从以下几个方面介绍模拟量输入程序编写的步骤:硬件连接、软件配置、程序编写以及调试。 二、硬件连接 1. 连接传感器 首先需要将传感器与单片机进行连接,一般采用模拟量输入方式。具体来说,就是将传感器的输出端连接到单片机的模拟输入端口上。 2. 连接电源和地线 在进行硬件连接时,还需要将电源和地线分别与单片机进行连接。其中,电源线需要接到单片机的VCC端口上,而地线则需要接到GND 端口上。

三、软件配置 1. 确定芯片型号和开发环境 在软件配置阶段,首先需要确定所使用的芯片型号和开发环境。不同型号的芯片可能会有不同的寄存器设置和指令集。 2. 设置ADC参数 在进行模拟量输入时,需要对ADC(Analog-to-Digital Converter)进行设置。包括参考电压值、采样率、分辨率等参数。 3. 配置GPIO端口 GPIO(General Purpose Input/Output)端口是单片机的通用输入输出端口,需要根据具体需求进行配置。在模拟量输入程序中,需要将模拟输入端口设置为ADC输入模式。 四、程序编写 1. 初始化程序 初始化程序是模拟量输入程序的第一步。在这个阶段,需要对ADC进

行初始化,并设置好GPIO端口的状态。 2. 采样数据 采样数据是模拟量输入的核心部分。在这个阶段,需要使用ADC对传感器输出信号进行采样,并将其转化为数字信号。 3. 数据处理 数据处理阶段是对采样到的数字信号进行处理和计算。具体来说,可以根据实际需求进行滤波、放大、平滑等操作。 4. 输出结果 最后一步是将处理后的结果输出。可以通过串口、LCD显示屏等方式将结果展示出来。 五、调试 调试是编写模拟量输入程序时必不可少的一个环节。在调试过程中,需要使用示波器等工具对信号进行监测和分析,以确保程序能够正常运行并得到正确的结果。

实验一 模拟量输入输出通道实验20181105

实验一模拟量输入输出通道实验 一、实验目的: 1、了解A/D、D/A转换的基本原理。 2、了解A/D转换芯片ADC0809、D/A转换芯片DAC0832的性能及编程方法。 3、掌握过程通道中A/D转换与D/A转换与计算机的接口方法。 4、了解计算机如何进行数据采集及输出控制。 二、实验设备 计算机 1台; 缔造者系统 1套:CPU挂箱、8031CPU模块; 万用表 1块; 示波器 1台。 三、实验内容 一)、A/D转换实验 利用实验台上的ADC0809做A/D转换器,实验箱上的电位器提供模拟电压信号输入,编制程序,将模拟量转换成数字量,用数码管显示模拟量转换的结果。 1、实验电路:如图1 图1 2、实验接线: 1)0809的片选信号CS0809接CS0。 2)电位器的输出信号AN0接0809的ADIN1。 3、实验程序 CSEG AT 0000H LJMP START CSEG AT 4100H START: MOV DPTR,#0CFA1H ;启动通道1 MOVX @DPTR,A

MOV R0,#0FFH LOOP1: DJNZ R0,LOOP1 ;等待转换结束 MOVX A,@DPTR MOV R1,A DISP: MOV A,R1 ;从R1中取转换结果 MOV B,#100 ;求百位数据 DIV AB MOV 50H,A ;存百位数据 MOV A,B MOV B,#10 ;求十位数据 DIV AB MOV 51H,A ;存十位数据 MOV 52H,B ;存个位数据 LOOP: MOV DPTR,#0CFE9H ;写显示RAM命令字 MOV A,#90H MOVX @DPTR,A MOV R0,#50H ;存放转换结果地址初值送R0 MOV R1,#03H MOV DPTR,#0CFE8H ;8279数据口地址 DL0: MOV A,@R0 ACALL TABLE ;转换为显码 MOVX @DPTR,A ;送显码输出 INC R0 DJNZ R1,DL0 SJMP DEL1 TABLE: INC A MOVC A,@A+PC RET DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H DEL1: MOV R6,#255 ;延时一段时间使显示更稳定 DEL2: MOV R5,#255 DEL3: DJNZ R5,DEL3 DJNZ R6,DEL2 LJMP START ;循环 END 4、实验步骤 1)从系统“开始”菜单进入“所有程序”,在“所有程序”中选择“Windows Virtual PC”,点击“Windows XP Mode”进入虚拟机系统。 2)根据接线图接线,并运行EL型(8051)教学实验环境,建立上位计算机与缔造者系统的通信连接。(串口选择COM2;波特率选择9600;点击屏幕中对话框确定后立刻按下设备上的复位键RST,若设备上的数码管显示C则表示通信成功。)3)新建一个汇编文件(点击工具栏上的字母A,若程序用单片机C语言编写,则

PLC模拟量输入

PLC模拟量输入、输出模块低成本扩展的一种方法 1 引言 可编程控制器(以下简称PLC)由于其高可靠性、编程简单、通用性强、体积小、结构紧凑、安装维护方便等特点,而在工业控制中得到了广泛应用。PLC的模块一般分为以下几大类:开关量输入模块、开关量输出模块、模拟量输入模块、模拟量输出模块。在工业控制中特别是过程控制领域中需要采集和控制的模拟量比较多,因而对PLC的模拟量输入、输出模块需要的较多,而模拟量输入、输出模块比较贵,增加模拟量输入、输出模块就增加了成本,降低了整个系统的性价比,限制了PLC的应用。本文提出了一种基于通讯的模拟量输入、输出模块的扩展方法力图解决这一问题。 2 基于通讯的模拟量输入、输出模块的扩展方法 (1) 模拟量输入模块扩展 这里以一路12位模拟量输入为例,模拟信号以0~5V标准电压的形式送入信号输入端,应用12位A/D转换芯片MAX187实现模数转换。MAX187是 12位串行A/D,具有较高的转换速度,采样频率是75kHz,适用于较高精度的过程控制。考虑到实际工业现场中的高频干扰,在采样信号送MAX187之前还使用了低通滤波器滤波,如图1所示。 图1 低通滤波、放大器及A/D转换 MAX187 具有内部参考电压,既4#管脚(REF)为 4.096V,因此,A/D转换的全量程为4.096V。而输入信号是0~5V,因此,要加一级运放把0~5V转换成0~4.096V后送入 MAX187。AT89C52 的P1.3和MAX187的片选端(CS)相连、AT89C52的P1.4和MAX187的串行时钟信号端(SCLK)相连、AT89C52的P1.5和MAX187的串行数据输出端(DOUT)相连。模拟量采样的值存入单片机的内存中,再由单片机的串行口传送给PLC。 A/D转换的C51程序如下: #include #include sbit IC4_S = P1^4; /* AD输入端口设置*/ sbit IC4_D = P1^5; sbit IC4_C = P1^3; void input(void ) { unsigned char idata i; unsigned int idata result=0x0000; IC4_C = 0; /* CS端为低电平*/ for(i=0;i<12;i++)

PLC模拟量输入模块的使用方法

PLC模拟量输入模块的使用方法 PLC模拟量输入模块是一种用于将模拟量信号转换为数字量信号的设备,它通过A/D转换器将模拟量信号转换成PLC可识别的数字量信号,从而实现工业控制系统的精确测量与控制。模拟量输入模块的输出信号可以是脉冲信号或数字信号,根据不同的需求可以进行相应的设置。在安装PLC模拟量输入模块之前,需要先检查模块的型号、规格以及与PLC的兼容性。确保模块的规格与PLC系统兼容,并且满足工业控制系统的要求。安装时,将模块插入PLC的扩展槽中,并使用螺丝固定。 安装好硬件后,需要进行软件配置。在PLC编程软件中创建一个新的项目,并将模拟量输入模块添加到项目中。接着,设置模块的输入通道、采样速率、分辨率等参数。这些参数的设置需要根据实际控制系统的需求进行选择,以确保系统的稳定性和精度。 在使用PLC模拟量输入模块时,需要设置输入参数,包括输入信号类型、信号范围、增益、偏移等。根据不同的传感器类型和测量范围,需要选择合适的输入信号类型和范围。同时,根据实际需求设置增益和偏移参数,以调整输入信号的放大和偏移。

PLC模拟量输入模块的输出信号可以是脉冲信号或数字信号。根据控制系统的需求,可以通过PLC编程语言编写相应的程序来生成输出信号。例如,可以使用PLC的计数器或PWM(脉冲宽度调制)输出功能生成脉冲信号。对于数字信号输出,可以通过PLC的I/O口进行输出。本案例是一个水处理控制系统的应用,该系统需要对水质的pH值进行精确控制。将pH传感器连接到PLC模拟量输入模块上,并将模块添加到PLC控制系统中。然后,根据传感器类型和测量范围设置输入参数,并将pH值与控制系统的设定值进行比较。根据比较结果,通过PLC编程生成相应的输出信号,调节水处理系统中的酸碱度,以实现水质的精确控制。 PLC模拟量输入模块是工业控制领域中非常重要的一个组件,它能够实现模拟量信号与数字量信号之间的转换,以实现工业控制系统的精确测量与控制。本文详细介绍了PLC模拟量输入模块的使用方法,包括安装与配置、使用方法以及应用案例等方面的内容。通过了解并掌握PLC模拟量输入模块的应用技巧,可以更好地应用于实际工业控制系统中,提高控制精度和稳定性。随着工业自动化技术的不断发展,PLC模拟量输入模块的应用前景也将越来越广阔。 随着电力电子技术的发展,绝缘栅双极型晶体管(IGBT)在各种应用

PLC模拟量输入输出

(已结束)工控PLC擂台第3期--PLC模拟量输入输出程序 云锋 建议删除该贴!! | 收藏| 回复 | 2010-09-10 16:19:10楼主 现有压力变送器一只,量程0~6MPa,输出4~20mA,请选择CPU及AI/O模块,写出模拟量的输入输出程序,并对程序作出注释及说明。压力要求精确到0.01MPa。 PLC品牌不限。 工控PLC擂台每周一期,本期下周末结贴。奖项设置:一等奖1名:50MP,二等奖5名:10MP,三等奖10名:30积分。 MP介绍:gongkongMP即工控币,是中国工控网的用户积分与回馈系统的一个网络虚拟计价单位,类似于大家熟悉的QB,1个MP=1元人民币。 MP有什么用?兑换服务:以1个MP=1元来置换中国工控网的相关服务。兑换现金:非积分获得的MP可兑换等值现金(满100MP后、用户可通过用户管理后台申请兑换)。 总记录数29 总页数1当前页1 1 引用| 回复 | 2010-09-10 16:45:08 1楼 siren 压力变送器有0-10V的和0-5V的,请选型是别只选4-20mA的了。 引用| 回复 | 2010-09-10 16:50:41 2楼 永不止步 选用西门子314CPU,并且选用SM331.SM332两种模块,具体订货型号如下表,输入输出均为4-20MA 信号 采用PID调节控制压力平衡,由于FB41块比较大,故分两部分截图,具体I/O通道及程序步骤如下:

引用| 回复 | 2010-09-10 16:52:00 3楼 ye_w 重新编辑有问题,请大家看13楼 引用| 回复 | 2010-09-10 16:54:14 4楼 云锋 引用siren 的回复内容: 压力变送器有0-10V的和0-5V的,请选型是别只选4-20mA的了。 也可以用电压信号输入的模块来解题,但注意模拟量输出信号类型应与输入相同。引用| 回复

单片机程序

g 实验一P1口输入输出 1(第一个) ORG 0000H LJMP LOOP LOOP: MOV A,#0FEH ;赋初值,只有一盏灯亮√ MOV R2,#8 ;设计数值,左移8次 OUTPUT:MOV R3,#4 ;设计数值,每管熄灭4*50ms=200ms OUTPUT1: MOV P1,A ;送P1口输出. ACALL DELAY ;调用延时子程序 DJNZ R3, OUTPUT1 ;(R3)-1≠0时,跳转 RL A ;A左移 DJNZ R2,OUTPUT ;判断8管是否循环一遍,若是,则从P1.0重新开始循环 LJMP LOOP ;循环 ;子程序名:DELAY ;子程序功能:延时50ms ;出/入口参数:无 ;占用资源:R6 R7 DELAY: MOV R6, #200 ;延时子程序,延时时间为0 DELAY1: MOV R7, #125 DELAYLOOP: DJNZ R6, DELAYLOOP DJNZ R7, DELAY1 RET END 2(第二个) ORG 0000H LJMP LOOP LOOP:SETB P1.0 ;P1.0先置1,才能正确读入值 SETB P1.1 ;P1.1先置1,才能正确读入值 CLR C ;进位位清零,为接受P1口的值做准备 MOV P1.0, #00H ;赋值,全灭 MOV C, P1.0 ;P1.0口值送进位位 MOV P1.2, C ;进位位C送值到P1.2口,输出 ACALL DELAY ;调用延时子程序 ACALL DELAY CLR C ;重复上面操作 MOV P1.1,#00H MOV C, P1.1 MOV P1.3, C ACALL DELAY ACALL DELAY LJMP LOOP DELAY: MOV R6, #1 ; 延时子程序.

相关文档
相关文档 最新文档