WebFieldECS-700系统组态工程师培训用户程序及功能块用户程序一、概要IEC61131-3是可编程序控制器的编程语言的标准,它将现代软件的概念和现代软件工程的机制与传统的PLC编程语言成功地结合,使它在工业控制领域的影响越出PLC的界限,成为DCS、IPC、PAC、PC控制、运动控制以及SCADA的编程系统事实上的标准。简介图形化编程语言1•功能块图(FBD:FunctionBlockDiagram)•梯形图(LD:LadderDiagram)•顺控图(SFC:SequentialFunctionChart)文本化编程语言2•结构化文本(ST:StructuredText)•指令表(IL:InstructionList)简介二、基础概念VisualField系统软件符合IEC61131-3标准,为用户提供高效的图形编程环境。编辑工具:功能块图(FBD)、梯形图(LD)、顺控图(SFC)、结构化文本(ST)。简介简介数据类型1•作用:规定数据存放空间大小,对应数据对象;简介变量类型2•作用:中间运算值存放,运算结果调用;功能块图-FBD功能块图•程序页名称、类型、描述•程序页属性新建程序页1周期相位:为实现分配控制器程序运行负荷的目的优先级:同相位分低、中、高三个级别•程序页密码功能块图•控制器周期FBD程序建立2•数据引用功能块图位号、变量位号成员•功能块引用\设置•信号连线AI位号成员数据类型描述默认值FLAGUDINT质量码0PVREAL过程变量0.0SWAMBOOL自动标志(OFF=手动,ON=自动)ONSIMINREAL仿真输入值0.0SWSIMBOOL仿真输入选择开关(ON=仿真,OFF=非仿真)OFFSWOOSBOOL位号禁止(ON=禁止,OFF=使能)OFFSCHREALAI工程量程上限100.0SCLREALAI工程量程下限0.0LCUTREAL小信号切除值(百分量)0.5SWLCUTBOOL小信号切除开关(ON=切除,OFF=不切除)OFFTFLTREAL滤波时间常数(以秒为单位)1.0DPVREAL预设的单周期变化率报警限(每秒的变化量)100.0ERRBOOL位号状态标志(ON=坏)OFFCOMMCODEUSINT4字节通信位号的状态码0AO位号成员数据类型描述默认值FLAGUDINT质量码0INREAL输入的实时值0.0TVREAL跟踪输入值0.0OUTREALAO输出值0.0BKOUTREAL反演计算值0.0SWAMBOOL手自动开关(OFF=手动,ON=自动)OFFSWTRBOOL跟踪开关(ON=跟踪,OFF=不跟踪)OFFSWOOSBOOL位号禁止开关(ON=禁止,OFF=正常)OFFSCHREAL输出量程高限100.0SCLREAL输出量程低限0.0TBREAL平衡时间常数(以秒为单位)0.5HOLIMREAL输出高限限幅值100.0LOLIMREAL输出低限限幅值0.0RAWVALREAL输出信号原始码0COMMCODEUSINT4字节通信位号的状态码0BKOUTERRBOOL反演计算输出状态ONDI位号成员数据类型描述默认值FLAGUDINT质量码0PVBOOLDI过程变量值OFFAVUDINTDI上升沿累积值0.0SWSIMBOOL输入信号源选择(ON=仿真,OFF=非仿真)OFFSIMINBOOL仿真输入值0SWAMBOOL手自动开关(OFF=手动,ON=自动)ONSWOOSBOOL位号禁止开关(ON=禁止,OFF=使能)OFFAVRSTBOOLDI上升沿累积复位开关(ON=复位,OFF=不复位)OFFAVSTRTBOOLDI上升沿累积控制指令(ON=启动,OFF=保持)OFFERRBOOLDI位号状态标志OFFDO位号成员数据类型描述默认值FLAGUDINT质量码0INBOOL输入值OFFTVBOOL跟踪输入值OFFOUTBOOLDO输出实时值OFFBKOUTBOOL反演计算值OFFSWAMBOOL手自动开关(ON=自动,OFF=手动)OFFSWTRBOOL跟踪开关(ON=跟踪,OFF=不跟踪)OFFSWOOSBOOL位号禁止开关(ON=禁止,OFF=不禁止)OFFBKOUTERRBOOL反演计算输出状态ON功能块库3功能块图•运算功能块•处理功能块•控制功能块•通讯功能块运算功能块运算功能块•算术运算功能块运算功能块•例题:求一级进口压缩空气压力(PI_101),二级进口压缩空气压力(PI_201)之间的压力差(Pd_001)。•例题:某装置出水阀(XV8219_OC),由变量XV8219OC间接控制。运算功能块•比较运算功能块运算功能块•例题:某储罐液位LI_101(工程量程0~100%),当超过85%时要求打开电磁阀KO_101。运算功能块•逻辑运算功能块运算功能块•例题:1#泵DI_001、2#泵DI_002,两个泵都启动(ON状态)后,打开DO_003;任意一个泵停止(OFF状态)后,关闭DO_003运算功能块•开关正跳变计数:PVDI•脉冲增减计数:COUNTER•开关边沿触发:TRIGINOUTT运算功能块•触发器:RS/SRRDV=OFFS=ONDV=OFFS=ONDV保持原状态•触发器:D若时钟信号CLK的上升沿到来,则输出DV=输入IN;若置位信号S=ON,则输出DV=ON;且其优先级高于时钟信号;若复位信号R=ON,则输出DV=OFF;且其优先级高于时钟信号;运算功能块•例题:当压力PI_101(0~10MPa)高于6MPa时打开阀门KO_103,但要求操作员可以按下手动开关MT(为ON时)强行将该阀门关闭。运算功能块•定时器TIMER:TOFF:运算功能块TON:输出OUT上升为高电平并一直保持到RST复位信号的上升沿到达.TON_HOLD:运算功能块TP:TP_TR:若DT大于0,小于一个控制周期,OUT为ON的时间为一个控制周期运算功能块•例题:某反应塔进料温度TI_101(0~1000℃)超过600℃时,延时3秒后关闭电磁阀KO_102.•例题:某自复位开关DO_S201,要求按下启动后,输出5秒的脉冲ON信号,5秒后自复位.运算功能块•选择运算功能块运算功能块TWOSEL:THRSEL:ISEL8:运算功能块ASW\DS\SS8:运算功能块•例题:求三个温度信号TI_201,TI_202,TI_203的平均值(变量T_AVE1)•例题:由选择开关SEL_FIA选择参与控制的流量信号,SEL_FIA为OFF时,FI_201作为参控流量信号;SEL_FIA为ON时,FI_202作为参控流量信号。运算功能块思考题:Start为开灯按钮,为灯控输出信号。当Start为ON时要求灯DO001开5秒关5秒,交替闪烁。当Start为OFF时灯关。处理功能块处理功能块•模拟量处理功能块•模拟量处理功能块处理功能块•例题:某流量信号FI101(0-100M3/h)需要实现累积。•例题:在工艺操作中,为了便于生产调度,需要罐液LI_301(0~100%)转化为罐容积VI_101.处理功能块•例题:差压式流量计测量过热蒸汽流量,过热蒸汽的设计压力为4MPa(表压),设计温度为400℃;过热蒸汽的实测压力为PI-101:0~6MPa(表压),实测温度为TI-101:0~600℃,流量为FI_101(已在变送器上进行开方处理),补偿后的流量为BC_FI_101.处理功能块•IO特殊处理功能块处理功能块•例题:当前控制站中的本地AI721-S模块安装在第二个机架的第3槽位,采用就地冷端补偿的温度修正。•例题:当前控制站需要实现机柜报警,要求电源1高限或低限报警时在监控上提示(Power1_ALM);电源2高限或低限报警时在监控上提示(Power2_ALM);机柜温度在监控上显示(TEP_ALM)。处理功能块控制功能块控制功能块•回路控制功能块•例题:单回路液位LT通过位号LT001测量,输入流量LC通过LC001输出,气开阀。控制功能块•例题:上例单回路控制中的流量不稳定,可采用串级控制,液位LT通过位号LT001测量,LC通过LC001输出,气开阀,输入流量为FT001。控制功能块•例题:两种流体,需要按一定的比例进行混合:F1/F2=1.4,产生一种产品。假设流量F1通过位号FL001测量,流量F2通过位号FL002测量,通过FC001控制阀门。控制功能块•例题:反应釜中,根据产品流出量来控制进料。为了保证控制精度及阀门动作的快速性,采用两个阀门对流量进行控制,其中F1所对应的阀门通过位号FC001控制,是精调阀,F2所对应的阀位通过位号FC002控制,是粗调阀,FO通过位号FL001测量。控制功能块通讯功能块通讯功能块•站间通讯功能块运算功能块•例题:位号FI001由控制器1(地址为0.4)采集,而控制器2(地址为10.6)需要该位号的值与强制/非强制状态参与运算。在控制器2中,我们用自定义模拟量FT_001来接收FI001.PV的值,用自定义开关量FT_001_SWAM来接收FT001.SWAM的值。。过程控制网0.20.4SendGet梯形图-LD梯形图新建程序页1添加段落2标准段落:包括左汇流条、常开触点、常规线圈、右汇流条段落注释:双击汇流条梯形图•汇流条梯形图添加元素3•触点梯形图IN梯形图INPNTT梯形图•线圈梯形图OUTOUT梯形图OUTSOUTR梯形图OUTpOUTNTT梯形图•功能块库运算功能块:算术、比较、逻辑、选择处理功能块:模拟量处理控制功能块:逻辑控制通讯功能块:通讯辅助•例题:与、或功能用户功能块-STST语言新建功能块1添加参数2添加变量3ST语言编写代码4•函数ST语言编写代码4•函数ST语言•操作符ST语言•关键字及语法赋值语句:=IF语句IF条件表达式1THEN...(*语句序列1*);ELSEIF条件表达式2THEN...(*语句序列2*);ELSEIF条件表达式3THEN...(*语句序列3*);ELSE...(*语句序列4*);END_IF;ST语言CASE语句CASE整型变量OF1:...(*语句序列1*);2:...(*语句序列2*);ELSE...(*语句序列3*);END_CASE;ST语言FOR语句FORI:=1TO100BY2DODOSOMETHING();END_FOR;WHILE语句WHILE条件DO…(*语句组*)END_WHILE;ST语言ST语言例题:自定义综合算术运算模块Mode=1:OUT=IN1+IN2Mode=2:OUT=IN1-IN2Mode=3:OUT=IN1*IN2Mode=4:OUT=IN1\IN2ST语言例题:自定义三选二运算模块例题:自定义系统计时器TimeST语言例题:流量累积运算模块SW累积控制开关;QL流量清零开关;IN流量信号输入;FQ流量累积值ST语言谢谢!