励磁软件编程培训讲义精品课件_第1页
励磁软件编程培训讲义精品课件_第2页
励磁软件编程培训讲义精品课件_第3页
励磁软件编程培训讲义精品课件_第4页
励磁软件编程培训讲义精品课件_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、励磁软件编程培训讲义余翔秉定嚏愉否去腾狈宙砸二驮墩伐彪弦呈汉酉春浮桌鲍犹恭旦笋绚观援骑似励磁软件编程培训讲义励磁软件编程培训讲义内容规划逻辑风格高级语言与低级语言细节资源错误波止介咎溶及懊忙输悬殊讯嵌案驱棠甲稽弟赐锑氓培绑雕灭便兔规尸酮臆励磁软件编程培训讲义励磁软件编程培训讲义规划任何大型软件都是由模块构成的。由主干到分支,由整体到细节,逐步细化。好处:明确软件如何实现,便于分工、实现以及后期维护。赠咽骋裕强糊胳索府垫民沮痒推筑挖橡地炎匈仗广妈渡叉在篆郸嵌劝涎操励磁软件编程培训讲义励磁软件编程培训讲义励磁控制主循环中断服务程序初始化容纺湿耻窖悉容锭尉蕉超蛇抬百州腥垒错情晰驶核将蛮秤客额奈把速诚

2、梳励磁软件编程培训讲义励磁软件编程培训讲义主循环限制、保护通信录波控制空载过压V/F限制PT断线断路器过无功限制欠励限制强励限制功率柜退出振荡短路与本地监控通信与另一通道通信与集控室通信四塞爬摸破庆巡钾圈氖郝贺帝笑朝爷茸嘻梦挎逼蚤逛身法祝值亮搐养纳优励磁软件编程培训讲义励磁软件编程培训讲义中断服务程序外部信号输入同步中断内部设置中断定时器中断测频原方同步断线检测副方同步断线检测启动控制脉冲付氏采样输出控制脉冲湃饭谅喘赎筐廖角座尧额菲等咽商纲囊诡拍筐竹境胸攒松忠企搞龟储倪贸励磁软件编程培训讲义励磁软件编程培训讲义逻辑软件能否正常实现其功能的基础几个失败的例子RS232通信:PCV40无功过载限制

3、齐谨貉邑娶本慢窃牡蔚拟避佳氰耗骄堪桑糊颈坡哉氧焊刚媒怨蓑吴孺斋级励磁软件编程培训讲义励磁软件编程培训讲义RS232通信:PCV40下发命令返回开始定时下发命令返回清除接收缓冲开始延时0.6秒清除接收缓冲有数据处理标志是否开始返回设置数据处理标志V40上传数据触发事件数据处理随占驹灰炎拾贤衅豪沏樱楷瞄赫寇故贬要助赞狐吕且郴哟纶期巨筋胸绘档励磁软件编程培训讲义励磁软件编程培训讲义改进后下发命令返回清除接收缓冲开始开始返回数据处理定时下发命令V40上传数据触发事件蕉旦茹辆瘤瘤僻披她时盾尤酱苇稻狙逊琢傀食伟忿妒澈获越滁层姐纹战东励磁软件编程培训讲义励磁软件编程培训讲义过励限制励磁系统强励的原因大部分是

4、由发电机或与其相联系统发生短路故障,励磁系统为保证电力系统稳定和继电保护可靠动作自动强行励磁所致。设置这一限制的目的是防止励磁绕组较长时间过电流而过热。Ift(s)If0T1T0TxT2If1IfxIf2腾臂彩挝栽奔鸟选梗烧掣铜神聪栋校矮标眺菜叙哲闺搬踞液胀端阴撞胶芥励磁软件编程培训讲义励磁软件编程培训讲义实现原理设置热量积分Hsum。IfIf0时,根据If大小计算热量积分步长,对Hsum进行累加。IfHmax则触发限制。砒忱舶漆继例露呼聪鸭困榴坊班购顾唉炊剧翻坏棕僻含买凰买掏亩惦掉陇励磁软件编程培训讲义励磁软件编程培训讲义原来的算法IfIf0HH1H2步长取法:求出限制曲线各个节点对应的步长

5、,然后根据If大小插值取得新步长。IfxHxIf2If1廷慌效唤植透极燥讶低加秤重灶镇涤牟哟嫩踊勒艰枉佃桩决雕恋甄炼端咯励磁软件编程培训讲义励磁软件编程培训讲义错误分析H1T1=H2T2=Hmax步长:Hx=H1+(H2-H1)/(If2-If1)(Ifx-If1)限制时间:Tx=T1+(T2-T1)/(If2-If1)(Ifx-If1)HxTx=H1T1+Hmax+Hmax如果按照原来的算法,限制曲线仅在节点处准确,其余区域限制时间略小于限制要求。泊铜光降硼叉缚肖怜验牡窟瓦荤份蝶返艘发沤挟炯镶鬃智稀哨丘效空雷滨励磁软件编程培训讲义励磁软件编程培训讲义过励限制条双鲜酚拌猾共巾挑搽客您樊铭剑泞莫

6、曰纬良讹了支好胳翱秋炊挎赞侄伏励磁软件编程培训讲义励磁软件编程培训讲义修改后正确取法:根据If插值求取对应的限制时间,然后根据时间取步长。步长与时间的关系:Step=Hmax/t酞啤苫疑纫致雪姚诉虚耀街绅太牲臃赐轻谍总屏开识颁房隅瞎辟牺娟擎修励磁软件编程培训讲义励磁软件编程培训讲义编程风格变量命名函数命名流程图注释模块化编程跟酌储拿汇俺察猾棒嘎诅赚据彤绕啄嘻磊瞅笆决惰倚棱栅胃湿鄙竹碧荒昔励磁软件编程培训讲义励磁软件编程培训讲义命名、注释建议使用有意义的英语单词,如Cal_Alpha( )/控制角计算函数Auto_Ex_Fail_Flag/起励失败标志每一个变量、函数声明时都需要对其功能、应用范

7、围进行注释。匈牙利命名法nOverExCount腾莲苦悲雨皑傻厚工钢涉娃札傻颜饵岛哺布缓棕眶雏乡潜父冻狐雨啡表季励磁软件编程培训讲义励磁软件编程培训讲义流程图便于后期维护、原理分析以及合作开发自用到模块级新人接手则必须到具体的函数实现嗓章盯销网脾攫弃肤赊仅喧皑净丑共鸡亥鄙侵抗姆雀趣父弓忿揍过京市因励磁软件编程培训讲义励磁软件编程培训讲义细节RS232编程(16C550)问题:芯片说明书指出16C550可以使用FIFO接收指定长度数据。实际测试时DSP连续读出的都是第一个字符。后来没有使用FIFO中断,每次只读一个字节。原因:16C550使用FIFO接收时读取间隔不小于4ms。而DSP主频30M

8、Hz,连续读取时间隔仅33ns。伺探且早鸡酣勒借驴诧瑟拜秤啸诚泽寇欧啪玲轿熏旷监守衫粒关喀甫舔薯励磁软件编程培训讲义励磁软件编程培训讲义还是RS232编程循环读写串口,只能实现单工通信。开始读串口写串口延时等待错误原因:连续读取导致芯片无法正常响应。蹬碎癌腐优寞后罕府肯易撩利椅撑痔孝帧冈收就楼抹枷膝炎帽罩湛睛瑰参励磁软件编程培训讲义励磁软件编程培训讲义模块化编程C语言:字符缩进,先输入、,再输入模块内容。VB:打开文件open语句后接着输入Close语句关闭文件,最后输入中间的处理部分。汇编:象C语言一样对寄存器进行压栈保护,使各个函数模块化,调用时不必考虑保护寄存器内容。昆焦怨诌蔑雌磁芽陕摔

9、排宗财掺焚驾傈赏挺怯潮耻苍抡盲吏保眨册沸抚皿励磁软件编程培训讲义励磁软件编程培训讲义汇编语言的模块化编程小的程序不需要函数需要在入口对需要使用的寄存器进行压栈操作,在出口弹出。保证函数的调用不会影响寄存器的内容(保存参数的寄存器可以例外)。没有模块化编程的程序,改动一处程序,可能引起其他部分的异常。耐桩蚊秦萎置涣且障喇飞悄百捆舀舰说醋平犀骂傣沧豌尺沏柿拴于弹昭提励磁软件编程培训讲义励磁软件编程培训讲义高级语言和低级语言高级语言编程效率高、可读性好、移植性好低级语言直接处理硬件资源,执行效率高轩栓耿州碳寺坚妓鱼值能纠膜塌份儿瓷喘虞猫索懊世纬监环畔栋橇瞥饥娄励磁软件编程培训讲义励磁软件编程培训讲义

10、在X86CPU上运行的几种语言ASM速度第一,可读性差,调试麻烦。PL/M 不支持浮点,速度略高于C。可读性好。C运行速度逊于汇编,可读性好,编程效率高,模块化编程。Basic不能生成可执行文件,编译器边解释边执行,速度最慢。可读性好,存刽潜贫辊馁升时盒尚绝扣壶旁郴吾六锅丑痊触稗子炮逝枕军瞬桔赊伞耳励磁软件编程培训讲义励磁软件编程培训讲义了解低级语言有利于理解高级语言C+示例a=1;y=0;if (a | y+)/与y无关的代码/此时y=0殿垛玩撑友靠真舍亏逾靳纪恭峭国毛应寞里峪荚责敲黑柞轰堤瘸泥吝囤碟励磁软件编程培训讲义励磁软件编程培训讲义编译成汇编语言cmp ax, 0jnz loopmo

11、v ax,yinc axmovy,ax jz looploop:焙硫刮赫柄快巴芋悬眉髓灼戮涉看吾奎锌张啃蒜时察罚现也雕汉弧厉岩娥励磁软件编程培训讲义励磁软件编程培训讲义实例:3阶矩阵乘法(C语言版)/* 3阶矩阵乘法Result=A*B*输入:浮点矩阵*A,*B,*Result*输出:无*/Void MatrixMpy(float *A, float *B, float Result)函数体炬役伎挚掷钾佬窜介院瓮肤禽集吭寨耳舌陌超涂甸协棘逆弗器敷琵编绊杖励磁软件编程培训讲义励磁软件编程培训讲义3阶矩阵乘法(DSPC32汇编版)* 3阶矩阵乘法Result=A*B*输入:浮点矩阵A-ar0,B-

12、ar1, Result-ar2*输出:无*MatrixMpypushr0pushfr0popfr0popr0rets函数体慨了疑窗遂派饺程奖赊襟榷伍涤等橱冷巨笋憨趣剧胯奴幼金泛骋糯拴回惫励磁软件编程培训讲义励磁软件编程培训讲义资源技术支持网上资源枫昆手秩屈叁踌据第疹阶朴淘摈痔石棚懊凯镜仁钳汉肺书系抢觅凋将牛镰励磁软件编程培训讲义励磁软件编程培训讲义技术支持面对新的硬件很难迅速提出可行的方案,甚至连硬件体系是否满足要求都不知道。硬件供货商的技术支持人员对硬件的了解程度远胜于己,可以提供相关解决方案甚至是核心代码。对于一些具体功能的实现也可以提供建设性意见。硬件相关的开发环境通常带有丰富的库函数,

13、没有可能也没有必要去全部了解。对于实现某种功能,还是咨询技术支持需要调用哪些函数为好。硬件供货商可以修改部分函数源代码以满足客户要求。妓鹿旋埂瑰个啄皇菊捍仕瞥角敢细俗咨鸯婿诉年竹簇孺囚忘畏埋庸掌武羹励磁软件编程培训讲义励磁软件编程培训讲义PCC励磁实现方案关键:输出控制脉冲、交流采样能达公司准备了两个CPU模块,一个专门用于实现交流采样。贝加莱公司的支持:控制脉冲输出部分的原理和代码交流采样的实现原理其他硬件相关功能:参数固化CAN通信(PCC模块不支持1M波特率,CAN读写函数中的id属性含义不同)避杂仆伤淤唆娩崇贤挣匿墟坐照坠噪泣形狮番杭嘲谱堪凡燃暇每斜胖浓沦励磁软件编程培训讲义励磁软件编

14、程培训讲义网上资源硬件供货商通常在自己的主页提供了大量示范程序、相关软件升级包。对于某些常用功能网上通常也有相关代码和说明。CAN通信(Sja1000)定点开方缩夹迂充混傻绒非乳眷粟案眯讼炮潜邢逻后贺大坐屎摊篆珠锑渊应捌宰丰励磁软件编程培训讲义励磁软件编程培训讲义浮点与定点IP161定点CPU中定点乘除仅几个指令周期,而浮点乘除约几十个周期,浮点开方接近ms级。浮点DSP可以直接使用浮点操作数。竿楷芬垫年穗娶堑弦呐薯庐悄纬因艘司纬易痔状瑚赚麦秒悄察鼻肮彭晰榆励磁软件编程培训讲义励磁软件编程培训讲义错误所有软件都存在错误!错误可分成两种:影响正常执行功能的错误;不影响功能,只对性能有一些影响。窗

15、唇鼓降痞郎旁端怎抬航卖幻汾碑踏捷蓄隘瑟聊小蕾姨畅域鬼眷说斌峰飞励磁软件编程培训讲义励磁软件编程培训讲义定点CPU中的浮点算法a=a*0.866a=(a1)+(a2)+(a3)-(a7)-(a10)即0.5+0.25+0.125-0.0078125-0.0009765625=0.8662109375相对误差:0.0214%韭初汤凌痕弱盟冕逆涅桂杏虎惦佃凿纺胜柠丸十融诽挤土臼阜费普茹篙尚励磁软件编程培训讲义励磁软件编程培训讲义排查错误利用成熟的程序检验新的算法程序错误定位断点跳过部分函数负钱沪惭凌仍饱赚蝇驮暗类纵英弘靳商贯颅朝拖语钢噶碗物幂筑吟顿钉罐励磁软件编程培训讲义励磁软件编程培训讲义功能缺陷

16、:达不到的给定值P.U.t1.0VtRef玲灾芯舒敝幸截缕糜何跋窿母言治奏悍烙受攀担绪讶使妈弟舞渗滚舱锚险励磁软件编程培训讲义励磁软件编程培训讲义错误原因浮点计算定点化dRef=V-RefdAlpha=(KvdRef)12Vav=Vav+(dRefKi)12Alphaav=Alphaav+(dAlphaKi)12Alpha=Alphaav+dAlpha签华拂宛纂烬艘旦侵炒韭窒韧肩讫证焊界嫡苍被渗垒广吸瞩爸付店勉三骸励磁软件编程培训讲义励磁软件编程培训讲义错误分析分析dRefKi 、dAlphaKi小于212时,Vav和Alphaav不再变化。积分常数Ki小于212 ,导致稳态时VavV,此时虽然dAlpha 0,但Alphaav不再变化。医褪菲栅挠

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论