第6章_PLC的功能指令
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
网络2
LD
SM0.0
+I
*AC1, AC0
// 字累加
+D
2, AC1
// 指针AC1的值加2,指向下一个变量存储器字
网络3 NEXT 网络4 LD
I0.0 EU
// 循环结束
I 2.1
4
JMP
…
4
LBL
MOVD AC0, VD10
// 保存运算结果
图6-3 跳转与标号指令.
1. 跳转指令
(1)跳转指令
2. 停止指令 STOP,停止指令。使能输入有效时,该指令使主机 CPU的工作方式由RUN切换到STOP方式,从而立即终 止用户程序的执行。如果正在执行中断程序,则立即停 止并忽略其他正在等待的中断,返回主程序,在结束处, 完成工作方式的转换。
STOP指令在梯形图中以线圈形式编程。指令不含操作
数。
6.4.5 表功能指令 1.填表指令
TL值为数据表的最大长度,EC为为实际的数据项,当EC>TL时候SM1.4=1.
0003
1234
数据2 数据3
VW210? VW212? SM1.4?
命令参数CMD = 1~4,分别代表“=”、“<>”(不等于)、“<”和 “>”。
图6-16 先入先出指令举例
2.循环指令 由 FOR和NEXT指令构成程序的循环体。FOR指令标记循环的开始,NEXT指令
为循环体的结束指令。 使能输入EN有效,循环体开始执行,执行到NEXT指令时返回,每执行一次循环
体,当前值计数器INDX增1,达到终止值FINAL时,循环结束。使能输入无效时,循 环体程序不执行。每次使能输入有效,指令自动将各参数复位。
6.4.6 读写实时时钟指令
读实时时钟指令TODR从实时钟读取当前时间和日期,并把它们装入以T 为起始地址的8字节缓冲区,依次存放年、月、日、时、分、秒、0和星期, 1 为星期日,2~7为星期1~6。写实时时钟指令TODW将起始地址为T的 8字节 缓冲区中的时间和日期写入实时钟。
图6-18 时钟指令
6.2 程序控制类指令 1.条件结束指令与停止指令 (1). 结束指令
结束指令有两条:END和MEND。两条指令在梯形图中以线圈形式编程。 END,条件结束指令。使能输入有效时,终止用户主程序。 MEND,无条件结束指令。无条件终止用户程序的执行,返回主程序 的第一条指令。
指令格式:END(无操作数)
要求:按照图示及上述要求设计梯形图;用可调的脉冲发生器1(输出高电平间隔 为0.5S,方波宽度为0.2S)代替光电传感器1效果,用可调的脉冲发生器2(输出高电平 间隔为1S,方波宽度为0.2S)代替光电传感器2效果进行仿真。
三台电机分时启动控制应用
控制要求:按下起动按钮后3台电机每隔2S分别依次 起动;按下停止按钮,3台电机每隔2S依次停止。 使用比较指令
要求:
1、使用高精度定时。
2、尽量节约输入输出逻辑。
3、使用中断程序。
应用实例2:某单向旋转机械上连接了一个A/B两相正交脉冲增量旋转编码器,计数 脉冲的个数就代表了旋转轴的位置。编码器旋转一圈产生10个A/B相脉冲和一个复 位脉冲(C相),需要载第8个脉冲所代表的位置接通电机,其余位置断开电机。
网络3
NEXT
// 循环结束
图6-7 在OB1中调用子程序
6.4 数据处理指令
6.4.1 比较指令
1秒脉冲发生器
图6-8 比较触点指令
图6-9 自复位接通延时定时器
综合实例:下图所示为包括两台传送带的系统,按下启动按钮同时启动,按下停止
按钮同时停止。在两台传送带之间有一个临时仓库区。传送带1 将包裹运送至仓库区。 传送带1 靠近仓库区一端安装的光电传感器确定已有多少包裹运送至仓库区。传送带2 将临时库区中的包裹运送至装货场,在这里货物由卡运送至顾客。传送带2 靠近仓库区 一端安装的光电传感器确定已有多少包裹从仓库区运送至装货场。含 5 个指示灯的显 示面板表示临时仓库区的占用程度,指示灯同时只能亮一个。每次启动系统仓库区初始 值置为0。
网络1
LD SM0.0
MOVD 0, #RESULT
// 清结果单元
FOR #COUNT, 1, #NUMB // 循环开始
网络2
LD SM0.0
ITD *#POINT, #TMP1
// 将待累加的整数转换为双整数
+D #TMP1, #RESULT
// 双整数累加
+D 2, #POINT
// 指针值加2,指向下一个字
启动循环时,将初始值INIT传送到INDX中
【例6-1】在I0.0 = 1的上升沿,求VW100~VW108中5个字的累加和。
网络1
LD
I0.0
EU
MOVB 0, AC0
// 清累加器0
MOVD &VB100, AC1 // 累加器1(存储区指针)指向VB100
FOR VW0, 1, 5
// 循环开始
演示仿真
6.4.3 移位与循环指令,处理对象为无符号数 1.右移位和左移位指令
使用循环移位指令实现霓虹灯控制。
要求:一组霓虹灯由8个LED灯组成,当程序初始化后1、 3LED灯亮,按下左循环按钮后每隔2S向左循环移位使指示 灯分别显亮,按下右循环按钮后每隔2S向右循环移位使指示 灯分别显亮。
6.4.4 数据转换指令
// 读实时时钟,小时值在VB3 //如果在 20点~0点(日期、时间值用BCD码表示) // 或0点~6点 // 点亮路灯
霓虹灯控制系统设计:有一霓虹灯由8组LED指示灯构成,当按下启动按钮 后霓虹灯 开始工作,首先亮的是1\3组灯,然后每隔2S依次向右点亮 2\4,3\5,4\6,5\7,6\8灯组;当按下反向按钮时,首先点亮的是6\8灯组,然后 每隔2S依次向左点亮5\7,4\6,3\5,2\4,1\3灯组。
SI
Q1.0, 1
TODR VB10
// 该位总是为ON // 使Q1.0立即置位 // 读实时时钟
【例6-6】用实时时钟指令控制路灯的定时接通和断开,20:00开灯,06:
00关灯,下面是语句表程序。
LD SM0.0
TODR VB0
LDB>= VB3, 16#20
OB< VB3, 16#06
=
Q0.0
在STL指令中,没有ENO,与之对应的是AENO指令,访问ENO位用于产生 与功能块ENO相同的效果。
图6-1 EN与ENO LD I2.4 SQRT VD0, VD4 AENO MOVB VB8, QB2
VD0为负数时无能流流出。删除AENO后两个方框变为并联。
6.1.3 梯形图中的网络与指令 一个网络中只能有一块独立电路。 输入语句表指令时必须使用英文的标点符号。 条件输入指令、无条件执行指令、
【例6-5】出现事故时,I0.0的上升沿产生中断,使输出Q1.0立即置位,同
时将事故发生的日期和时间保存在VB10~VB17中。
//主程序 OB1
LD SM0.1
// 第一次扫描时
ATCH 0, 0
// 指定在I0.0的上升沿执行0号中断程序
ENI
// 允许全局中断
//中断程序0(INT_0)
LD SM0.0
JMP,跳转指令。使能输入有效时,使程序流程跳到同一程序中的指定 标号n处执行。
(2)标号指令
LBL,标号指令。标记程序段,作为跳转指令执行时跳转到的目的位置。 操作数n为0~255的字型数据。跳转与标号指令必须在同意程序中。
演示如何在主、子及中断程序中添加局部变量和全局变量(程序块、符号 表),解释局部变量的地址分配、如何新增变量。
LD
SM5.0
指令格式:STOP (无操作数)
O
SM4.3
O
I0.3
STOP
LD
I0.5
END
//检查 I/O 错误 //运行时刻检查编程 //外部切换开关 //条件满足,由 RUN // 切换到 STOP 方式 // // //外部停止控制 //停止程序执行 // //
LD
M0.4
wenku.baidu.com
WDR
//用触点重新触发 //看门狗定时器
2、创建子程序
分裂条
3、调用子程序
演示子程序的调用
LD CALL
图6-5 在主程序中调用子程序 I0.4 模拟量计算, AIW2, VW20, +2356, VD40
子程序中的定时
【例6-2】 设计求V存储区连续的若干个字的累加和的子程序。下面是名 为“求和”的子程序的局部变量表和STL程序代码。子程序中的*#POINT是 地址指针POINT指定的地址中字变量的值。
3.字节、字、双字的块传送指令(块传送)
作用:将从IN开始的连续N个字节数据拷贝到从OUT开始的数据块
N的有效范围是1~255
“BMB VB20, VB100, 4”
4.字节交换指令
注意:字节、字、双字传送指令对应的IN和OUT 地址应是B、W、D;N对应的N个数据块。
BMW VW 100,VW200,8
6.4.2 数据传送指令(重点) 1.字节、字、双字和实数的传送 (单一传送) 作用:将IN的内容拷贝到OUT中,IN和OUT的数据类型应相同,可分别为字,
字节,双字,实数 MOV_B MOV_W MOV_D MOV_R
2.字节立即读指令(单一 传送) MOV_BIR读取1个字节的物理 输入 字节立即写指令MOV_BIW写1 个字节的物理输出。
利用定时器0实现2S的高精度定时。
控制系统要求:有两组指示灯(分别为红色和绿色),分别有旋钮SF1和SF2控制启 动。当SF1闭合时,三只红色指示灯按HR3->HR2->HR1的顺序和2s的时间间隔循环 亮灭;当SF2闭合时,三只绿色指示灯按HG3->HG2->HG1的顺序和2s的时间间隔循 环亮灭。