`
microjava
  • 浏览: 323510 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

ecap常见问题集锦

阅读更多
ecap常见问题集锦

1.交易不跳页面直接打印,有可能造成打印文件名变量重复累加的现象?

将输入输出属性设置为:输出

2.生成打印文件成功,客户端无法下载打印文件?
此问题与Fserver有关
查看相关进程
ps -ef |grep FS

查看端口是否监听
netstat -an |grep 12277

杀掉进程
kill -9 496120

启动Fserver
nohup fsvr.sh &



3.was启动停止脚本:
sh start.sh

/usr/IBM/WebSphere/AppServer/profiles/Dmgr01/bin/startManager.sh
/usr/IBM/WebSphere/AppServer/profiles/AppSrv01/bin/startNode.sh
/usr/IBM/WebSphere/AppServer/profiles/AppSrv01/bin/startServer.sh server1

stop.sh

/usr/IBM/WebSphere/AppServer/profiles/AppSrv01/bin/stopNode.sh
/usr/IBM/WebSphere/AppServer/profiles/AppSrv01/bin/stopServer.sh server1
/usr/IBM/WebSphere/AppServer/profiles/Dmgr01/bin/stopManager.sh



4.凭证重打 用 200600 交易

5.补登折   用 000600 交易

将账号和凭证号码传入补登折界面

输入输出

accntNumber  TS_F_account
passbookNo   TS_F_vouno

补登折页面接收

值中的表达式

com.adtec.client.util.servlet.ServletTool.getRequestParam("accntNumber");
com.adtec.client.util.servlet.ServletTool.getRequestParam("passbookNo");

paymode TS_F_paymode
//补登折
var bdflag = document.@FormName@.paymode.value;
if(bdflag == '1')
{
  alert('请到600交易补登折!');
  openSubTran(document.@FormName@,'HZ_F2_921012_02','_B6_000600','_B6_000600_init');
}	


6.刷折
AccountLinkage(document.@FormName@.textaccount.value,'1','@FormName@', '@PageName@');

AccountLinkage(document.@FormName@.textaccount.value,'1','@FormName@', '@PageName@');



readCZHMcrWithPayWay(devObject,document.@FormName@.textaccount,document.@FormName@.pingnum,'');
document.form2.textaccount.focus();


readCZHMcrWithPayWay(devObject,document.@FormName@.textaccount,document.@FormName@.pingnum,'');
document.form2.textaccount.focus();

com.adtec.client.accountlinkage.AccountLinkage.init("HB_DefaultString11","textname");

if(document.@FormName@.acct.value!='')
{
  
AccountLinkage(document.@FormName@.acct.value,'6','@FormName@', '@PageName@');

}

com.adtec.client.accountlinkage.AccountLinkage.init("HB_CustName|HB_custNo","accname|khno");



7.金额域校验技巧
var s1 = document.form2.number_price.value;
var s2 = Number(s1);

var s3 = s2 % 100;

alert(s3);
alert(s3 > 0);


if(s2 < 1000){
 document.form2.number_price.value = '';
 
 return '金额不能小于1000';
}
else if(s3 > 0)
{
  document.form2.number_price.value = '';
 
  return '金额只能是100的整数倍';
}


8.刷卡操作

刷卡
get37650Account_new(document.@FormName@.textaccount,document.@FormName@.textcardno,'A','K','1');

刷卡验密
get37650Account_new(document.form2.textaccount,document.form2.textcardno,'B','K','0');

不能手工输入
get37650Account_new(document.@FormName@.textbox2,document.@FormName@.textbox6,'B','B','0');

只能选主账号
get37650Account_new(document.form2.textaccount,document.form2.textcardno,'B','K','4');

9.截取下拉框的值发到后台

页面提交事件

var obj=document.form2.subjcode;
document.form2.businame.value = obj.options[obj.selectedIndex].text.substring(4,20);



10.柜员名称乱码问题解决:

/home/ecap/wasECAP/Template/foot.jsp
把字符编码改为gbk
<%@ page contentType="text/html; charset=gbk"

11.中文金额分开并补零
double amount=$TS_F_totalamount;
String[] map={ "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"};
int count=1;
String desStr="";
int tempAmount=(int)(amount*100);
desStr=map[tempAmount%10];
while((tempAmount/10)!=0){
	count++;			
	tempAmount=tempAmount/10;
	desStr=map[tempAmount%10]+"  "+desStr;
}
while(count<=9){
  desStr="零  "+desStr;
  count++;
}
return desStr;


double amount=$TS_F_amount;
String[] map={ "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"};
int count=1;
String desStr="";
int tempAmount=(int)(amount/100000);
int temp=(int)((amount-tempAmount*100000)/10000);
desStr=map[temp];

return desStr+" ";


12.日期分开
com.adtec.client.util.DateUtil.dateStrFormate($BkPlatDate, "yyyyMMdd", "yyyy      MM        dd");


13.要求12位,不足前面补零
var billNo = document.@FormName@.textbox99.value;
var len = billNo.length;
if(len<12 && len>0) {
    for(var i = 0; i < (12-len); i++) {
       billNo  = '0'+ billNo;
    }
}
document.@FormName@.textbox99.value = billNo;


14.获取指定下标的值
com.adtec.client.util.DataPoolTool.getInfoFromDataPool("BkNum2",1);
com.adtec.client.util.DataPoolTool.getInfoFromDataPool("BkNum2",2);


15.返回上一页

history.back();

16.取机构名、核心日期
com.adtec.afc.datapool.EP.epGetValue(com.adtec.struct.ECAPTxRunInfo.getInstance().getSpID(), "HB_Branch_Name",0);


return com.adtec.client.util.DateUtil.dateStrFormate(com.adtec.afc.datapool.EP.epGetValue(com.adtec.struct.ECAPTxRunInfo.getInstance().getSpID(), "HB_Head_Date",0), "ddMMyyyy", "yyyyMMdd");


17.profile改变配置后生效

. .profile
env |grep Node



18.上传文件控件的使用

提交后事件
$ECAP_SEND_FILE = $TS_F_filename;

19.上传文件

onclick事件

DownLoadFile(document.@FormName@.filename.value);


隐含域

ECAP_RECE_FILE    filename

页面初始事件
String retcode=$__ERR_RET;
if((retcode!=null)&&(retcode.equals("00000"))){  
    com.adtec.client.ftp.FtpProxy.downLoadFile();
}
//原始文件
String srcfile=com.adtec.client.ftp.FtpProxy.getLocalFile();
if((srcfile==null)||(srcfile.equals("")))
{
   return false;
}else{
   String filename=$TS_F_number;
   filename=filename.trim();
   
   //下载类方法参数
   String recfile=filename+".txt";

   //目标文件
   String downfile=System.getenv("ECAPWORKDIR")+"/print/" + recfile;
   
   java.io.FileInputStream fis = new java.io.FileInputStream(srcfile);
   
   java.io.FileOutputStream fos = new java.io.FileOutputStream(downfile);
   byte[] buff = new byte[1024];
   int readed = -1;
   while((readed = fis.read(buff)) > 0)
     fos.write(buff, 0, readed);
     fis.close();
     fos.close();
   $ECAP_RECE_FILE=recfile;
}


20.把其他下标的文件放到0下标,便于解析
if("00000".equals($__ERR_RET)){
if("".equals($HB_FTP_FILES)){
   com.adtec.client.ftp.FtpProxy.downLoadFiles();
}
String Hb_ftp=com.adtec.afc.datapool.EP.epGetValue(com.adtec.struct.ECAPTxRunInfo.getInstance().getTpID(),"HB_FTP_FILES",1);
com.adtec.afc.datapool.EP.epPut(com.adtec.struct.ECAPTxRunInfo.getInstance().getTpID(),"HB_FTP_FILES", 0, Hb_ftp);

String downfile = com.adtec.client.ftp.FtpProxy.getLocalFile();


21.js计算一年后的日期
<script>
  var year = '2011-03-01';
  
  var date = new Date();
  
  var OneMonth = year.substring(5,7);  
  var OneDay = year.substring(8);  
  var OneYear = year.substring(0,4); 
      
  date.setFullYear(OneYear,OneMonth-1,OneDay);
  alert('date1: ' + date);  
    
  date.setFullYear(date.getFullYear()+1); 
  date.setDate(date.getDate()-1); //这里是改变的
    
  alert('date: ' + date);
  
  var TwoYear=String(date.getFullYear());//这里也是改变
  var TwoMonth=String(date.getMonth()+1);
  var TwoDay=String(date.getDate());
  
  if(TwoMonth.length<2){
       TwoMonth='0'+TwoMonth
   }
  if(TwoDay.length<2){
      TwoDay='0'+TwoDay;
  }

  var res = TwoYear+'-'+TwoMonth+'-'+TwoDay;
  
  alert(res);
  
</script>



22.内部帐回显户名
内部帐回显户名

021045

9开头,16位

HB_DefaultString90

$TS_F_taxpayername = $HB_DefaultString90;

getBGLAcctName('AccutNo','textbox95');

020400_JS

var acct = document.@FormName@.acct.value;
if(acct !='')
{
  if(acct.substring(0,1) == '9' && acct.length == '16')
  {
    getBGLAcctName('acct','accname');
  }
  else
  {
    AccountLinkage(document.@FormName@.acct.value,'1','@FormName@', '@PageName@');
  }
}


23.操作确认实现:OnSubmit事件中添加js代码
var opmode = document.form2.opmode.value;
if(opmode == '3')
{
  return confirm('确认要删除吗?');
}


24.弹出窗口,可以调用其他业务的子交易,注意子交易名字的大小写
myOpenSubTranWin('_L1_630020','_L1_630032_init','_L1_63003201','form2','height=600,width=900,toolbar=no, menubar=no, scrollbars=yes, resizable=yes, location=no, status=no',rValue)

<script>
function myOpenSubTranWin(tranName,subTranName,pageName,formName,features,winValue)
{
	var url = "TxRunAction.do?PageName="+pageName+"&FormName="+formName+"&TranName="+tranName+"&SubTranName="+subTranName+"&Rnd="+Math.round(Math.random()*100000000);
	try{
		openWin=window.showModalDialog(url,winValue, features);
	}
	catch(e){
	}
}
</script>

//弹出窗口的值赋给父窗口
setCustomeValue('radio55', 'textbox82','textbox83');

<script>
function setCustomeValue(varadio,vlable,alable) {
    var radios =  document.getElementsByName(varadio);
    if(radios.length == 1) {
        var obj = document.getElementById(vlable);
        var aaa = document.getElementById(alable);
        try {
            window.dialogArguments[0].value = obj.value;
            window.dialogArguments[1].value = aaa.value;
            window.close();
            return;
        } catch(e) { }
    }
    for(var i = 0; i < radios.length; i++) {
        if(radios[i].checked == true) {
          var obj = document.getElementById(vlable+'__'+i);
           var aaa = document.getElementById(alable+'__'+i);
           try {
               window.dialogArguments[0].value = obj.value;
               window.dialogArguments[1].value = aaa.value;
               window.close();
               return;
           } catch(e){ }
        }
     }
}
</script>


getBankInfo3(document.@FormName@.textbox42,document.@FormName@.textbox43,'','','_E1_400064_init');

getBankInfo3(document.@FormName@.textbox42,document.@FormName@.textbox43,'','','_L1_630032_init');

<script>
function     getBankInfo3(bankNumber,bankName,bankTel,bankAddress,subtransCode)
{
var obj = new Array();
var obj2=window.showModalDialog("TxRunAction.do?SubTranName=" + subtransCode + "&Rnd="+Math.round(Math.random()*100000000), obj, 'dialogWidth=800px;dialogHeight=600px,toolbar=no, menubar=no, scrollbars=yes, resizable=yes, location=no, status=no');
try{
  if((undefined != obj2[0]) && (undefined != bankNumber) && ('' != bankNumber)){
     bankNumber.value=obj2[0];
  }
   if((undefined != obj2[1]) && (undefined != bankName) && ('' != bankName)){
     bankName.value=obj2[1];
  }
   if((undefined != obj2[2]) && (undefined != bankTel) && ('' != bankTel)){
     bankName.value=obj2[2];
  }
   if((undefined != obj2[3]) && (undefined != bankAddress) && ('' != bankAddress)){
     bankName.value=obj2[3];
  }
}catch(e)
{}
}
</script>


25.取指定下标的值
int totalNum = com.adtec.client.util.DataPoolTool.getInfoSuffix("TS_F_Buff2");
if(totalNum > 3)
{
  com.adtec.client.util.DataPoolTool.setInfoToDataPool("TS_F_thirdno", 0,com.adtec.client.util.DataPoolTool.getInfoFromDataPool("TS_F_Buff2",3));
}


26.多维数据元素分页打印
List pagelist=com.adtec.client.returncode.OutPutCodeDispose.dispose("JM_F17_91280600_01","JM_F17_91280600_01","JM_F17_91280600_init");
int totalNum = com.adtec.client.util.DataPoolTool.getInfoSuffix("TS_F_account1");
String[] aselementName ={"BkBankBkFlg","TS_F_optype","TS_F_messdate","TS_F_account1","TS_F_account2","TS_F_amount","TS_F_name","BkPlatDate","TS_F_brchno","BkHostSeq","HB_Authorization_Teller","TS_F_tellerno"};

String[] fmt_name={"FMT_HOST_CLI_Public_JM_F17_91280600_01"};
com.adtec.client.print.LocalPrintDataElementDispose.initPrintPool();

for(int i=0; i<totalNum;i++){
  com.adtec.client.util.DataPoolTool.setInfoToDataPool("BkBankBkFlg", 0, i);
  com.adtec.client.print.LocalPrintDataElementDispose.copyIPDataPool2PrintData(aselementName);
  com.adtec.client.print.LocalPrintDataElementDispose.disposeLocalPrint(fmt_name,aselementName);
}
    
return pagelist;


<script type="text/JavaScript">  

  function  print_selection_JM_F17_91280600()
  {

		var returnNo = document.@FormName@.returnNo.value;

		var prtfilename = document.@FormName@.PrintDataLocalFileName.value.split("|");
		   
	
 		if(returnNo=="00000")
 		{	    
			//打印凭证

			for(var i=0;i<prtfilename.length;i++){
        FmtEngine('非税业务分成票据打印'+(i+1),'FMT_HOST_CLI_Public_JM_F17_91280600_01',prtfilename[i]);
		  }
			  
                                        
 		}		
		return;
 }

</script>


27.获取柜员机构类型
//获取柜员机构类型
String strBranNum = com.adtec.client.login.SessionTeller.tellerBranchNO();
com.adtec.client.bean.T_brhm tb = com.adtec.client.dao.T_brhmDao.load(strBranNum);
  if(tb!=null){
	  String brchType = tb.getBranch_type();
	  $MNGY_SequenceNum = brchType;
  }
  else
  {
  	String brchType = "";
  }


28.多sheet打印用
//多sheet打印用
function  printExcel2(obj)
{
//alert("just into printExcel2!");
   var xlsApp = null;    
    try{        
        xlsApp = new ActiveXObject('Excel.Application');    }catch(e) 
    { 
        alert(e+', 原因分析: 浏览器安全级别较高导致不能创建Excel对象或者客户端没有安装Excel软件'); 
          return; 
    }    
    var xlBook = xlsApp.Workbooks.Open('http://'+window.location.host+obj.value);

//alert("after open!");
    var sheetNum= 1;
    for(sheetNum=1;sheetNum<=xlBook.Sheets.Count;sheetNum++)
    {
        var xlsheet = xlBook.Worksheets(sheetNum);
        xlsApp.Application.Visible = false; 
        xlsApp.visible = false; 
        xlsheet.Printout; 
    }
    xlBook.Close(false);
// xlsApp.DisplayAlerts=false; // 如果关闭还会有提示,再加上这个
//  xlsApp.Close(false); 
    xlsApp.Quit(); 
    xlsApp=null;    
}


29.服务器分页
服务器分页
子交易开始前事件
$ECAP_PAGESIZE=10;

服务码请求前事件
com.adtec.client.head.HeadManage.setPage();

组件
pagination_NotBase

序号
Integer.parseInt(com.adtec.txrun.dataelement.SuffixOper.getSuffix()) + 1;


30.复选框
String res = (String)com.adtec.afc.datapool.EP.epGet(com.adtec.struct.ECAPTxRunInfo.getInstance().getIpID(), "BkFlag2",0);
String[] result = res.split("|");
int len = result.length; 
if(len != 0){
 //com.adtec.afc.datapool.EP.deleteDataElementValues(com.adtec.struct.ECAPTxRunInfo.getInstance().getIpID(), "BkFlag2");
 for(int i=0;i<len;i++){
    if(result[i] != ""){
      com.adtec.afc.datapool.EP.epPut(com.adtec.struct.ECAPTxRunInfo.getInstance().getIpID(), "BkFlag2",i, result[i]);
    }
  }
}


31.多个账号回显户名
多个账号回显户名
get020400Account_new(document.@FormName@.textbox135.value,'1','form2','_V2_243118_init','0');

get020400Account_new(document.@FormName@.textbox138.value,'1','form2','_V2_243118_init','1');


com.adtec.client.accountlinkage.AccountLinkage.init_020400("HB_DefaultString2","textbox136");
com.adtec.client.accountlinkage.AccountLinkage.init_020400("HB_DefaultString2","textbox139");


32.列表多选
<script>  
//复选框赋值
function Select_checkbox()
{
  var m=0;
  var t='';
  var check =  document.getElementsByName('checkbox91');
  for(var i = 0; i < check.length; i++)
   { 
     if(check[i].value=='1')
      {
        m = m + 1;
      }
       t = t + check[i].value;

    }
    //document.getElementById('Total_Records').value = check.length;
     document.getElementById('Identified_num').value = m;
    document.getElementById('Type_Flag').value = t;
}

//复选框全选和取消切换
function checkAll(e, itemName)
{
  var aa = document.getElementsByName(itemName);
  for (var i=0; i<aa.length; i++)
   {
    aa[i].checked = e.checked;
    if(aa[i].checked == true) aa[i].value = '1';
    else aa[i].value = '0';
   }
}
function checkItem(e, allName)
{
  var all = document.getElementsByName(allName)[0];
  if(!e.checked)
   {
     all.checked = false;
     e.value = '0';
   }
  else
  {
     e.value = '1';
    var aa = document.getElementsByName(e.name);
    for (var i=0; i<aa.length; i++)
     if(!aa[i].checked) return;
        all.checked = true;
  } 
    
}


</script>

checkbox90

RAD_SUFFIX
""

checkbox91

RAD_SUFFIX
"0"

checkAll(this, 'checkbox91');
checkItem(this, 'checkbox90');


33.获取交易名
com.adtec.struct.ECAPTxRunInfo.getInstance().getTran().getName();

String subtran=com.adtec.client.util.DataPoolTool.getInfoFromDataPool("ECAP_SUBTRAN_NAME",0);

String tranName= com.adtec.afc.datapool.EP.epGetValue(com.adtec.struct.ECAPTxRunInfo.getInstance().getSpID(), "HB_TRAN_CODE",0);
if("_D1_037998".equals(tranName)){
    return "交易名称:037998  取消卡与账户关联";
}

if(subtran.equals("_D1_037621")){
    return "交易名称:037620  取消卡与账户关联";
}else if(subtran.equals("_D8_037621")){
    return "交易名称:037999  取消卡与账户关联";
}


34.子窗口的值传到父窗口
var rValue = new Array(document.@FormName@.textbox174,document.@FormName@.custstat1);// new Array(客户号对象,客户号类型对象,证件号对象,证件号类型对象);
openTranWin('_PubTran_060482', 'height=600,width=800,toolbar=no, menubar=no, scrollbars=yes, resizable=yes, location=no, status=no',rValue);

getCustInfo();


35.清楚金额中的逗号
var _format = window.eval("/,/g");
   var amt1 = '50,000.00';
   alert(amt1);
   
   var amt2 = amt1.replace(_format,"");
   
   alert(amt2);


36.指定操作机构
if('00101' != document.form2.hidden_brch.value)
{
    closeTran();
    alert('此交易只能由省中心00101机构操作');
}

com.adtec.client.login.SessionTeller.tellerBranchNO();


37.选择弹出框信息
var returnValues =window.showModalDialog('TxRunAction.do?TranName=_E12_1614019_query&SubTranName=_E12_1614019_qu_init&Rnd='+Math.round(Math.random()*100000000), obj, 'dialogWidth=800px;dialogHeight=600px,toolbar=no, menubar=no, scrollbars=yes, resizable=yes, location=no, status=no');

if(returnValues == null)
    return;
document.@FormName@.textbox37.value = returnValues[0];
document.@FormName@.select40.value = returnValues[1];
document.@FormName@.select42.value = returnValues[2];
document.@FormName@.textbox44.value = returnValues[3];
document.@FormName@.textbox45.value = returnValues[4];
document.@FormName@.hidden47.value = returnValues[5];


<script type="text/JavaScript">
function  returnVale()
  {
    window.returnValue = new Array();
     var radioObj = document.getElementsByName('radio29');
    if(undefined == radioObj.length){
	         window.returnValue[0]  = document.getElementById('hidden40__'+radioObj.value).value;
                 window.returnValue[1]  = document.getElementById('hidden43__'+radioObj.value).value;
                 window.returnValue[2]  = document.getElementById('hidden44__'+radioObj.value).value;
                 window.returnValue[3]  = document.getElementById('hidden45__'+radioObj.value).value;
                 window.returnValue[4]  = document.getElementById('hidden46__'+radioObj.value).value;
                 window.returnValue[5]  = document.getElementById('hidden47__'+radioObj.value).value;
                 window.close();
                 
    }else{
        for (i=0; i < radioObj.length; i++){
            if (radioObj[i].checked){   
                 window.returnValue[0] = document.getElementById('hidden40__'+radioObj[i].value).value;
                 window.returnValue[1] = document.getElementById('hidden43__'+radioObj[i].value).value;
                 window.returnValue[2] = document.getElementById('hidden44__'+radioObj[i].value).value;
                 window.returnValue[3] = document.getElementById('hidden45__'+radioObj[i].value).value;
                 window.returnValue[4] = document.getElementById('hidden46__'+radioObj[i].value).value;
                 window.returnValue[5] = document.getElementById('hidden47__'+radioObj[i].value).value;
                 window.close();
            }
       }
    
 
   }
}
 

</script>


38.清楚空值
com.adtec.client.util.NumberTool.elementFormatInt ("HB_GridCustNum");

int num = com.adtec.afc.datapool.EP.getSuffixNo(com.adtec.struct.ECAPTxRunInfo.getInstance().getIpID(), "HB_GridCustNum");
for(int i =0;i<num;i++){
 String strNum = com.adtec.client.util.DataPoolTool.getInfoFromDataPool("HB_GridCustNum", i);
  if ((!"".equals(strNum)) && (strNum != null)) {
   com.adtec.client.util.DataPoolTool.setInfoToDataPool("HB_FundAgreementNo",i, strNum);
 }
}


39.获取法人号
com.adtec.client.dao.T_brhmDao.getUnionCodeByBrachNo(com.adtec.afc.datapool.EP.epGetValue(com.adtec.struct.ECAPTxRunInfo.getInstance().getSpID(), "HB_Branch_Number",0));


40.js操作
根据已经输入的字符个数动态判断还可以输入多少
function chg_info()
{
    var str = document.@FormName@.textbox30.value;
    var num = 256;
    var num2 = str.length
    if(str.match(/[^\u0000-\u00ff]/g) != null)
    {
        num2 += str.match(/[^\u0000-\u00ff]/g).length;
    }
    document.getElementById('label34').innerHTML = '&nbsp&nbsp&nbsp&nbsp最多可输入<font color=red><B>256</B></font>个字符,您已输入<font color=red><B>' + num2 + '</B></font>个字符,还可输入<font color=red><B>' + (num - num2) + '</B></font>个字符。';
}

下拉框全选或取消
var num = document.@FormName@.select74.options.length;
if(this.checked==true)
{
    for(var j=0;j<num;j++)
    {
        document.@FormName@.select74.options[j].selected=true; 
    }
}
else
{
    for(var j=0;j<num;j++)
    {
        document.@FormName@.select74.options[j].selected = false; 
    }
}
分享到:
评论

相关推荐

    少儿编程scratch项目源代码文件案例素材-绝地求生.zip

    少儿编程scratch项目源代码文件案例素材-绝地求生.zip

    嵌入式八股文面试题库资料知识宝典-文思创新面试题2010-04-08.zip

    嵌入式八股文面试题库资料知识宝典-文思创新面试题2010-04-08.zip

    一种基于剪切波和特征信息检测的太阳斑点图融合算法.pdf

    一种基于剪切波和特征信息检测的太阳斑点图融合算法.pdf

    并联型APF有源电力滤波器Matlab Simulink仿真:dq与αβ坐标系下的谐波无功检测与PI控制及SVPWM调制

    内容概要:本文详细介绍了并联型有源电力滤波器(APF)在Matlab/Simulink环境下的仿真研究。主要内容涵盖三个关键技术点:一是dq与αβ坐标系下的谐波和无功检测,利用dq变换和FBD技术实现实时检测;二是两相旋转坐标系(dq)与两相静止坐标系(αβ)下的PI控制,通过调整比例和积分环节实现精准控制;三是SVPWM调制方式的应用,通过优化开关时序提升系统效率和性能。文中还提供了详细的仿真介绍文档,包括模型搭建、参数设定以及结果分析。 适合人群:从事电力电子、自动化控制领域的研究人员和技术人员,尤其是对电力滤波器仿真感兴趣的读者。 使用场景及目标:适用于需要深入了解并联型APF工作原理和实现方式的研究人员,旨在通过仿真工具掌握谐波和无功检测、PI控制及SVPWM调制的具体应用。 其他说明:本文不仅提供了理论知识,还结合了实际操作步骤,使读者能够通过仿真模型加深对APF的理解。

    Arduino KEY实验例程【正点原子ESP32S3】

    Arduino KEY实验例程,开发板:正点原子EPS32S3,本人主页有详细实验说明可供参考。

    嵌入式八股文面试题库资料知识宝典-嵌入式C语言面试题汇总(66页带答案).zip

    嵌入式八股文面试题库资料知识宝典-嵌入式C语言面试题汇总(66页带答案).zip

    .archivetempdebug.zip

    .archivetempdebug.zip

    嵌入式系统开发_CH551单片机_USB_HID复合设备模拟_基于CH551单片机的USB键盘鼠标复合设备模拟器项目_用于通过CH551微控制器模拟USB键盘和鼠标输入设备_实现硬.zip

    嵌入式系统开发_CH551单片机_USB_HID复合设备模拟_基于CH551单片机的USB键盘鼠标复合设备模拟器项目_用于通过CH551微控制器模拟USB键盘和鼠标输入设备_实现硬

    少儿编程scratch项目源代码文件案例素材-剑客冲刺.zip

    少儿编程scratch项目源代码文件案例素材-剑客冲刺.zip

    少儿编程scratch项目源代码文件案例素材-火影.zip

    少儿编程scratch项目源代码文件案例素材-火影.zip

    两极式单相光伏并网系统的Boost电路与桥式逆变仿真及优化方法

    内容概要:本文详细介绍了两极式单相光伏并网系统的组成及其仿真优化方法。前级采用Boost电路结合扰动观察法(P&O)进行最大功率点跟踪(MPPT),将光伏板输出电压提升至并网所需水平;后级利用全桥逆变加L型滤波以及电压外环电流内环控制,确保并网电流与电网电压同频同相,实现高效稳定的并网传输。文中还提供了具体的仿真技巧,如开关频率设置、L滤波参数计算和并网瞬间软启动等,最终实现了98.2%的系统效率和低于0.39%的总谐波失真率(THD)。 适合人群:从事光伏并网系统研究、设计和开发的技术人员,特别是对Boost电路、MPPT算法、逆变技术和双环控制系统感兴趣的工程师。 使用场景及目标:适用于希望深入了解两极式单相光伏并网系统的工作原理和技术细节的研究人员和工程师。目标是在实际项目中应用这些理论和技术,提高光伏并网系统的效率和稳定性。 其他说明:文中提供的仿真技巧和伪代码有助于读者更好地理解和实现相关算法,在实践中不断优化系统性能。同时,注意电网电压跌落时快速切换到孤岛模式的需求,确保系统的安全性和可靠性。

    昭通乡镇边界,矢量边界,shp格式

    矢量边界,行政区域边界,精确到乡镇街道,可直接导入arcgis使用

    嵌入式八股文面试题库资料知识宝典-嵌入式c面试.zip

    嵌入式八股文面试题库资料知识宝典-嵌入式c面试.zip

    嵌入式八股文面试题库资料知识宝典-I2C总线.zip

    嵌入式八股文面试题库资料知识宝典-I2C总线.zip

    岩土工程中随机裂隙网络注浆模型及其应用:不同压力下注浆效果的研究

    内容概要:本文详细介绍了三种注浆模型——随机裂隙网络注浆模型、基于两相达西定律的注浆模型、基于层流和水平集的注浆扩散模型。首先,随机裂隙网络注浆模型基于地质学原理,模拟裂隙网络发育的实际地质情况,在不同注浆压力下进行注浆作业,以增强地基稳定性和提高承载能力。其次,基于两相达西定律的注浆模型利用数学公式模拟裂隙网络中的流体输送过程,适用于裂隙网络地质条件下的注浆效果分析。最后,基于层流和水平集的注浆扩散模型通过引入层流特性和水平集方法,更准确地模拟注浆过程中的扩散过程。文中还讨论了不同注浆压力对注浆效果的影响,并提出了优化建议。 适合人群:从事岩土工程、地基加固等相关领域的工程师和技术人员。 使用场景及目标:①帮助工程师选择合适的注浆模型和注浆压力;②为实际工程项目提供理论支持和技术指导;③提升地基加固的效果和效率。 其他说明:文章强调了在实际应用中需要结合地质条件、裂隙网络特点等因素进行综合分析,以达到最佳注浆效果。同时,鼓励不断创新注浆工艺和方法,以满足日益增长的地基加固需求。

    COMSOL Multiphysics 5.5与6.0版本Ar棒板粗通道流注放电仿真的电子特性分析

    内容概要:本文详细比较了COMSOL Multiphysics软件5.5和6.0版本在模拟Ar棒板粗通道流注放电现象方面的异同。重点探讨了不同版本在处理电子密度、电子温度、电场强度以及三维视图等方面的优缺点。文中不仅介绍了各版本特有的操作方式和技术特点,还提供了具体的代码实例来展示如何进行精确的仿真设置。此外,文章还讨论了网格划分、三维数据提取和电场强度后处理等方面的技术难点及其解决方案。 适合人群:从事等离子体物理研究的专业人士,尤其是熟悉COMSOL Multiphysics软件并希望深入了解其最新特性的研究人员。 使用场景及目标:帮助用户选择合适的COMSOL版本进行高效、精确的等离子体仿真研究,特别是在处理复杂的Ar棒板粗通道流注放电现象时提供指导。 其他说明:文章强调了在实际应用中,选择COMSOL版本不仅要考虑便捷性和视觉效果,还需兼顾仿真精度和可控性。

    嵌入式八股文面试题库资料知识宝典-C and C++ normal interview_8.doc.zip

    嵌入式八股文面试题库资料知识宝典-C and C++ normal interview_8.doc.zip

    通信系统中波形优化与捷变频、PRT抗干扰技术及ISRJ联合优化的应用研究

    内容概要:本文详细介绍了在现代通信系统中,抗干扰技术的重要性和具体应用方法。首先阐述了抗干扰技术的背景及其重要性,随后分别讨论了捷变频技术和波形优化技术的具体机制和优势。捷变频技术能快速改变工作频率,防止被干扰源锁定;波形优化技术则通过改进信号波形来提升抗干扰性能。接着,文章探讨了两种技术相结合的协同效应,最后重点介绍了发射信号及接收滤波器联合优化的抗干扰策略(ISRJ),这是一种综合性优化手段,旨在最大化抗干扰效果并提高通信质量。 适合人群:从事通信工程及相关领域的研究人员和技术人员,尤其是关注抗干扰技术的专业人士。 使用场景及目标:适用于需要提升通信系统稳定性和可靠性的场合,如军事通信、卫星通信等领域。目标是帮助技术人员理解和掌握先进的抗干扰技术,应用于实际项目中。 其他说明:文中提到的技术不仅限于理论层面,还涉及具体的实施细节和应用场景,有助于读者深入理解并应用于实践中。

    少儿编程scratch项目源代码文件案例素材-吉他英雄.zip

    少儿编程scratch项目源代码文件案例素材-吉他英雄.zip

    独立光伏系统仿真模型研究:Boost升压与双闭环控制策略及技术应用分析

    内容概要:本文详细探讨了独立光伏系统的仿真模型及其控制策略。首先介绍了光伏组串模型的搭建方法,利用Simulink中的S函数实现特性曲线,确保高精度输出。接着重点讨论了Boost升压电路的改进型功率环控制策略,通过非线性积分器有效避免了占空比过高的风险,使系统震荡幅度显著降低。对于储能部分,采用双向DCDC转换器,实现了充放电模式间的平滑切换,并通过互补PWM技术增强了硬件死区保护效果。逆变器部分则采用了单极调制方式,减少了开关损耗,并优化了LC滤波参数的设计,确保了低谐波失真率。此外,还设计了一个基于继电器的智能负载模拟系统,能够根据交流电压的变化自动调节负载,提高了仿真的效率和准确性。最后,通过对整个系统的动态优先级管理,使得光伏出力波动时储能系统可以迅速响应,保持直流母线电压稳定。 适合人群:从事光伏系统设计、仿真建模以及电力电子领域的工程师和技术人员。 使用场景及目标:适用于需要深入了解独立光伏系统内部工作原理的研究人员,帮助他们掌握从光伏组串到逆变器各环节的具体实现细节,为实际工程项目提供可靠的理论支持和技术指导。 其他说明:文中提供了大量MATLAB/Simulink代码片段和具体参数设置建议,便于读者理解和复现实验结果。同时强调了不同控制策略之间的对比分析,指出了最优解的选择依据。

Global site tag (gtag.js) - Google Analytics