


价格:面议
0
联系人:
电话:
地址:
西门子模块6SE7031-5ES87-1FE0参数详细
这是西门子论坛鼠老爹大侠写的一篇关于工程量转换的文章,对初学者帮助很大,贴出来与大家共享!
1、基本概念
我们生活在一个物质的世界中。世间所有的物质都包含了化学和物理特性,我们是通过对物质的表观性质来了解和表述物质的自有特性和运动特性。这些表观性质就是我们常说的质量、温度、速度、压力、电压、电流等用数学语言表述的物理量,在自控领域称为工程量。这种表述的优点是直观、容易理解。在电动传感技术出现之前,传统的检测仪器可以直接显示被测量的物理量,其中也包括机械式的电动仪表。
2、标准信号
在电动传感器时代,中央控制成为可能,这就需要检测信号的远距离传送。但是纷繁复杂的物理量信号直接传送会大大降低仪表的适用性。而且大多传感器属于弱信号型,远距离传送很容易出现衰减、干扰的问题。因此才出现了二次变送器和标准的电传送信号。二次变送器的作用就是将传感器的信号放大成为符合工业传输标准的电信号,如0-5V、0-10V或4-20mA(其中用得最多的是4-20mA)。而变送器通过对放大器电路的零点迁移以及增益调整,可以将标准信号准确的对应于物理量的被检测范围,如0-100℃或10-100℃等等。这是用硬件电路对物理量进行数学变换。中央控制室的仪表将这些电信号驱动机械式的电压表、电流表就能显示被测的物理量。对于不同的量程范围,只要更换指针后面的刻度盘就可以了。更换刻度盘不会影响仪表的根本性质,这就给仪表的标准化、通用性和规模化生产带来的无可限量的好处。
3、数字化仪表
到了数字化时代,指针式显示表变成了更直观、更精确的数字显示方式。在数字化仪表中,这种显示方式实际上是用纯数学的方式对标准信号进行逆变换,成为大家习惯的物理量表达方式。这种变换就是依靠软件做数学运算。这些运算可能是线性方程,也可能是非线性方程,现在的电脑对这些运算是易如反掌。
4、信号变换中的数学问题
信号的变换需要经过以下过程:物理量-传感器信号-标准电信号-A/D转换-数值显示。
声明:为简单起见,我们在此讨论的是线性的信号变换。同时略过传感器的信号变换过程。
定物理量为A,范围即为A0-Am,实时物理量为X;标准电信号是B0-Bm,实时电信号为Y;A/D转换数值为C0Cm,实时数值为Z。
如此,B0对应于A0,Bm对应于Am,Y对应于X,及Y=f(X)。由于是线性关系,得出为Y=(BmB0)*(XA0)/(AmA0)+B0。又由于是线性关系,经过A/D转换后的数学方程Z=f(X)可以表示为Z=(CmC0)*(XA0)/(AmA0)+C0。那么就很容易得出逆变换的数学方程为X=(AmA0)*(ZC0)/(CmC0)+A0。方程中计算出来的X就可以在显示器上直接表达为被检测的物理量。
5、PLC中逆变换的计算方法
以S7200和4-20mA为例,经A/D转换后,我们得到的数值是6400-32000,及C0=6400,Cm=32000。于是,X=(AmA0)*(Z6400)/(320006400)+A0。
例如某温度传感器和变送器检测的是10-60℃,用上述的方程表达为X=70*(Z6400)/2560010。经过PLC的数学运算指令计算后,HMI可以从结果寄存器中读取并直接显示为工程量。
用同样的原理,我们可以在HMI上输入工程量,然后由软件转换成控制系统使用的标准化数值。
在S7200中,(Z6400)/25600的计算结果是非常重要的数值。这是一个0-1.0(100%)的实数,可以直接送到PID指令(不是指令向导)的检测值输入端。PID指令输出的也是0-1.0的实数,通过的计算式的反计算,可以转换成6400-32000,送到D/A端口变成4-20mA输出。
以上讲述的是PLC中工程量转换的基本方法,程序的编写则因人、因事而异。但是万变不离其衷。如果大家感兴趣,我可以给出自己编写的程序供大家参考,同时也希望各位网友不吝赐教、互相交流
简单易用的bbbbbbs API函数库—包含功能强大的分析和纠错工具。
串口编程函数库
现在的多串口卡必须能在不同的软件编程平台下工作,以至于应用,例如在远程访问服务器、WinFAX和终端都能运用。无论如何, 多串口卡在其他应用时,如在控制外部的设备时要求有专门的软件编程。既然是这样, 就开发成本和时间而言,简单易用的函数库和有效的调试工具成为关键因素。因此,建立在操作系统下的不同的解决方案是有必要的。
1. DOS
在DOS下没有标准的API定义,所以使用不同的解决方案就显得尤为必要,例如直接的I/O 存取、Int14或所有的API。但这些解决方案彼此不再兼容,所以,寻找一个简单的编程解决方案已是重要的问题。
2. bbbbbbs 3.x
bbbbbbs 3.x提供Win16 Comm SDK容许的串口编程接入PC的串口。基于Win16的通讯对象,例如MsCOMM为VB,可以接入串口。无论如何,由于bbbbbbs 3.x OS的限制,您只能在系统上最多安装9个串口。
3. bbbbbbs 2000/NT/95/98/ME
bbbbbbs NT提供256个串口,然而bbbbbbs 95/98/ME支持最大值为128个串口。虽然在Win32 API中的每个串口,随便哪一个都可以接入使用,且弹性很大,但是依据复杂程度会增加开发成本的,迫使去发现比编程更容易的解决方案。和综合的Win32 API比较,通讯对象也必须是更通俗和更可以接受的。在Microsoft Visual Basic例子里,您可以用MsComm对象接入您的串口。而对于第三方通信对象,例如Inprise Delphi编译程序,也是可行的。虽然通信对象简单易用,但是并不能满足所有系统的性能扩展,例如MsComms最大只支持16个串口。
调试工具
当系统开发时,程序设计员需要适当对在线通讯设备进行验证。这里有两种基本的解决方案:硬件方案,例如一个协议分析仪和数据显示器,它是精确的并高级的,只是在费用上很不利。另一种方法是通过软件编程把PC变成数据显示器,虽然您将失去精密度和自动侦测功能,但这相对是有限的费用却是有效的。
DOS 平台下的API-232/DOS
API-232/DOS是所有Moxa产品在DOS下的编程函数库,每个功能也是综合和简单易用的。API-232/DOS提供多方面的功能以弥补基本数据的传输,从而达到和XModem、YModem和ZModem文件传输一样好的功能。此外,这种编程同时支持征询和中断格式功能,和函数库和绝大多数大众化的编程也是兼容的,包括asic、Turbo/Borland C、Microsoft C、Turbo Pascal、Assembly和Clipper。API-232/DOS驱动程序包含SCOPE.EXE,操作系统同样指向数据范围,帮助您获取和分析在线数据通信。
bbbbbbs 3.x平台的下API-232/Win3.x
虽然bbbbbbs 3.x只支持到9 个端口,并相对到受系统的限制,但它仍然是经济的16-bit GUI系统。在这个案例中,API-232/Win3.x帮助系统开发者在bbbbbbs 3.x系统下建立少于9 个串口设备的系统。API-232/Win3.x与16-bit Borland C和Microsoft Visual C++是兼容的,而且就像API-232/DOS是专为减少维护和节省费用设计的。
bbbbbbs 2000/NT/95/98/ME平台下PComm函数库
PComm函数库是系统开发者根本生产能力的体现。它简单易用,还提供了基本和先进的功能,例如在文件转换和复核。PComm函数操作与API-232/DOS/Win3.x函数类似,用这种方式可以利用强大的32位平台减轻时间和成本。PComm函数是PComm Lite和PComm内嵌的,是32位编程的大众工作方式,例如Microsoft Visual Basic、Microsoft Visual C++、Borland C++和Inprise Delphi。作为调试工具包,PComm最是经济的和最强有力的。PComm也提供强有力的和多方面的数据采集工具,在故障排除和数据采集的帮助下,您的PC可以在基于bbbbbbs状态下在线显示和获取数据。此外,数据可以方便的存取,也便于将来分析