西门子S7-200模拟量编程
主题:S7-200模拟量EM235编程实例
主题:S7-200模拟量EM235编程实例西门子S7-200模拟量编程本文以EM235为例讲解S7-200模拟量编程,主要包括以下内容:1、模拟量扩展模块接线图及模块设置2、模拟量扩展模块的寻址3、模拟量值和A/D转换值的转换4、编程实例模拟量扩展模块接线图及模块设置EM235是最常用的模拟量扩展模块,它实现了4路模拟量输入和1路模拟量输出功能。
下面以EM235为例讲解模拟量扩展模块接线图,如图1。
图1图1演示了模拟量扩展模块的接线方法,对于电压信号,按正、负极直接接入X +和X-;对于电流信号,将RX和X+短接后接入电流输入信号的“+”端;未连接传感器的通道要将X+和X-短接。
对于某一模块,只能将输入端同时设置为一种量程和格式,即相同的输入量程和分辨率。
(后面将详细介绍)EM235的常用技术参数:模拟量输入特性模拟量输入点数4输入范围电压(单极性)0~10V 0~5V 0~1V 0~500mV 0~100mV 0~50mV电压(双极性)±10V ±5V ±2.5V ±1V ±500mV ±250mV ±100mV ±50mV ±25mV电流0~20mA数据字格式双极性全量程范围-32000~+32000单极性全量程范围0~32000分辨率12位A/D转换器模拟量输出特性模拟量输出点数1信号范围电压输出 ±10V电流输出0~20mA数据字格式电压-32000~+32000电流0~32000分辨率电流电压12位电流11位下表说明如何用DIP开关设置EM235扩展模块,开关1到6可选择输入模拟量的单/双极性、增益和衰减。
EM235开关单/双极性选择增益选择衰减选择SW1 SW2 SW3 SW4 SW5 SW6ON 单极性OFF 双极性OFF OFF X1OFF ON X10ON OFF X100ON ON 无效ON OFF OFF 0.8OFF ON OFF 0.4OFF OFF ON 0.2由上表可知,DIP开关SW6决定模拟量输入的单双极性,当SW6为ON时,模拟量输入为单极性输入,SW6为OFF时,模拟量输入为双极性输入。
s7-200 smart 模拟量模块用法
当我们在实际的应用中需要对当前的温度或是压力进行采集显示的时候,我们需要用到模拟量模块来对模拟量信号进行采集,在这里我们以S7-200smart PLC的EMAE04模拟输入模块为例来说明如何使用这个模块来采集温度或是压力。
例如:现需要实时监控发电机机组的温度,假设变送器输出的信号为0到10V的电压信号,最大温度值为150。
最小温度值为0度。
要完成正确读取实际的温度值,需要进行以下三步操作:第一、正确的接线第二、正确的硬件组态第三、编写正确的程序1、按照变送器提供的信号输出接线方式进行正确的接线,对于EMAE04模块的信号接入如图所示:若变送器为三线制输出的变送器,则接线时,先把变送器的24V 电源接上,变送器上的信号输出接端0+,0-端子接24V电源负。
2、打开S7-200smart的编程软件,打开其系统块对其进行硬件组态。
如图所示:注意:对于信号类型的选择,通道0的设置对通道1的设置也有效,通道2的设置对通道3 也同样有效。
3、编写转换程序S7-200smartPLC来说其最大的数字量为27648。
我们可以根据其得到的数字量的大小转换成我们实际的温度值。
对其转换程序,我们可以使用S7-200中的scaling模拟量转换库,使用库移植的方法把其移植到S7-200smart的软件中。
其移植方法可以参考前面所介绍的内容。
Input :表示需要转换的数字量,即采样所的数字量Ish:换算对象的高限,即最大模拟量所对应的数字量值(27648)Isl: 换算对象的低限,即最小模拟量所对应的数字量值(0)Osh:换算结果的高限,即测量范围最大值Osl:换算结果的底限,即测量范围最小值。
VD100:换算结果所存储的值。
西门子S7-200SMART的模拟量编程及接线方法
西门子S7-200SMART的模拟量编程一.模拟量模块接线1.普通模拟量模块接线模拟量类型的模块有三种:普通模拟量模块、RTD模块和TC模块。
普通模拟量模块可以采集标准电流和电压信号。
其中,电流包括:0-20mA、4-20mA两种信号,电压包括:+/-2.5V、+/-5V、+/-10V三种信号。
注意:S7-200 SMART CPU普通模拟量通道值范围是0~27648或-27648~27648。
普通模拟量模块接线端子分布如下图1 模拟量模块接线所示,每个模拟量通道都有两个接线端。
图1模拟量模块接线模拟量电流、电压信号根据模拟量仪表或设备线缆个数分成四线制、三线制、两线制三种类型,不同类型的信号其接线方式不同。
四线制信号指的是模拟量仪表或设备上信号线和电源线加起来有4根线。
仪表或设备有单独的供电电源,除了两个电源线还有两个信号线。
四线制信号的接线方式如下图2模拟量电压/电流四线制接线所示。
图2模拟量电压/电流四线制接线三线制信号是指仪表或设备上信号线和电源线加起来有3根线,负信号线与供电电源M 线为公共线。
三线制信号的接线方式如下图3 模拟量电压/电流三线制接线所示。
图3模拟量电压/电流三线制接线两线制信号指的是仪表或设备上信号线和电源线加起来只有两个接线端子。
由于S7-200 SMART CPU模拟量模块通道没有供电功能,仪表或设备需要外接24V直流电源。
两线制信号的接线方式如下图4 模拟量电压/电流两线制接线所示。
图4模拟量电压/电流两线制接线不使用的模拟量通道要将通道的两个信号端短接,接线方式如下图5 不使用的通道需要短接所示。
图5 不使用的通道需要短接2. RTD模块接线RTD热电阻温度传感器有两线、三线和四线之分,其中四线传感器测温值是最准确的。
S7-200 SMART EM RTD模块支持两线制、三线制和四线制的RTD传感器信号,可以测量PT100、PT1000、Ni100、Ni1000、Cu100等常见的RTD温度传感器,具体型号请查阅《S7-200 SMART系统手册》。
西门子200模拟量模块
西门子S7-200模拟量编程PLC 2009-09-16 20:05 阅读77 评论0字号:大中小西门子S7-200模拟量编程韩耀旭本文以EM235为例讲解S7-200模拟量编程,主要包括以下内容:1、模拟量扩展模块接线图及模块设置2、模拟量扩展模块的寻址3、模拟量值和A/D转换值的转换4、编程实例模拟量扩展模块接线图及模块设置EM235是最常用的模拟量扩展模块,它实现了4路模拟量输入和1路模拟量输出功能。
下面以EM235为例讲解模拟量扩展模块接线图,如图1。
图1图1演示了模拟量扩展模块的接线方法,对于电压信号,按正、负极直接接入X+和X-;对于电流信号,将RX和X+短接后接入电流输入信号的“+”端;未连接传感器的通道要将X+和X-短接。
对于某一模块,只能将输入端同时设置为一种量程和格式,即相同的输入量程和分辨率。
(后面将详细介绍)量的单/双极性、增益和衰减。
模拟量输入为单极性输入,SW6为OFF时,模拟量输入为双极性输入。
SW4和SW5决定输入模拟量的增益选择,而SW1,SW2,SW3共同决定了模拟量的衰减选择。
6个DIP开关决定了所有的输入设置。
也就是说开关的设置应用于整个模块,开关设置也只有在重新上电后才能生效。
输入校准模拟量输入模块使用前应进行输入校准。
其实出厂前已经进行了输入校准,如果OFFSET和GAIN电位器已被重新调整,需要重新进行输入校准。
其步骤如下:A、切断模块电源,选择需要的输入范围。
B、接通CPU和模块电源,使模块稳定15分钟。
C、用一个变送器,一个电压源或一个电流源,将零值信号加到一个输入端。
D、读取适当的输入通道在CPU中的测量值。
E、调节OFFSET(偏置)电位计,直到读数为零,或所需要的数字数据值。
F、将一个满刻度值信号接到输入端子中的一个,读出送到CPU的值。
G、调节GAIN(增益)电位计,直到读数为32000或所需要的数字数据值。
H、必要时,重复偏置和增益校准过程。
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电流,见下左图。
主题:S7-200模拟量EM235编程实例
主题:S7-200模拟量EM235编程实例西门子S7-200模拟量编程本文以EM235为例讲解S7-200模拟量编程,主要包括以下内容:1、模拟量扩展模块接线图及模块设置2、模拟量扩展模块的寻址3、模拟量值和A/D转换值的转换4、编程实例模拟量扩展模块接线图及模块设置EM235是最常用的模拟量扩展模块,它实现了4路模拟量输入和1路模拟量输出功能。
下面以EM235为例讲解模拟量扩展模块接线图,如图1。
图1图1演示了模拟量扩展模块的接线方法,对于电压信号,按正、负极直接接入X +和X-;对于电流信号,将RX和X+短接后接入电流输入信号的“+”端;未连接传感器的通道要将X+和X-短接。
对于某一模块,只能将输入端同时设置为一种量程和格式,即相同的输入量程和分辨率。
(后面将详细介绍)EM235的常用技术参数:模拟量输入特性模拟量输入点数 4输入范围电压(单极性)0~10V0~5V0~1V0~500mV0~100mV0~50mV?电压(双极性)±10V±5V±±1V±500mV±250mV±100mV±50mV±25mV电流0~20mA数据字格式双极性全量程范围-32000~+32000单极性全量程范围0~32000分辨率12位A/D转换器模拟量输出特性模拟量输出点数 1信号范围电压输出±10V电流输出0~20mA数据字格式电压-32000~+32000电流0~32000分辨率电流电压12位电流11位下表说明如何用DIP开关设置EM235扩展模块,开关1到6可选择输入模拟量的单/双极性、增益和衰减。
EM235开关单/双极性选择增益选择衰减选择SW1 SW2 SW3 SW4 SW5 SW6ON 单极性?OFF 双极性?OFF OFF X1 ?OFF ON X10 ?ON OFF X100 ?ON ON 无效?ON OFF OFFOFF ON OFFOFF OFF ON由上表可知,DIP开关SW6决定模拟量输入的单双极性,当SW6为ON时,模拟量输入为单极性输入,SW6为OFF时,模拟量输入为双极性输入。
第5章 西门子S7-200系列PLC模拟量,PID指令及应用
输入端子 工作电源
增益电位器 DIP开关
单极性模拟量 SW1 ON SW2 OFF ON SW3 ON OFF
满量程输入
分辨率
0~10V 0~5V 0~20mA
2.5mV 1.25mV 5μA 分辨率
双极性模拟量 SW1 OFF SW2 OFF ON SW3 ON OFF
满量程输入
±5V ±2.5V
M X 1.0 MPn MDn
当 M n 1 .0 时
当 M n 0 .0 时
M X ( MPn MDn )
、
第N次采样 时的比例项
第N次采样 时的微分项
为了实现平滑切换,系统会作下列调整:
SPn PV n
Mx Mn
//给定值=过程变量
PVn 1 PVn //过程变量前值=过程变量当前值
●从输入通 道 AIW0对 单极性模拟 量进行采样、 转换,并填 入回路参数 表程序。
标准化实数 16位有符号整数 ● 回路输出转化的步骤: 计算公式: R 浮点型 M n offset Span
控制对象不同,对特性要求不同,选择的 PID回路类型也不同。必须根据系统对动态品 质、稳态精度和调节速度的要求来合理选择P、 I、D回路中的一种或多种控制类型。
2.5mV 1.25mV
◆ 模拟量输出模块 EM232的特性
● 模拟量输出模块 EM232 的D/A 转换精度: 提供 12位的D/A转换器 。
(EM232)
输出端子 工作电源
※ 每个输出模块有二路输出(3个端子一组) ※ 可以输出±10V电压或0~20mA电流信号; ◎ 电压负载时:V0端接负载正极、 M0 接负 载负极。 ◎ 电流负载时:I0端接负载正极、 M0 接负 载负极。 ※ 模块需要直流24V工作电源。
西门子s7-200 编程详解
第三章S7-200的编程软件使用STEP7-Micro/WIN32是SIEMENS公司专为SIMATIC系列S7-200研制开发的编程软件,它是基于Windows平台的应用软件。
STEP7-Micro/WIN32可以使用个人计算机作为图形编辑器,用于联机或脱机开发用户程序,并可在线实时监控用户程序的执行状态。
3.1 STEP7-Micro/WIN32安装与启动一、STEP7-Micro/WIN32软件安装1、系统要求操作系统:Windows 95、Windows 98、Windows ME或Windows 2000。
硬件配置:IBM 486以上兼容机,内存8MB以上,VGA显示器,至少50MB以上硬盘空间,鼠标。
通信电缆:PC/PPI电缆(或使用一个通信处理器卡),用于计算机与PLC的连接。
2、硬件连接典型的单台PLC与PC机的连接,只需要用一根PC/PPI电缆,如图3-1所示。
PC/PPI电缆的两端分别为RS-232和RS-485接口,RS-232端连接到个人计算机RS-232通信口COM1或COM2接口上,RS-485端接到S7-200 CPU通信口上。
3.软件安装(1)将存储软件的光盘放入光驱;(2)双击光盘中的安装程序SETUP.EXE,选择English 语言,进入安装向导;(3)按照安装向导完成软件的安装,然后打开此软件,选择菜单Tools—Options—General—Chinese,完成汉化补丁的安装;(4)软件安装完毕。
文本框: PC/PPI电缆文本框: 计算机文本框: RS-485文本框: RS-232文本框: 图3-1 PLC与计算机的连接4、建立通信联系设置连接好硬件并且安装完软件之后,可以按下面的步骤进行在线连接:(1)在STEP 7-Micro/WIN 32运行时,单击浏览条中通信图标,或从菜单检视(View)中选择元件——通信(Communications),则会出现一个通信对话框,如图3-2所示。
浅谈S7-200PLC模拟量输入处理方法
浅谈S7-200PLC模拟量输入处理方法S7-200系列PLC是SIEMENS公司新推出的一种小型PLC。
它以紧凑的结构、良好的扩展性、强大的指令功能、低廉的价格,已经成为当代各种小型控制工程的理想控制器。
S7-200PLC包含了一个单独的S7-200CPU和各种可选择的扩展模块,可以十分方便地组成不同规模的控制系统。
其控制规模可以从几点到上百点。
在生产过程中,存在大量的物理量,如压力、温度、速度、旋转速度、pH值、粘度等。
为了实现自动控制,这些模拟量信号需要被PLC处理。
S7-200PLC模拟量输入扩展模块分为模拟量输入模块、模拟量输入/输出混合模块。
模拟量输入扩展模块提供了模拟量输入功能。
S7-200的模拟量输入扩展模块具有较大的适应性,可以直接与传感器相连,有很大的灵活性,并且安装方便。
1S7-200系列PLC模拟量输入模块介绍1.1主要模块的功能及特性1.1.1模拟量输入模块EM231。
EM231具有4路模拟量输入,输入信号可以是电压也可以是电流,其输入与PLC具有隔离。
输入信号的范围可以由SW1、SW2和SW3设定。
输入特性:4路模拟量输入电源电压:标准24VDC/4mA输入类型:0~10V、0~5V、±5V、±2.5V、0~20mA分辨率:12bit转换速度:250µs隔离:有1.1.2模拟量混合模块EM235。
EM235具有4路模拟量输入和1路模拟量输出。
它的输入信号可以是不同量程的电压或电流。
其电压、电流的量程是由开关SW1、SW2到SW6设定。
EM235有1路模拟量输出,其输出可以是电压也可以是电流。
1.2模块的寻址方式和模拟量值的表示方法1.2.1模拟量输入模块的寻址—模拟量输入映像区(AI区)。
模拟量输入映像区是S7-200CPU为模拟量输入端信号开辟的一个存贮区。
S7-200将测得的模拟值(如温度、压力)转换成1个字长的(16bit)的数字量,模拟量输入用区域标识符(AI)、数据长度(W)及字节的起始地址表示。
S7-200PLC模拟量编程方法
1、模拟量值和A/D转换值的转换假设模拟量的标准电信号是A0—Am(如:4—20mA),A/D转换后数值为D0—D (单极性的西门子PLC200系列的0—32000),设模拟量的标准电信号是A,A/D转换后的相应数值为D,由于是线性关系,函数关系A=f(D)可以表示为数学方程:A=(D-D0)×(Am-A0)/(Dm-D0)+A0根据该方程式,可以方便地根据D值计算出A值。
将该方程式逆变换,得出函数关系D=f(A)可以表示为数学方程:D=(A-A0)×(Dm-D0)/(Am-A0)+D0举几个例子:例1、以S7-200和4—20mA为例,经A/D转换后,得到的数值是6400—32000,即A0=4,Am=20,D0=6400,Dm=32000,代入公式,得出:A=(D-6400)×(20-4)/(32000-6400)+4假设该模拟量与AIW0对应,则当AIW0的值为12800时,相应的模拟电信号是6400×16/25600+4=8mA。
例2、某温度传感器,-10—60℃与4—20mA相对应,以T表示温度值,AIW0为PLC模拟量采样值,则根据上式直接代入得出:T=70×(AIW0-6400)/25600-10可以用T 直接显示温度值。
例3、某压力变送器,当压力达到满量程5MPa时,压力变送器的输出电流是20mA,AIW0的数值是32000。
可见,每毫安对应的A/D值为32000/20,测得当压力为0.1MPa时,压力变送器的电流应为4mA,A/D值为(32000/20)×4=6400。
由此得出,AIW0的数值转换为实际压力值(单位为KPa)的计算公式为:VW0的值=(AIW0的值-6400)(5000-100)/(32000-6400)+100(单位:KPa)再举个具体编程实例:组建一个小的实例系统演示模拟量编程。
本实例的的CPU是CPU222,仅带一个模拟量扩展模块EM235,该模块的第一个通道连接一块带4—20mA变送输出的温度显示仪表,该仪表的量程设置为0—100度,即0度时输出4mA,100度时输出20mA。
S7-200编程的三个实例
用S7-200编程的三个实例的解析之二1、有一网友:“求助用西门子S7-200编个梯形图。
在此,谢谢啦。
P L C c p u224×7 要求:1、液位机量程0—3米,对应输出信号0—10V,通过电位机进行模拟介入PLC模块的模拟量输入专口。
要求P L C正确读取液位机的输出信号转换成水池的液位。
2、水泵控制具有手动与自动两种模拟。
3、自动模拟:PLC内部根据液位至控制水泵的启动和停止,水泵在液位上升至2米时启动,降到1米时停止。
4、手动模拟:水泵通过按钮手动启动/停止。
5、上升到2.5米时,触发液位超上限报警,故障指示灯常亮。
6、对水泵的运行状态进行检测,当水泵运行信号输出后,检测水泵运行反馈信号。
如水泵运行信号,输出1秒后未收到水泵运行反馈信号,则故障指示灯闪亮,同时复位水泵运行信号。
7、故障状态自保持,当故障原因消除且按下复位按钮事,故障复位。
8、A L W0输入信号0—10V,对应P L C寄存器数量0—3200D,输入信号5路。
I0.0:自动手动模拟装换开关S A0,当I0.0接通时为自动模拟,I0.0断开时为手动模拟状态。
I0.1:水泵手动启动按钮S B1,常开点。
I0.2:水泵停止按钮S B2,常闭点。
I0.3:故障复位按钮S B3,常开点。
I0.4:水泵运行状态反馈,正常状态下,水泵运行信号输出后接通,水泵运行信号断开后断开。
Q:输出信号四路,Q0.0:自动模拟指示灯H L0. Q0.1:水泵运行状态指示灯H L1. Q0.2:故障指示灯H L2,超液位报警时常亮,水泵反馈信号异常报警时闪亮。
Q0.3:水泵运行输出K A3。
谢谢你的大力帮助。
”我的回复:根据“液位机量程0—3米,对应输出信号0—10V”可得出:1米对应3.33V,2米对应6.67V,2.5米对应8.33V,再由“ALW0 输入信号0—10V,对应PLC寄存器数量0—3200D”可得出:1米对应数字量10667,2米对应数字量21333,2.5米对应数字量26667,按着你的要求,编写如下梯形图,供你参考。
西门子PLC编程模拟量
对输入、输出模拟量的PLC编程的探讨及编程实例解析对于初学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电流,见下左图。
S7-200模拟量编程实例
程序段 1模拟量输入AIW0减去6400,转换为实数(由于没有直接将整数转换为实数的指令,故先将其转换为双整数,再转换为实数)SUB_I ENO EN OUT IN1IN2I_DI ENO EN OUT IN DI_R ENO EN OUT IN Always_OnAIW0+6400VW0VW0VD4VD4VD8符号地址注释Always_On SM0.0始终接通模拟量输入对应的上限32000减去下限6400,转换为实数;实际温度的上限100度减去下限0度,转换为实数;当然此两步转换可以直接计算出来,这里主要想演示指令的使用SUB_I ENO EN OUT IN1IN2I_DI ENO EN OUT IN DI_R ENO EN OUT IN SUB_I ENO EN OUT IN1IN2I_DI ENO EN OUT IN DI_R ENO EN OUT IN Always_On+32000+6400VW2VW2VD12VD12VD12+1000VW16VW16VD20VD20VD20符号地址注释Always_On SM0.0始终接通实现公式,最终的模拟量转换值存放于VD32中DIV_R ENO ENOUT IN1IN2MUL_RENO ENOUT IN1IN2ADD_RENO ENOUT IN1IN2Always_OnVD8VD12VD24VD24VD20VD28VD280.0VD32符号地址注释Always_OnSM0.0始终接通程序段 4模拟量输入:也可以直接调用库文件的模拟量输入块设置好对应参数就可以了,这里以0~100的量程4~20mA输入为例,输出保存到VD300寄存器。
Scale_I_to_R ENOutput InputIshIslOshOsl Always_OnAIW0320006400VD300100.00.0符号地址注释Always_On SM0.0始终接通模拟量输出:原理同上,只是具体参数倒过来。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
西门子S7-200模拟量编程本文以EM235为例讲解S7-200模拟量编程,主要包括以下内容:1、模拟量扩展模块接线图及模块设置2、模拟量扩展模块的寻址3、模拟量值和A/D转换值的转换4、编程实例模拟量扩展模块接线图及模块设置EM235是最常用的模拟量扩展模块,它实现了4路模拟量输入和1路模拟量输出功能。
下面以EM235为例讲解模拟量扩展模块接线图,如图1。
图1图1演示了模拟量扩展模块的接线方法,对于电压信号,按正、负极直接接入X+和X-;对于电流信号,将RX和X+短接后接入电流输入信号的“+”端;未连接传感器的通道要将X+和X-短接。
对于某一模块,只能将输入端同时设置为一种量程和格式,即相同的输入量程和分辨率。
(后面将详细介绍)量的单/双极性、增益和衰减。
时,模拟量输入为单极性输入,SW6为OFF时,模拟量输入为双极性输入。
SW4和SW5决定输入模拟量的增益选择,而SW1,SW2,SW3共同决定了模拟量的衰减选择。
6个DIP开关决定了所有的输入设置。
也就是说开关的设置应用于整个模块,开关设置也只有在重新上电后才能生效。
输入校准模拟量输入模块使用前应进行输入校准。
其实出厂前已经进行了输入校准,如果OFFSET和GAIN电位器已被重新调整,需要重新进行输入校准。
其步骤如下:A、切断模块电源,选择需要的输入范围。
B、接通CPU和模块电源,使模块稳定15分钟。
C、用一个变送器,一个电压源或一个电流源,将零值信号加到一个输入端。
D、读取适当的输入通道在CPU中的测量值。
E、调节OFFSET(偏置)电位计,直到读数为零,或所需要的数字数据值。
F、将一个满刻度值信号接到输入端子中的一个,读出送到CPU的值。
G、调节GAIN(增益)电位计,直到读数为32000或所需要的数字数据值。
H、必要时,重复偏置和增益校准过程。
EM235输入数据字格式下图给出了12位数据值在CPU的模拟量输入字中的位置图2可见,模拟量到数字量转换器(ADC)的12位读数是左对齐的。
最高有效位是符号位,0表示正值。
在单极性格式中,3个连续的0使得模拟量到数字量转换器(ADC)每变化1个单位,数据字则以8个单位变化。
在双极性格式中,4个连续的0使得模拟量到数字量转换器每变化1个单位,数据字则以16为单位变化。
EM235输出数据字格式图3给出了12位数据值在CPU的模拟量输出字中的位置:图3数字量到模拟量转换器(DAC)的12位读数在其输出格式中是左端对齐的,最高有效位是符号位,0表示正值。
模拟量扩展模块的寻址每个模拟量扩展模块,按扩展模块的先后顺序进行排序,其中,模拟量根据输入、输出不同分别排序。
模拟量的数据格式为一个字长,所以地址必须从偶数字节开始。
例如:AIW0,AIW2,AIW4……、AQW0,AQW2……。
每个模拟量扩展模块至少占两个通道,即使第一个模块只有一个输出AQW0,第二个模块模拟量输出地址也应从AQW4开始寻址,以此类推。
图4演示了CPU224后面依次排列一个4输入/4输出数字量模块,一个8输入数字量模块,一个4模拟输入/1模拟输出模块,一个8输出数字量模块,一个4模拟输入/1模拟输出模块的寻址情况,其中,灰色通道不能使用。
图4模拟量值和A/D转换值的转换假设模拟量的标准电信号是A0—Am(如:4—20mA),A/D转换后数值为D0—Dm(如:6400—32000),设模拟量的标准电信号是A,A/D转换后的相应数值为D,由于是线性关系,函数关系A=f(D)可以表示为数学方程:A=(D-D0)×(Am-A0)/(Dm-D0)+A0。
根据该方程式,可以方便地根据D值计算出A值。
将该方程式逆变换,得出函数关系D=f(A)可以表示为数学方程:D=(A-A0)×(Dm-D0)/(Am-A0)+D0。
具体举一个实例,以S7-200和4—20mA为例,经A/D转换后,我们得到的数值是6400—32000,即A0=4,Am=20,D0=6400,Dm=32000,代入公式,得出:A=(D-6400)×(20-4)/(32000-6400)+4假设该模拟量与AIW0对应,则当AIW0的值为12800时,相应的模拟电信号是6400×16/25600+4=8mA。
又如,某温度传感器,-10—60℃与4—20mA相对应,以T表示温度值,AIW0为PLC模拟量采样值,则根据上式直接代入得出:T=70×(AIW0-6400)/25600-10可以用T 直接显示温度值。
模拟量值和A/D转换值的转换理解起来比较困难,该段多读几遍,结合所举例子,就会理解。
为了让您方便地理解,我们再举一个例子:某压力变送器,当压力达到满量程5MPa时,压力变送器的输出电流是20mA,AIW0的数值是32000。
可见,每毫安对应的A/D值为32000/20,测得当压力为0.1MPa时,压力变送器的电流应为4mA,A/D值为(32000/20)×4=6400。
由此得出,AIW0的数值转换为实际压力值(单位为KPa)的计算公式为:VW0的值=(AIW0的值-6400)(5000-100)/(32000-6400)+100(单位:KPa)编程实例您可以组建一个小的实例系统演示模拟量编程。
本实例的的CPU是CPU222,仅带一个模拟量扩展模块EM235,该模块的第一个通道连接一块带4—20mA变送输出的温度显示仪表,该仪表的量程设置为0—100度,即0度时输出4mA,100度时输出20mA。
温度显示仪表的铂电阻输入端接入一个220欧姆可调电位器,简单编程如下:温度显示值=(AIW0-6400)/256编译并运行程序,观察程序状态,VW30即为显示的温度值,对照仪表显示值是否一致。
MODBUS RTU通讯协议在S7-200中的应用1 引言工业控制已从单机控制走向集中监控、集散控制,如今已进入网络集约制造时代。
工业控制器连网也为网络管理提供了方便。
Modbus就是工业控制器的网络协议中的一种。
Modbus协议是应用于电子控制器上的一种通讯约规。
通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。
它已经成为主流的工业标准之一。
他为符合Modbus协议的不同厂商生产的控制设备可以连成工业网络,进行集中监控。
2 Modbus RTU协议在S7-200中的应用原理2.1 Modbus RTU协议与S7-200相互关系简介S7-200 CPU上的通讯口Port0可以支持Modbus RTU协议,成为Modbus RTU 从站。
此功能是通过S7-200的自由口通讯模式实现,因此可以通过无线数据电台等慢速通讯设备传输。
如果想在S7-200 CPU与其他支持Modbus RTU的设备使用Modbus RTU协议通讯,需要由有S7-200 CPU做Modbus主站。
S7-200 CPU做主站必须由用户自己用自由口模式,按相关协议编程。
在S7-200控制系统应用中,Modbus RTU从站指令库只支持CPU上的通讯0口(Port0)。
要实现Modbus RTU通讯,需要Step7-Micro/WIN32 V3.2以上版本的编程软件,而且须安装Step7-Micro/WIN32 V3.2 Instruction Library(指令库)。
Modbus RTU功能是通过指令库中预先编好的程序功能块实现的。
2.2 Modbus RTU协议在S7-200中应用的基本过程(1) 首先检查S7-200控制系统中所用Micro/WIN的软件版本,应当是Step7-Micro/WIN V3.2以上版本。
(2) 检查Micro/WIN的指令树中是否存在Modbus RTU从站指令库(图1),库中应当包括MBUS_INIT和MBUS_SLAVE两个子程序。
如果没有,须安装Micro/WIN32 V3.2 Instruction Library(指令库)软件包,如图1所示。
图1 指令树中的库指令(3) 编程时使用SM0.1—调用子程序MBUS_INIT进行初始化,使用SM0.0—调用研究MBUS_SLAVE,并指定相应参数。
关于参数的详细说明,可在子程序的局部变量表中找到。
示例参见图2:图2 调用MODBUS通讯指令库图2中参数意义如下:●模式选择:启动/停止MODBUS,1=启动;0=停止;●从站地址:MODBUS从站地址,取值1~247;●波特率:可选1200,2400,4800,9600,19200,38400,57600;●奇偶校验:0=无校验;1=奇校验;2=偶校验;●延时:附加字符间延时,缺省值为0;●最大I/Q位:参与通讯的最大I/O点数,S7-200的I/O映像区为128/128,缺省值为128;●最大AI字数:参与通讯的最大AI通道数,可为16或32;●最大保持寄存器区:参与通讯的V存储区字(VW);●保持寄存器区起始地址:以&VBx指定(间接寻址方式);●初始化完成标志:成功初始化后置1;●错误代码:0=无错误。
(4) 注意的问题调用Step7-Mciro/WIN32 V3.2 Instruction Library(指令库)需要分配库指令数据区(Library Memory)。
库指令数据区是相应库的子程序和中断程序所要用到的变量存储空间。
如果在编程时不分配库指令数据区,编译时会产生许多相同的错误。
由子程序参数HoldStart和MaxHold指定的保持寄存器区,是在S7-200 CPU 的V数据存储区中分配,此数据区不能和库指令数据区有任何重叠,否则在运行时会产生错误,不能正常通讯。
注意Modbus 中的保持寄存器区按“字”寻址,即MaxHold规定的是VW而不是VB的个数。
3 Modbus RTU协议测试包含Modbus RTU从站指令库的项目编译、下载到CPU中后,在编程计算机(PG/PC)上运行一些Modbus测试软件可以检验S7-200的Modbus RTU通讯是否正常,这对查找故障点很有用。
测试软件通过计算机串口(RS-232)和PC/PPI电缆连接CPU。
(以ModScan32测试软件为例作以检测说明)3.1 测试软件测试软件ModScan32如图3所示。
图3 Modbus RTU测试软件:ModScan32图3中,ModScan32测试软件的画面中相关参数意义如下:Address:ModBus中存储区的起始地址;Device Id:PLC ModBus的端口地址;Length:参与通讯的V存储区字的长度。
3.2 参数设置对ModScan32测试软件的通讯参数进行相关设置,要与S7-200的Modbus RTU 指令库MBUS_INIT中所设定的参数相统一,这样即可进行通讯检测。