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

更新时间:2023-04-23 10:17:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

基本编程元素

第一节 用户界面-简介菜单栏 及 快捷图标 栏 变量声明 及初始化

程序编制 区 工程 设备对象 编辑区 工具箱编 辑区

诊断消息 显示区

第二节 工程设备对象编辑器单站控制 器类型 程序的编 制与组态 内置I/O,高速 内置I/O,高速 I/O, 计数及PTO PTO组 计数及PTO组 态 内置串口组 态与配置

CANopen组 CANopen组 态与配置

第二节 工程设备对象编辑器-应用程序

全局变量定 义区

库管理器, 库管理器, 用于添加编 辑库

任务配置区, 任务配置区,用于 定义程序执行的任 务类型

应用程序-GVL全局变量列表,作用于全局范围内的变量可以在此定义. GVL: 全局变量列表,作用于全局范围内的变量可以在此定义.全局变量定义, 全局变量定义, VAR_GLOBAL”开 “VAR_GLOBAL 开 END_VAR”结 头,”END_VAR 结 尾

常量关键字

保持型变量 关键字

基本概念1-变量定义语法规则 变量声明必须符合以下语法规则: 变量声明必须符合以下语法规则: 变量名> <地址 地址>} :<数据类型 {:=<初始化值 数据类型> 初始化值>}; <变量名> {AT <地址>} :<数据类型> {:=<初始化值>}; 变量名的定义规则: 变量名的定义规则: 不得包含空格和特殊字符; >不得包含空格和特殊字符; 不区分字母大小写; >不区分字母大小写; 可以识别下划线,但不支持连续的两个下划线; >可以识别下划线,但不支持连续的两个下划线; 名称长度没有限制; >名称长度没有限制 变量名定义注意事项: 变量名定义注意事项 不能在局部域内重复使用同一个变量名; >不能在局部域内重复使用同一个变量名; 变量名不能与关键字同名; >变量名不能与关键字同名; 可以在全局域内多次使用同一个变量名; >可以在全局域内多次使用同一个变量名; >一个全局变量列表中定义的变量名称可以与另一个全局变量列表中定义的 变量相 同;

基本概念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的属性,可通过”初始化复位”对变量进行初始化

基本概念3-变量初始化 所有变量的默认初始化值都为0; 所有变量的默认初始化值都为0; 赋值操作符”:=”用于指定用户自定义初始化值 用于指定用户自定义初始化值; 赋值操作符”:= 用于指定用户自定义初始化值; 示例: 示例: VAR VAR1 : INT := 1 ; VAR2 : INT := 2+ FUN(3); VAR3 : POINTER TO INT := ADR(VAR4);

应用程序-库管理器内置串行口通讯 库,如 MODBUS/ASCII读 MODBUS/ASCII读 写 标准通用库, 标准通用库,包 含常用的指令, 含常用的指令, 如定时器, 如定时器,计数 器

特殊用法库, 特殊用法库, 例如数据类型 转换, 转换,算术运 BCD运算 算,BCD运算

专用于内置 PTO/PWM的功能 PTO/PWM的功能 库

专用于内置高速 HSC的功能库 HSC的功能库

应用程序-DUT(数据单元类型) 创建用户自定义数据类型,包括数组,结构,枚举,引用,子范围,指针; 创建用户自定义数据类型,包括数组,结构,枚举,引用,子范围,指针; 支持面向对象的编程方式,可通过”继承”的原则对DUT进行扩展; DUT进行扩展 支持面向对象的编程方式,可通过”继承”的原则对DUT进行扩展;

继承已有数 据类型

声明DUT的语法规则如下: 声明DUT的语法规则如下: DUT的语法规则如下 TYPE DUT1 : STRUCT VAR1 : INT ; END_STRUCT END_TYPE

数据单元类 型标志名 定义数据单 元,可以是 结构, 结构,枚举 和引用

基本概念4-标准数据类型数据类型布尔类型

关键字BOOL BYTE WORD DWORD LWORD SINT USINT INT UINT DINT UDINT LINT REAL STRING WSTRING TIME TIME_OF_DAY DATE DATE_AND_TIME

值TRUE/FALSE 0~255 0~65535 0~4294967295 0~2^64-1 -128~127 0~255 -32768~32767 0~65535 -2147483648~2147483648 0~ 4294967295 -2^63~ 2^63-1 1.175494351e-38F~3.402823466e+38F ASCII UNICODE T#10ms TOD#10:00:00 D#2010-3-1 DT#2010-3-1-10:00:00

数据长度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;

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

基本概念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 <程序名>

程序调用的原则; 程序调用的原则; 程序可以被其它POU POU调用 >程序可以被其它POU调

用 >函数中不能调用程序 >程序没有实例

基本概念11-函数 函数是仅返回一个值的POU 函数是仅返回一个值的POU 函数声明的语法规则: 函数声明的语法规则: <函数名>:<数据类型 函数名>:<数据类型> FUNCTION <函数名>:<数据类型>

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

本文来源:https://www.bwwdw.com/article/pntq.html

Top