【文档说明】施耐德PLC基本编程元素课件.ppt,共(39)页,415.826 KB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-45584.html
以下为本文档部分文字说明:
施耐德PLC基本编程元素第一节用户界面-简介菜单栏及快捷图标栏工程设备对象编辑区变量声明及初始化诊断消息显示区程序编制区工具箱编辑区第二节工程设备对象编辑器单站控制器类型程序的编制与组态内置I/O,高速计数及PTO组态内置串口组态与配置CAN
open组态与配置第二节工程设备对象编辑器-应用程序全局变量定义区库管理器,用于添加编辑库任务配置区,用于定义程序执行的任务类型应用程序-GVLGVL:全局变量列表,作用于全局范围内的变量可以在此定义.全局变量定义,“VAR_GLOBAL”
开头,”END_VAR”结尾常量关键字保持型变量关键字基本概念1-变量定义语法规则•变量声明必须符合以下语法规则:<变量名>{AT<地址>}:<数据类型>{:=<初始化值>};•变量名的定义规则:>不得包含空格和特殊字
符;>不区分字母大小写;>可以识别下划线,但不支持连续的两个下划线;>名称长度没有限制;•变量名定义注意事项:>不能在局部域内重复使用同一个变量名;>变量名不能与关键字同名;>可以在全局域内多次使用同一个变量名;>一个全局变量列表中定义的变量名称可以
与另一个全局变量列表中定义的变量相同;基本概念2-保持型变量•保持型变量在整个程序运行期间保持值;•可以单纯声明成以下三种类型,每种类型都有单独的存储空间:>RETAIN示例:VARRETAINVAR1:INT;VAR_ENDPLC正常断电/上电/意外断电
之后变量的值保持,但是“初始化复位”/”冷启动”/重新下载程序会使RETAIN类型数据重新初始化。>PERSISTENT示例:VAR_GLOBLEPERSISTENTVAR1:INT;VAR_ENDPLC重新启动/”初始化复位
”后PERSISTENT类型数据被重新初始化,下载程序后值保持不变.注意:仅全局性变量能成为PERSISTENT变量!>RETAIN+PERSISTENT示例:VAR_GLOBLEPERSISTENTRETAINVAR1:I
NT;VAR_END继承RETAIN和PERSISTENT的属性,可通过”初始化复位”对变量进行初始化基本概念3-变量初始化•所有变量的默认初始化值都为0;•赋值操作符”:=”用于指定用户自定义初始化值;示例:VARVAR1:INT:=1;VAR
2:INT:=2+FUN(3);VAR3:POINTERTOINT:=ADR(VAR4);应用程序-库管理器内置串行口通讯库,如MODBUS/ASCII读写标准通用库,包含常用的指令,如定时器,计数器特殊用法库,例如数据
类型转换,算术运算,BCD运算专用于内置高速HSC的功能库专用于内置PTO/PWM的功能库应用程序-DUT(数据单元类型)•创建用户自定义数据类型,包括数组,结构,枚举,引用,子范围,指针;•支持面向对象的编程方式,可通过”继承”的原则对
DUT进行扩展;•声明DUT的语法规则如下:TYPEDUT1:STRUCTVAR1:INT;END_STRUCTEND_TYPE数据单元类型标志名定义数据单元,可以是结构,枚举和引用继承已有数据类型基本概念
4-标准数据类型数据类型关键字值数据长度布尔类型BOOLTRUE/FALSE1整数类型BYTEWORDDWORDLWORDSINTUSINTINTUINTDINTUDINTLINT0~2550~655350~42949672950~2^64-1-128~12
70~255-32768~327670~65535-2147483648~21474836480~4294967295-2^63~2^63-18163264881616323264实数类型REAL1.175494351e-38F~3.
402823466e+38F64字符串类型STRINGASCII80(default)双字节字符串类型WSTRINGUNICODE时间数据类型TIMETIME_OF_DAYDATEDATE_AND_TIMET#10msTOD#10:00:00D#2010-3-1DT#2010-3-1-10:00:
00基本概念5-数组类型•支持一维,二维,三维数组,属于基本数据类型,可以直接在POU或GVL中定义•数组定义的语法规则:<数组名>:ARRAY[<I1>..<U1>,<I1>..<U2>,<I3>..<U3>]OF<基本数据类型>其中,I1,I2,I3为下限,U1,U2,
U3为上限示例:ARRAY1:ARRAY[0..2,0..2]OFINT;•数组初始化example:ARRAY1:={1,2,3,1,2,3,1,2,3};•数组成员的访问<数组名>[下标]示例:example[0.0]基本概念6-结构类型•
结构定义的语法规则:示例:TYPESTRUCT1:STRUCTVAR1:INT;VAR2:INT;END_STRUCTEND_TYPE•结构初始化example:STRUCT1:={10,11};•结构成员的访问<结构名>.<成员名>示例:example.VAR1基
本概念7-枚举类型•枚举定义的语法规则:TYPE<枚举名>:(<枚举值0>,„,<枚举值n>)|<基本数据类型>;END_TYPE示例TYPELight:(RED,YELLOW,GREEN:=10);END_TYPE•枚举类型的访问:Light:=0;基本概念8-引用类型•引用定
义的语法规则:TYPE<枚举名>:(<枚举值0>,„,<枚举值n>)|<基本数据类型>;END_TYPE示例TYPELight:(RED,YELLOW,GREEN:=10);END_TYPE•引用类型的访问:Ligh
t:=0;基本概念9-指针类型•指针定义的语法规则:TYPE<枚举名>:(<枚举值0>,„,<枚举值n>)|<基本数据类型>;END_TYPE示例TYPELight:(RED,YELLOW,GREEN:=10);END_TYPE•指针类型的访问:Lig
ht:=0;应用程序-POU程序组织单元名称程序组织单元类型程序组织单元的实现语言POU:ProgramOrganizationUnit,程序组织单元,可以是程序,功能块或函数基本概念10-程序•程序是执行时能够返回一个或多个值的POU,所有变量值能够从本次程序执行结束保持到下一次执行•程
序声明的语法规则:PROGRAM<程序名>•程序调用的原则;>程序可以被其它POU调用>函数中不能调用程序>程序没有实例基本概念11-函数•函数是仅返回一个值的POU•函数声明的语法规则:FUNCTION<函数名>:<数据类型
>•函数调用的原则;>本次调用时对函数内部变量值的改变不会影响下一次调用,即每次调用时输入参数相同,其返回值必定相同。建议:在函数中不要使用全局变量和地址>ST中可将函数返回值当作操作数参与运算基本概念
12-功能块•功能块是可返回一个或多个值的POU,其输出变量值和内部变量值在每次调用后保持下来,从而影响下一次的调用运算。•功能块声明的语法规则:FUNCTION_BLOCK<功能块名>|EXTENDS<功能块名>|IMPLEMENTS<接
口名>•功能块调用的原则;>通过功能块实例的方式调用,<实例名>.<变量名>;>从功能块实例的外部仅能访问功能块的输入/输出参数,不能访问内部参数;>声明为某个POU局部变量的实例时,仅能被该POU调用;声明为全局变量的实例时,才能被各POU调用;基本概念13-功能块的扩
展•功能块可以扩展出”子”功能块,使该功能块既具有”父”功能块的属性,又具有自己的属性。•功能块扩展声明的语法规则:FUNCTION_BLOCK<功能块名>|EXTENDS<功能块名>•示例:FUNCTION_BLOCKFB1FUNCTION_BLOCKFB
2EXTENDSFB1VAR_INPUTVAR_INPUTIN1:INT;IN2:INT;END_VAREND_VAR说明:>功能块FB2包含FB1中所有的方法和变量,在使用功能块FB1的地方可用FB2替换>F
B2中不允许使用与FB1中相同的变量名>使用FB2时,可直接使用FB1中的变量和方法,加上关键字SUPER即可SUPER^<变量名>基本概念13-功能块的接口•实现接口的功能块必须包含该接口的所有方法,功能块和接口中对这些方法,输入和输出的定义必须保持一致。•功能块扩展
声明的语法规则:FUNCTION_BLOCK<功能块名>|IMPLEMENTS<接口1名称>,„,<接口n名称>应用程序-接口基本概念14-方法•实现接口的功能块必须包含该接口的所有方法,功能块和接口中对这些方法,输入和输出的定义必须保持一致。•功能块扩展声明的语
法规则:FUNCTION_BLOCK<功能块名>|IMPLEMENTS<接口1名称>,„,<接口n名称>基本概念15-属性•“属性”是一种对象,可通过”添加对象”命令插入到程序或功能块中•添加”属性”时,需要添加该”属性”的返回类型和实现语
言•一个”属性”包含两个特殊的”方法”,并将自动插入到该”属性”下;>当对该属性写操作时,调用”SET”方法,该属性名被用作输入>当对该属性读操作时,调用”GET”方法,该属性名被用作输出基本概念16-动作•可以对程序或功能块定义和配置动作,是其附加的实现部分,可以采用与主实现部分不同的语言
来实现•动作必须与所属的程序或功能块一起动作,使用其定义的输入/输出数据,没有自己的变量声明应用程序-保持型变量全局范围PersistentVars对象,否则无法创建Persistent类型对象选择变量的扩展关键字应用程序-符号配置PLC中可获得的变量传输给HMI的变量更新变量应用程序-跟踪应
用程序-配方管理器选择配方表存储数据的模式和路径,添加需要保存的信息创建配方表,更新配反信息应用程序-视图在视图中添加视图控件集成的控件库应用程序-视图管理器组态视图的文件传输模式以及热键设置应用程序-视图实例应用程序-数据服务器应用程序-文本列表•文本列表可以是全局有效的对象,也可以是针对特定
应用的对象•可应用于多语言切换,动态文本交换•支持txt和xml格式的文件导入或导出,并且支持Unicode格式•基本结构如下:标志符默认语言<语言1><语言2><唯一的字符串索引1><默认语言表示的唯一的字符串索引1><语言1表示的唯一的字符串索引1><语言2表示的唯一的字符串索引1><唯一
的字符串索引2><默认语言表示的唯一的字符串索引2><语言1表示的唯一的字符串索引2><语言2表示的唯一的字符串索引2>应用程序-映像池•映像池是包含文件路径,预览和ID的映像的集合•映像的引用可通过ID和映像文件名来实现应用程序-用于隐性检查的POU用来对
数组边界、数据范围、运算除0、指针有效性进行检查应用程序-任务配置•配置PLC任务,包括循环任务,自由运行任务,事件任务和外部任务>循环任务:任务按照”间隔”里设定的时间执行循环>自由运行任务:程序一开始任
务就被处理,一个运行周期结束后任务将在下一个循环中被自动重新启动>事件任务:如果在事件项定义的变量为真时,任务将开始执行>外部任务:一旦外部事件区定义的系统事件产生,任务将被执行•在线监控任务的扫描周期时间•32个任务优先级(0~31),0是最高优先级,31
是最低优先级