SSS公司的codesys的使用介绍_第1页
SSS公司的codesys的使用介绍_第2页
SSS公司的codesys的使用介绍_第3页
SSS公司的codesys的使用介绍_第4页
SSS公司的codesys的使用介绍_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

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

文档简介

第一讲

WAGO-I/O-PRO32

概述

WAGO-I/O-PRO32是基于WAGO

-

I/O

-

SYSTEM

750系列可编程现场总线控制器(PFC)的编程开发与可视化图形监控工具软件。

WAGO-I/O-PRO32符合IEC61131-3国际标准,提供标准的开发环境与基于该标准的6种程序设计语言:梯形图程序设计语言(LD)

语句表程序设计语言(IL)

顺序功能流程图程序设计语言(SFC)

功能块图程序设计语言(FBD)

结构化文本程序设计语言(ST)

连续功能图程序设计语言(CFC)1

WAGO-I/O-PRO32

功能:第一讲

WAGO-I/O-PRO32

概述丰富的程序功能指令

WAGO-I/O-PRO32提供了位逻辑运算、整数与浮点数运算、定时器与计数器功能、比较与赋值功能、移位与循环功能、数据类型转换功能、PID功能等大量丰富的程序功能指令。此外,用户还可以根据特定需要编写自己的功能块、子程序。

离线程序仿真

用户应用程序可在计算机中进行仿真执行,无须将其下载到PFC中,方便用户对程序的测试与修改并节省了开发时间。在线监视在程序离线仿真或联机运行的过程中,用户可以在WAGO-I/O-PRO32中以文本或图形的方式监视程序运行状态及数据变化情况。诊断与调试在程序离线仿真或联机运行的过程中,用户可以通过在程序中设置断点、逐步执行程序、手动为变量赋值等方式对程序进行诊断与调试。多任务管理

WAGO-I/O-PRO32

提供了多任务管理功能,复杂的应用系统可以划分为多个任务,任务的执行取决其优先级与执行条件,降低了系统的响应时间。2

编程工具组件:第一讲

WAGO-I/O-PRO32

概述用户手册订货号:759-122/000-002通讯电缆订货号:750-920软件光盘及授权订货号:759-332/000-002

系统要求:

计算机:IntelPentium或更高

操作系统:MS-Windows9X/NT4.0

内存:16MBRAM(Windows9X)64MBRAM(WindowsNT4.0)

至少10MB本机硬盘空间鼠标2倍速以上光驱

RS232串行口通讯电缆RS2323第二讲

WAGO-I/O-PRO32

中的POU

WAGO-I/O-PRO32以项目(Project)的方式管理用户的应用程序,一个项目包含如下组件:

POU(程序组织单元)、数据类型、程序资源、函数库与可视化元素。

POU包括功能(Function)、功能块(FunctionBlock)、程序(Program)三种类型。每一个POU包含两部分:变量声明部分与程序指令部分。程序指令部分可选用六种语言(IL、LD、SFC、FBD、ST、CFC)中的任意一种或多种编写。

IEC标准功能块包含在“standard.lib”库文件中,每一个新建项目均自动加载standard.lib。

某一POU可在另一POU中被调用,程序中不允许递推。变量声明部分程序指令部分41、功能(Function)第二讲

WAGO-I/O-PRO32

中的POU

Function作为一类POU,包含一部分程序,这部分程序可以在主程序中被多次调用,Function在被调用时返回一个数据。

Function在基于脚本的程序设计语言(如ST)中可以作为表达式中的一个操作数;在基于图形的程序设计语言(如FBD)中以图形的方式调用。在声明一个Function后,需要指定该Function所返回的数值的数据类型。

Function的名字为该Function的输出变量结果。

Function不具有内部条件,当用相同的参数多次调用某一Function时,该Function总是返回相同的数据。变量声明部分:FUNCTIONFct:INTVAR_INPUTPAR1:INT;PAR2:INT;PAR3:INT;END_VAR程序指令部分:LDPAR1MULPAR2DIVPAR3ST

FctINT:

function返回的数据类型Fct:Function名声明输入变量Fct=(PAR1*PAR2/PAR3)5功能的调用第二讲

WAGO-I/O-PRO32

中的POU在IL中调用:LD

7FCT2,4STResult在FBD中调用:FctPAR3PAR2PAR1724Result在ST中调用:Result:=Fct(7,2,4);62、功能块(FunctionBlock)第二讲

WAGO-I/O-PRO32

中的POU

功能块作为一个POU,包含一部分程序,这部分程序可以在主程序中被多次调用,功能块在被调用时输出一个或多个数据。与Function不同,功能块没有返回值。功能块以调用其实例(Instance)的方式执行。功能块的实例需在POU的变量声明部分进行声明。实例可以声明为局部实例或全局实例。功能块的实例可以在程序或其他功能块的变量声明部分声明,不允许在函数的变量声明部分声明。功能块实例的输入输出变量可以在POU中设置,内部变量在调用时对于用户是不可见的。

功能块的所有变量的数据在被调用后保留直至下一次调用;以同样的参数多次调用功能块,功能块不一定会输出相同的数据。变量声明部分:FUNCTION_BLOCKFUBVAR_INPUTPAR1:INT;PAR2:INT;END_VARVAR_OUTPUTMULERG:INT;VERGL:BOOL;END_VAR程序指令部分:LDPAR1MULPAR2ST

MULERGLDPAR1EQ

PAR2ST

VERGL声明输入变量声明输出变量MULERG=PAR1*PAR2PAR1=PAR2VERGL=TRUEPAR1≠PAR2VERGL=FALSE7功能块的调用第二讲

WAGO-I/O-PRO32

中的POU程序声明部分:PROGRAMAWLVARQUAD:BOOL;INSTANZ:FUB;(*声明功能块的实例*)

ERG:INT:=0;(*声明变量并赋初值*)END_VAR在IL中调用:CALINSTANZ(PAR1:=5,PAR2:=5)LDINSTANZ.VERGL

STQUADLDINSTANZ.MULERGSTERG在ST中调用:INSTANZ(PAR1:=5,PAR2:=5);QUAD:=INSTANZ.VERGL;ERG:=INSTANZ.MULERG;在FBD中调用:FUBINSTANZPAR1PAR2MULERGVERGL55QUADERG83、程序(Program)与PLC_PRG第二讲

WAGO-I/O-PRO32

中的POU

程序作为一个POU,在执行过程中输出一系列数据。在一个项目中,程序属于全局元素。程序可以被调用,但不能在功能中调用程序。与功能块不同,程序的调用不通过实例。程序中所有变量的数据在被调用执行后保留直至下一次执行。与功能块不同,调用功能块只是改变该功能块一个实例中的变量的数据。

PLC_PRG是项目中系统预定义的一个特殊的程序。PLC_PRG每一循环周期被系统调用执行一次,相当于一个单任务程序的主程序。

PLC_PRG

在用户建立一个新项目时由系统自动加载。当用户在项目中进行了多任务管理的相关设置后,系统可以不需要PLC_PRG。否则,用户不要删除PLC_PRG或改变其程序名。变量声明部分:PROGRAMPRGExampleVAR_OUTPUTPAR:INT;END_VAR程序指令部分:LDPARADD1ST

PAR9程序的调用第二讲

WAGO-I/O-PRO32

中的POU在IL中调用:CALPRGExampleLDPRGExample.PARSTERG在ST中调用:PRGEample;ERG:=PRGEample.PAR;在FBD中调用:PRGEampleERGPAR10第三讲

WAGO-I/O-PRO32

数据类型布尔型

BOOL:真(TRUE)与假(

FALSE),占用1位(Bit)地址空间整型类型下限上限占用地址空间BYTE02558BitWORD06553516BitDWORD0429496729532BitSINT-1281278BitUSINT02558BitINT-327683276716BitUINT06553516BitDINT-2147483648214748364732BitUDINT0429496729532Bit11实型第三讲

WAGO-I/O-PRO32

数据类型字符串型

STRING:字符型数据的宽度在变量声明时指定,若没有指定,系统默认宽度为80个字符。每个字符占一个字节(8Bit)的地址空间。举例:str:STRING(35)=‘ThisisaString’;又称浮点型。REAL:占32Bit地址空间12

日期/时间第三讲

WAGO-I/O-PRO32

数据类型类型DATE从1970-01-01开始以秒计算,占32Bit地址空间举例低16Bit,高16BitD#1970-01-0116#0000,16#0000D#1970-01-0216#5180,16#0001D#1999-04-2816#4F80,16#3726D#2000-01-0116#4380,16#386DDATE_AND_TIME或

DT从1970-01-0100时00分00秒开始以秒计算,占32Bit地址空间举例低16Bit,高16BitDT#1970-01-01-00:00:0016#0000,16#0000DT#1970-01-01-00:00:0116#0001,16#0000DT#1999-04-29-11:59:0016#4984,16#3728DT#2000-01-01-00:00:0116#4381,16#386D13日期/时间第三讲

WAGO-I/O-PRO32

数据类型类型TIME以毫秒计算,占32Bit地址空间举例低16Bit,高16BitT#10s0ms16#2710,16#0000T#1440m0s0ms或T#1d16#5C00,16#0526T#60m0s0ms16#EE80,16#0036T#8052m18s3ms或T#5d14h12m18s3ms16#19D3,16#1CCCTIME_OF_DAY或

TOD从00时00分00秒开始以毫秒计算,占32Bit地址空间举例低16Bit,高16BitTOD#15:36:10.34016#1764,16#0359TOD#11:3816#09C0,16#09C0TOD#00:0016#0000,16#0000TOD#00:00:00.10016#0064,16#000014数组第三讲

WAGO-I/O-PRO32

数据类型WAGO-I/O-PRO32支持1维、2维、3维数组,数组声明语法如下:<Field_Name>:ARRAY[<ll1>..<ul1>,<ll2>..<ul2>,<ll3>..<ul3>]OF<elem.Type>;举例:arr1:ARRAY[1..5]OFINT:=1,2,3,4,5;arr2:ARRAY[1..2,3..4]OFINT:=1,3(7);(*1,7,7,7*)arr3:ARRAY[1..2,2..3,2..4]OFINT:=2(0),4(4),2,3;(*0,0,4,4,4,4,2,3*)数组元素的引用:<Field_Name>[index1,index2,index3]举例:Arr2[1,3]15第四讲

WAGO-I/O-PRO32

变量声明与硬件寻址1、变量的声明语法:<Identifier>{AT<Address>}:<Type>{:=<initialization>};{}内的部分为可选项“Identifier”:变量名“Address”:变量的地址(I、Q、M)“Type”

:变量数据类型“Initialization”:变量的初始值注意:变量名不允许包含空格与特殊字符,不能与关键字相同;变量名不区分大小写,允许包含至多一个下划线;变量名最大为32个字符。在声明过程中可以为变量赋初值,如果省略,系统默认初始值为“0”。使用“AT”关键字可以将变量连接到硬件地址。连接到硬件地址的变量只能是POU的局部变量或全局变量,而不允许是POU的输入,输出变量。162、POU变量声明

WAGO-I/O-PRO32的POU包括声明部分,POU程序中使用的变量与常量需要在该部分进行声明(全局变量除外),包括:输入变量(InputVariable)

输出变量(OutputVariable)

输入/输出变量(Input/OutputVariable)

局部变量(LocalVariable)

保持变量(RetainVariable)第四讲

WAGO-I/O-PRO32

变量声明与硬件寻址172、POU变量声明第四讲

WAGO-I/O-PRO32

变量声明与硬件寻址输入变量:在关键字“VAR_INPUT”与“END_VAR”之间声明,声明的变量作为POU的输入变量。调用POU时可以为输入变量赋值。举例:VAR_INPUTin1:INT;END_VAR输出变量:在关键字“VAR_OUTPUT”与“END_VAR”之间声明,声明的变量作为POU的输出变量。POU被调用时输出一个或多个数据。举例:VAR_OUTPUTout1:INT;END_VAR182、POU变量声明第四讲

WAGO-I/O-PRO32

变量声明与硬件寻址输入/输出变量:在关键字“VAR_IN_OUT”与“END_VAR”之间声明,声明的变量作为POU的输入/输出变量。变量的输入值不能为常量。举例:VAR_IN_OUTinout1:INT;END_VAR局部变量:在关键字“VAR”与“END_VAR”之间声明,声明的变量作为POU的局部变量。外部程序不能操作POU的局部变量。举例:VARloc1:INT;END_VAR192、POU变量声明第四讲

WAGO-I/O-PRO32

变量声明与硬件寻址保持变量:在关键字“VAR_RETAIN”与“END_VAR”之间声明。系统保存变量的数据,如果系统断电,数据也不会丢失。当系统上电,程序运行时,系统根据被保存的数据的状态运行程序。举例:VAR_RETAINrem1:INT;END_VAR3、全局变量声明声明方式与在POU中声明相同,请详见“第八讲WAGO-I/O-PRO32

程序资源”的“全局变量”部分。204、POU常量声明第四讲

WAGO-I/O-PRO32

变量声明与硬件寻址在POU声明部分的关键字“VAR_CONSTANT”与“END_VAR”之间声明。语法:<Identifier>:<Type>:=<initialization>;“Identifier”:常量名“Type”

:常量类型“Initialization”:常量的值举例:VAR_CONSTANTcon1:INT:=12;END_VAR215、全局常量声明第四讲

WAGO-I/O-PRO32

变量声明与硬件寻址声明方式与在POU中声明相同,请详见“第八讲WAGO-I/O-PRO32

程序资源”的“全局变量”部分。6、程序注释在POU的声明部分与程序部分可以为程序添加注释文本在POU的声明部分,IL与ST语言程序部分的每一行后添加程序注释,格式为(*注释文本*)举例:VARINSTANZ:FUB;(*声明FUB功能块的实例INSTANZ*)END_VAR

在FBD与LD语言程序部分中,通过使用“Insert”

下拉菜单中的“Comment”命令添加注释;在SFC语言程序部分中,通过“StepAttributes”添加注释。227、PFC硬件寻址第四讲

WAGO-I/O-PRO32

变量声明与硬件寻址说明可编程总线适配器(PFC)的过程映像分为输入、输出量部分;在WAGO-I/O-PRO32中,分别以“%I”与“%Q”表示。在WAGO-I/O-PRO32中,I/O模块的地址排列遵循“模拟量地址在前,数字量地址在后”的规律,即无论PFC节点中的I/O模块的物理排列顺序如何,模拟量模块的地址在前,数字量模块的地址在后。在WAGO-I/O-PRO32中,地址的排列以“字”(16位)为单位。在“%I”地址区中,从%IW0开始,先为模拟量输入地址,后为数字量输入地址;在“%Q”地址区中,从%QW0开始,先为模拟量输出地址,后为数字量输出地址。在模拟量地址中,I/O地址根据模拟量模块的物理安装顺序排列;在数字量地址中,I/O地址根据数字量模块的物理安装顺序排列。此外,PFC的内部存储器以“%M”表示,内部存储器地址的排列以“字”(16位)为单位,从%MW0开始排列。在POU中,可以使用硬件地址如“%IW0”,“%QW1.0”编程也可以使用变量编程。若使用变量编程,需要在POU变量声明部分进行变量的声明。

237、PFC硬件寻址第四讲

WAGO-I/O-PRO32

变量声明与硬件寻址在WAGO-I/O-PRO32

中,硬件地址由“%”、地址范围、地址长度与数字组成。地址范围:地址长度:IInputXSingleBitQOutputNoneSingleBitMMemorylocationBByte(8Bit)WWord(16Bit)DDoubleword(32Bit)举例:%IX2.0:%IW215:%QB7:%MD48:输入地址第2字第0位输入地址第215字输出地址第7字节内存地址第48双字247、PFC硬件寻址第四讲

WAGO-I/O-PRO32

变量声明与硬件寻址PFC地址分布:地址长度地址Bit0.0…0.70.7…0.151.0…1.71.8…1.15…254.0…254.7254.8…254.15255.0…255.7255.8…255.15Byte0123…508509510511Word01…254255DWord0…127注意:I/O模块的地址排列遵循“模拟量地址在前,数字量地址在后”的规律,即无论PFC节点中的I/O模块的物理排列顺序如何,模拟量模块的地址在前,数字量模块的地址在后。

位以字的宽度存储,访问某一位可以使用“%MX5.0”的方式,即内存地址第5字第0位。25第五讲

WAGO-I/O-PRO32

POU程序设计语言1、语句表布尔助记符程序设计语言(IL)布尔助记符程序设计语言是用布尔助记符来描述程序的一种程序设计语言。布尔助记符程序设计语言与计算机中的汇编语言非常相似,采用布尔助记符来表示操作功能。

IL语言程序由一系列指令构成,每一条指令包括一个操作符与一个或多个操作数。在程序的每一行起始出可以设置标签(Label),在每行指令后可以添加注释文本(Comment)。261、语句表布尔助记符程序设计语言(IL)第五讲

WAGO-I/O-PRO32

POU程序设计语言修饰符:

C:用于JMP、CAL、RET语句,如果该指令前的表达式结果为“真”,则执行该指令。

N:用于JMP、CAL、RET语句,如果该指令前的表达式结果为“假”,则执行该指令。

N:在其他语句中用于操作数(布尔量)取反。用户使用“Insert”下拉菜单中的相关命令可以在指令中插入操作符、操作数、函数与功能块。IL操作符:操作符可用修饰符:注释:LDN将操作数结果写入缓存STN将运算结果写入操作数S置位布尔操作数R复位布尔操作数271、语句表布尔助记符程序设计语言(IL)操作符可用修饰符:注释:ANDN位逻辑“与”运算ORN位逻辑“或”运算XORN位逻辑“异或”运算ADD“加”运算SUB“减”运算MUL“乘”运算DIV“除”运算GT大于GE大于等于EQ等于NE不等于LE小于等于第五讲

WAGO-I/O-PRO32

POU程序设计语言281、语句表布尔助记符程序设计语言(IL)第五讲

WAGO-I/O-PRO32

POU程序设计语言操作符可用修饰符:注释:LT小于JMPC,N跳转到“Label”CALC,N调用程序或功能块RETC,N返回举例:操作符:

LDANDNJMPCLDNSTmark:LDST操作数:TRUEBOOL1markBOOL2ERGBOOL2ERG注释:(*将“TRUE”存入缓存*)(*取“BOOL1”反,与“TRUE”做与运算*)(*如果结果为“True”,跳转到“mark”*)(*取“BOOL2”反存入变量“ERG”中*)(*取“BOOL2”存入变量“ERG”中*)292、梯形逻辑程序设计语言(LD)第五讲

WAGO-I/O-PRO32

POU程序设计语言梯形逻辑程序设计语言是用梯形图的图形符号来描述程序的一种程序设计语言。这种程序设计语言采用因果关系来描述事件发生的条件和结果。每个梯级网络是一个因果关系。在梯级网络中,描述事件发生的条件表示在左面,事件发生的结果表示在后面。梯形图由一系列的梯级网络构成,每一个梯级网络包含触点、输出线圈、功能块等元素。302、梯形逻辑程序设计语言(LD)第五讲

WAGO-I/O-PRO32

POU程序设计语言元素:标识:注释:常开触点—||—如果指定地址信号状态为“1”,则触点闭合,反之触点断开。常闭触点—|/|—如果指定地址信号状态为“1”,则触点断开,反之触点闭合。输出线圈—()—线圈前运算结果为“1”,输出状态为“1”,反之输出状态为“0”。置位输出线圈—(S)—线圈前运算结果为“1”,输出状态为“1”,反之信号状态不变。复位输出线圈—(R)—线圈前运算结果为“1”,输出状态为“0”,反之信号状态不变。串联结构:相当于位逻辑的“与”运算。并联结构:相当于位逻辑的“或”运算。输出线圈不允许串联结构312、梯形逻辑程序设计语言(LD)第五讲

WAGO-I/O-PRO32

POU程序设计语言在梯形逻辑程序设计语言中允许以图形的方式使用系统运算符与POU,运算符与POU可以在梯级网络中间使用(如图1),也可以在梯级网络右侧以“使能”的方式使用(如图2)。图1注:在此种方式下,要求运算符或POU所连接的变量为布尔型。图2注:“EN”为该运算符或POU的使能端,如果前面运算结果为“1”,则使能端激活,程序执行;反之程序不执行。322、梯形逻辑程序设计语言(LD)第五讲

WAGO-I/O-PRO32

POU程序设计语言用户使用“Insert”下拉菜单中的相关命令可以在梯级网络中插入运算符、POU、触点、线圈和程序注释等,使用“Extras”下拉菜单中的相关命令可以设置常开/常闭触点,置位/复位线圈。用户可以使用工具栏在梯级网络插入触点、线圈及串联/并联结构。插入串联触点插入并联触点插入输出线圈常开触点/常闭触点切换插入置位线圈/复位线圈333、功能块程序设计语言(FBD)第五讲

WAGO-I/O-PRO32

POU程序设计语言功能模块图程序设计语言是采用功能模块来表示模块所具有的功能,不同的功能模块有不同的功能。它有若干个输入端和输出端,通过软连接的方式,分别连接到所需的其它端子,完成所需的运算或控制功能。

FBD包含一系列程序网络,每个网络以图形的方式表示逻辑或数学运算,POU的调用。343、功能块程序设计语言(FBD)第五讲

WAGO-I/O-PRO32

POU程序设计语言使用FBD工具栏:对当前运算符添加输入端对当前运算符或POU的赋值输出端添加另一个赋值输出端,同一运算结果可以输出至两个变量插入运算符插入赋值指令(Assign),用于为运算符或POU的输入/输出变量或其他变量赋值。

插入跳转指令(Jump)

插入返回指令(Return)

插入功能调用

插入功能块或程序调用运算符或POU的输入/输出变量或其他变量(布尔型)取反变量置位/复位353、功能块程序设计语言(FBD)第五讲

WAGO-I/O-PRO32

POU程序设计语言用户使用“Insert”下拉菜单中的相关命令可以在梯级网络中插入运算符、POU、赋值指令、跳转指令、返回指令和程序注释等,使用“Extras”下拉菜单中的相关命令可以设置变量取反,变量置位/复位。注意:用户应用程序的开发可以在IL、LD、FBD3种程序设计语言之间相互切换。操作方法:选中所需切换的POU,使用“Project”-“Object”-“Convert”命令,在“ConvertObject”对话框中选择所需切换的程序设计语言。364、结构化语句程序设计语言(ST)第五讲

WAGO-I/O-PRO32

POU程序设计语言结构化文本程序设计语言是用结构化的描述语句来描述系统中各种变量之间的各种运算关系,完成所需的功能或操作的一种程序设计语言。结构化语句描述程序设计语言是一种类似于高级语言的程序设计语言。在大中型的可编程序控制器系统中,常采用结构化语句描述程序设计语言来描述控制系统中各个变量的关系。

ST与IL同属于基于文本的程序设计语言,但是由于ST采用了类似于高级语言的程序结构,在开发较复杂的应用程序时更为简便快捷。374、结构化语句程序设计语言(ST)第五讲

WAGO-I/O-PRO32

POU程序设计语言赋值表达式运算符优先级:括号函数调用指数运算取负数取反乘除运算求余数加减运算比较运算等于不等于逻辑与逻辑异或逻辑或(…)EXPT-NOT*,/MOD+,-<,>,<=,>==<>ANDXOROR优先级最高最低注意:优先级相同的运算符运算顺序为“从左至右”。384、结构化语句程序设计语言(ST)第五讲

WAGO-I/O-PRO32

POU程序设计语言赋值语句:Var1=Var2*10;IF语句:IF<Boolean_expression1>THEN<IF_instructions>;{ELSIF<Boolean_expression2>THEN<ELSIF_instructions1>;:ELSIF<Boolean_expressionn>THEN<ELSIF_instructionsn-1>;ELSE<ELSE_instructions>;}END_IFCASE语句:CASE<Var1>OF<Value1>:<instruction1>;<Value2>:<instruction2>;<Value3…Value5>:<instruction3>;…<Valuen>:<instructionn>;ELSE<ELSE

instruction>;END_CASE394、结构化语句程序设计语言(ST)第五讲

WAGO-I/O-PRO32

POU程序设计语言FOR语句:FOR<Var>:=<Init_Value>TO<End_Value>{BY<Step_Size>}DO<instructions>;END_FORWHILE语句:WHILE<Boolean_expression><instructions>;END_WHILEREPEAT语句:REPEAT<instructions>;UNTIL

<Boolean_expression>END_REPEATRETURN语句:RETURN;EXIT语句:EXIT;405、功能块图程序设计语言(SFC)第五讲

WAGO-I/O-PRO32

POU程序设计语言功能表图程序设计语言是用功能表图来描述程序的一种程序设计语言。采用功能表图的描述,控制系统被分为若干个子系统,便于程序的分工设计和检查调试。

SFC采用较为灵活的程序结构,可节省程序设计时间和调试时间,SFC常用于系统的规模校大,程序关系较复杂的场合。415、功能块图程序设计语言(SFC)第五讲

WAGO-I/O-PRO32

POU程序设计语言在SFC程序设计语言中,程序由一系列的步骤(Step)组成,程序进程的执行取决于Step之间的执行条件(Transition)。Step由行为(Action)与标识(Flag)组成,其中Action是一段由IL、LD、FBD、ST或SFC编写的程序;Flag用于显示该Step是否被激活的一个系统内部变量。EntryAction:在Step被激活之前执行一次的程序。ExitAction:在Step结束之前执行一次的程序。执行条件Transition是一个布尔量数据类型的变量、地址、常数或具有布尔量数据类型结果的表达式。StepTransitionActionFlagEntryActionExitActionSFC程序425、功能表图程序设计语言(SFC)第五讲

WAGO-I/O-PRO32

POU程序设计语言使用SFC工具栏:

在…之前插入Step

在…之后插入Step

在…右边插入程序进程选择分支在…左边插入程序进程选择分支在…右边插入程序进程并联分支在…左边插入程序进程并联分支插入跳转指令插入Transition与跳转指令用户使用“Insert”下拉菜单中的相关命令可以在程序中插入EntryAction与ExitAction

用户使用“Extras”下拉菜单中“ZoomAction/Transition”可以对程序中的Action或Transition进行编辑。436、连续功能图程序设计语言(CFC)第五讲

WAGO-I/O-PRO32

POU程序设计语言

CFC是基于图形的程序设计语言,与FBD类似,CFC采用功能模块来表示模块所具有的功能,不同的功能模块有不同的功能。它有若干个输入端和输出端,通过软连接的方式,分别连接到所需的其它端子,完成所需的运算或控制功能。在CFC程序设计语言中,所有的程序元素(包括输入、输出、POU、跳转指令、程序注释等)没有位置要求。放置程序元素后,用户用鼠标将各个元素连接起来,构成程序的执行进程。在连接后移动程序元素,连接线自适应程序元素的位置。446、连续功能图程序设计语言(CFC)第五讲

WAGO-I/O-PRO32

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”。45第六讲

WAGO-I/O-PRO32

运算符WAGO-I/O-PRO32支持所有IEC标准的运算符,运算符无须在项目中声明。应用:运算符:数学运算加、减、乘、除、余数、三角函数、绝对值、指数、对数…位逻辑运算与、或、非、异或移位/循环左移位、右移位、左循环、右循环比较大于、大于等于、小于、小于等于、等于、不等于其它调用、数据类型转换、取地址…注意:当用户在LD或FBD中使用运算符时,系统默认插入“AND”(加法运算符),用户可以根据需要输入所需的运算符。使用运算符时需注意运算符应用的数据类型应该与变量的数据类型一致。46第七讲

WAGO-I/O-PRO32

函数库1、库管理用户新建一个项目后,系统自动加载库“STANDARD.LIB”,用户可以通过使用“Insert”-“AdditionalLibrary”加载其它库文件;使用“Edit”-“Delete”从当前项目中删除库文件。库文件的默认路径为:\WAGO-I/O-PRO32\LIB2\…用户使用“Window”下拉菜单中的“LibraryManager”命令可以打开“LibraryManager”窗口。库文件由一系列功能与功能块构成,可以在整个项目中调用。472、STANDARD.LIB库元素第七讲

WAGO-I/O-PRO32

函数库应用:函数/功能块:触发功能块上升沿触发、下降沿触发定时器功能块延时接通定时器、延时断开定时器、延时脉冲定时器计数器功能块增1计数器、减1计数器、增1减1计数器字符串处理函数插入、删除、替换、连接、取字符双稳态功能块SR、RS注意:同使用运算符一样,请注意库中函数或功能块对变量数据类型的要求。482、UTIL.LIB库元素第七讲

WAGO-I/O-PRO32

函数库应用:函数/功能块:BCD转换INTtoBCD、BCDtoINT位/字节处理函数8bitstoByte、Byteto8bits、取双字中的某1位、给双字的某1位赋值数学运算积分、导数、统计信号发生器三角波、锯齿波、方波、正弦波、余弦波模拟量处理滞后处理、高低限报警49第八讲

WAGO-I/O-PRO32

程序资源

WAGO-I/O-PRO32程序资源包括如下几项:全局变量(GlobalVariables)PLC配置(PLCConfiguration)

任务配置(TaskConfiguration)

采样轨迹(SamplingTrace)

查看与配方管理器(WatchandReceiptManager)501、全局变量(GlobalVariables)第八讲

WAGO-I/O-PRO32

程序资源

在POU变量声明部分所声明的变量或功能块实例只能在自身的程序中被访问,而在全局变量中声明的元素可以被项目中所有的POU访问。变量的声明方式与在POU中声明相同举例:基本型:VAR_GLOBALPAR1:INT;PAR2:INT;PAR3:INT;END_VAR保持型:VAR_GLOBALRETAINPAR1:INT;PAR2:INT;PAR3:INT;END_VARRETAIN:系统保存变量的数据,如果系统断电,数据也不会丢失。当系统上电,程序运行时,系统根据被保存的数据的状态运行程序。常量:VAR_GLOBALCONSTANTcon1:INT:=12;END_VAR51变量配置(VariableConfiguration)第八讲

WAGO-I/O-PRO32

程序资源

在功能块的声明部分可以对变量的地址进行不完整的配置,不完整部分用“*”表示。如果在程序中调用了该功能块的实例,则可以在“VariableConfiguration”中对于该实例的变量配置地址。注意:进行变量配置时保证“程序.实例.变量”的路径正确。在功能块声明部分与变量配置部分,变量的地址类型(输入/输出)与数据类型相符。举例:功能块声明部分:FUNCTION_BLOCKlocioVARlociAT

%I*:BOOL;locoAT

%Q*:BOOL;END_VAR程序声明部分:PROGRAMPLC_PRGVARHugo:logio;END_VAR变量配置部分:VAR_CONFIG

PLC_PRG.Hugo.lociAT

%IX0.0:BOOL;

PLC_PRG.Hugo.locoAT

%QX0.0:BOOL;END_VAR522、PLC配置(PLCConfiguration)第八讲

WAGO-I/O-PRO32

程序资源从下图所示“CouplerSelection”对话框的产品目录中选择所使用的PFC,当用户使用“Online”下拉菜单中的Login命令,系统将用户程序下载到所选的PFC中。533、任务配置(TaskConfiguration)第八讲

WAGO-I/O-PRO32

程序资源

在多任务系统中,任务管理用于控制系统的程序执行过程。在任务管理中一个任务的执行取决于其优先级与执行条件。优先级(Priority):0~31,“0“最高,”31”最低。执行条件(Requirement):分为周期执行与触发执行两种执行条件。周期执行:任务每隔一段时间周期执行一次,需要用户设置执行周期。触发执行:一个BOOL型变量的上升沿触发任务执行,需要用户设置一个全局变量作为触发条件。54第八讲

WAGO-I/O-PRO32

程序资源“Taskattributes”对话框用户使用“Insert”下拉菜单中的“InsertTask”命令或“AppendTask”命令,系统显示“Taskattributes”对话框,如下图所示:

Name项:输入任务名Priority项:指定任务优先级(0~31)

Interval项:指定任务执行周期

Single项:指定任务执行触发变量

Select按钮:选择触发变量注意:如果一个任务没有指定其执行条件,则该任务的执行只取决于其优先级。如果一个任务同时指定了执行周期与触发变量,则该任务的执行只取决于执行周期而忽略触发变量。55“ProgramCall”对话框第八讲

WAGO-I/O-PRO32

程序资源用户选择所添加的任务后使用“Insert”下拉菜单中的“InsertProgramCall”命令或“AppendProgramCall”命令,系统显示“ProgramCall”对话框,如下图所示:在此对话框中,键入在该任务中所要调用程序的程序名或者通过点击“Select”按钮选择所要调用的程序如果所调用的程序需要输入参数,可以在该对话框中指定。举例:program2(invar=:17)564、采样轨迹(SamplingTrace)第八讲

WAGO-I/O-PRO32

程序资源程序中变量的采样数据储存在的一段缓存中,在“SamplingTrace”中以曲线轨迹的形式显示缓存中的变量采样数据。最多20个变量可以同时采样,每个变量最大采样数为500个,采样周期或采样条件可以人为设定。采样数据的曲线轨迹可以图形或文本的方式保存。57“TraceConfiguration”对话框第八讲

WAGO-I/O-PRO32

程序资源用户使用“Extras”下拉菜单中的“TraceConfiguration”命令,系统如图所示对话框。在该对话框中,用户进行如下设置:指定需要采样的程序变量(最多20个)设定终止采样触发变量(数字量或模拟量)设置终止采样触发条件(上升沿、下降沿)设置数据记录周期(以毫秒计算)设置数据记录曲线轨迹的显示方式(单次、连续、手动)58曲线轨迹的显示与处理第八讲

WAGO-I/O-PRO32

程序资源

开始采样读取采样数据

停止采样

时间轴方向拉伸曲线轨迹时间轴方向压缩曲线轨迹用户使用“Extras”下拉菜单中的相关命令对曲线轨迹进行相关处理。StartTrace:开始采样ReadTrace:读取采样数据AutoRead:连续自动读取数据StopTrace:停止采样Stretch:时间轴方向拉伸曲线轨迹Compress:时间轴方向压缩曲线轨迹SaveTrace:保存当前曲线轨迹(*.trc)LoadTrace:读取*.trc文件

TraceinASCIIfile:以文本形式保存采样数据595、查看与配方管理器(WatchandReceiptManager)第八讲

WAGO-I/O-PRO32

程序资源用户使用该项功能可以集中查看程序中的变量数据。此外,在“WatchandReceiptManager”中用户还可以预先设置多个变量的数据值并同时传送到PFC中。添加变量语法如下:<POUName>.<Variable.Name>{:=<Value>}用户使用“Insert”下拉菜单中“NewWatchList”命令可以添加多个配方列表。使用“Extras”下拉菜单中“SaveWatchList”与“LoadWatchList”命令可以保存或加载其它配方列表。当用户设置了变量的数据值后,在联机情况下使用“Extras”下拉菜单中的“WriteReceipt”命令将概数据值传送到PFC中。60第九讲

WAGO-I/O-PRO32

可视化元素

WAGO-I/O-PRO32

提供了可视化功能,用户可以在计算机中以图形的方式查看程序执行过程中变量的变化情况并且通过图形的方式为变量赋值。用户在离线状态下绘制一系列的图形元素,将图形元素的相关属性(颜色、文本、位移、旋转角度、触发等)与变量的数值相关联。在联机运行情况下,图形元素的相关属性根据变量数值的变化而变化。使用绘图工具栏:

选择图形元素

绘制矩形绘制圆角矩形

绘制椭圆形

绘制多边形绘制多段直线绘制弧线插入位图插入其它可视化元素61“Shape”属性与“Text”属性第九讲

WAGO-I/O-PRO32

可视化元素用户使用“Extras”下拉菜单中的“Configure”命令,系统显示“RegularElementConfiguration”对话框。

用户在“Shape”属性选项中可以设置图形元素的形状:矩形、圆角矩形、椭圆形。

用户在“Text”属性选项中可以设置图形元素中的静态文本及其文本的对齐方式与文本字体。62“Color”属性与“Motionabsolute”属性第九讲

WAGO-I/O-PRO32

可视化元素

用户在“Color”属性选项中可以设置图形元素的静态填充色、静态边框色。此外,用户可以设置图形元素关联某一布尔变量数值而变化的填充色、变框色。

用户在“Motionabsolute”属性选项中可以设置图形元素中的X轴位移、Y轴位移、显示比例、旋转角度的属性所关联的变量。63“Motionrelative”属性与“Variables”属性第九讲

WAGO-I/O-PRO32

可视化元素

用户在“Motionrelative”属性选项中可以设置图形元素的上、下、左、右4个边缘的位置属性所关联的变量。

用户在“Variables”属性选项中可以设置图形元素中的显示/隐藏、颜色变化、动态文本属性所关联的变量。64“Input”属性与“TextforTooltip”属性第九讲

WAGO-I/O-PRO32

可视化元素

用户在“Input”属性选项中可以设置图形元素的鼠标点击触发变量、鼠标点击切换画面、鼠标点击执行其它程序、允许键盘输入变量值的属性及其相关联的变量。

用户在“TextforTooltip”属性选项中可以设置图形元素的提示性文本。65首先,使用编程电缆将计算机的RS232串行通讯口与PFC的编程口连接(请注意不要进行带电插拔)。编写程序后,使用Resources选项中的PLCConfiguration选项,指定所使用的可编程总线控制器的型号。然后使用“Online”下拉菜单中的Login命令,将应用程序下载到所选的PFC中。下载程序后,WAGO-I/O-PRO32C处于与PFC的联机状态如果需要在计算机上仿真运行程序,则选中Online下拉菜单中的SimulationMode选项,然后使用“Online”下拉菜单中的Login命令,即进入程序仿真状态。在处于联机状态或程序仿真状态时,使用Online下拉菜单中的Run命令即可运行程序。联机状态时,PFC中程序运行;仿真状态时,程序在计算机中仿真运行。第十讲

下载程序与刷新程序存储器在WAGO-I/O-PRO32中使用Online下拉菜单中的Flash命令,刷新程序存储器(FLASHROM),将程序固化在程序存储器中。如果不使用Flash命令,PFC断电后程序不能保存。也可以通过上述方法修改PFC中的程序。下载程序并刷新程序存储器之后,断开计算机与PFC的连接,将PFC的程序运行开关拨到“运行”位置,程序即可运行。66第十一讲

WAGO-I/O-PRO32

编程实例在本实例中,应用WAGO-I/O-PRO32

编写一个控制水位的程序:图中水池水位为0~5米,要求水位大于4米停止进水(泵停止

温馨提示

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

评论

0/150

提交评论