指令分析plc
- 格式:pdf
- 大小:180.33 KB
- 文档页数:11
PLC实验报告基础指令实验一、实验目的本次 PLC 基础指令实验的主要目的是熟悉 PLC 的基本指令,掌握其编程方法和应用技巧,通过实际操作加深对 PLC 控制系统的理解,并提高解决实际问题的能力。
二、实验设备1、 PLC 实验台,型号为_____。
2、编程软件,版本为_____。
3、连接导线若干。
4、实验指导书。
三、实验内容(一)位逻辑指令实验1、常开触点和常闭触点指令编写一个简单的程序,实现当输入信号 I00 为 ON 时,输出信号Q00 为 ON。
当输入信号 I01 为 OFF 时,输出信号 Q01 为 ON。
2、取反指令设计一个程序,使得输入信号 I02 为 ON 时,经过取反指令,输出信号 Q02 为 OFF;输入信号 I02 为 OFF 时,输出信号 Q02 为 ON。
3、置位和复位指令编写程序,当输入信号 I03 产生一个上升沿时,使用置位指令将输出信号 Q03 置位为 ON,并保持。
当输入信号 I04 产生一个上升沿时,使用复位指令将输出信号 Q03 复位为 OFF。
(二)定时器指令实验1、接通延时定时器构建一个程序,当输入信号 I05 为 ON 时,接通延时定时器 TON 开始计时,设定时间为 5 秒。
5 秒后,输出信号 Q04 为 ON。
2、断开延时定时器设计程序,当输入信号 I06 由 ON 变为 OFF 时,断开延时定时器TOF 开始计时,设定时间为 3 秒。
3 秒内,如果输入信号 I06 重新变为ON,则定时器复位。
3 秒后,输出信号 Q05 为 OFF。
(三)计数器指令实验1、增计数器编写程序,当输入信号 I07 产生一个上升沿时,增计数器 CTU 的计数值加 1。
当计数值达到预设值 10 时,输出信号 Q06 为 ON。
2、减计数器构建一个程序,当输入信号 I10 产生一个上升沿时,减计数器 CTD 的计数值减 1。
当计数值减为 0 时,输出信号 Q07 为 ON。
位逻辑指令综合实验——————————————————————————————实验目的:1.体会PLC的工作过程,尤其是扫描工作方式对程序执行的影响;2.体会P触点“能流导通一个周期”的实用意义;3. 体会SR锁存器的作用、实际应用;项目要求:按下瞬动按钮I0.6,Q0.0接通;再按下I0.6,Q0.0断开,如此反复。
项目过程:新建项目→添加新设备→编写指令→仿真检验程序如下:● SR 锁存器③的M0.0用于存储置位或复位的结果;● P 触点①用于捕捉I0.6被按下去时的正跳变;● 常闭触点②用于实现④Q0.0为0时,按下I0.6后Q0.0置位为1;● 常开触点⑥用于实现④Q0.0为1时,按下I0.6后Q0.0复位为0;————————————————————————————————过程解释:周期扫描时间极短,短于按钮按下-松开所用时间,因此可以将过程细分为几步,便于观察1.打开程序监控。
未按下I0.6。
2.按下I0.6(不松开)扫描输入端口,读入I0.6状态,上升沿,P 触点后面能流导通,S=1,R=0,则M0.0置1、Q 端输出能流,Q0.0置1,相应的常闭断开、常开闭合。
此时SR 锁存器会复位吗?同一个周期内后面指令的逻辑运算结果不影响前面的逻辑关系(指令已经被运行了,一个周期内不会重复执行第二次),此时,Q0.0常开闭合、常闭断开,这是锁存器指令段逻辑运算的结果,这些结果被保存下来供下一次循环时使用。
PLC 从上往下扫描,不会再执行锁存器指令段,因此本周期内锁存器并不会复位,Q0.0输出不会被复位。
当一个扫描周期结束后,两个P 触点后面的能流都断开,S=0、R=0,SR 锁存器进入保持状态,锁存器仍旧不会复位。
闭合断开有的教材称SR 锁存器体现复位优先是通过“先置位后复位”,此说不准确。
使用锁存器时一定是同时比较S 、R 两端的信号,按下表得出结果,不存在先什么后什么。
3.松开I0.6两个P 触点下降沿,触点后面能流不通,S=0、R=0,锁存器保持,输出端Q0.0仍为1,Q0.0常开闭合、常闭断开。
指令分析2012/3/19ZRST区间复位指令例如:【ZRST M400 M550】EI允许中断指令例如【】:DI不允许中断指令例如【】:FOR循环的起点与次数例如【FOR K50】:I定时中断指令3点例如:【I699】说明:I分类:1,I000-I5000外部中断指令6点。
2,I600-I800 定时中断指令3点。
3,I010-I060 高数计数器中断指令6点。
FEND主程序结束指令例如:【】INC加1指令例如:【】循环的终点指令例如:【】IRET中断返回指令例如:【】ADD加法指令例如:【ADD Z2 K7 Z2】SUB减法指令例如:【SUB D0 D1 D2】DSUB32位减法例如:【】DMOV例如:【】MOVP例如:【MOVP K0 D7006】例如:【MOVP D7010 D7004】DECP例如:【DECP D60】DDRVI例如:【DDRVI K-600000 K5000 Y2 Y0】例如:【DDRVI D120 D140 Y2 Y0】例如:【INCP D7040】BMOVP例如:【BMOVP D7000 D7100V6 K7】说明:1,V0-V7 2,Z0-Z7FMOVP例如:【FMOVP K0 D7005 K2】MUL乘法指令例如:【MUL D1301 K7 D1400】SER数据查找例如:【SER D700 K0 D1300 K50】例如:【SER D700 D7000 D260 K50】DDIV例如:【DDIV D50 K1000 D56】SPD例如:【SPD X2 K1000 D30】伺服指令码HOUR K500 D100 M0HOUR------指令助记符(计时表)K500-------设定最大值(这个值是影响后面M0输出的,当D100=这个值M0输出)D100-------本指令得电后计时存放(小时)的地方,另外,这个指令还有一个秒数存放在D100接下来的D101中。
PLC的基本指令及程序设计PLC(可编程逻辑控制器)是一种常用的工业自动化设备,它通过运行预先编写好的程序控制工业设备和机器的运行。
在PLC中,程序是通过一系列基本指令来实现的。
本文将介绍PLC的基本指令及程序设计。
1.输入输出指令:用于与外部设备的输入输出进行交互。
常见的输入指令有I(输入)、X(通用输入)、IX(输入寄存器)等;常见的输出指令有O(输出)、Y(通用输出)、Q(输出寄存器)等。
2.数据处理指令:用于对数据进行处理和计算。
常见的数据处理指令有AND(与)、OR(或)、XOR(异或)、NOT(非)等逻辑指令;还有MOV(移动)、ADD(加)、SUB(减)、MUL(乘)、DIV(除)等算术指令。
3.定时器指令:用于实现定时控制功能。
常见的定时器指令有TON(ON延时)、TOF(OFF延时)、RTO(重新同步ON延时)等。
4.计数器指令:用于实现计数功能。
常见的计数器指令有CTU(上升沿计数)、CTD(下降沿计数)、CTC(脉冲计数)等。
5.转移指令:用于实现程序的跳转和转移。
常见的转移指令有JMP(无条件跳转)、CALL(调用)、RET(返回)等。
PLC的程序设计通常采用类似于传统计算机编程的方法。
首先需要将整个工程分解成一个个的功能模块,然后对每个模块编写相应的程序。
在编写程序时,需要按照以下步骤进行:1.了解需求:明确控制的目标和要求。
2.设计输入输出:确定需要使用的输入输出设备和信号,将其与PLC连接。
3.设计程序结构:根据需求将整个程序划分为多个功能模块,确定各个模块的输入输出。
4.编写程序:对每个功能模块编写相应的程序。
可以根据之前介绍的基本指令选择合适的指令进行编写。
6.优化程序:根据实际情况对程序进行优化,提高系统的性能和稳定性。
在程序设计过程中,还需要注意以下几点:1.确保程序的可读性:使用有意义的变量名和注释来提高程序的可读性,方便后续的维护与修改。
2.注意程序的实时性:PLC在工控系统中通常需要实时响应各种输入信号,因此需要确保程序的执行速度和响应快。
三菱PLC指令详解三菱PLC指令详解一、顺控指令 19 MC 主控开始 35 AND<= 56 ANDD< 1 触点指令 20 MCR 主控复位 36 OR<= 57 ORD< 00 LD 逻辑操作开始 6 结束指令 37 LD< 当S1= 当(S1+1,S1)?(S2+1,S2),接01 LDI 逻辑非操作开始21 FEND 结束主程序当S1?S2, 断开通 02 AND 逻辑乘 22 END 总的程序末尾, 38 AND<59 ANDD>= 03 ANI 逻辑乘非返回第0步 39 OR< 60 ORD>=04 OR 逻辑加 7 其它指令 40 LD>= 当S1?S2, 接通, 2 算术运算指令05 ORI 逻辑加非 23 STOP 停止当S1= 61+ (D)+(S)?(D) 06 ANB AND逻辑块与二基本指令 42 OR>= 62 +P 07 ORB OR逻辑块或 1 比较指令 32位数据比较 63 + (S1)+(S2)?(D) 08 MPS 存储操作结果16位数据比较 43 LDD= 当(S1+1,S1)=(S2+1,S2), 接通 64 +P 09 MRD 从MPS读取操作结果25 LD= 当S1=S2, 接通,44 ANDD= 65 - (D)-(S)?(D) 10 MPP 从MPS读取操作结果当S1?S2, 断开 45 ORD= 66 -P 并清除结果 26 AND= 46 LDD<> 当(S1+1,S1)?(S2+1,S2),接67 - (S1)-(S2)?(D) 3 输出指令 27 OR= 通 68 -P11 OUT 软元件输出 28 LD<> 当S1?S2, 接通, 47 ANDD<> 二进制32位加/减12 SET 软元件置位当S1=S2, 断开48 ORD<> 69 D+ (D+1,D)+(S+1,S)?(D+1,D) 13 RST 软元件复位29 AND<> 49 LDD> 当(S1+1,S1)>(S2+1,S2), 接通 70 D+P 14 PLS 在输入信号的上升沿 30 OR<> 50 ANDD> 71 D+ (S1+1,S1)+(S2+1,S2)?(D+1,D) 15 PLF 在输入信号的下降沿 31 LD> 当S1>S2, 接通, 51 ORD> 72D+P 16 CHK软元件输出翻转当S1?S2, 断开52 LDD<= 当(S1+1,S1)?(S2+1,S2),接73 D-(D+1,D)-(S+1,S)?(D+1,D) 4 移位指令 32 AND> 通 74 D-P 17 SFT 元件移1位33 OR> 53 ANDD<= 75 D- (S1+1,S1)-(S2+1,S2)?(D+1,D) 18 SFTP 元件移1位 34LD<= 当S1?S2, 接通, 54 ORD<= 76 D-P 5 主控指令当S1>S2, 断开 55 LDD< 当(S1+1,S1)<(S2+1,S2), 接通77 * (S1)×(S2)?(D+1,D)78 *P 102 B*P 4 数据传送指令 148 EI 允许中断 79 / (S1)/(S2)?商(D),余数(D+1) 103 B/ (S1)/(S2)?商(D),余数(D+1) 125 MOV (S)?(D) 149 DI 禁止中断 80 /P 104 B/P 126 MOVP 150 IRET 从中断程序返回 81 D*(S1+1,S1)×(S2+1,S2)? 105 DB*(S1+1,S1)×(S2+1,S2)? 127 DMOV(S+1,S)?(D+1,D) 151 SUB 执行n指定的程序 (D+3,D+2,D+1,D) (D+3,D+2,D+1,D) 128 DMOVP 152 SUBP 82 D*P 106 DB*P 129 CML (S)?(D) 6 程序切换指令 83 D/ (S1+1,S1)/(S2+1,S2)? 107 DB/ (S1+1,S1)/(S2+1,S2)? 130 CMLP 153 CHG 在主副程序间切换商(D+1,D),余数(D+3,D+2) 商(D+1,D),余数(D+3,D+2) 131 DCML(S+1,S)?(D+1,D) 7 刷新指令 84 D/P 108 DB/P 132 DCML 154 COM 执行通讯刷新85 B+ (D)+(S)?(D) 109 INC (D)+1?(D) 133 DCMLP 155 EI 允许通讯刷新 86 B+P 110 INCP 134 BMOV (S)?(D)n 个156 DI 禁止通讯刷新87 B+ (S1)+(S2)?(D) 111 DINC (D+1,D)+1?(D+1,D) 135 BMOVP 157 SEG 对应软元件的刷新,仅执行188 B+P 112 DINCP 136 FMOV (S)?(D)n个个扫描周期,M9052 ON时有效89 B- (D)-(S)?(D) 113 DEC (D)-1?(D) 137FMOVP 三应用指令 90 B-P 114 DECP 138 XCH (D1)??(D2) 1 逻辑运算指令 91 B- (S1)-(S2)?(D) 115 DDEC (D+1,D)-1?(D+1,D) 139 XCHP 158 WAND (D) AND (S)?(D) 92 B-P 116 DDECP 140 DXCH (D1+1,D1)??(D2+1,D2) 159 WANDP 93 DB+ (D+1,D)+(S+1,S) ?(D+1,D) 3 BCD—二进制转换141 DXCHP 160 WAND (S1) AND (S2)?(D) 94 DB+P 117 BCD (S)?(D)BCD 转换 5 程序分支指令161 WANDP 95 DB+ (S1+1,S1)+(S2+1,S2)?(D+1,D) 118 BCDP 142 CJ 条件满足,跳转到P**处 162 DAND (D+1,D) AND (S+1,S)?(D+1,96 DB+P 119 DBCD (S+1,S)?(D+1,D) 143 SCJ 条件满足后紧接的扫描周期, D) 97DB- (D+1,D)-(S+1,S)?(D+1,D) 120 DBCDP 跳转到P**处163 DANDP 98 DB-P 121 BIN (S)?(D)二进制转换 144 JMP 无条件跳转到P**处164 WOR (D) OR (S)?(D) 99 DB- (S1+1,S1)-(S2+1,S2)?(D+1,D) 122 BINP 145 CALL 执行P**处子程序165 WORP 100 DB-P 123 DBIN (S+1,S)?(D+1,D) 146 CALLP 166 WOR (S1) OR(S2)?(D) 101 B* (S1)×(S2)?(D+1,D) 124 DBINP 147 RET 从子程序返回 167 WORP168 DOR (D+1,D) OR (S+1,S)?(D+1,D) 191 RCLP 215 SUMP 239 DFROP 169 DORP 192 DROR n位右转 216 DSUM 240 TO 向特殊功能模块写数据 170 WXOR (D) XOR (S)?(D)异或 193 DRORP 217 DSUMP 241 TOP 171 WXORP 194 DRCR n位右转(带进位) 218 DECO 译码编码 242 DTO 172 WXOR (S1) XOR (S2)?(D) 195 DRCRP 219 DECOP 243 FROM 从远程I/O站读数据 173 WXORP 196 DROL n位左转220 ENCO 244 FROMP 174 DXOR (D+1,D) XOR (S+1,S)?(D+1,197 DROLP 221 ENCOP 245 DFRO D) 198 DRCL n 位左转(带进位) 222 SEG 7段编码246 DFROP 175 DXORP 199 DRCLP 223 BSET 对字中n位置位247 TO 向远程站写数据176 WXNR (D) XOR (S)?(D) 3 移位指令 224 BSETP 248 TOP 177 WXNRP 200 SFR n位右移 225 BRST 对字中n位复位 249 DTO 178 WXNR(S1) XOR (S2)?(D) 201 SFRP 226 BRSTP 250 DTOP 179 WXNRP 202 SFL n位左移 227 DIS 组合分离 7 FOR/NEXT指令 180 DXNR (D+1,D) XOR (S+1,S)?(D+1,203 SFLP 228 DISP 251 FOR 重复n次D) 204 BSFR 1位右移 229 UNI 252 NEXT 181 DXNRP 205 BSFRP 230 UNIP 8 本地站、远程I/O 站存取指令 182 NEG 0-(D)?(D)补码206 BSFL 1位左移 231 ASC ASCII转化 253 LRDP 从本地站读数据183 NEGP 207 BSFLP 5 先进先出指令 254 LWTP 向本地站写数据 2 旋转指令 208 DSFR 1位右移 232 FIFW FIFO写 255 RFRP 从远程特殊功能模块读数据184 ROR n位右转209 DSFRP 233 FIFWP 256 RTOP 向远程特殊功能模块写数据 185 RORP 210 DSFL 1位左移 234 FIFR FIFO读9 显示指令 186RCR n位右转(带进位) 211 DSFLP 235 FIFRP 257 PR 从指定的8点字软元件输出187 RCRP 4 数据处理指令 6 内存缓冲区存取指令 16个字符的ASCII码 188 ROL n位左转 212 SER 数据搜索 236 FROM 从特殊功能模块读取数据 258 PR 顺序向输出模块输出ASCII 189 ROLP 213 SERP 237 FROMP 码, 直到结束符NUL(00H) 190 RCL n位左转(带进位) 214 SUM 位检查 238 DFRO 259 PRC 将字软元件的注释转换成ASCII码,并输出 M9000 熔丝断 M9033 2秒时钟 M9061 通讯出错 260 LED将指定的8点字软元件显示 M9002 I/O组件校验出错 M9034 1分钟时钟M9065 分离传送状态16个字符的ASCII码M9004 MINI 网通讯出错 M9036 常开 M9066 传送处理切换 261 LEDA 显示指定的英文数字字符 M9005 AC电源掉电检测 M9037常闭M9067 I/O组件出错检测262 LEDB M9006 电池电压低M9038 RUN后第一个扫描周期ON M9068 测试模式 263 LEDC 显示软元件S的注释 M9007 电池电压低锁存 M9039 运行标志 M9069 线路故障时的输出 264 LEDR 显示复位 M9008 自诊断出错 M9040 暂停PAUSE允许线圈 M9073 WDT 出错标志 10 其它指令 M9009 信号报警器检测 M9041 PAUSE状态触点 M9074 PCPU准备完成标志 265 WDT WDT复位 M9010 运算出错标志 M9042 停止状态触点 M9075 测试模式标志 266 WDTPM9011 运算出错标志锁存 M9043 采样跟踪完成 M9076 外部急停输入标志267 CHK 故障检测M9012 进位标志M9044 采样跟踪M9077 手动脉冲发生器轴设置错误标志268 SLT 按参数设定的条件,数据被锁M9016 数据存储区清零标志 M9046 采样跟踪 M9078 测试模式请求出错标志定 M9017 数据存储区清零标志 M9047 采样跟踪准备M9079 伺复程序设置出错标志269 SLTR 状态锁存复位,且执行SLTM9018 数据通讯监控切换 M9048 RUN LED闪烁标志 M9081 对远程模块的通讯请求270 STRA 按参数设定的条件,采样数据M9020 0号用户定时时钟 M9049 切换输出字符数目 M9082 最终站数不一致存入 M9021 1号用户定时时钟 M9050 存放操作结果的存储区交换触点 M9084 出错检测 271 STRAR 采样跟踪复位,且允许执行M9022 2号用户定时时钟 M9051 CHG指令执行禁止 M9086 运行标志BASIC程序272 STC 进位标志(M9012)ON M9023 3号用户定时时钟 M9052 SEG指令切换M9087 暂停(PAUSE)标志273 CLC 进位标志(M9012)OFF M9024 4号用户定时时钟 M9053EI/DI指令切换 M9091 操作运行出错细节标志 274 DUTY 用户定义时钟 M9025 时钟数据设置请求 M9054 单步运行标志 M9091 微机子程序调用出错标志 11 伺服指令 M9026 时钟数据出错 M9055 状态锁存完成标志M9092 双电源模块过热 275 DSFRP 请求启动伺服程序 M9027 时钟数据显示 M9056 主程序P, I设置请求M9093 双工电源模块出错M9028 时钟数据读请求 M9057 副程序P, I设置程序 M9094 I/O 改变标志 276 PSFLP 数据修改M9030 0.1秒时钟 M9060 副程序2P, I设置程序 M9095 双工运行校验出错特殊继电器和特殊寄存器 M9031 0.2秒时钟 M9061 副程序3P, I设置程序 M9096A3VCPU A自校出错一特殊继电器M清单M9032 1秒时钟M9060 远程终端出错M9097 A3VCPU B自校出错M9098 A3VCPU C自校出错 M9197~9198 保险丝熔断, D9026 时钟数据(日,时) D9095 A3VTS系统和A3VM9099 A3VTU自校出错D9027 时钟数据(分,秒) CPU的运行状态 I/O校核出错显示切换M9100 SFC程序登记 D9028 时钟数据(星期) D9096 A3VCPU A 自检出错M9101 SFC程序起/停D9021~D9034 远程终端组件参数设置D9097 A3VCPU B自检出错二特殊寄存器 M9102 SFC启动状态 D9035 远程I/O组件的通讯属性D9098 A3VCPU C自检出错 D9000 保险丝断 M9103 连续步转移有效/失效 D9035扩展文件寄存器D9099 A3VTU 自检测出错D9001 保险丝断M9104 连续转移防止标志D9036 总的站数D9100~D9107 断保险丝的组件D9002 I/O组件校验出错M9108 步转移监控定时器起始 D9036~9037 供指定扩展文件寄存器软件D9100 保险丝熔断的组件 D9003 SUM指令检测位数 (对应D9108) 地址 D9108~D9114 步转移监控定时器设置 D9004 MINI网主通讯组件出错 M9109 步转移监控定时器起始D9038~9039 LED显示优先级 D9116~D9123 I/O组件校验出错D9005 AC掉电计数(对应D9109) D9044 采样跟踪 D9124 信号器报警数量检测 D9006 电池不足M9110 步转移监控定时器起始D9050 SFC程序出错代码D9125~D9132 信号报警器地址号 D9008 自诊断出错 (对应D9110) D9051 出错块 D9133~D9140 远程终端卡信息 D9009 信号报警器检测 M9111 步转移监控定时器起始 D9052 出错步D9141~D9172 通讯重发次数D9010 出错步(对应D9111) D9053 转移出错 D9173 模式设置 D9011 出错步 M9112 步转移监控定时器起始 D9054 出错顺控步 D9174 设置重发次数 D9014 I/O控制模式 (对应D9112) D9055 状态锁存步序号 D9175 线缆出错模块出错代码 D9015 CPU运行状态 M9113 步转移监控定时器起始 D9061 通讯出错代码 D9180~9193远程终端模块出错代码 D9016 ROM/RAM 设置 (对应D9113) D9072 PC通讯检测D9180 轴1和轴2的限位开关D9017 最小扫描时间M9114 步转移监控定时器起始D9081 对远程终端模块的输出状态存储区D9018 当前扫描时间(对应D9114) 已执行的通讯请求数D9181 轴3和轴4的限位开关D9019 最大扫描时间 M9180 激活步采样跟踪完成标志 D9082 最后的站号输出状态存储区 D9020 恒定扫描 M9181 激活步采样跟踪执行标志 D9090 微机子程序输入数据区首软元件D9182 轴5和轴6的限位开关 D9021 扫描时间 M9182 激活步采样跟踪有效号输出状态存储区D9022 1秒计数器M9196 在块停止时控制输出D9091 指令出错 D9183 轴7和轴8的限位开关 D9025 时钟数据(年,月) D9094 待更换的I/O组件的首地址输出状态存储区D9184 CPU出错的原因D9220 就地站参数不匹配或(1~16) D9238 就地站或远程I/O站环路出错辅助继电器内部继电器 (1000点)M0~MD9185伺服放大器接线数据远程站I/O分配出错D9239 就地站或远程I/O站环路出错999 M0~M999,M2048~8191 D9187 手动脉冲发生器轴设置出错 D9221 就地站参数不匹配或(17~32) D9240 检测到接收出错的次数特殊继电器 (256点)M9000~M9255 D9188 在TEST模式下启动轴号请求出错远程站I/O分配出错 D9243 本站站号检测锁存继电器(1048点)L1000~L2048 D9189 出错程序号D9222 就地站参数不匹配或(33~48)D9244 从站的总数通讯用继电器(2048点)B0~B3FF B0~BFD9190 数据设置出错远程站I/O分配出错 D9245 检测到的接收出错次数 FFD9191 伺服放大器类型D9223 就地站参数不匹配或(49~64) D9248 就地站运行状态定时器 100ms定时器 (200点)T0~T199 D9196~9199 故障站检测远程站I/O分配出错D9249 就地站运行状态10ms定时器(56点)T200~T255 D9200 LRDP处理结果 D9224 主站与从站和远程I/O站 D9250 就地站运行状态 100ms记忆定时器 (0点) D9201 LWTP处理结果之间的初始通讯(1~16) D9251 就地站运行状态计数器 (256点)C0~C255 D9204 通讯状态 D9225 主站与从站和远程I/O站D9252 就地站出错检测寄存器数据寄存器(1024点)D0~D102D9205 执行回送的站之间的初始通讯(17~32) D9253 就地站出错检测 3 D0~D6143 D9206 执行回送的站D9226 主站与从站和远程I/O站D9254 就地站出错检测特殊寄存器 (256点)D9000~D9255 D9207 通讯扫描时间(最大值) 之间的初始通讯(33~48) 通讯寄存器 (1024点)W0~W3FF W0~WFFD9255 就地站出错检测D9208 通讯扫描时间(最小值) D9227 主站与从站和远程I/O站 F D9209 通讯扫描时间(当前值) 之间的初始通讯(49~64) 累加器 (2点)A0,A1D9210 重发次数 D9228 就地站或远程I/O站出错(1~16) 变址寄存器 (2点)Z, V Z,Z1~Z6(7D9211 环路切换计数 D9229 就地站或远程I/O站出错(17~32) 点), V,V1~V6(7点)各种软元件一览表 D9212 就地站运行状态(1~16) D9230 就地站或远程I/O站出错(33~48) 嵌套 (8点)N0~ N7项目 A1,A1NA1S A2,A2NA2C A2-S1A2N-SD9213 就地站运行状态(17~32) D9231 就地站或远程I/O站出错(49~64) 指针(256点)P0~P2551 A3,A3NA3A A2U,A3UA4U D9214 就地站运行状态(33~48) D9232 就地站或远程I/O站环路出错中断指针 (32点)I0~I31I/O软元件点 256 512 1024 2048 8192 D9215 就地站运行状态(49~64) D9233 就地站或远程I/O站环路出错常数十进制K (16位)-32768~+3276 输入继电器 X 0~FF 0~1FF 0~3FF 0~7FD9216 就地站出错检测(1~16) D9234就地站或远程I/O站环路出错 7F 0~FFF D9217 就地站出错检测(17~32) D9235 就地站或远程I/O站环路出错(32位)-2147483648 ~+2147483647输出继电器 Y 0~FF 0~1FF 0~3FF 0~7FD9218 就地站出错检测(33~48) D9236 就地站或远程I/O站环路出错十六进制H (16位)0~FFFFF 0~FFF D9219 就地站出错检测(49~64) D9237 就地站或远程I/O站环路出错(32位)0~FFFFFFFF。
一顺控指令1 触点指令00 LD 逻辑操作开始01 LDI 逻辑非操作开始02 AND 逻辑乘03 ANI 逻辑乘非04 OR 逻辑加05 ORI 逻辑加非2 连接指令06 ANB AND逻辑块与07 ORB OR逻辑块或08 MPS 存储操作结果09 MRD 从MPS读取操作结果10 MPP 从MPS读取操作结果并清除结果3 输出指令11 OUT 软元件输出12 SET 软元件置位13 RST 软元件复位14 PLS 在输入信号的上升沿15 PLF 在输入信号的下降沿16 CHK 软元件输出翻转4 移位指令17 SFT 元件移1位18 SFTP 元件移1位5 主控指令19 MC 主控开始20 MCR 主控复位6 结束指令21 FEND 结束主程序22 END 总的程序末尾,返回第0步7 其它指令23 STOP 停止24 NOP 空操作二基本指令1 比较指令16位数据比较25 LD= 当S1=S2, 接通,当S1≠S2, 断开26 AND=27 OR=28 LD<> 当S1≠S2, 接通,当S1=S2, 断开29 AND<>30 OR<>31 LD> 当S1>S2, 接通,当S1≤S2, 断开32 AND>33 OR>34 LD<= 当S1≤S2, 接通,当S1>S2, 断开35 AND<=36 OR<=37 LD< 当S1<S2, 接通,当S1≥S2, 断开38 AND<39 OR<40 LD>= 当S1≥S2, 接通,当S1<S2, 断开41 AND>=42 OR>=32位数据比较43 LDD= 当(S1+1,S1)=(S2+1,S2), 接通44 ANDD=45 ORD=46 LDD<> 当(S1+1,S1)≠(S2+1,S2),接通47 ANDD<>48 ORD<>49 LDD> 当(S1+1,S1)>(S2+1,S2), 接通50 ANDD>51 ORD>52 LDD<= 当(S1+1,S1)≤(S2+1,S2),接通53 ANDD<=54 ORD<=55 LDD< 当(S1+1,S1)<(S2+1,S2), 接通56 ANDD<57 ORD<58 LDD>= 当(S1+1,S1)≥(S2+1,S2),接通59 ANDD>=60 ORD>=2 算术运算指令二进制16位加/减61 + (D)+(S)→(D)62 +P63 + (S1)+(S2)→(D)64 +P65 - (D)-(S)→(D)66 -P67 - (S1)-(S2)→(D)68 -P二进制32位加/减69 D+ (D+1,D)+(S+1,S)→(D+1,D)70 D+P71 D+ (S1+1,S1)+(S2+1,S2)→(D+1,D)72 D+P73 D- (D+1,D)-(S+1,S)→(D+1,D)74 D-P75 D- (S1+1,S1)-(S2+1,S2)→(D+1,D)76 D-P77 * (S1)×(S2)→(D+1,D)78 *P79 / (S1)/(S2)→商(D), 余数(D+1)80 /P81 D* (S1+1,S1)×(S2+1,S2)→(D+3,D+2,D+1,D)82 D*P83 D/ (S1+1,S1)/(S2+1,S2)→商(D+1,D),余数(D+3,D+2)84 D/P85 B+ (D)+(S)→(D)86 B+P87 B+ (S1)+(S2)→(D)88 B+P89 B- (D)-(S)→(D)90 B-P91 B- (S1)-(S2)→(D)92 B-P93 DB+ (D+1,D)+(S+1,S) →(D+1,D)94 DB+P95 DB+ (S1+1,S1)+(S2+1,S2)→(D+1,D)96 DB+P97 DB- (D+1,D)-(S+1,S)→(D+1,D)98 DB-P99 DB- (S1+1,S1)-(S2+1,S2)→(D+1,D) 100 DB-P101 B* (S1)×(S2)→(D+1,D)102 B*P103 B/ (S1)/(S2)→商(D),余数(D+1) 104 B/P105 DB* (S1+1,S1)×(S2+1,S2)→(D+3,D+2,D+1,D)106 DB*P107 DB/ (S1+1,S1)/(S2+1,S2)→商(D+1,D),余数(D+3,D+2) 108 DB/P109 INC (D)+1→(D)110 INCP111 DINC (D+1,D)+1→(D+1,D) 112 DINCP113 DEC (D)-1→(D)114 DECP115 DDEC (D+1,D)-1→(D+1,D) 116 DDECP3 BCD—二进制转换117 BCD (S)→(D)BCD转换118 BCDP119 DBCD (S+1,S)→(D+1,D) 120 DBCDP121 BIN (S)→(D)二进制转换122 BINP123 DBIN (S+1,S)→(D+1,D) 124 DBINP4 数据传送指令125 MOV (S)→(D)126 MOVP127 DMOV (S+1,S)→(D+1,D)128 DMOVP129 CML (S)→(D)130 CMLP131 DCML (S+1,S)→(D+1,D)132 DCML133 DCMLP134 BMOV (S)→(D)n个135 BMOVP136 FMOV (S)→(D)n个137 FMOVP138 XCH (D1)←→(D2)139 XCHP140 DXCH (D1+1,D1)←→(D2+1,D2)141 DXCHP5 程序分支指令142 CJ 条件满足,跳转到P**处143 SCJ 条件满足后紧接的扫描周期, 跳转到P**处144 JMP 无条件跳转到P**处145 CALL 执行P**处子程序146 CALLP147 RET 从子程序返回148 EI 允许中断149 DI 禁止中断150 IRET 从中断程序返回151 SUB 执行n指定的程序152 SUBP6 程序切换指令153 CHG 在主副程序间切换7 刷新指令154 COM 执行通讯刷新155 EI 允许通讯刷新156 DI 禁止通讯刷新157 SEG 对应软元件的刷新,仅执行1个扫描周期,M90 52 ON时有效三应用指令1 逻辑运算指令158 WAND (D) AND (S)→(D)159 WANDP160 WAND (S1) AND (S2)→(D)161 WANDP162 DAND (D+1,D) AND (S+1,S)→(D+1,D) 163 DANDP164 WOR (D) OR (S)→(D)165 WORP166 WOR (S1) OR (S2)→(D)167 WORP168 DOR (D+1,D) OR (S+1,S)→(D+1,D) 169 DORP170 WXOR (D) XOR (S)→(D)异或171 WXORP172 WXOR (S1) XOR (S2)→(D)173 WXORP174 DXOR (D+1,D) XOR (S+1,S)→(D+1,D) 175 DXORP176 WXNR (D) XOR (S)→(D)177 WXNRP178 WXNR (S1) XOR (S2)→(D)179 WXNRP180 DXNR (D+1,D) XOR (S+1,S)→(D+1,D) 181 DXNRP182 NEG 0-(D)→(D)补码183 NEGP2 旋转指令184 ROR n位右转185 RORP186 RCR n位右转(带进位) 187 RCRP188 ROL n位左转189 ROLP190 RCL n位左转(带进位) 191 RCLP192 DROR n位右转193 DRORP194 DRCR n位右转(带进位) 195 DRCRP196 DROL n位左转197 DROLP198 DRCL n位左转(带进位) 199 DRCLP3 移位指令200 SFR n位右移201 SFRP202 SFL n位左移203 SFLP204 BSFR 1位右移205 BSFRP206 BSFL 1位左移207 BSFLP208 DSFR 1位右移209 DSFRP210 DSFL 1位左移211 DSFLP4 数据处理指令212 SER 数据搜索213 SERP214 SUM 位检查215 SUMP216 DSUM217 DSUMP218 DECO 译码编码219 DECOP220 ENCO221 ENCOP222 SEG 7段编码223 BSET 对字中n位置位224 BSETP225 BRST 对字中n位复位226 BRSTP227 DIS 组合分离228 DISP229 UNI230 UNIP231 ASC ASCII转化5 先进先出指令232 FIFW FIFO写233 FIFWP234 FIFR FIFO读235 FIFRP6 内存缓冲区存取指令236 FROM 从特殊功能模块读取数据237 FROMP238 DFRO239 DFROP240 TO 向特殊功能模块写数据241 TOP242 DTO243 FROM 从远程I/O站读数据244 FROMP245 DFRO246 DFROP247 TO 向远程站写数据248 TOP249 DTO250 DTOP7 FOR/NEXT指令251 FOR 重复n次252 NEXT8 本地站、远程I/O站存取指令253 LRDP 从本地站读数据254 LWTP 向本地站写数据255 RFRP 从远程特殊功能模块读数据256 RTOP 向远程特殊功能模块写数据9 显示指令257 PR 从指定的8点字软元件输出16个字符的ASCII码258 PR 顺序向输出模块输出ASCII 码, 直到结束符NUL(00H)259 PRC 将字软元件的注释转换成ASCII码,并输出260 LED 将指定的8点字软元件显示16个字符的ASCII码261 LEDA 显示指定的英文数字字符262 LEDB263 LEDC 显示软元件S的注释264 LEDR 显示复位10 其它指令265 WDT WDT复位266 WDTP267 CHK 故障检测268 SLT 按参数设定的条件,数据被锁定269 SLTR 状态锁存复位,且执行SLT 270 STRA 按参数设定的条件,采样数据存入271 STRAR 采样跟踪复位,且允许执行272 STC 进位标志(M9012)ON273 CLC 进位标志(M9012)OFF274 DUTY 用户定义时钟11 伺服指令275 DSFRP 请求启动伺服程序276 PSFLP 数据修改特殊继电器和特殊寄存器一特殊继电器M清单M9000 熔丝断M9002 I/O组件校验出错M9004 MINI网通讯出错M9005 AC电源掉电检测M9006 电池电压低M9007 电池电压低锁存M9008 自诊断出错M9009 信号报警器检测M9010 运算出错标志M9011 运算出错标志锁存M9012 进位标志M9016 数据存储区清零标志M9017 数据存储区清零标志M9018 数据通讯监控切换M9020 0号用户定时时钟M9021 1号用户定时时钟M9022 2号用户定时时钟M9023 3号用户定时时钟M9024 4号用户定时时钟M9025 时钟数据设置请求M9026 时钟数据出错M9027 时钟数据显示M9028 时钟数据读请求M9030 0.1秒时钟M9031 0.2秒时钟M9032 1秒时钟M9033 2秒时钟M9034 1分钟时钟M9036 常开M9037 常闭M9038 RUN后第一个扫描周期ONM9039 运行标志M9040 暂停PAUSE允许线圈M9041 PAUSE状态触点M9042 停止状态触点M9043 采样跟踪完成M9044 采样跟踪M9046 采样跟踪M9047 采样跟踪准备M9048 RUN LED闪烁标志M9049 切换输出字符数目M9050 存放操作结果的存储区交换触点M9051 CHG指令执行禁止M9052 SEG指令切换M9053 EI/DI指令切换M9054 单步运行标志M9055 状态锁存完成标志M9056 主程序P, I设置请求M9057 副程序P, I设置程序M9060 副程序2P, I设置程序M9061 副程序3P, I设置程序M9060 远程终端出错M9061 通讯出错M9065 分离传送状态M9066 传送处理切换M9067 I/O组件出错检测M9068 测试模式M9069 线路故障时的输出M9073 WDT出错标志M9074 PCPU准备完成标志M9075 测试模式标志M9076 外部急停输入标志M9077 手动脉冲发生器轴设置错误标志M9078 测试模式请求出错标志M9079 伺复程序设置出错标志M9081 对远程模块的通讯请求M9082 最终站数不一致M9084 出错检测M9086 运行标志BASIC程序M9087 暂停(PAUSE)标志M9091 操作运行出错细节标志M9091 微机子程序调用出错标志M9092 双电源模块过热M9093 双工电源模块出错M9094 I/O改变标志M9095 双工运行校验出错M9096 A3VCPU A自校出错M9097 A3VCPU B自校出错M9098 A3VCPU C自校出错M9099 A3VTU自校出错M9100 SFC程序登记M9101 SFC程序起/停M9102 SFC启动状态M9103 连续步转移有效/失效M9104 连续转移防止标志M9108 步转移监控定时器起始(对应D9108) M9109 步转移监控定时器起始(对应D9109)M9110 步转移监控定时器起始(对应D9110)M9111 步转移监控定时器起始(对应D9111)M9112 步转移监控定时器起始(对应D9112)M9113 步转移监控定时器起始(对应D9113)M9114 步转移监控定时器起始(对应D9114)M9180 激活步采样跟踪完成标志M9181 激活步采样跟踪执行标志M9182 激活步采样跟踪有效M9196 在块停止时控制输出M9197~9198 保险丝熔断,I/O校核出错显示切换二特殊寄存器D9000 保险丝断D9001 保险丝断D9002 I/O组件校验出错D9003 SUM指令检测位数D9004 MINI网主通讯组件出错D9005 AC掉电计数D9006 电池不足D9008 自诊断出错D9009 信号报警器检测D9010 出错步D9011 出错步D9014 I/O控制模式D9015 CPU运行状态D9016 ROM/RAM设置D9017 最小扫描时间D9018 当前扫描时间D9019 最大扫描时间D9020 恒定扫描D9021 扫描时间D9022 1秒计数器D9025 时钟数据(年,月)D9026 时钟数据(日,时)D9027 时钟数据(分,秒)D9028 时钟数据(星期)D9021~D9034 远程终端组件参数设置D9035 远程I/O组件的通讯属性D9035 扩展文件寄存器D9036 总的站数D9036~9037 供指定扩展文件寄存器软件地址D9038~9039 LED显示优先级D9044 采样跟踪D9050 SFC程序出错代码D9051 出错块D9052 出错步D9053 转移出错D9054 出错顺控步D9055 状态锁存步序号D9061 通讯出错代码D9072 PC通讯检测D9081 对远程终端模块的已执行的通讯请求数D9082 最后的站号D9090 微机子程序输入数据区首软元件号D9091 指令出错D9094 待更换的I/O组件的首地址D9095 A3VTS系统和A3VCPU的运行状态D9096 A3VCPU A自检出错D9097 A3VCPU B自检出错D9098 A3VCPU C自检出错D9099 A3VTU 自检测出错D9100~D9107 断保险丝的组件D9100 保险丝熔断的组件D9108~D9114 步转移监控定时器设置D9116~D9123 I/O组件校验出错D9124 信号器报警数量检测D9125~D9132 信号报警器地址号D9133~D9140 远程终端卡信息D9141~D9172 通讯重发次数D9173 模式设置D9174 设置重发次数D9175 线缆出错模块出错代码D9180~9193远程终端模块出错代码D9180 轴1和轴2的限位开关输出状态存储区D9181 轴3和轴4的限位开关输出状态存储区D9182 轴5和轴6的限位开关输出状态存储区D9183 轴7和轴8的限位开关输出状态存储区D9184 CPU出错的原因D9185 伺服放大器接线数据D9187 手动脉冲发生器轴设置出错D9188 在TEST模式下启动轴号请求出错D9189 出错程序号D9190 数据设置出错D9191 伺服放大器类型D9196~9199 故障站检测D9200 LRDP处理结果D9201 LWTP处理结果D9204 通讯状态D9205 执行回送的站D9206 执行回送的站D9207 通讯扫描时间(最大值)D9208 通讯扫描时间(最小值)D9209 通讯扫描时间(当前值)D9210 重发次数D9211 环路切换计数D9212 就地站运行状态(1~16)D9213 就地站运行状态(17~32)D9214 就地站运行状态(33~48)D9215 就地站运行状态(49~64)D9216 就地站出错检测(1~16)D9217 就地站出错检测(17~32)D9218 就地站出错检测(33~48)D9219 就地站出错检测(49~64)D9220 就地站参数不匹配或(1~16)远程站I/O分配出错D9221 就地站参数不匹配或(17~32)远程站I/O分配出错D9222 就地站参数不匹配或(33~48)远程站I/O分配出错D9223 就地站参数不匹配或(49~64)远程站I/O分配出错D9224 主站与从站和远程I/O站之间的初始通讯(1~16) D9225 主站与从站和远程I/O站之间的初始通讯(17~32) D9226 主站与从站和远程I/O站之间的初始通讯(33~48) D9227 主站与从站和远程I/O站之间的初始通讯(49~64) D9228 就地站或远程I/O站出错(1~16)D9229 就地站或远程I/O站出错(17~32) D9230 就地站或远程I/O站出错(33~48) D9231 就地站或远程I/O站出错(49~64) D9232 就地站或远程I/O站环路出错D9233 就地站或远程I/O站环路出错D9234 就地站或远程I/O站环路出错D9235 就地站或远程I/O站环路出错D9236 就地站或远程I/O站环路出错D9237 就地站或远程I/O站环路出错D9238 就地站或远程I/O站环路出错D9239 就地站或远程I/O站环路出错D9240 检测到接收出错的次数D9243 本站站号检测D9244 从站的总数D9245 检测到的接收出错次数D9248 就地站运行状态D9249 就地站运行状态D9250 就地站运行状态D9251 就地站运行状态D9252 就地站出错检测D9253 就地站出错检测D9254 就地站出错检测D9255 就地站出错检测各种软元件一览表项目A1,A1NA1S A2,A2NA2C A2-S1A2N-S1 A3,A3NA3A A2U, A3UA4UI/O软元件点256 512 1024 2048 8192输入继电器X 0~FF 0~1FF 0~3FF 0~7FF 0~FFF输出继电器Y 0~FF 0~1FF 0~3FF 0~7FF 0~FFF辅助继电器内部继电器(1000点)M0~M999 M0~M999, M204 8~8191特殊继电器(256点)M9000~M9255锁存继电器(1048点)L1000~L2048通讯用继电器(2048点)B0~B3FF B0~BFFF定时器100ms定时器(200点)T0~T19910ms定时器(56点)T200~T255100ms记忆定时器(0点)计数器(256点)C0~C255寄存器数据寄存器(1024点)D0~D1023 D0~D6143特殊寄存器(256点)D9000~D9255通讯寄存器(1024点)W0~W3FF W0~WFFF累加器(2点)A0,A1变址寄存器(2点)Z, V Z,Z1~Z6(7点), V,V1~V6(7点) 嵌套(8点)N0~ N7指针(256点)P0~P255中断指针(32点)I0~I31常数十进制K (16位)-32768~+32767(32位)-2147483648 ~+2147483647十六进制H (16位)0~FFFF(32位)0~FFFFFFFF。
PLC基本指令介绍PLC(可编程逻辑控制器)是一种常用于自动化控制系统的电子设备,它可以通过编程来实现不同的逻辑功能和控制操作。
PLC基本指令是PLC编程的基础,是PLC实现逻辑控制的基本工具。
1. LD(Load)指令:LD指令用于将逻辑输出输入的状态装载到PLC的存储器中,以供后续的逻辑运算和判断使用。
2.AND指令:AND指令用于进行逻辑与运算,当两个或多个输入信号同时为真时,输出信号为真,否则输出信号为假。
3.OR指令:OR指令用于进行逻辑或运算,当两个或多个输入信号中至少一个为真时,输出信号为真,否则输出信号为假。
4.NOT指令:NOT指令用于进行逻辑非运算,将输入信号取反,即如果输入信号为真,则输出信号为假,反之亦然。
5. BCD指令:BCD(Binary Coded Decimal)指令用于将二进制数转换为十进制数,或者将十进制数转换为二进制数。
6. ADD(Addition)指令:ADD指令用于进行加法运算,将两个输入信号相加,得到的结果保存在输出信号中。
7. SUB(Subtraction)指令:SUB指令用于进行减法运算,将一个输入信号减去另一个输入信号,得到的结果保存在输出信号中。
8. MUL(Multiplication)指令:MUL指令用于进行乘法运算,将一个输入信号乘以另一个输入信号,得到的结果保存在输出信号中。
9. DIV(Division)指令:DIV指令用于进行除法运算,将一个输入信号除以另一个输入信号,得到的结果保存在输出信号中。
10. JMP(Jump)指令:JMP指令用于跳转到程序中的指定位置,可以实现循环和分支等运算。
11. LBL(Label)指令:LBL指令用于标记程序中的位置,可以通过LBL指令实现程序的结构化管理。
12. OUT(Output)指令:OUT指令用于将输出信号发送到外部设备,实现对外部设备的控制。
13. ANI(Analog Input)指令:ANI指令用于读取模拟信号的输入值,可以读取温度、压力等模拟量。