|
可编程控制器常用编程指令 |
||||||
|
虽然不同厂家生产的可编程控制器的硬件结构和指令系统各不相同,但基本思想和编程方法是类似的。下面以A-B公司的微型可编程控制器Micrologix1000为例,介绍基本的编程指令和编程方法 (1) 存储器构成及编址方法 由前所述,存储器中存储的文件分为程序文件和数据文件两大类。程序文件包括系统程序和用户程序,数据文件则包括输入/输出映像表(或称为缓冲区)、位数据文件(类似于内部继电器触点和线圈)、计时器/计数器数据文件等。为了编址的目的,每个文件均由一个字母(标识符)及一个文件号来表示,如表1所示 |
||||||
|
图 地址的表示方法 |
表1 数据文件的类型及标识 |
|||||
|
文件类型 |
标识符 |
文件编号 |
文件类型 |
标识符 |
文件编号 |
|
|
输出文件 |
O |
0 |
计时器文件 |
T |
4 |
|
|
输入文件 |
I |
1 |
计数器文件 |
C |
5 |
|
|
状态文件 |
S |
2 |
控制字文件 |
R |
6 |
|
|
位文件 |
B |
3 |
整数文件 |
N |
7 |
|
|
上述文件编号为已经定义好的缺省编号,此外,用户可根据需要定义其他的位文件、计时器/计数器文件、控制文件和整数文件,文件编号可从10~255。一个数据文件可含有多个元素。对计时器/计数器文件来说,元素为3字节元素,其他数据文件的元素则为单字节元素。存储器的地址是由定界符分隔开的字母、数字、符号组成。定界符有三种,分别为: “:”——表示后面的数字或符号为元素; “。”——表示后面的数字或符号为字节; “/”——表示后面的数字或符号为位 典型的元素、字及位的地址表示方法如上图所示 (2) 指令系统 Micrologix 1000采用梯形图和语句两种指令形式。表2列出了其指令系统 |
||||||
|
表2 Micrologix1000 指令系统 |
||||||
|
序号 |
名称 |
助记符 |
图形符号 |
意 义 |
||
|
继电器逻辑控制指令 |
||||||
|
1 |
检查是否闭合 |
XIC |
|
检查某一位是否闭合,类似于继电器常开触点 |
||
|
2 |
检查是否断开 |
XIO |
|
检查某一位是否断开,类似于继电器常闭触点 |
||
|
3 |
输出激励 |
OTE |
|
使某一位的状态为ON或OFF,类似于继电器线圈 |
||
|
4
|
输出锁存 输出解锁 |
OTL OTU |
|
OTL使某一位的状态为ON,该位的状态保持为ON,直到使用一条OUT指令使其复位 |
||
|
计时器/计数器指令 |
||||||
|
5 |
通延时计时器 |
TON |
|
利用TON指令,在预置时间内计时完成,可以去控制输出的接通或断开 |
||
|
6 |
断延时计时器 |
TOF |
|
利用TOF指令,在预置时间间隔阶梯变成假时,去控制输出的接通或断开 |
||
|
7 |
保持型计时器 |
RTO |
|
在预置时间内计时器工作以后,RTO指令控制输出使能与否 |
||
|
8 |
加计数器 |
CTU |
|
每一次阶梯由假变真,CTU指令以1个单位增加累加值 |
||
|
9 |
减计数器 |
CTD |
|
每一次阶梯由假变真,CTD指令以1个单位把累加值减少1 |
||
|
10 |
高速计数器 |
HSC |
|
高速计数,累加值为真时控制输出的接通或断开 |
||
|
11 |
复位指令 |
RES |
|
使计时器和计数器复位 |
||
|
比较指令 |
||||||
|
12 |
等于 |
EQU |
|
检测两个数是否相等 |
||
|
13 |
不等于 |
NEQ |
|
检测一个数是否不等于另一个数 |
||
|
14 |
小于 |
LES |
|
检测一个数是否小于另一个数 |
||
|
15 |
小于等于 |
LEQ |
|
检测一个数是否小于或等于另一个数 |
||
|
16 |
大于 |
GRT |
|
检测一个数是否大于另一个数 |
||
|
17 |
大于等于 |
GRQ |
|
检测一个数是否大于或等于另一个数 |
||
|
18 |
屏蔽等于 |
MEQ |
|
检测两个数的某几位是否相等 |
||
|
19 |
范围检测 |
LIM |
|
检测一个数是否在由另外的两个数所确定的范围内 |
||
|
运算指令 |
||||||
|
20 |
加法 |
ADD |
|
将源A和源B两个数相加,并将结果存入目的地址内 |
||
|
21 |
减法 |
SUB |
|
将源A减去源B,并将结果存入目的地址内 |
||
|
22 |
乘法 |
MUL |
|
将源A乘以源B,并将结果存入目的地址内 |
||
|
23 |
除法 |
DIV |
|
将源A除以源B,并将结果存入目的地址和算术寄存器内 |
||
|
24 |
双除法 |
DDV |
|
将算术寄存器中的内容除以源,并将结果存入目的地址和算术寄存器中 |
||
|
25 |
清零 |
CLR |
|
将一个字的所有位全部清零 |
||
|
26 |
平方根 |
SQR |
|
将源进行平方根运算,并将整数结果存入目的地址内 |
||
|
27
|
数据定标
|
SCL
|
|
将源乘以一个比例系数,加上一个偏移值,并将结果存入目的地址中 |
||
|
程序流程控制指令 |
||||||
|
28
|
转移到标号 标号 |
JMP LBL |
|
向前或向后跳转到标号指令
|
||
|
29
|
跳转到子程序 子程序 从子程序返回 |
JSR SBR RET |
|
跳转到指定的子程序并返回
|
||
|
30 |
主控继电器 |
MCR |
|
使一段梯形图程序有效或无效 |
||
|
31 |
暂停 |
TND |
|
使程序暂停执行 |
||
|
32 |
带屏蔽立即输入 |
IIM |
|
立即进行输入操作并将输入结果进行屏蔽处理 |
||
|
33 |
带屏蔽立即输出 |
IOM |
|
将输出结果进行屏蔽处理并立即进行输出操作 |
||


