ppcl编程手册

上传人:xzh****18 文档编号:34590733 上传时间:2018-02-26 格式:DOC 页数:42 大小:339.50KB
返回 下载 相关 举报
ppcl编程手册_第1页
第1页 / 共42页
ppcl编程手册_第2页
第2页 / 共42页
ppcl编程手册_第3页
第3页 / 共42页
ppcl编程手册_第4页
第4页 / 共42页
ppcl编程手册_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《ppcl编程手册》由会员分享,可在线阅读,更多相关《ppcl编程手册(42页珍藏版)》请在金锄头文库上搜索。

1、西门子楼宇科技现场控制器控制程序 (PPCL) 基本概论及指令说明( Powers Process Control Language, PPCL)第 3.0版2004 年 7月 27日修订1. 基本概论1.1 现场控制器控制程序 (Powers Process Control Language, PPCL)现场控制器 DDC 会经由一组顺序之指令,执行系统的控制及能源管理。PPCL 是由各种型态的指令所构成,每一行指令皆根据一特殊的格式,来执行一特殊的任务。PPCL 是根据已建立在数据库内的系统监控点,以及事先定义的特殊逻辑点与变量来运作的。这些特殊逻辑点具有一特定保留的点名称,并且是常驻于控

2、制器的通讯控制卡(Line Card )内。1.2 PPCL 程序程序是一组告诉计算机如何处理指令的信息集。而 PPCL 程序包含的每一行指令,控制器会以一行接一行(Step-by-step)的方式来处理这些程序。1.3 PPCL 程序的操作原理PPCL 运作时,会对一组程序中每一行程序不断地执行,但每一次只执行一行程序,然后再执行下一行程序。在最后一行程序执行完毕后(最后一行程序为行号数最大的程序) ,控制器会回到程序的第一行,继续执行程序。当每一行程序被执行时,若该行程序具有监控点,则控制器会审视系统监控点数据库,若有需要,监控点亦会被控制,而各监控点最后的数值或状况会被应用。换言之,每一

3、行程序所使用的数值或状况亦为各监控点最后的数值或状况, 而若参考之监控点为输出点,则该点最后被控制的状况或数值,会被程序参考,这个意思表示,在 PPCL 程序执行的过程中,一特定监控点的数值或状况可能会改变很多次,或者没有改变。任何未被解析的 PPCL 程序,皆不会被执行。而所谓的未被解析的 PPCL 程序是指,该行程序或内所包含的系统监控点,没有被定义,或没有出现在网络上。PPCL 程序内含有失效(Failed )或操作者除能(Operator Disabled)监控点时之运作:当一 PPCL 程序内所含之监控点,其操作状态为失效或已被操作者除能时,该行 PPCL 程序仍会被执行,而所用监控

4、点的数值或状态,为该点尚未失效或被操作者除能前的最后一已知数值或状态。1.4 PPCL 程序的一般规则1.4.1 每一部控制器,皆需要一个别的控制程序。1.4.2 每一行 PPCL 程序,皆须具备一单独的行号,而每一个行号的数值必须在 1 至 32767 的数值内,且必须按照数值递增的方式设定。1.4.3 每一行 PPCL 程序,最多可包含 72 个字符,两行 PPCL 程序可利用 (&) 符号连结,而成为单一执行的程序,但此两行连结的程序,其字符不可大于 144 个字符。1.4.4 每一个 PPCL 程序之最大内容限度,完全取决于该控制器之随机内存 (RAM) 的大小而定。1.4.5 PPC

5、L 程序执行时,是依照各程序行号,由小而大,依序执行下来的。当最后一行程序执行完毕后,控制器会自动执行程序的第一行,并且继续往下执行,周而复始。1.4.6 一 PPCL 程序完整地被执行,是指该程序的第一行,及最后一行皆被执行过。1.4.7 每一程序由 1 个或多个 PPCL 编辑组合。 1.4.8 每一程编辑述必须指定 1 个唯一的行号,有效的行号为 132767。1.4.9 控制器最大行号受限于控制器的总内存容量。1.4.10 当从控制器 MMI PORT (APOGEE 除外)编辑程序时,每行最多字符数为 72,如要输入更多字,在行末加&(AND)符号,继续在下一行编写,全行所有字符数包

6、含&(符号),不能超过 144 字符。1.4.11 程序是依照它的行号顺序执行的,除非使用其它指令外,当最后一行程序后执行,计算机会自动回动第一行程序,继续执行。1.4.12 所有种类 Firmware 除 APOGEE 外,程序的循环,程序到最后一行都必须被执行过。1.4.13 用于程序所有实际和虚拟的监控点,都必须定义其 Database。1.4.14 监控点名开始为数字时,必须在前缀加(at)符号。1.4.15 子程序的过程控制中必须且唯一使用 RETURN 命令未转换执行。除了之前规则外,以下规则应用在 APOGEE Firmware:1.4.16 APOGEE PPCL 程序使用一个

7、指定点名,有效的点名能使用 130 个字符,包含:A-Z,a-z ,0-9,空格,顿点,一,_, 。1.4.17 假如监控点点名用于 PPCL 中,大于 6 个字符或使用非”A-Z,0”字符,此监控点名必须使用双引号标注,例如: 560 ON (B2SFN, ”BUILDING1,AHU01,SFAN”)第 1 点(B2SFN) 不须引号,第 2 点(BUILDING1,AHU01 ,SFAN) 是长点名,必须用引号。1.4.18 当从 APOGEE 控制器 MMI PORT 建立程序,每行最多字符数目为 66(含行号),昭果需要输入更多,在行尾加”&”符号,继续在下一行输入字符,最多字符数允

8、许在三行内所有字符是 198 个(含”&”字符和行号)。1.4.19 每一控制器执行 PPCL 包含 1 个或多个独立的程序。1.5 PPCL 程序解析操作员可经由操作终端机或系统报表机上,显示或打印 PPCL 程序。而每段要显示或打印的程序,是以每部控制器的编号及 PPCL 程序的行号,为显示或打印的基准,且这些数据,必须由操作员定义。当 PPCL 程序被显示或打印时,在每一行 PPCL 程序的启始部份,会出现此行的状态码,如下图所式:表 1. PPCL 程序报表及状态码定义2.编程策略编程策略是一个策略或程序步骤的宣告,指导方针是帮助你避免一般程序错误,指导方针亦帮助你编辑程序能汲执行更快

9、,更容易继续。PPCL 指导方针如下:1.程序被编辑定义在某台控制器内,不应控制不同控制器内的控制点(程序不应跨台控制)。2.时间性的控制指令(例如:LOOP,SAMPLE,TOD ,WAIT.),应该计算从程序每一过程中最适当的值。3.尽量使用程序库中相同控制功能于其它控制器中,登用的程序在控制器中可减少测试时间,程序逻辑错误减少到最少。你必须修改登用的程序中所对映的监控点名在控制器内, 。4.程序行号必须使用 10 的倍数(10,20,30)或更多为起始号码,这惯例是为提供行间可做为修改程序的使用。5.第 1 行程序应为程序处理执行过程的开始,如果程序执行被中断(例如:某时电源失效) ,总

10、是从程序第 1 行重新开始执行。6.指引路径的命令(例如:GOTO)应该引导过程控制,至继续的下某行号,这是防止程序从循环回路中停滞。7.尽可能使用批注行号为程序逻辑提供说明,这强调一个程序设计构造的原理。8.监控点名使用于程序中应该从意义描述功能来使用,使如监控点是监视外气温度,直该命OA TEMP 点名。9.一个子程序最合适被使用情况,使用多个有效益的子程序区取代者直行的原则。10.当使用时间性指令,得知控制器可能行多行程序,例如:版本为 3.0 的控制板每秒可执行 350 行,版本为 4.0 可执行 500 行。3.系统常驻指令Resident point 系统常驻指令:系统常驻指令提供

11、基本时间和系统状态讯息,指令的值能够测试或分配给其它监控点,系统常驻指令是由控制器预先定义及保持。由于每一控制器拥为自己的系统常驻指令,系统常驻指令不可直接跨网络使用。PPCL 提供以下系统常驻指令:1. Alarm count (ALMCNT) 警报计数使用:ALMCNT 的值是由控制器或 UC 所属监控点现在的 ALARM 状态的数字,当控制器的监控点为 ALARM 状态时,ALMCNT 的值+1 ,当监控点回后 NORMAL 状态时 ALMCNT 的值-1。例句:340 IF ( ALMCNT .GT. O ) THEN ON ( ALARM 7 ) 监控点必须定义”alarmable”

12、,用来计算当监控点为 ALARM 状态,控制器总计接收,ALMCNT,ALMCT2 计数工作相同于加强型警报作为正常警报。 监控点特别的警报位阶并不影响”ALMCNT” 和 ”ALMCT2”,当加强型警报监控点改变 警报位阶不会再次计数增加。 使如监控点失效(*PDSB*)或手控失效(*ODSB*),ALMCT 将仍计算增加各减少。2. Alarm count2 (ALMCNT2) 警报计数(第 2)使用:这是类似于 ALMCNT 的监控点,ALMCT2 不同为当监控点为 ALARM 状态,第二警报计数将累加,当控制器监控点为 ALARM 状态,ALMCNT 和 ALMCT2 值都+1 ,当监

13、控点回复 NORMAL 状态,ALMCNT 和 ALMCT2 值都-1。例句:340 IF ( ALMCNT2 .GT. 5 ) THEN ON ( ALARM 8 ) 监控点必须定义数字监控点输入”alarmable”和 enable ALMCT2。3. Battery status ($BATT) 电池状态使用:测试控制器备用电池的状态为( 0 , 50 , 100 ) 或 ( DEAD , LOW , OK )例句 1:200 IF ( $ BATT .EQ. 0 ) THEN ALARM ( P26 BAT )例句 2:200 IF ( $ BATT .EQ. DEAD ) THEN

14、ALARM ( P26 BAT )4. Decimal time ( CRTIME ) 小数表示的时间 使用:当前的时间以小数点二位时间表示7.15am : 7.257.30pm : 19.50CRTIME 值的范围由 0.0023.99721例句 1:510 IF ( CRTIME .GE. 6.75 .AND. CRTIME .LE. 17.50 ) THEN ON ( SFAN ) ELSE OFF ( SFAN )CRTIME 可以用来指派当前的时间值给虚拟 LAO 点,允许你显示于动态图 POINT LOG。 CRTIME 是每秒更新。5. Day (DAY)日/周使用:当前每周的日

15、期,以值(17)表示 NO Day of the Week1234567MondayTuesdayWednesdayThursdayFridaySaturdaySunday例句:300 IF DAY ( .EQ. 1 ) THEN TOTRAN = 0 这些值与模式用 TODMOD 句子是没有关系。6. Day of the month (DAYOFM)日/月使用:DAYOFM 值为 131,指定任一月份的特别日的动作。 例句:DAYOFM 帮助你于特别日执行必须的动作。7. Communications link (LINK)使用:判断控制器(自己)联机状态0 未联机1 正常联机例句:300

16、 IF ( LINK .EQ. 0 ) THEN ON (ALALM)8. Month (NONTH) 月 使用:表示当前的月份NO Day of the Week123456789101112JanuaryFebruaryMarchAprilMayJuneJulyAugustSeptemberOctoberNovemberDecember例句:950 IF (MONTH .GE. 4 .AND. MONTH .LE. 10) THEN SESON=1 ELSE SEASON=09. Node number (NODEONODE99) 网络节点编号(099)句法:(NODEONODE99)为网络上目前节点数(099)使用:判断网络节点联机状态是否 FAILED造句:600 IF ( NODE22 .EQ. FAILED ) THEN ON ( ALARM )10. Peak Demand Limiting Point ($POL) 契约容

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 理论文章

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号