TwinCAT编程软件介绍课件.ppt
《TwinCAT编程软件介绍课件.ppt》由会员分享,可在线阅读,更多相关《TwinCAT编程软件介绍课件.ppt(77页珍藏版)》请在三一办公上搜索。
1、1,第一讲 TwinCAT PLC 概述,TwinCAT PLC是基于 Beckhoff 系列可编程现场总线控制器(PFC)的编程开发系统与可视化图形监控工具软件。,TwinCAT 符合IEC 61131-3国际标准,提供标准的开发环境与基于该标准的5种程序设计语言:指令表布尔助记符程序设计语言(IL:Instruction List)梯形逻辑程序设计语言(LD:Ladder Diagram)功能块程序设计语言(FBD:Function Block Diagram)顺序功能流程图程序设计语言(SFC:Sequential Function Chart)结构化文本程序设计语言(ST:Struct
2、ured Text),2,IEC 61131-3标准是PLC编程语言的国际标准。TwinCAT PLC编程语言符合该标准的规定。依照这个标准,一个程序包含以下几个部分:l 数据结构l POUsl 全局变量常规的编程语言都包含标识符,地址,类型,注释及常数。,3,TwinCAT PLC功能:,第一讲 TwinCAT PLC概述,丰富的程序功能指令 TwinCAT PLC提供了位逻辑运算、整数与浮点数运算、定时器与计数器功能、比较与赋值功能、移位与循环功能、数据类型转换功能、PID功能等大量丰富的程序功能指令。此外,用户还可以根据特定需要编写自己的功能块、子程序。离可在线程序仿真 用户应用程序计算
3、机中进行仿真执行,无须将其下载到PFC中,方便用户对程序的测试与修改并节省了开发时间。在线监视 在程序离线仿真或联机运行的过程中,用户可以在TwinCAT PLC中以文本或图形的方式监视程序运行状态及数据变化情况。诊断与调试 在程序离线仿真或联机运行的过程中,用户可以通过在程序中设置断点、逐步执行程序、手动为变量赋值的方式对程序进行诊断与调试。,4,编程工具组件:,第一讲 TwinCAT PLC概述,用户手册 通讯电缆软件光盘及授权,系统要求:,计算机:Intel Pentium或更高 操作系统:MS-Windows 9X/NT 4.0/2000/XP 内存:16MB RAM(Windows
4、9X)64MB RAM(Windows NT 4.0)至少10MB本机硬盘空间鼠标 2倍速以上光驱 RS232串行口,通讯电缆,RS232,5,POU包括函数(Function)、功能块(Function Block)、程序(Program)三种类型。每一个POU包含两部分:变量声明部分与程序指令部分。程序指令部分由五种语言(IL、LD、SFC、FBD、ST)之一编写。IEC标准功能块包含在“standard.lib”函数库文件中,每一个项目均默认加载standard.lib。某一POU可在另一POU中被调用,程序中不允许递归调用(但是可以简接的完成递归)。,变量声明部分,程序指令部分,Twi
5、nCAT PLC以项目(Project)的方式管理用户的应用程序,所有的项目数据存在有一个项目名称的文件中,一个项目包含如下组件:POU、数据类型、程序资源、函数库与可视化元素。一个新的项目的第一个POU,系统会自动的给定名称MAIN,这是程序的起点(相当于C程序中的主函数)。从这里开始,就可以调用其他的POU。,TwinCAT PLC中的POU(program organize unit 程序组织单元),6,1、函数(Function),TwinCAT PLC中的POU,Function作为一类POU,包含一部分程序,这部分程序可以在主程序中被多次调用,Function在被调用时返回一个数据
6、。Function在基于脚本的程序设计语言(如ST)中可以作为表达式中的一个操作数;在基于图形的程序设计语言(如FBD)中以图形的方式调用。在声明一个Function后,需要指定该Function所返回的数值的数据类型。Function的名字为该Function的输出变量结果。Function不具有内部条件,当用相同的参数多次调用某一Function时,该Function总是返回相同的数据。,变量声明部分:FUNCTION Fct:INTVAR_INPUT PAR1:INT;PAR2:INT;PAR3:INT;END_VAR程序指令部分:LD PAR1MUL PAR2DIV PAR3ST Fc
7、t,INT:function返回的数据类型Fct:Function名声明输入变量Fct=(PAR1*PAR2/PAR3),7,函数的调用,第二讲 TwinCAT PLC中的POU,在IL中调用:LD 7FCT 2,4ST Result,在FBD中调用:,在ST中调用:Result:=Fct(7,2,4);,8,2、功能块(Function Block),第二讲 TwinCAT PLC中的POU,功能块作为一类POU,包含一部分程序,这部分程序可以在主程序中被多次调用,功能块在被调用时输出一个或多个数据。与Function不同,功能块没有返回值。功能块以调用其实例(Instance)的方式执行。
8、功能块的实例需在POU的变量声明部分进行声明。实例可以声明为局部实例或全局实例。功能块的实例可以在程序或其他功能块的变量声明部分声明,不允许在函数的变量声明部分声明。(函数不允许调用功能块)功能块实例的输入输出变量可以在POU中设置,内部变量在调用时对于用户是不可见的。功能块的所有变量的数据在被调用后保留直至下一次调用;以同样的参数多次调用功能块,功能块不一定会输出相同的数据。,变量声明部分:FUNCTION_BLOCK FUBVAR_INPUT PAR1:INT;PAR2:INT;END_VARVAR_OUTPUT MULERG:INT;VERGL:BOOL;END_VAR程序指令部分:LD
9、 PAR1MUL PAR2ST MULERGLD PAR1EQ PAR2ST VERGL,声明输入变量声明输出变量MULERG=PAR1*PAR2PAR1=PAR2VERGL=TRUEPAR1PAR2VERGL=FALSE,9,功能块的调用(程序调用功能块或功能块相互调用),第二讲 TwinCAT PLC中的POU,程序声明部分:PROGRAM AWLVAR QUAD:BOOL;INSTANZ:FUB;(*声明功能块的实例*)ERG:INT:=0;(*声明变量并赋初值*)END_VAR,在IL中调用:CAL INSTANZ(PAR1:=5,PAR2:=5)LD INSTANZ.VERGL ST
10、 QUADLD INSTANZ.MULERGST ERG,在ST中调用:INSTANZ(PAR1:=5,PAR2:=5);QUAD:=INSTANZ.VERGL;ERG:=INSTANZ.MULERG;,在FBD中调用:,10,3、程序(Program)与PLC_PRG,第二讲 TwinCAT PLC中的POU,程序作为一类POU,在执行过程中输出一系列数据。在一个项目中,程序属于全局元素。程序可以被调用,但不能在函数中调用程序。与功能块不同,程序的调用不通过实例。程序中所有变量的数据在被调用执行后保留直至下一次执行。与功能块不同,调用功能块只是改变该功能块一个实例中的变量的数据。,MAIN是
11、项目中系统预定义的一个特殊的程序。MAIN每一循环周期被系统调用执行一次,相当于一个单任务程序的主程序。MAIN 在用户建立一个新项目时由系统自动加载。当用户在项目中进行了多任务管理的相关设置后,系统可以不需要MAIN。否则,用户不要删除MAIN或改变其程序名。,变量声明部分:PROGRAM PRGExampleVAR_OUTPUT PAR:INT;END_VAR程序指令部分:LD PARADD 1ST PAR,11,程序的调用,第二讲 TwinCAT PLC中的POU,在IL中调用:CAL PRGExampleLD PRGExample.PARST ERG,在ST中调用:PRGEample;
12、ERG:=PRGEample.PAR;,在FBD中调用:,ERG,PAR,12,第三讲 TwinCAT PLC数据类型,布尔型 BOOL:真(TRUE)与 假(FALSE),占用1位(Bit)地址空间 整型,13,实型,第三讲 TwinCAT PLC数据类型,字符串型 STRING:字符型数据的宽度在变量声明时指定,若没有指定,系统默认宽度为80个字符。每个字符占一个字节(8 Bit)的地址空间。举例:str:STRING(35)=This is a String;,又称浮点型。REAL:占32Bit地址空间,14,日期/时间,第三讲 TwinCAT PLC数据类型,15,日期/时间,第三讲
13、TwinCAT PLC数据类型,16,数组,第三讲 TwinCAT PLC数据类型,TwinCAT PLC支持1维、2维、3维数组,数组声明语法如下::ARRAY.,.,.OF;举例:arr1:ARRAY1.5OF INT:=1,2,3,4,5;arr2:ARRAY1.2,3.4OF INT:=1,3(7);(*1,7,7,7*)arr3:ARRAY1.2,2.3,2.4OF INT:=2(0),4(4),2,3;(*0,0,4,4,4,4,2,3*)数组元素的引用:index1,index2,index3举例:Arr21,3,17,第四讲 TwinCAT PLC变量声明与硬件寻址,1、变量的
14、声明,语法:AT:=;内的部分为可选项“Identifier”:变量名“Address”:变量的地址(I、Q、M)“Type”:变量数据类型“Initialization”:变量的初始值注意:变量名不允许包含空格与特殊字符,不能与关键字相同;变量名不区分大小写,允许包含至多一个下划线;变量名最大为32个字符。在声明过程中可以为变量赋初值,如果省略,系统默认初始值为“0”。使用“AT”关键字可以将变量连接到硬件地址。连接到硬件地址的变量只能是POU的局部变量或全局变量,而不允许是POU的输入,输出变量。,18,2、POU变量声明,TwinCAT PLC的POU包括声明部分,POU程序中使用的变量
15、与常量需要在该部分进行声明(全局变量除外),包括:输入变量(Input Variable)输出变量(Output Variable)输入/输出变量(Input/Output Variable)局部变量(Local Variable)保持变量(Retain Variable),第四讲 TwinCAT PLC变量声明与硬件寻址,19,2、POU变量声明,第四讲 TwinCAT PLC变量声明与硬件寻址,输入变量:在关键字“VAR_INPUT”与“END_VAR”之间声明,声明的变量作为POU的输入变量。调用POU时可以为输入变量赋值。举例:VAR_INPUT in1:INT;END_VAR,输出变
16、量:在关键字“VAR_ OUTPUT”与“END_VAR”之间声明,声明的变量作为POU的输出变量。POU被调用时输出一个或多个数据。举例:VAR_OUTPUT out1:INT;END_VAR,20,2、POU变量声明,第四讲 TwinCAT PLC变量声明与硬件寻址,输入/输出变量:在关键字“VAR_IN_OUT”与“END_VAR”之间声明,声明的变量作为POU的输入/输出变量。变量的输入值不能为常量。举例:VAR_IN_OUT inout1:INT;END_VAR,局部变量:在关键字“VAR”与“END_VAR”之间声明,声明的变量作为POU的局部变量。外部程序不能操作POU的局部变量
17、。举例:VAR loc1:INT;END_VAR,21,2、POU变量声明,第四讲 TwinCAT PLC变量声明与硬件寻址,保持变量:在关键字“VAR_RETAIN”与“END_VAR”之间声明。系统保存变量的数据,如果系统断电,数据也不会丢失。当系统上电,程序运行时,系统根据被保存的数据的状态运行程序。举例:VAR_RETAIN rem1:INT;END_VAR,3、全局变量声明,声明方式与在POU中声明相同,请详见“第八讲 TwinCAT PLC程序资源”的“全局变量”部分。,22,4、POU常量声明,第四讲 TwinCAT PLC变量声明与硬件寻址,在POU声明部分的关键字“VAR_C
18、ONSTANT”与“END_VAR”之间声明。语法::=;“Identifier”:常量名“Type”:常量类型“Initialization”:常量的值举例:VAR_CONSTANT con1:INT:=12;END_VAR,23,5、全局常量声明,第四讲 TwinCAT PLC变量声明与硬件寻址,声明方式与在POU中声明相同,6、程序注释,在POU的声明部分与程序部分可以为程序添加注释文本 在POU的声明部分,IL与ST语言程序部分的每一行后添加程序注释,格式为(*注释文本*)举例:VAR INSTANZ:FUB;(*声明FUB功能块的实例INSTANZ*)END_VAR 在FBD与LD语
19、言程序部分中,通过使用“Insert”下拉菜单中的“Comment”命令添加注释;在SFC语言程序部分中,通过“Step Attributes”添加注释。,24,7、PFC硬件寻址,第四讲 TwinCAT PLC变量声明与硬件寻址,说明 可编程总线适配器(PFC)的过程映像分为输入、输出量部分;在TwinCAT PLC中,分别以“%I”与“%Q”表示。在TwinCAT PLC中,I/O模块的地址排列遵循“模拟量地址在前,数字量地址在后”的规律,即无论PFC节点中的I/O模块的物理排列顺序如何,模拟量模块的地址在前,数字量模块的地址在后。在TwinCAT PLC中,地址的排列以“字”(16位)为
20、单位。在“%I”地址区中,从%IW0开始,先为模拟量输入地址,后为数字量输入地址;在“%Q”地址区中,从%QW0开始,先为模拟量输出地址,后为数字量输出地址。在模拟量地址中,I/O地址根据模拟量模块的物理安装顺序排列;在数字量地址中,I/O地址根据数字量模块的物理安装顺序排列。此外,PFC的内部存储器以“%M”表示,内部存储器地址的排列以“字”(16位)为单位,从%MW0开始排列。在POU中,可以使用硬件地址如“%IW0”,“%QW1.0”编程也可以使用变量编程。若使用变量编程,需要在POU变量声明部分进行变量的声明。,25,7、PFC硬件寻址,第四讲 TwinCAT PLC变量声明与硬件寻址
21、,在 TwinCAT PLC中,硬件地址由“%”、地址范围、地址长度与数字组成。,举例:%IX2.0:%IW215:%QB7:%MD48:,输入地址第2字第0位输入地址第215字输出地址第7字节内存地址第48双字,26,7、PFC硬件寻址,第四讲 TwinCAT PLC变量声明与硬件寻址,PFC地址分布:,注意:I/O模块的地址排列遵循“模拟量地址在前,数字量地址在后”的规律,即无论PFC节点中的I/O模块的物理排列顺序如何,模拟量模块的地址在前,数字量模块的地址在后。位以字的宽度存储,访问某一位可以使用“%MX5.0”的方式,即内存地址第5字第0位。,27,第五讲 TwinCAT PLCPO
22、U程序设计语言,1、指令表布尔助记符程序设计语言(IL),布尔助记符程序设计语言是用布尔助记符来描述程序的一种程序设计语言。布尔助记符程序设计语言与计算机中的汇编语言非常相似,采用布尔助记符来表示操作功能。IL语言程序由一系列指令构成,每一条指令包括一个操作符与一个或多个操作数。在程序的每一行起始出可以设置标签(Label),在每行指令后可以添加注释文本(Comment)。,28,1、指令表布尔助记符程序设计语言(IL),第五讲 TwinCAT PLCPOU程序设计语言,修饰符:C:用于JMP、CAL、RET语句,如果该指令前的表达式结果为“真”,则执行该指令。N:用于JMP、CAL、RET语
23、句,如果该指令前的表达式结果为“假”,则执行该指令。N:在其他语句中用于操作数(布尔量)取反。用户使用“Insert”下拉菜单中的相关命令可以在指令中插入操作符、操作数、函数与功能块。IL操作符:,29,1、指令表布尔助记符程序设计语言(IL),第五讲 TwinCAT PLCPOU程序设计语言,30,1、指令表布尔助记符程序设计语言(IL),第五讲 TwinCAT PLCPOU程序设计语言,举例:操作符:LD ANDN JMPC LDN STmark:LD ST,操作数:TRUEBOOL1markBOOL2ERGBOOL2ERG,注释:(*将“TRUE”存入缓存*)(*取“BOOL1”反,与“
24、TRUE”做与运算*)(*如果结果为“True”,跳转到“mark”*)(*取“BOOL2”反存入变量“ERG”中*)(*取“BOOL2”存入变量“ERG”中*),31,2、梯形逻辑程序设计语言(LD),第五讲 TwinCAT PLCPOU程序设计语言,梯形逻辑程序设计语言是用梯形图的图形符号来描述程序的一种程序设计语言。这种程序设计语言采用因果关系来描述事件发生的条件和结果。每个梯级网络是一个因果关系。在梯级网络中,描述事件发生的条件表示在左面,事件发生的结果表示在后面。梯形图由一系列的梯级网络构成,每一个梯级网络包含触点、输出线圈、功能块等元素。,32,2、梯形逻辑程序设计语言(LD),第
25、五讲 TwinCAT PLCPOU程序设计语言,串联结构:相当于位逻辑的“与”运算。并联结构:相当于位逻辑的“或”运算。输出线圈不允许串联结构,33,2、梯形逻辑程序设计语言(LD),第五讲 TwinCAT PLCPOU程序设计语言,在梯形逻辑程序设计语言中允许以图形的方式使用系统运算符与POU,运算符与POU可以在梯级网络中间使用(如图1),也可以在梯级网络右侧以“使能”的方式使用(如图2)。,图1注:在此种方式下,要求运算符或POU所连接的变量为布尔型。,图2注:“EN”为该运算符或POU的使能端,如果前面运算结果为“1”,则使能端激活,程序执行;反之程序不执行。,34,2、梯形逻辑程序设
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- TwinCAT 编程 软件 介绍 课件
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-2139905.html