励磁软件编程培训讲义.pptVIP

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

内容规划逻辑风格高级语言与低级语言细节资源错误规划任何大型软件都是由模块构成的。由主干到分支,由整体到细节,逐步细化。 好处:明确软件如何实现,便于分工、实现以及后期维护。励磁控制主循环中断服务程序初始化主循环限制、保护通信录波控制空载过压V/F限制PT断线断路器过无功限制欠励限制强励限制功率柜退出振荡短路与本地监控通信与另一通道通信与集控室通信中断服务程序外部信号输入同步中断内部设置中断定时器中断测频原方同步断线检测副方同步断线检测启动控制脉冲付氏采样输出控制脉冲逻辑软件能否正常实现其功能的基础几个失败的例子 RS232通信:PC←→V40 无功过载限制RS232通信:PC←→V40下发命令返回开始定时下发命令返回清除接收缓冲开始延时0.6秒清除接收缓冲有数据处理标志是否开始返回设置数据处理标志V40上传数据触发事件数据处理改进后下发命令返回清除接收缓冲开始开始返回数据处理定时下发命令V40上传数据触发事件过励限制励磁系统强励的原因大部分是由发电机或与其相联系统发生短路故障,励磁系统为保证电力系统稳定和继电保护可靠动作自动强行励磁所致。设置这一限制的目的是防止励磁绕组较长时间过电流而过热。Ift(s)If0T1T0TxT2If1IfxIf2实现原理设置热量积分Hsum。IfIf0时,根据If大小计算热量积分步长,对Hsum进行累加。IfIf0时递减。如果HsumHmax则触发限制。原来的算法IfIf0HH1H2步长取法:求出限制曲线各个节点对应的步长,然后根据If大小插值取得新步长。IfxHxIf2If1错误分析H1×T1=H2×T2=Hmax步长:Hx=H1+(H2-H1)/(If2-If1)×(Ifx-If1)限制时间:Tx=T1+(T2-T1)/(If2-If1)×(Ifx-If1)Hx×Tx=H1×T1+……=Hmax+……Hmax 如果按照原来的算法,限制曲线仅在节点处准确,其余区域限制时间略小于限制要求。过励限制修改后正确取法:根据If插值求取对应的限制时间,然后根据时间取步长。步长与时间的关系:Step=Hmax/t编程风格变量命名函数命名流程图注释模块化编程命名、注释建议使用有意义的英语单词,如 Cal_Alpha() //控制角计算函数 Auto_Ex_Fail_Flag //起励失败标志 每一个变量、函数声明时都需要对其功能、应用范围进行注释。匈牙利命名法 nOverExCount流程图便于后期维护、原理分析以及合作开发自用到模块级新人接手则必须到具体的函数实现细节RS232编程(16C550) 问题:芯片说明书指出16C550可以使用FIFO接收指定长度数据。实际测试时DSP连续读出的都是第一个字符。后来没有使用FIFO中断,每次只读一个字节。 原因:16C550使用FIFO接收时读取间隔不小于4ms。而DSP主频30MHz,连续读取时间隔仅33ns。还是RS232编程循环读写串口,只能实现单工通信。开始读串口写串口延时等待错误原因:连续读取导致芯片无法正常响应。模块化编程C语言:字符缩进,先输入{、},再输入模块内容。VB:打开文件open语句后接着输入Close语句关闭文件,最后输入中间的处理部分。汇编:象C语言一样对寄存器进行压栈保护,使各个函数模块化,调用时不必考虑保护寄存器内容。汇编语言的模块化编程小的程序不需要函数需要在入口对需要使用的寄存器进行压栈操作,在出口弹出。保证函数的调用不会影响寄存器的内容(保存参数的寄存器可以例外)。没有模块化编程的程序,改动一处程序,可能引起其他部分的异常。高级语言和低级语言高级语言 编程效率高、可读性好、移植性好低级语言 直接处理硬件资源,执行效率高在X86CPU上运行的几种语言ASM 速度第一,可读性差,调试麻烦。PL/M 不支持浮点,速度略高于C。可读性好。C 运行速度逊于汇编,可读性好,编程效率高,模块化编程。Basic 不能生成可执行文件,编译器边解释边执行,速度最慢。可读性好,了解低级语言有利于理解高级语言C++示例 a=1; y=0; if(a||y++) { ……//与y无关的代码 } //此时y=0编译成汇编语言 cmpax,0 jnz loop movax, y incax mov y, ax jz loop ……lo

文档评论(0)

实验室仪器管理 + 关注
实名认证
服务提供商

本人在医药行业摸爬滚打10年,做过实验室QC,仪器公司售后技术支持工程师,擅长解答实验室仪器问题,现为一家制药企业仪器管理。

1亿VIP精品文档

相关文档