GCL+编程20071213.ppt_第1页
GCL+编程20071213.ppt_第2页
GCL+编程20071213.ppt_第3页
GCL+编程20071213.ppt_第4页
GCL+编程20071213.ppt_第5页
已阅读5页,还剩36页未读, 继续免费阅读

下载本文档

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

文档简介

GCL 编程 GCL GCL GeneralControlLanguagePlus 是Delta的通用控制语言 它提供基于英语的逐行编程模式 集标准程序语言的优点与自身特性为一体 使它成为最有效的自控编程语言之一 GCL 程序在控制器中以对象 Object 形式存在 并与其它对象创建方法一样 特点 动态数据 在察看一个控制器的程序时 用鼠标指向对象的描述符即可显示出动态数据 这种功能在程序代码纠错时相当有用 操作员可以用鼠标查看每一行代码来知道确切的过程值进而考证程序的运算结果 激活程序的修正 如果操作员希望改变程序代码 即可双击导航器右侧窗口中指定的程序被控对象来轻松打开程序 进而进行修改 修改完毕后点击 应用 或 确定 按钮确认 此时 控制器里的程序就会改变 在此过程中无需停止软件的运行 特点 分色编码功能 操作员查看和编辑程序时其语句内容可按不同的颜色显示 被控对象的描述符与GCL的函数是不同的颜色 用以区分数值和操作符 这些颜色可以根据操作者的习惯进行设置 程序追踪 每条程序代码的左侧都有一个小绿点 它显示该条程序是否运行 你可以清除这些追踪记录 并通过单击得到一个更新的踪迹模式 特点 特殊的语法帮助 在GCL 中有内容相关帮助功能 这样操作员可在任何时候将指针放在问题区域 然后按F1键就可以得到帮助 帮助屏幕将在标题处打开 例如 如果操作员将鼠标指针放在IF语句上 并按下F1键 那么帮助屏幕将打开到IF THEN语句的内容 提供它的用法说明 GCL 的赋值能力 操作员可在GCL程序的编辑状态下对被控对象赋值 鼠标放在选定被控对象上 单击右键然后选择命令并输入所需数值 该功能对纠正和诊断系统问题是相当有用的工具 GCL 的使用 一个程序不能超过999行 DCU为23 7k字节 DAC为5 5k字节 建议不要超过1k 每行不能超过255个字符 变量和常数只能用于被定义的程序中 可以使用子程序 一个完整的GCL 程序可以做为子程序 被CALL语句调用 可以控制一个或多个输出 程序计算采用32位浮点数和整数 程序可读写当地或远程BACnet对象 选用读方式 即将带地址的对象写在等号右侧 GCL 的使用 PG1从建立后 就会被一直执行 而其它的程序則不会被执行 除非在PG1中有调用其它程序语句CALL 可用对象名称或参考名进行调用 程序的执行 从上至下 一次一行 输出对象只有在进行一次完整的程序扫描的时候 才会被赋新值 也就是说 如果进行了多次赋值 起作用的只有最后一个 程序中应适当的加些空行 空格 和描述 以利于读程序和调试 程序中如果要引用较长或含有空格的对象名称时 可在名字两侧各加一个单引号 GCL 的使用 对于程序中的注释行 应该以 符号开始建议不要在程序中给AO赋值时应用数学运算符号 应该在程序中对本地变量或控制器中的AV对象通过数学运算符赋值 然后再把本地变量或AV对象值赋给AO应该尽量避免在程序中给远程对象赋值时进行数学运算 GCL 的使用 对于整数值应该在 2147483647和2147483647之间 实数值应该在 1 1038and1 1038之间对于逻辑值 1 0 TRUE 0 0 FALSE点的手动和自动状态 手动时该点的OutOfService 1自动时该点的OutOfService 0 示例 Statement Constant 常数 Variable 变量 Assignment 赋值 Example Dampers 50Chiller OnConstantSize 10ConstantMaximum 88 5VariableCountAsInteger Statement CALL 调用子程序或另一个程序 Example CALLUNOCCUPIEDCALLSAMPLE PROGRAMCALLPG6COMMENT 注释 Example CallthesubroutinetocomputeavalueCommandStatement Reset Start Stop RelinquishExample Resettimer1 TL1 CounterStartBO1 BO2Stopfan pumpRelinquishAO1 BO2 清除GCL 控制程序的赋值 Statement DOEVERY ENDDO 在一个给定的时间间隔后执行一组语句 Example DoEvery10MSetpoint Setpoint 1EndDoa 12DoEverya SValve Valve 1EndDoFOR ENDFOR 执行指定次数的一组语句 Step值默认时1 负数时表示减小 Example FORCount 1To10Step1number number 2EndFor Statement IF THEN ELSE ENDIFExample IfOat 30ThenFan OnEndIfIfOat 30ThenFAN OnElseFan OffEndIfIFONCE ELSE ENDIF 满足条件执行一次 Example IfOnceOAT 30ThenSetpoint 0EndIf StatusOperator BETWEENIfRoom TempBetween2224ThenStopFanEndIfCHANGEDIfbv1ChangedThenStartFanEndIfOFF ONIfFANOffThenStartPUMPEndIfOFFFOR ONFORIFCHILLEROffFor30MThenStopPUMPEndIf LogicOperator AND NOT OR XORExample IfPUMPOnAndWEEKLY SCHEDULEOnThenStartFANEndIfIF SCHEDULEOff Or TEMP 18 ThenStopFANEndIfXOR 只有当两个条件一个TRUE 另一个为FALSE时返回值才为TRUE ComparisionOperator Example IfRoom Temp 23ThenStartCoolingEndIf MathematicalOperator MODExample HEATING VALVE TEMP 5 2AV1 2 2 AV1 4 求幂 AV1 4MOD2 AV1 0 取模 BitwiseOperator 位非 位与 位或 位异或 Example VariableFanStatusAsInteger 10 1010 8 1000FanStatus 10 8 则fanstatus 8FanStatus 8 则fanstatus 7FanStatus 10 8 则fanstatus 10FanStatus 10 8 则fanstatus 2 StringConcatenationOpetator Example Outstring system printer resultisoutstring systemprinter OpeartorPrecedence 1 优先级最高 以下逐步次之2NOT 3 MOD4 5 BETWEEN CHANGEDON OFF ONFOR OFFFOR6AND OR XOR Function ABS 绝对值 DIFFERENCE ABS OTEMP SETPOINT ARCCOS ARCSIN ARCTAN COS SIN TANMyNumber ARCCOS 0 866 AVERAGE MIN MAXA Average Room 1 Room 2 Room 3 MaxVal Max 30 40 50 10 DAYON 如果日历中的指定day是on 则为TRUE IfDayOn CAL5 21 May Then DECIMAL 取一个Value的小数部分 Result Decimal 30 75 Returns0 75 Function DEWPOINT 露点 通过湿度和温度计算 ENTHALPY 焓 能量单位 与温度和湿度有关 Dewpoint Temp Dewpoint Oah Oat F Rm12 Enthalpy Enthalpy Oah Oat F LASTOFF LASTON NEXTOFF NEXTON 取时间表的数值 TimeValue LastOff SCH5 LEFT RIGHT MID LENGTHOut LEFT name 7 ROUND TRUNCATEMyNumber Round 123 5 Returns124MyNumber Round 123 432 1 Returns123 4MyNumber Truncate 30 92 Returns30POWERUP 上电后第一次扫描时 IfPOWERUPThenPrint hello Endif SystemVariable DAY 1 366 DATE 23 NOV 05 DECIMALTIME 12 42 1270 HOURS 0 24 MINUTES 0 59 MONTH 1 12 MONTHDAY 1 31 SECONDS 0 59 TIME 7 30or730 WEEKDAY 1 7 YEAR 2005 星期一 WEEKDAY 1星期日 WEEKDAY 7 程序的输入 系统变量 DAY DATE DECIMALTIME HOURS 等 对象 ObjectReferenceOrObjectnameExample 对象参考名 AI2 60调用本地对象 工作站或控制器 336 AI2 60调用其它设备上的对象对象名字 Temp 60对象特性值 Objectname PropertiesExample AI1 value 60 给AI1的值赋值为60 编辑GCL 程序 有语法错误 有未定义的符号 执行错误 语句不完整 编辑GCL 程序 注意观察程序的 数值 Running 正常运行Idle 程序被手动停止Waiting 程序没有在PG1中被Call 编辑GCL 程序 注意观察程序的 状态 程序正常运行时 该列不显示文字 当程序有错误发生时 显示Fault 编辑GCL 程序 在程序中可以命名程序行的名称 通过GOTO在行间进行跳转 程序行名称以 结束 编辑GCL 程序 当程序中一行中的语句太长时可以通过连接符号 将两行连接在一起 正确写法 AV1 AV1 2错误写法 AV1 AV1 2 编辑GCL 程序 避免以下程序问题的出现 1 IfSCH1 OnThenIfOnceBO1OnFor5MThenBO2 OnEndifEndif2 IfOnceSCH1 OnThenDoEvery5MAV1 AV1 1EnddoEndif 小练习1 建立对象AV1 AV2 AV3 其中AV1的名字是a AV2的名字是b AV3的名字是c AV1值任意指定 0 100 AV3值任意指定 0 100 若AV3AV1 则AV2 1 若AV3 AV1 则AV2 100 小练习2 建立对象BV1 BV2 BV3 BV4 BV5 其中BV1的名字是BBVV1 BV2的名字是BBVV2 BV3的名字是BBVV3 BV4的名字是BBVV4 BV5的名字是BBVV5 条件 BV1 BV4中至少有两个或以上BV为On时 BV5值为On 其它时间BV5为Off 小练习3 3月两台风机的启停时间安排如下 正常工作日 周一至周五 时 风机1与2均为早8点至晚6点运行 3月12号这一天为特殊时间表 风机1的启动时间为早上8点到中午12点 风机2的启动时间为下午2点到下午6点 GCL练习 污水泵的控制 1 监控点 3个液位点 2个泵的控制点2 控制要求 当液位第 奇数 次由低 高时 泵1运行 当液位第 偶数 次由低 高时 泵2运行 当液位由高 超高时 泵1 2同时运行 当泵液位为低时 泵1 2停止运行 其他过程水泵无变化 GCL编程练习 GCL 编程练习 DAC633 输入点 AI1 送风温度监测AI2 送风湿度监测BI3 送风机运行状态BI4 送风机故障报警BI5 防冻报警BI6 过滤器堵塞报警输出点 BO1 送风机启停控制BO2 新风阀控制BO3 加湿控制AO4 盘管水阀调节 GCL编程练习 控制策略 送风机按时间表启停 新风阀与送风机启停联锁 送风温度与送风温度设定值的偏差进行PID运算 调节盘管水阀的开度 当送风湿度小于送风湿度设定值 打开加湿阀 监测过滤器状态 过滤器堵塞产生报警 监测防冻状态 当产生防冻报警时 关闭新风阀 送风机 盘管水阀开度最大 累计风机运行时间 超过10000小时 生成报警 进行检修 GCL编程练习 AIC1 配置温度值输入 AIC2 配置湿度值输入 BDC1 配置 运行 停止 汉字显示 BDC2 配置 故障 正常 汉字显示 BDC3 配置 已脏 清洁 汉字显示 BDC4 配置 打开 关闭 汉字显示 AOC1 配置2 10V阀门输出 CO1 夏季PID控制CO2 冬季PID控制SCH1 日时间表9 00 18 00 BT1 风机的运行时间TL1 送风温度趋势记录EV1 过滤器报警EV2 防冻报警EV3 风机运行时间超时报警AV1 夏季送风温度设定值AV2 冬季送风温度设定值AV3 送风湿度设定值BV1 当前季节 1为夏季 0为冬季 PG1 主程序 GCL编程练习 FancontrolBO1

温馨提示

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

评论

0/150

提交评论