第一篇:s-HR与cloud集成问题总结
上海尼欧信息科技发展有限公司
s-HR与cloud集成问题总结
近来发现产品论坛中对s-HR与cloud集成问题提问较多,特开此帖对出现的问题进行总结。
总结众多已经出现并解决的问题,大多发现是没有严格按照集成文档操作导致的,所以请一定要有耐心的仔细查看集成文档,并严格按照步骤一步一步操作。
集成几点说明:cloud配置部署两个IIS站点,一个用于s-HR新增修订等变动时发消息通知某个ID有变化,此接口接到变化通知后,通知cloud另外一个接口调用s-HR提供的osf根据这个变化ID取数,所有的映射信息存储在accese数据库中,所以记得升级重装IIS接口要备份此数据库 后缀名为.accd或.accdb。cloud的多组织模式,因为cloud是多组织模式shr组织必须维护erpOrgCode与could对应,故需检查脚本是否成功,log消息中这个字段是否有存在,且有值。IIS重启服务,需在应用池中选中对应站点重启,不能整个服务重启。
一、操作应用类问题
问题1:shr与cloud集成,系统的日志文件的存放路径
日志路径:K3Cloud安装目录IntegrationServicePlatformApp_Data
问题2:k3cloud集成配置问题
第一次配置集成配置界面正常操作步骤如下:
1、填写接口信息,不要勾选底下的选择框,点击保存,将接口信息保存至shr数据库。
上海尼欧信息科技发展有限公司/金蝶软件上海地区销售中心/金蝶软件上海地区服务中心
地址:上海市浦东新区高科西路551号尚电大厦A705室
上海尼欧信息科技发展有限公司
2、勾选底下选择框,点击同步按钮,初始化对应接口。
常见错误如下:
1)s-HR系统[开发平台]-[k3cloud集成配置],点击同步按钮时提示“webServiceaddress is null”
解决方法:
a、先确认IIS接口是否正常,将消息接口服务地址复制到浏览器地址回车,如果能够访问说明IIS接口正常,如果无法访问则说明是IIS接口的问题,属于cloud的问题; b、检查HR集成工具地址是否填写
上海尼欧信息科技发展有限公司/金蝶软件上海地区销售中心/金蝶软件上海地区服务中心
地址:上海市浦东新区高科西路551号尚电大厦A705室
上海尼欧信息科技发展有限公司
c、需要保存这个界面的消息接口信息到shr的数据库操作:不要勾选底下的框,点击保存按钮,成功后再点击同步按钮,否则会报webservice address is null
2)s-HR系统[开发平台]-[k3cloud集成配置],点击保存按钮时,提示启用接口前请先初始化
上海尼欧信息科技发展有限公司/金蝶软件上海地区销售中心/金蝶软件上海地区服务中心
地址:上海市浦东新区高科西路551号尚电大厦A705室
上海尼欧信息科技发展有限公司
去掉打上的勾,然后点击保存。
问题3:点击HR系统[开发平台]-[k3cloud集成配置]时报错
集成接口应用包有问题,请尝试卸载后重新安装,还是报错的话,联系总部要正确的集成接口应用包
上海尼欧信息科技发展有限公司/金蝶软件上海地区销售中心/金蝶软件上海地区服务中心
地址:上海市浦东新区高科西路551号尚电大厦A705室
第二篇:软件集成技术总结
软件集成技术总结 软件集成系统
主要功能是实现各种应用软件在本系统中的集成及调用,由于需要集成软件的开发软件,运行环境各有不同,所以在系统集成时调用的相关技术也不尽相同。本系统软件的集成主要应用了一下三种技术:Java Applet技术,Exe软件的调用方法,Matlab软件的调用方法。相关技术 2.1 Java Applet技术
Applet可以翻译为小应用程序,Java Applet就是用Java语言编写的这样的一些小应用程序,它们可以直接嵌入到网页或者其他特定的容器中,并能够产生特殊的效果。
Applet必须运行于某个特定的“容器”,这个容器可以是浏览器本身,也可以是通过各种插件,或者包括支持Applet的移动设备在内的其他各种程序来运行。与一般的Java应用程序不同,Applet不是通过main方法来运行的。在运行时Applet通常会与用户进行互动,显示动态的画面,并且还会遵循严格的安全检查,阻止潜在的不安全因素(例如根据安全策略,限Applet对客户端文件系统的访问)。
在Java Applet中,可以实现图形绘制,字体和颜色控制,动画和声音的插入,人机交互及网络交流等功能。Applet还提供了名为抽象窗口工具箱(Abstract Window Toolkit,AWT)的窗口环境开发工具。AWT利用用户计算机的GUI元素,可以建立标准的图形用户界面,如窗口、按钮、滚动条等等。目前,在网络上有非常多的Applet范例来生动地展现这些功能,读者可以去调阅相应的网页以观看它们的效果。
在Java Applet的生命周期中,共有四种状态(初始态、运行态、停止态和消亡态)和四个方法:init()、start()、stop()和destroy()。a init()当创建Java Applet且第一次使用支持Java的浏览器载入时,就会执行init()方法。在Java Applet生命周期中,该方法只执行一次,因此可以利用这一点在init()方法中进行一些只需执行一次的初始化操作,例如对变量的初始化等。b start()调用完init()方法后,系统将自动调用start()方法。当用户离开包含Applet的主页后又再返回时,或者当浏览器从图标状态恢复为窗口时,系统都会自动再执行一遍start()方法。
和init()方法不同,start()方法在Applet的生命周期中被多次调用,该方法是Applet的主体。在start()方法中,可以执行一些任务,或者是启动相关的线程来执行任务,如循环播放歌曲等。c stop()和star()方法相对应,当用户离开Applet所在页面或者是浏览器变成图标时,系统都会调用stop()方法,因此该方法也是可以被多次调用的。
stop()方法起到这样的作用:当用户在当前时刻并不十分关注Applet时,停止一些耗用资源的工作,这样就可以提高系统的运行速度,而且系统会自动调用该方法,并不需要人为干预。倘若编写的Applet中不涉及动画等多媒体,一般不必重写该方法。51Testing软件测试网 d destroy()当用户关闭浏览器时,系统就会调用destroy()方法,应该注意stop()方法和destroy()方法的区别。
本系统中的Applet小程序调用流程:运行时,首先从服务器下载应用程序的ZIP压缩文件到本地,然后解压到本地,并在在本地运行,在Applet关闭时,停止exe运行,并删除已下载的ZIP文件和解压后的文件夹。
2.2 EXE软件的调用方法
使用Runtime.getRuntime().exec()方法可以在java程序里运行外部程序。
该方法有6个可访问版本:
1.exec(String
command)
2.exec(String
command,String
envp[],File
dir)
3.exec(String
cmd,String
envp[])
4.exec(String
cmdarray[])
5.exec(String
cmdarray[],String
envp[])
6.exec(String
cmdarray[],String
envp[],File
dir)
一般的应用程序可以直接使用第一版本,当有环境变量传递的时候使用后面的版本。
其中2和6版本可以传递一个目录,标识当前目录,因为有些程序是使用相对目录的,所以就要使用这个版本.当要执行批处理的时候,不能直接传递批处理的文件名,而要使用:
cmd.exe
/C
start
批处理文件名
使用dos命令(比如dir)时也要使用掉调用。
如果想与调用的程序进行交互,那么就要使用该方法的返回对象Process了,通过Process的getInputStream(),getOutputStream(),getErrorStream()方法可以得到输入输出流,然后通过InputStream可以得到程序对控制台的输出信息,通过OutputStream可以给程序输入指令,这样就达到了程序的交换功能。
使用Runtime类.
try {
Runtime rt = Runtime.getRuntime();
rt.exec(“C:WINDOWSNOTEPAD.exe”);
} catch(Throwable t){ System.out.print(t.getMessage());
} 2.3 Matlab软件的调用方法
Matlab软件的调用分为三个步骤:一是在java里面调用matlab,matlab2006b以后的版本中都提供了java 调用matlab的接口matlab build for java;二是将调用matlab程序的java程序转换为exe程序;三是按照2.1所述的方法调用Matlab的exe程序。
关键技术是java调用matlab程序的方法,下面是一个相关的例子:(一)在MATLAB中编辑operation.m, %定义一个函数operation(a,b),求a与b的加减乘除运算,并返回结果
%函数定义function 输出变量列表[s,m,...] 函数名(输入变量列表)sum,sub,mul,div中
function [sum,sub,mul,div] = operation(a,b);sum = a + b;sub = a-b;mul = a * b;div = a / b;end(二)生成Java调用文件
Matlab命令中输入deploytool,新建一个matlab builder ja文件,在operationclass中添加operation.m文件,点击bulid the project,生成一个供java调用的文件夹结构如下:
Operation-----|----distrib |
|-----operation.jar |
|-----readme.txt
|
-------src
|
|----operation
|
|----operationclass.java
|
|----operationMCRFactory.java
|----operationclassRemote.java
|
|----classes
|
|----operation
|
|----operation.ctf
|
|----operationclass$1.class
|----operationclass.class
|----operationclassRemote.class
|----operationMCRFactory.class |-------build.log |-------operation.ctf |-------operation.jar |-------mccExcludedFiles.log |-------readme.txt(三)Java中建立一个java project工程JavaTestMatlab,导入两个库文件javabuilder.jar(C:ProgramFilestoolboxjavabuilderjar)和operation.jar(D:My DocumentsMATLABoperationdistrib operation.jar),编写java程序JavaTestMatlab.java程序如下: import operation.*;import java.util.Scanner;class JavaTestMatlab {
public static void main(String[] args)
{
Object result[] = null;
/* object是所有类的父类public Object[] operation(int nargout, Object...rhs)*/
operationclass myAdd = null;
/* Stores myadd class instance */
try
{
int a,b;
myAdd = new operationclass();
System.out.println(“从键盘输入两个操作数:”);
System.out.print(“
输入第一个操作数:”);
Scanner scan = new Scanner(System.in);
//从控制台读入输入的整数
a = scan.nextInt();
//从控制台输入第一个操作数
System.out.print(“
输入第二个操作数: ”);
b = scan.nextInt();
//从控制台输入第二个操作数
result = myAdd.operation(4,a,b);//operation(4,a,b)中第一个参数是返回值的个数,a是第一个输入参数,b是第二个输入参数
System.out.print(“The sum of ” + Integer.toString(a)+ “ and ” + Integer.toString(b)+ “ is: ”);
System.out.println(result[0]);
System.out.print(“The sub of ” + Integer.toString(a)+ “ and ” + Integer.toString(b)+ “ is: ”);
System.out.println(result[1]);
System.out.print(“The mul of ” + Integer.toString(a)+ “ and ” + Integer.toString(b)+ “ is: ”);
System.out.println(result[2]);
System.out.print(“The div of ” + Integer.toString(a)+ “ and ” + Integer.toString(b)+ “ is: ”);
System.out.println(result[3]);
}
catch(Exception e)
{
System.out.println(e);
}
} } 测试结果如下:
从键盘输入两个操作数:
输入第一个操作数:55
输入第二个操作数: 22 The sum of 55 and 22 is: 77 The sub of 55 and 22 is: 33 The mul of 55 and 22 is: 1210 The div of 55 and 22 is: 3(四)错误调试
1.安装matlab不完整,没有toolboxjavabuilder下的文件 2.环境变量中classpath中添加两个jar文件的路径 已经集成的软件
ORDEM2000 空间碎片评估系统(DAS2.0)增阻型离轨气动分析及优化软件 索型离轨技术模拟软件TetherSim 卫星寿命计算软件 再入安全评估软件
GEO卫星离轨燃料估算软件
第三篇:集成电路设计学习总结
集成电路设计学习总结
一. 课堂学习情况
集成电路教学采用了多媒体教学。采用这种方式在课堂上能够直观的了解到各元件的结构,特点,性能,参数等具体的物理和数学模型,而且节省了课堂板书时间,增加了学习的效率。我在课堂上学到了三方面的知识。第一:进一步理解了做人做学问的方法。老师平易近人,在课堂上不仅是想着传授我们相关的专业知识,而且在不断的督促,鞭策我们如何去做学问,如何在自身素质上不断的提升自己,在这一点上我获益匪浅。第二:学习了本课程以外的重要知识。我认为老师的做法很对,集成电路设计对于我们本科阶段的学生来说,存在一定的难度,在知识层面上应该定义为了解其基本原理和理论知识。更重要的是,老师在课堂上培养我们一些重要的技能,特别是在论文如何写,WORD如何更好的使用方面下了很大的功夫。这对我们今后的学习或者就业是有重要影响的,因此我也非常感兴趣,听得比较认真。第三:对集成电路设计专业知识有了大致的理解和理论体系的直观概念。在课堂中,跟着老师的思路看着幻灯片,逐步对知识进行消化和吸收,这是个漫长的过程,我承认有时候有点静不下心了。当自己把书上的相关内容浏览之后,看幻灯片的内容,就觉得自己知道了,没有认真听讲解了,以至于丢失了一些细节的重要信息。这点是一个重大失误。比如,对于方块电阻的粗细,和用法还是朦朦胧胧的。所以,老师说的上课认真听讲,这点是十分正确的。
总之,在本课程中,我学习到的东西是远大于这个课程内容本身的,我感觉收获很大。
二. 论文写作情况
在论文写作方面,我感觉有了很大的提升。第一篇论文是集成电路专业知识方面的问题,我开始认为在各大搜索引擎上搜索一下,应该会有很多相关介绍。不料,关于阈值电压的问题,搜索引擎上的专业介绍极少,而且不全面。我对此很苦恼,突然想到学校图书管能提供各种论文检索网站,而且可以免费下载,于是我迅速的转向了图书馆的搜索库,搜索并下载了大量的相关论文,然后研读每篇论文,进行逐个的筛选。这次论文的写作对我资料的查找能力有了较大的提升,对检索论文资料有了初步的了解,积累了对专业论文的格式和方法从无到有的经验。
第二篇论文,是对知识的总结。首先,逐步落实了格式上的要求,使自己的论文在格式上基本符合规范。其次,提炼出本书的要点知识,并加以归纳总结,既提升了自己对知识的归纳能力,同时也对知识进行了进一步的吸收并将其转化问自己的东西,加深了对知识的理解。最后,锻炼了自己的写作能力,克服了对于长篇文章无从下手的困难。为以后的论文写作打下了一定的基础。论文的写作过程虽然比较困难,繁杂,但是锻炼了我的综合能力,从查资料的过程中也发现了一些比较好的专业网站丰富了知识面,是很有益处的。
三. 课堂演讲情况
首先,我认为课堂演讲这种方式给学生提供了一个很好的平台,对于我们是一种极大的锻炼。当老师点名叫我第一个演讲的时候,我并没有犹豫,而是欣然接受了。因为这种锻炼的机会并不多,正是锻炼自己的能力,正确认识自己的绝佳机会,而且也免去了我自己挣扎是否该上台演讲的思想
斗争。在这点上,希望老师还是该保持,多点鼓励,即使点名也无所谓。而同学们也太矜持了,能大胆点更好。这次我作为第一个上台演讲的人,反而没什么压力,因为没有前人作为比较。但是我没有放松,因为我认为既然接受了个事情,那么做一件事情就要尽量做到最好。开始确定演讲题目有点上脑筋,因为过于专业上的东西我自己想搞明白都难,更别说讲给别人听了。我上网搜索了大量的有关集成电路方面的知识,花了近两天时间确定了集成电路验证这个主题,作为对我们学习集成电路设计的一种课外知识扩展进行讲解。确定主题之后花了一天时间进行相关信息的收集,然后对所搜集信息的筛选,总结,最后做了一个简单的PPT。虽然很简单,但是做的过程却是很费了一番功夫,对于一些自己不能理解的专业术语还得分别查找,理解。最后还要看着PPT进行简单的预演一下,理清讲解思路和讲解重点。整个过程花了5天时间。由于准备比较充分,所以上台演讲的时候比较自信,并不紧张,但是因为没讲课经验,还是不能做到游刃有余,我自己都感觉讲解速度过快。不过这并不重要了,关键的是我得到各方面了技能上的提升。
四. 上机实验情况
由于第一次使用UNIX系统,开始有点不熟悉,照着上机实验手册的UNIX命令练习了一会就适应了。操作过程中发现UNIX系统还是比较友好的,鼠标右键功能还比较全面,不用所有操纵都在终端输入命令执行。画版图的过程比较顺利,按照书上的要求画反相器版图后,检测出2个错误,是有源区距离过近,当即修改解决,感觉九天软件的操作性还是比较不错的。电路元件图也很快画好了,比较简单。但是在LVS中修改参数的时候却遇到了麻烦。由于对UNIX的VI编辑器命令和操作方法不熟悉,始终没能修改成功,颇为恼火。由于上机手册对VI命令介绍有限,第一天结束后我就回寝室在电脑上查了下VI命令的详细介绍。第二天,问题轻松解决,并发现上机手册上对于指令模式的介绍,K,J命令描述相反了。第二天的实验很快就完成了。这两天的实验,基本是自己独立完成,寻找错误,不懂的东西自己找资料解决,感觉这方面的能力有所提升。对于九天工具掌握了其基本用法。
五. 课程教学建议
对于本科教学来说,学校依然采用的是“填鸭”式的教学方法。老师在课堂上满堂灌,学生在下面听、记笔记,这就是现在教育的现状。这种方式只能教出规规矩矩的人才,不利于学生思考能力和创新能力的提升。我认为可以在一些选修课程中改变这种方式,采取老师布置题目,学生在课后搜集资料,自己分析思考,然后在课堂上讨论解答的方式,这一点可以参考国外大学的教学模式。这种方式可以积极的调动学生自主学习,参与研究的动力,又使课堂气氛活跃,使学生和老师直接的交流更多,双方都可以受益。现在国家在提倡培养创新型人才,但是任然沿用中国几千年不变的教学方式显然是行不通的,要改革,但不能盲目。可以设试点科目进行改革,看效果,逐步摸索。老师您应该把您的这种教学方法推广到其他课程中去,让更多的学生受益。
通信1班
万凯林 20072376
第四篇:集成光学考试总结
第一章
1.集成光学的分类:
• 按集成的方式划分:个数集成和功能集成
• 按集成的类型划分:光子集成回路(PIC)和光电子集成回路(OEIC)• 按集成的技术途径划分:单片集成和混合集成 • 按研究内容划分:导波光学和集成光路 2.集成光学的定义
(1)集成光学是在光电子学和微电子学基础上,采用集成方法研究和发展光学器件和混合光学-电子学器件系统的一门新的学科。
(2)集成光学是研究介质薄膜中的光学现象,以及光学元器件集成化的一门学科。
(3)集成光学是研究集成光路的特性和制造技术以及与微电子学相结合的学科。3.集成光学的主要应用
光纤通信,光子计算机,光纤传感 4.集成光学系统有什么优点?
1)集成光学系统与离散光学器件系统的比较
(1)光波在光波导中传播,光波容易控制和保持其能量。(2)集成化带来的稳固定位。
(3)器件尺寸和相互作用长度缩短;相关的电子器件的工作电压也较低。
(4)功率密度高。沿波导传输的光被限制在狭小的局部空间,导致较高的功率密度,容易达到必要的器件工作阈值和利用非线性效应工作。
(5)体积小,重量轻。集成光学器件一般集成在厘米尺度的衬底上,其体积小,重量轻。
2)集成光路与集成电路的比较
把激光器、调制器、探测器等有源器件集成在同一衬底上,并用光波导、隔离器、耦合器和滤波器等无源器件连接起来构成的光学系统称为集成光路,以实现光学系统的薄膜化、微型化和集成化。
用集成光路代替集成电路的优点包括带宽增加,波分复用,多路开关。耦合损耗小,尺寸小,重量轻,功耗小,成批制备经济性好,可靠性高等。由于光和物质的多种相互作用,还可以在集成光路的构成中,利用诸如光电效应、电光效应、声光效应、磁光效应、热光效应等多种物理效应,实现新型的器件功能。
第二章
1.光波导的分类
(a)平板波导(slab waveguide)(b)条形波导(strip waveguide)(c)圆柱波导(cylindrical waveguide)2.会利用射线光学方法分析平板波导的覆盖层辐射波、衬底层辐射波和传导波的形成条件。
3.TE、TM模的本征模方程(色散方程)是什么?TE、TM模的截止波长(截止频率)、波导截止厚度的表达式?为什么对称波导的基模不存在截止频率?
4.会求给定平板波导所能传输的模式?
5.各种光束耦合器的工作原理和特点? 棱镜耦合器:
棱镜耦合法的优点:
1.在最佳条件下可以得到很高的效率(输入时约为80%,输出时约为100%)。2.可以从自由导波模中任选一种进行激励。
3.不仅适用于平板波导,在条形波导的情况下也可以高效率地使用。4.棱镜位置可即可离,能够在实验过程中调整,以实现最大耦合强度。缺点:
(1)棱镜与波导间隙以及入射光束的位置需要进行精心调整,缺乏稳定性。
(2)棱镜耦合器所用的材料除应满足np>n1外,还要求对所用的光波长透明,无显著吸收与散射。光栅耦合器
功能与棱镜耦合器类似,用于实现自由空间和平面介质光波导之间的耦合,不同的是棱镜和间隙介质被光栅薄膜代替。
光栅耦合器的优点:
1)不受光波导折射率大小的限制。
2)可以选择所有导模中的任意一种进行激励。
3)可以与波导集成。震动或外界环境的变化,不会改变耦合效率,稳定性好,体积小,价格便宜。4)调整光束的入射位置时不需要特别严格的精度。
5)也可以在横向进行同样的耦合,因此可以激励宽度非常大的波导光。光栅耦合器的缺点:
1)由于光栅耦合与入射光角度的高度相干性,光栅耦合器不能有效地用于发散光束的耦合; 2)光栅耦合器设计过程需要进行复杂的理论计算,而且制作比较困难; 3)器件的参数在制作后无法进一步调整; 4)对于条形波导,光束截面的匹配比较困难。尖劈形薄膜耦合器
优点:制作简单,可以实现有效的输出耦合。缺点:用于输入耦合时,很难获得高的效率。
第三章
1.光波导的调制
内调制(直接调制)和外调制(间接调制):
内调制是利用调制信号直接控制激光器的振荡参数,使输出光的特性随信号而改变。
外调制是用调制信号作用于激光腔外面的调制器,产生某种物理效应(如电光、磁光、声光、热光等效应),使通过调制器的激光束的某一个参量随信号而变。2.光波调制
相位调制,强度调制,偏振调制
3.会求电光效应引起的折射率的变化
22x3x12x2121212111xxx2xx2xx22122232232132x1x21 222n1n2n3n1n2n3n4
n5
n6
4.声光效应的布拉格条件和Q判据?拉曼-奈斯衍射和布拉格衍射有何不同? 根据声波和光波的波长以及相互作用区域的长度L的相对大小,存在两种声光衍射现象,即拉曼-奈斯(Raman-Nath)衍射和布拉格衍射
(1).拉曼-奈斯(Raman-Nath)衍射
此时声波频率较低,声波束宽度L较小,由于声速比光束小的多,在光束通过介质的时间内,折射率的变化可以忽略不计,可以把声光介质看作相对静止的“面相位光栅”或“薄光栅”,此时声波的作用可视为与普通平面光栅相同的折射率光栅。由于光栅较薄,使得入射光在L距离内只受到一次衍射就偏离原方向从器件中输出,从而形成多级衍射光束。
当入射光沿z方向(i0)时,各级衍射处所相应的方向
由下式给出
sinm/na0m0,1,2,计算表明,拉曼-奈斯衍射的效率较低,其中一级衍射效率最大不超过35%,但这种衍射不受入射角的限制,因此调节方便,在许多领域仍得到广泛应用。(2)Raman-Nath衍射条件: 当声波束宽度满足
na2 L40时,即产生Raman-Nath衍射,可以忽略介质中各衍射光的相互影响。
5.自然旋光 旋光定义:
当线偏振光沿某些晶体(如石英)的光轴方向传播,或通过某些溶液(如蔗糖)时,其振动面将以光的传播方向为轴发生旋转,这称为旋光现象。
自然旋光现象的特征
(1)自然旋光具有可逆性。若迎着光传播方向看去,振动面表现为右旋,则当光线逆反时,振动面仍表现为右旋,即左右旋与光的传播方向无关!
(2)光束一正一反两次通过自然旋光物质时,振动 面转过角度为0。
5.什么是磁光效应,利用磁光效应可以构成哪些光学器件?
法拉第磁致旋转效应:在外加磁场B作用下,某些原本各向同性的介质变成旋光性物质,偏振光通过该物质时其偏振面发生旋转。
法拉第旋转的特殊规律
(1)磁致旋光不可逆性。当光传播方向平行于磁场时,若法拉第效应表现为右旋,则当光线逆反时,法拉第效应表现为左旋。
(2)光束一正一反两次通过磁光介质时,振动面转过角度 2。法拉第旋转的应用: 磁光隔离器(Isolators):放置于激光器及光放大器前面,防止系统中的反射光对器件性能的影响甚至损伤,即只允许光单向传输。
磁光环行器(Circulators):一种三端口(或四端口)的非互易磁性器件,在光网络中用于信号的上、下载。
第四章
1.电子跃迁的种类 受激辐射 受激吸收 自发辐射
2.半导体激光器的分类
F-P腔激光器,分布反馈(DFB)激光器和分布Bragg反射器(DBR)激光器,量子限制激光器,垂直腔表面发射激光器(VCSEL),解理耦合腔半导体激光器(C3,cleaved coupled cavity)3.半导体激光器效率的各种定义和表达式,会求半导体激光器的发射波长
发射波长:hc Edir4.DFB和DBR激光器在结构和工作上有何不同?如何求它们的发射波长?(1)DFB激光器的模式: 不正好是布拉格波长,而是对称的位于
B的两侧。
2B假设m是允许DFB发射的模式,此时mB式中m是模数,L是衍射光栅有效长度。
2nL(m1)
完全对称的器件应具有两个与λB等距离的模式;实际上,由于制造过程,或者有意使其不对称,只能产生一个模式;又因为L>> λB,上式的第二项非常小,所以发射光的波长非常靠近λB
(2)DBR激光器除有源区外,还在紧靠其右侧增加了一段分布式布拉格反射器,它起着衍射光栅的作用。
DBR激光器的输出是反射光相长干涉的结果,只有当布拉格波长满足
(2)DBR结构和DFB类似,区别在于DBR根据波导功能进行分区设计,光栅的周期性沟槽放在有源波导两外侧的无源波导上,从而避免了光栅制作过程中可能造成的晶格损伤。有源波导的增益性能和无源周期波导的Bragg反射作用相结合,只有位于Bragg频率附近的光波才能得到激射。(3)DFB激光器的特点: 1)动态单纵模窄线宽振荡
DFB激光器只有满足Bragg反射条件的特定波长的光才能受到强烈反射而形成振荡。多个微型谐振腔同步振荡、共同选模,实现单纵模振荡。
2)波长稳定性好
温度漂移约为0.08nm/℃。3)动态谱线好
DFB激光器在高速调制时仍然保持单模特性。4)线性度好
现已研制出线性度非常好的DFB激光器,广泛用于模拟调制的有线电视光纤传输系统中。
5)波长选择性
改变光栅周期能够在一定范围内有控制地选择激光器的发射波长。(4)DBR激光器的特点:
DFB激光器的增益区同光栅区重叠,当驱动电流改变时,输出功率和发射波长同时改变;而DBR激光器的反射器和增益区分离,所以可以分别控制DBR激光器的输出功率(通过改变流过激射区的电流)和发射波长(通过改变流过光栅段的电流)。所以DBR激光器比DFB激光器更易于控制和调整。
5.参数(1)峰值波长
在规定输出光功率时,激光光谱内强度最大的光谱波长被定义为峰值波长。
(2)中心波长
在光源的发射光谱中,连接50%最大幅度值线段的中点所对应的波长称为中心波长
(3)谱宽与线宽
包含所有振荡模式在内的发射谱总的宽度称为激光器的谱宽;某一单独模式的宽度称为线宽。
m(Bneff)2
(4)边模抑制比(SSR)
边模抑制比是指在发射光谱中,在规定的输出功率和规定的调制(或CW)时最高光谱峰值强度与次高光谱峰值强度之比。该参数仅用于单模LD,如DFB-LD。6.光检测器
光检测器是光信号的接收器件,是完成光信号转变为电信号的一种有源器件,又称光子计数器。它们检测光信号的工作原理,可以分为三个步骤:(1)光信号产生光生载流子;
(2)光生载流子的迁移和可能的倍增(放大);(3)光电流与外电路的相互作用与联系。
7.PIN光电检测器的基本参数及定义,求PIN的响应度和量子效率(1)波长响应(光谱特性)(a)上截止波长:chc1.24(m)EgEg(b)下截止波长:当入射光波长太短时,光子的吸收系数很强,使光电转换效率大大下降。(2)光电转换效率
(a)量子效率:量子效率定义为入射在检测器上的一个光子所产生的对光电流有贡献的光生载流子数目。即
(b)响应度:R(3)响应速度
响应速度常用响应时间(上升时间和下降时间)来表示。输入阶跃光功率时,光生电流脉冲由前沿最大幅度的10%上升到的90%,后沿的90%下降到10%的时间定义为脉冲上升时间和下降时间。8.APD的工作原理 碰撞电离,雪崩倍增
光生的电子空穴对经过高电场区时被加速。从而获得足够的能量,它们在高速运动中与 P 区晶格上的原子碰撞,使晶格中的原子电离,从而产生新的电子-空穴对。这种通过碰撞电离产生的电子空穴对,称为二次电子-空穴对。新产生的二次电子和空穴在高电场区里运动时又被加速,又可能碰撞别的原子,这样多次碰撞电离的结果,使载流子迅速增加,反向电流迅速加大,形成雪崩倍增效应。
IpPine(AW)h第五章
1.光无源器件分类
按功能分类:光耦合器、光开关、分波与合波器、透镜、光偏转器、衍射光栅、反射器、偏振模转换器、光滤波器、光衰减器、光隔离器、光环行器等。
按所利用的物理效应分类:电光集成器件、声光集成器件、热光集成器件、磁光集成器件等。2.电光调制器的分类和工作原理(重点是单波导型和定向耦合器型)
(1)电光调制器的分类:单波导电光调制器,定向耦合器型电光开关与调制器,马赫-曾德尔干涉仪型电光开关与调制器,全内反射型电光开关和调制器
(2)单波导型工作原理:这种调制器一般是在低折射率的衬底上制作高折射率的波导层并做上电极而构成的。这类
调制器中波导与衬底之间的总的折射率差nt主要是由三种不同的原因造成的, ntn1n2nchemnCCRnEO,只要设法改变器件的结构参数,从而改变上式等号右边的三项的差值,就可以设计出不同状态的调制器或开关。
(3)定向耦合器型工作原理:定向耦合式调制器是由平行且距离很小的两个光波导组成,其中一个波导的光能耦合到另一个波导内,电极电场的作用是改变波导的传播特性和促进两波导间的横向光耦合。在光的一个耦合周期内,当电极上无电压时,一个波导内传输的光将完全祸合到另一个波导输出;当电极上有电压时,进入一个波导内的光,耦合后将完全再返回到原波导中传播和输出.因此光信号就受到了控制电压的调制。3.TE-TM模式分离器和转换器的工作原理
分离器:(1)在波导层的表面直接制作金属薄膜,根据金属薄膜对TE模和TM模的传输损耗的差异来实现某个模式的消除。(2)使用各向异性的晶体,在离子交换玻璃波导上,加载与LiNbO3同属于三方晶系的负单轴晶体方解石(CaCO3)而构成偏振器。方解石对应于正常光线和异常光线的折射率,在波长为0.633μm时,分别为no=1.656,ne=1.458,当波导的折射率为ng,存在着no>ng>ne的关系。假设方解石的光轴与TE模的偏振光方向一致,那么TE模就可以在玻璃波导中传输;TM模则由于ng 转换器:TE-TM模式转换器的基本思想是采用沿导波传播方向周期性地变化外加电场的方法来弥补TE模和TM模之间的相位失配,从而实现TE-TM之间的模式转换。相位匹配关系为 共线集成声光器件的基本结构单元是声光TE-TM模式转换器和偏振分束器,通过二者的组合,可以实现波长分波器、滤波器、波长选择开关和分插复用器等。这类声光器件的TE-TM光波模式转换作用是由声表面波引起的,而声表面波是利用在压电材料上制作的叉指换能器通过电-声转换获得的。声表面波的频率决定了能发生偏振模转换的光波长,从而可以实现光波长选择。 第六章 1.光集成的方式有哪些?光集成的类型有哪两种? 光集成方式:期间功能的集成,器件个数的集成 光集成的类型:全光集成(photonic integrated circuit, PIC),光电集成(opto-electronic integrated circuit, OEIC)2.单片集成与混合集成各有什么优点?(1)单片集成包括全光集成和混合电子集成。 优点:生产工艺决定一切,一旦技术确定下来后,可以大幅度降低成本;与混合集成相比,性能更稳定,提高可靠性。 (2)混合集成最大特征和优点:将有源器件、光波导光路采用不同的工艺设备,分别选择各自最合适的材料、最合适的器件形式;大多光电混合集成器件在研究初期就可以得到满足实用化条件的性能。 第七章 1.根据能带结构,制作集成光学器件的半导体材料主要可以分为哪两类,举例说明? 分为间接带隙半导体材料(Si,Ge) 直接带隙半导体材料(GaAs,InP,GaN,) 2.光波导用的聚合物材料具有哪些优点,存在哪些不足? 优点:价格低,制作简单; 材料可以淀积在半导体衬底上,便于实现混合光电集成; 聚合物光波导具有较低的传输损耗,与光纤的耦合损耗低; 可以有效利用折射率变化获得强度和相位调制; 可以根据需要,通过调节有机材料的组分以实现电光、热光等特性。缺点:机械强度和稳定性差,易被污染而且不易清洗。3.集成光学器件对材料有哪些要求? (1)材料要易于形成质量良好的光波导,且形成的光波导能满足器件功能的要求。(2)集成性能好(3)经济性 业务预警业务开发总结 最近研究了下业务预警的业务开发,我们有两点需求目前平台还支持不了,1、能本月预警下个月到期的数据; 2、预警结果可以显示明细、也可以显示汇总,甚至希望能显示时间段内的数据 本文档只是个人总结,还有很多不完善的地方希望和大家沟通,相互学习。这里以应收单的业务预警为例 1.BOSIDE中新建预警对象 平台没有提供模板,不过供应链做过,我们直接复制供应链的预警对象就好 预警对象中有5个参数 1、数据源:需要预警的数据来源,可以是单据、基础资料、报表,我这里选择的是应收单 2、预警方案解析插件: 预警方案建立并启动后,后台服务根据预警周期条件,自动执行预警方案,在此过程中,通过预警服务插件进行灵活干预和控制;可以重写类Kingdee.BOS.Core.Warn.PlugIn.AbstractWarnServicePlugIn来实现干预; 2.1 解析消息变量之前事件 在此事件中,可以自定义需要保存到预警消息的关键数据。一般用于报表预警。以下是示例: /// /// 解析预警消息之前 /// 用途:主要用于报表预警,唯一确定一条报表数据所需要的关键数据是不一定,所有允许自定义 /// /// void BeforeParseWarnMessage(BeforeParseWarnMessageEventArgs e) { //添加预警数据关键字段,如以下示例(添加字段名称为FName的关键数据,将保存到预警消息中,以便后续处理使用) e.KeyValueFieldNames.Add(“FName”); base.BeforeParseWarnMessage(e); } 2.2.解析预警条件之后事件 主要用于附加一些额外的过滤条件,适合一些硬编码的条件。以下是示例: /// /// 触发预警条件解析之后的事件 /// 用途:主要用于添加额外的一些过滤条件 /// /// void AfterWarnConditionParse(AfterWarnConditionParseArgs e) { //将客户=‘海格科技’的过滤掉 string filter = “ FCUSTOMERNAME ='海格科技' ”; if(string.IsNullOrWhiteSpace(e.Filter)) { e.Filter = filter; } else { e.Filter = “ AND ” + filter; } base.AfterWarnConditionParse(e); } 2.3.预警执行事件 主要用于修改预警执行结果集合,不建议重写此事件,以下是示例: /// /// 执行预警解析 /// 用途:主要用于修改执行后的数据集合,不建议重写 /// void ExcuteWarnParse(ExcuteWarnParseEventArgs e) { base.ExcuteWarnParse(e); //将第一个数据中,客户名称改为 海格科技 //数据源是否为报表 if(this.WarnHelper.IsDataSourceReport) { e.WarnMessage.WarnObjectSysReportData.Rows[0][“FName”]=“海格科技”; } else { e.WarnMessage.WarnObjectDynamicObjects[0][“FName”] = “海格科技”; } } 2.4.消息解析之后事件 主要用于修改格式化后的预警消息,或者进一步使用自定义变量格式化预警消息 /// /// 解析预警消息之后 /// 用途:主要用于修改格式化后的预警消息,或者进一步使用自定义变量格式化预警消息 /// /// void AfterParseWarnMessage(AfterParseWarnMessageEventArgs e) { base.AfterParseWarnMessage(e); //将自定义变量{FCUSTOMERNAME.Custom} 格式化为 海格科技 for(int i = 0;i < e.WarnMessage.MessageEntityList.Count;i++) { MessageEntity item = e.WarnMessage.MessageEntityList[i].MessageEntity as MessageEntity; if(item!= null) { item.Content = item.Content.Replace(“{FCUSTOMERNAME.Custom}”, “海格科技”); } } } 2.5.消息发送之前事件 对发送消息进一步精确控制,以下是示例: /// /// 发送预警消息之前 /// 针对消息发送的精确控制 /// /// void BeforeSendWarnMessage(BeforeSendWarnMessageEventArgs e) { base.BeforeSendWarnMessage(e); //当消息发送条数大于100时,取消发送 if(e.WarnMessage.MessageEntityList.Count > 100) { e.Cancel = true; } } 3、客户端插件重写指导说明 在消息中心,或者首页的预警消息功能下面,可以看到预警消息列表。此列表支持预警消息的查看和处理工作,通过预警方案的消息客户端插件重写,可以自定义处理预警消息和查看消息。 同样可以把自己的插件注册进来 重写类:Kingdee.BOS.Core.Warn.PlugIn.AbstractWarnMessagePlugIn 3.1.查看消息 弹出指定的查看界面,如果不重写,则弹出统一的消息查看界面,以下是示例: /// /// 显示消息 /// public override void ShowWarnMessage(ShowWarnMessageEventArgs e) { //根据传过来的关键数据,进行查看 if(e.MsgDataKeyValueList!= null && e.MsgDataKeyValueList.Count()> 0) { // DoShow 查看逻辑 } //标识从插件中查看,这样就不会显示公用的查看界面了 e.IsShowByPlugIn = true; base.ShowWarnMessage(e); } 3.2.处理消息 插件根据传递过来的关键数据,进行处理,以下是示例: /// /// 处理消息 /// public override void ProcessWarnMessage(ProcessWarnMessageEventArgs e) { if(e.MsgDataKeyValueList!= null && e.MsgDataKeyValueList.Count()> 0) { string message = string.Empty; message = DoProcess(e.MsgDataKeyValueList);//自定义处理逻辑 //插件中显示了提示消息,公共的提示消息就不显示了 e.Result.IsShowMessage = false; //标识已被插件处理 e.IsProcessByPlugin = true; this.ParentView.ShowMessage(message); } base.ProcessWarnMessage(e); } 4、预警条件窗体: 第一个是平台的模板,我们也可以继承这个模板自定义我们自己需要的预警条件,预警条件是一个单据; 5、预警方案插件重写指导说明 预警方案维护界面中,对消息的配置支持变量,而变量是根据对应预警对象数据源的元数据构成的。如果开发者需要精简一些无用的变量,则可以通过重写预警方案插件来实现。 重写类:Kingdee.BOS.Core.Warn.PlugIn.AbstractWarnSolutionEditPlugIn 5.1 设置预警条件之前事件 更改预警消息变量来源,适用于精简一些无用的字段变量; 注意,需与下面的设置预警变量之前事件配套使用,否则会出错; 以下是示例: /// /// 预警条件界面,在设置预警条件字段之前 /// public override void BeforeSetFilterFields(BeforeSetFilterFieldsEventArgs e) { //将字段名为FName的字段移除预警条件字段集合 for(int i = e.FilterFields.Count1;i >= 0;i--) { WarnMessageVeriable veriable = e.Veriablelist[i]; if(veriable.FiledName.ToUpperInvariant()== “FName”) { e.Veriablelist.RemoveAt(i); } } base.BeforeSetVeriableList(e); } 预警对象建立好后,我们需要用administrator进入我们的系统,然后设置预警方案 预警方案的新增界面,填好编号和名称,选择预警级别,然后选择自己刚刚在BOS里设置的预警对象,选择预警对象好会默认把BOS里配置的预警条件窗体携带到这里的预警条件下,同时会加载消息设置的东西 然后设置预警周期 设置好保存就可以了,最后设置你的消息提示; 明细表体和明细正文就是我们要设置的明细消息提示、用{}框起来需要提示的字段,这里的字段都是你预警对象数据源里的字段,保存这个预警方案,预警方案就算设置好了,然后启动这个预警方案,就会自动执行,当然你也可以手动执行验证; 执行后到预警执行情况列表里查看就行,同时也会发消息到对应的接收人第五篇:金蝶云K3 Cloud业务预警业务开发总结