




免费预览已结束,剩余69页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,第一讲 wago-i/o-pro 32 概述,wago-i/o-pro 32是基于 wago - i/o - system 750 系列可编程现场总线控制器(pfc)的编程开发与可视化图形监控工具软件。,wago-i/o-pro 32符合iec 61131-3国际标准,提供标准的开发环境与基于该标准的6种程序设计语言: 梯形图程序设计语言(ld) 语句表程序设计语言(il) 顺序功能流程图程序设计语言(sfc) 功能块图程序设计语言(fbd) 结构化文本程序设计语言(st) 连续功能图程序设计语言(cfc),2,wago-i/o-pro 32 功能:,第一讲 wago-i/o-pro 32 概述,丰富的程序功能指令 wago-i/o-pro 32提供了位逻辑运算、整数与浮点数运算、定时器与计数器功能、比较与赋值功能、移位与循环功能、数据类型转换功能、 pid功能等大量丰富的程序功能指令。 此外, 用户还可以根据特定需要编写自己的功能块、子程序。 离线程序仿真 用户应用程序可在计算机中进行仿真执行,无须将其下载到pfc中,方便用户对程序的测试与修改并节省了开发时间。 在线监视 在程序离线仿真或联机运行的过程中, 用户可以在wago-i/o-pro 32中以文本或图形的方式监视程序运行状态及数据变化情况。 诊断与调试 在程序离线仿真或联机运行的过程中,用户可以通过在程序中设置断点、逐步执行程序、手动为变量赋值等方式对程序进行诊断与调试。 多任务管理 wago-i/o-pro 32 提供了多任务管理功能,复杂的应用系统可以划分为多个任务,任务的执行取决其优先级与执行条件,降低了系统的响应时间。,3,编程工具组件:,第一讲 wago-i/o-pro 32 概述,用户手册 订货号:759-122/000-002 通讯电缆 订货号:750-920 软件光盘及授权 订货号:759-332/000-002,系统要求:,计算机:intel pentium或更高 操作系统:ms-windows 9x/nt 4.0 内存:16mb ram ( windows 9x ) 64mb ram (windows nt 4.0) 至少10mb本机硬盘空间 鼠标 2倍速以上光驱 rs232串行口,通讯电缆,rs232,4,第二讲 wago-i/o-pro 32 中的pou,wago-i/o-pro 32以项目(project)的方式管理用户的应用程序,一个项目包含如下组件: pou(程序组织单元)、数据类型、程序资源、函数库与可视化元素。,pou包括功能(function)、功能块(function block)、程序(program)三种类型。 每一个pou包含两部分:变量声明部分与程序指令部分。程序指令部分可选用六种语言(il、ld、sfc、fbd、st、cfc)中的任意一种或多种编写。 iec标准功能块包含在“standard.lib”库文件中,每一个新建项目均自动加载standard.lib。 某一pou可在另一pou中被调用,程序中不允许递推。,变量声明部分,程序指令部分,5,1、功能(function),第二讲 wago-i/o-pro 32 中的pou,function作为一类pou,包含一部分程序,这部分程序可以在主程序中被多次调用, function在被调用时返回一个数据。 function在基于脚本的程序设计语言(如st)中可以作为表达式中的一个操作数;在基于图形的程序设计语言(如fbd)中以图形的方式调用。 在声明一个function后,需要指定该function所返回的数值的数据类型。 function的名字为该function的输出变量结果。 function不具有内部条件,当用相同的参数多次调用某一function时,该function总是返回相同的数据。,变量声明部分: function fct: int var_input par1:int; par2:int; par3:int; end_var 程序指令部分: ld par1 mul par2 div par3 st fct,int: function返回的 数据类型 fct: function名 声明输入变量 fct=(par1*par2/par3),6,功能的调用,第二讲 wago-i/o-pro 32 中的pou,在il中调用: ld 7 fct 2,4 st result,在fbd中调用:,在st中调用: result:=fct(7,2,4);,7,2、功能块(function block),第二讲 wago-i/o-pro 32 中的pou,功能块作为一个pou,包含一部分程序,这部分程序可以在主程序中被多次调用, 功能块在被调用时输出一个或多个数据。与function不同,功能块没有返回值。 功能块以调用其实例(instance)的方式执行。功能块的实例需在pou的变量声明部分进行声明。实例可以声明为局部实例或全局实例。 功能块的实例可以在程序或其他功能块的变量声明部分声明,不允许在函数的变量声明部分声明。 功能块实例的输入输出变量可以在pou中设置,内部变量在调用时对于用户是不可见的。 功能块的所有变量的数据在被调用后保留直至下一次调用;以同样的参数多次调用功能块,功能块不一定会输出相同的数据。,变量声明部分: function_block fub var_input par1:int; par2:int; end_var var_output mulerg:int; vergl:bool; end_var 程序指令部分: ld par1 mul par2 st mulerg ld par1 eq par2 st vergl,声明输入变量 声明输出变量 mulerg=par1*par2 par1=par2 vergl=true par1par2 vergl=false,8,功能块的调用,第二讲 wago-i/o-pro 32 中的pou,程序声明部分: program awl var quad:bool; instanz:fub; (*声明功能块的实例*) erg:int:=0; (*声明变量并赋初值*) end_var,在il中调用: cal instanz(par1:=5,par2:=5) ld instanz.vergl st quad ld instanz.mulerg st erg,在st中调用: instanz(par1:=5,par2:=5); quad:= instanz.vergl; erg:=instanz.mulerg;,在fbd中调用:,9,3、程序(program)与 plc_prg,第二讲 wago-i/o-pro 32 中的pou,程序作为一个pou,在执行过程中输出一系列数据。在一个项目中,程序属于全局元素。 程序可以被调用,但不能在功能中调用程序。与功能块不同,程序的调用不通过实例。 程序中所有变量的数据在被调用执行后保留直至下一次执行。与功能块不同,调用功能块只是改变该功能块一个实例中的变量的数据。,plc_prg是项目中系统预定义的一个特殊的程序。 plc_prg每一循环周期被系统调用执行一次,相当于一个单任务程序的主程序。 plc_prg 在用户建立一个新项目时由系统自动加载。 当用户在项目中进行了多任务管理的相关设置后,系统可以不需要plc_prg 。否则,用户不要删除plc_prg或改变其程序名。,变量声明部分: program prgexample var_output par:int; end_var 程序指令部分: ld par add 1 st par,10,程序的调用,第二讲 wago-i/o-pro 32 中的pou,在il中调用: cal prgexample ld prgexample.par st erg,在st中调用: prgeample; erg:= prgeample.par;,在fbd中调用:,erg,par,11,第三讲 wago-i/o-pro 32 数据类型,布尔型 bool: 真( true )与 假( false ),占用1位(bit)地址空间 整型,12,实型,第三讲 wago-i/o-pro 32 数据类型,字符串型 string: 字符型数据的宽度在变量声明时指定,若没有指定,系统默认宽度为80个字符。每个字符占一个字节(8 bit)的地址空间。 举例:str:string(35)=this is a string;,又称浮点型。 real: 占32bit地址空间,13,日期 / 时间,第三讲 wago-i/o-pro 32 数据类型,14,日期 / 时间,第三讲 wago-i/o-pro 32 数据类型,15,数组,第三讲 wago-i/o-pro 32 数据类型,wago-i/o-pro 32支持1维、2维、3维数组,数组声明语法如下: :array,of; 举例: arr1:array15of int:=1,2,3,4,5; arr2:array12,34of int:=1,3(7); (* 1,7,7,7 *) arr3:array12,23,24of int:=2(0),4(4),2,3; (* 0,0,4,4,4,4,2,3 *) 数组元素的引用: index1,index2,index3 举例: arr21,3,16,第四讲 wago-i/o-pro 32 变量声明与硬件寻址,1、变量的声明,语法:at:=; 内的部分为可选项 “identifier” :变量名 “address”:变量的地址(i、q、m) “type” :变量数据类型 “initialization” :变量的初始值 注意: 变量名不允许包含空格与特殊字符,不能与关键字相同;变量名不区分大小写,允许包含至多一个下划线;变量名最大为32个字符。 在声明过程中可以为变量赋初值,如果省略,系统默认初始值为“0”。 使用“at”关键字可以将变量连接到硬件地址。连接到硬件地址的变量只能是pou的局部变量或全局变量,而不允许是pou的输入,输出变量。,17,2、pou变量声明,wago-i/o-pro 32的pou包括声明部分, pou程序中使用的变量与常量需要在该部分进行声明(全局变量除外),包括: 输入变量 (input variable) 输出变量 (output variable) 输入/输出变量 ( input/ output variable ) 局部变量 (local variable ) 保持变量 (retain variable ),第四讲 wago-i/o-pro 32 变量声明与硬件寻址,18,2、pou变量声明,第四讲 wago-i/o-pro 32 变量声明与硬件寻址,输入变量:在关键字“var_input”与“end_var”之间声明,声明的变量作为pou的输入变量。调用pou时可以为输入变量赋值。 举例: var_input in1:int; end_var,输出变量:在关键字“var_ output”与“end_var”之间声明,声明的变量作为pou的输出变量。pou被调用时输出一个或多个数据。 举例: var_output out1:int; end_var,19,2、pou变量声明,第四讲 wago-i/o-pro 32 变量声明与硬件寻址,输入/输出变量:在关键字“var_in_out”与“end_var”之间声明,声明的变量作为pou的输入/输出变量。变量的输入值不能为常量。 举例: var_in_out inout1:int; end_var,局部变量:在关键字“var”与“end_var”之间声明,声明的变量作为pou的局部变量。外部程序不能操作pou的局部变量。 举例: var loc1:int; end_var,20,2、pou变量声明,第四讲 wago-i/o-pro 32 变量声明与硬件寻址,保持变量:在关键字“var_retain”与“end_var”之间声明。系统保存变量的数据,如果系统断电,数据也不会丢失。当系统上电,程序运行时,系统根据被保存的数据的状态运行程序。 举例: var_retain rem1:int; end_var,3、全局变量声明,声明方式与在pou中声明相同,请详见“第八讲 wago-i/o-pro 32 程序资源”的“全局变量” 部分。,21,4、pou常量声明,第四讲 wago-i/o-pro 32 变量声明与硬件寻址,在pou声明部分的关键字“var_constant”与“end_var”之间声明。 语法::=; “identifier” :常量名 “type” :常量类型 “initialization” :常量的值 举例: var_constant con1:int:=12; end_var,22,5、全局常量声明,第四讲 wago-i/o-pro 32 变量声明与硬件寻址,声明方式与在pou中声明相同,请详见“第八讲 wago-i/o-pro 32 程序资源”的“全局变量” 部分。,6、程序注释,在pou的声明部分与程序部分可以为程序添加注释文本 在pou的声明部分,il与st语言程序部分的每一行后添加程序注释,格式为(*注释文本*) 举例: var instanz:fub; (*声明fub功能块的实例instanz*) end_var 在fbd与ld语言程序部分中,通过使用“insert” 下拉菜单中的“comment”命令添加注释;在sfc语言程序部分中,通过“step attributes”添加注释。,23,7、pfc硬件寻址,第四讲 wago-i/o-pro 32 变量声明与硬件寻址,说明 可编程总线适配器(pfc)的过程映像分为输入、输出量部分;在wago-i/o-pro 32中,分别以“%i”与“%q”表示。在wago-i/o-pro 32中,i/o模块的地址排列遵循“模拟量地址在前,数字量地址在后”的规律,即无论pfc节点中的i/o模块的物理排列顺序如何,模拟量模块的地址在前,数字量模块的地址在后。 在wago-i/o-pro 32中,地址的排列以“字”(16位)为单位。在“%i”地址区中,从%iw0开始,先为模拟量输入地址,后为数字量输入地址;在“%q”地址区中,从%qw0开始,先为模拟量输出地址,后为数字量输出地址。在模拟量地址中,i/o地址根据模拟量模块的物理安装顺序排列;在数字量地址中,i/o地址根据数字量模块的物理安装顺序排列。 此外,pfc的内部存储器以“%m”表示,内部存储器地址的排列以“字”(16位)为单位,从%mw0开始排列。 在pou中,可以使用硬件地址如“%iw0” ,“%qw1.0”编程也可以使用变量编程。若使用变量编程,需要在pou变量声明部分进行变量的声明。,24,7、pfc硬件寻址,第四讲 wago-i/o-pro 32 变量声明与硬件寻址,在 wago-i/o-pro 32 中,硬件地址由“%”、地址范围、地址长度与数字组成。,举例: %ix2.0: %iw215: %qb7: %md48:,输入地址第2字第0位 输入地址第215字 输出地址第7字节 内存地址第48双字,25,7、pfc硬件寻址,第四讲 wago-i/o-pro 32 变量声明与硬件寻址,pfc地址分布:,注意: i/o模块的地址排列遵循“模拟量地址在前,数字量地址在后”的规律,即无论pfc节点中的i/o模块的物理排列顺序如何,模拟量模块的地址在前,数字量模块的地址在后。 位以字的宽度存储,访问某一位可以使用“%mx5.0” 的方式,即内存地址第5字第0位。,26,第五讲 wago-i/o-pro 32 pou程序设计语言,1、语句表布尔助记符程序设计语言(il),布尔助记符程序设计语言是用布尔助记符来描述程序的一种程序设计语言。布尔助记符程序设计语言与计算机中的汇编语言非常相似,采用布尔助记符来表示操作功能。 il语言程序由一系列指令构成,每一条指令包括一个操作符与一个或多个操作数。 在程序的每一行起始出可以设置标签(label),在每行指令后可以添加注释文本(comment)。,27,1、语句表布尔助记符程序设计语言(il),第五讲 wago-i/o-pro 32 pou程序设计语言,修饰符: c:用于jmp、cal、ret语句,如果该指令前的表达式结果为“真”,则执行该指令。 n:用于jmp、cal、ret语句,如果该指令前的表达式结果为“假”,则执行该指令。 n:在其他语句中用于操作数(布尔量)取反。 用户使用“insert”下拉菜单中的相关命令可以在指令中插入操作符、操作数、函数与功能块。 il操作符:,28,1、语句表布尔助记符程序设计语言(il),第五讲 wago-i/o-pro 32 pou程序设计语言,29,1、语句表布尔助记符程序设计语言(il),第五讲 wago-i/o-pro 32 pou程序设计语言,举例: 操作符: ld andn jmpc ldn st mark: ld st,操作数: true bool1 mark bool2 erg bool2 erg,注释: (*将“true”存入缓存*) (*取“bool1”反,与“true”做与运算*) (*如果结果为“true”,跳转到“mark”*) (*取“bool2”反 存入变量“erg”中*) (*取“bool2” 存入变量“erg”中*),30,2、梯形逻辑程序设计语言(ld),第五讲 wago-i/o-pro 32 pou程序设计语言,梯形逻辑程序设计语言是用梯形图的图形符号来描述程序的一种程序设计语言。这种程序设计语言采用因果关系来描述事件发生的条件和结果。每个梯级网络是一个因果关系。在梯级网络中,描述事件发生的条件表示在左面,事件发生的结果表示在后面。 梯形图由一系列的梯级网络构成,每一个梯级网络包含触点、输出线圈、功能块等元素。,31,2、梯形逻辑程序设计语言(ld),第五讲 wago-i/o-pro 32 pou程序设计语言,串联结构:相当于位逻辑的“与”运算。 并联结构:相当于位逻辑的“或”运算。 输出线圈不允许串联结构,32,2、梯形逻辑程序设计语言(ld),第五讲 wago-i/o-pro 32 pou程序设计语言,在梯形逻辑程序设计语言中允许以图形的方式使用系统运算符与pou,运算符与pou可以在梯级网络中间使用(如图1),也可以在梯级网络右侧以“使能”的方式使用(如图2)。,图1 注:在此种方式下,要求运算符或pou所连接的变量为布尔型。,图2 注:“en”为该运算符或pou的使能端,如果前面运算结果为“1”,则使能端激活,程序执行;反之程序不执行。,33,2、梯形逻辑程序设计语言(ld),第五讲 wago-i/o-pro 32 pou程序设计语言,用户使用“insert”下拉菜单中的相关命令可以在梯级网络中插入运算符、pou、触点、线圈和程序注释等,使用“extras”下拉菜单中的相关命令可以设置常开/常闭触点,置位/复位线圈。 用户可以使用工具栏在梯级网络插入触点、线圈及串联/并联结构。,插入串联触点 插入并联触点 插入输出线圈 常开触点/常闭触点切换 插入置位线圈/复位线圈,34,3、功能块程序设计语言(fbd),第五讲 wago-i/o-pro 32 pou程序设计语言,功能模块图程序设计语言是采用功能模块来表示模块所具有的功能,不同的功能模块有不同的功能。它有若干个输入端和输出端,通过软连接的方式,分别连接到所需的其它端子,完成所需的运算或控制功能。 fbd包含一系列程序网络,每个网络以图形的方式表示逻辑或数学运算, pou的调用。,35,3、功能块程序设计语言(fbd),第五讲 wago-i/o-pro 32 pou程序设计语言,使用fbd工具栏:,对当前运算符添加输入端 对当前运算符或pou的赋值输出端添加另一个赋值输出端,同一运算结果可以输出至两个变量 插入运算符 插入赋值指令(assign),用于为运算符或pou的输入/输出变量或其他变量赋值。 插入跳转指令(jump) 插入返回指令(return) 插入功能调用 插入功能块或程序调用 运算符或pou的输入/输出变量或其他变量(布尔型)取反 变量置位/复位,36,3、功能块程序设计语言(fbd),第五讲 wago-i/o-pro 32 pou程序设计语言,用户使用“insert”下拉菜单中的相关命令可以在梯级网络中插入运算符、pou、赋值指令、跳转指令、返回指令和程序注释等,使用“extras”下拉菜单中的相关命令可以设置变量取反,变量置位/复位。,注意: 用户应用程序的开发可以在il、ld、fbd3种程序设计语言之间相互切换。 操作方法:选中所需切换的pou,使用“project”-“object”-“convert”命令,在“convert object”对话框中选择所需切换的程序设计语言。,37,4、结构化语句程序设计语言(st),第五讲 wago-i/o-pro 32 pou程序设计语言,结构化文本程序设计语言是用结构化的描述语句来描述系统中各种变量之间的各种运算关系,完成所需的功能或操作的一种程序设计语言。 结构化语句描述程序设计语言是一种类似于高级语言的程序设计语言。在大中型的可编程序控制器系统中,常采用结构化语句描述程序设计语言来描述控制系统中各个变量的关系。 st与il同属于基于文本的程序设计语言,但是由于st采用了类似于高级语言的程序结构,在开发较复杂的应用程序时更为简便快捷。,38,4、结构化语句程序设计语言(st),第五讲 wago-i/o-pro 32 pou程序设计语言,赋值表达式运算符优先级:,括号 函数调用 指数运算 取负数 取反 乘除运算 求余数 加减运算 比较运算 等于 不等于 逻辑与 逻辑异或 逻辑或,() expt - not * , / mod + , - , = = and xor or,优先级 最高 最低,注意: 优先级相同的运算符运算顺序为“从左至右” 。,39,4、结构化语句程序设计语言(st),第五讲 wago-i/o-pro 32 pou程序设计语言,赋值语句: var1=var2*10; if 语句: if then ; elsif then ; : elsif then ; else ; end_if,case 语句: case of : ; : ; : ; : ; else ; end_case,40,4、结构化语句程序设计语言(st),第五讲 wago-i/o-pro 32 pou程序设计语言,for 语句: for := to by do ; end_for while 语句: while ; end_while repeat 语句: repeat ; until end_repeat,return 语句: return; exit 语句: exit;,41,5、功能块图程序设计语言(sfc),第五讲 wago-i/o-pro 32 pou程序设计语言,功能表图程序设计语言是用功能表图来描述程序的一种程序设计语言。采用功能表图的描述,控制系统被分为若干个子系统,便于程序的分工设计和检查调试。 sfc采用较为灵活的程序结构,可节省程序设计时间和调试时间, sfc常用于系统的规模校大,程序关系较复杂的场合。,42,5、功能块图程序设计语言(sfc),第五讲 wago-i/o-pro 32 pou程序设计语言,在sfc程序设计语言中,程序由一系列的步骤(step)组成,程序进程的执行取决于step之间的执行条件(transition)。 step由行为( action )与标识( flag )组成,其中action是一段由il、ld、fbd、st或sfc编写的程序 ; flag用于显示该step是否被激活的一个系统内部变量。 entry action: 在step被激活之前执行一次的程序。 exit action: 在step结束之前执行一次的程序。 执行条件transition是一个布尔量数据类型的变量、地址、常数或具有布尔量数据类型结果的表达式。,step,transition,action,flag,entry action,exit action,sfc程序,43,5、功能表图程序设计语言(sfc),第五讲 wago-i/o-pro 32 pou程序设计语言,使用sfc工具栏:,在之前插入step 在之后插入step 在右边插入程序进程选择分支 在左边插入程序进程选择分支 在右边插入程序进程并联分支 在左边插入程序进程并联分支 插入跳转指令 插入transition与跳转指令,用户使用“insert”下拉菜单中的相关命令可以在程序中插入entry action与exit action 用户使用“extras”下拉菜单中“zoom action/ transition”可以对程序中的action或transition进行编辑。,44,6、连续功能图程序设计语言(cfc),第五讲 wago-i/o-pro 32 pou程序设计语言,cfc是基于图形的程序设计语言,与fbd类似, cfc采用功能模块来表示模块所具有的功能,不同的功能模块有不同的功能。它有若干个输入端和输出端,通过软连接的方式,分别连接到所需的其它端子,完成所需的运算或控制功能。 在cfc程序设计语言中,所有的程序元素(包括输入、输出、pou、跳转指令、程序注释等)没有位置要求。放置程序元素后,用户用鼠标将各个元素连接起来,构成程序的执行进程。在连接后移动程序元素,连接线自适应程序元素的位置。,45,6、连续功能图程序设计语言(cfc),第五讲 wago-i/o-pro 32 pou程序设计语言,使用cfc工具栏:,插入输入元素 插入输出元素 插入运算符或pou 插入跳转指令 插入标签(label) 插入返回指令 插入程序注释 运算符或pou的输入/输出变量或其他变量(布尔型)取反 变量置位/复位 为运算符或pou添加使能输入端(en)与使能输出端(eno),注意: 插入运算符或pou时,系统默认为“and”运算符,用户可更改为所需的运算符或pou 。 当运算符或pou的en端为“0”,则该运算符或pou的程序不执行,eno端为“0”。 当运算符或pou的en端为“1”,该运算符或pou的程序执行,执行无误,eno端为“1”;执行有误,eno端为“0”。,46,第六讲 wago-i/o-pro 32 运算符,wago-i/o-pro 32支持所有iec标准的运算符,运算符无须在项目中声明。,注意: 当用户在ld或fbd中使用运算符时,系统默认插入“and”(加法运算符),用户可以根据需要输入所需的运算符。 使用运算符时需注意运算符应用的数据类型应该与变量的数据类型一致。,47,第七讲 wago-i/o-pro 32 函数库,1、库管理,用户新建一个项目后,系统自动加载库“standard.lib”,用户可以通过使用“insert”- “ additional library”加载其它库文件;使用“edit”-“delete”从当前项目中删除库文件。 库文件的默认路径为: wago-i/o-pro 32lib2,用户使用“window”下拉菜单中的“library manager”命令可以打开“library manager” 窗口。 库文件由一系列功能与功能块构成,可以在整个项目中调用。,48,2、standard.lib 库元素,第七讲 wago-i/o-pro 32 函数库,注意: 同使用运算符一样,请注意库中函数或功能块对变量数据类型的要求。,49,2、util.lib 库元素,第七讲 wago-i/o-pro 32 函数库,50,第八讲 wago-i/o-pro 32 程序资源,wago-i/o-pro 32程序资源包括如下几项: 全局变量 (global variables) plc配置 (plc configuration ) 任务配置 (task configuration) 采样轨迹 (sampling trace) 查看与配方管理器 (watch and receipt manager),51,1、全局变量(global variables),第八讲 wago-i/o-pro 32 程序资源,在pou变量声明部分所声明的变量或功能块实例只能在自身的程序中被访问,而在全局变量中声明的元素可以被项目中所有的pou访问。 变量的声明方式与在pou中声明相同 举例:,基本型: var_global par1:int; par2:int; par3:int; end_var,保持型: var_global retain par1:int; par2:int; par3:int; end_var,retain:系统保存变量的数据,如果系统断电,数据也不会丢失。当系统上电,程序运行时,系统根据被保存的数据的状态运行程序。,常量: var_global constant con1:int:=12; end_var,52,变量配置(variable configuration),第八讲 wago-i/o-pro 32 程序资源,在功能块的声明部分可以对变量的地址进行不完整的配置,不完整部分用“*”表示。如果在程序中调用了该功能块的实例,则可以在“variable configuration”中对于该实例的变量配置地址。 注意: 进行变量配置时保证“程序 . 实例 . 变量”的路径正确。 在功能块声明部分与变量配置部分,变量的地址类型(输入/输出)与数据类型相符。 举例:,功能块声明部分: function_block locio var loci at %i*:bool; loco at %q*:bool; end_var,程序声明部分: program plc_prg var hugo:logio; end_var,变量配置部分: var_config plc_prg.hugo.loci at %ix0.0:bool; plc_prg.hugo.loco at %qx0.0:bool; end_var,53,2、plc配置(plc configuration ),第八讲 wago-i/o-pro 32 程序资源,从下图所示“coupler selection”对话框的产品目录中选择所使用的pfc,当用户使用“online”下拉菜单中的login命令,系统将用户程序下载到所选的pfc中。,54,3、任务配置(task configuration),第八讲 wago-i/o-pro 32 程序资源,在多任务系统中,任务管理用于控制系统的程序执行过程。在任务管理中一个任务的执行取决于其优先级与执行条件。 优先级(priority):031,“0“最高,”31”最低。 执行条件(requirement):分为周期执行与触发执行两种执行条件。 周期执行:任务每隔一段时间周期执行一次,需要用户设置执行周期。 触发执行:一个bool型变量的上升沿触发任务执行,需要用户设置一个全局变量作为触发条件。,55,第八讲 wago-i/o-pro 32 程序资源,“taskattributes”对话框,用户使用“insert”下拉菜单中的“insert task”命令或“append task”命令,系统显示“taskattributes”对话框,如下图所示:,name项: 输入任务名 priority项: 指定任务优先级(031) interval项: 指定任务执行周期 single项: 指定任务执行触发变量 select按钮: 选择触发变量,注意: 如果一个任务没有指定其执行条件,则该任务的执行只取决于其优先级。 如果一个任务同时指定了执行周期与触发变量,则该任务的执行只取决于执行周期而忽略触发变量。,56,“program call”对话框,第八讲 wago-i/o-pro 32 程序资源,用户选择所添加的任务后使用“insert”下拉菜单中的“insert program call”命令或“append program call”命令,系统显示“program call”对话框,如下图所示:,在此对话框中,键入在该任务中所要调用程序的程序名或者通过点击“select”按钮选择所要调用的程序,如果所调用的程序需要输入参数,可以在该对话框中指定。 举例:program2(invar=:17),57,4、采样轨迹(sampling trace),第八讲 wago-i/o-pro 32 程序资源,程序中变量的采样数据储存在的一段缓存中,在“sampling trace”中以曲线轨迹的形式显示缓存中的变量采样数据。 最多20个变量可以同时采样,每个变量最大采样数为500个,采样周期或采样条件可以人为设定。采样数据的曲线轨迹可以图形或文本的方式保存。,58,“trace configuration”对话框,第八讲 wago-i/o-pro 32 程序资源,用户使用“extras”下拉菜单中的“trace configuration”命令,系统如图所示对话框。,在该对话框中,用户进行如下设置: 指定需要采样的程序变量(最多20个) 设定终止采样触发变量(数字量或模拟量) 设置终止采样触发条件(上升沿、下降沿) 设置数据记录周期(以毫秒计算) 设置数据记录曲线轨迹的显示方式(单次、连续、手动),59,曲线轨迹的显示与处理,第八讲 wago-i/o-pro 32 程序资源,开始采样 读取采样数据 停止采样 时间轴方向拉伸曲线轨迹 时间轴方向压缩曲线轨迹,用户使用“extras”下拉菜单中的相关命令对曲线轨迹进行相关处理。 start trace:开始采样 read trace:读取采样数据 auto read:连续自动读取数据 stop trace:停止采样 stretch:时间轴方向拉伸曲线轨迹 compress:时间轴方向压缩曲线轨迹 save trace:保存当前曲线轨迹(* . trc) load trace:读取* . trc文件 trace in ascii file:以文本形式保存采样数据,60,5、查看与配方管理器(watch and receipt manager),第八讲 wago-i/o-pro 32 程序资源,用户使用该项功能可以集中查看程序中的变量数据。此外,在“watch and receipt manager”中用户还可以预先设置多个变量的数据值并同时传送到pfc中。 添加变量语法如下: . :=,用户使用“insert”下拉菜单中“new watch list”命令可以添加多个配方列表。使用“extras”下拉菜单中“save watch list”与“load watch list”命令可以保存或加载其它配方列表。 当 用户设置了变量的数据值后,在联机情况下使用“extras”下拉菜单中的“write receipt”命令将概数据值传送到pfc中。,61,第九讲 wago-i/o-pro 32 可视化元素,wago-i/o-pro 32 提供了可视化功能,用户可以在计算机中以图形的方式查看程序执行过程中变量的变化情况并且通过图形的方式为变量赋值。 用户在离线状态下绘制一系列的图形元素,将图形元素的相关属性(颜色、文本、位移、旋转角度、触发等)与变量的数值相关联。在联机运行情况下,图形元素的相关属性根据变量数值的变化而变化。,使用绘图工具栏:,选择图形元素 绘制矩形 绘制圆角矩形 绘制椭圆形 绘制多边形 绘制多段直线 绘制弧线 插入位图 插入其它可视化元素,62,“shape”属性与“text”属性,第九讲 wago-i/o-pro 32 可视化元素,用户使用“extras”下拉菜单中的“configure”命令,系统显示“regular element configuration”对话框。,用户在“shape”属性选项中可以设置图形元素的形状:矩形、圆角矩形、椭圆形。,用户在“text”属性选项中可以设置图形元素中的静态文本及其文本的对齐方式与文本字体。,63,“color”属性与“motion absolute”属性,第九讲 wago-i/o-pro 32 可视化元素,用户在“color”属性选项中可以设置图形元素的静态填充色、静态边框色。 此外,用户可以设置图形元素关联某一布尔变量数值而变化的填充色、变框色。,用户在“motion absolute”属性选项中可以设置图形元素中的x轴位移、y轴位移、显示比例、旋转角度的属性所关联的变量。,64,“motion relative”属性与“variables”属性,第九讲 wago-i/o-pro 32 可视化元素,用户在“motion relative”属性选项中可以设置图形元素的上、下、左、右4个边缘的位置属性所关联的变量。,用户在“variables”属性选项中可以设置图形元素中的显示/隐藏、颜色变化、动态文本属性所关联的变量。,65,“input”属性与“text for tooltip”属性,第九讲 wago-i/o-pro 32 可视化元素,用户在“input”属性选项中可以设置图形元素的鼠标点击触发变量、鼠标点击切换画面、鼠标点击执行其它程序、允许键盘输入变量值的属性及其相关联的变量。,用户在“text for tooltip”属性选项中可以设置图形元素的提示性文本。,66,首先,使用编程电缆将计算机的rs 232串行通讯口与pfc的编程口连接(请注意不要进行带电插拔)。 编写程序后,使用resources选项中的plc configuration选项,指定所使用的可编程总线控制器的型号。然后使用“online”下拉菜单中的login命令,将应用程序下载到所选的pfc中。下载程序后,wago-i/o-pro 32c处于与pfc的联机状态 如果需要在计算机上仿真运行程序,则选中online下拉菜单中的simulation mode选项,然后使用“online”下拉菜单中的login命令,即进入程序仿真状态。 在处于联机状态或程序仿真状态时,使用online下拉菜单中的run命令即可运行程序。联机状态时,pfc中程序运行;仿真状态时,程序在计算机中仿真运行。,第十讲 下载程序与刷新程序存储器,在wago-i/o-pro 32中使用online下拉菜单中的flash命令,刷新程序存储器(flash rom),将程序固化在程序存储器中。如果不使用flash命令,pfc断电后程序不能保存。也可以通过上述方法修改pfc中的程序。 下载程序并刷新程序存储器之后,断开计算机与pfc的连接,将pfc的程序运行开关拨到“运行”位置,程序即可运行。,67,第十一讲 wago-i/o-pro 32 编程实例,在本实例中,应用wago-i/o-pro 32 编写一个控制水位的程序: 图中水池水位为05米,要求水位大于4米停止进水(泵停止),小于4米开始进水(启动泵),从而达到控制水位的目的。 为了防止水位波动而使泵频繁地开启而损坏设备,采用以下控制方案: 水位大于4.1米时延迟3秒后泵停止,水位回落4.1米以下泵不启动,直至水位小于3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 机场建筑施工安全协议书
- 终止运营合同协议书模板
- 自己做厨房保洁合同范本
- 阿坝吊车租赁协议合同书
- 领养退役警犬协议书模板
- 法定解除合同协议书范本
- 高价商户停业协议书模板
- 物业撤出移交协议书范本
- 水表维修协议及维修合同
- 玉石加工买卖协议书模板
- 2021年消防继续教育试题汇总及答案
- GA 255-2022警服长袖制式衬衣
- JJF 1915-2021倾角仪校准规范
- GB/T 528-2009硫化橡胶或热塑性橡胶拉伸应力应变性能的测定
- GB/T 3299-1996日用陶瓷器吸水率测定方法
- GB/T 15382-2021气瓶阀通用技术要求
- 标准的起源、发展与标准化课件
- 精轧机组机械设备使用说明书
- 泰国禁忌课件
- 水产养殖行业报告
- 绿色建筑设计专篇样式(供暖通风与空气调节)
评论
0/150
提交评论