西门子plc指令表
- 格式:doc
- 大小:26.50 KB
- 文档页数:3
1 位逻辑指令-||- 常开接点地址-|/|- 常闭接点地址XOR 位异或-|NOT|- 信号流反向- 输出线圈-- 中间输出-R 线圈复位-S 线圈置位RS 复位置位触发器RS 置位复位触发器-N- RLO下降沿检测-P- PLO上升沿检测-SAVE 将RLO存入BR存储器 MEG 地址下降沿检测POS 地址上升沿检测2 比较指令CMP I 整数比较CMP D 双整数比较CMP R 实数比较3 转换指令BCD_IBCD码转换为整数I_BCD 整数转换为BCD码I_DINT 整数转换为双整数BCD_DIBCD码转换为双整数DI_BCD 双整数转换为BCD码 DI_REAL 双整数转换为浮点数 INV_I 整数的二进制反码INV_DI 双整数的二进制反码 NEG_I 整数的二进制补码NEG_DI 双整数的二进制补码 NEG_R 浮点数求反ROUND 舍入为双整数TRUNC 舍去小数取整为双整数 CEIL 上取整FLOOR 下取整4 计数器指令S_CUD 加减计数S_CU 加计数器S_CD 减计数器-SC 计数器置初值-CU 加计数器线圈-CD 减计数器线圈5 数据块指令-OPN 打开数据块:DB或DI 6 逻辑控制指令-JMP 无条件跳转-JMP 条件跳转-JMPN 若非则跳转LABEL 标号7 整数算术运算指令ADD_I 整数加法SUB_I 整数减法MUL_I 整数乘法DIV_I 整数除法ADD_DI 双整数加法SUB_DI 双整数减法MUL_DI 双整数乘法DIV_DI 双整数除法MOD_DI 回送余数的双整数8 浮点算术运算指令基础指令8.1.1 ADD_R 实数加法SUB_R 实数减法MUL_R 实数乘法DIV_R 实数除法ABS 浮点数绝对值运算扩展指令SQR 浮点数平方SQRT 浮点数平方根EXP 浮点数指数运算LN 浮点数自然对数运算SIN 浮点数正弦运算COS 浮点数余弦运算TAN 浮点数正切运算ASIN 浮点数反正弦运算ACOS 浮点数反余弦运算浮点数反正切运算9 赋值指令MOVE 赋值10 程序控制指令-Call 从线圈调用FC/SFC无参数 CALL_FB 从方块调用FBCALL_FC 从方块调用FCCALL_SFB 从方块调用SFBCALL_SFC 从方块调用SFC-MCR< 主控接通-MCR> 主控继电器断开-MCRA 主控继电器启动-MCRD 主控继电器停止-RET 返回11 移位和循环指令移位指令SHR_I 整数右移SHR_DI 双整数右移SHL_W 字左移SHR_W 字右移SHL_DW 双字左移SHR_DW 双字右移循环指令ROL_DW 双字左循环ROR_DW 双字右循环12 状态位指令OV -||- 溢出异常位OS -||- 存储溢出异常位UO -||- 无序异常位BR -||- 异常位二进制结果==0-||- 结果位等于"0"<>0-||- 结果位不等于"0">0-||- 结果位大于"0"<0-||- 结果位小于"0">=0-||- 结果位大于等于"0"<=0-||- 结果位小于等于"0"13 定时器指令S_PULSE 脉冲S5定时器S_PEXT 扩展脉冲S5定时器S_ODT 接通延时S5定时器S_ODTS 保持型接通延时S5定时器 S_OFFDT 断电延时S5定时器-SP 脉冲定时器线圈-SE 扩展脉冲定时器线圈-SD 接通延时定时器线圈-SS 保持型接通延时定时器线圈 -SF 断开延时定时器线圈14 字逻辑指令WAND_W 字和字相"与"WOR_W 字和字相"或"WAND_DW 双字和双字相"与"WOR_DW 双字和双字相"或"WXOR_W 字和字相"异或"WXOR_DW 双字和双字相"异或。
中文详解西门子PLC指令,瞬间都明白了!指令(英文全称意思 ) :指令含义1、LD ( Load 装载 ) :动合触点2、LDN ( Load Not 不装载 ) : 动断触点3、A( And 与动合) : 用于动合触点串联4、AN( And Not 与动断 ) :用于动断触点串联5、O ( Or 或动合 ) :用于动合触点并联6、ON ( Or Not 或动断 ) : 用于动断触点并联7、= ( Out 输出 ) :用于线圈输出8、OLD ( Or Lode): 块或9、ALD ( And Lode): 块与10、LPS ( Logic Push ) :逻辑入栈11、LRD ( Logic Read ) :逻辑读栈12、LPP ( Logic Pop ) :逻辑出栈13、NOT ( not 并非 ) :非14、NOP ( No Operation Performed ) : 无操作15、AENO ( And ENO ) :指令盒输出端ENO相与16、S( Set 放置 ) : 置117、R ( Reset 重置,清零 ) :清零18、P( Positive) :上升沿19、N ( Negative) :下降沿20、TON ( On_Delay Timer ) :接通延时定时器21、TONR ( Retentive On_Delay Timer ) : 有记忆接通延时定时器22、TOF ( Off_ Delay Timer ) :断开延时定时器23、CTU ( Count Up ) : 增计数器24、CTD ( Count Down ) : 减计数器25、CTDU ( Count Up/ Count Down ) :增减计数器26、ADD ( add 加 ) : 加注意//ADD_I (_ I 表示整数)ADD_DI( DI表示双字节整数)ADD-R (R 表示实数)它们都是加运算只是数的大小不同。
第1章位逻辑指令1.1 LD指令:载入常开触点 11.2 A指令:串联常开触点 21.3 O指令:并联常开触点 31.4 LDN指令:载入常闭触点 41.5 AN指令:串联常闭触点 51.6 ON指令:并联常闭触点 61.7 LDI指令:立即载入常开触点71.8 AI指令:串联立即常开触点81.9 OI指令:并联立即常开触点91.10 LDNI指令:载入立即常闭触点101.11 ANI指令:串联立即常闭触点111.12 ONI指令:并联立即常闭触点131.13 NOT指令:改变使能位输入状态141.14 EU指令:上升边缘检测151.15 ED指令:下降边缘检测161.16 ALD指令:触点块串联171.17 OLD指令:触点块并联181.18 LPS、LRD、LPP指令:逻辑堆栈操作191.19 =指令:线圈输出211.20 =|指令:立即线圈输出221.21 S指令:线圈置位231.22 SI指令:线圈立即置位241.23 R指令:线圈复位251.24 RI指令:线圈立即复位261.25 NOP指令:空操作271.26 X指令:异或操作28第2章比较指令2.1 LDB=指令:载入字节等于302.2 AB=指令:与运算字节等于312.3 OB=指令:或运算字节等于322.4 LDB指令:载入字节不等于332.5 AB指令:与运算字节不等于342.6 OB指令:或运算字节不等于352.8 AB=指令:与运算字节大于或等于37 2.9 OB=指令:或运算字节大于或等于39 2.10 LDB=指令:载入字节小于或等于40 2.11 AB=指令:与运算字节小于或等于41 2.12 OOB=指令:或运算字节小于或等于42 2.13 LDB指令:载入字节大于432.14 AB指令:与运算字节大于442.15 OB指令:或运算字节大于452.16 LDB指令:载入字节小于462.17 AB指令:与运算字节小于472.18 OB指令:或运算字节小于482.19 LDW=指令:载入字等于492.20 AW=指令:与运算字等于502.21 OW=指令:或运算字等于522.22 LDW指令:载入字不等于532.23 AW指令:与运算字不等于542.24 OW指令:或运算字不等于552.25 LDW=指令:载入字大于或等于562.26 AW=指令:与运算字大于或等于57 2.27 OW=指令:或运算字大于或等于58 2.28 LDW=指令:载入字小于或等于602.29 AW=指令:与运算字小于或等于61 2.30 OW=指令:或运算字小于或等于62 2.31 LDW指令:载入字大于632.32 AW指令:与运算字大于642.33 OW指令:或运算字大于652.34 LDW指令:载入字小于672.35 AW指令:与运算字小于682.36 OW指令:或运算字小于692.37 LDD=指令:载入双字等于702.38 AD=指令:与运算双字等于712.39 OD=指令:或运算双字等于722.40 LDD指令:载入双字不等于732.41 AD指令:与运算双字不等于742.42 OD指令:或运算双字不等于762.43 LDD=指令:载入双字大于或等于77 2.44 AD=指令:与运算双字大于或等于782.46 LDD=指令:载入双字小于或等于802.47 AD=指令:与运算双字小于或等于812.48 OD=指令:或运算双字小于或等于822.49 LDD指令:载入双字大于832.50 AD指令:与运算双字大于842.51 OD指令:或运算双字大于852.52 LDD指令:载入双字小于872.53 AD指令:与运算双字小于882.54 OD指令:或运算双字小于892.55 LDR=指令:载入实数等于902.56 AR=指令:与运算实数等于912.57 OR=指令:或运算实数等于922.58 LDR指令:载入实数不等于932.59 AR指令:与运算实数不等于942.60 OR指令:或运算实数不等于952.61 LDR=指令:载入实数大于或等于962.62 AR=指令:与运算实数大于或等于972.63 OR=指令:或运算实数大于或等于982.64 LDR=指令:载入实数小于或等于1002.65 AR=指令:与运算实数小于或等于1012.66 OR=指令:或运算实数小于或等于1022.67 LDR指令:载入实数大于1032.68 AR指令:与运算实数大于1042.69 OR指令:或运算实数大于1052.70 LDR指令:载入实数小于1062.71 AR指令:与运算实数小于1072.72 OR指令:或运算实数小于108第3章转换指令3.1 BTI指令:字节转换至整数1103.2 ITB指令:整数转换至字节1113.3 ITD指令:整数转换至长整数1123.4 ITS指令:整数转换至字符串1133.5 DTI指令:长整数转换至整数1153.6 DTR指令:长整数转换至实数1163.7 DTS指令:长整数转换至字符串1173.8 ROUND指令:取整为长整数1193.9 TRUNC指令:截断为长整数1203.10 RTS指令:实数转换至字符串1213.11 BCDI指令:BCD码转换为整数1233.12 IBCD指令:整数转换为BCD码1243.13 ITA指令:整数转换至ASCII码1253.14 DTA指令:长整数转换至ASCII码1273.15 RTA指令:实数转换至ASCII码1293.16 ATH指令:ASCII码转换至十六进制数字1313.17 HTA指令:十六进制数字转换至ASCII码1333.18 STI指令:字符串转换至整数1343.19 STD指令:字符串转换至长整数1363.20 STR指令:字符串转换至实数1373.21 DECO指令:解码1383.22 ENCO指令:编码1403.23 SEG指令:七段显示转换141第4章计数器指令4.1 CTU指令:向上计数1434.2 CTD指令:向下计数1454.3 CTUD指令:双向计数1464.4 HDEF指令:定义高速计数器1484.5 HSC指令:高速计数器150第5章浮点型数学运算指令5.1 +R指令:实数加1535.2 -R指令:实数减1545.3 *R指令:实数乘1565.4 /R指令:实数除1575.5 SQRT指令:求平方根1595.6 SIN指令:求正弦值1605.7 COS指令:求余弦值1615.8 TAN指令:求正切值1625.9 LN指令:求自然对数1635.10 EXP指令:求指数值164第6章整型数学运算指令6.1 +I指令:整数加1656.2 +D指令:长整数加1666.3 ?I指令:整数减1686.4 ?D指令:长整数减1696.5 MUL指令:整数与长整数相乘1716.6 *I指令:整数乘1726.7 *D指令:长整数乘1736.8 DIV指令:整数与长整数相除1756.9 /I指令:除以整数1766.10 /D指令:除以长整数1776.11 INCB指令:递增字节1796.12 INCW指令:递增字1806.13 INCD指令:递增双字1816.14 DECB指令:递减字节1836.15 DECW指令:递减字1846.16 DECD指令:递减双字185第7章中断指令7.1 CRETI指令:从中断(INT)有条件返回1877.2 ENI指令:启用中断1887.3 DISI指令:禁止中断1897.4 ATCH指令:中断连接1907.5 DTCH指令:中断分离1917.6 CEVNT指令:清除中断事件192第8章字逻辑指令8.1 INVB指令:取反字节1948.2 INVW指令:取反字1958.3 INVD指令:取反双字1968.4 ANDB指令:与运算字节1978.5 ANDW指令:与运算字1998.6 ANDD指令:与运算双字2008.7 ORB指令:或运算字节2018.8 ORW指令:或运算字2038.9 ORD指令:或运算双字2048.10 XORB指令:异或运算字节2058.11 XORW指令:异或运算字2078.12 XORD指令:异或运算双字208第9章移动指令9.1 MOVB指令:移动字节2109.2 MOVW指令:移动字2119.3 MOVD指令:移动双字2129.4 MOVR指令:移动实数2139.5 BMB指令:成块移动字节2149.6 BMW指令:成块移动字2159.7 BMD指令:成块移动双字2179.8 SWAP指令:交换字节2189.9 BIR指令:移动字节立即读取2199.10 BIW指令:移动字节立即写入220第10章程序控制指令10.1 FOR指令:循环开始22210.2 NEXT指令:循环结束22410.3 JMP指令:跳接至标签22510.4 LBL指令:语句标签22610.5 LSCR指令:载入顺序控制继电器22610.6 SCRT指令:顺序控制继电器转换22810.7 SCRE指令:顺序控制继电器结束22910.8 CRET指令:从子程序(SBR)有条件返回23110.9 END指令:主程序(OB1)有条件结束23110.10 STOP指令:转换至停止模式23210.11 WDR指令:监视程序复原23210.12 DLED指令:诊断LED 233第11章移位和循环移位指令11.1 SLB指令:向左移位字节23511.2 SLW指令:向左移位字23611.3 SLD指令:向左移位双字23811.4 SRB指令:向右移位字节23911.5 SRW指令:向右移位字24011.6 SRD指令:向右移位双字24211.7 RLB指令:循环左移字节24311.8 RLW指令:循环左移字24411.9 RLD指令:循环左移双字24611.10 RRB指令:循环右移字节24711.11 RRW指令:循环右移字24911.12 RLD指令:循环右移双字25011.13 SHRB指令:寄存器位移252第12章字符串指令12.1 SLEN指令:获取字符串长度25412.2 SCPY指令:将字符串1复制至字符串2 25512.3 SSCPY指令:从字符串复制子字符串25712.4 SCAT指令:字符串连接25812.5 SFND指令:在字符串1中查找字符串2 26012.6 CFND指令:在字符串中查找字符26112.7 LDS=指令:载入字符串等于26312.8 AS=指令:与运算字符串等于26412.9 OS=指令:或运算字符串等于26512.10 LDS指令:载入字符串不等于26612.11 AS指令:与运算字符串不等于26712.12 OS指令:或运算字符串不等于26812.13 ITS指令:整数转换至字符串26912.14 DTS指令:双整数转换至字符串27112.15 RTS指令:实数转换至字符串27212.16 STI指令:字符串转换至整数27412.17 STD指令:字符串转换至长整数27612.18 STR指令:字符串转换至实数278第13章表格指令13.1 FILL指令:内存填充28013.2 ATT指令:增加至表格28113.3 FND?TBL指令:表格查找28313.4 LIFO指令:后入先出28513.5 FIFO指令:先入先出286第14章定时器指令14.1 TON指令:接通延时定时器28814.2 TONR指令:掉电保护性接通延时定时器29014.3 TOF指令:断开延时定时器29114.4 BITIM指令:开始间隔时间29314.5 CITIM指令:计算间隔时间294插图第15章特殊指令15.1 网络读/网络写29615.2 发送/接收29915.3 脉冲输出30215.4 PID指令305。
英文助记符德文助记符程序元素分类说明---| |--- ---| |--- 位逻辑指令常开接点(地址)---|/|--- ---|/|--- 位逻辑指令常闭接点(地址)---( ) ---( ) 位逻辑指令输出线圈---(#)--- ---(#)--- 位逻辑指令中间输出==0 ---| |--- ==0 ---| |--- 状态位指令结果位等于“0”>0 ---| |--- >0 ---| |--- 状态位指令结果位大于“0”>=0 ---| |--- >=0 ---| |--- 状态位指令结果位大于等于“0”<=0 ---| |--- <=0 ---| |--- 状态位指令结果位小于等于“0”<0 ---| |--- <0 ---| |--- 状态位指令结果位小于“0”<>0 ---| |--- <>0 ---| |--- 状态位指令结果位不等于“0”ABS ABS 浮点算术运算指令浮点数绝对值运算ACOS ACOS 浮点算术运算指令浮点数反余弦运算ADD_DI ADD_DI 整数算术运算指令双整数加法ADD_I ADD_I 整数算术运算指令整数加法ADD_R ADD_R 浮点算术运算指令实数加法ASIN ASIN 浮点算术运算指令浮点数反正弦运算ATAN ATAN 浮点算术运算指令浮点数反正切运算BCD_DI BCD_DI 转换指令BCD 码转换为双整数BCD_I BCD_I 转换指令BCD 码转换为整数BR ---| |--- BIE ---| |--- 状态位指令异常位二进制结果----(CALL) ----(CALL) 程序控制指令从线圈调用FC/SFC(无参数)CALL_FB CALL_FB 程序控制指令从方块调用FBCALL_FC CALL_FC 程序控制指令从方块调用FCCALL_SFB CALL_SFB 程序控制指令从方块调用SFBCALL_SFC CALL_SFC 程序控制指令从方块调用SFC----(CD) ----(ZR) 计数器指令减计数器线圈CEIL CEIL 转换指令上取整CMP >=D CMP >=D 比较指令双整数比较(==,<>,>,<,>=,<=)CMP >=I CMP >=I 比较指令整数比较(==,<>,>,<,>=,<=)CMP >=R CMP >=R 比较指令实数比较(==,<>,>,<,>=,<=)COS COS 浮点算术运算指令浮点数余弦运算----(CU) ---( ZV ) 计数器指令加计数器线圈DI_BCD DI_BCD 转换指令双整数转换为BCD 码DI_R DI_R 转换指令双整数转换为浮点数DIV_DI DIV_DI 整数算术运算指令双整数除法所有梯形逻辑指令一览A-2英文助记符德文助记符程序元素分类说明DIV_I DIV_I 整数算术运算指令整数除法DIV_R DIV_R 浮点算术运算指令实数除法EXP EXP 浮点算术运算指令浮点数指数运算FLOOR FLOOR 转换指令下取整I_BCD I_BCD 转换指令整数转换为BCD 码I_DI I_DI 转换指令整数转换为双整数INV_I INV_I 转换指令整数的二进制反码INV_DI INV_DI 转换指令双整数的二进制反码---( JMP ) ---( JMP ) 跳转指令无条件跳转---( JMP ) ---( JMP ) 跳转指令条件跳转---( JMPN ) ---( JMPN ) 跳转指令若非则跳转LABEL LABEL 跳转指令标号LN LN 浮点算术运算指令浮点数自然对数运算---(MCR>) ---(MCR>) 程序控制指令主控继电器断开---(MCR<) ---(MCR<) 程序控制指令主控继电器接通---(MCRA) ---(MCRA) 程序控制指令主控继电器启动---(MCRD) ---(MCRD) 程序控制指令主控继电器停止MOD_DI MOD_DI 整数算术运算指令回送余数的双整数MOVE MOVE 赋值指令赋值MUL_DI MUL_DI 整数算术运算指令双整数乘法MUL_I MUL_I 整数算术运算指令整数乘法MUL_R MUL_R 浮点算术运算指令实数乘法---(N)--- ---(N)--- 位逻辑指令RLO 下降沿检测NEG NEG 位逻辑指令地址下降沿检测NEG_DI NEG_DI 转换指令双整数的二进制补码NEG_I NEG_I 转换指令整数的二进制补码NEG_R NEG_R 转换指令浮点数求反---|NOT|--- ---|NOT|--- 位逻辑指令信号流反向---(OPN) ---(OPN) 数据块调用指令打开数据块:DB 或DI OS ---| |--- OS ---| |--- 状态位指令存储溢出异常位OV ---| |--- OV ---| |--- 状态位指令溢出异常位---( P )--- ---( P )--- 位逻辑指令RLO 上升沿检测POS POS 位逻辑指令地址上升沿检测---( R ) ---( R ) 位逻辑指令线圈复位---( RET ) ---( RET ) 程序控制指令返回ROL_DW ROL_DW 移位和循环指令双字左循环ROL_DW ROL_DW 移位和循环指令双字右循环ROUND ROUND 转换指令舍入为双整数RS RS 位逻辑指令复位置位触发器---( S ) ---( S ) 位逻辑指令线圈置位---(SAVE) ---(SAVE) 位逻辑指令将RLO 存入BR 存储器---( SC ) ---( SZ ) 计数器指令设置计数器值S_CD Z_RUECK 计数器指令减计数器S_CU Z_VORW 计数器指令加计数器所有梯形逻辑指令一览A-3英文助记符德文助记符程序元素分类说明S_CUD ZAEHLER 计数器指令加-减计数器---( SD ) ---( SE ) 定时器指令接通延时定时器线圈---( SE ) ---( SV ) 定时器指令扩展脉冲定时器线圈---( SF ) ---( SA ) 定时器指令断开延时定时器线圈SHL_DW SHL_DW 移位和循环指令双字左移SHL_W SHL_W 移位和循环指令字左移SHR_DI SHR_DI 移位和循环指令双整数右移SHR_DW SHR_DW 移位和循环指令双字右移SHR_I SHR_I 移位和循环指令整数右移SHR_W SHR_W 移位和循环指令字右移SIN SIN 浮点算术运算指令浮点数正弦运算S_ODT S_EVERZ 定时器指令接通延时S5 定时器S_ODTS S_SEVERZ 定时器指令保持型接通延时S5 定时器S_OFFDT S_AVERZ 定时器指令断电延时S5 定时器---( SP ) ---( SI ) 定时器指令脉冲定时器线圈S_PEXT S_VIMP 定时器指令扩展脉冲S5 定时器S_PULSE S_IMPULS 定时器指令脉冲S5 定时器SQR SQR 浮点算术运算指令浮点数平方SQRT SQRT 浮点算术运算指令浮点数平方根SR SR 位逻辑指令置位复位触发器---( SS ) ---( SS ) 定时器指令保持型接通延时定时器线圈SUB_DI SUB_DI 整数算术运算指令双整数减法SUB_I SUB_I 整数算术运算指令整数减法SUB_R SUB_R 浮点算术运算指令实数减法TAN TAN 浮点算术运算指令浮点数正切运算TRUNC TRUNC 转换指令舍去小数取整为双整数UO ---| |--- UO ---| |--- 状态位指令无序异常位WAND_DW WAND_DW 字逻辑指令双字和双字相“与”WAND_W WAND_W 字逻辑指令字和字相“与”WOR_DW WOR_DW 字逻辑指令双字和双字相“或”WOR_W WOR_W 字逻辑指令字和字相“或”WXOR_DW WXOR_DW 字逻辑指令双字和双字相“异或”WXOR_W WXOR_W 字逻辑指令字和字相“异或”__。
西门子S7-200 PLC指令学习S7-200系列的基本逻辑指令与FX系列和CPM1A系列基本逻辑指令大体相似,编程和梯形图表达方式也相差不多,这里列表表示S7-200系列的基本逻辑指令(见表)。
表S7-200系列的基本逻辑指令S7-200系列PLC的比较指令在SIEMENS S7-200的编程软件STEP-7中,有专门的比较指令:IN1与IN2比较,比较的数据类型可以是B、I(W)、D、R,即字节、字整数、双字整数和实数;还可以有其他的比较式:>、<、≥、≤、<>等等。
当满足比较等式,则该触点闭合。
与LMODSOFT指令对照:在LMODSOFT中,没有直接的数的比较指令,但SUB指令可以通过其执行减法功能后的三个输出端的状态实现整数的比较功能。
若与LMODSOFT 中的SUB指令对应,则在STEP-7中应有三个比较指令:>、=、< 来分别对应SUB 指令的三个输出;若还要对应≥、≤、或<>,则根据SUB指令三个输出端的不同组合,均可找到对应的比较指令。
比如:①(30007)>(40030)②(30007)=(40030)③(30007)<(40030)①+②(30007)≥②+③(30007)≤(40030)①+③(30007)<>(40030)S7-200系列PLC的定时器指令类型、编号及分辨率TON——接通延时TONR——有记忆接通延时TOF——断开延时3种分辨率(时基):1ms、10ms、100ms——分别对应不同的定时器号定时器6个要素:指令格式(时基、编号等)预置值——PT使能——IN 复位——3种定时器不同当前值——Txxx 定时器状态(位)——可由触点显示定时值=时基×预置值PT。
由于定时器的计时间隔与程序的扫描周期并不同步,定时器可能在其时基(1ms、10ms、100ms)内任何时间启动,所以,未避免计时时间丢失,一般要求设置PT预置值必须大于最小需要的时间间隔。
表 S7-200系列的基本逻辑指令指令名称 指令符 功能操作数取 LD bit 读入逻辑行或电路块的第一个常开接点 Bit :I ,Q ,M ,SM ,T ,C ,V ,S取反 LDN bit 读入逻辑行或电路块的第一个常闭接点 和 A bit 串联一个常开接点 和非 AN bit 串联一个常闭接点 或 O bit 并联一个常开接点 或非ON bit并联一个常闭接点 电路块和 ALD 串联一个电路块 无电路块或 OLD 并联一个电路块 输出 = bit 输出逻辑行的运算结果 Bit :Q ,M ,SM ,T ,C ,V ,S 置位 S bit ,N 置继电器状态为接通 Bit :Q ,M ,SM ,V ,S 复位R bit ,N使继电器复位为断开表4-20 四则运算指令名称指令格式 (语句表)功能操作数寻址范围加法指令 +I IN1,OUT两个16位带符号整数相加,得到一个16位带符号整数。
执行结果:IN1+OUT=OUT (在LAD 和FBD 中为:IN1+IN2=OUT )IN1,IN2,OUT :VW ,IW ,QW ,MW ,SW ,SMW ,LW , T ,C ,AC ,*VD ,*AC ,*LDIN1和IN2还可以是AIW 和常数 +D IN1,IN2两个32位带符号整数相加,得到一个32位带符号整数。
执行结果:IN1+OUT=OUT (在LAD 和FBD 中为:IN1+IN2=OUT )IN1,IN2,OUT :VD ,ID ,QD ,MD ,SD ,SMD ,LD ,AC ,*VD ,*AC ,*LD IN1和IN2还可以是HC 和常数+R IN1,OUT两个32位实数相加,得到一个32位实数。
执行结果:IN1+OUT=OUT (在LAD 和FBD 中为:IN1+IN2=OUT )IN1,IN2,OUT :VD ,ID ,QD ,MD ,SD ,SMD ,LD ,AC ,*VD ,*AC ,*LD IN1和IN2还可以常数减法指令 -I IN1,OUT两个16位带符号整数相减,得到一个16位带符号整数。
PLC
PLC目前有5种标准的编程语言,它分为两大类编程语言:图形化编程语言和文本化编程语言。
图形化编程语言包括:梯形图(LD-LadderDiagram)、功能块图(FBD -Func ti onBlock Diagram)、顺序功能图(SFC -Sequential Function Chart)。
文本化编程语言包括:指令表(IL-Instruction List)和结构化文本(ST-Strutured Text)。
1. 西门子PLC指令表功能汇总
2. 接触器与继电器的区别
相同点:用触点来控制电路的通断。
区别:
(1)控制场合
接触器:用来控制大电流的电路。
⏹负载主电路;大容量控制电路;一般设灭弧装置
继电器:用于控制电路中。
(小电流控制)
⏹不能直接带负载;不设灭弧装置
(2)输入信号不同
继电器:对各种物理量作出反应;作为保护电器。
接触器:在一定的电压信号下动作
(3)功能不同
接触器:大电流的开关电器。
继电器:用于反映控制信号;进行信号的传递;转换;放大;控制触点数量较多。
西门子PLC基本指令表及各指令解释最受欢迎的工控微信平台:技术分享、学习交流、工控视频西门子PLC基本指令表如下图所示名称助记符目标元件说明取指令LD I、Q、M、SM、T、C、V、S、L常开接点逻辑运算起始取反指令LDN I、Q、M、SM、T、C、V、S、L常闭接点逻辑运算起始线圈驱动指令 = Q、M、SM、T、C、V、S、L 驱动线圈的输出与指令 A I、Q、M、SM、T、C、V、S、L单个常开接点的串联与非指令AN I、Q、M、SM、T、C、V、S、L单个常闭接点的串联或指令O I、Q、M、SM、T、C、V、S、L单个常开接点的并联或非指令ON I、Q、M、SM、T、C、V、S、L单个常闭接点的并联置位指令S I、Q、M、SM、T、C、V、S、L使动作保持复位指令R I、Q、M、SM、T、C、V、S、L使保持复位正跳变ED I、Q、M、SM、T、C、V、S、L 输入信号上升沿产生脉冲输出负跳变EU I、Q、M、SM、T、C、V、S、L 输入信号下降沿产生脉冲输出空操作指令NOP 无使步序作空操作一、标准触点LD、A、O、LDN、AN、ONLD,取指令。
表示一个与输入母线相连的常开接点指令,即常开接点逻辑运算起始。
LDN,取反指令。
表示一个与输入母线相连的常闭接点指令,即常闭接点逻辑运算起始。
A,与指令。
用于单个常开接点的串联。
AN,与非指令。
用于单个常闭接点的串联。
O,或指令。
用于单个常开接点的并联。
ON,或非指令。
用于单个常闭接点的并联。
二、正、负跳变ED、EUED,在检测到一个正跳变(从OFF到ON)之后,让能流接通一个扫描周期。
EU,在检测到一个负跳变(从ON到OFF)之后,让能流接通一个扫描周期。
三、输出==,在执行输出指令时,映像寄存器中的指定参数位被接通。
四、置位与复位指令S、RS,执行置位(置1)指令时,从bit或OUT指定的地址参数开始的N个点都被置位。
R,执行复位(置0)指令时,从bit或OUT指定的地址参数开始的N个点都被复位。
1 位逻辑指令1、1 -||- 常开接点(地址)1、2 -|/|- 常闭接点(地址)1、3 XOR 位异或1、4 -|NOT|- 信号流反向1、5 -( ) 输出线圈1、6 -(#)- 中间输出1、7 -(R) 线圈复位1、8 -(S) 线圈置位1、9 RS 复位置位触发器1、10 RS 置位复位触发器1、11 -(N)- RLO下降沿检测1、12 -(P)- PLO上升沿检测1、13 -(SAVE) 将RLO存入BR存储器1、14 MEG 地址下降沿检测1、15 POS 地址上升沿检测2 比较指令2、1 CMP?I 整数比较2、2 CMP?D 双整数比较2、3 CMP?R 实数比较3 转换指令3、1 BCD_IBCD码转换为整数3、2 I_BCD 整数转换为BCD码3、3 I_DINT 整数转换为双整数3、4 BCD_DIBCD码转换为双整数3、5 DI_BCD 双整数转换为BCD码3、6 DI_REAL 双整数转换为浮点数3、7 INV_I 整数得二进制反码3、8 INV_DI 双整数得二进制反码3、9 NEG_I 整数得二进制补码3、10 NEG_DI 双整数得二进制补码3、11 NEG_R 浮点数求反3、12 ROUND 舍入为双整数3、13 TRUNC 舍去小数取整为双整数3、14 CEIL 上取整3、15 FLOOR 下取整4 计数器指令4、1 S_CUD 加减计数4、2 S_CU 加计数器4、3 S_CD 减计数器4、4 -(SC) 计数器置初值4、5 -(CU) 加计数器线圈4、6 -(CD) 减计数器线圈5 数据块指令5、1 -(OPN) 打开数据块:DB或DI6 逻辑控制指令6、1 -(JMP) 无条件跳转6、2 -(JMP) 条件跳转6、3 -(JMPN) 若非则跳转6、4 LABEL 标号7 整数算术运算指令7、1 ADD_I 整数加法7、2 SUB_I 整数减法7、3 MUL_I 整数乘法7、4 DIV_I 整数除法7、5 ADD_DI 双整数加法7、6 SUB_DI 双整数减法7、7 MUL_DI 双整数乘法7、8 DIV_DI 双整数除法7、9 MOD_DI 回送余数得双整数8 浮点算术运算指令8、1 基础指令8、1、1 ADD_R 实数加法8、1、2 SUB_R 实数减法8、1、3 MUL_R 实数乘法8、1、4 DIV_R 实数除法8、1、5 ABS 浮点数绝对值运算8、2 扩展指令8、2、1 SQR 浮点数平方8、2、2 SQRT 浮点数平方根8、2、3 EXP 浮点数指数运算8、2、4 LN 浮点数自然对数运算8、2、5 SIN 浮点数正弦运算8、4、6 COS 浮点数余弦运算8、2、7 TAN 浮点数正切运算8、2、8 ASIN 浮点数反正弦运算8、2、9 ACOS 浮点数反余弦运算8、2、10ATAN 浮点数反正切运算9 赋值指令9、1 MOVE 赋值10 程序控制指令10、1 -(Call) 从线圈调用FC/SFC(无参数) 10、2 CALL_FB 从方块调用FB10、3 CALL_FC 从方块调用FC10、4 CALL_SFB 从方块调用SFB10、5 CALL_SFC 从方块调用SFC10、7 -(MCR>) 主控继电器断开10、8 -(MCRA) 主控继电器启动10、9 -(MCRD) 主控继电器停止10、10 -(RET) 返回11 移位与循环指令11、1 移位指令11、1、1 SHR_I 整数右移11、1、2 SHR_DI 双整数右移11、1、3 SHL_W 字左移11、1、4 SHR_W 字右移11、1、5 SHL_DW 双字左移11、1、6 SHR_DW 双字右移11、2 循环指令11、2、1 ROL_DW 双字左循环11、2、2 ROR_DW 双字右循环12 状态位指令12、1 OV -||- 溢出异常位12、2 OS -||- 存储溢出异常位12、3 UO -||- 无序异常位12、4 BR -||- 异常位二进制结果12、5 ==0-||- 结果位等于"0"12、6 <>0-||- 结果位不等于"0"12、7 >0-||- 结果位大于"0"12、8 <0-||- 结果位小于"0"12、9 >=0-||- 结果位大于等于"0"12、10 <=0-||- 结果位小于等于"0"13 定时器指令13、1 S_PULSE 脉冲S5定时器13、2 S_PEXT 扩展脉冲S5定时器13、3 S_ODT 接通延时S5定时器13、4 S_ODTS 保持型接通延时S5定时器13、5 S_OFFDT 断电延时S5定时器13、6 -(SP) 脉冲定时器线圈13、7 -(SE) 扩展脉冲定时器线圈13、8 -(SD) 接通延时定时器线圈13、9 -(SS) 保持型接通延时定时器线圈13、10 -(SF) 断开延时定时器线圈14 字逻辑指令14、1 WAND_W 字与字相"与"14、2 WOR_W 字与字相"或"14、3 WAND_DW 双字与双字相"与"14、4 WOR_DW 双字与双字相"或"14、5 WXOR_W 字与字相"异或"14、6 WXOR_DW 双字与双字相"异或。
S7-200指令表指令名称梯形图语句表触点指令常开触点LD A O 位地址常闭触点LDN AN ON位地址常开立即触点LDI AI OI 位地址常闭立即触点LDNI ANI ONI位地址取反触点NOT正转换触点P EU负转换触点N ED线圈指令输出指令-()=位地址置位指令-( S )S 位地址、个数复位指令-( R )R 位地址、个数立即输出指令-( I )=I 位地址立即置位指令-(SI )SI 位地址、个数立即复位指令-(RI )RI 位地址、个数时间指令接通延时定时器TON TON T××PT(预设值)有记忆接通延时定时器TONR TONR T××PT 断开延时定时器TOF TOF T××PT 触发时间间隔指令BGN__ITIME BITIM OUT计算时间间隔指令CAL__ITIME CITIM IN OUT计数器指令增计数器CTU CTU C××PV(预设值)减计数器CTD CTD C××PV增减计数器CTUD CTUD C××PV普通传送指令字节传送指令MOV__B MOVB IN,OUT 字传送指令MOV__W MOVW IN,OUT 双字传送指令MOV__DW MOVD IN,OUT 实数传送指令MOV__R MOVR IN,OUT字节指令字节立即读指令MOV__BIR BIR IN ,OUT 字节立即写指令MOV__BIW BIW IN ,OUT块传送指令字节块传送指令BLKMOV__B BMB IN,OUT,N(数目)字块传送指令BLKMOV__W BMW IN,OUT,N(数目) 双字块传送指令BLKMOV__D BMD IN,OUT,N(数目)交换指令字节交换指令SWAP S字节比较指令字节等于比较指令==B LDB=IN1,IN2 AB=IN1,IN2 OB=IN1,IN2 字节不等于指令<>B LDB<>IN1,IN2 AB<>IN1,IN2 OB<>IN1,IN2 字节大于等于指令>=B LDB>=IN1,IN2 AB>=IN1,IN2 OB>=IN1,IN2 字节小于等于指令<=B LDB<=IN1,IN2 AB<=IN1,IN2 OB<=IN1,IN2 字节大于指令>B LDB>IN1,IN2 AB>IN1,IN2 OB>IN1,IN2 字节小于指令整数比较整数等于比较指令==I LDW=IN1,IN2 AW=IN1,IN2 OW=IN1,IN2 整数不等于指令<>I LDW<>IN1,IN2 AW<>IN1,IN2 OW<>IN1,IN2。
1 位逻辑指令
1.1 -||- 常开接点(地址)
1.2 -|/|- 常闭接点(地址)
1.3 XOR 位异或
1.4 -|NOT|- 信号流反向
1.5 -( ) 输出线圈
1.6 -(#)- 中间输出
1.7 -(R) 线圈复位
1.8 -(S) 线圈置位
1.9 RS 复位置位触发器
1.10 RS 置位复位触发器
1.11 -(N)- RLO下降沿检测
1.12 -(P)- PLO上升沿检测
1.13 -(SAVE) 将RLO存入BR存储器1.14 MEG 地址下降沿检测
1.15 POS 地址上升沿检测
2 比较指令
2.1 CMP?I 整数比较
2.2 CMP?D 双整数比较
2.3 CMP?R 实数比较
3 转换指令
3.1 BCD_IBCD码转换为整数
3.2 I_BCD 整数转换为BCD码
3.3 I_DINT 整数转换为双整数
3.4 BCD_DIBCD码转换为双整数
3.5 DI_BCD 双整数转换为BCD码3.6 DI_REAL 双整数转换为浮点数3.7 INV_I 整数的二进制反码
3.8 INV_DI 双整数的二进制反码3.9 NEG_I 整数的二进制补码
3.10 NEG_DI 双整数的二进制补码3.11 NEG_R 浮点数求反
3.12 ROUND 舍入为双整数
3.13 TRUNC 舍去小数取整为双整数3.14 CEIL 上取整
3.15 FLOOR 下取整
4 计数器指令
4.1 S_CUD 加减计数
4.2 S_CU 加计数器
4.3 S_CD 减计数器
4.4 -(SC) 计数器置初值
4.5 -(CU) 加计数器线圈
4.6 -(CD) 减计数器线圈
5 数据块指令
5.1 -(OPN) 打开数据块:DB或DI
6 逻辑控制指令
6.1 -(JMP) 无条件跳转
6.2 -(JMP) 条件跳转
6.3 -(JMPN) 若非则跳转
6.4 LABEL 标号
7 整数算术运算指令
7.1 ADD_I 整数加法
7.2 SUB_I 整数减法
7.3 MUL_I 整数乘法
7.4 DIV_I 整数除法
7.5 ADD_DI 双整数加法
7.6 SUB_DI 双整数减法
7.7 MUL_DI 双整数乘法
7.8 DIV_DI 双整数除法
7.9 MOD_DI 回送余数的双整数
8 浮点算术运算指令
8.1 基础指令
8.1.1 ADD_R 实数加法
8.1.2 SUB_R 实数减法
8.1.3 MUL_R 实数乘法
8.1.4 DIV_R 实数除法
8.1.5 ABS 浮点数绝对值运算
8.2 扩展指令
8.2.1 SQR 浮点数平方
8.2.2 SQRT 浮点数平方根
8.2.3 EXP 浮点数指数运算
8.2.4 LN 浮点数自然对数运算
8.2.5 SIN 浮点数正弦运算
8.4.6 COS 浮点数余弦运算
8.2.7 TAN 浮点数正切运算
8.2.8 ASIN 浮点数反正弦运算
8.2.9 ACOS 浮点数反余弦运算
8.2.10ATAN 浮点数反正切运算
9 赋值指令
9.1 MOVE 赋值
10 程序控制指令
10.1 -(Call) 从线圈调用FC/SFC(无参数) 10.2 CALL_FB 从方块调用FB
10.3 CALL_FC 从方块调用FC
10.4 CALL_SFB 从方块调用SFB
10.5 CALL_SFC 从方块调用SFC
10.6 -(MCR<) 主控继电器接通
10.7 -(MCR>) 主控继电器断开
10.8 -(MCRA) 主控继电器启动
10.9 -(MCRD) 主控继电器停止
10.10 -(RET) 返回
11 移位和循环指令
11.1 移位指令
11.1.1 SHR_I 整数右移
11.1.2 SHR_DI 双整数右移
11.1.3 SHL_W 字左移
11.1.4 SHR_W 字右移
11.1.5 SHL_DW 双字左移
11.1.6 SHR_DW 双字右移
11.2 循环指令
11.2.1 ROL_DW 双字左循环
11.2.2 ROR_DW 双字右循环
12 状态位指令
12.1 OV -||- 溢出异常位
12.2 OS -||- 存储溢出异常位
12.3 UO -||- 无序异常位
12.4 BR -||- 异常位二进制结果
12.5 ==0-||- 结果位等于"0"
12.6 <>0-||- 结果位不等于"0"
12.7 >0-||- 结果位大于"0"
12.8 <0-||- 结果位小于"0"
12.9 >=0-||- 结果位大于等于"0"
12.10 <=0-||- 结果位小于等于"0"
13 定时器指令
13.1 S_PULSE 脉冲S5定时器
13.2 S_PEXT 扩展脉冲S5定时器
13.3 S_ODT 接通延时S5定时器
13.4 S_ODTS 保持型接通延时S5定时器13.5 S_OFFDT 断电延时S5定时器
13.6 -(SP) 脉冲定时器线圈
13.7 -(SE) 扩展脉冲定时器线圈
13.8 -(SD) 接通延时定时器线圈
13.9 -(SS) 保持型接通延时定时器线圈
13.10 -(SF) 断开延时定时器线圈
14 字逻辑指令
14.1 WAND_W 字和字相"与"
14.2 WOR_W 字和字相"或"
14.3 WAND_DW 双字和双字相"与"
14.4 WOR_DW 双字和双字相"或"
14.5 WXOR_W 字和字相"异或"
14.6 WXOR_DW 双字和双字相"异或。