- 浏览: 221601 次
- 性别:
- 来自: 北京
-
最新评论
-
LinApex:
请使用js好吗?
利用开发框架中的标签库集成报表工具 -
qiu768:
博主你们是直接用jquerymobile+phonegap实现 ...
工作流软件管理系统移动客户端的开发 -
shige19:
流程与业务表单的关联:流程->任务->表单
aspx页面集成工作流引擎api -
shige19:
工作流中集成页面:1 流程环节绑定页面url;2 页面处理中调 ...
工作流集成第三方aspx页面 -
shige19:
流程关联多单据:1 多单据只是针对主从表情况;2 单据与流程的 ...
工作流集成表单之多张单据和一张单据
在协同办公系统中web自定义表单开发工具是核心组件,它可以为协同系统提供数据展现接口,自定义表单开发工具通过调用接口并返回接收数据后显示在页面上,如果需要对页面上的数据进行分析时,图形化的数据展现会更显得直观明了。
在经过验证研究后,决定在web自定义表单开发工具中集成fusioncharts控件,之所以选择FusionCharts图形控件主要是它集成比较灵活、简单,对系统没有特殊的要求。下面的是FusionCharts的简单概述和系统要求:
FusionCharts Overview |
FusionCharts is a flash charting component that can be used to render data-driven animated charts. Made in Adobe Flash 8 (formerly Macromedia Flash), FusionCharts can be used with any web scripting language like HTML, .NET, ASP, JSP, PHP, ColdFusion etc., to deliver interactive and powerful charts. Using XML as its data interface, FusionCharts makes full use of fluid beauty of Flash to create compact, interactive and visually-arresting charts. |
System Requirements |
Server Side: Anything. FusionCharts runs on Windows, Linux, Unix or any other imaginable form of server that you can think of. Just make sure that your server MIME is configured for SWF files to ensure proper streaming. Most servers come pre-configured for SWF files. Client Side: Adobe Flash Player 8 (or above). Adobe Flash Player is a free and light-weight plugin to render Flash movies. It can be downloaded from www.adobe.com. It's one of the most widely installed plugin on this planet. |
如想了解FusionCharts更详细的信息请参见:http://www.fusioncharts.com/ 。下面开始介绍web自定义表单集成FusionCharts的具体过程:
一、 研究用AJAX/JavaScript方式整合
在FusionCharts中提供了接收XML数据并把数据以各种图形展现的方法,具体的示例步骤如下:
1) JavaScript 的调用方法,首先在需要显示图形的页面上引用FusionCharts.js文件,然后在按下面的格式来调用即可。
<script type="text/javascript">
var chart = new FusionCharts("../Charts/Column2D.swf", "ChartId", "500", "300", "0", "0");
chart.setDataURL("Data/Column2D.xml");
chart.render("chartdiv");
</script>
2) FusionCharts接收XML数据的格式如下:
3) JavaScript调用成功后显示的效果:
按上面的步骤便可以用JavaScript调用FusionCharts控件的接口并显示数据,主要工作量就是XML数据的组织,组织数据后直接调用接口就可以显示图形了。知道了主要的工作量就可以把FusionCharts控件集成到Web自定义表单中了。
二、 把FusionCharts控件集成到web自定义表单的设计器中
a) 增加FusionCharts图标到web自定义表单设计器的工具栏上
在Web自定义表单工具的配置文件中增加下面的配置属性即可在工具栏上显示,配置方法和显示效果如下:
配置方法: chart: ["chart控件", "../images/NEW_images/ef_design_chart.gif", false, 'Add("chart")']
显示效果:
b) 设置FusionCharts的基本属性和数据来源
为了Web自定义表单和FusionCharts的集成方便和使用简单,我们把FusionChart的XML数据来源定义为取自Web自定义表单的dataset数据集控件,这样在表单制作时我们只要给数据集赋值,并把dataset数据集的数据和FusionCharts控件进行关联,数据便可以按图形方式展现。
首先需要把图形控件可以增加到自定义表单的设计器上。增加控件到自定义表单设计器上只要实现'Add("chart")接口即可,在Add()方法中增加如下代码:
case "chart":
{
ArrNum[name]++;
var sid = getNewContID(name,oContXml) ;
var sHtml="<img controltype='" + name + "' id="+sid+" type=graph style='position:" + fcpubdata.position + ";Left:0;Top:0; Height:188; Width:326;' src='../images/ef_designer_graph.gif' onmovestart=moveStart() onmoveend=moveEnd() onresizestart=resizeStart() onresizeend=resizeEnd() />";
htmltocont(sHtml,name);
SelectObj(sid);
break;
}
其次要把FusionCharts控件和dataset数据集的数据项进行关联,我们把FusionCharts的基本属性和数据关联属性统一做在了一个页面进行设置,设置方法如下图:
然后按常规的自定义表单的制作方法设计表单即可。如果表单上增加了FusionCharts图形控件,自定义表单设计保存时会自动引用FusionCharts.js文件。
再然后表单运行时会根据设置的属性进行解析后调用FusionCharts提供的方法显示图形。具体的解析过程封装了通用的方法,在表单设计中调用此方法便可以根据数据显示各种图形了。封装方法如下:
function ShowOneGraph(obj) {
var iWidth = obj.style.pixelWidth;
var iHeight = obj.style.pixelHeight;
var dssub1 = eval("window." + obj.getAttribute("datasetdata"));
var sXml = obj.getAttribute("formatxml"); //纵轴字段列表串
var oXml;
if (window.ActiveXObject) {
oXml = new ActiveXObject("Microsoft.XMLDOM");
oXml.async = false;
oXml.loadXML(sXml);
}
else {
oXml = (new DOMParser()).parseFromString(sXml, "text/xml");
}
//debugger;
var Is3D = obj.Is3D; //是否D显示
var IsStack = obj.IsStack; //是否堆积显示
//alert(IsStack);
var IsMulti = (oXml.documentElement.childNodes.length > 2); //是否是多序列图形
var IsShowValue = obj.IsShowValue; //是否显示数据值
var showvalue = '0';
if (IsShowValue == "是") showvalue = '1';
var Is2YAxis = obj.Is2YAxis; //是否显示双轴图形
var myChart = null
//增加显示图形类型的属性(用哪个flash文件)
var chartName = (obj.chartTypeName == "undefined" || typeof obj.chartTypeName == "undefined") ? "" : obj.chartTypeName;
if (chartName == "") {
switch (obj.graphtype) {
case "折线图": //Line.swf
if (IsMulti)
chartName = "ScrollLine2D.swf"; //"MSLine.swf";
else
chartName = "Line.swf";
break;
case "圆饼图": //Pie2D.swf
if (Is3D == "是")
chartName = "Pie3D.swf";
else
chartName = "Pie2D.swf";
break;
case "条形图": //Bar2D.swf
//是否是多序列图形
if (IsMulti) {
//是否堆积显示图形
if (IsStack == "是") {
//是否D显示
if (Is3D == "是")
chartName = "StackedBar3D.swf";
else
chartName = "StackedBar2D.swf";
}
else {
//是否D显示
if (Is3D == "是")
chartName = "MSBar3D.swf";
else
chartName = "MSBar2D.swf";
}
}
else {
chartName = "Bar2D.swf";
}
break;
case "区域图": //Area2D.swf
if (IsMulti) {
if (IsStack == "是")
chartName = "StackedArea2D.swf";
else
chartName = "ScrollArea2D.swf"; //"MSArea.swf";
}
else {
chartName = "Area2D.swf";
}
break;
default: //Column2D.swf
if (IsMulti) {
if (IsStack == "是") {
if (Is3D == "是")
chartName = "StackedColumn3D.swf";
else
chartName = "ScrollStackedColumn2D.swf"; //"StackedColumn2D.swf";
}
else {
if (Is3D == "是")
chartName = "MSColumn3D.swf";
else
//chartName = "MSColumn2D.swf";
chartName = "ScrollColumn2D.swf";
}
}
else {
if (Is3D == "是")
chartName = "Column3D.swf";
else
chartName = "Column2D.swf";
}
}
//双轴图形显示
if (Is2YAxis == "是") {
if (IsStack == "是" && Is3D == "是")
chartName = "StackedColumn3DLineDY.swf";
else {
if (Is3D == "是")
chartName = "MSColumn3DLineDY.swf";
else
chartName = "MSCombiDY2D.swf";
}
}
}
//alert(chartName);
myChart = new FusionCharts("http://www.cnblogs.com/../FusionCharts/" + chartName, "myChartId", iWidth, iHeight, "0", "0");
//把图形控件需要显示的Xml做一个接口属性,在表单中可以直接给图形设置数据并显示。
//如果在表单上给图形控件付了chartXML的属性,则不再按图形控件的属性页的进行属性拼写。
var strXml = "";
if (obj.chartXML == "undefined" || typeof obj.chartXML == "undefined") {
if (parent.Request.QueryString("opentype").toString() == "1") {
dssub1.Open();
}
//增加数据集内容是否为空的判断
var ilen = 0;
if (dssub1.oDom.xml != "")
ilen = dssub1.oDom.documentElement.childNodes.length;
var xfield = obj.xfield;
var colno = dssub1.FieldNameToNo(xfield); //X轴字段序号
var yfield = oXml.documentElement.childNodes(0).childNodes(0).text; //y轴字段
var yno = dssub1.FieldNameToNo(yfield); //Y轴字段序号
//图形属性
var strCaption = (obj.caption == "undefined" || typeof obj.caption == "undefined") ? "" : obj.caption;
var strSubCaption = (obj.subcaption == "undefined" || typeof obj.subcaption == "undefined") ? "" : obj.subcaption;
var strxAxisName = (obj.xAxisName == "undefined" || typeof obj.xAxisName == "undefined") ? "" : obj.xAxisName;
var stryAxisName = (obj.yAxisName == "undefined" || typeof obj.yAxisName == "undefined") ? "" : obj.yAxisName; //主Y轴名称
var strNumPrefix = (obj.numberPrefix == "undefined" || typeof obj.numberPrefix == "undefined") ? "" : obj.numberPrefix;
//增加数据的后缀属性、标准线值、标准线显示值
var strNumSuffix = (obj.numberSuffix == "undefined" || typeof obj.numberSuffix == "undefined") ? "" : obj.numberSuffix;
var strTrendlines = (obj.trendlines == "undefined" || typeof obj.trendlines == "undefined") ? "" : obj.trendlines;
var strDisplayValue = (obj.TrendDisplayValue == "undefined" || typeof obj.TrendDisplayValue == "undefined") ? "标准线" : obj.TrendDisplayValue; //标准线显示值
//增加次Y轴名称
var strSyyAxisName = (obj.SyAxisName == "undefined" || typeof obj.SyAxisName == "undefined") ? "" : obj.SyAxisName;
var bg = "";
if (Is3D == "是" && obj.graphtype == "圆饼图") bg = "bgcolor = '99CCFF,FFFFFF'";
//修改小数位数保留两位
strXml = "<chart " + bg + " decimals='2' formatNumberScale='0' palette='2' caption='" + strCaption + "' baseFontSize='12' baseFont='Arial'";
strXml += "showSum='1' decimals='0' useRoundEdges='1' palette='2' showBorder='1' ";
strXml += " subcaption='" + strSubCaption + "' xAxisName='" + strxAxisName + "' numberPrefix='" + strNumPrefix + "' numberSuffix='" + strNumSuffix + "'";
//增加是否显示双轴图形. 数据集Y轴的最后一个字段做次Y轴数据
if (Is2YAxis == "是" && oXml.documentElement.childNodes.length > 2)
strXml += " PYAxisName = '" + stryAxisName + "' SYAxisName = '" + strSyyAxisName + "'";
else
strXml += " yAxisName='" + stryAxisName + "'";
strXml += ">";
//组织图形数据
if (typeof myChart != "undefined" && myChart != null && ilen > 1) {
var strcategories = "<categories>";
for (var i = 0; i < ilen - 1; i++) {
//图表分类
var strlabel = dssub1.oDom.documentElement.childNodes(i).childNodes(colno).text;
var strvalue = "";
if (IsMulti)
strcategories += "<category label='" + strlabel + "' />";
else
strvalue = dssub1.oDom.documentElement.childNodes(i).childNodes(yno).text;
// 增加点击图形时可以处发其它事件的属性
var strlink = dssub1.oDom.documentElement.childNodes(ilen - 1).childNodes(1).childNodes(yno).childNodes(14).text;
if (strlink.toLowerCase().indexOf("javascript") >= 0)
strlink = strlink.substring(11, strlink.length);
if (strlink.indexOf(";") >= 0)
strlink = strlink.substring(0, strlink.length - 1);
if (strlink.indexOf("(") >= 0) {
var ss = strlink.substring(strlink.indexOf("(") + 1, strlink.length);
strlink = strlink.substring(0, strlink.indexOf("(") + 1) + "\'" + i + "\'";
if (ss.length > 1)
strlink = strlink + "," + ss;
else
strlink = strlink + ss;
}
var slink = " link = \"JavaScript:" + strlink + "\"";
strXml += "<set label='" + strlabel + "' value='" + strvalue + "' " + slink + " />";
}
if (IsMulti) {
strcategories += "</categories>";
strXml += strcategories;
for (var j = 0; j < oXml.documentElement.childNodes.length - 1; j++) {
var ycolno = dssub1.FieldNameToNo(oXml.documentElement.childNodes(j).childNodes(0).text);
var yfieldname = oXml.documentElement.childNodes(j).childNodes(1).text
var strdataset = "<dataset showValues='" + showvalue + "' seriesName='" + yfieldname + "'";
if (Is2YAxis == "是" && oXml.documentElement.childNodes.length > 2 && (j == oXml.documentElement.childNodes.length - 2))
strdataset += " parentYAxis='S' ";
strdataset += ">";
for (var k = 0; k < ilen - 1; k++) {
var strvalue = dssub1.oDom.documentElement.childNodes(k).childNodes(ycolno).text;
strdataset += "<set value='" + strvalue + "' /> ";
}
strdataset += "</dataset>"
strXml += strdataset;
}
}
//增加标准线
if (strTrendlines != "" && strTrendlines != "undefined") {
strXml += "<trendlines>"
strXml += "<line startValue='" + strTrendlines + "' isTrendZone='0' displayValue='" + strDisplayValue + "' color='FF0000' /> "
strXml += "</trendlines>"
}
}
strXml += "</chart>";
}
else {
strXml = obj.chartXML;
}
myChart.setDataXML(strXml);
var sdiv = "<div id='" + obj.id + "' style='position:absolute;left:" + obj.style.left + ";top:" + obj.style.top + ";width:" + obj.style.width + ";height:" + obj.style.height + "'>";
obj.outerHTML = sdiv + "</div>";
myChart.render(obj.id);
}
c) 预留FusionCharts的数据来源接口
- chartTypeName属性接口,用于指定图形显示用哪种类型。例:chart1.chartTypeName = “Doughnut2D.swf”;
- chartXML 属性接口,用于指定图形的XML数据。例:chart1.chartXML = “……”; 数据格式为FusionCharts提供的标准格式,因FusionCharts提供了很多的属性和接口,不能在自定义表单中一一列举出来供设置,特提供此属性接口。标准API参见官方网站上提供的 Chart XML API介绍。
三、 带图形的自定义表单制作过程及展现效果
1、 按常规的表单制作方式设计表单,并在表单上增加图形控件,设计效果如下:
2、 设置图形控件的基本属性和关联的dataset数据集
3、 在表单的onload事件中调用ShowOneGraph(chart1);显示图形的方法。
4、 运行表单显示效果如下:
<script type="text/javascript"></script>
发表评论
-
工作流之设置表访问权限
2015-01-19 20:34 1940在工作流管理系统中,工作流引擎负责流程的流转。首先梳理业务, ... -
工作流之设置表访问权限
2015-01-19 20:34 1008在工作流管理系统中,工作流引擎负责流程的流转。首先梳理业务, ... -
利用工作流返回达到无限次重复办理业务的过程
2015-01-04 14:21 1240在和客户的交流中,有客户提出有这样的业务流程: 申 ... -
IE8用ajax访问不能每次都刷新的问题
2014-07-10 18:36 627最近发现,用ajax访问后台,用ie8访问,第一次可以正常返 ... -
java项目开发框架
2014-07-07 11:37 712做项目的时候,最需要快速开发框架来辅助。好的快速安全的开发 ... -
如何设置流程的默认版本
2014-04-29 20:00 763业务流程用工作流软件 ... -
简单设置eworkflow条件的方式
2014-01-03 11:46 1216在eworkflow自定义工作流产品中,设置条件节点,是在 ... -
流程多节点调用同一张业务表单的锚点问题
2013-11-19 19:56 1228在工作流的实施中,经常会有客户提出,一个业务流程中,同一张业 ... -
java工作流软件发送邮件的方案
2013-11-01 17:03 1296利用javamail的功能将发送邮件的功能集成到java工作 ... -
工作流软件是未来web的支柱
2013-10-30 17:13 960Web 3.0正在敲门,但是 ... -
自定义表单中多附件上传控件的实现方案
2013-10-25 11:53 1445多附件上传的功能,在我们开发系统的时候经常会需要,客户的需求 ... -
流程节点中发送邮件的解决方案
2013-10-15 18:14 1035在流程引擎中,需要 ... -
财务报销流程
2013-09-11 12:33 1873给客户做的财务报销流程示例说明文档: 业务介绍 ... -
tomcat6配置jndi连接数据库的方式
2013-08-26 10:31 821eworkflow工作流+eform表单+ebiao报表集 ... -
动态获取当前执行人或指定步骤执行人的上级
2013-08-14 10:27 1356流程在一个业务节点办理完成后,到达下一个节点,产生下一个节 ... -
流程节点多场景多表单
2013-07-27 13:51 990工作流的流转,每一个办理过程就是一个流程节点,实际办理业务 ... -
oracleclient连oracle库 报System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本
2013-07-17 09:32 1000在iis下发布eworkflow+eform+ebiao的 ... -
IE10中session失效取不到值的问题
2013-07-12 09:18 1725在eworkflow工作流,ebiao报表,eform自定义 ... -
动态指定下一步任务的参与人
2013-06-22 15:32 4106在流程运行的时候, ... -
任务超期后的定时器处理
2013-06-22 08:25 1185工作流管理系统中, ...
相关推荐
Korp Chart作为Delphi的一个图形控件,可以被直接拖放到Delphi的表单上,与其他控件一样进行操作和布局。这大大简化了开发过程,使得即使是对图形编程不熟悉的开发者也能快速上手。 ### 3. 集成Flash FusionCharts...
计算机硬件控制_驱动级键盘鼠标同步_PS2接口UDP协议多机协同_基于rabirdwinio和pynput的跨设备输入共享系统_实现多台Windows电脑的键盘鼠标同步操作_支持
嵌入式八股文面试题库资料知识宝典-TCPIP协议栈.zip
少儿编程scratch项目源代码文件案例素材-开膛手杰克.zip
基于深度学习CNN网络+pytorch框架实现遥感图像滑坡识别源码+数据集+训练好的模型,个人经导师指导并认可通过的高分设计项目,评审分99分,代码完整确保可以运行,小白也可以亲自搞定,主要针对计算机相关专业的正在做大作业的学生和需要项目实战练习的学习者,可作为毕业设计、课程设计、期末大作业,代码资料完整,下载可用。 基于深度学习CNN网络+pytorch框架实现遥感图像滑坡识别源码+数据集+训练好的模型基于深度学习CNN网络+pytorch框架实现遥感图像滑坡识别源码+数据集+训练好的模型基于深度学习CNN网络+pytorch框架实现遥感图像滑坡识别源码+数据集+训练好的模型基于深度学习CNN网络+pytorch框架实现遥感图像滑坡识别源码+数据集+训练好的模型基于深度学习CNN网络+pytorch框架实现遥感图像滑坡识别源码+数据集+训练好的模型基于深度学习CNN网络+pytorch框架实现遥感图像滑坡识别源码+数据集+训练好的模型基于深度学习CNN网络+pytorch框架实现遥感图像滑坡识别源码+数据集+训练好的模型基于深度学习CNN网络+pytorch框架实现遥感图像滑坡识别源码+数据集+训练好的模型基于深度学习CNN网络+pytorch框架实现遥感图像滑坡识别源码+数据集+训练好的模型基于深度学习CNN网络+pytorch框架实现遥感图像滑坡识别源码+数据集+训练好的模型基于深度学习CNN网络+pytorch框架实现遥感图像滑坡识别源码+数据集+训练好的模型基于深度学习CNN网络+pytorch框架实现遥感图像滑坡识别源码+数据集+训练好的模型基于深度学习CNN网络+pytorch框架实现遥感图像滑坡识别源码+数据集+训练好的模型基于深度学习CNN网络+pytorch框架实现遥感图像滑坡识别源码+数据集+训练好的模型基于深度学习CNN网络+pytorch框架实现
内容概要:本文详细探讨了电力弹簧技术在主动配电网规划及运行优化调度中的应用。首先介绍了电力弹簧技术作为智能电网调控手段的优势,如自适应性强、响应速度快、节能环保等。接着阐述了主动配电网规划的目标和策略,包括优化电网结构、提高能源利用效率和降低故障风险。随后讨论了运行优化调度的原则和方法,强调了实时监测、智能调度策略以及优化调度模型的重要性。最后通过实际案例分析展示了电力弹簧技术在提升电网稳定性、可靠性和能效方面的显著效果,展望了其广阔的应用前景。 适合人群:从事电力系统规划、运行管理的研究人员和技术人员,以及对智能电网感兴趣的学者和学生。 使用场景及目标:适用于希望深入了解电力弹簧技术及其在主动配电网规划和运行优化调度中具体应用的专业人士。目标是掌握电力弹簧技术的工作原理、优势及其在实际项目中的实施方法。 其他说明:本文不仅提供了理论分析,还有具体的案例支持,有助于读者全面理解电力弹簧技术的实际应用价值。
嵌入式八股文面试题库资料知识宝典-C语言思维导图.zip
电路教学与科研案例的结合—以最大功率传输定理为例.pdf
内容概要:本文深入介绍了HarmonyOS文件系统及其在万物互联时代的重要性。HarmonyOS自2019年发布以来,逐步覆盖多种智能设备,构建了庞大的鸿蒙生态。文件系统作为其中的“数字管家”,不仅管理存储资源,还实现多设备间的数据协同。文章详细介绍了常见的文件系统类型,如FAT、NTFS、UFS、EXT3和ReiserFS,各自特点和适用场景。特别强调了HarmonyOS的分布式文件系统(hmdfs),它通过分布式软总线技术,打破了设备界限,实现了跨设备文件的无缝访问。此外,文章对比了HarmonyOS与Android、iOS文件系统的差异,突出了其在架构、跨设备能力和安全性方面的优势。最后,从开发者视角讲解了开发工具、关键API及注意事项,并展望了未来的技术发展趋势和对鸿蒙生态的影响。 适合人群:对操作系统底层技术感兴趣的开发者和技术爱好者,尤其是关注物联网和多设备协同的用户。 使用场景及目标:①理解HarmonyOS文件系统的工作原理及其在多设备协同中的作用;②掌握不同文件系统的特性和应用场景;③学习如何利用HarmonyOS文件系统进行应用开发,提升跨设备协同和数据安全。 阅读建议:本文内容详实,涵盖了从基础概念到高级开发技巧的多个层次,建议读者结合自身需求,重点关注感兴趣的部分,并通过实践加深理解。特别是开发者可参考提供的API示例和开发技巧,尝试构建基于HarmonyOS的应用。
嵌入式八股文面试题库资料知识宝典-海康嵌入式笔试题.zip
内容概要:本文详细介绍了基于瞬时无功功率理论的三电平有源电力滤波器(APF)仿真研究。主要内容涵盖并联型APF的工作原理、三相三电平NPC结构、谐波检测方法(ipiq)、双闭环控制策略(电压外环+电流内环PI控制)以及SVPWM矢量调制技术。仿真结果显示,在APF投入前后,电网电流THD从21.9%降至3.77%,显著提高了电能质量。 适用人群:从事电力系统研究、电力电子技术开发的专业人士,尤其是对有源电力滤波器及其仿真感兴趣的工程师和技术人员。 使用场景及目标:适用于需要解决电力系统中谐波污染和无功补偿问题的研究项目。目标是通过仿真验证APF的有效性和可行性,优化电力系统的电能质量。 其他说明:文中提到的仿真模型涉及多个关键模块,如三相交流电压模块、非线性负载、信号采集模块、LC滤波器模块等,这些模块的设计和协同工作对于实现良好的谐波抑制和无功补偿至关重要。
基于环比增长的销售统计分析——2019年中青杯全国数学建模竞赛C题.pdf
嵌入式八股文面试题库资料知识宝典-linux面试题.zip
嵌入式八股文面试题库资料知识宝典-linux常见面试题.zip
内容概要:本文探讨了小电流接地系统在配电网络中的应用,特别是在单相故障情况下的仿真分析。文中介绍了小电流接地系统的背景和发展现状,重点讨论了两种常见的接地方式——中性点不接地和中性点经消弧线圈接地。利用Matlab作为仿真工具,作者构建了详细的电路模型,模拟了单相故障的发生过程,并通过多个结果图表展示了故障电流、电压波形及系统运行状态。此外,文章还包括了详细的设计说明书和PPT介绍,帮助读者全面理解仿真过程和技术细节。 适合人群:从事电力系统研究、维护的技术人员,尤其是关注配电网络安全和稳定的工程师。 使用场景及目标:适用于希望深入了解小电流接地系统的工作原理和故障处理机制的专业人士。通过本研究,读者可以掌握如何使用Matlab进行电力系统仿真,评估不同接地方式的效果,优化配电网络的安全性能。 其他说明:随文附带完整的仿真工程文件、结果图、设计说明书及PPT介绍,便于读者进一步探索和实践。
少儿编程scratch项目源代码文件案例素材-激烈的殴斗.zip
嵌入式八股文面试题库资料知识宝典-小米嵌入式软件工程师笔试题目解析.zip
内容概要:本文详细探讨了车辆主动避撞技术中的两种常见策略——纵向紧急制动避撞和横向紧急转向避撞。首先介绍了这两种避撞策略的基本概念,接着深入分析了临界纵向安全距离的概念及其对避撞模式选择的影响。文中特别强调了五次多项式换道轨迹模型在计算横向紧急转向避撞安全距离中的应用。最后,通过一个简化的程序实现了避撞策略的模拟和可视化展示,帮助读者更好地理解不同避撞方式的应用场景和技术细节。 适合人群:汽车工程技术人员、交通安全研究人员、自动驾驶开发者。 使用场景及目标:适用于研究和开发车辆主动避撞系统的专业人士,旨在提高对避撞策略的理解,优化避撞算法的设计,提升行车安全性。 其他说明:文章不仅提供了理论分析,还结合了具体的数学模型和程序实现,使读者能够从多个角度全面掌握车辆避撞技术的关键要素。
基于MPPSK调制的数字对讲机系统.pdf
嵌入式八股文面试题库资料知识宝典-Nec试题回忆二.zip