基于PLC的一维正态云模型实现研究
2012-06-09刘金保王智琳
刘金保,王智琳,李 政
(江苏科技大学 江苏 镇江 212003)
1 云模型
1.1 云模型的定义
设U={x}是一个用精确数值表示的定量论域,T是U上的定性概念即语言子集,CT(x)是 U 到闭区间[0,1]的映射,对于任意x∈U,都存在一个有稳定倾向的随机数CT(x),则称式(1)为云模型[4]。
自1995李德毅院士正式提出隶属云概念[1](即云模型概念)以来,云模型理论的基本框架及其算法逐步得到完善,并开始趋向成熟。目前云模型的硬件实现已成为研究热点,如云模型已被用于TMS320F2812 DSP和STC89C52单片机[2-3]。PLC自1968年问世以来,凭借其可编程性、高可靠性成为工业自动化领域应用最广泛的控制设备。在深入研究云模型相关资料时,发现实现云模型的前提条件是能进行四则运算及指数、对数运算和产生任意正态随机数。S7-300 PLC运算功能强大,具有进行四则运算及指数、对数运算功能。但S7-300 PLC并没有产生随机数的硬件模块、系统功能SFC和系统功能块SFB。在深入分析随机数生成相关文献的基础上,用STL语言在SIEMENS编程软件STEP7上编制一个个功能FC实现任意正态随机数的产生,一维正态云模型算法等,最后在SIEMENS PLC专用的仿真器PLCSIM上进行调试,并将输出过程值用组态软件WINCC进行归档,然后将归档数据导入EXCEL,再将EXCEL里的数据转换成图形进行直观验证。
特别地,设 R1(E1,E2)表示服从正态分布的随机数,其中E1为期望值,E2为标准差,则由满足式:
数据对 drop(xi,mi)(i=1,2,…N)构成的云模型称为一维正态云模型[5],简称一维正态云,组成云模型的数据对(xi,mi)称为一维云滴。其中,Ex、En和He为云模型的3个重要数字特征,分别成为期望值、熵和超熵,记为[Ex,En,He]。
1.2 一维正态云模型算法
一维正态云模型其输入为表示定性概念的期望值Ex、熵En和超熵 He,云滴数量N,输出是N个云滴在数域空间的定量位置及每个云滴代表该概念的确定度。具体算法[6]为输入:(Ex,En,He,N)
输出:drop(x1,m1),drop(x2,m2),…,drop(xN,mN)
1)生成以Ex为期望值,En为标准差的一个正态随机数xi=R1(Ex,En)
2)生成以En为期望值,He为标准差的一个正态随机数Pi=R1(En,He)
4)令数据对(xi,mi)为一个一维云滴。
5)重复步骤 1)~4),直至产生 N个云滴。
2 正态分布随机数产生器
正态分布又称高斯分布,是最重要、最常见、应用最广泛的一种连续型分布 一般来说,具有任意分布的随机数都是由(0,1)区间上的均匀分布随机数来实现的 因此,首先要生成(0,1)区间上的均匀分布随机数,然后再利用随机变量函数变换的方法产生正态分布的随机数[7]。
2.1 (0,1)均匀分布随机数生成方法
(0,1)区间上的均匀分布伪随机数产生的方法多种多样,有线性同余法、平方取中法、混沌法、反馈移位寄存器法等,其中最常用的是线性同余发生器,它通过如下的线性同余递推关系式来产生数列。
其中,a,c,x0,M 均为正整数,x0为种子, 使用时需要仔细地挑选模数M和种子x0,使得产生出的伪随机数的循环周期要尽可能长。xi为(0,1)区间上的随机数。
2.2 正态分布随机数的生成方法
生成(0,1)均匀分布随机数后,可以通过反函数法、变换法、舍选法、组合法等各种变换及映射关系来得到任意正态分布随机数。下面具体介绍变换法。
变换法通过一个变换将一个分布的随机数变换成为不同分布产生的随机数,变换法的典型的例子是Box-Muller变换,它可产生精确的正态分布随机变量。其变换式为:
X1、X2是在区间[0,1]上均匀分布的随机变量,所得的 Y1、Y2相互独立的均匀值,方差的正态分布随机变量[8]。
3 实现过程设计
3.1 程序设计流程
按前面阐述的随机数产生原理、一维正态云模型算法等编写0-1均匀分布随机数发生器、标准正态随机数发生器等核心功能程序。具体程序设计流程如图1所示。
图1 程序设计流程Fig.1 Flow chart of programming
3.2 部分程序
1)读取系统时钟
2)产生标准正态随机数
4 仿真实验及结果分析
打开STEP7编程软件,SIMATIC Manager中的菜单栏上单击“选项”,在下拉菜单中选择“仿真模块”或直接单击工具栏上的仿真器图标打开PLCSIM,将整个站点(包括硬件组态和程序块)下载到PLCSIM中,与此同时启动WinCC,并激活WinCC运行系统。再开启仿真器PLCSIM,程序将开始运行起来,此时WinCC自动将输出过程值进行归档,最后将过程值的归档记录导入EXCEL,再将EXCEL里的数据转换成直观的图形。
图2 PLCSIM仿真界面Fig.2 PLCSIM simulation interface
云模型的特点是改变它的3个数字特征Ex,En和He就可以得到成千上万的云滴构成整个云。云模型的3个数字特征表示了各自不同的意义,只要一个数字特征不同就会产生不同的效果。图3分别以点和线性连接点的方式展示了代表云滴的正态随机数及其隶属度的分布情况。图4是图3的数据转化成图形的效果。图4、图5对比说明了云模型的En改变所引起的云的形状的改变。以上图形直观论证了一维正态云模型在S7-300 PLC上的成功实现。
图3 WinCC归档过程值趋势图Fig.3 WinCC archived process values run chart
图4 [5,0.3,0.01]云模型Fig.4 [5,0.3,0.01]cloud model
图5 [5,0.5,0.01]云模型Fig.5 [5,0.5,0.01]cloud model
5 结 论
在深入研究云模型算法的相关文献和西门子S7-300 PLC的功能后首次提出一维正态云模型算法在PLC上实现的思想,并在编程软件STEP7上将这一思想转化成STL语言程序,最后通过STEP7、PLCSIM和WINCC进行联合仿真测试,测试结果表明在S7-300 PLC能实现一维正态云模型算法。一维正态云模型算法在S7-300 PLC的成功实现为云模型算法的应用拓宽了道路,同时也为高级算法在PLC上的应用提供了一种新的思路与方法。
[1]李德毅,孟海军,史雪梅.隶属云和隶属云发生器[J].计算机研究和发展,1995,6(32):15-20.LI De-yi, MENG Hai-jun, SHI Xue-mei.Membership cloud and membership cloud generators [J].Computer R&D,1995,6(32):15-20.
[2]李众,李政.基于DSP的一维云模型控制器的设计[J].科学技术与工程,2011,25(11):224-227.LI Zhong,LI Zheng.Design of one dimensional cloudcontroller based on DSP[J].Science Technology and Engineering,2011,25(11):224-227.
[3]高键,周海龙,李众.一维云模型控制器在轮式机器人中的应用[J].自动化与仪表,2010,26(2):30-31.GAO Jian, ZHOU Hai-long, LI Zhong.Application of onedimension cloud model controller in the wheeled robot[J].Automation&Instrumentation,2010,26(2):30-31.
[4]YANG Zhao-hui,LI De-yi.Planar model and its application in prediction[J].Chinese Journal of Computers,1998,21(11):961-969.
[5]ZHANG Fei-zhou, FAN Yue-zu, SUN Xian-fang.Assessment and analysis of fuzzy reliability based on cloud models in aircraft navigation system[J].ACTA Automatic SINCA,2002,28(1):126-130.
[6]高健,李众.一维云模型映射器设计及其应用研究[J].系统仿真学报,2006,7(18):1864-1865.GAO Jian,LI Zhong.Study on design and application of One-Dimension Cloud Model Mapping Processor[J].Journal of System Simulation,2006,7(18):1864-1865.
[7]孙晓雅.正态总体统计量计算机随机数的生成方法[J].大连大学学报,2006,27(6):4-7.SUN Xiao-ya.An approach for pseudo random number generation of the three statistics from normal distribution[J].Journal of Da Lian university,2006,27(6):4-7.
[8]肖化昆.系统仿真中任意概率分布的伪随机数研究[J].计算机工程与设计,2005,26(1):168-171.XIAO Hua-kun.Study on pseudo-random number of arbitrariness probability distributing in system simulation[J].Computer Engineering and Design,2005,26(1):168-171.