《sapro编程手册.ppt》由会员分享,可在线阅读,更多相关《sapro编程手册.ppt(82页珍藏版)》请在金锄头文库上搜索。
1、 Siemens Building Technologies ACX84 HMI 设计培训 Siemens Building Technologies了解ACX84 HMI硬件学习操作SaphirScope工具 学习设计和创建HMI菜单亲自操作创建您自己的HMI1 Introduction / Goals 介绍/目标July 20072Sapro ACX84 HMI Training Siemens Building Technologies1.2 ACX84 Hardware硬件介绍 Siemens Building Technologies蓝色背光蓝色背光LCD液晶显示器液晶显示器4 行行
2、7列中文字符或列中文字符或 8 行行 20 列英文字符显示列英文字符显示5 个操作按键个操作按键4个功能按键个功能按键可以手持可以手持,也可以面板安装或直接吸到铁质电也可以面板安装或直接吸到铁质电柜面板上柜面板上(其背部有磁性背板其背部有磁性背板) 红色报警灯指示红色报警灯指示绿色状态灯指示绿色状态灯指示可以根据具体的应用进行设置可以根据具体的应用进行设置,有些按键和指有些按键和指示灯是可以自由编程的示灯是可以自由编程的可以根据客户需求来定制前面板的面膜可以根据客户需求来定制前面板的面膜(打上打上客户自己的客户自己的LOGO)防护等级达到防护等级达到 IP65标配标配2M长扁平电缆长扁平电缆,
3、 如需要时可以自加两个如需要时可以自加两个RS485转换器和转换器和DC12V电源将其延长至最大电源将其延长至最大到到1200M距离距离.1.2.1人机界面手操器Human Machine Interface (HMI) ACX84.910. Siemens Building Technologies1.2.2 ACX84的按键介绍 HomePage 首页键首页键(按住此键后再上电可以看到按住此键后再上电可以看到ACX84的的OS版本版本)BackSpace返回键返回键ON/OFF 开机键开机键 (FreeLED,可以自定义的灯和按键可以自定义的灯和按键, 比如可以定义成按此键比如可以定义成按
4、此键5s以上可以开关机组以上可以开关机组,且开机且开机后此键上的绿色后此键上的绿色LED会闪烁会闪烁)Alarm 报警键报警键(有报警后此键上的红色有报警后此键上的红色LED会闪烁会闪烁, 报警已经自动或者手动复位后可以熄灭红色报警已经自动或者手动复位后可以熄灭红色LED) Up 向上键向上键Down 向下键向下键Enter 回车确认键回车确认键Increase更改数据键(向上增加)更改数据键(向上增加)Decrease更改数据键(向下减少)更改数据键(向下减少)July 20075Sapro ACX84 HMI Training Siemens Building Technologies1.
5、3 Saphir Scope 软件工具使用 安装系统需求 简短的介绍和相关操作 Siemens Building Technologies1.3.1 系统需求和安装盘内存在 512 MB 以上CPU在 Pentium III 1.2Ghz 以上Windows 2000 或Windows XP操作系统.当前用户要有可以安装软件的管理员权限.July 20077Sapro ACX84 HMI Training Siemens Building Technologies1.3.2 Saphir Scope 界面介绍 下载 bin 文件 HMI 模拟器 编译HMI bin和OBH.bin 文件从控制器
6、上载语言文件ObjLang.csv 调整时间表 将Scope连接到 PC 断开Scope与 PC的连接 运行应用程序 停止应用程序 查看趋势图设置控制器时 钟从控制器上读取数据点datapoints July 20078Sapro ACX84 HMI Training Siemens Building Technologies1.3.4 从 Scope中看数据点中看数据点(datapoint) 的地址数据点: 回风湿度UIA4RtnHumi :对象类型 Object type 0x1023; 对象识别号 Object ID 0x3C5377BF; 成员号 Member ID0x0009July
7、 20079Sapro ACX84 HMI Training Siemens Building Technologies2.12 常见对象属性(1)模拟量测量对象0x1023MeasureEx成员识别号成员名称SAPRO 参数描述警报列表0x0009PresentValueLVAL 当前正常的测量值。信息HMI常用此对象的属性常用此对象的属性注注: 这个字符并非乱码这个字符并非乱码,它其它其实是实是符号的表示符号的表示,只是由于只是由于编码不同才被编码不同才被Scope显示成显示成这样的这样的,但并不影响它在但并不影响它在HMI中的显示中的显示.而且它并不能使用而且它并不能使用直接的文本直接的
8、文本” ”输出输出. 实际上实际上经常用代码经常用代码S2 即调用即调用0x1102这个成员的这个成员的值来输出这个符号值来输出这个符号” ”(也可也可以用以用Template模板中的第模板中的第1200行左右第行左右第$145页中的页中的” 癈癈”做直接文本输出来显示做直接文本输出来显示)July 200710Sapro ACX84 HMI Training Siemens Building Technologies2.13 常见对象属性(2)开关量消息对象0x1024MessageEx成员识别号成员名称SAPRO 参数描述警报列表0x0001CurrentState-活动指出信息是否活动的
9、。状态文本来自成员 0x1101。信息HMI常用此对象的属性常用此对象的属性注注: 这样的绿色箭这样的绿色箭头标识表示此对头标识表示此对象这个成员的值象这个成员的值可以在可以在Scope中中手动更改手动更改.July 200711Sapro ACX84 HMI Training Siemens Building Technologies2.14 常见对象属性(3)实数设定点对象0x1011SetpointReal成员识别号成员名称SAPRO 参数描述0x0000UserAccess-指定操作方式 。可以选择:Hand(0)*Auto(1)*OS(2)0x0003Setpoint设定点。HMI常
10、用此对象的属性常用此对象的属性注注:指定操作权限。指定操作权限。一般有三个选择一般有三个选择:Hand(0)*Auto(1) *OS (2) 只有为此值为只有为此值为Hand(0)时时,才可以手动更改本对象内才可以手动更改本对象内的其他成员的值的其他成员的值.一般在一般在Sapro应用中使用应用中使用AccessDB将其强制为将其强制为Hand(0)July 200712Sapro ACX84 HMI Training Siemens Building Technologies2.14 常见对象属性(4)枚举设定点对象0x1012SetpointEnum成员识别号成员名称SAPRO 参数描述0
11、x0000UserAccess-指定操作方式 。可以选择:Hand(0)*Auto(1)*OS(2)0x0003Setpoint设定点。HMI常用此对象的属性常用此对象的属性注注: 像像0x1101这个成这个成员的值可以用枚举文员的值可以用枚举文本输出格式本输出格式Em.z调用调用显示在显示在HMI上上.此例中此例中,即可显示为即可显示为OFF或或RST另另, 枚举类型的文本之枚举类型的文本之间用星号间用星号*隔开隔开,但每但每次真正使用时只用到次真正使用时只用到一个值一个值,如此例中当状如此例中当状态为态为0时显示时显示OFF,为为1时会显示时会显示RST.July 200713Sapro
12、ACX84 HMI Training Siemens Building Technologies2.17 常见对象属性(7)开关量输出对象0x1007SwitchCommand成员识别号成员名称SAPRO 参数描述0x0003UserAccess-指定操作方式 。可以选择:Hand(0)*Auto(1)*OS(2)0x000APresentStage UFBV 反馈信号 0x000BSetpointStage SCOM 指出当前状态设定点 HMI常用此对象的属性常用此对象的属性July 200714Sapro ACX84 HMI Training Siemens Building Techno
13、logies2.18 常见对象属性(8)位置量输出对象0x1009PositioningCommand成员识别号成员名称SAPRO 参数描述0x0005UserAccess-指定操作方式 。可以选择:Hand(0)*Auto(1)*OS(2)0x000APresentValue AFBV 反馈信号 0x000DSetpointSPOSN指出当前位置设定点HMI常用此对象的属性常用此对象的属性July 200715Sapro ACX84 HMI Training Siemens Building Technologies2.19 常见对象属性(9)计数器对象0x100DCounter成员识别号成
14、员名称SAPRO 参数描述0x0004UserAccess-指定操作方式 。可以选择:Hand(0)*Auto(1)*OS(2)0x000APresentValue CVAL计数器结果值HMI常用此对象的属性常用此对象的属性July 200716Sapro ACX84 HMI Training Siemens Building Technologies1.4.1 HMI设计的重要目录及文件简述(1)项目名称项目名称解释和描述解释和描述HMIHMI 工程目录:当您建立一个新的工程project文件时, SaphirScope 将会同时生成此目录.Templates.txt模板文件,其默认的文件里
15、包含了HMI的一些原有菜单和值的定义.当您建立一个新的工程project文件时, SaphirScope 将会自动生成此默认文件.Languages.csv菜单语言文件,默认的文件里包含了HMI原有菜单的英文和德文语言文本.当您建立一个新的工程project文件时, SaphirScope 将会自动生成此默认文件.如您需要,则可以自行增添更多的语言文本 (翻译文本).Ascii.txt默认的所用拉丁字符集列表.OBHENGOBHENG工程目录:当您建立一个新的工程project文件时, SaphirScope 将会同时生成此目录.ObjLang.csv对象名语言文件,文件包含了属于FB和FM所
16、有的对象 中TXI / TXU / FM 域里的文本值它是由SaphirScope 从控制器里读上来并生成的 通过 SaphirScope的 Tools Engineering Read language. 如您需要,则可以自行增添更多的语言文本 (翻译文本).July 200717Sapro ACX84 HMI Training Siemens Building Technologies1.4.2 HMI设计的重要目录及文件简述(2)项目名称项目名称解释和描述解释和描述MemLang.csv成员名语言文件,文件包含了属于FB和FM所有的成员的名称文本列表. 它是由SaphirScope 从控
17、制器里读上来并生成的 通过 SaphirScope的 Tools Engineering Read language. 一般无需再翻译成其他的语言文本.OnlineOnline工程目录:当您建立一个新的工程project文件时, SaphirScope 将会同时生成此目录.HMI.bin基于“Templates.txt ” 和“Languages.csv”这两个文件编译生成 的bin文件,它包含了这两个文件里的所有信息, SAPHIR controller 能够从这个HMI.bin里读取并依照执行.通过 SaphirScope的 Tools Engineering Create Config
18、Data. OBH.bin基于ObjLang.csv和MemLang.csv 这两个文件编译生成 的bin文件,它包含了这两个文件里的所有信息, SAPHIR controller 能够从这个HMI.bin里读取并依照执行.通过 SaphirScope的 Tools Engineering Create Config Data. command.MBRTCode.binSapro应用程序 (逻辑程序) 的bin文件,包含所有的对象 objects 及其对象识别号object identifiers及程序指令Program Instructions对象识别号object identifiers
19、用于与OBH.bin/ ObjLang.csv建立联系来对应相应的语言文本.July 200718Sapro ACX84 HMI Training Siemens Building Technologies1.4.6 模板文件Templates.txtMain Design file Templates.txt: HMI template file. Language.csv: Muti-Language file.July 200719Sapro ACX84 HMI Training Siemens Building Technologies1.4.7 语言支持文件Language.csvL
20、anguages.csv 文件结构文件结构July 200720Sapro ACX84 HMI Training Siemens Building Technologies1.4.8 对象名语言文件Objlang.csvJuly 200721Sapro ACX84 HMI Training Siemens Building Technologies1.4.9 对象名语言文件Objlang.csv列名称列名称在在Excel中的列名中的列名内内 容容IDObjectA对象Object IDMemberB成员Member IDDefaultC应用程序的语言Application language:S
21、APRO 中指定给FM对象的TXI, TXU 域的文本值注意:千万不要编辑这一列,因为这些 标识文本是代表这些对象在应用程序里的唯一索引!-1Com 1D通讯接口Com1的文本默认Default: 是 “Default” 列的一个副本.4000Com2E通讯接口Com2的文本默认Default: 是 “Default” 列的一个副本.4001Language 1F英语 English language (指定必须有的)如果 HMI Handler 在这列里没能发现有文本即没有应用程序的翻译语言文本,则它自动会将“Default” 列中的文本发到 HMI去显示.此列对应于Language.csv
22、中 的A列0July 200722Sapro ACX84 HMI Training Siemens Building Technologies1.5 HMI的处理机制的处理机制项目名称项目名称解释与描述解释与描述OBH.bin基于“Templates.txt ” 和“Languages.csv”这两个文件编译生成 的bin文件,它包含了这两个文件里的所有信息.HMI.bin基于ObjLang.csv和MemLang.csv 这两个文件编译生成 的bin文件,它包含了这两个文件里的所有信息.HMIHandlerHMI Handler 处理程序:依照“HMI.bin” 文件来显示菜单.依照“OBH
23、.bin”文件来指定对象和成员的语言文本.为要显示的对象和成员向Object Handler处理程序里发出索取当前值的请求.ObjectHandlerObject Handler处理程序:从数据库database里获取所请求要显示对象和成员的当前值.将这些值传递给 HMI Handler 处理程序.Database数据库 database:存于 SAPHIR 控制器的主存储器的一片指定区域.存储着所有应用程序对象和成员的当前值.July 200723Sapro ACX84 HMI Training Siemens Building Technologies1.6 HMI的bin文件编译和下载
24、Siemens Building Technologies1.6.1 实际中实际中编译生成编译生成 HMI 的的bin文件文件Create config data第一步第一步:点击点击 “Create config data” 按钮按钮第二步第二步:选择模板文件选择模板文件和菜单语言文件和菜单语言文件第三步第三步:选择字符集选择字符集和字体和字体第四步第四步:选择对象名选择对象名语言文件语言文件第五步第五步:点击点击Create 按钮按钮,编编译生成译生成bin 文件文件July 200725Sapro ACX84 HMI Training Siemens Building Technolog
25、ies1.6.2 把把编译好的编译好的 bin 文件文件下载到下载到ACX36 控制器里控制器里(1)第一步第一步: 用特制的SBT编程电缆将 计算机的COM端口 (RS232) 与 ACX36 控制器的服务端口 (RJ45) 相连接,上电.July 200726Sapro ACX84 HMI Training Siemens Building Technologies1.6.3 把把编译好的编译好的 bin 文件文件下载到下载到ACX36 控制器里控制器里(2)第二步第二步: :然后点击 “Load files” 按键来下载bin文件 : 第三步第三步: 单击 “Stop applicati
26、on” 按键来停止ACX36控制器中的应用程序的运行: July 200727Sapro ACX84 HMI Training Siemens Building Technologies1.6.4 下载编译好的下载编译好的 bin 文件文件到到ACX36 控制器里控制器里(3)第四步第四步: 单击“Load” 按键来下载所有的 bin 文件到ACX36控制器中: Bin 文件下载中. Thats OK.第五步第五步: bin 文件下载完成后, 单击“Start application” 按键来启动运行ACX36控制器中的应用程序. OK, 完成.July 200728Sapro ACX84 H
27、MI Training Siemens Building Technologies2. 学习ACX84的 HMI设计 Siemens Building Technologies2.1 在Sapro应用程序设计之前您应该知道的事情(1) HMI能够显示所有Scope能够查看的内容,但Scope只能查看拥有“DB”输出的功能块FB即对象Object的所有成员。 因此HMI也只能显示这些内容. 所以推荐首先创建Sapro应用程序,直到程序完成,然后再启动Template模板进行HMI的编程。因为成员标识号MemberID即数据点Datapoint的地址可能会随着程序每次的更改而发生变化。因此,每次应
28、用程序修改后都要检查相应的Template模板中的数据点Datapoint地址是否对应。 例如: SetpointReal这个带有DB的FB功能模块就可以在Scope中查看到它的所有成员内容,而REALtoAO这样的FB就不行.July 200730Sapro ACX84 HMI Training Siemens Building Technologies2.1 在Sapro应用程序设计之前您应该知道的事情(2) 我们知道FM是将若干FB封装起来的模块,那么如何在Scope中查看它里头的FB呢?Function Module_FM_“String”_FM_这一特殊的字符串可以被Scope辨识为
29、菜单项.菜单将按照程序结构中的位置创建.没有_FM_项的功能块将无法被Scope辨识. 给功能模块FunctionModule(FM)起的名字”String”字符串要尽量简短,保证最终到FB的名字字符串的总长度不超过14个英文字符,否则可能会造成同名冲突致使Scope不能正确辨识这些FB,而且可能会影响应用程序逻辑Logic的正确执行.必须保证已经有一个具备一些功能的Sapro应用程序下载到了 SAPHIR 控制器中并已经在运行状态之后,实际的HMI设计和编写工作就可以正式开始了.July 200731Sapro ACX84 HMI Training Siemens Building Tech
30、nologies2.2 密码权限级别密码权限级别权限级别权限级别无需密码需第一级密码需第二级密码需第三级密码由于安全原因,HMI设计之前必须考虑和定义一些密码权限级别.相应的密码级别代表授予相应的权限,而且是向下覆盖的.较高密码级别的用户可以拥有较低密码级别的用户的所有权限,而且可以更改较低级别用户的密码.用户只有拥有某种权限才可以进入此权限的相关页面,或者修改某些数值. ACX84可以定义最多 8 种不同的密码级别. 但一般的应用种, 3-4个密级足以. 关于密码功能部分的代码在默认的标准模板文件Template.txt的第97页,使用时可以之间链接到此页即可. 默认的密码是:第一级 111
31、1,第二级 2222 ,以此类推.注意,最好不要用第八级8888做密级权限使用.July 200732Sapro ACX84 HMI Training Siemens Building Technologies2. 3 菜单结构设计方法模板文件Template.txt里仅有页面组成。为了能够按菜单结构进行显示,您必须采用下面的策略:July 200733Sapro ACX84 HMI Training Siemens Building Technologies2.4 设计HMI的菜单结构 (EN)一般来说,要先设计好HMI的菜单结构,而且最好是在Sapro应用程序编程之前.这次实践操作因Sap
32、ro应用程序是已经编写好的,所以只是基于如下中英双语的HMI菜单来进行HMI编程的.July 200734Sapro ACX84 HMI Training Siemens Building Technologies2.5 设计HMI的菜单结构 (中文版)July 200735Sapro ACX84 HMI Training Siemens Building Technologies3. 用HMI Editor编写HMI 模板 Siemens Building Technologies3.1 HMI Editor in ScopeHMI Editor生成写入Template和Language文件
33、July 200737Sapro ACX84 HMI Training Siemens Building Technologies3.2 对话框中的常用选型说明列名称列名称说说 明明Read State读权限密级设置(0-all,9-None,1-8级:可读)Write State写权限密级设置 (0-all,9-None,1-8级:可写)serviceable写权限启用Wraparound数值可否循环(0-no,1-yes) Refresh数值可否实时更新(0-no,1-yes) DynamicFloat浮点数显示LeadingZeros带前导零显示July 200738Sapro ACX8
34、4 HMI Training Siemens Building Technologies3.3 实时时钟显示和更改 Date Time在屏上指定适合的位置和长度,右键选择Date或TimeJuly 200739Sapro ACX84 HMI Training Siemens Building Technologies3.4 纯文本编辑Plain Text在屏上指定适合的位置和长度,右键选择Plain Text 纯文本编辑July 200740Sapro ACX84 HMI Training Siemens Building Technologies3.5 编写调用语言支持文件(Language
35、 Support)中的文本 LS Text在屏上指定适合的位置和长度,右键选择LS Text, 并新建或者调用已有的文本若为新建,则在HMI_*_Lang.csv文件生成相应单元项,以后可以在对应列翻译成相应语言即可July 200741Sapro ACX84 HMI Training Siemens Building Technologies3.6 显示和更改数值 Value在屏上指定适合的位置和长度,右键选择Value并设置显示和更改属性选择需要显示和更改的数据点DatapointJuly 200742Sapro ACX84 HMI Training Siemens Building Te
36、chnologies3.7 显示对象名( Object Name) OBJ Text在屏上指定适合的位置和长度,右键选择OBJ Text选择需要显示数据点Datapoint的ObjectNameJuly 200743Sapro ACX84 HMI Training Siemens Building Technologies3.8 显示枚举值对象及其文本(Enumeration) EO Text在屏上指定适合的位置和长度,右键选择EO Text选择需要显示数据点Datapoint的Object其中EnumObject一般选择StatusTextJuly 200744Sapro ACX84 HMI
37、 Training Siemens Building Technologies3.9 调用语言支持文件Language Support显示枚举值文本 ELS Text在屏上指定适合的位置和长度,右键选择ELS Text选择一个已存在的枚举文本,或者新建一个枚举文本(格式:A*B*?)July 200745Sapro ACX84 HMI Training Siemens Building Technologies3.10 语言选择 和 密码功能语言选择的代码在默认模板的第语言选择的代码在默认模板的第3页页$O3中, 中的 61440,3,1 这个对象的成员用于决定HMI显示语言文件Languag
38、e.csv中的哪一列,换到哪一列就实现了该语言的切换,它默认的就是Language.csv中的首列A列 (所以我们将首列菜单部分换成中文),和ObjLang.csv中的F列(所以我们将这列的报警部分内容换成中文)。密码功能在默认模板的第密码功能在默认模板的第97页页Target 指该行可以跳转到第几目标页,而指该行可以跳转到第几目标页,而Level 则指哪个级别用户以上可以跳转。则指哪个级别用户以上可以跳转。July 200746Sapro ACX84 HMI Training Siemens Building Technologies3.11 生成Template和Language文件,再编
39、译生成bin文件在HMI Editor上选择Create,这一步生成Template模板文件和Language文件。这一步编译生成HMI.bin和OBH.bin文件July 200747Sapro ACX84 HMI Training Siemens Building Technologies4. 用语法编写HMI 模板 Siemens Building Technologies4.1 模板文件模板文件 Template.txt 的结构的结构千万不要用空格千万不要用空格!打开第打开第 54 页页关闭第关闭第 54 页页代码部分代码部分注释部分注释部分此文档是HMI 菜单的主要文档模板. 将来决
40、定ACX84最终显示内容和效果主要靠此文档。 用语法来写模板一般是以新工程生成的默认模板默认模板Template.txt为蓝本,当然以前已做好项目的模板文件上修改更好。July 200749Sapro ACX84 HMI Training Siemens Building Technologies4.2 Template文档的基本语法(1)注释在代码与注释之间仅使用 TAB 键(千万不能使用空格!)。 注释由双斜杠 / 引出。2.8.2 页面 模板的页面如下定义:首先是$符号,然后是页面号。O是Open的缩写,即表示打开.$On n表示打开某页,$O表示关闭此页注意注意: 这个字符并非数字这个
41、字符并非数字 0 (zero) 而是英文大写字母而是英文大写字母 O (letter) 另外,*Syntax是代码占位符。这个表达式不属于模板代码!July 200750Sapro ACX84 HMI Training Siemens Building Technologies4.3 Template文档的基本语法(2)位置描述IHMI 的显示包含 8 行和 20 列英文或者4 行和 7列中文。然而,这不意味着一个页面只有 8 行能够显示。其余的行可以通过按上下按键来进行向上下卷动该页面以显示出来!但是,推荐您不要显示多于 17 或 18 行。如果 HMI 解释时间太长,监视程序(watchd
42、og) 将终止应用程序。位置规格由%符号开头,它后面是横纵两个坐标 x.y。 文本位置规格定义:July 200751Sapro ACX84 HMI Training Siemens Building Technologies4.4 Template文档的基本语法(3)位置描述II%Pia(x/y/z),bPia(x/y/z),ba a 页面内直接行号。b b 此行内列的位置。 i i 密级权限设定(0i8)在设备概览模板中和数据点的概览部分中,指定“x x”参数,因为下一个有效的行在运行时间决定。这里不能指定绝对的行号。如果指定了“y y”参数,就保持在当前行内,只使用列的位置。 如果指定了
43、“z z”参数,使用前一行的对象信息来创建一个新的行(像“x x”)。例如一个数据点的输出需要用两行显示。 参数“PiPi”是可选的,并和“a a”、“x x”或“z z”参数联合使用,因为它产生完整行的输出,或根据授权级别转到下一个位置(也就是说,除“y”外)。如果授权级别低于“i i”中定义的用户登录,就会跳到下一个位置,用户看不到这个信息。如果下一个位置是一个新的行,压缩行就以空行显示在屏幕上; 而不是填充下一个授权行。注意,因0i8,不要用第八级密码做密级权限设置,即不要用 P8,a,b 这样的语句.而且也不能使用P0,a,b这样的语句.*Syntax是代码占位符。该表达式不属于模板代
44、码!July 200752Sapro ACX84 HMI Training Siemens Building Technologies4.5 Template文档的基本语法(4) 直接文本输出例如:$01 %1,5”Hi”/(显示)Hi%y,8 “there”/ (在同一行中显示)there%3,1”HMIprog is simple”/(显示)HMIprog is simple记住:一行只有 20 个英文字符的空间!若超出20英文字符则可能显示不完全或者编译出错 在 HMI 中,显示如下:要显示的文本要被写在两个引号中。温度量纲符号温度量纲符号“”可以用可以用Template模板中的第模板中
45、的第1200行左右第行左右第$145页中的页中的” 癈癈”做直接文本输出来显示做直接文本输出来显示例如:$O30%1,1I404,20/=*运行参数*=/ Running Parameters Menu%2,1I405,4/1.室内温度/ 1.Room Temperature%y,6V5.1癈“/显示/Display July 200753Sapro ACX84 HMI Training Siemens Building Technologies4.6 Template文档的基本语法(5)索引文本输出索引文本输出用于显示 language.csv 文件中定义的文本条目。为了显示来自 langu
46、age .csv文件的文本,写一个“I”,后面跟着包含该文本在Excel中的行号(偏移-1行),一个逗号和另外 一个数字表示所要显示字符串的长度。Ii.zi 代表 language .csv文件中的行(偏移-1行);z 表示字符串的长度 在语言文件language . csv中第一行是语言提示行,而实际的菜单内容是从第二行开始的,所以您必须总是从 language . csv 文件的相应行号中减去 1,以保证一致。比如:$O99%1,5I5.14/ 显示 ”Input Hardware”%2,1I2.12/ 显示 ”Actual Value ”%y,14I9.7/ 显示 ” *Menu* ”J
47、uly 200754Sapro ACX84 HMI Training Siemens Building TechnologiesHMI输入值的限制 如果您想限制输入的数值在某个范围内,比如说:年(1900-2099),那么这个语法可以实现您想要的功能.可以用于各种数值包括实数输入,也可以用于枚举类型的数值输入高低限值必须为整数值(不能写小数),低限不能为负值,而且这样的应用的偏移Offset必须为0. Syntax:Low Limit,High Limit,Offset 例如:%3,120,1, 0 F370.4%4,140,100,0V4.1E0x1102.14.7 Template文档的基
48、本语法(6)HMI输入值的限制July 200755Sapro ACX84 HMI Training Siemens Building Technologies4.8 Template文档的基本语法(6)跳页/链接为了能够在菜单结构中浏览,需要点击某段字符串以转到相应的页面。 链接/跳页和文本相关,或和成员相关,如下:Syntax: $Ta,b输入$T,目标页地址 a 和浏览授权级别 b(0b8)。如果你在第 99 页,而只有=3 的密码授权级别,就会出现下面的显示:移动光标到第一行反显的字符串上,点击它就自动跳转到第2页 。(注意有黑色的框) 注意,不要用第八级密码做密级权限设置,即不要用
49、$T2,8 这样的语句.此时再按 HMI 上的“back”按钮将跳回前一页。July 200756Sapro ACX84 HMI Training Siemens Building Technologies4.9 Template文档的基本语法(7)对象识别及及成员的访问HMI主要用来显示有实际意义的参数值。而且还要用于显示或修改某些参数值。而这些参数都是来自于Sapro应用程序中的FB的对象Object里, 因此需要对象类型Objecttype,对象识别号ObjectID和成员识别号MemberID作为地址来进行访问。a块对象类型Objecttype。包含在识别号列表中。b块对象识别号Obj
50、ectID。包含在识别号列表中。c成员识别号MemberID:要显示的成员在 ObjectHandler 中。d查看密码级别:为了查看这个成员,用户密码必须高于或等于所输入密码的级别08其中 0 意为任何密码级别的用户都能查看!e更改密码级别:为了更改这个成员,用户密码 必须高于或 等于所输入 密码的级别 08/9,其中0 意为任何密码级别的用户都能更改;9 意为“不可更改”,任何密码级别的用户都不能更改其值,只可能查看!f循环Cycle:0=停/1=启举个例子,假设定义了 0100 的值域,这个参数就决定了此值域的数值能否循环调整,或者它是否在 0 和 100 处停止。参见下面的图形。g数据
51、更新DataRefresh:0=停/1=启 举个例子,如果你正在显示一个实时更新的当前值,则推荐启用这个参数。这意味着显示的数值是实时更新的。注:对象成员的地址注:对象成员的地址部分大多为部分大多为16进制进制0x开头,十六进制字母是不分大小写的开头,十六进制字母是不分大小写的,当然也可以使用十进制。当然也可以使用十进制。July 200757Sapro ACX84 HMI Training Siemens Building Technologies4.10 Template文档的基本语法(8)循环循环=0 时可能的调整循环=1 时可能的调整例子:July 200758Sapro ACX84
52、HMI Training Siemens Building Technologies4.11 Template文档的基本语法(9)输出格式输出格式 输出格式输出格式 用户希望对需要显示的参数都有一个合适的表达或输出格式。 格式描述举例Sz含 z 个字符的字符串输出S10 表示具有 10 个字符的成员。如果文本很长,把它截短至10个字符;如果不够10 个字符,则用空格填满。 Vz.k/x/y/zVz.k =具有固定小数位数的输出Vz.x = 动态小数,最多一个小数位Vz.y = 动态小数,最多两个小数位 Vz.z = 动态小数,最多三个小数位V8.2 表示有 8 个数位(包括小数点在内)和 2
53、个小 数位的成员。V7.y 表示有 7 个数位(包括小数点在内)和 2 个小 数位的成员。如果 7 个数位不够,则小数位的个 数自动减去 1。Dz.k含起始零的值的输出,例如,表示日期/时间的时候z = 含有起始零的位数,包括小数点k = 小数位数D2.0表示有两个字符的成员。如果值小于 10 ,加 一个起始零。比如 09 D6.2 009.00 Em.z枚举类型的文本输出(来自成员中)。用于步骤和状态输出。成员返回值的文本(开、关、)位于块的 另一个成员里。m = 有文本值的成员z = 要显示的字符数E7.4 要显示的文本部 分来自本对象里7这个成员定义的值。共显示 4 个字符的文本。为了显
54、示 off/on,成员 7 应该包含:off*onE0x1102.3 要显示的文本部分来自本对象里0x1102这个成员定义的值。共显示 3 个字符的文本。Fl.z枚举类型的文本输出(来自 language.csv 文件)。和前面输出格式相同。但文本是包 含在 language.csv 文件中。l = 语言文本索引行号。注意行号的变化!z = 要显示的字符数F32.20 要显示的文本部 分来自 language 文件第 33 行的文本。显示 20 个字符的文本即全行显示。为了显示 No/Yes,则Language.csv 文件应该包含:No*Yes。而为了显示 否/是,则Language.csv
55、 文件应该包含:否*是。July 200759Sapro ACX84 HMI Training Siemens Building Technologies4.12 Template文档的基本语法(9)HMI的的MSR 任任务选择显示示 Syntax: &(Task No.1,Task No. 2,.,Task No. X) 若某MSR任务被激活,则会显示当前HMI行内容注:注:Task No 任务号不能为任务号不能为0,否则,否则 Scope编译不能通过。编译不能通过。例子:$O54%1,1I462,20/=*数字输出*=/ DO Menu&(12,22,32,112,122,132)%2,1
56、I463,20/DO1电加热1/ DO1 EHeater1&(12,22,32,112,122,132)%3,16F468.5&(22,32,122,132)%4,1I464,20/DO2电加热2/ DO2 EHeater2&(22,32,122,132)%5,16F468.5&(32,132)%6,1I465,20/DO3电加热3/ DO3 EHeater3&(32,132)%7,16F468.5&(112,122,132)%8,1I466,20/DO4压缩机 / DO4 Compressor&(112,122,132)%9,16F468.5%10,1-/结束行$O适用于多选项(多MSR任务
57、)的Project做不同的HMI菜单显示。 July 200760Sapro ACX84 HMI Training Siemens Building Technologies4.13 快速参考指令代码指令代码解释及描述解释及描述HMIEditor支持支持$O10打开第 10 页$O关闭当前页%1,2从第1行, 第2列位置开始%P1,2,3从第2行, 第3列位置开始,如果授权级别为1或更高可以访问(显示)此行 Px需要在Template模板中自加&(1,2,4)%4,5如果MSR 任务 1,2 或4 被激活,则显示该行需要在Template模板中自加%y,5接着当前行的第5列位置开始$T20,2
58、跳转到第 20页,如果授权级别为2或更高可以访问此项$T11,1,0X1023,0x3C53C1DA仅链接到第 11页MeasureEx的对象及类型,如果授权级别为1或更高可以访问此项I300索引语言文件Language.csv中的第 301行中的文本进行输出(在 Excel 里)S14以 14 个字符格式输出V4.1以含1位小数点总共4 位数字格式输出D4.0以不含小数点总共4 位数字格式输出,并且如果不够4位则首位以0填充F30.4索引语言文件Language.csv中的第 31行中的文本进行4 字符文本输出E0x1101.4索引该对象中成员识别号为0x1101的成员进行4 字符文本输出0
59、,10,0限制输入值在 0 至 10之间,偏移Offset=0需要在Template模板中自加July 200761Sapro ACX84 HMI Training Siemens Building Technologies4.14 模板文件Template.txt的菜单编写 (1) 页面介绍现在我们打开Template for ACX84HMI.txt, 这是默认的标准模板文件Template.txt的副本.会看到,右边注释部分为德文.第一页$O1,为HMI的首页; 而第19页$O19和第90页$O90之间是空的,这是给客户预留来编写自己的HMI的.其他页面尽量保持原样不动,下面我们就根据设
60、计好的HMI菜单开始编辑首页和$O20$O89部分,包括代码和注释.July 200762Sapro ACX84 HMI Training Siemens Building Technologies4.15 模板文件Template.txt的菜单编写 (2) 显示系统时间从Scope中我们可以看到,系统时钟SystemClock的对象为 0x0010 0x00000001,换算成十进制即为 16,1, 所以显示系统时间如下%1,11,31,0D2.0“.”/ 日1,12,0D2.0“.”/ 月2000,2050,0D4.0/ 年%y,160,23,0D2.0“:”/ 时0,59,0D2.0/
61、分这些已在第一页$O1中的代码里,所以我们将其复制改成第八页$O8, 然后只用稍作修改第一页来做我们的首页即可,注意红色字体的部分(更改密级为9,意为.).July 200763Sapro ACX84 HMI Training Siemens Building Technologies4.16 模板文件Template.txt的菜单编写 (3) 更改系统时间$O71%1,1I660,20/=*时钟设定*=/ Clock Setting Menu%3,1D.M.Y 1,31,0D2.0./日/dates1,12,0D2.0./月/months2000,2050,0D4.0/年/year%5,1H
62、:M 0,23,0D2.0:/时/hours0,59,0D2.0/分/minutes%6,1-/结束行这一页是实现更改系统时钟的功能,注意红色字体1意为July 200764Sapro ACX84 HMI Training Siemens Building Technologies4.17 模板文件Template.txt的菜单编写 (4) 密码功能密码功能的代码在 第97页$O97到第99页$O99, 我们就直接引用或者修改一下就可以用了.July 200765Sapro ACX84 HMI Training Siemens Building Technologies4.18 模板文件Tem
63、plate.txt的菜单编写 (4) 密码功能为了更加方便的实现密码功能,将原有的页面稍作了一下修改, 如下.$O97%1,1I466,20/显示=*密码功能*=/ Display Password Function%2,1“-”I467,20$T1,1/ 关闭账户/Close Account%3,1“-”I468,20$T98,0/ *密码输入* / Enter Password%4,1“-”I469,20$T99,1/ 修改密码/ Change Password$O$O98%1,1I468,20/ -输入密码-/Enter PWD%3,1V1.0V1.0V1.0V1.0%3,5V1.0V1
64、.0V1.0V1.0/ 显示 * / Display *$O$O99%1,1I470,20/=*密码设定*=/ Change Password%2,1I471,6V1.0/ 密码等级: / PassWord Stage%3,1I472,10V1.0/ 显示 * / Display *V1.0V1.0V1.0%4,1-/结束行$OJuly 200766Sapro ACX84 HMI Training Siemens Building Technologies4.19 模板文件Template.txt的菜单编写 (5) 报警管理报警功能实现的代码在第200页$O200 和 第201页$O201,我
65、们可以直接引用页号进入这些页面来进行报警功能的管理.比如我们可以在$O56%1,1I458,20/=*报警管理*=/ Alarm Management%2,1-I459,20$T200,0/转到 当前报警 菜单/Jump to ActiveAlarm%3,1-I460,20$T201,0/转到 报警历史 菜单/Jump to AlarmHistory %4,1“-”/结束行$OJuly 200767Sapro ACX84 HMI Training Siemens Building Technologies4.20 模板文件Template.txt的菜单编写 (6) 语言选择语言选择的代码在原来
66、的第11页$O11中, 中的 61440,3,1 这个对象的成员用于决定HMI显示语言文件Language.csv中的哪一列,换到哪一列就实现了该语言的切换,它默认的就是Language.csv中的首列A列 (所以我们将首列菜单部分换成中文),和ObjLang.csv中的F列(所以我们将这列的报警部分内容换成中文)。我们可以将其稍作修改,引用在第80页$O80中如下:$O80%1,1I518,20/=*语言选择*=/Language Select %3,14F519.7/English*中文%4,1-/结束行$OJuly 200768Sapro ACX84 HMI Training Sieme
67、ns Building Technologies4.21 语言支持文件 Languages.csv您能基于设计好的 HMI 菜单结构来创建 Languages.csv 文件,列表包含若干个列,对应不同的语言。每个语言栏分别显示。 在文件中不能有空单元格。所有列中的单元格里都必须填充一些字符!另外,每个单元格内不能超过20个英文字符或7个中文字符!否则可能不能通过编译! 如果相应语言翻译还没准备好,您可以用您的国家的语言来填充其他列。为了更好地管理,您可以将每页菜单之间用无实际意义的中间行做间隔,然后用20个惊叹号来填充这些中间行。而且,您可以多预留一些这样地单元格,以方便日后延用,修改和维护H
68、MI菜单.例子:July 200769Sapro ACX84 HMI Training Siemens Building Technologies4.22 语言文件Language.csv里的菜单编写 (1)现在我们打开Language for ACX84HMI.csv,这是默认的标准语言文件Language.csv的副本.会发现它由两列组成,首列为英文,第二列为德文.我们将首列英文复制并粘贴覆盖掉第二列,再将首列语言提示改为Chinese,SJuly 200770Sapro ACX84 HMI Training Siemens Building Technologies4.23 模板文件Te
69、mplate.txt的菜单编写 小提示与小技巧 Tips1因Scope中的HMI编译器对模板文件的语法检查很严格,所以建议您每改动少量内容就存盘编译一次,这样有错的话容易判断出自哪里.我们HMI的密码功能是这样一个流程,某用户必须到密码功能菜单里输入他这一级的授权密码,一般为4位数字,当输完密码后无论正确与否,HMI都会转到首页,若密码正确,登录后此用户可以进入和查看授权页面或可以修改授权数据,若密码错误,则无权进入或修改.而且为了安全起见,每次Logout必须回到密码功能菜单里关闭账户Close Account.另外高级的授权用户登录后才可以修改低级授权用户的密码.为了美观和可操作性,中文优
70、先为了美观和可操作性,中文优先 ; 并建议如下并建议如下:1首页:厂商名称、常用状态参数,主菜单入口2以“”标示菜单入口3. 以“=”标示主菜单,“=*”标示二级菜单,“=*”标示三级菜单,以此类推。4以20个“”标示每页结束5中英文译名最好是用同样多的字符数,尤其是可修改的Field,如 “是*否” “Y*N”6V5.1的量在每行第14位置开始显示,ON/OFF和Yes/No在第18位置开始显示,其他酌情处理。7类似如此温度的显示内容编程V5.1S2时其单位“”显示应当用S2或者在如下页所示的任何一个Template.txt模板文档中第145页将第19或22行的“癈癈”作之间文本输出即可,而
71、不能用E0x1102.2,因为可能会数据造成无法更新。July 200771Sapro ACX84 HMI Training Siemens Building Technologies5. 报警调试及其他 Siemens Building Technologies5.1 报警列表的语言支持文件ObjLang.csv的编写(1)首先要从控制器ACX36中上载对象名语言文件ObjLang.csv到PC上来,并用Scope打开.July 200773Sapro ACX84 HMI Training Siemens Building Technologies5.2 报警列表的语言支持文件ObjLang
72、.csv的编写(2)然后复制 Appl.Lang.这一列到Com1,Com2和F,G列中,其中如前所述,对象名语言文件ObjLang.csv中的F列(Language01)对应语言文件Language.csv中的首列,在此例中即我们要用于显示的中文列.所以我们就把F列中会产生报警信息的单元格的文本内容翻译成中文即可.July 200774Sapro ACX84 HMI Training Siemens Building Technologies5.3 报警列表的语言支持文件ObjLang.csv的编写(3)将F列中会产生报警信息的单元格的文本内容翻译成中文.July 200775Sapro A
73、CX84 HMI Training Siemens Building Technologies5.4 编译出错提示July 200776Sapro ACX84 HMI Training Siemens Building Technologies5.5 HMI编译出错或显示诊断提示(1)若不能生成若不能生成 HMI.bin 则检查模板文件则检查模板文件Templates.txt中的代码部分中的代码部分:1有无非法的空格符(代码部分不允许有任何空格)2是否所有的十六进制地址都以 0x.开头?3每页的起始符和终止符 $O 是否错写成了0(零)?4所有的位置定义是否都以 a % 开头了?5所有的逗号都
74、是数据点所需要的么?6有没有非法格式的字符作标识符?7是否此行内的字符串长度超过了20?8点号和逗号等符号是否正确使用或者是否全为英文半角的?9语言文件Language.csv 是否真的是 *.csv 文件?编译报错的一个例子(错误提示):#20ErrorError in template 20.当进入当进入HMI的某页后出现了错误提示信息的某页后出现了错误提示信息 (已经提示了此错误的已经提示了此错误的 模板号码模板号码 template number即该页面和字符号码即该页面和字符号码character number):1.重新检查模板文件Template.txt中,尤其是提示的页面代码中
75、有无上述错误.2.是否链接到了不存在的页面或者空页面? (页面内必须含有内容才能被打开).July 200777Sapro ACX84 HMI Training Siemens Building Technologies5.6 HMI编译出错或显示诊断提示(2)数据点数据点(datapoint)显示错误或者根本就没有被显示出来显示错误或者根本就没有被显示出来 则检查则检查:1.是否数据点(datapoint)的地址有误?2.是否成员识别号(member ID) 和对象识别号(object ID) 有误?3.是否数据输出格式有误? (比如说本是 F2.0 格式误写成了 V2.0)4.是否为要显示
76、的字符串保留出了足够的字符长度? (过多, 或过少了?)5.登陆的用户有无相关权限?6.是否数据点的枚举文本有误?7.是否数据点的写权限UserAccess没有由原来的Auto(1)改成Hand(0) ?数据点数据点(datapoint)显示时不能及时更新或者值域中的字符会跳格重复显示显示时不能及时更新或者值域中的字符会跳格重复显示 则检查则检查:1.是否所显示数据点(datapoint)前面的中文有误?建议将此中文和数据点单独分行显示.2.是否此页面太长? 建议分页显示.3. 是否使用了某些汉字如”送”外”上”等,请用同义词替换之,如”送风温度”改为”供风温度”;”室外温度”改为”环境温度”
77、或”新风温度”;”上限”改为”高限”等July 200778Sapro ACX84 HMI Training Siemens Building Technologies5.7 一些小技巧 tips(1)一个中文字符跟一个英文等同的字符数,并非平常所认为的1中文字符2英文字符“”在英文中会被显示为“”英文字符如以全角模式写在语言文件Language.csv中再被索引输出到HMI上就可以与中文字符的尺寸大致相当.单位符“%”可以直接写,但是只能调用对象如S2 或 E0x1102.2,所以设定点中的SetpointReal模块中TXD项中全部用“癈”(),否则在Template中无法显示此项的单位了
78、。另外要注意的是可修改的值域后单位要用S2而不能用E0x1102.2,否则就不能修改此值了;而且E0x1102.2的用法可能会导致此值域的数据不能及时更新 。HMI操作:首页上直接按Enter即可进入第一级菜单(主菜单)里HMI操作:一页内若有几个输入值域Field,行间切换用 向上 Up与 向下Down 键,行内Field 用 Increase与Decrease 键来切换。HMI编译出现”Template interppreter Error:-130 Template:51” 问题时大多是第51页某行的值域字符超过行长问题。解决方法:使其小于行长,如、都在本行第14位置前起始即可。July
79、 200779Sapro ACX84 HMI Training Siemens Building Technologies5.8 HMI离线模拟器 EmulationSaphirScope 软件里提供了一个离线的HMI模拟器. 您可以使用它来测试您所设计的HMI的功能,此时无需真正连接一个ACX84. 但是, 您必须连接上 SAPHIR ACX36控制器.这个HMI的模拟器对您将来编写用户手册User Manual也极为方便.要运行此HMI离线模拟器, 在SaphirScope中 : Tools - Online -HMI Emulation. July 200780Sapro ACX84 H
80、MI Training Siemens Building Technologies5.9 HMI的调试, 查错 Debugging选择各个文件编译生成HMI.bin和OBH.bin并下载到ACX36控制器中去,然后进行HMI的调试.您可以选择Scope中的HMI Emulation离线模拟器进行大致和功能上的调试,但建议还是实际接上ACX84.910来调试您的HMI.(因模拟器中的中文显示可能会与实际ACX84的位置有差别)其实,HMI的编写和调试大多是同时做的,编写一段后,马上编译下载调试,发现错误后再反过来修改代码,如此反复多次,最终才会形成一个较好的HMI.July 200781Sapro ACX84 HMI Training Siemens Building Technologies Siemens Switzerland Ltd, Building Technologies Group想了解更多, 请参考培训光盘上的如下文档: P3694en 或 P3694cn 及 和 谢谢!July 200782Sapro ACX84 HMI Training