西门子常用指令

合集下载

西门子指令一览表

西门子指令一览表

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,STL语句指令大全

西门子PLC,STL语句指令大全

西门子PLC,STL语句指令大全指令(英文全称意思 ) :指令含义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、CTUD ( Count Up/ Count Down ) :增减计数器26、ADD ( add 加 ) : 加注意//ADD_I (_ I 表示整数)ADD_DI( DI表示双字节整数)ADD-R (R 表示实数)它们都是加运算只是数的大小不同。

西门子S7—基本指令

西门子S7—基本指令
含有直接位地址的指令又称位操作指令,指令的输入端 都必须使用LD和LDN这两条指令。
③ =(Out):表示线圈驱动指令。用于将逻辑运算的结 果驱动一个指定的线圈。也叫输出指令。将运算结果输出到 指定的继电器,是驱动线圈的输出指令。
2)指令使用说明
① LD、LDN用于与左母线相连的触点,在分支电路 块的开始处也要使用,与后面的OLD、ALD指令配合 完成块电路的编程。
NOT取反指令,指将它左边电路的逻辑运 算结果取反,运算结果若为1则变为0,为0则 变为1,该指令没有操作数。
LAD
NOT
STL NOT NOP N
功能 取反
空操作指令
表5.2 取反和空操作指令格式及功能表
图5-12 取反指令和空操作指令应用程序
3、END、MEND、 STOP指令
1)指令定义: END:条件结束指令 MEND:无条件结束指令 STOP:停止指令
ALD指令无操作数。
2)指令使用说明
①两个或两个以上触电触点并联的电路称为并联电路块, 分支电路与前面电路串联连接时,使用ALD指令。分支的起 始点用LD、LDN指令,并联电路块结束后,使用ALD指令 与前面电路串联。
②当有多个并联电路块从左到右按顺序串联连接时,可以 连续使用ALD指令,串联的电路块数量没有限制。
TOF(Off Delay Timer)断电延时定时器:断电 后单一时间间隔的定时。
定时器指令格式
LAD
STL
T ON
功能、注释 通电延时型
T ONR
有记忆通电延时型
T OF
断电延时型
表5.3 定时器指令格式及功能表
编程T0-T255,PT最大输入32767,必须是整数。
工 作方式 TONR

西门子指令

西门子指令

第1章位逻辑指令1.1 LD指令:载入常开触点1.2 A指令:串联常开触点1.3 O指令:并联常开触点1.4 LDN指令:载入常闭触点1.5 AN指令:串联常闭触点1.6 ON指令:并联常闭触点1.7 LDI指令:立即载入常开触点1.8 AI指令:串联立即常开触点1.9 OI指令:并联立即常开触点1.10 LDNI指令:载入立即常闭触点1.11 ANI指令:串联立即常闭触点1.12 ONI指令:并联立即常闭触点1.13 NOT指令:改变使能位输入状态1.14 EU指令:上升边缘检测1.15 ED指令:下降边缘检测1.16 ALD指令:触点块串联1.17 OLD指令:触点块并联1.18 LPS、LRD、LPP指令:逻辑堆栈操作1.19 =指令:线圈输出1.20 =指令:立即线圈输出1.21 S指令:线圈置位1.22 SI指令:线圈立即置位1.23 R指令:线圈复位1.24 RI指令:线圈立即复位1.25 NOP指令:空操作1.26 X指令:异或操作第2章比较指令2.1 LDB=指令:载入字节等于2.2 AB=指令:与运算字节等于2.3 OB=指令:或运算字节等于2.4 LDB指令:载入字节不等于2.5 AB指令:与运算字节不等于2.6 OB指令:或运算字节不等于2.7 LDB=指令:载入字节大于或等于2.8 AB=指令:与运算字节大于或等于2.10 LDB=指令:载入字节小于或等于2.11 AB=指令:与运算字节小于或等于2.12 OOB=指令:或运算字节小于或等于2.13 LDB指令:载入字节大于2.14 AB指令:与运算字节大于2.15 OB指令:或运算字节大于2.16 LDB指令:载入字节小于2.17 AB指令:与运算字节小于2.18 OB指令:或运算字节小于2.19 LDW=指令:载入字等于2.20 AW=指令:与运算字等于2.21 OW=指令:或运算字等于2.22 LDW指令:载入字不等于2.23 AW指令:与运算字不等于2.24 OW指令:或运算字不等于2.25 LDW=指令:载入字大于或等于2.26 AW=指令:与运算字大于或等于2.27 OW=指令:或运算字大于或等于2.28 LDW=指令:载入字小于或等于2.29 AW=指令:与运算字小于或等于2.30 OW=指令:或运算字小于或等于2.31 LDW指令:载入字大于2.32 AW指令:与运算字大于2.33 OW指令:或运算字大于2.34 LDW指令:载入字小于2.35 AW指令:与运算字小于2.36 OW指令:或运算字小于2.37 LDD=指令:载入双字等于2.38 AD=指令:与运算双字等于2.39 OD=指令:或运算双字等于2.40 LDD指令:载入双字不等于2.41 AD指令:与运算双字不等于2.42 OD指令:或运算双字不等于2.43 LDD=指令:载入双字大于或等于2.44 AD=指令:与运算双字大于或等于2.46 LDD=指令:载入双字小于或等于2.47 AD=指令:与运算双字小于或等于2.48 OD=指令:或运算双字小于或等于2.49 LDD指令:载入双字大于2.50 AD指令:与运算双字大于2.51 OD指令:或运算双字大于2.52 LDD指令:载入双字小于2.53 AD指令:与运算双字小于2.54 OD指令:或运算双字小于2.55 LDR=指令:载入实数等于2.56 AR=指令:与运算实数等于2.57 OR=指令:或运算实数等于2.58 LDR指令:载入实数不等于2.59 AR指令:与运算实数不等于2.60 OR指令:或运算实数不等于2.61 LDR=指令:载入实数大于或等于2.62 AR=指令:与运算实数大于或等于2.63 OR=指令:或运算实数大于或等于2.64 LDR=指令:载入实数小于或等于2.65 AR=指令:与运算实数小于或等于2.66 OR=指令:或运算实数小于或等于2.67 LDR指令:载入实数大于2.68 AR指令:与运算实数大于2.69 OR指令:或运算实数大于2.70 LDR指令:载入实数小于2.71 AR指令:与运算实数小于2.72 OR指令:或运算实数小于第3章转换指令3.1 BTI指令:字节转换至整数3.2 ITB指令:整数转换至字节3.3 ITD指令:整数转换至长整数3.4 ITS指令:整数转换至字符串3.5 DTI指令:长整数转换至整数3.6 DTR指令:长整数转换至实数3.7 DTS指令:长整数转换至字符串3.8 ROUND指令:取整为长整数3.9 TRUNC指令:截断为长整数3.10 RTS指令:实数转换至字符串3.11 BCDI指令:BCD码转换为整数3.12 IBCD指令:整数转换为BCD码3.13 ITA指令:整数转换至ASCII码3.14 DTA指令:长整数转换至ASCII码3.15 RTA指令:实数转换至ASCII码3.16 ATH指令:ASCII码转换至十六进制数字3.17 HTA指令:十六进制数字转换至ASCII码3.18 STI指令:字符串转换至整数3.19 STD指令:字符串转换至长整数3.20 STR指令:字符串转换至实数3.21 DECO指令:解码3.22 ENCO指令:编码3.23 SEG指令:七段显示转换第4章计数器指令4.1 CTU指令:向上计数4.2 CTD指令:向下计数4.3 CTUD指令:双向计数4.4 HDEF指令:定义高速计数器4.5 HSC指令:高速计数器第5章浮点型数学运算指令5.1 +R指令:实数加5.2 -R指令:实数减5.3 *R指令:实数乘5.4 /R指令:实数除5.5 SQRT指令:求平方根5.6 SIN指令:求正弦值5.7 COS指令:求余弦值5.8 TAN指令:求正切值5.9 LN指令:求自然对数5.10 EXP指令:求指数值第6章整型数学运算指令6.1 +I指令:整数加6.2 +D指令:长整数加6.3 ?I指令:整数减6.4 ?D指令:长整数减6.5 MUL指令:整数与长整数相乘6.6 *I指令:整数乘6.7 *D指令:长整数乘6.8 DIV指令:整数与长整数相除6.9 /I指令:除以整数6.10 /D指令:除以长整数6.11 INCB指令:递增字节6.12 INCW指令:递增字6.13 INCD指令:递增双字6.14 DECB指令:递减字节6.15 DECW指令:递减字6.16 DECD指令:递减双字第7章中断指令7.1 CRETI指令:从中断(INT)有条件返回7.2 ENI指令:启用中断7.3 DISI指令:禁止中断7.4 ATCH指令:中断连接7.5 DTCH指令:中断分离7.6 CEVNT指令:清除中断事件第8章字逻辑指令8.1 INVB指令:取反字节8.2 INVW指令:取反字8.3 INVD指令:取反双字8.4 ANDB指令:与运算字节8.5 ANDW指令:与运算字8.6 ANDD指令:与运算双字8.7 ORB指令:或运算字节8.8 ORW指令:或运算字8.9 ORD指令:或运算双字8.10 XORB指令:异或运算字节8.11 XORW指令:异或运算字8.12 XORD指令:异或运算双字第9章移动指令9.1 MOVB指令:移动字节9.2 MOVW指令:移动字9.3 MOVD指令:移动双字9.4 MOVR指令:移动实数9.5 BMB指令:成块移动字节9.6 BMW指令:成块移动字9.7 BMD指令:成块移动双字9.8 SWAP指令:交换字节9.9 BIR指令:移动字节立即读取9.10 BIW指令:移动字节立即写入第10章程序控制指令10.1 FOR指令:循环开始10.2 NEXT指令:循环结束10.3 JMP指令:跳接至标签10.4 LBL指令:语句标签10.5 LSCR指令:载入顺序控制继电器10.6 SCRT指令:顺序控制继电器转换10.7 SCRE指令:顺序控制继电器结束10.8 CRET指令:从子程序(SBR)有条件返回10.9 END指令:主程序(OB1)有条件结束10.10 STOP指令:转换至停止模式10.11 WDR指令:监视程序复原10.12 DLED指令:诊断LED第11章移位和循环移位指令11.1 SLB指令:向左移位字节11.2 SLW指令:向左移位字11.3 SLD指令:向左移位双字11.4 SRB指令:向右移位字节11.5 SRW指令:向右移位字11.6 SRD指令:向右移位双字11.7 RLB指令:循环左移字节11.8 RLW指令:循环左移字11.9 RLD指令:循环左移双字11.10 RRB指令:循环右移字节11.11 RRW指令:循环右移字11.12 RLD指令:循环右移双字11.13 SHRB指令:寄存器位移第12章字符串指令12.1 SLEN指令:获取字符串长度12.2 SCPY指令:将字符串1复制至字符串2 12.3 SSCPY指令:从字符串复制子字符串12.4 SCAT指令:字符串连接12.5 SFND指令:在字符串1中查找字符串2 12.6 CFND指令:在字符串中查找字符12.7 LDS=指令:载入字符串等于12.8 AS=指令:与运算字符串等于12.9 OS=指令:或运算字符串等于12.10 LDS指令:载入字符串不等于12.11 AS指令:与运算字符串不等于12.12 OS指令:或运算字符串不等于12.13 ITS指令:整数转换至字符串12.14 DTS指令:双整数转换至字符串12.15 RTS指令:实数转换至字符串12.16 STI指令:字符串转换至整数12.17 STD指令:字符串转换至长整数12.18 STR指令:字符串转换至实数第13章表格指令13.1 FILL指令:内存填充13.2 ATT指令:增加至表格13.3 FND?TBL指令:表格查找13.4 LIFO指令:后入先出13.5 FIFO指令:先入先出第14章定时器指令14.1 TON指令:接通延时定时器14.2 TONR指令:掉电保护性接通延时定时器14.3 TOF指令:断开延时定时器14.4 BITIM指令:开始间隔时间14.5 CITIM指令:计算间隔时间第15章特殊指令15.1 网络读/网络写15.2 发送/接收15.3 脉冲输出15.4 PID指令(读取数据指令第2章第3章当I0.0接通时,QB0=0=2#00000000,则Q0.0-Q0.7全部断开;第4章当I0.1接通时,QB0=1=2#00000001,则Q0.0接通,Q0.1-Q0.7断开;第5章当I0.2接通时,QB0=3=2#00000011,则Q0.0-Q0.1接通,Q0.2-Q0.7断开;第6章当I0.3接通时,QB0=5=2#00000101,则Q0.0、Q0.2接通,Q0.1、Q0.3-Q0.7断开;第7章。

SIEMENS 西门子 相关指令Word 文档

SIEMENS 西门子 相关指令Word 文档

备注:刀补=(刀具半径+圆角半径)*sin(角度)—圆角半径Z=(刀具半径+圆角半径)*cos(角度)—圆角半径—刀具半径$TC_DP6[GETT(“MILLX” ,1(DP值)),1(刀沿值)]=_备注:此椭圆原点在坐标系原点如果不在坐标系原点只要将偏离坐标原点的值加在公式后面如G1X=20*COS(R1)+X1、铣矩形槽、POCKET1POCKET1(RTP,RFP,SDIS,DP,DPR,LENG,WID,CRAD,CPA,CPO,STA1,FFD,FFP1,MID,CDIR,FAL,VARI,MIDF,FFP2,SSF)时序用这个循环,能够加工加工平面上任何位置上的矩形槽。

此循环是粗加工/最终加工的组合。

2、圆周上的槽、SLOT1写法SLOT1(RTP,RFP,SDIS,DP,DPR,NUM,LENG,WID,CPA,CPO,RAD,STA1,INDA,FFD,FFP1MID,CDIR,FAL,VARI,MIDF,FFP2,SSF)时序用这个循环,能够加工排列在圆周上的槽,与长孔相比,槽宽大小要说明。

SOLT1循环是粗加工/最终加工的组合。

参数说明写法:SLOT2(RTP,RFP,SDIS,DP,DPR,NUM,AFSL,WID,CPA,CPO,RAD,STA1,INDA,FFD,FFP1,MID,CDIR,FAL,VARI,MIDF,FFP2,SSF) 时序用这个循环,能够加工排列在圆周上的弧形孔腔。

1、钻削,顺时针镗孔:CYCLE82这个循环加工一个简单的孔,当达到最后的钻深时,会暂停进刀,旋转一段时间。

2、深孔钻削:CYCLE83CYCLE83(RTP,RFP,SDIS,DP,DPR ,FDEP,FDPR,DAM,DTB,DTS,FRF,VARI)提出钻头到其参考平面,达到排屑目的,每次可以上提1mm以使断屑。

3、攻螺纹、CYCLE84(刚性攻丝循环)写法CYCLE84(RTP,RFP,SDIS,DP,DPR,DTB,SDAC,MPIT,PIT,POSS,SST,SST1)4、不带起锥器攻螺纹写法:CYCLE840(RTP,RFP,SDIS,DP,DPR,SDR,SDAC,ENC,MPIT,PIT)时序用本循环,可以用起锥器加工螺纹孔。

西门子常用指令

西门子常用指令
IN还可以是HC,常数,&VB,&IB,&QB,&MB,&T,&C
MOVR IN,OUT
IN,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD
IN还可以是常数
BIR IN,OUT
立即读取输入IN的值,将结果输出到OUT
IN:IB
OUT:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD
DATA,S_BIT:I,Q,M,SM,T,C,V,S,L
N:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD,常数
S7-200PLC交换和填充指令
交换和填充指令如表4-24所示。
表4-24交换和填充指令
名称
指令格式
(语句表)
功能
操作数
换字节指令
SWAP IN
将输入字IN的高位字节与低位字节的内容交换,结果放回IN中
IN:VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LD
填充指令
FILL IN,OUT,N
用输入字IN填充从OUT开始的N个字存储单元
N的范围为1~255
IN,OUT:VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LD
IN还可以是AIW和常数
FND<> TBL,PTN,INDEX
FND< TBL,PTN,INDEX
FND> TBL,PTN,INDEX
搜索表TBL,从INDEX指定的数据项开始,用给定值PTN检索出符合条件(=,<>,<,>)的数据项
如果找到一个符合条件的数据项,则INDEX指明该数据项在表中的位置。如果一个也找不到,则INDEX的值等于数据表的长度。为了搜索下一个符合的值,在再次使用该指令之前,必须先将INDEX加1

西门子应用指令

西门子应用指令

(1)数量及编号
高速计数器在程序中使用时得地址编号用HCn来表示(在非程序中 有时用HSCn),HC表编程元件名称为高速计数器,n为编号。
HCn除了表示高速计数器得编号之外,还代表两方面得含义:高速计 数器位和高速计数器当前值。编程时,从所用得指令可以看出就是 位还就是当前值。
不同型号得PLC主机,高速计数器得数量对应如表5、7所示。
大家有疑问的,可以询问和交
10
5、1、5 子程序指令
1. 建立子程序 2. 2、 子程序调用 3、 带参数得子程序调用
1、 建立子程序
可用编程软件Edit菜单中得Insert选项,选择 Subroutine,以建立或插入一个新得子程序,同 时在指令树窗口可以看到新建得子程序图标,默 认得程序名就是SBR_n,编号n从0开始按递增 顺序生成,可以在图标上直接更改子程序得程序 名。在指令树窗口双击子程序得图标就可对她 进行编辑。
返回本节
5、2、3 通信
通信指令包括: XMT,自由口发送指令 RCV,自由口接收指令 NETR,网络读指令 NETW,网络写指令 GPA,获取口地址指令
5、2、4 高速计数
1、 高速计数器介绍 2、 高速计数指令 3、 高速计数器得使用方法 4、 应用实例
1、 高速计数器介绍
(1)数量及编号 (2)中断事件类型 (3)工作模式及输入点
2、 写实时时钟
TODW,写实时时钟指令。用来设定实时时钟。 当使能输入有效时,系统将包含当前时间和日期, 一个8字节得缓冲区将装入时钟。
时钟缓冲区得格式如表5、2所示。
•表5、2 时钟缓冲区
程序实例
控制要求:
编写一段程序,可实现读、写实时时钟,并以BCD码显示分钟。时钟 缓冲区从VB100开始。

「干货分享」西门子S7-200SMARTPLC常用编程指令汇总

「干货分享」西门子S7-200SMARTPLC常用编程指令汇总

「干货分享」西门子S7-200SMARTPLC常用编程指令汇总
01一、定时器
1、S7-200 SMART CPU提供了接通延时定时器、(TON)、保持型接通延时定时器(TONR)、断开延时定时器(TOF)三种定时器。

2、定时器编号与分辨率
3、定时器实例分析
(1)接通延时定时器TON
(2)保持型接通延时定时器TONR
(3)断开延时定时器TOF
02二、计数器
1、S7-200 SMART CPU提供了加计数器(CTU)、减计数器(CTD)、加减计数器(CTUD)三种计数器。

2、计数器实例分析
(1)加计数器CTU
(2)减技数CTD
(3)加减计数器CTUD
03三、循环指令
1、S7-200 SMART CPU提供了FOR-NEXT循环指令用于重复执行程序段。

每条FOR指令需要使用一条NEXT指令,FOR指令表示循环体的开始,NEXT指令表示循环体的结束。

FOR- NEXT循环指令循环嵌套深度可达8层。

2、循环指令示例分析
通过调用FOR - NEXT 指令对VW100、VW102、......、VW108 5个INT变量进行求和,求和的结果存放到VW200中。

04四、移位和循环指令
1、指令概览
2、示例分析
(1)移位指令和循环移位指令的示例分析
(2)移位寄存器位指令
综上所述,每当M0.0有一个上升沿到来时,从V200.4开始向高地址方向数的9个位会朝高地址方向移位,I0.0的状态会被送到V200.4中。

西门子plc指令表

西门子plc指令表

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.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.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 双字和双字相"异或。

西门子PLC基本指令表及各指令解释

西门子PLC基本指令表及各指令解释

西门⼦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 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。

西门子PLC编程指令集大全,看完必有收获!

西门子PLC编程指令集大全,看完必有收获!

西门子PLC编程指令集大全,看完必有收获!西门子PLC编程指令包括:位逻辑指令,比较指令,转换指令等14个,相信很多初学的朋友们对这些指令了解的不是很全面,有些指令符号并不理解是什么意思。

那么小编为了大家更好的学习,整理出西门子PLC指令大全,希望对大家有帮助!一、位逻辑指令1. -||- 常开接点(地址)2. -|/|- 常闭接点(地址)3. XOR 位异或4.-|NOT|- 信号流反向5. -( ) 输出线圈6. -(#)- 中间输出7. -(R) 线圈复位8. -(S) 线圈置位9. RS 复位置位触发器10. RS 置位复位触发器11. -(N)- RLO下降沿检测12. -(P)- PLO上升沿检测13. -(SAVE) 将RLO存入BR存储器14. MEG 地址下降沿检测15. POS 地址上升沿检测二、转换指令1. BCD_IBCD码转换为整数2. I_BCD 整数转换为BCD码3. I_DINT 整数转换为双整数4. BCD_DIBCD码转换为双整数5. DI_BCD 双整数转换为BCD码6. DI_REAL 双整数转换为浮点数7. INV_I 整数的二进制反码8. INV_DI 双整数的二进制反码9. NEG_I 整数的二进制补码10. NEG_DI 双整数的二进制补码11. NEG_R 浮点数求反12. ROUND 舍入为双整数13. TRUNC 舍去小数取整为双整数14. CEIL 上取整15. FLOOR 下取整三、比较指令1. CMP?R 实数比较2. CMP?I 整数比较3. CMP?D 双整数比较四、计数器指令1. S_CUD 加减计数2. S_CU 加计数器3. S_CD 减计数器4. -(SC) 计数器置初值5. -(CU) 加计数器线圈6. -(CD) 减计数器线圈五、逻辑控制指令1. -(JMP) 无条件跳转2.-(JMP) 条件跳转3. -(JMPN) 若非则跳转4. LABEL 标号六、数据块指令1. -(OPN) 打开数据块:DB或DI七、整数算术运算指令1. ADD_I 整数加法2. SUB_I 整数减法3. MUL_I 整数乘法4. DIV_I 整数除法5. ADD_DI 双整数加法6. SUB_DI 双整数减法7. MUL_DI 双整数乘法8. DIV_DI 双整数除法9. MOD_DI 回送余数的双整数八、浮点算术运算指令一基础指令1. ADD_R 实数加法2. SUB_R 实数减法3. MUL_R 实数乘法4. DIV_R 实数除法5. ABS 浮点数绝对值运算二扩展指令1.SQR 浮点数平方2. SQRT 浮点数平方根3. EXP 浮点数指数运算4. LN 浮点数自然对数运算5. SIN 浮点数正弦运算6. COS 浮点数余弦运算7. TAN 浮点数正切运算8. ASIN 浮点数反正弦运算9. ACOS 浮点数反余弦运算10.ATAN 浮点数反正切运算九、程序控制指令1. -(Call) 从线圈调用FC/SFC(无参数)2. CALL_FB 从方块调用FB3. CALL_FC 从方块调用FC4. CALL_SFB 从方块调用SFB5. CALL_SFC 从方块调用SFC6. -(MCR<) 主控继电器接通7. -(MCR>) 主控继电器断开8. -(MCRA) 主控继电器启动9. -(MCRD) 主控继电器停止10. -(RET) 返回十、赋值指令1. MOVE 赋值2. 移位和循环指令十一、移位指令1.SHR_I 整数右移2. SHR_DI 双整数右移3. SHL_W 字左移4.SHR_W 字右移5. SHL_DW 双字左移6. SHR_DW 双字右移十二、循环指令1.ROL_DW 双字左循环2. ROR_DW 双字右循环十三、状态位指令1. OV -||- 溢出异常位2. OS -||- 存储溢出异常位3. UO -||- 无序异常位4. BR -||- 异常位二进制结果5. ==0-||- 结果位等于'0'6. <>0-||- 结果位不等于'0'7. >0-||- 结果位大于'0'8.<0-||- 结果位小于'0'9. >=0-||- 结果位大于等于'0'10. <=0-||- 结果位小于等于'0' 十四、定时器指令1.S_PULSE 脉冲S5定时器2.S_PEXT 扩展脉冲S5定时器3. S_ODT 接通延时S5定时器4. S_ODTS 保持型接通延时S5定时器5. S_OFFDT 断电延时S5定时器6. -(SP) 脉冲定时器线圈7. -(SE) 扩展脉冲定时器线圈8. -(SD) 接通延时定时器线圈9. -(SS) 保持型接通延时定时器线圈10. -(SF) 断开延时定时器线圈十五、字逻辑指令1. WAND_W 字和字相'与'2. WOR_W 字和字相'或'3.WAND_DW 双字和双字相'与'4. WOR_DW 双字和双字相'或'5. WXOR_W 字和字相'异或'6. WXOR_DW 双字和双字相'异或。

sinumerik数控编程指令高级讲解

sinumerik数控编程指令高级讲解

sinumerik数控编程指令高级讲解Sinumerik是西门子公司的数控系统,广泛应用于各类数控机床。

在数控编程中,掌握高级编程指令能够有效提高编程效率和加工精度。

本文将对Sinumerik数控编程中的高级指令进行详细讲解,帮助读者深入理解和运用这些指令。

一、循环指令1.MOD:模数循环指令,用于实现固定循环的多次执行。

语法:MOD [循环次数]示例:MOD 5含义:执行5次固定循环。

2.WHILE-ENDWH:条件循环指令,根据指定条件重复执行循环体内的指令。

语法:WHILE 条件...ENDWH示例:WHILE [I] <= 10...ENDWH含义:当变量I的值小于等于10时,重复执行循环体内的指令。

二、数组指令1.DIM:定义数组指令,用于定义一个数组。

语法:DIM [数组名]([维数])示例:DIM TABLE(10)含义:定义一个名为TABLE的一维数组,包含10个元素。

2.INDEX:数组索引指令,用于访问数组元素。

语法:[数组名](INDEX)示例:TABLE(INDEX)含义:访问数组TABLE的当前元素。

三、子程序调用指令1.CALL:调用子程序指令,用于调用已定义的子程序。

语法:CALL [子程序名]示例:CALL SUB1含义:调用名为SUB1的子程序。

2.RETURN:子程序返回指令,用于从子程序返回到主程序。

语法:RETURN示例:RETURN含义:从当前子程序返回到主程序。

四、其他高级指令1.IF-THEN-ELSE-ENDIF:条件判断指令,根据条件执行不同路径的指令。

语法:IF 条件THEN...ELSE...ENDIF示例:IF [I] > 10 THEN...ELSE...ENDIF含义:如果变量I的值大于10,执行第一个路径的指令;否则,执行第二个路径的指令。

2.PAUSE:暂停指令,用于暂停程序的执行。

语法:PAUSE [时间]示例:PAUSE 5含义:暂停5秒。

西门子PLC指令

西门子PLC指令

西门子PLC指令西门子PLC指令PLC,即可编程控制器,是一种用于自动化控制的电子设备。

西门子PLC指令是指西门子公司生产的PLC编程指令集。

以下是一些常用的西门子PLC指令:1. LD指令:LD指令是一种逻辑指令,它用于将一个变量的值加载到一个寄存器中。

例如,LDI 100将数字100加载到寄存器中。

2. MOV指令:MOV指令是一种数据传输指令,它用于将一个变量的值从一个寄存器传输到另一个寄存器中。

例如,MOVD A,B将A寄存器的值传输到B寄存器中。

3. ADD指令:ADD指令是一种加法指令,它用于将两个变量相加并将结果存储到一个寄存器中。

例如,ADD A,B将A寄存器中的值加上B寄存器中的值并将结果存储到A寄存器中。

4. SUB指令:SUB指令是一种减法指令,它用于将一个变量从另一个变量中减去并将结果存储到一个寄存器中。

例如,SUB A,B将B寄存器中的值从A寄存器中的值中减去并将结果存储到A寄存器中。

5. AND指令:AND指令是一种逻辑指令,它用于将两个变量进行逻辑与操作,并将结果存储到一个寄存器中。

例如,AND A,B将A寄存器中的值与B寄存器中的值进行逻辑与操作,并将结果存储到A寄存器中。

6. OR指令:OR指令是一种逻辑指令,它用于将两个变量进行逻辑或操作,并将结果存储到一个寄存器中。

例如,OR A,B将A寄存器中的值与B寄存器中的值进行逻辑或操作,并将结果存储到A寄存器中。

7. JMP指令:JMP指令是一种跳转指令,它用于将执行的代码跳转到指定的地址。

例如,JMP 100将执行的代码跳转到地址100处。

8. CALL指令:CALL指令是一种调用指令,它用于将执行的代码跳转到指定的子程序。

例如,CALL 200将执行的代码跳转到子程序200处。

9. RET指令:RET指令是一种返回指令,它用于从子程序中返回到主程序。

例如,RET将程序从子程序返回到主程序。

以上是一些常用的西门子PLC指令,当然还有其他很多种指令,这些指令可以根据不同的应用场景进行组合,形成不同的PLC程序。

西门子plc指令一览表

西门子plc指令一览表
计算当前时间与IN所提供时间的时差,将该时差存储于OUT。双字毫秒值的最大计时间隔为 2的32次方,即49.7日。取决于BGN_ITIME指令的执行时间,CAL_ITIME指令将自动处理发生在最 大间隔内的一毫秒定时器翻转。
指令
描述
STL
字节至整数 BTI
双整数至整数 DTI
字符串至整数 STI
自然对数运算 LN
自然指数运算 EXP
PID运算
PID
指令
描述
STL
整数相加
+I
双整数相加
+D
整数相乘得双 整数
MUL



整数相乘
*I



双整数相乘
*D
字节递增
INCB
字递增
INCW
双字递增
INCD
指令
描述 开放中断 禁止中断 中断有条件返回
STL ENI DISI RETI


连接中断
ATCH
SWAP
字节传送立即 读
BIR
指令
描述
STL
FOR…NEXT循环 FOR
程 序
跳转
JMP


装载SCR
LSCR


SBR有条件返回 CRET
看门狗复位
WDR
诊断LED
DLED
指令
描述
STL
字节左移
SLB
双字左移
SLD
字节右移
SRB

双字右移
SRD



字节循环左移 RLB

双字循环左移 RLD
字节循环右移 RRB

西门子S7200基本指令

西门子S7200基本指令

第4章 基本指令
本指令影响的特殊存储 器位:SM1.0(零); SM1.1(溢出); SM1.2(负) 使能流输出ENO断开 的出错条件:SM1.1 (溢出);SM4.3(运 行时间);0006(间接 寻址)
指令格式:
+I IN1, OUT
第4章 基本指令
例: +I VW0, VW4 本指令在梯形图和语句表中的编程如图4.1所示。
第4章 基本指令
I0.0 I0.1 I0.2 Q0.0 Q0.2
图4. 4 时序图
第4章 基本指令
负跳变触点检测到脉冲的每一次负跳变后, 产生一个微分脉冲。 指令格式:ED (无操作数) 应用举例:图4.5是跳变指令的程序片断。 图4.6是图4.5指令执行的时序。
第4章 基本指令
LD
I0.0
//输入常开触点
第4章 基本指令
可编程序控制器中的 堆栈与计算机中的堆 栈结构相同,堆栈是 一组能够存储和取出 数据的暂时存储单元。 堆栈的存取特点是 “后进先出”,S7200可编程序控制器的 主机逻辑堆栈结构如 表4.3所示。
第4章 基本指令
1. 标准触点指令
(1)LD:装入常开触点(LoaD) (2)LDN:装入常闭触点(LoaD Not) (3)A:与常开触点(And) (4)AN:与常闭触点(And Not)。 (5)O:或常闭触点(Or) (6)ON:或常闭触点(Or Not) (7)NOT:触点取非(输出反相) (8)= :输出指令
EU
//脉冲正跳变
=
Q0.0
//输出触点
LD
I0.0
//
ED
//脉冲负跳变
=
Q0.1
//
图4.5 跳变应用

西门子PLC指令集

西门子PLC指令集

OUT 输出字
出字的相应位为 1
ATCH INT
EVNT
中断连接指令 ATCH
将中断事件 EVNT 与
INT 中断程序号 中断服务程序号 INT
EVNT 中断事件
相关联,并使能该中
断事件
DTCH
EVNT
FILL_N
IN OUT N
MOV_B
IN OUT
MOV_W
IN OUT
中断分离指令 DTCH
将中断事件 EVNT 与
允许所有被连接的中
断事件
━( RETI) 中断条件返回 CRETI
根据逻辑条件从中断
程序中返回
━(JMP) 跳转指令
JMP N
使程序流程跳转到指
定的标号 N 处的程序
分支

LBL
跳转到指令 LBL N
N 处的程序分支
译码指令
DECO
IN OUT OUT
DECO
根据输入字节的第四
IN 输入字节 位所表示的位号置输
EVNT
中断服务程序之间的
关联切断,并禁止该
中断程序
存储器填充指 FILL
用输入值填充从输出

IN 输入值
开始的 N 个字的内容
OUT 输出
N N 个字的内容
字节传送
MOV_B
不改变原值的情况下
将 IN 中的值传送到
OUT
地址: 0~FF
字传送
MOV_W
不改变原值的情况下
将 IN 中的值传送到
OUT
IN1 OUT
递减
INC_B INC_W INC_DW DEC_B DEC_W DEC_DW
字节递增 字递增 双字递增 字节递减 字递减 双字递减

西门子指令一览表

西门子指令一览表

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 双字与双字相"异或。

西门子PLC常用的功能指令

西门子PLC常用的功能指令

1、串联电路块的并联连接指令OLD两个或两个以上的接点串联连接的电路叫串联电路块。

串联电路块并联连接时,分支开始用LD、LDN指令,分支结束用OLD指令。

OLD指令与后述的ALD指令均为无目标元件指令,而两条无目标元件指令的步长都为一个程序步。

OLD有时也简称或块指令。

2、并联电路的串联连接指令ALD两个或两个以上接点并联电路称为并联电路块,分支电路并联电路块与前面电路串联连接时,使用ALD指令。

分支的起点用LD、LDN指令,并联电路结束后,使用ALD指令与前面电路串联。

ALD指令也简称与块指令,ALD也是无操作目标元件,是一个程序步指令。

3、输出指令=1、= 输出指令是将继电器、定时器、计数器等的线圈与梯形图右边的母线直接连接,线圈的右边不允许有触点,在编程中,触点以重复使用,且类型和数量不受限制。

4、置位与复位指令S、RS为置位指令,使动作保持;R为复位指令,使操作保持复位。

从指定的位置开始的N个点的寄存器都被置位或复位,N=1~255如果被指定复位的是定时器位或计数器位,将清除定时器或计数器的当前值。

5、跳变触点EU,ED正跳变触点检测到一次正跳变(触点的入信号由0到1)时,或负跳变触点检测到一次负跳变(触点的入信号由1到0)时,触点接通到一个扫描周期。

正/负跳变的符号为EU和ED,他们没有操作数,触点符号中间的”P”和”N”分别表示正跳变和负跳变。

艾驰商城是国内最专业的MRO工业品网购平台,正品现货、优势价格、迅捷配送,是一站式采购的工业品商城!具有10年工业用品电子商务领域研究,以强大的信息通道建设的优势,以及依托线下贸易交易市场在工业用品行业上游供应链的整合能力,为广大的用户提供了传感器、图尔克传感器、变频器、断路器、继电器、PLC、工控机、仪器仪表、气缸、五金工具、伺服电机、劳保用品等一系列自动化的工控产品。

如需进一步了解台达PLC、西门子PLC、施耐德plc、欧姆龙PLC的选型,报价,采购,参数,图片,批发等信息,请关注艾驰商城/。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
FND<> TBL,PTN,INDEX
FND< TBL,PTN,INDEX
FND> TBL,PTN,INDEX
搜索表TBL,从INDEX指定的数据项开始,用给定值PTN检索出符合条件(=,<>,<,>)的数据项
如果找到一个符合条件的数据项,则INDEX指明该数据项在表中的位置。如果一个也找不到,则INDEX的值等于数据表的长度。为了搜索下一个符合的值,在再次使用该指令之前,必须先将INDEX加1
DTR IN,OUT
将双整数输入数据IN转换成实数,结果送到OUT
IN,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD
IN还可以是HC和常数
BCDI OUT
将BCD码输入数据IN转换成整数,结果送到OUT。IN的范围为0~9999
IN,OUT:VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LD
XORD IN1,OUT
将双字IN1和OUT按位作逻辑异或运算,OUT输出结果
INVD OUT
将双字OUT按位取反,OUT输出结果
表4-22数据传送指令
名称
指令格式
(语句表)
功能
操作数
单一传送指令
MOVB IN,OUT
将IN的内容拷贝到OUT中
IN和OUT的数据类型应相同,可分别为字,字节,双字,实数
S7-200PLC逻辑运算指令
逻辑运算指令如表4-21所示。
表4-21逻辑运算指令
名称
指令格式
(语句表)
功能
操作数
字节逻辑运算指令
ANDB IN1,OUT
将字节IN1和OUT按位作逻辑与运算,OUT输出结果
IN1,IN2,OUT:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD
N:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD和常数
BMW IN,OUT,N
将从IN开始的连续N个字数据拷贝到从OUT开始的数据块
N的有效范围是1~255
IN,OUT:VW,IW,QW,MW,SW,SMW,LW,T,C,*VD,*AC,*LD
IN还可以是AIW
OUT还可以是AQW
OUT:VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LD
ITD IN,OUT
将整数输入数据IN转换成双整数(符号进行扩展),结果送到OUT
IN:VW,IW,QW,MW,SW,SMW,LW,T,C,AIW,AC,*VD,*AC,*LD,常数
OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD
DATA,S_BIT:I,Q,M,SM,T,C,V,S,L
N:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD,常数
S7-200PLC交换和填充指令
交换和填充指令如表4-24所示。
表4-24交换和填充指令
名称
指令格式
(语句表)
功能
操作数
换字节指令
SWAP IN
将输入字IN的高位字节与低位字节的内容交换,结果放回IN中
功能
操作数
数据类型转换指令
BTI IN,OUT
将字节输入数据IN转换成整数类型,结果送到OUT,无符号扩展
IN:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD,常数
OUT:VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LD
ITB IN,OUT
将整数输入数据IN转换成一个字节,结果送到OUT。输入数据超出字节范围(0~255)则产生溢出
RRD OUT,N
将双字OUT循环右移N位,从最右边移出的位送到OUT的最左位
RLD OUT,N
将双字OUT循环左移N位,从最左边移出的位送到OUT的最右位
位移位寄存器指令
SHRB DATA,S_BIT,N
将DATA的值(位型)移入移位寄存器;S_BIT指定移位寄存器的最低位,N指定移位寄存器的长度(正向移位=N,反向移位=-N)
TBL:VW,IW,QW,MW,SMW,LW,T,C,*VD,*AC,*LD
PTN,INDEX:VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LD
PTN还可以是AIW和AC
S7-200PLC数据转换指令
数据转换指令如表4-26所示。
表4-26数据转换指令
名称
指令格式
(语句表)
段码指令
SEG IN,OUT
根据字节输入数据IN的低4位有效数字产生相应的七段码,结果输出到OUT,OUT的最高位恒为0
IN,OUT:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD
IN还可以是常数
字符串转换指令
ATH IN,OUT,LEN
把从IN开始的长度为LEN的ASCⅡ码字符串转换成16进制数,并存放在以OUT为首地址的存储区中。合法的ASCⅡ码字符的16进制值在30H~39H,41H~46H之间,字符串的最大长度为255个字符
IN:VW,IW,QW,MW,SW,SMW,LW,T,C,AIW,AC,*VD,*AC,*LD,常数
OUT:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD
DTI IN,OUT
将双整数输入数据IN转换成整数,结果送到OUT。
IN:VD,ID,QD,MD,SD,SMD,LD,HC,AC,*VD,*AC,*LD,常数
OUT还可以是AQW
N:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD,常数
S7-200PLC表操作指令
表操作指令如表4-25所示。
表4-25表操作指令
名称
指令格式
(语句表)
功能
操作数
表存数指令
ATT DATA,TABLE
将一个字型数据DATA添加到表TABLE的末尾。EC值加1
N:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD和常数
BMD IN,OUT,N
将从IN开始的连续N个双字数据拷贝到从OUT开始的数据块
N的有效范围是1~255
IN,OUT:VD,ID,QD,MD,SD,SMD,LD,*VD,*AC,*LD
N:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD和常数
IN1和IN2还可以是常数
ORB IN1,OUT
将字节IN1和OUT按位作逻辑或运算,OUT输出结果
XORB IN1,OUT
将字节IN1和OUT按位作逻辑异或运算,OUT输出结果
INVB OUT
将字节OUT按位取反,OUT输出结果
字逻辑运算指令
ANDW IN1,OUT
将字IN1和OUT按位作逻辑与运算,OUT输出结果
BIW IN,OUT
立即将IN单元的值写到OUT所指的物理输出区
IN:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD和常数
OUT:QB
块传送指令
BMB IN,OUT,N
将从IN开始的连续N个字节数据拷贝到从OUT开始的数据块
N的有效范围是1~255
IN,OUT:VB,IB,QB,MB,SB,SMB,LB,*VD,*AC,*LD
ROUND IN,OUT
将实数输入数据IN转换成双整数,小数部分四舍五入,结果送到OUT
IN,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD
IN还可以是常数
在ROUND指令中IN还可以是HC
TRUNC IN,OUT
将实数输入数据IN转换成双整数,小数部分直接舍去,结果送到OUT
IN,OUT:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD
IN还可以是常数
MOVW IN,OUT
IN,OUT:VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LD
IN还可以是AIW和常数
OUT还可以是AQW
MOVD IN,OUT
IN,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD
将字OUT按位取反,OUT输出结果
双字逻辑运算指令
ANDD IN1,OUT
将双字IN1和OUT按位作逻辑与运算,OUT输出结果
IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD
IN1和IN2还可以是HC和常数
ORD IN1,OUT
将双字IN1和OUT按位作逻辑或运算,OUT输出结果
OUT:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD
DECO IN,OUT
根据字节输入数据IN的低4位所表示的位号将OUT所指定的字单元的相应位置1,其它位置0
IN:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD,常数
IN:VW,IW,QW,MW,SW,SMW,LW,T,C,AQW,AC,*VD,*AC,*LD
双字移位指令
SRD OUT,N
将双字OUT右移N位,最左边的位依次用0填充
IN,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD
IN还可以是HC和常数
N:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD,常数
SLD OUT,N
将双字OUT左移N位,最右边的位依次用0填充
IN还可以是AIW和常数
N:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD,常数
相关文档
最新文档