PFC软件学习笔记
- 格式:docx
- 大小:13.35 KB
- 文档页数:1
PFC3D 学习记录5-COMMAND REFERENCE通用规定和特征命令语法默认情况下,命令行忽略大小写,然而可以通过SET case命令激活区别大小写情况。
斜体字代表数字,以i, j, m n 为开头的字母代表整数,其他情况为实数命令词,关键字和数值可用空格,以及(),=分隔。
在分号(;)后为注释一行最多可包含80个字符。
而& 表示续行Range 语法定义一定限制范围的物体可运用Range的命令:Change/ initial/ property Clump Fix/ Free Group JsetModel Plot ( 运用于不同输出项目) PrintRange( 创建一个命名的范围)一个Range 定义一系列物体。
由许多范围元素构成。
如果使用多个范围元素,最终物体几何为不同元素集合的交集。
但是可通过关键词any改变选择特性。
如果使用关键词any选项,任何包含在范围内的单元可被认为最终物体集合的一部分。
即求合集除此之外,通过在定义范围单元后接关键词not确定所有不在指定范围的单元通常还可以用定义group 方式定义复杂的range。
内置范围单元:Annulus center ( x, y, z) radius = r1, r2球形空心区域中心在(x, y, z )内径r1, 外径r2Color il < iu >球体或墙体在间隔(il, iu )内颜色索引。
若无iu 则iu = il球体颜色索引列表通过property命令建立。
墙体颜色索引列表必须用FISH 内置的w_color设置Cylinder end1( x1, y1, z1 ) end2( x2, y2, z2 ) radius = r圆柱范围。
圆柱中心轴过end1( x1, y1, z1 ) end2( x2, y2, z2 ) 半径为r.Fish fname调用用户定义的范围单元。
通过FISH函数fname 执行。
CRM 模式BOOST 拓扑结构实现PFC 的学习笔记转自电源论坛网友luoshen
PFC 控制器的作用就使AC 电流校正为同AC 电压同相位的正弦波并提供足够的能量给负载.需要提供多少能量给负载的信息通过采样大电解上的电压变化并通过误差放大器反馈给控制器就可以实现,在这个控制的实现方式上并无难点.而使输入电流正弦化并同AC 电压同相位从而实现高功率因数就成了PFC 控制器最重要的任务.
在工作中比较多接触临界模式的控制方式和Boost 拓扑结构的PFC 电路,现在就将最近查看资料后做的学习笔记整理出来,供大家参考。
下面两个图可以便于大家理解。
从图中可以看出该控制方式属于电流控制模式,控制器共搜集了三种信息: (1)误差放大器提供的反馈信息,该信息代表着需要提供的能量的大小,该信息作为乘法器一个输入。
(2)从AC LINE 采集的AC 电压信息,该信息用于调制AC 电流的正弦波包络,该信息作为乘法器另一个输入。
(3)从SENSE 电阻采集到的电感峰值电流的信息,该信息同乘法器的输出一起组成了PWM 控制。
理解该控制方式的关键在于理解乘法器的输出的信息意义:提供一个包含负载能量信息的同AC 电压同相位的正弦波包络.正弦波的幅度代表着能量,波形。
PFC3D 学习记录5-COMMAND REFERENCE通用规定和特征命令语法默认情况下,命令行忽略大小写,然而可以通过SET case命令激活区别大小写情况。
斜体字代表数字,以i, j, m n 为开头的字母代表整数,其他情况为实数命令词,关键字和数值可用空格,以及(),=分隔。
在分号(;)后为注释一行最多可包含80个字符。
而&表示续行Range 语法定义一定限制范围的物体可运用Range的命令:Change/ initial/ property Clump Fix/ Free Group JsetModel Plot ( 运用于不同输出项目)PrintRange( 创建一个命名的范围)一个Range 定义一系列物体。
由许多范围元素构成。
如果使用多个范围元素,最终物体几何为不同元素集合的交集。
但是可通过关键词any改变选择特性。
如果使用关键词any选项,任何包含在范围内的单元可被认为最终物体集合的一部分。
即求合集除此之外,通过在定义范围单元后接关键词not确定所有不在指定范围的单元通常还可以用定义group 方式定义复杂的range。
内置范围单元:Annulus center ( x, y, z) radius = r1, r2球形空心区域中心在(x, y, z )内径r1, 外径r2Color il < iu >球体或墙体在间隔(il, iu )内颜色索引。
若无iu 则iu = il球体颜色索引列表通过property命令建立。
墙体颜色索引列表必须用FISH 内置的w_color设置Cylinder end1( x1, y1, z1 ) end2( x2, y2, z2 ) radius = r圆柱范围。
圆柱中心轴过end1( x1, y1, z1 ) end2( x2, y2, z2 ) 半径为r.Fish fname调用用户定义的范围单元。
通过FISH函数fname 执行。
PFC2D学习初期总结最近学了一段时间PFC2D,由于做课题要用到它,时间又很紧,只是粗粗的学了一下,现将我的学习笔记抄录如下,比较乱一些。
以期对比我更初级的学习者有所帮助。
内存分配当载入PFC程序后,程序将动态分配内存,随着模型的构建,内存相应地增大。
Print memory 将显示当前内存大小。
内存分配当载入PFC程序后,程序将动态分配内存,随着模型的构建,内存相应地增大。
Print memory 将显示当前内存大小。
图形控制在图形模式下,按键M为放大图形,缩小为Shift+M;箭头来移动;Ctrl+G为在彩图与黑白图形间转换;Ctrl+C显示照相机对话框;Ctrl+L为cutting plane;Ctrl+R为恢复图形显示为默认值;Ctrl+Z为用一矩形框来放大图形局部;F9为重画。
实例new;将球体看成一定厚度的盘子;Note that only mass properties are affected by the SET disk commandset disk on;下面为建立四个直线边壁,分别赋予1~4的编号。
每一直线壁以两点连线建立。
wall id=1 nodes ( 0, -5) (10, -5)wall id=2 nodes (10, -5) (10, 0)wall id=3 nodes (10, 0) ( 0, 0)wall id=4 nodes ( 0, 0) ( 0, -5);下面为产生500个球,每个球的编号被赋予1~500,产生球的地方在0<x<10, -5<y<-0.5的范围内,而且球的半径在0.08<r<0.13的范围内随机产生;如果产生球的范围不足以产生500个球则系统会给出提示。
gen id=1,500 rad 0.08,0.13 x=0,10 y=-5,-0.5;转入图形显示模式的语句为:plot。
输入这条语句后,程序将由命令模式转到图形模式,即Plot 0\Base>,在此模式下输入的语句都是和plot有关的。
PFC 总结一、什么是PFCPFC是PowerBuilder Foundation Class Library 的简称,即PB基类库。
它是在PowerBuilder中编写并以源码的形式出现的,这些代码都是专业程序员采用正规的开发方式开发的,具有很高的重复使用性和良好的兼容性,充分体现了面向对象的特点。
它采用了先进的面向对象的代码技术和基于服务的设计方法。
二、PFC有哪些优点1、快速的应用开发2、应用的建立使用预创建好的组件而不需重新设计组件3、使用预建及预测组件增强了代码的可重用性4、一致的命名约定和编码标准5、更容易、更有效的维护6、标准的开发方法三、PFC结构PFC是一组.PBL文件,它分为两个层次:原始类层次对象(前缀为pfc_)和扩展层次对象(前缀为m_,n_,或w_)。
在原始类中包括实现各种服务的代码,千万不要修改原始类对象,因为这会影响由该原始类定义的对象。
我们可以修改扩展层或其子孙对象,使它符合我们的要求。
PFC的.PBL文件(11个)如下:PFCAPSRV.PBL/PFEAPSRV.PBL 应用服务PFCDWSRV.PBL/PFEDWSRV.PBL 数据窗口服务PFCMAIN.PBL/PFEMAIN.PBL 用于程序开发的基本PFC服务PFCWNSRV.PBL/PFEWNSRV.PBL 窗口服务PFCUTIL.PBL/PFEUTIL.PBL 实用工具服务PFCOLD.PBL 早期版本服务四、PFC有哪些组件PFC由以下几个部件构成:一组.PBL类库文件一个PFC数据库一组支持快速开发的PBLs库PFC编程示例一个简单的应用(PEAT.PBL)五、PFC提供哪些服务1、应用服务(PFCAPSRV.PBL和PFEAPSRV.PBL)★数据窗口高速缓存服务:gnv_app.of_SetDWCache(true/false)★调试服务:gnv_app.of_SetDebug(true/false)★应用特权服务:gnv_app.of_SetAppPref(true)★最近使用对象服务:gnv_app.of_SetMRU(true)★错误信息服务:gnv_app.of_SetError(true)★安全服务:gnv_app.of_SetSecurity(true)★事物注册服务:gnv_app.of_SetTrRegistration(true)2、全局服务★基本窗口服务:of_SetBase(true)(inv_base)★窗口特权服务:of_SetPreference(true)★窗口工作表管理服务:of_SetSheetManager(true)★窗口状态条服务:of_SetStatusBar(true)(inv_statusbar)3、数据窗口服务★数据窗口祖先服务:of_SetBase(true)(inv_base)★下拉数据窗口查询服务:of_SetDropDownSearch(true)(inv_dropdownsearch)★过滤服务:of_SetFilter(true)(inv_filter)dw_emp.of_SetFilter(TRUE)dw_emp.of_SetTransObject(SQCA)dw_emp.inv_filter.of_SetColmnDisplayNameStyle(dw_emp.inv_filter.HEADER)★查找和替换服务:of_SeFind(true)★链接服务://of_SetLinkage(true)(inv_linkage)dw_master.of_SetLinkage(TRU )dw_master.inv_linkage.of_SeTransObject(SQLCA)dw_detail.of_SetLinkage(TRU )dw_detail.inv_linkage.of_SeMaster(dw_master)dw_detail.inv_linkage.of_Reister("emp_id","emp_id") 从——主dw_detail.inv_linkage.of_SeUpdateStyle(dw_detail.inv_linkage.BOTOMUP) dw_detail.inv_linkage.of_SeStyle(dw_detail.inv_linkage.RE RIEVE)dw_master.of_Retrieve( )dw_master.SetFocus( )★多表更新服务:of_SetMultiTable(true)(inv_multitable)★打印预览服务:of_SetPrintPreview(true)★数据窗口属性服务:of_SetProperty(true)★队列模式服务:of_SetQuerymode(true)(inv_querymode)★报表服务:of_SetReport(true)(inv_report)★要求列服务:of_SetReqColumn(true)(inv_reqcolumn)★行管理服务:of_SetRowManager(true)(inv_rowmanager)★行选择服务:of_SetRowSelect(true)(inv_rowselect)dw_emplist.of_SetRowSelect(true)(inv_rowselect)dw_emplist.inv_rowselect.of_SetStyle(dw_emplist.inv_rowselect.EXTENDED)★数据窗口改变大小服务:of_SetResize(true)(inv_resize)★排序服务://of_SetSort(true)(inv_sort)dw_emp.of_SetSort(TRUE)dw_emp.inv_sort.of_SetColum DisplayNameStyle(dw_emp.inv_sort.HEADER)4、窗口服务★菜单服务:lnv_menu.of_SendMessage(thi , "pfc_Open")★调整大小服务:this.of_SetResize(TRUE)★转换服务:ls_checked = inv_conversion.of_String(cbx_confirmed.Enabled) ★日期/时间服务:inv_datetime.of_Days(ll_seconds) //秒转换为时间★文件服务:li_return = inv_filesrv.of_FileRead(sle_filename.text, ls_file)CHOOSE CASE li_returnCASE -1MessageBox("Error", "Error accessing file")CASE ELSE // File processing goes hereEND CHOOSE★初始化文件服务:li_size = inv_ini_handler.of_GetKeys(gnv_app.of_GetAppINIFile),"CustApp", ls_keys)lb_keys.Reset( )FOR li_count = 1 to li_sizelb_keys.AddItem(ls_keys[li count])NEXT★数值服务:★平台服务:★选择服务:★SQL句法服务:★字符串服务:★元类服务:★工作逻辑单元服务:六、PFC对象:(一)窗口对象:w_child: (PFCMAIN.PBL/PFEMAIN.PBL)w_frame: (PFCMAIN.PBL/PFEMAIN.PBL)w_main: (PFCMAIN.PBL/PFEMAIN.PBL)w_master: (PFCWNSRV.PBL/PFEWNSRV.PBL)w_popup: (PFCMAIN.PBL/PFEMAIN.PBL)w_response: (PFCMAIN.PBL/PFEMAIN.PBL)w_sheet: (PFCMAIN.PBL/PFEMAIN.PBL)(二)菜单对象:m_dw: (PFCMAIN.PBL/PFEMAIN.PBL)u_dw数据窗口控件上鼠标右键单击弹出菜单菜单项:tablem_edit:( PFCMAIN.PBL/PFEMAIN.PBL)u_rte报表数据窗口控件上鼠标右键单击弹出菜单菜单项:editm_frame: (PFEWNSRV.PBL)基础菜单,以该菜单为模扳,在该菜单上增加需要的菜单项菜单项:file helpm_lvs: (PFCMAIN.PBL/PFEMAIN.PBL)在u_lvs列表控件上鼠标右键单击弹出菜单菜单项:viewm_master: (PFEWNSRV.PBL/PFCWNSRV)PFC主菜单,以该菜单为模扳,在该菜单的操作菜单项上增加需要的菜单项菜单项:File edit view insert tools window helpm_oc: (PFCMAIN.PBL/PFEMAIN.PBL)在u_oc(ole)控件上鼠标右键单击弹出菜单菜单项:Objectm_tvs: (PFCMAIN.PBL/PFEMAIN.PBL)在u_tvs(treeview)控件上鼠标右键单击弹出菜单菜单项:view各菜单相对应的下拉菜单:m_dw: (PFCMAIN.PBL/PFEMAIN.PBL)u_dw数据窗口控件上鼠标右键单击弹出菜单菜单项对应调用程序cut pfc_cutcopy pfc_copypaste pfc_pasteselectall pfc_selectallinsert pfc_insertrowadd pfc_addrowdelete pfc_deleterowrestore pfc_restorerowcolumns pfc_columnsfunctions pfc_functionsoperators pfc_operratorsvalues pfc_valuespatawindowproporties pfc_debugproperties empty menue item(调用规则:在u_dw的Rbuttonup 事件中写如下代码:)m_dw lm_dw //定义变量lm_dw = create m_dw //变量实例化lm_dw.of_SetParent(this) //使u_dw成为该菜单的父对象//完成m_edit:( PFCMAIN.PBL/PFEMAIN.PBL)u_rte报表数据窗口控件上鼠标右键单击弹出菜单菜单项对应调用程序cut pfc_cutcopy pfc_copypaste pfc_pasteselectall pfc_selectall(调用规则:在u_rte的Rbuttonup 事件中写如下代码:)Integer li_rc //定义变量m_edit lm_editWindow lw_parentString ls_selectedtextlm_edit = create m_edit //变量实例化lm_edit.of_SetParent(this) //往u_rte上挂该菜单//完成m_frame: (PFEWNSRV.PBL)基础菜单,以该菜单为模扳,在该菜单上增加需要的菜单项下拉菜单项对应调用程序File:New pfc_newOpen pfc_openExit pfc_exitHelpe:Help topic pfc_helpAbout n_cst_appmanager.of_about()m_lvs: (PFCMAIN.PBL/PFEMAIN.PBL)在u_lvs列表控件上鼠标右键单击弹出菜单下拉菜单项对应选择/事件view larger icon;small icon;list;reportArrange Icons Sorts the display by the specified columnSelect All pfc_SelectAllInvert Selection pfc_InvertSelectioncut pfc_cutcopy pfc_copypaste pfc_pasteclear pfc_clearnew pfc_newdelete pfc_deleterename pfc_renameproperties pfc_properties(调用规则:在u_lvs的Rbuttonup 事件中写如下代码:)m_lvs lm_viewif IsNull(lm_view) Or not IsV alid(lm_view) thenlm_view = create m_lvslm_view.of_SetParent(this)end ifm_master: (PFEWNSRV.PBL/PFCWNSRV)PFC主菜单,以该菜单为模扳,在该菜单的操作菜单项上增加需要的菜单项下拉菜单项对应调用程序File: New pfc_newOpen pfc_openClose pfc_closeSave pfc_savesave as pfc_saveasprint pfc_printprint preview pfc_printpreviewpage setup pfc_pagesetupprint immediate pfc_printimmediatedelete empty menu itemproperite empty menu itemexit pfc_exitedit: undo pfc_undocut pfc_cutcopy pfc_copypaste pfc_pastePaste special pfc_PasteSpecialClear pfc_clearselectall pfc_selectallfind pfc_finddlgreplace pfc_replacedlgupdatelinkes pfc_updatelinkesview: ruler pfc_rulerlarger icon empty menu itemsmall icon empty menu itemlist empty menu itemdetails empty menu itemfirst pfc_firstpagenext pfc_nextpageprior pfc_priorpagelast pfc_lastpagesort pfc_sortdlgfilter pfc_filterdlgzoom pfc_zoomArrange Icons Sorts the display by the specified columnInsert: file pfc_insertfilePicture pfc_insertpictureObject pfc_insertobjectT ools: customize pfc_toolbarsToobars currenwindowWindow: c ascade pfc_cascadeTile horizontal pfc_tilehorizontalTile vertical pfc_tileverticalLayer pfc_layerMinimize all pfc_minimizeallUndo arrange pfc_undoarrangeHelpe: Help topic pfc_helpAbout n_cst_appmanager.of_about()(菜单调用窗口事件格式为:of_SendMessage("pfc_open") )m_oc: (PFCMAIN.PBL/PFEMAIN.PBL)在u_oc(ole)控件上鼠标右键单击弹出菜单下拉菜单项对应调用程序edit pfc_editobjectopen pfc_openobjectcut pfc_cutcopy pfc_copypast pfc_past(调用菜单如下:m_oc lm_ocString ls_selectedtextlm_view = create m_oclm_view.of_SetParent(this) )m_tvs: (PFCMAIN.PBL/PFEMAIN.PBL) 在u_tvs(treeview)控件上鼠标右键单击弹出菜单下拉菜单项对应调用程序Open pfc_OpenFind pfc_FindDlgCut pfc_CutCopy pfc_CopyPaste pfc_PasteClear pfc_ClearNew pfc_NewDelete pfc_DeleteRename pfc_RenameProperties pfc_Properties(连接格式:m_tvs im_viewim_view = CREA TE m_tvsim_view.of_SetParent(this) )(三)PFC全局函数f_setfilesrv (对应的基类为n_cst_filesrv)f_setplatform (对应的基类为n_cst_platform)(四)PFC全局组件结构对象n_cst_aboutattrib (pfcapsrv.pbl/pfeapsrv.pbl) 显示 w_about 窗口信息在n_cst_appmanager 调用n_cst_baseattrib (pfcmain.pbl/pfemain.pbl)继承祖先的属性类,无参数,所有对象调用n_cst_calculatorattrib (pfcmain/pfemain.pbl) 计算器 u_calculator上调用n_cst_calendarattrib (pfcmain/pfemain.pbl) 日历类型 u_calendar 上调用n_cst_columnattrib (pfcapsrv/pfeapsrv.pbl) 列管理在u_cst_lvsrv_datasource 和n_cst_lvsrv_sort 上调用n_cst_dberrorattrib (pfcapsrv/pfeapsrv.pbl)数据库错误信息在 n_cst_luw 和 w_master上用n_cst_dirattrib (pfcapsrv/pfeapsrv.pbl) 文件服务在in n_cst_filesrv 上用n_cst_dwobjectattrib (PFCDWSRV/ PFEDWSRV.PBL)数据高速存储在 in n_cst_dwcache, n_cst_dssrv, n_cst_dwsrv, 和他的后代上用n_cst_dwpropertyattrib(PFCUTIL/ PFeUTIL.PBL)数据窗口对象属性在w_dwproperty上用n_cst_errorattrib(PFCAPSRV/ PFEAPSRV.PBL)错误信息在 in n_cst_error 和 w_message上用n_cst_filterattrib(PFCDWSRV/ PFEDWSRV.PBL)过滤类在n_cst_dwsrv_filter和过滤对话框里里用n_cst_findattrib(pfcapsrv/pfeapsrv.pbl)查找和替换类在 n_cst_dwsrv_find, u_rte, w_find, w_replace上用n_cst_infoattrib(pfcapsrv/pfeapsrv.pbl)数据窗口属性对话框在所有对象的of_getinf 函数里用n_cst_itemattrib(pfcapsrv/pfeapsrv.pbl)项目信息在u_lb, u_plb, u_tv上用.n_cst_linkageattrib(PFCDWSRV/ PFEDWSRV。