S7-300模拟量转换
S7-300 PLC模拟量输入输出量程转换教程

S7-300/400 PLC模拟量输入/输出的量程转换SLC A&D CSMarch, 20051模拟量输入/输出量程转换的概念 (3)2S7-300/400 PLC模拟量输入/输出模板 (3)2.1需要使用的模板 (3)2.2涉及的信号类型 (3)3STEP 7中模拟量输入/输出的编程 (3)3.1FC105/FC106在哪里 (3)3.2FC105/FC106功能描述 (5)3.2.1FC105功能描述 (5)3.2.2FC106功能描述 (5)3.3FC105/FC106参数定义 (6)3.3.1FC105 的参数定义 (6)3.3.2FC106的参数定义 (6)3.4例子程序 (7)3.4.1FC105例子程序 (7)3.4.2FC106例子程序 (8)1模拟量输入/输出量程转换的概念实际的工程量,如压力、温度、流量、物位等要采用各种类型传感器进行测量。
传感器将输出标准电压、电流、温度、或电阻信号供PLC采集,PLC的模拟量输入模板将该电压、电流、温度、或电阻信号等模拟量转换成数字量——整形数(INTEGER)。
在PLC程序内部要对相应的信号进行比较、运算时,常需将该信号转换成实际物理值(对应于传感器的量程)。
而经程序运算后得到的结果要先转换成与实际工程量对应的整形数,再经模拟量输出模板转换成电压、电流信号去控制现场执行机构。
这样就需要在程序中调用功能块完成量程转换。
如一个压力调节回路中,压力变送器输出4-20mA DC信号到SM331模拟量输入模板,SM331模板将该信号转换成0-27648的整形数,然后在程序中要调用FC105将该值转换成0-10.0(MPa)的工程量(实数),经PID运算后得到的结果仍为实数,要用FC106转换为对应阀门开度0-100%的整形数0-27648后,经SM332模拟量输出模板输出4-20mA DC信号到调节阀的执行机构。
本文主要讨论S7-300/400 PLC编程中模拟量的量程转换。
S7-300程序设计方法(模拟量控制)

S7-300程序设计方法(模拟量控制)引言在自动化控制系统中,模拟量控制是一种重要的控制方式。
S7-300是西门子公司开发的一种可编程控制器(PLC),它提供了一种灵活的方式来实现模拟量控制。
本文将介绍如何使用S7-300进行模拟量控制的程序设计方法。
硬件配置,我们需要了解S7-300的硬件配置。
S7-300包括一个或多个CPU,用来执行用户编写的程序。
CPU和其他设备之间通过总线连接,包括输入模块、输出模块和模拟量模块。
在模拟量控制中,模拟量模块用来读取传感器的模拟信号,并输出控制信号给执行器。
编程软件S7-300使用STEP7编程软件进行程序设计。
STEP7提供了一个友好的图形化界面,以及一套丰富的函数库来支持编程。
在开始编程之前,我们需要安装和配置STEP7软件,并连接S7-300 PLC。
程序设计步骤1. 配置模拟量模块:在STEP7软件中,我们需要配置模拟量模块。
这包括设置模块的地质、通道数和其他参数。
配置完成后,我们可以通过函数调用的方式读取模块的模拟信号。
2. 编写读取模拟信号的程序:在STEP7软件中,我们可以使用函数库提供的函数来读取模拟量模块的模拟信号。
这些函数会将模拟信号转换为数字量,以便后续的控制算法使用。
3. 设计控制算法:在STEP7软件中,我们可以使用图形化编程语言来设计控制算法。
控制算法可以包括PID控制器、滤波器和限幅器等。
通过读取模拟信号并对其进行处理,我们可以控制信号,并输出给执行器。
4. 编写输出控制信号的程序:在STEP7软件中,我们可以使用函数库提供的函数来输出控制信号。
这些函数将控制信号转换为模拟输出信号,并输出给执行器。
5. 调试和测试:在完成程序设计后,我们需要进行调试和测试。
我们可以使用STEP7软件提供的在线模拟功能来模拟真实的输入和输出信号,并进行调试和测试。
本文介绍了在S7-300上进行模拟量控制的程序设计方法。
通过配置模拟量模块、编写读取模拟信号的程序、设计控制算法和编写输出控制信号的程序,我们可以实现灵活且高效的模拟量控制。
西门子S7-300PLC模拟量输入输出

西门子S7-300PLC模拟量输入输出1、基本概况S7-300 的CPU 用16 位的二进制补码表示模拟量值。
其中最高位为符号位S,0 表示正值,1 表示负值,被测值的精度可以调整,取决于模拟量模块的性能和它的设定参数,对于精度小于15 位的模拟量值,低字节中幂项低的位不用。
S7-300 模拟量输入模块可以直接输入电压、电流、电阻、热电偶等信号,而模拟量输出模块可以输出0~10 V、1~5 V、-10 V~10 V、0~20 mA、4~20 mA 等模拟信号。
2、模拟量输入模块SM331 模拟量输入(简称模入(AI))模块SM331 目前有三种规格型号,即8AI 乘以l2 位模块、2AI 乘以l2 位模块和8AI 乘以l6 位模块。
SM331 主要由A/D 转换部件、模拟切换开关、补偿电路、恒流源、光电隔离部件、逻辑电路等组成。
A/D 转换部件是模块的核心,其转换原理采用积分方法,被测模拟量的精度是所设定的积分时间的正函数,也即积分时间越长,被测值的精度越高。
SM331 可选四档积分时间:2.5 ms、16.7 ms、20 ms 和l00 ms,相对应的以位表示的精度为8、12、12 和14。
SM331 与电压型传感器的连接,如图1 所示。
图1 输入模块与电压型传感器的连接SM331 与2 线电流变送器的连接如图2a)所示,与4 线电流变送器的连接如图2b)所示。
4 线电流变送器应有单独的电源。
图2 输入模块与2/4 线变送器电流输入的连接3、模拟量输出模块SM332 模拟量输出(简称模出(AO))模块SM332 目前有三种规格型号,即4AO 乘以l2 位模块、2AO 乘以12 位模块和4AO 乘以l6 位模块,分别为4 通道的12 位模拟量输出模块、2 通道的12 位模拟量输出模块、4 通道的16 位模拟量输出模块。
SM332 可以输出电压,也可以输出电流。
在输出电压时,可以采用2 线回路和4 线回路两种方式与负载相连。
西门子S7-300系列PLC模拟量输出的处理方法有哪些?

1、FC105SCALE功能接受一个整型值(IN),并将其转换为以工程单位表示的介于下限和上限(LO_LIM和HI_LIM)之间的实型值。
将结果写入OUT。
SCALE 功能使用以下等式:OUT = [((FLOAT (IN)-K1)/(K2-1))* (HI_LIM-O_LIM)]+ LO_LIM常数K1和K2根据输入值是BIPOLAR还是UNIPOLAR设置。
BIPOLAR:假定输入整型值介于7648与27648之间,因此K1 = -7648.0,K2 = +27648.0UNIPOLAR:假定输入整型值介于0和27648之间,因此K1 = 0.0,K2 = +27648.0如果输入整型值大于K2,输出(OUT)将钳位于HI_LIM,并返回一个错误。
如果输入整型值小于K1,输出将钳位于LO_LIM,并返回一个错误。
通过设置LO_LIM 》HI_LIM可获得反向标定。
使用反向转换时,输出值将随输入值的增加而减小。
FC105参数参数说明数据类型存储区描述EN 输入BOOL I、Q、M、D、L 使能输入端,信号状态为1时激活该功能。
ENO 输出BOOL I、Q、M、D、L 如果该功能的执行无错误,该使能输出端信号状态为1。
IN 输入INT I、Q、M、D、L、P、常数欲转换为以工程单位表示的实型值的输入值。
HI_LIM 输入REAL I、Q、M、D、L、P、常数以工程单位表示的上限值。
LO_LIM 输入REAL I、Q、M、D、L、P、常数以工程单位表示的下限值。
BIPOLAR 输入BOOL I、Q、M、D、L 信号状态为1表示输入值为双极性。
信号状态0表示输入值为单极性。
OUT 输出REAL I、Q、M、D、L、P 转换的结果。
RET_VAL 输出WORD I、Q、M、D、L、P 如果该指令的执行没有错误,将返回值W#16#0000。
对于W#16#0000以外的其它值,参见“错误信息”。
错误信息如果输入整型值大于K2,输出(OUT)将钳位于HI_LIM,并返回一个错误。
S7-200 S7-300 PLC 模拟量自动计算公式表格

已知模拟量通道数据值,计算模拟量输入值及对应工程量 输入类型 描述 代码 4-20mA 0-20mA
换算结果
工程量
换算结果
数据字
换算对象
工程量范围
输入类型范围
数据字范围
换算结果的高限 换算结果的低限 换算结果的高限 换算结果的低限 换算对象的高限 换算对象的低限
Ov2 20.0000 20.0000
Ov1 100.0000 100.0000
Iv 32000.00 27648.00
Osh1 100.00 100.00
Osl1 0.00 0.00
Osh2 20.00 20.00
Osl2 4.00 4.00
Ish 32000.00 27648.00
Isl 6400.00 0.00
已知工程量显示值,计算模拟量输入及对应的数据值 输入类型 数据字 工程量 工程量范围 输入类型范围 数据字范围
输入类型范围
数据字范围
换算结果的高限 换算结果的低限 换算结果的高限 换算结果的低限 换算对象的高限 换算对象的低限
Ov1 100.0000 100.0000
Iv 32000.00 27648.00
Ov2 20.0000 20.0000
Osh1 100.00 100.00
Osl1 0.00 0.00
用途:已知模拟量输入值(如检测到的电流值)、模拟量通道读数、工程值其中的一项,计算出另外两项的值。 使用说明:配置好EFGHIJ列,在D列输入数值,BC列自动计算出对应的数值。
模拟量的输入/输出都可以用下列的通用换算公式换算: Ov = [(Osh - Osl)*(Iv - Isl)/(Ish - Isl)] + Osl 其中: Ov:换算结果 Iv:换算对象 Osh:换算结果的高限 Osl:换算结果的低限 Ish:换算对象的高限 Isl:换算对象的低限
S7-300PLC模拟量输入输出量程转换教程

S7-300/400 PLC模拟量输入/输出的量程转换SLC A&D CSMarch, 20051模拟量输入/输出量程转换的概念 (3)2S7-300/400 PLC模拟量输入/输出模板 (3)2.1需要使用的模板 (3)2.2涉及的信号类型 (3)3STEP 7中模拟量输入/输出的编程 (3)3.1FC105/FC106在哪里 (3)3.2FC105/FC106功能描述 (5)3.2.1FC105功能描述 (5)3.2.2FC106功能描述 (5)3.3FC105/FC106参数定义 (6)3.3.1FC105 的参数定义 (6)3.3.2FC106的参数定义 (6)3.4例子程序 (7)3.4.1FC105例子程序 (7)3.4.2FC106例子程序 (8)1模拟量输入/输出量程转换的概念实际的工程量,如压力、温度、流量、物位等要采用各种类型传感器进行测量。
传感器将输出标准电压、电流、温度、或电阻信号供PLC采集,PLC的模拟量输入模板将该电压、电流、温度、或电阻信号等模拟量转换成数字量——整形数(INTEGER)。
在PLC程序内部要对相应的信号进行比较、运算时,常需将该信号转换成实际物理值(对应于传感器的量程)。
而经程序运算后得到的结果要先转换成与实际工程量对应的整形数,再经模拟量输出模板转换成电压、电流信号去控制现场执行机构。
这样就需要在程序中调用功能块完成量程转换。
如一个压力调节回路中,压力变送器输出4-20mA DC信号到SM331模拟量输入模板,SM331模板将该信号转换成0-27648的整形数,然后在程序中要调用FC105将该值转换成0-10.0(MPa)的工程量(实数),经PID运算后得到的结果仍为实数,要用FC106转换为对应阀门开度0-100%的整形数0-27648后,经SM332模拟量输出模板输出4-20mA DC信号到调节阀的执行机构。
本文主要讨论S7-300/400 PLC编程中模拟量的量程转换。
s7-300模拟量转换编程

/R //除以10,因为模板规范规定,采集值和实际温度比值为10
T DB1.DBW0 //保存 实际温度值.
所以,好好看看模版规范是你能正确使用模拟量的关键.
以上是最方便的模拟量采集
网站上很多人建议使用FC105做模拟量采集,其实是一样的,只不过
FC105将采集进来的信号做了一下线性话,通过FC105采集进来信号在你的问题中就是以V为单位的工程量,比如5V,这样的转换对于PLC来说其实没有什么意义,因为PLC运算完全以数字作为运算的,这样转换的作用是方便在HMI上显示而已.
s7-300模拟量转换编程
问题:测量是+/-10V,用的是12位A/D模块
回答:
L PIW256 //假设你的模拟量信号接在模块地址256上,由于电压信号占用2通道,所以需要PIW,此时你的ACCU1中就是通过A/D转换后相对于量程的整数
T DB1.DBW0 //保存一下,方便以后调用
例如wincc,已经有变量的线性标定功能,所以下位机采用线性转换是毫无意义,你应该如下编程:
L PIW256 //采集信号
ITD //转换为长整形,因为根据语法,整形转换为浮点数必须先转换为长整形.
DTR //转换为浮点数
西门子S7-300PLC模拟量转换为不同位数的数字后,为什么都是0276

西门子S7-300PLC模拟量转换为不同位数的数字后,为什么都是0~276
日本的PLC将12位模拟量输入模块转换后的数(0~4095)去掉尾数后为0~4000,对应于模块的模拟量的量程(例如0~10V)。
美国的PLC (例如S7-200和GE的PLC)将4000左移3位,12位模拟量输入模块转换后的数为0~32000,接近16位正数的最大值32767。
西门子S7-300PLC模拟量输入模块一般采用积分转化法,转换后的二进制数的位数可以设置为9~16位(与模块的型号和组态有关),如果小于16 位(包括符号位),则转换值被自动左移,使其最高位(符号位)在16位字的最高位,左移后未使用的低位则填入0。
设转换的精度为12位加符号位,左移3位后低3位为0,相当于实际的值被乘以8。
这种处理方法使转换后的数值与模拟量的关系与组态的A/D转换的位数无关,便于对转换值的后续计算和处理,例如PID控制功能块FB 41需要将来自模拟量输入模块的整数转换为0~%的浮点数。
下表给出了模拟量输入模块的转换值与以百分数表示的模拟量之间的对应关系,其中最重要的关系是双极性模拟量量程的上、下限(100%和−100%)分别对应于模拟值27648和−27648。
单极性模拟量量程的上、下限(100%和0%)分别对应于模拟值27648和0。
有人可能要问,为什么是27648呢?我认为可能是制定规则的人担心实际的模拟量输入可能会超过选择的量程,因此在量程的上、下限(-100%~100%)之外设置了%的裕量。
为什么是27648而不是别的数呢?因为27648的十六进制数6C00H是个较特殊的数。
不能认为模块的分辨率为1/27648,分辨率还是取决于模块设置的实际精度(转换后的位数)。
PLC300的模拟量输入的转化

PLC300的模拟量输入的转化
想问下PLC300模拟量输入中4-20mA对应的是0-27648还是32767了?如果我要用4-20mA该怎么编译程序,模拟量输入端空置以后,输入端应该是该是多少?我的通过通过监控,空置PIW256怎么现实的-32768?求解答,有截图帮忙看下,模拟量模块是331-7KF02-0AB0
问题补充:
我怎么在网上看到如果要用4-20mA的话,程序编译要特别处理一下···你比如说传感器0-10mP对应输出是4-20mA,写入PLC中,那我的程序应写成10×(PIW256-5530)/(27648-5530)还是10×PIW256/27648,前者是我在网上看到的,后者是我编的,那个能用了啊?
图片说明:1,截图
最佳答案
PLC300模拟量输入中4-20mA对应的是0-27648,有两张表供参考。
图片说明:1,22,1
标签。
西门子S7-300PLC模拟量编程

西门子S7-300PLC模拟量编程西门子S7-300PLC模拟量方面的实例,包含了以下几个方面的要点:1、对变送器进行取值,并进行控制2、对模数功能块FC105 进行调用3、对AI 模块进行设置4、对AI 量程块进行选择这个实例,调试的是一个流量调节回路中,流量变送器输出2-2-MA DC信号到SM331 模拟输入模块,模块将该信号转换成浮点数,然后在程序中调用FC105将该值转换成工程量,我们就可以监视实际工程中的流量值了。
模拟量AI 采用SM311 模块是8x12Bit(8 通道12 位)对应货号是6ES7 331-7KF02-OABO,在模数转化上利用传感器或变送器的,电压或电流取出的值,到AI 模块上进行转换,然后把值传给西门子的CPU 进行处理,从而检测控制传感器的值,如图:模拟量输入模块模拟量输入用于连接电压和电流传感器、热电耦、电阻和热电阻,用来实现PLC 与模拟量过程信号的连接。
模拟量输入模块将从过程发送来的模拟信号转换成供PLC 内部处理用的数字信号。
本次工程用的是SM311 输入模块如下图所示。
该模块具有如下特点:分辨率为9 到15 位+符号位(用于不同的转换时间),可设置不同的测量范围。
通过量程模块可以机械调整电流/电压的基本测量范围。
用STEP 7硬件组态工具可进行微调。
模块把诊断和超限中断发送到可编程控制器的CPU 中。
模块向CPU 发送详细的诊断信息。
模拟量输入模块的接线方式两线制电流和四线制电流都只有两根信号线,它们之间的主要区别在于:两线制电流的两根信号线既要给传感器或者变送器供电,又要提供电流信号;而四线制电流的两根信号线只提供电流信号。
因此,通常提供两线制电流信号的传感器或者变送器是无源的;而提供四线制电流信号的传感器或者变送器是有源的。
因此,当PLC 的模板输入通道设定为连接四线制传感器时,PLC 只从模板通道的端子上采集模拟信号,如图2-3,而当PLC 的模板输入通道设定为连接二线制传感器时,如图2-2,PLC 的模拟输入模板的通道上还要向外输出一个直流24V的电源,以驱动两线制传感器工作。
西门子S7-300模拟量转换

BZXINDAXINS7-300/400 Tip Analog Scaling Tip No. 1Group Topic1Scaling Analog ValuesOverviewAnalog Inputs and Outputs in an S7 PLC are represented in the PLC as a 16-bit integer. Over the nominal span of the analog input or output, the value of this integer will range between -27648 and +27648. However, it is easier to use the analog values if they are scaled to the same units and ranges as the process being controlled. This applications tip describes methods for scaling analog values to and from engineering units.Program DescriptionThe program for scaling analog values consists of 2 function (FC) blocks. These blocks are optimized for unipolar (0..27648) analog values, but will also work with bipolar analogs. Both blocks are shown in two different languages: LAD and STL.FC100 converts an integer in a nominal 0..27648 range to a floating point number in the specified engineering units.FC101 converts a floating point number in the specified engineering units to an integer in 0..27648 range.FC100 “Scale2Real” in LADFC101 “UnscaleReal” in STLScaling ExampleThe following gives an example of calling each of the scaling blocks from within your program. The main thing you need to remember is that MinEU is the engineering unit value corresponding to a reading of 0 V or mA, and that MaxEU is the engineering unit value corresponding to the nominal maximum reading of the analog point.General NotesThe SIMATIC S7-300/400 Application Tips are provided to give users of the S7-300 and S7-400 some indication as to how, from the view of programming technique, certain tasks can be solved with this controller. These instructions do not purport to cover all details or variations in equipment, nor do they provide for every possible contingency. Use of the S7-300/400 Application Tips is free.Siemens reserves the right to make changes in specifications shown herein or make improvements at any time without notice or obligation. It does not relieve the user of responsibility to use sound practices in application, installation, operation, and maintenance of the equipment purchased. Should a conflict arise between the general information contained in this publication, the contents of drawings or supplementary material, or both, the latter shall take precedence.Siemens is not liable, for whatever legal reason, for damages or personal injury resulting from the use of the application tips.All rights reserved. Any form of duplication or distribution, including excerpts, is only permitted with express authorization by SIEMENS.专利产品--控制柜配线的全新解决方案控制柜快速接线模块/端子板n全系列模块化结构:将控制柜内接线附件设计成模块化结构的系列产品,包括模拟及数字信号输入输出、电源分配等,采用统一的标准安装尺寸,元器件透明化设计,指示一目了然,既美观又快捷。
S7-300模拟量处理研究与应用

S7-300模拟量处理研究与应用摘要:随着PLC技术的日益成熟,PLC在工业上得到了广泛的应用。
但是PLC和其它由处理器一样,内部都是处理数据字量的。
然而在实际处理中,经常会遇到有关模拟量的问题,如何处理模拟量便成为一个关键和实际问题,本文便是通过西门子模拟量处理模块SM331,同时配合相应的程序处理来解决此问题。
此外,本文以实际工程为应用背景,研究了该工程中液位高度的模拟量处理方法。
关键词:S7-300PLC模拟量转换SM331模块1.工程背景用S7-300控制系统完成两种物料的配方(配比)控制。
本系统共有ABCDEF 五个贮液槽,功能是将E、F两槽内不同的原料液以适当的配比在A槽(或B槽或C槽)中进行混合,然后将配好的混合物料通过泵输送到D槽。
有三种配比选择:E:F=1:3、E:F=2:3、E:F=1:5系统由两个台架组成,一个台架由A、B、C三个配料槽及管阀构成,另一台架由两个原料槽E、F、成品槽D及管、阀、泵构成。
其中A、B、C三槽的进/出料电磁阀、液位、配比选择由CPU314C-2DP控制;D、E、F三个槽的液位、E、F供料泵及D槽回料泵、手动/自动/停止等由CPU315-2DP控制。
两台S7-300间通过MPI通信,实现物料的配方控制。
2.模拟量处理在本工程中需要实时监测A、B、C、D、E、F六个槽的液位高度,以便进行相应的阀门开度和水泵启停等动作,因此如何把液面高度这个模拟量转成数字量并读取到相应CPU中成为问题的关键。
模拟量处理过程为:首先利用液位传感器/液位变送器把连续变化的物理量(液面高度)转化成电信号,然后通过变送模块把将该电量转换成标准的模拟信号如±10V,4~20mA等。
之后,把模拟量信号输入到模拟量模块中,通过模拟量输入模块转换成数字量传送到PLC的CPU中。
至此模拟量已转成数字量供CPU处理及相应的程序编写调用。
2.1液位传感器此处我们选择一种投入式液位传感器,测量范围为0~1m,可输出4-20mA标准电流。
S7-300的模拟量转换为不同位数的数字后,为什么都是0~27648

S7-300/400的I/Q区与PI/PQ区的关系用仿真软件学习DP从站故障诊断的方法(转自廖老师博客)S7-300的模拟量转换为不同位数的数字后,为什么都是0~27648 2012-11-06 15:49:29| 分类:S7-300 | 标签:|举报|字号大中小订阅S7-300的模拟量转换为不同位数的数字后,为什么都是0~27648?日本的PLC将12位模拟量输入模块转换后的数(0~4095)去掉尾数后为0~4000,对应于模块的模拟量的量程(例如0~10V)。
美国的PLC(例如S7-200和GE的PLC)将4000左移3位,12位模拟量输入模块转换后的数为0~32000,接近16位正数的最大值32767。
S7-300的模拟量输入模块一般采用积分转化法,转换后的二进制数的位数可以设置为9~16位(与模块的型号和组态有关),如果小于16 位(包括符号位),则转换值被自动左移,使其最高位(符号位)在16位字的最高位,左移后未使用的低位则填入0。
设转换的精度为12位加符号位,左移3位后低3位为0,相当于实际的值被乘以8。
这种处理方法使转换后的数值与模拟量的关系与组态的A/D转换的位数无关,便于对转换值的后续计算和处理,例如PID控制功能块FB 41需要将来自模拟量输入模块的整数转换为0~100.0%的浮点数。
下表给出了模拟量输入模块的转换值与以百分数表示的模拟量之间的对应关系,其中最重要的关系是双极性模拟量量程的上、下限(100%和?100%)分别对应于模拟值27648和?27648。
单极性模拟量量程的上、下限(100%和0%)分别对应于模拟值27648和0。
有人可能要问,为什么是27648呢?我认为可能是制定规则的人担心实际的模拟量输入可能会超过选择的量程,因此在量程的上、下限(-100%~100%)之外设置了18.5%的裕量。
为什么是27648而不是别的数呢?因为27648的十六进制数6C00H是个较特殊的数。
s7-300模拟量(温度、压力、流量)的处理

s7-300模拟量(温度、压力、流量)的处理S7-300中温度、压力及流量的输入值,这样处理为PLC可以处理的数据,并实现数值的显示???匿名回复:调用FC105匿名回复:看AI模块的接线图和D/A转换的规则,自己编程嘛。
匿名回复:PLC可直接处理模拟量输入PIW XXX显示用触摸屏或工控机或智能显示仪表。
匿名回复:显示可以用捷通的DDM4A型PLC专用显示表,直接在表上显示PLC内处理好的模拟量数据(数字信号),不需要再进行模拟量的硬件电压电流转换。
/上有S7-300驱动32块DDM4A显示表的驱动程序例子。
匿名回复:用二点式将模拟量信号标定为有实际意义的值。
如0-10V对应0-100KN即0-27648对应0-10V对应0-100KN。
将模拟量通道数值如PIW30除以2727648再乘以100KN。
即转化为压力值了。
匿名回复:温度有EM231热电阻模块,流量及压力是不是只需要有开、关数据即可,若是这样,只需要有输入输出单元即可,通过编程就行,压力可以通过油压表实现匿名回复:用系统库啊,我吊用FC105的,输入显示上下幅度就行了,好用啊,程序是系统加保护的,要看算法,我有解保护软件。
elexxj@匿名回复:用系统库啊,我吊用FC105的,输入显示上下幅度就行了,好用啊,程序是系统加保护的,要看算法,我有解保护软件。
elexxj@匿名回复:那为大侠有西门子的关于configuring connections方面的资料。
中英都可。
中文最好呵呵。
那里可以下呀。
谢了。
匿名回复:易飞:解保护软件当然可以能解FB41\FB45!明明:不知你要config哪方面的connection?好许我可以帮你。
匿名回复:只要了解接线方法,外部模拟量和内部数值的对应关系,应该很容易,主要是数据的量化。
只要了解接线方法,外部模拟量和内部数值的对应关系,应该很容易,主要是数据的量化。
匿名回复:如果是热电偶,则把数值除10即可,其它调用FC105,注意单极性还是双极性,双极性就是有负值,单极性对应值0~27648,双极性对应-27648~27648匿名回复:压力和流量可以自己做个滤波变标,简单一点就调FC105。
S7-300模拟量转换

S7-300模拟量转换S7-300/400 PLC模拟量输入/输出的量程转换SLC A&D CSMarch, 20051模拟量输入/输出量程转换的概念 (3)2S7-300/400 PLC模拟量输入/输出模板 (3)2.1需要使用的模板 (3)2.2涉及的信号类型 (3)3STEP 7中模拟量输入/输出的编程 (3)3.1FC105/FC106在哪里 (3)3.2FC105/FC106功能描述 (5)3.2.1FC105功能描述 (5)3.2.2FC106功能描述 (5)3.3FC105/FC106参数定义 (6)3.3.1FC105 的参数定义 (6)3.3.2FC106的参数定义 (6)3.4例子程序 (7)3.4.1FC105例子程序 (7)3.4.2FC106例子程序 (8)1模拟量输入/输出量程转换的概念实际的工程量,如压力、温度、流量、物位等要采用各种类型传感器进行测量。
传感器将输出标准电压、电流、温度、或电阻信号供PLC采集,PLC的模拟量输入模板将该电压、电流、温度、或电阻信号等模拟量转换成数字量——整形数(INTEGER)。
在PLC程序内部要对相应的信号进行比较、运算时,常需将该信号转换成实际物理值(对应于传感器的量程)。
而经程序运算后得到的结果要先转换成与实际工程量对应的整形数,再经模拟量输出模板转换成电压、电流信号去控制现场执行机构。
这样就需要在程序中调用功能块完成量程转换。
如一个压力调节回路中,压力变送器输出4-20mA DC信号到SM331模拟量输入模板,SM331模板将该信号转换成0-27648的整形数,然后在程序中要调用FC105将该值转换成0-10.0(MPa)的工程量(实数),经PID 运算后得到的结果仍为实数,要用FC106转换为对应阀门开度0-100%的整形数0-27648后,经SM332模拟量输出模板输出4-20mA DC 信号到调节阀的执行机构。
3S7-300模拟量模块使用

3---更换量程卡
1 使用改锥,将量程模板从模拟量输入模板中松开。
3---更换量程卡
2 将量程模板(正确定位(1))插入模拟量输入模板中, 所选测量范围为指向模板(2)上标记点的测量范围。
4---参数设置
1 模拟量输入模块参数设置
模拟量输出模块设置电压输出范围是0-10V; 那么在PLC里任意给定一个在5-80HZ的频率值,模 拟量输出模拟值是多少?
2 任务分析
变频器每1mV对应的频率值=(80-5) / 1000 输出模块每1mV对应的模拟值=27648 / 1000
输出模块每1HZ对应的模拟值=27648 /(80-5) 在6-80HZ内的任意一个频率值X对应的输出模拟值Y 的关系是:
连接双线变送器至带隔离的模拟输入
5--接线 5-1传感器与模拟量输入的连 接1 按照接线图进行传感器与模拟量输入的连接。
连接从L+供电的双线变送器至带隔离的模拟输入
5--接线 5-1传感器与模拟量输入的连 接1 按照接线图进行传感器与模拟量输入的连接。
连接四线变送器至带隔离的模拟输入
5--接线 5-2连接负载 /执行器至模拟量输出
3 编程步骤:符号表编程。
6---应用举例 6-1 压力检测
4 编程步骤:FC1功能程序编写。
6---应用举例 6-1 压力检测
4 编程步骤:FC1功能程序编写。
6---应用举例 6-1 压力检测
4 编程步骤:FC1功能程序编写。
6---应用举例 6-1 压力检测
4 编程步骤:FC1功能程序编写。
Y=27648(X-5) / (80-5)
6--应用举例 6-2控制变频器的输出频 率3 编程步骤:符号表编写。
S7-300程序设计方法(模拟量控制)

S7-300程序设计方法(模拟量控制)S7-300程序设计方法(模拟量控制)1、概述本文档旨在介绍使用S7-300 PLC进行模拟量控制的程序设计方法。
模拟量控制是指通过对模拟量进行读取和控制,实现对某个过程或设备的精确控制。
2、硬件准备在开始程序设计前,需要准备以下硬件设备:- S7-300 PLC主机- 模拟量输入模块- 模拟量输出模块- 传感器设备3、软件配置在进行程序设计前,需要进行一些软件配置:- 安装S7-300 PLC编程软件- 建立PLC连接- 配置模拟量输入输出模块- 配置传感器设备4、建立IO连接在程序设计前,需要建立正确的IO连接,确保PLC能够读取模拟量输入信号和控制模拟量输出信号。
具体步骤如下:4.1 针对模拟量输入模块,连接传感器设备到相应输入通道。
4.2 针对模拟量输出模块,连接控制设备到相应输出通道。
5、创建数据块在开始程序设计前,需要创建数据块,用于存储PLC读取的模拟量输入信号和控制的模拟量输出信号。
具体步骤如下:5.1 在S7-300 PLC编程软件中,创建一个新的数据块。
5.2 在数据块中定义模拟量输入信号和模拟量输出信号的数据类型和变量名。
6、编写程序功能块根据实际需求,编写程序功能块来实现对模拟量的读取和控制。
具体步骤如下:6.1 在S7-300 PLC编程软件中,创建一个新的程序功能块。
6.2 在功能块中编写读取模拟量输入信号的代码,并将其保存到数据块中的相应变量。
6.3 在功能块中编写控制模拟量输出信号的代码,并将其输出到对应的输出通道。
7、程序调试完成程序编写后,需要对程序进行调试,确保读取的模拟量输入信号准确,并且控制的模拟量输出信号符合预期。
具体步骤如下:7.1 使用S7-300 PLC编程软件进行在线监视,观察模拟量输入信号的数值变化。
7.2 根据实际需求,调整程序功能块中控制模拟量输出信号的代码,确保输出信号的精确控制。
8、系统验证在完成程序调试后,进行系统验证,确保模拟量控制系统运行正常。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
S7-300/400 PLC模拟量输入/输出的量程转换SLC A&D CSMarch, 20051模拟量输入/输出量程转换的概念 (3)2S7-300/400 PLC模拟量输入/输出模板 (3)2.1需要使用的模板 (3)2.2涉及的信号类型 (3)3STEP 7中模拟量输入/输出的编程 (3)3.1FC105/FC106在哪里 (3)3.2FC105/FC106功能描述 (5)3.2.1FC105功能描述 (5)3.2.2FC106功能描述 (5)3.3FC105/FC106参数定义 (6)3.3.1FC105 的参数定义 (6)3.3.2FC106的参数定义 (6)3.4例子程序 (7)3.4.1FC105例子程序 (7)3.4.2FC106例子程序 (8)1模拟量输入/输出量程转换的概念实际的工程量,如压力、温度、流量、物位等要采用各种类型传感器进行测量。
传感器将输出标准电压、电流、温度、或电阻信号供PLC采集,PLC的模拟量输入模板将该电压、电流、温度、或电阻信号等模拟量转换成数字量——整形数(INTEGER)。
在PLC程序内部要对相应的信号进行比较、运算时,常需将该信号转换成实际物理值(对应于传感器的量程)。
而经程序运算后得到的结果要先转换成与实际工程量对应的整形数,再经模拟量输出模板转换成电压、电流信号去控制现场执行机构。
这样就需要在程序中调用功能块完成量程转换。
如一个压力调节回路中,压力变送器输出4-20mA DC信号到SM331模拟量输入模板,SM331模板将该信号转换成0-27648的整形数,然后在程序中要调用FC105将该值转换成0-10.0(MPa)的工程量(实数),经PID运算后得到的结果仍为实数,要用FC106转换为对应阀门开度0-100%的整形数0-27648后,经SM332模拟量输出模板输出4-20mA DC信号到调节阀的执行机构。
本文主要讨论S7-300/400 PLC编程中模拟量的量程转换。
2S7-300/400 PLC模拟量输入/输出模板2.1需要使用的模板使用西门子S7-300/400 PLC进行模拟量输入/输出需要使用的模板:S7-300系列PLC:SM331系列模拟量输入模板;SM332系列模拟量输出模板;SM334/335系列模拟量输入/输出模板。
S7-400系列PLC:SM431系列模拟量输入模板;SM432模拟量输出模板。
目前常用的模板规格型号参见模板手册,请链接到如下网址下载模板手册:S7-300: /WW/view/en/8859629S7-400: /WW/view/en/11177402.2涉及的信号类型电压,电流,温度,电阻。
3STEP 7中模拟量输入/输出的编程3.1FC105/FC106在哪里在编程界面下,在Program elements中的Libraries下的Standard Library下的TI-S7 Converting Blocks中就可以找到,见下图:注意:请不要使用S5-S7 Converting Blocks下的FC105, FC106,该路径下的功能是用于S5输入输出模板的,在S7输入输出模板上无法使用。
3.2FC105/FC106功能描述在编程界面下选中该功能块,按一下计算机键盘上的F1功能键,即可打开关于该功能块的在线帮助,包括该功能块的功能,管脚参数定义、例子程序等。
建议用户使用STEP 7在线帮助,可以提供全面的编程帮助。
3.2.1FC105功能描述SCALE(FC105)功能将一个整形数INTEGER(IN)转换成上限、下限之间的实际的工程值(LO_LIM and HI_LIM),结果写到OUT。
公式如下:OUT = [ ((FLOAT (IN) – K1)/(K2–K1)) * (HI_LIM–LO_LIM)] + LO_LIM常数K1和K2的值取决于输入值(IN)是双极性BIPOLAR还是单极性UNIPOLAR。
¾双极性BIPOLAR:即输入的整形数为 –27648到 27648,此时 K1 = –27648.0 , K2 = +27648.0¾单极性UNIPOLAR:即输入的整形数为 0 到 27648,此时 K1 = 0.0 , K2 = +27648.0如果输入的整形数大于 K2,输出 (OUT) 限位到HI_LIM, 并返回错误代码。
如果输入的整形数小于K1,输出限位到LO_LIM,并返回错误代码。
反向定标的实现是通过定义LO_LIM > HI_LIM来实现的。
反向定标后的输出值随着输入值的增大而减小。
3.2.2FC106功能描述UNSCALE(FC106)功能将一个实数REAL (IN) 转换成上限、下限之间的实际的工程值(LO_LIM and HI_LIM),数据类型为整形数。
结果写到OUT。
公式如下:OUT = [ ((IN–LO_LIM)/(HI_LIM–LO_LIM)) * (K2–K1) ] + K1常数K1和K2的值取决于输入值(IN)是双极性BIPOLAR还是单极性UNIPOLAR。
¾双极性BIPOLAR:即输出的整形数为 –27648到 27648,此时 K1 = –27648.0 , K2 = +27648.0¾单极性UNIPOLAR:即输出的整形数为 0 到 27648,此时 K1 = 0.0 , K2 = +27648.0如果输入值在下限LO_LIM和上限HI_LIM的范围以外,输出 (OUT) 限位到与其相近的上限或下限值(视其单极性UNIPOLAR或双极性BIPOLAR而定),并返回错误代码。
3.3FC105/FC106参数定义3.3.1FC105 的参数定义参数类型数据类型存储区描述EN 输入BOOL I,Q,M,D,L 使能输入,高电平有效ENO 输出BOOL I,Q,M,D,L 使能输出,如正确执行完毕,则为1IN 输入INT I,Q,M,D,L,P,Constant要转换为工程量的输入值HI_LIM 输入REAL I,Q,M,D,L,P,Constant工程量上限LO_LIM 输入REAL I,Q,M,D,L,P,Constant工程量下限BIPOLAR 输入BOOL I,Q,M,D,L 1表示输入为双极性,0表示输入为单极性OUT 输出REAL I,Q,M,D,L,P 量程转换结果RET_VAL 输出WORD I,Q,M,D,L,P 返回值W#16#0000代表指令执行正确。
如返回值不是W#16#0000,则需在错误信息中查该值的含义错误信息:如输入的整形数大于K2,则输出(OUT) 限位到 HI_LIM,并返回错误值。
如输入的整形数小于K1,输出限位到LO_LIM,并返回错误值。
ENO端的信号状态置为0且返回值RET_VAL 为W#16#0008。
3.3.2FC106的参数定义参数声明数据类型存储区描述EN 输入BOOL I,Q,M,D,L 使能输入,高电平有效ENO 输出BOOL I,Q,M,D,L 使能输出,如正确执行完毕,则为1IN 输入REAL I,Q,M,D,L,P,Constant 要转换成整形数的输入值HI_LIM 输入REAL I,Q,M,D,L,P,Constant 工程量上限LO_LIM 输入REAL I,Q,M,D,L,P,Constant 工程量下限BIPOLAR 输入BOOL I,Q,M,D,L1表示输入为双极性,0表示输入为单极性OUT 输出INT I,Q,M,D,L,P 量程转换结果RET_VAL 输出WORD I,Q,M,D,L,P返回值W#16#0000代表指令执行正确。
如返回值不是W#16#0000,则需在错误代码表中查该值的含义错误信息:如果输入值在下限LO_LIM和上限HI_LIM的范围以外,输出 (OUT) 限位到与其相近的上限或下限值(视其单极性UNIPOLAR或双极性BIPOLAR而定),并返回错误代码。
ENO端的信号状态置为0且返回值RET_VAL 为 W#16#0008。
3.4例子程序3.4.1FC105例子程序如输入I0.0 为 1,SCALE功能被执行。
下面的例子中,整形数 22 将被转换成0.0 到100.0 的实数并写到OUT。
输入是双极性BIPOLAR,用 I2.0来设置。
执行前:IN----------------------MW10=22HI_LIM---------------MD20=100.0LO_LIM--------------MD30=0.0OUT-------------------MD40=0.0BIPOLAR------------I2.0=TRUE执行后:OUT------------------MD40=50.039785883.4.2FC106例子程序如输入I0.0 为 1,UNSCALE功能被执行。
下面的例子中,实数50.03978588将被转换成0.0到100.0的工程量,再转换成整形数并写到OUT。
输入是双极性BIPOLAR,用 I2.0来设置。
执行前:IN---------------------- MD10=50.03978588HI_LIM---------------MD20=100.0LO_LIM--------------MD30=0.0OUT-------------------MW40=0BIPOLAR------------I2.0=TRUE执行后:OUT------------------MW40=22注意:通常在一个项目都有不只一个模拟量需要转换,FC105和FC106在程序中都可多次调用,调用的方法同上述例子程序。