IEC 611313PLC学习笔记Word文档格式.docx
- 文档编号:20390574
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:48
- 大小:620.16KB
IEC 611313PLC学习笔记Word文档格式.docx
《IEC 611313PLC学习笔记Word文档格式.docx》由会员分享,可在线阅读,更多相关《IEC 611313PLC学习笔记Word文档格式.docx(48页珍藏版)》请在冰豆网上搜索。
3.使用通信功能块,变量的值可以在同一程序的不同部分之间、同一或不同配置的不同程序之间、可编程控制器程序和非可编程控制器系统之间进行通信。
4.此外,可编程控制器或非可编程控制器系统间通过
访问路径
传输数据。
程序设计模型
可编程控制器编程语言元素有如下的分类:
∙数据类型和变量
∙程序组织单元:
功能、功能块、程序
∙顺序功能图(SFC)元素
∙配置元素:
全局变量、资源、任务、访问路径
这些元素的组合应遵守下列规则:
1.导出数据类型的声明可以使用标准数据类型(包括基本数据类型和一般数据类型)、先前导出的任何数据类型。
2.导出功能的声明可以使用标准或导出数据类型、标准功能、先前导出的任何功能。
该声明可以使用IL,ST,LD,FBD语言。
3.导出功能块的声明可以使用标准或导出数据类型和功能、标准功能块、先前导出的任何功能块。
该声明可以使用IL,ST,LD,FBD语言和SFC元素。
4.程序声明可以使用标准或导出数据类型、功能和功能块。
该声明可以使用IL,ST,LD,FBD语言和SFC元素。
5.通过配置元素,可以将程序组合形成配置。
共同元素
字符的使用
文本/图形语言
字符集
定义在ISO-646IRV中,同时有其他字符集的扩展,如ISO10646-1定义的“拉丁-1补充”。
标识符
是由字母、数字、下划线组成的字符串,并且由字母或下划线开始。
∙可编程控制器编程语言是大小写不敏感的。
∙标识符中的下划线是有意义的,然而多个连续的下划线是不允许的。
∙标识符至少应支持6个字符。
注释
是在程序中引入文本的语言构造,并且对程序的执行没有影响。
在可编程控制器语言中,注释的分隔符为(*
*)。
嵌套的注释将被当做
错误
编译指示
是在程序组织单元中引入文本的语言构造,并且可能会对程序执行前的准备产生影响。
在可编程控制器语言中,编译指示的分隔符为{
}。
数据的外部表示
数字直接量
有两种数字直接量:
整数和实数。
数字直接量定义为十进制数或其他基底的数。
在数字直接量中,插在数字间的单个
_
是没有意义的,其他下划线的使用都是不允许的。
示例:
-120123_456+986
-12.00.00.45603.14159_26
-1.34E-12or-1.34e-12
16#FFor16#ff(十进制255)
FALSETRUE
UINT#16#9AFDINT#5
字符串直接量
字符串直接量包括单字节和双字节编码的字符。
单字符
字符串以'
分隔,$与随后的两位16进制数表示8位字符码。
双字节
字符串以"
分隔,$与随后的4四位16进制数表示16位字符码。
$与随后的一个字符表示转移。
'
'
A'
$'
ÄË'
=='
$C4$CB'
"
"
A"
$"
ÄË"
=="
$00C4$00CB"
STRING#'
OK'
==WSTRING#'
转义列表
组合
解释
$$
美元符号
/$"
引号
$L/$l
换行
$N/$n
新行
$P/$p
换页
$R/$r
回车
$T/$t
制表符
时间直接量
有两类的时间直接量:
1.持续时间
来度量或控制一个控制事件消耗的时间。
2.时间点
(可以包括日期)来同步控制事件的开始或结束。
o可选的单个_可以用来分隔不同的时间单位。
o持续时间的最大单位允许“溢出。
o最小单位可以是不含指数的实数。
关键字
持续时间
时间点
全拼
TIME
DATE
TIME_OF_DAY
DATE_AND_TIME
简写
T
D
TOD
DT
T#14.7ht#5d14h12m18s3.5msTIME#-14ms
DATE#1984-06-25tod#15:
36:
55.36
date_and_time#1984-06-25-15:
数据类型
基本数据类型
编号
长度
1
BOOL
布尔
2
SINT
短整数
8
3
INT
整数
16
4
DINT
双精度整数
32
5
LINT
长整数
64
6
USINT
无符号短整数
7
UINT
无符号整数
UDINT
无符号双精度整数
9
ULINT
无符号长整数
10
REAL
实数
11
LREAL
长实数
12
–
13
DATE
如期
14
TIME_OF_DAY/TOD
时间(当日)
15
DATE_AND_TIME/DT
时间与日期
STRING
可变长度单字节字符串
17
WSTRING
可变长度双字节字符串
18
BYTE
长为8的位串
19
WORD
长为16的位串
20
DWORD
长为32的位串
21
LWORD
长为64的位串
一般数据类型
在功能和功能块的输入/输出说明中,除
基本数据类型
外,还可以使用
一般数据类型层级
一般数据类型用前缀ANY标识。
其层级关系如下:
ANY
ANY_DERIVED
ANY_ELEMENTARY
ANY_MAGNITUDE
ANY_NUM
ANY_REAL
LREAL
REAL
ANY_INT
LINT,DINT,INT,SINT
ULINT,UDINT,UINT,USINT
TIME
ANY_BIT
LWORD,DWORD,WORD,BYTE,BOOL
ANY_STRING
STRING
WSTRING
ANY_DATE
DATE_AND_TIME
DATE,TIME_OF_DAY
导出数据类型
导出数据类型
使用TYPE...END_TYPE声明。
例如,从基本数据类型直接导出的数据类型:
TYPERU_REAL:
REAL;
END_TYPE.
枚举
TYPEANALOG_SIGNAL_TYPE:
(SINGLE_ENDED,DIFFERENTIAL):
=SINGLE_ENDED;
END_TYPE
在
枚举
中,可以使用类型前缀(如ANALOG_SIGNAL_TYPE#)可用来避免歧义。
如果没有提供足够的类型信息,将被视为
类型的默认初始值为第一个标识符,或用户在类型声明中使用:
=指定的值。
子域
TYPEANALOG_DATA:
INT(-4095..4095);
END_TYPE
子域
声明指定了数据取值的上限和下限。
如果子范围类型的值超出了其规定的范围,将被视为
数据类型的初始值为取值的下限。
结构
TYPE
ANALOG_CHANNEL_CONFIGURATION:
STRUCT
RANGE:
ANALOG_SIGNAL_RANGE;
MIN_SCALE:
ANALOG_DATA;
MAX_SCALE:
END_STRUCT;
ANALOG_16_INPUT_CONFIGURATION:
SIGNAL_TYPE:
ANALOG_SIGNAL_TYPE;
FILTER_PARAMETER:
SINT(0..99);
CHANNEL:
ARRAY[1..16]OFANALOG_CHANNEL_CONFIGURATION;
对于
结构
数组
,初始值对应基本数据类型的初始值,除非用户使用:
=指定。
基本数据类型的初始值均为0,日期除外:
0000-00-01。
数组
TYPEANALOG_16_INPUT_DATA:
ARRAY[1..16]OFANALOG_DATA;
STRING
WSTRING
的默认长度是
的,但用户可以指定,例如:
TYPESTR10:
STRING[10]:
='
ABCDEF'
;
END_TYPE。
变量
表示
单元素变量
单元素变量
定义为表示单个基本数据类型数据元素的变量。
这部分定义了变量的
符号表示
直接表示
(数据元素与可编程控制器输入/输出/存储器结构的物理/逻辑地址的关联)。
的
由一个%,一个
地址前缀
,一个
大小前缀
,和一个或更多由.分隔的无符号整数组成。
*可用于地址前缀,表示
还没有完全指定。
变量地址应在
的VAR_CONFIG...END_VAR
构造内完全指定,否则将产生
位置前缀
含义
地址前缀
I
输入
X/None
单个位
Q
输出
B
字节(8位)
M
存储器
W
字(16位)
*
未指定
D
双字(32位)
L
长字(64位)
示例
%QX75or%Q75(*输出的75位*)
%IW2.5.7.1(*在输入的物理/逻辑层级2.5.7.1的字*)
一个可编程控制器通过分级寻址访问另一个控制器的数据应被视为
语言扩展
最大级数是
的。
多元素变量
在本标准中定义的
多元素变量
包括
是包含有着同样属性的数据对象的
,每个数据对象可通过下标来引用。
是命名数据元素收集而成的数据类型。
OUTARY[%MB6,SYM]:
=INARY[0]+INARY[7]-INARY[%MB6]*%IW62;
MODULE_5_CONFIG.SIGNAL_TYPE:
=SINGLE_ENDED;
MODULE_5_CONFIG.CHANNEL[5].RANGE:
=BIPOLAR_10V;
初始化
当配置元素(资源、配置)启动时,每个与该元素关联的变量可以取如下的初始值:
∙上次停机时该变量的值(保持的值)。
∙用户指定的初始值。
∙该变量关联的数据类型的默认初始值。
用户可通过RETAIN限定符来指定变量是保持的。
声明
文本形式的变量声明使用关键字VAR(或其他VAR关键字),接着一个可选的限定符,接着一个或更多的用;
分隔的声明,以关键字END_VAR结束。
变量声明涉及的关键字
变量使用
VAR
内部变量,组织单元内使用
VAR_INPUT
外部提供,组织单元内只读
VAR_OUTPUT
组织单元提供,外部实体使用
VAR_IN_OUT
外部实体提供,组织单元内可读写
VAR_EXTERNAL
配置通过VAR_GLOBAL提供,组织单元内可读写
VAR_GLOBAL
全局变量声明
VAR_ACCESS
访问路径声明
VAR_TEMP
功能块和程序内的临时存储
VAR_CONFIG
实例初始化和地址赋值
RETAIN
保持的变量
NON_RETAIN
非保持的变量
CONSTANT
常数(只读变量)
AT
地址赋值
里,以VAR_TEMP...END_VAR构造声明的变量在每次
实例调用
都会初始化。
变量声明的作用域对于所在的程序组织单元是
局部的
VAR_GLOBAL...END_VAR变量只有通过VAR_EXTERNAL声明后才是可访问的,且VAR_EXTERNAL中的类型声明与对应的VAR_GLOBAL应保持一致,否则将产生
类型赋值
物理/逻辑地址到符号表示变量的赋值应使用AT关键字。
如果没有这样的赋值,变量将被自动分配到可编程控制器存储器中合适的地址。
VARRETAIN
AT%IW6.2:
WORD;
LIM_SW_S5AT%IX27:
BOOL;
INARYAT%IW6:
ARRAY[0..9]OFINT;
THREE:
ARRAY[1..5,1..10,1..8]OFINT;
END_VAR
赋初始值
初始值可以通过使用VAR_CONFIG...END_VAR构造提供的实例初始化特性来完成。
实例初始化提供的初始值总是应当覆盖类型提供的初始值。
在VAR_EXTERNAL声明中不允许给定初始值。
变量初始化
VALVE_POSAT%QW28:
INT:
=100;
OUTARYAT%QW6:
ARRAY[0..9]OFINT:
=[10
(1)];
OKAY:
TBT:
ARRAY[1..2,1..3]OFINT:
=[1,2,3(4),6];
(*结构声明*)
(*结构初始化*)
VARMODULE_8_CONFIG:
=(
=DIFFERENTIAL,
=[
4(
(RANGE:
=UNIPOLAR_1_5V)
),
(
RANGE:
=BIPOLAR_10_V,
=0,
=500
)
]
);
功能块初始化
VARTempLoop:
PID:
PropBand:
=2.5,
Integral:
=T#5s
程序组织单元
IEC61131-3定义的
程序组织单元
包括:
功能、功能块、程序。
这些程序组织单元不应是
递归的,即对一个程序组织单元的调用不会再次引发对该类型程序组织单元的调用。
功能
功能
执行后产生一个结果数据元素,和任意数量的输出元素的程序组织单元。
功能结果可以是多值的,即数组或结构。
功能不能包含状态信息,即每次同样参数的调用应得到同样的结果。
已声明的功能可以在其他程序组织单元中调用。
功能使用示例-ST语言:
VARX,Y,Z,RES1,RES2:
REAL;
EN1,V:
END_VAR
RES1:
=DIV(IN1:
=COS(X),IN2:
=SIN(Y),ENO=>
EN1);
RES2:
=MUL(SIN(X),COS(Y));
Z:
=ADD(EN:
=EN1,IN1:
=RES1,IN2:
=RES2,ENO=>
V);
功能使用示例-FBD语言:
+-----++------++------+
X---+-|COS|--+-|ENENO|-----|ENENO|---V
||||||||
|+-----++---|DIV|-----|ADD|---Z
|||||
|+-----+||+-||
Y-+---|SIN|------|||+------+
||||+------+|
||+-----+|
|||
||+-----++------+|
|+-|SIN|--+-|ENENO|-|
|||||||
|+-----++--|MUL|---+
|||
|+-----+||
+---|COS|------||
||+------+
+-----+
表示法
∙对
VAR_OUTPUT
的赋值可以空白,也可以用变量。
VAR_IN_OUT
参数的赋值应该是变量。
VAR_INPUT
的赋值可以为空白、常量、变量和功能调用。
对于后者,功能的结果将被作为实参。
∙在图形语言中,功能应表示为矩形块,大小取决于输入参数等信息的多少。
功能名应卸载矩形块内部。
每个输入输出都用一根线来表示。
∙对于输入输出变量名的规定:
o没有指定输入变量名时,默认名为:
IN1,
IN2(从上到下顺序)
o只有一个未命名输入时,默认名为:
IN
o上述默认名可以出现在功能表示的左边,也可以不出现。
∙还可以使用附加输入
EN
和附加输出
ENO,它们分别位于左右的最上方。
∙应使用信号线进行参数的连接(包括功能结果)。
∙布尔类型的输入输出可用
O
进行翻转。
∙VAR_IN_OUT
应被适当地连接。
∙参数列表是一系列实参到形参的赋值组成的集合。
oVAR_IN
赋值使用
:
=
oVAR_OUT
=>
∙除EN
ENO外,参数列表中参数的数目、类型和顺序都应与功能定义相符。
执行控制
附加的
EN(Enable)输入、ENO(EnableOut)输出可用于控制功能的执行,规则如下:
1.如果
值为
FALSE,功能被调用时不应执行,且
ENO
应被PC系统重置为
FALSE。
否则功能应被执行,且
应被PC系统置为
TRUE,功能操作中也可以对ENO进行赋值。
2.当功能执行中发生错误时,ENO
FALSE,否则制造商应提供的其他的错误处理方式。
3.当ENO值为FALSE时,功能所有输出的值均
使用示例:
(*LD语言*)
+-------+|
|ADD_EN|+|ADD_OK|
+---||---|ENENO|---()---+
||||
|A---||---C|
|B---|||
(*FBD语言*)
+-----+
ADD_EN---|EN|
A---|+|---C
B---||
文本语言中,功能声明由以下几部分组成:
1.关键字
FUNCTION;
2.VAR_INPUT...END_VAR
构造,规定输入变量;
3.VAR_IN_OUT...END_VAR构造和VAR_OUTPUT...END_VAR构造,分别规定输入-输出和输出变量。
4.VAR...END_VAR
构造,规定内部变量;
5.功能体。
规定功能对这些变量的操作,通过对与功能同名的变量赋值来设置返回值。
6.终止关键字
END_FUNCTION
图形语言中,功能声明由以下几部分组成:
FUNCTION
END_FUNCTION,或等效的图形元素;
2.功能名,功能结果和功能变量的名称、类型、初始值的图形说明;
3.内部变量的名称、类型、初始值的图形说明。
4.功能体,同上。
每个
中的功能声明数目是一个
的参数。
功能声明示例-ST语言:
FUNCTIONSIMPLE_FUN:
(*Externalinterfacespecification*)
VAR_INPUT
A,B:
C:
REAL:
=1.0;
VAR_IN_OUTCOUNT:
INT;
END_VAR
VARCOUNTP1:
(*Functionbodyspecification*)
COUNTP1:
=ADD(COUNT,1);
COUNT:
=COUNTP1;
SIMPLE_FUN:
=A*B/C;
功能声明示例-FBD语言:
FUNCTION
+-------------+(*Externalinterfacespecification*)
|SIMPLE_FUN|
REAL----|A|----REAL
REAL----|B|
REAL----|C|
INT-----|COUNT---COUNT|----INT
+-------------+
(*Functionbodyspecification*)
+---+
|ADD|---+----+
CO
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- IEC 611313PLC学习笔记 611313 PLC 学习 笔记
