当前位置:文档之家› schneider(施耐德)基本编程指令介绍

schneider(施耐德)基本编程指令介绍


数据长度
1 8 16 32 64 8 8 16 16 32 32 64 64 80(default)
整数类型
实数类型 字符串类型 双字节字符串类型
时间数据类型
基本概念5-数组类型
• • 支持一维,二维,三维数组,属于基本数据类型,可以直接在POU GVL中定义 POU或 支持一维,二维,三维数组,属于基本数据类型,可以直接在POU或GVL中定义 数组定义的语法规则: 数组定义的语法规则: 数组名>:ARRAY[<I1>..<U1>,<I1>..<U2>,<I3>..<U3>]OF<基本数据类型> >:ARRAY[<I1>..<U1>,<I1>..<U2>,<I3>..<U3>]OF<基本数据类型 <数组名>:ARRAY[<I1>..<U1>,<I1>..<U2>,<I3>..<U3>]OF<基本数据类型> 其中,I1,I2,I3为下限 U1,U2,U3为上限 为下限, 其中,I1,I2,I3为下限,U1,U2,U3为上限 示例: 示例: ARRAY1 : ARRAY[0..2,0..2] OF INT; 数组初始化 example: ARRAY1 :={1,2,3,1,2,3,1,2,3}; 数组成员的访问 <数组名>[下标] 数组名>[下标] >[下标 示例: 示例: example[0.0]
• •
基本概念6-结构类型
• 结构定义的语法规则: 结构定义的语法规则: 示例: 示例: TYPE STRUCT1: STRUCT VAR1 : INT ; VAR2 : INT ; END_STRUCT END_TYPE 结构初始化 example: STRUCT1 :={10,11}; 结构成员的访问 结构名>.<成员名> >.<成员名 <结构名>.<成员名> 示例: 示例: example.VAR1
• •
基本概念7-枚举类型
• 枚举定义的语法规则: 枚举定义的语法规则: <枚举名>:(<枚举值0>,…,<枚举值n>)|<基本数据类型>; 枚举名>:(<枚举值0>, ,<枚举值n>)|<基本数据类型 TYPE <枚举名>:(<枚举值0>, ,<枚举值n>)|<基本数据类型>; END_TYPE 示例 TYPE Light: (RED,YELLOW,GREEN:=10); END_TYPE 枚举类型的访问: 枚举类型的访问: Light :=0;

程序调用的原则; 程序调用的原则; 程序可以被其它POU POU调用 >程序可以被其它POU调用 >函数中不能调用程序 >程序没有实例
基本概念11-函数
• • 函数是仅返回一个值的POU 函数是仅返回一个值的POU 函数声明的语法规则: 函数声明的语法规则: <函数名>:<数据类型 函数名>:<数据类型> FUNCTION <函数名>:<数据类型>
全局变量定义, 全局变量定义, VAR_GLOBAL”开 “VAR_GLOBAL 开 END_VAR”结 头,”END_VAR 结 尾
常量关键字
保持型变量 关键字
基本概念1-变量定义语法规则
• • 变量声明必须符合以下语法规则: 变量声明必须符合以下语法规则: 变量名> <地址 地址>} :<数据类型 {:=<初始化值 数据类型> 初始化值>}; <变量名> {AT <地址>} :<数据类型> {:=<初始化值>}; 变量名的定义规则: 变量名的定义规则: 不得包含空格和特殊字符; >不得包含空格和特殊字符; 不区分字母大小写; >不区分字母大小写; 可以识别下划线,但不支持连续的两个下划线; >可以识别下划线,但不支持连续的两个下划线; 名称长度没有限制; >名称长度没有限制 变量名定义注意事项: 变量名定义注意事项 不能在局部域内重复使用同一个变量名; >不能在局部域内重复使用同一个变量名; 变量名不能与关键字同名; >变量名不能与关键字同名; 可以在全局域内多次使用同一个变量名; >可以在全局域内多次使用同一个变量名; >一个全局变量列表中定义的变量名称可以与另一个全局变量列表中定义的 变量相 同;
继承已有数 据类型

声明DUT的语法规则如下: 声明DUT的语法规则如下: DUT的语法规则如下 TYPE DUT1 : STRUCT VAR1 : INT ; END_STRUCT END_TYPE
数据单基本概念4-标准数据类型
数据类型
基本编程元素
第一节 用户界面-简介
菜单栏 及 快捷图标 栏 变量声明 及初始化
程序编制 区 工程 设备对象 编辑区 工具箱编 辑区
诊断消息 显示区
第二节 工程设备对象编辑器
单站控制 器类型 程序的编 制与组态 内置I/O,高速 内置I/O,高速 I/O, 计数及PTO PTO组 计数及PTO组 态 内置串口组 态与配置

功能块调用的原则; 功能块调用的原则; 通过功能块实例的方式调用, 实例名>.<变量名> >.<变量名 >通过功能块实例的方式调用,<实例名>.<变量名>; 从功能块实例的外部仅能访问功能块的输入/输出参数,不能访问内部参数; >从功能块实例的外部仅能访问功能块的输入/输出参数,不能访问内部参数; 声明为某个POU局部变量的实例时,仅能被该POU调用;声明为全局变量的实例时, POU局部变量的实例时 POU调用 >声明为某个POU局部变量的实例时,仅能被该POU调用;声明为全局变量的实例时, 才能被各POU调用; POU调用 才能被各POU调用;

函数调用的原则; 函数调用的原则; 本次调用时对函数内部变量值的改变不会影响下一次调用, >本次调用时对函数内部变量值的改变不会影响下一次调用,即每次调用时输入参数 相同,其返回值必定相同。建议: 相同,其返回值必定相同。建议:在函数中不要使用全局变量和地址 >ST中可将函数返回值当作操作数参与运算 >ST中可将函数返回值当作操作数参与运算

基本概念9-指针类型
• 指针定义的语法规则: 指针定义的语法规则: <枚举名>:(<枚举值0>,…,<枚举值n>)|<基本数据类型>; 枚举名>:(<枚举值0>, ,<枚举值n>)|<基本数据类型 TYPE <枚举名>:(<枚举值0>, ,<枚举值n>)|<基本数据类型>; END_TYPE 示例 TYPE Light: (RED,YELLOW,GREEN:=10); END_TYPE 指针类型的访问: 指针类型的访问: Light :=0;

应用程序-POU
程序组织单 元名称
程序组织单 程序组织单 元类型
程序组织单 程序组织单 元的实现语 言
Unit,程序组织单元,可以是程序, POU: Program Organization Unit,程序组织单元,可以是程序,功能块或函数
基本概念10-程序
• • 程序是执行时能够返回一个或多个值的POU,所有变量值能够从本次程序执行结束保持 程序是执行时能够返回一个或多个值的POU,所有变量值能够从本次程序执行结束保持 POU, 到下一次执行 程序声明的语法规则: 程序声明的语法规则: <程序名 程序名> PROGRAM <程序名>
专用于内置高速 HSC的功能库 HSC的功能库
应用程序-DUT(数据单元类型)
• • 创建用户自定义数据类型,包括数组,结构,枚举,引用,子范围,指针; 创建用户自定义数据类型,包括数组,结构,枚举,引用,子范围,指针; 支持面向对象的编程方式,可通过”继承”的原则对DUT进行扩展; DUT进行扩展 支持面向对象的编程方式,可通过”继承”的原则对DUT进行扩展;
基本概念3-变量初始化
• • 所有变量的默认初始化值都为0; 所有变量的默认初始化值都为0; 赋值操作符”:=”用于指定用户自定义初始化值 用于指定用户自定义初始化值; 赋值操作符”:= 用于指定用户自定义初始化值; 示例: 示例: VAR VAR1 : INT := 1 ; VAR2 : INT := 2+ FUN(3); VAR3 : POINTER TO INT := ADR(VAR4);
CANopen组 CANopen组 态与配置
第二节 工程设备对象编辑器-应用程序
全局变量定 义区
库管理器, 库管理器, 用于添加编 辑库
任务配置区, 任务配置区,用于 定义程序执行的任 务类型
应用程序-GVL
全局变量列表,作用于全局范围内的变量可以在此定义. GVL: 全局变量列表,作用于全局范围内的变量可以在此定义.

基本概念2-保持型变量
• • 保持型变量在整个程序运行期间保持值; 保持型变量在整个程序运行期间保持值; 可以单纯声明成以下三种类型,每种类型都有单独的存储空间: 可以单纯声明成以下三种类型,每种类型都有单独的存储空间: >RETAIN 示例: 示例: VAR RETAIN VAR1 : INT; VAR_END PLC正常断电 上电/意外断电之后变量的值保持,但是“初始化复位” 冷启 正常断电/ PLC正常断电/上电/意外断电之后变量的值保持,但是“初始化复位”/”冷启 重新下载程序会使RETAIN类型数据重新初始化。 RETAIN类型数据重新初始化 动”/ 重新下载程序会使RETAIN类型数据重新初始化。 >PERSISTENT 示例: 示例: VAR_GLOBLE PERSISTENT VAR1 : INT; VAR_END PLC重新启动 初始化复位 重新启动/ 初始化复位” PERSISTENT类型数据被重新初始化 类型数据被重新初始化, PLC重新启动/”初始化复位”后PERSISTENT类型数据被重新初始化,下载程序后 值保持不变.注意: 仅全局性变量能成为PERSISTENT变量! PERSISTENT变量 值保持不变.注意: 仅全局性变量能成为PERSISTENT变量! >RETAIN+PERSISTENT 示例: 示例: VAR_GLOBLE PERSISTENT RETAIN VAR1 : INT; VAR_END 继承RETAIN PERSISTENT的属性 可通过”初始化复位” RETAIN和 的属性, 继承RETAIN和PERSISTENT的属性,可通过”初始化复位”对变量进行初始化
相关主题