世界足球俱乐部杯

登录 免费注册 世界足球俱乐部杯 | 行业黑名单 | 帮助
维库电子市场网
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统
驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe

工控HPL语言参考手册(摘要)

作者:hotpower 栏目:单片机
工控HPL语言参考手册(摘要)
工控HPL语言参考手册
引言
Hot POWER Language (简称HPL语言)是一种面向工业控制过程(抗干扰、实时处理、并行控制) 的程序设计语言。它根据单片机(MCU)资源有限,计算能力不足和面向对象(封装、继承、多态,如C++、Java等程序设计语言)实现困难等特点,综合各种程序设计语言的优缺点而派生出来的。
HPL将C语言的Main()改变为类似Windows的事件处理机制及
软硬件看门狗自动管理,并在EndMain中加入了消息循环处理模块。
再这方面类同Vb和Delphi语言。编程方法为事件处理而非C语言的模块化顺序编程思路,这样就使HPL在工业控制方面要比C语言先进的多。
在工控过程中会出现压键、放键和常压键3种事件,HPL会很轻松地实现,编程时只需处理这3个事件即可。
在工控过程中,LED动态显示控制很多。HPL只需用几个DoCase或DoComp块就可实现,且无一句废话。
HPL主要对分支及循环语句做了重大调整,并在适当的位置加入了复位硬件看门狗语句,并允许在DoCase语句(C语言的SWITCH、VB的SELECT Case、Delphi语言的Case of)中加入初始化语句InitCase(其他语言不允许的) 和StartCase语句,并在不匹配Case语句后执行ElseCase语句(C语言的DefaultDelphi语言的Else),在匹配Case语句后执行ExecCase语句(其他语言没有的),这在多路集中控制中特别有用。保留必须具备的LoopCase(C语言的Continue)语句和ExitCase(C语言的Break)语句及CaseIN(Delphi,语言的Case X..Y:)并特有NextCase、CaseOUT、QuitCase等语句,并以EndCase结束。
HPL将分支语句If..Else..Endif保留,并将If..Elseif..Else..Endif语句扩展为DoComp、InitComp、StartComp、Comp、CompIN、CompOUT、NextComp、ExecComp、ElseComp、LoopComp、ExitComp、QuitComp、EndComp。DoComp语句块可任意组合成其他程序设计语言共有的分支及循环语句If..Else..Endif,if..Elseif..Else..Endif, SWITCH,For,While和Do..While这六大部分。DoComp本身具备工业控制过程的全部特征。
HPL由于面向的对象及使用的环境不同,所以与其他程序设计语言有着本质的不同。HPL语言强调抗干扰、实时处理、并行控制。HPL虽在数据类型中也定义了指针并将其保留,但HPL语言的数组与Delphi的一样比C语言的指针好用,这样就大大地提高了系统的可靠性及稳定性,且HPL语言的数组比指针运算速度也不差,甚至更快。
    HPL结合MCU各生产厂家的特点,创立了一种新的数据类型Dbyte(由两个Double地址不相邻的字节Byte组成的一个字Word)。这在其他程序设计语言中也是未曾有过的。例如在进行8位以上的AD转换中,AD转换结果的高低8位字节往往地址不相邻,HPL可1次取出,而C语言必须2次才能取出。
HPL结合工控特点,扩展了位Bit的定义,BitS(位组)数据类型将整个MCU进行位编码,这样就可控制到MCU的任何一个位。
这对经常变换硬件口线是非常有用的。
HPL的ArrayBit(数组位)数据类型可控制多路接口的相同控制位,从而简化了程序设计,压缩了程序代码量。
HPL语言的语句采用多短语组合方式,只需少量短语就可组成很多HPL语句,人性化较强,上手特快。
嵌入式HPL语言必须遵守某个MCU的宏定义或程序通讯接口协议。(书写及调试不方便)
独立式HPL语言将与MCU无关,可运行在任何工控系统中。(书写及调试方便)
第一章    嵌入式HPL语言的基本元素
关键词
Array  Ponit  Address  Ram  Rom  EEPROM  FlashRom
Bit  BitS  ArrayBit  PORT  PORTs
Byte  Dbyte  Word  HWord   DWord   Fwrod
Main  MainInit  MainStart  MainExit  MainLoop  MainEnd
Asm  EndAsm
LT  GT  EQ  NE  LE  GE  ET  NT  IN  OUT
IF  Else  ElseIF  EndIF
For LoopFor  ExitFor  EndFor
DoCase InitCase StartCase Case CaseIN CaseOUT ExecCase ElseCase  ExitCase  LoopCase  QuitCase  EndCase
While  LoopWhile  ExitWhile  EndWhile
Repeat  Loop Repeat   Exit Repeat  End Repeat
DoComp InitComp StartComp Comp CompIN CompOUT ExecComp ElseComp  ExitComp  LoopComp  QuitComp  EndComp
Set Get  Read  Write  Clr  Copy  Fill  Comp  TEST Add  Sub  Mul  Div Not  Neg  And  Or  Xor  Inc Dec Shl  Shr
Init  Start  Loop  Next  Exit  Quit  End  HPL  HPL_
On  Off  True  Flase  H  L  Stop  Sleep  Wdt  Nop

;----------------------------------------------------------
HPL语言一在ICD上通过测试,首个完全用HPL语言编写的P16F877产品已交付军方
嵌入式HPL语言可在MPLAB中直接运行!

参与讨论
昵称:
讨论内容:
 
 
相关帖子
请教张老师及各位大虾一各很弱的问题?
请问哪能下载到MPLAB?
我以用JAZTEK和MDT 的在打PIC的市场,请多指教
我是学51系列的,请问和PIC有什么不同啊,
有没有软件仿真


Copyright © 1998-2006 domainnameq.cn 浙ICP证030469号