PLC算术运算指令
- 格式:ppt
- 大小:429.50 KB
- 文档页数:41
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, 断开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)67 - (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)107 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个扫描周期,M9052 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,A3UA4U I/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, M2048~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算术运算的实例。
首先,我们来看一个简单的加法运算实例。
假设我们有两个输入信号A和B,分别代表两个数字。
我们希望将这两个数字相加,并将结果输出。
在PLC的程序中,我们可以使用一个加法指令来实现这个功能。
具体的PLC程序如下:```A = 输入信号AB = 输入信号BC = A + B输出信号C = C```在这个程序中,我们首先将输入信号A和B分别赋值给变量A和B。
然后,我们使用加法指令将A和B相加,并将结果赋值给变量C。
最后,我们将变量C的值输出。
接下来,我们来看一个更复杂一些的实例,乘法运算。
假设我们有三个输入信号A、B和C,分别代表三个数字。
我们希望将这三个数字相乘,并将结果输出。
在PLC的程序中,我们可以使用一个乘法指令来实现这个功能。
具体的PLC程序如下:```A = 输入信号AB = 输入信号BC = 输入信号CD = A * B * C输出信号D = D```在这个程序中,我们首先将输入信号A、B和C分别赋值给变量A、B和C。
然后,我们使用乘法指令将A、B和C相乘,并将结果赋值给变量D。
最后,我们将变量D的值输出。
除了加法和乘法,PLC还支持其他的算术运算,如减法和除法。
这些运算可以通过相应的指令来实现。
例如,如果我们想要实现减法运算,可以使用减法指令,具体的PLC程序如下:```A = 输入信号AB = 输入信号BC = A - B输出信号C = C```在这个程序中,我们使用减法指令将A减去B,并将结果赋值给变量C。
最后,我们将变量C的值输出。
总结起来,PLC算术运算是实现自动化控制的重要组成部分。
通过合理地运用加法、乘法、减法和除法等指令,我们可以实现对输入信号的运算,并将结果输出。
plcabs指令用法PLC(ProgrammableLogicController)是一种广泛应用于工业控制的设备,它通过执行程序来控制各种机械设备和生产过程。
在PLC编程中,ABS指令是一种常用的算术运算指令,用于执行二进制绝对值运算。
本文将介绍PLCABS指令的用法、注意事项以及应用场景。
一、指令介绍ABS指令用于对一个二进制数进行取绝对值运算,其语法格式为:ABS(数),其中“数”是需要取绝对值的二进制数。
ABS指令执行后,会将“数”中的二进制数字转换为十进制数字,并返回绝对值。
二、指令使用在使用PLCABS指令时,需要将需要取绝对值的二进制数作为参数传递给该指令。
例如,假设有一个二进制数B0,可以通过以下步骤将其转换为绝对值并输出到Q0.0中:1.将B0的值加载到指定的寄存器中;2.执行ABS指令,将B0中的数字转换为绝对值;3.将绝对值输出到Q0.0中。
三、注意事项在使用PLCABS指令时,需要注意以下几点:1.确保输入参数是一个有效的二进制数,不能为0或负数;2.ABS指令只能对整数进行取绝对值运算,不能对小数进行取整操作;3.如果需要取绝对值的数字是浮点数类型,需要先将其转换为整数类型再进行运算;4.ABS指令执行后,输出的结果是一个十进制数,而不是二进制数。
四、应用场景PLCABS指令在工业控制中有着广泛的应用,以下是一些常见的应用场景:1.数值比较:在进行数值比较时,可以使用ABS指令对比较的两个数进行取绝对值运算,以确保比较结果的一致性;2.数值转换:在进行数值转换时,可以使用ABS指令将二进制数转换为十进制数,以便进行后续处理;3.数值控制:在控制系统中,可以使用ABS指令对控制参数进行取绝对值运算,以确保系统的稳定性和安全性;4.数据处理:在进行数据处理时,可以使用ABS指令对数据进行取绝对值运算,以便进行统计分析或数据挖掘。
总之,PLCABS指令是一种常用的算术运算指令,在工业控制中有着广泛的应用。
一、顺控指令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-P 77 * (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个扫描周期,M9052 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 状态锁存复位,且执行SLT270 STRA 按参数设定的条件,采样数据存入271 STRAR 采样跟踪复位,且允许执行272 STC 进位标志(M9012)ON 273 CLC 进位标志(M9012)OFF 274 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~7FF0~FFF输出继电器Y 0~FF 0~1FF 0~3FF 0~7FF0~FFF辅助继电器内部继电器(1000点)M0~M999 M0~M999, M2048~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分类指令助记符功能说明对应不同型号的PLCFX0S FX0N FX1S FX1N FX2NFX2NC程序流程00 CJ 条件跳转 P P P P P01 CALL 子程序调用Î Î P P P02 SRET 子程序返回Î Î P P P03 IRET 中断返回 P P P P P04 EI 开中断 P P P P P05 DI 关中断 P P P P P06 FEND 主程序结束 P P P P P07 WDT 监视定时器刷新 P P P P P08 FOR 循环的起点与次数 P P P P P09 NEXT 循环的终点 P P P P P传送与比较10 CMP 比较 P P P P P11 ZCP 区间比较 P P P P P12 MOV 传送 P P P P P13 SMOV 位传送Î Î Î Î P14 CML 取反传送Î Î Î Î P15 BMOV 成批传送Î P P P P16 FMOV 多点传送Î Î Î Î P17 XCH 交换Î Î Î Î P18 BCD 二进制转换成BCD码 P P P PP19 BIN BCD码转换成二进制 P P P PP 算术与逻辑运算20 ADD 二进制加法运算 P P P P P21 SUB 二进制减法运算 P P P P P22 MUL 二进制乘法运算 P P P P P23 DIV 二进制除法运算 P P P P P24 INC 二进制加1运算 P P P P P25 DEC 二进制减1运算 P P P P P26 WAND 字逻辑与 P P P P P27 WOR 字逻辑或 P P P P P28 WXOR 字逻辑异或 P P P P P29 NEG 求二进制补码Î Î Î Î P循环与移位30 ROR 循环右移Î Î Î Î P31 ROL 循环左移Î Î Î Î P32 RCR 带进位右移Î Î Î Î P33 RCL 带进位左移Î Î Î Î P34 SFTR 位右移 P P P P P35 SFTL 位左移 P P P P P36 WSFR 字右移Î Î Î Î P37 WSFL 字左移Î Î Î Î P38 SFWR FIFO(先入先出)写入Î Î P PP39 SFRD FIFO(先入先出)读出Î Î P PP数据处理40 ZRST 区间复位 P P P P P41 DECO 解码 P P P P P42 ENCO 编码 P P P P P43 SUM 统计ON位数Î Î Î Î P44 BON 查询位某状态Î Î Î Î P45 MEAN 求平均值Î Î Î Î P46 ANS 报警器置位Î Î Î Î P47 ANR 报警器复位Î Î Î Î P48 SQR 求平方根Î Î Î Î P49 FLT 整数与浮点数转换Î Î Î Î P高速处理50 REF 输入输出刷新 P P P P P51 REFF 输入滤波时间调整Î Î Î Î P52 MTR 矩阵输入Î Î P P P53 HSCS 比较置位(高速计数用)Î PP P P54 HSCR 比较复位(高速计数用)Î PP P P55 HSZ 区间比较(高速计数用)Î ÎÎ Î P56 SPD 脉冲密度Î Î P P P57 PLSY 指定频率脉冲输出 P P P P P58 PWM 脉宽调制输出 P P P P P59 PLSR 带加减速脉冲输出Î Î P P P方便指令60 IST 状态初始化 P P P P P61 SER 数据查找Î Î Î Î P62 ABSD 凸轮控制(绝对式)Î Î P PP63 INCD 凸轮控制(增量式)Î Î P PP64 TTMR 示教定时器Î Î Î Î P65 STMR 非凡定时器Î Î Î Î P66 ALT 交替输出 P P P P P67 RAMP 斜波信号 P P P P P68 ROTC 旋转工作台控制Î Î Î Î P69 SORT 列表数据排序Î Î Î Î P外部设备70 TKY 10键输入Î Î Î Î P71 HKY 16键输入Î Î Î Î P72 DSW BCD数字开关输入Î Î P P P73 SEGD 七段码译码Î Î Î Î P74 SEGL 七段码分时显示Î Î P P P75 ARWS 方向开关Î Î Î Î P76 ASC ASCI码转换Î Î Î Î P77 PR ASCI码打印输出Î Î Î Î P78 FROM BFM读出Î P Î P P79 TO BFM写入Î P Î P P外围设备80 RS 串行数据传送Î P P P P81 PRUN 八进制位传送(#) Î Î P P P82 ASCI 16进制数转换成ASCI码Î PP P P 83 HEX ASCI码转换成16进制数Î P PP P84 CCD 校验Î P P P P85 VRRD 电位器变量输入Î Î P P P86 VRSC 电位器变量区间Î Î P P P87 - -88 PID PID运算Î Î P P P89 - -浮点数运算110 ECMP 二进制浮点数比较Î Î Î ÎP111 EZCP 二进制浮点数区间比较Î ÎÎ Î P118 EBCD 二进制浮点数→十进制浮点数Î Î Î Î P119 EBIN 十进制浮点数→二进制浮点数Î Î Î Î P120 EADD 二进制浮点数加法Î Î Î ÎP121 EUSB 二进制浮点数减法Î Î Î ÎP122 EMUL 二进制浮点数乘法Î Î Î ÎP123 EDIV 二进制浮点数除法Î Î Î ÎP127 ESQR 二进制浮点数开平方Î Î ÎÎ P129 INT 二进制浮点数→二进制整数Î Î Î Î P130 SIN 二进制浮点数Sin运算Î Î ÎÎ P131 COS 二进制浮点数Cos运算Î Î ÎÎ P132 TAN 二进制浮点数Tan运算Î Î ÎÎ P147 SWAP 高低字节交换Î Î Î Î P定位155 ABS ABS当前值读取Î Î P P Î156 ZRN 原点回归Î Î P P Î157 PLSY 可变速的脉冲输出Î Î P PÎ158 DRVI 相对位置控制Î Î P P Î159 DRVA 绝对位置控制Î Î P P Î时钟运算160 TCMP 时钟数据比较Î Î P P P161 TZCP 时钟数据区间比较Î Î P PP162 TADD 时钟数据加法Î Î P P P163 TSUB 时钟数据减法Î Î P P P166 TRD 时钟数据读出Î Î P P P167 TWR 时钟数据写入Î Î P P P169 HOUR 计时仪Î Î P P外围设备170 GRY 二进制数→格雷码Î Î Î Î P171 GBIN 格雷码→二进制数Î176 RD3A 模拟量模块(FX0N-3A)读出ÎP Î P Î177 WR3A 模拟量模块(FX0N-3A)写入Î P Î P Î触点比较224 LD= (S1)= (S2)时起始触点接通Î Î P P P225 LD> (S1)> (S2)时起始触点接通Î Î P P P226 LD< (S1)< (S2)时起始触点接通Î Î P P P228 LD<> (S1)<> (S2)时起始触点接通Î Î P P P229 LD≦ (S1)≦ (S2)时起始触点接通Î Î P P P230 LD≧ (S1)≧ (S2)时起始触点接通Î Î P P P232 AND= (S1)= (S2)时串联触点接通Î Î P P P233 AND> (S1)> (S2)时串联触点接通Î Î P P P234 AND< (S1)< (S2)时串联触点接通Î Î P P P236 AND<> (S1)<> (S2)时串联触点接通Î Î P P P237 AND≦ (S1)≦ (S2)时串联触点接通Î Î P P P238 AND≧ (S1)≧ (S2)时串联触点接通Î Î P P P240 OR= (S1)= (S2)时并联触点接通Î Î P P P241 OR> (S1)> (S2)时并联触点接通Î Î P P P242 OR< (S1)< (S2)时并联触点接通Î Î P P P244 OR<> (S1)<> (S2)时并联触点接通Î Î P P P245 OR≦ (S1)≦ (S2)时并联触点接通Î Î P P P246 OR≧ (S1)≧ (S2)时并联触点接通Î Î P P P。
西门子PLC整数算术运算指令
在STEP 7中可以对整数、长整数和实数进行加、减、乘、除算术运算。
算术运算指令在累加器1和2中进行,在累加器2中的值作为被减数或被除数。
算术运算的结果保存在累加器1中,累加器1原有的值被运算结果覆盖,累加器2中的值保持不变。
CPU在进行算术运算时,不必考虑RLO,对RLO也不产生影响。
学习算术运算指令必须注意算术运算的结果将对状态字的某些位产生影响,这些位是:CC1和CC0,OV,OS。
在位操作指令和条件跳转指令中,经常要对这些标志位进行判断来决定进行什么操作。
l +I 16位整数相加指令l -I 16位整数相减指令l *I 16位整数相乘指令l / I 16位整数除法指令l +D 32位整数相加指令l -D 32位整数相减指令l * D 32位整数相乘指令l / D 32位整数除法指令l MOD 32位整数除法取余数指令例3.7.1 L MW0 // 将MW 0中的值装入累加器1低字L MW2 // 将MW 2中的值装入累加器1低字,累加器1低字中的原值移入累加器2低字+I // 将累加器l低字和累加器2中的低字相加T MW10 // 将运算结果送到MW 10* FBD 格式与STL语句表指令不同处在于多了使能输入端EN和使能输出端ENO。
只有当I 0.0=1时,才进行加法运算。
如果运算的结果超出范围或者I 0.0=0,则
Q 4.0=0。
s71200减法指令全文共四篇示例,供读者参考第一篇示例:S7-1200减法指令(SUB)S7-1200是西门子推出的一款先进的PLC控制器,广泛应用于工业自动化领域。
其中的减法指令(SUB) 是其重要的指令之一,用于实现数值的减法运算。
通过减法指令,用户可以在程序中灵活地进行减法运算,实现复杂的逻辑控制和数据处理任务。
1. 指令格式SUB src1, src2, dstsrc1 和src2 是减法运算的两个操作数,可以是寄存器、数据块或者常数;dst 是减法运算的结果,也可以是一个寄存器或数据块。
在执行减法指令时,src1 和src2 的数值被相减,结果存储在dst 中。
2. 操作数类型在S7-1200中,减法指令支持以下几种操作数类型:- 寄存器:指令可以直接对寄存器中的数值进行减法计算,例如SUB DB1.DBD10, DB1.DBD20, DB1.DBD30。
- 数据块:指令还可以对数据块中的数值进行减法运算,例如SUB DB2.DBW100, DB2.DBW200, DB2.DBW300。
- 常数:指令还可以将常数作为操作数进行减法运算,例如SUB #1000, #200, DB3.DBW10。
3. 地址寻址在使用S7-1200减法指令时,需要考虑地址寻址的方式。
地址寻址可以通过直接地址、间接地址和变址寻址来实现。
在进行减法运算时,需要保证操作数的地址正确,以保证计算的准确性。
4. 减法运算5. 应用实例以下是一个简单的S7-1200减法指令的应用实例:SUB DB1.DBD10, DB1.DBD20, DB1.DBD30在这个例子中,指令将DB1.DBD10 和DB1.DBD20 的数值相减,并将结果存储在DB1.DBD30 中。
通过这样的应用实例,可以看到减法指令在工业自动化中的实际应用场景。
第二篇示例:S7-1200 PLC是西门子公司推出的一款功能强大的工控系统,广泛应用于各种工业自动化领域。
基恩士PLC指令文档一、逻辑控制指令1. AND:逻辑与指令,用于将两个输入信号进行逻辑与运算。
2. OR:逻辑或指令,用于将两个输入信号进行逻辑或运算。
3. NOT:逻辑非指令,用于对输入信号进行逻辑非运算。
4. XOR:逻辑异或指令,用于将两个输入信号进行逻辑异或运算。
二、顺序控制指令1. STL:步进启动指令,用于启动顺序控制程序。
2. RET:步进返回指令,用于返回到上一个顺序控制程序。
3. STP:步进停止指令,用于停止顺序控制程序的执行。
4. JMP:跳转指令,用于跳转到指定的顺序控制程序段。
三、算术运算指令1. ADD:加法指令,用于将两个数值相加。
2. SUB:减法指令,用于将两个数值相减。
3. MUL:乘法指令,用于将两个数值相乘。
4. DIV:除法指令,用于将两个数值相除。
5. MOD:取模指令,用于求两个数值的余数。
四、移位指令1. SHL:左移位指令,用于将数值左移指定的位数。
2. SHR:右移位指令,用于将数值右移指定的位数。
3. ROL:循环左移位指令,用于将数值循环左移指定的位数。
4. ROR:循环右移位指令,用于将数值循环右移指定的位数。
五、跳转指令1. JSR:绝对跳转指令,用于直接跳转到指定的程序地址。
2. JSRD:相对跳转指令,用于根据当前地址和偏移量跳转到指定的程序地址。
3. JMPR:间接跳转指令,用于根据寄存器中的地址跳转到指定的程序地址。
六、通信指令1. SEND:发送数据指令,用于向外部设备发送数据。
2. RECV:接收数据指令,用于从外部设备接收数据。
3. GET:获取数据指令,用于从指定地址获取数据。
4. PUT:设置数据指令,用于向指定地址设置数据。
七、监控和诊断指令1. MONITO:监控模式选择指令,用于选择监控模式(实时监控、历史记录等)。
2. MONITODATA:监控数据输出指令,用于输出监控数据到指定地址。
3. MONITOCLR:监控数据清除指令,用于清除监控数据。
三菱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)加法指令ADD (D)ADD(P)指令的编号为FNC20。
它是将指定的源元件中的二进制数相加结果送到指定的目标元件中去。
如图1所示,当X0为ON时,执行(D10)+(D12)→(D14)。
图1 加法指令的使用(2)减法指令SUB (D)SUB(P)指令的编号为FNC21。
它是将[S1.]指定元件中的内容以二进制形式减去[S2.]指定元件的内容,其结果存入由[D.]指定的元件中。
如图2所示,当X0为ON时,执行(D10)—(D12)→(D14)。
图2 减法指令的使用使用加法和减法指令时应该注意:1)操作数可取所有数据类型,目标操作数可取KnY、KnM、KnS、T、C、D、V和Z.。
2)16位运算占7个程序步,32位运算占13个程序步。
3)数据为有符号二进制数,最高位为符号位(0为正,1为负)。
4)加法指令有三个标志:零标志(M8020)、借位标志(M8021)和进位标志(M8022)。
当运算结果超过32767(16位运算)或2147483647(32位运算)则进位标志置1;当运算结果小于-32767(16位运算)或-2147483647(32位运算),借位标志就会置1。
(3)乘法指令MUL (D) MUL (P)指令的编号为FNC22。
数据均为有符号数。
如图3所示,当X0为ON时,将二进制16位数[S1.]、[S2.]相乘,结果送[D.]中。
D为32位,即(D 0)×(D2)→(D5,D4)(16位乘法);当X1为ON时,(D1,D0)×(D3,D2)→(D7,D6,D5,D4)(32位乘法)。
图3 乘法指令的使用(4)除法指令DIV (D) DIV (P)指令的编号为为FNC23。
其功能是将[S1.]指定为被除数,[S2.]指定为除数,将除得的结果送到[D.]指定的目标元件中,余数送到[D.]的下一个元件中。
如图4所示,当X0为ON时(D0)÷(D2)→(D4)商,(D5)余数(16位除法);当X1为ON时(D1,D0)÷(D3,D2)→(D5,D4)商,(D7,D6)余数(32位除法)。
FX3U 的 ADPRW 指令本文介绍了三菱 FX3U PLC 中的 ADPRW 指令,包括其功能、使用方法和应用案例等方面,旨在为读者提供关于该指令的客观完整的信息。
下面是本店铺为大家精心编写的4篇《FX3U 的 ADPRW 指令》,供大家借鉴与参考,希望对大家有所帮助。
《FX3U 的 ADPRW 指令》篇1一、ADPRW 指令概述ADPRW 指令是三菱 FX3U PLC 中的一个 32 位算术运算指令,可以用于对两个 32 位数值进行加、减、乘、除等算术运算。
该指令的操作数可以是 PLC 内部的寄存器或者外部输入输出端口的数值。
ADPRW 指令在 PLC 编程中应用广泛,可以实现各种复杂的控制逻辑和运算功能。
二、ADPRW 指令的功能和用法ADPRW 指令的功能和用法如下:1. 功能:ADPRW 指令对两个 32 位数值进行算术运算,并将结果存储到指定的寄存器中。
2. 用法:ADPRW S1 S2 D1其中,S1 和 S2 为操作数寄存器,D1 为结果寄存器。
例如,若要将 PLC 内部寄存器 M0 和 M1 的数值相加,并将结果存储到寄存器 M2 中,可以使用以下指令:ADPRW M0 M1 M2三、ADPRW 指令的应用案例以下是一个使用 ADPRW 指令实现 PLC 控制的应用案例:假设有一个自动化生产线,其中有一个电动机需要根据生产线的速度进行调节。
生产线的速度通过一个传感器进行检测,并将检测结果输入到 PLC 的输入端口。
PLC 需要根据输入端口的数值控制电动机的转速。
解决这个问题,可以使用 ADPRW 指令来实现。
具体步骤如下:1. 将传感器的信号输入到 PLC 的输入端口 X0。
2. 使用 ADPRW 指令对输入端口 X0 的数值进行处理,得到电动机所需的转速。
3. 将得到的转速信号输出到 PLC 的输出端口 Y0,控制电动机的转速。
以下是实现该控制逻辑的 PLC 程序段:L0: ADPRW X0 X1 Y0其中,X0 为输入端口,X1 为电动机转速的寄存器,Y0 为输出端口。