注:对于数字量模块不一定要进行硬件组态,而对于模拟量模块一定要 进行硬件组态。
4.1 指令及其结构 指令是程序的小独立单位,用户程序是由若干条顺序排列的指令构成.
4.1.1 指令的组成
1.语句指令
语句指令用助记符表示 PLC 要完成的操作。
指令:操作码+操作数 操作码用来指定要执行的功能,告诉CPU该进行什么操作;操作 数内包含为执行该操作所必需的信息,告诉CPU用什么地方的数 据来执行此操作。
例如: 操作码 操作数
0 I0.0
O I0.1
= Q0.0
有些语句指令不带操作数,因为它们的操作对象是**的。 例如:操作码 操作数
NOT SET
2.梯形图指令
梯形图指令用图形元素表示 PLC 要完成的操作。在梯形图指令中,其操作 码是用图素表示的,该图素形象表明 CPU 做什么,其操作数的表示方法与 语句指令相同。
例如:
梯形图指令也可不带操作数。 例如:
4.1.2 操作数
1.标识符及标识参数
M:位存储区 T:定时器 C:计数器 L:本地数据 DB:数据块
X:位 B:字节 W:字 D:双字
注意:①PLC 物理存储器是以字节为单位的。
②当操作数长度是字或双字时,标识符后给出的标识参数是字或双 字内的低字节单元号。
③当使用宽度是字或双字的地址时,应保证没有生成任何重叠的字 节分配,以免造成数据读写错误。
2.操作数的表示法
操作数的表示法
物理地址(绝对地址)
符号地址(必须先定义后使用,而且符号名必须是 **的)
关于定义符号地址的几点说明:
(一)当你在表中输入符号地址时,应注意以下几点:
(二)你必须区分局域(块定义)符号和共享符号
(三)显示共享或局域符号 你可以在程序的指令部分区分开共享符号和局域符号。
•符号表中定义的符号(共享)显示在引号内。
•块变量声明表中的符号(局域)显示时前面加上“#”。 提示:
使用菜单命令 View>Display>Symbolic Representation,你可以在所有 声明的符号地址和绝对地址之间进行切换。
4.1.3 寻址方式
寻址方式是指令得到操作数的方式。
4.1.4 数据类型
数据类型决定了你以什么方式或格式理解或访问存储区中的数据。
4.1.5 状态字
状态字用于表示 CPU 执行指令时所具有的状态。
如何输入梯形图组件:
1、在段中选择一点,你想在该点后面插入一个梯形图组件。
2、用下列方法之一,在段中插入所需的组件:
• 在菜单“Insert”中选择合适的菜单命令,例如, Insert>LAD Element>Normally Open Contact
• 用功能键 F2、F3 或 F7 输入一个常开触点、常闭触点或输出线圈。
• 选择菜单命令 Insert>Program Elements 打开“program Elements
(编程组件)”对话框并在目录中选择所需的组件。 所选的梯形图组件被插入,问号被用来表示地址和参数。
如何输入语句表语句: 1、通过点击灰色注释框下面的任意区域就可打开正文框(或者若不显示
段注释则在段标题的下面)。 2、输入指令、按空格键,然后是地址(直接或间接地址)。
3、按空格键并输入以双斜线//开始的注释(可选)。
4、在完成一条(一行)带注释或不带注释的语句后按 RETURN。 一行完成后,运行语法检查,这条语句形成并显示,指令中或绝对地址 中的任何小写字母都转换为大写。任何查到的语法错误都显示为红色斜 体,在存储该逻辑块之前必须修改所有错误。
4.2 位逻辑指令
4.2.1 位逻辑运算指令
1.“与”、“或”、“异或”指令
(1)语句指令
布尔逻辑串内的真值表(根据下列表可以确定第二条布尔位操作 后的 RLO)
布尔逻辑串开始的真值表
(2)梯形图逻辑指令
①常开接点(动合触点)元素和参数
②常闭接点(动断触点)元素和参数
2.输出指令
输出指令把状态字中 RLO 的值赋给指定的操作数
二分频器是一种具有一个输入端和一个输出端的功能单元,输出频率为输 入频率的一半。如下,输入为 I0.0,输出为 Q4.0。
梯形图程序:
语句表程序:
例二 风机监控程序 某设备有三台风机,当设备处于运行状态时,如果风机至少有两台以上 转动,则指示灯常亮;如果仅有一台风机转动,则指示灯以 0.5Hz 的频 率闪烁;如果没有任何风机转动,则指示灯以 2Hz 的频率闪烁。当设备 不运行时,指示灯不亮。
梯形图程序:
语句表程序:
输入位 I0.0,I0.1,I0.2 分别表示风机 1,2,3。存储位 M100.3 为 2Hz 的 频率信号,M100.7 为 0.5Hz 的信号。风机转动状态指示灯由 Q4.0 控制。 存储位 10.0 为 1 时用于表示至少有两台风机转动,M10.1 为 1 时表示没 有风机转动。
例三 启动和自锁程序
程序功能:输入 X0 闭合时,输出 Y0 闭合且自锁。只有在 X1 闭合时,其 动断触点打开,Y0 断开。其时序图如下。
梯形图程序:
语句表程序:
练习:请指出以下实现输出 Q0.0、Q0.1 互锁程序的错误,并改正。
例四 优先程序 优先程序执行时,能在多个输入信号中仅接收先一个输入信号作出反 映,其后的输入信号不接收。此原则常用于抢答器中。
例五 灯泡控制程序 一盏灯泡由一个按钮来控制,已知次按下按钮,灯泡亮,第二次按 下按钮,灯光灭。
(一)PLC 接线图
(二)定义符号地址
(三)梯形图程序
例六 双作用气缸连续往复运动控制 按启动按钮双作用气缸连续往复运动,按停止按钮,停止运动。
(一)气控回路
(二)PLC 接线
(三)定义符号地址
(四)梯形图程序
练习:编制电动机点动和连续运转控制程序。
参考程序:
(一)定义符号地址
(二)LAD 程序
练习:编制双控灯控制程序,要求开关 K1 或 K2 任意一个开关的开和 关的操作均可以控制灯 L 的亮和灭。完成后可再编制三控灯。 参考程序
程序 1:
3.置位/复位指令
复位/置位指令根据 RLO 的值,来决定被寻址位的信号状态是否需要改变。 若 RLO 的值为 1,被寻地址位的信号状态被置 1 或清 0;若 RLO 的值为 0,被寻 址位的信号保持原状态不变。这一特性又称为静态的置位/复位。相应地, 赋值输出被称为动态赋值输出。在 LAD 中置位/复位指令要放在逻辑串右 端,而不能放在逻辑串中间。
4. RS 触发器
置位复位触发器真值表
复位置位触发器真值表
在 LAD 中,RS 触发器可以用在逻辑串右端,结束一个逻辑串,也可用在逻辑串中,影响右边的逻辑操作结果。
例一 控制传送带 一个由电气启动的传送带,在传送带的起点有两个按钮开关:用于START 的 S1 和 STOP 的 S2。在传送带的尾部也有两个按钮开关:于 START 的 S3 和 STOP 的 S4。可以从任何一端起动或停止传送带。另外,当传送带上的物件 到达末端时,传感器 S5 使传送带停机。
(一)PLC 接线
(二)定义符号地址
(三)梯形图程序
思考题:
如下的程序有什么不足之处?应如何改正?
例二 双缸顺序动作控制程序 设计程序,使两个气缸顺序动作,其顺序为:A1B1B0A0。
(一)气控回路
(二)位移-步骤图
(三)I 型障碍信号分析
(四)PLC 接线
(五)定义符号地址
(六)梯形图程序
5.RLO 上升沿、下降沿检测指令
RLO 上升沿检测指令识别 RLO从0至 1(上升沿)的信号变化,并且在操 作之后以 RLO=1 表示这一变化。用边沿存储位比较 RLO 的现在的信号状态 与该地址上周期的信号状态,如果操作之前地址的信号状态是 0,并且现在 RLO=1,那么操作之后,RLO 将为 1(脉冲),所有其它的情况为 0。在该操 作之前,RLO 存储于地址中。
RLO 下降沿检测指令识别 RLO从1至 0(下降沿)的信号变化,并且在操 作之后以 RLO=1 表示这一变化。用边沿存储位比较 RLO 的现在的信号状态 与该地址上周期的信号状态,如果操作之前地址的信号状态是 1,并且现在 RLO=0,那么操作之后,RLO 将为 1(脉冲),所有其它的情况为 0。在该操 作之前,RLO 存储于地址中。
如果 RLO 在相邻的两个扫描周期中相同(全为1或 0),那么 FP或 FN语 句把 RLO 位清 0。
6.地址上升沿、下降沿检测指令
地址上升沿检测指令将<位地址 1>的信号状态与存储在<位地址 2>中的 先前信号状态检查时的信号状态比较。如果有从0至1 的变化的话,输出 Q 为 1,否则为 0。
地址下降沿检测指令将<位地址 1>的信号状态与存储在<位地址 2>中的 先前信号状态检查时的信号状态比较。如果有从1至0 的变化的话,输出 Q 为 1,否则为 0。
在梯形图中,地址跳变沿检测方块和 RS 触发器方块可被看作一个特殊常 开触点。该常开触点的特性:若方块的 Q 为 1,触点闭合;若 Q 为 0,则触 点断开。
7.对 RLO 的直接操作指令