西门子指令解释
中文详解西门子PLC指令,瞬间都明白了!
中文详解西门子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 表示实数)它们都是加运算只是数的大小不同。
西门子PLC_基本指令简介
指令操作数
1)编号: 2)预设值PT: 3)使能输入(只对LAD和
FBD):
LD
I0.0
//使能输入 //通电延时定时 //延时时间为 //40ms
TON T35, +4
LD TONR
I0.0 T2, +10
// //有记忆通电 //延时时间累计 //为 1000ms
LD TOF
I0.0 T36, +3
LD A =
I0.0 I0.1 Q1.0
//装入常开触点 //与常开触点 //输出触点
LD A S
I0.0 I0.1 Q0.0, 1 个触点置 1
// // //将 Q0.0 开始的//1 //将 Q0.2 开始的//3
R
Q0.2, 3 个触点置 0
置位复位
4. 立即指令
(1)立即触点指令 (2)=I,立即输出指令 (3)SI,立即置位指令 (4)RI,立即复位指令
// //断电延时定时 //延时时间为 //30ms
图4.12
定时器特性
4.1.5 计数器指令
1. 概 述 2. 增计数器 3. 增减计数器 4. 减计数器 5. 应用举例
1. 概述
计数器用来累计输入脉冲的次数。计数
器也是由集成电路构成,是应用非常广 泛的编程元件,经常用来对产品进行计 数。 计数器指令有3种:增计数CTU、增减计 数CTUD和减计数CTD。 指令操作数有4方面:编号、预设值、脉 冲输入和复位输入。
图3.3 标准触点FBD例
(1)S,置位指令 将位存储区的指定位(位bit)开始的N个同类存储器位 置位。 用法: S bit, N 例: S Q0.0,1
西门子指令
第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编程指令1、位逻辑指令(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地址上升沿检测2、比较指令(1)CMP?I整数比较(2)CMP?D双整数比较(3)CMP?R实数比较3、转换指令(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下取整4、计数器指令(1)S_CUD加减计数(2)S_CU加计数器(3)S_CD减计数器(4)-(SC)计数器置初值(5)-(CU)加计数器线圈(6)-(CD)减计数器线圈5、数据块指令(1)-(OPN)打开数据块:DB或DI6、逻辑控制指令(1)-(JMP)无条件跳转(2)-(JMP)条件跳转(3)-(JMPN)若非则跳转(4)LABEL标号7、整数算术运算指令(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回送余数的双整数8、浮点算术运算指令(1)基础指令①ADD_R实数加法②SUB_R实数减法③MUL_R实数乘法④DIV_R实数除法⑤ABS浮点数绝对值运算(2)扩展指令①SQR浮点数平方②SQRT浮点数平方根③EXP浮点数指数运算④LN浮点数自然对数运算⑤SIN浮点数正弦运算⑥COS浮点数余弦运算⑦TAN浮点数正切运算⑧ASIN浮点数反正弦运算⑨ACOS浮点数反余弦运算⑩ATAN浮点数反正切运算9、赋值指令(1)MOVE赋值10、程序控制指令(1)-(Call)从线圈调用FC/SFC(无参数) (2)CALL_FB从方块调用FB(3)CALL_FC从方块调用FC(4)CALL_SFB从方块调用SFB(5)CALL_SFC从方块调用SFC(6)-(MCR<)主控继电器接通(7)-(MCR>)主控继电器断开(8)-(MCRA)主控继电器启动(9)-(MCRD)主控继电器停止(10)-(RET)返回11、移位和循环指令(1)移位指令①SHR_I整数右移②SHR_DI双整数右移③SHL_W字左移④SHR_W字右移⑤SHL_DW双字左移⑥SHR_DW双字右移(2)循环指令①ROL_DW双字左循环②ROR_DW双字右循环12、状态位指令(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"13、定时器指令(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)断开延时定时器线圈14、字逻辑指令(1)WAND_W字和字相"与"(2)WOR_W字和字相"或"(3)WAND_DW双字和双字相"与" (4)WOR_DW双字和双字相"或" (5)WXOR_W字和字相"异或" (6)WXOR_DW双字和双字相"异或“。
西门子S7—基本指令
③ =(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
2.1.传送指令MOV_B、MOV_W、MOV_DW
MOV 指令是把一个数据存入到另一个数据里面。
MOV_B 是字节传送:传送的数据类型是字节型MOV_W 是字传送:传送的数据类型是字型
MOV_DW 是双字传送:传送的数据类型是双字型
指令用法举例1:
当I0.1 接通,则MOV_B 指令将数据255 传送到VB1 里面,传送后,VB1=255,
此后,即使I0.1 断开,VB1 里的数据保持255 不变。
指令用法举例2:
定时器及计数器当前值的读取
注:
因定时器及计数器的数据类型都为整数型,因此使用传送指令时一定要用MOV_W
指令用法3:定时器、计数器设定值的间接指定示例:
指令用法举例4:位软元件的传送:
要求按下按钮I0.1,要使Q0.0 至Q0.7 全部接通
写法1:
写法2:
2.2. 块传送BLKMOV_B、BLKMOV_W、BLKMOV_DW
BLKMOV:将指定的软元件为开头的N 点数据向以目标指定的软元件为开头的N 点
软元件成批传送。
字节块传送指令用法举例:
将VB1 开始的3 个字节的数据写入VB11 开始的3 个字节内
即:
字块传送指令用法举例
:
程序将VW0 开始的3 个字传送至VW10 开始的3 个字内即:
3. 字节交换指令SWAP
字节交换指令用于将一个字内的高字节与低字节交换位置指令用法举例:
指令将VB1 及VB2 位置交换
下面举CPU224 为例,将Q0.0 到Q1.1 依次点亮,一周完成后再从Q0.0 到Q1.1
依次点亮。
请看下面程序段。
西门子plc指令
1.18 LPS、LRD、LPP指令:逻辑堆栈操作
1.19 =指令:线圈输出
1.20 =指令:立即线圈输出
1.21 S指令:线圈置位
1.22 SI指令:线圈立即置位
1.23 R指令:线圈复位
1.24 RI指令:线圈立即复位
1.25 NOP指令:空操作
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=指令:或运算双字等于
12.5 SFND指令:在字符串1中查找字符串2
12.6 CFND指令:在字符串中查找字符
12.7 LDS=指令:载入字符串等于
12.8 AS=指令:与运算字符串等于
12.9 OS=指令:或运算字符串等于
12.10 LDS指令:载入字符串不等于
12.11 AS指令:与运算字符串不等于
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指令:字符串转换至实数
11.2 SLW指令:向左移位字
11.3 SLD指令:向左移位双字
西门子应用指令
(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开始。
西门子数控编程指令代码含义
D 刀具刀补号F 进给率(与G4 一起可以编程停留时间)GG功能(准备功能字)G0 快速移动G1 直线插补G2 顺时针圆弧插补G3 逆时针圆弧插补CIP 中间点圆弧插补G33恒螺距的螺纹切削G331 不带补偿夹具切削内螺纹G332 不带补偿夹具切削内螺纹. 退刀CT 带切线的过渡圆弧插补G4 快速移动G63快速移动G74 回参考点G75 回固定点G25 主轴转速下限G26 主轴转速上限G110 极点尺寸,相对于上次编程的设定位置G110 极点尺寸,相对于当前工件坐标系的零点G120 极点尺寸,相对于上次有效的极点G17* X/Y平面G18Z/X平面G19 Y/Z平面G40 刀尖半径补偿方式的取消G41 调用刀尖半径补偿, 刀具在轮廓左侧移动G42 调用刀尖半径补偿, 刀具在轮廓右侧移动G500 取消可设定零点偏置G54 第一可设定零点偏置G55 第二可设定零点偏置G56 第三可设定零点偏置G57 第四可设定零点偏置G58 第五可设定零点偏置G59 第六可设定零点偏置G53 按程序段方式取消可设定零点偏置G60* 准确定位G70 英制尺寸G71* 公制尺寸G700 英制尺寸,也用于进给率FG710公制尺寸,也用于进给率FG90* 绝对尺寸G91 增量尺寸G94* 进给率F,单位毫米/分G95 主轴进给率F,单位毫米/转G901 在圆弧段进给补偿“开”G900 进给补偿“关”G450 圆弧过渡G451 等距线的交点I插补参数J 插补参数K 插补参数I1 圆弧插补的中间点J1 圆弧插补的中间点K1 圆弧插补的中间点L 子程序名及子程序调用M 辅助功能M0 程序停止M1 程序有条件停止M2程序结束M3 主轴顺时针旋转M4 主轴逆时针旋转M5 主轴停M6 更换刀具N 副程序段: 主程序段P 子程序调用次数RET 子程序结束S 主轴转速,在G4 中表示暂停时间T 刀具号X 坐标轴Y 坐标轴Z 坐标轴CALL 循环调用CHF 倒角,一般使用CHR 倒角轮廓连线CR圆弧插补半径GOTOB 向后跳转指令GOTOF 向前跳转指令RND 圆角支持参数编程SIEMENS802S/CM 固定循环循环说明LCYC82钻削,沉孔加工LCYC83深孔钻削LCYC840带补偿夹具的螺纹切削LCYC84不带补偿夹具的螺纹切削LCYC85镗孔LCYC60线性孔排列LCYC61圆弧孔排列LCYC75矩形槽,键槽,圆形凹槽铣削SIEMENS802DM/810/840DM 固定循环循环说明CYCLE82中心钻孔CYCLE83深孔钻削CYCLE84性攻丝CYCLE85铰孔CYCLE86镗孔CYCLE88带停止镗孔CYCLE71端面铣削LONGHOLE 一个圆弧上的长方形孔POCKET4环形凹槽铣削POCKET3矩形凹槽铣削SLOT1一个圆弧上的键槽SLOT2环行槽SIEMENS车床G 代码地址含义D 刀具刀补号F 进给率(与G4 一起可以编程停留时间)GG功能(准备功能字)G0 快速移动G1 直线插补G2 顺时针圆弧插补G3 逆时针园弧插补G33 恒螺距的螺纹切削G4 快速移动G63 快速移动G74 回参考点G75 回固定点G17 (在加工中心孔时要求)G18* Z/X平面G40 刀尖半径补偿方式的取消G41 调用刀尖半径补偿, 刀具在轮廓左侧移动G42 调用刀尖半径补偿, 刀具在轮廓右侧移动G500 取消可设定零点偏置G54 第一可设定零点偏置G55 第二可设定零点偏置G56 第三可设定零点偏置G57 第四可设定零点偏置G58 第五可设定零点偏置G59 第六可设定零点偏置G53 按程序段方式取消可设定零点偏置G70 英制尺寸G71* 公制尺寸G90* 绝对尺寸G91 增量尺寸G94* 进给率F,单位毫米/分G95 主轴进给率F,单位毫米/转I 插补参数I1 圆弧插补的中间点K1 圆弧插补的中间点L 子程序名及子程序调用M 辅助功能M0 程序停止M1 程序有条件停止M2 程序结束M30M17M3 主轴顺时针旋转M4 主轴逆时针旋转M5 主轴停M6 更换刀具N 副程序段:主程序段P 子程序调用次数RET 子程序结束S 主轴转速,在G4 中表示暂停时间T 刀具号X 坐标轴Y 坐标轴Z 坐标轴AR 圆弧插补张角CALL 循环调用CHF 倒角,一般使用CHR 倒角轮廓连线CR 圆弧插补半径GOTOB 向后跳转指令GOTOF 向前跳转指令RND 圆角支持参数编程SIEMENS 801、802S/CT、802SeT 固定循环循环说明LCYC82 钻削,沉孔加工LCYC83 深孔钻削LCYC840 带补偿夹具的螺纹切削LCYC84 不带补偿夹具的螺纹切削LCYC85 镗孔LCYC93切槽循环LCYC95 毛坯切削循环LCYC97 螺纹切削SIEMENS 802D、810D/840D 固定循环循环说明CYCLE71平面铣削CYCLE82中心钻孔YCLE83深孔钻削CYCLE84刚性攻丝CYCLE85铰孔CYCLE86镗孔CYCLE88带停止镗孔CYCLE93切槽CYCLE94退刀槽形状E..FCYCLE95毛坯切削CYCLE97螺纹切削。
SIEMENS数控系统编程指令详解
SIEMENS数控系统编程指令详解SIEMENS数控系统编程指令详解第一章编程语言1.1 准备功能(G指令)一般用NC语言对单个操作步骤进行实际编程,只能代表一个NC 程序中工作的一部分。
实际指令编程之前,应先对操作步骤进行计划和准备,对NC程序的结构和组织考虑的越周详,所产生的复杂程序就会越清晰、准确,而且生成的速度就会越快,越简便。
通常按如下编程步骤进行:根据图纸要求、指定加工方案;测量每一把刀具的长度及半径;确定工件零点坐标系的位置;计算出每把刀具的切削用量;编制加工零件程序;根据程序图形模拟,查看刀具运行轨迹;空运行,查看刀具运行轨迹;试切削、检验、优化加工程序。
每一个程序都有一个不同的名称叫程序名,编程时可以任意选择名称。
在编辑程序时首先要建立一个新程序名,然后才能编制加工程序。
建立新程序名时要注意以下几点:前一个符号必须是字母;其余符号可以是字母、数字几及下划线;程序名最多有24个字符;字符间不允许有分隔符。
SIEMENS 802D数控系统常用G代码:1.2.1 G00快速定位指令格式:G00 Xxx Yxx ZxxXxx Yxx Zxx ——直角坐标系中的终点坐标;编程示例(图1—1)Y)0 X图1—1N10 G00 G90 X0 Y0N20 G00 X200 Y200G00 指令的运动速度为机床的快速定位速度(机床允许的最大运动速度)G00的速度由机床参数设定。
G00快速移动功能不能用于工件切削加工,只能用于空行程进给,一般用于接近起始位置或换刀点、退刀等。
1.2.2 G01 直线插补指令格式:G01 Xxx Yxx Zxx FxxXxx Yxx Zxx ——直角坐标系中的终点坐标;Fxx ——进给率单位mm/min。
编程示例(图1—2)YX图1—2N10 G00 G90 X0 Y0N20 G01 X150 Y200 F300G01指令规定的进给速度可以由面板上的进给倍率开关进行修调,此功能一般用于工件切削,切削的进给速度由F值指定。
SiemensPLC指令讲解
S7-200系列的基本逻辑指令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)≥②(30007)=(40030)②+③(30007)≤(40030)③(30007)<(40030)①+③(30007)<>(40030)S7-200系列PLC的定时器指令类型、编号及分辨率TON——接通延时TONR——有记忆接通延时TOF——断开延时3种分辨率(时基):1ms、10ms、100ms——分别对应不同的定时器号定时器6个要素:指令格式(时基、编号等)预置值——PT使能——IN 复位——3种定时器不同当前值——Txxx 定时器状态(位)——可由触点显示定时值=时基×预置值PT。
由于定时器的计时间隔与程序的扫描周期并不同步,定时器可能在其时基(1ms、10ms、100ms)内任何时间启动,所以,未避免计时时间丢失,一般要求设置PT预置值必须大于最小需要的时间间隔。
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指令: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基本指令表及各指令解释最受欢迎的工控微信平台:技术分享、学习交流、工控视频西门子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个点都被复位。
西门子指令解释
西门子指令解释置位/复位指令根据RLO的值,来决定被寻址位的信号状态是否需要改变。
若RLO的值为1,被寻址位的信号状态被置1或清0;若RLO 是0,则被寻址位的信号保持原状态不变。
对于置位操作,一旦RLO 为1,则被寻址信号(输出信号)状态置1,即使RLO又变为0,输出仍保持为1;对于复位操作,一旦RLO为1,则被寻址信号(输出信号)状态置0,即使RLO又变为0,输出仍保持为0。
语句表STL表示的置位/复位指令●R Reset 复位指令●S Set 置位指令梯形图LAD表示的置位/复位指令●---( S ) Set Coil 线圈置位指令●---( R ) Reset Coil 线圈复位指令●SR Set-Reset Flip Flop 复位优先型SR双稳态触发器指令●RS Reset-Set Flip Flop 置位优先型RS双稳态触发器指令位逻辑指令的运算结果用两个二进制数字1和0来表示。
可以对布尔操作数(BOOL)的信号状态扫描并完成逻辑操作。
逻辑操作结果称为RLO(result of logic operation)。
语句表STL表示的基本位逻辑指令● A And 逻辑“与”●AN And Not 逻辑“与非”●O Or 逻辑“或”●ON Or Not 逻辑“或非”●X Exclusive Or 逻辑“异或”●XN Exclusive Or Not 逻辑“异或非”●= Assign 赋值指令●NOT Negate RLO RLO取反●SET Set RLO (=1) RLO=1●CLR Clear RLO (=0) RLO=0●SAVE Save RLO in BR Register 将RLO的状态保存到BR。
边沿信号识别指令。
位逻辑指令的运算规则:“先与后或”。
可以用括号将需先运算的部分括起来,运算规则为:“先括号内,后括号外”。
梯形图LAD表示的基本位逻辑指令●---| |--- Normally Open Contact (Address) 常开触点●---|/|--- Normally Closed Contact (Address) 常闭触点●---(SAVE) Save RLO into BR Memory将RLO的状态保存到BR●XOR Bit Exclusive OR 逻辑“异或”●---( ) Output Coil 输出线圈●---( # )--- Midline Output 中间标志输出●---|NOT|---Invert Power Flow RLO取反1.引言CPU寄存器状态字的各位给出了有关指令状态或结果的信息以及所出现的错误,我们可以将二进制逻辑操作状态位信号状态直接集成到程序中,以控制程序执行的流程。
s71200沿指令
s71200沿指令S7-1200是西门子推出的一款可编程逻辑控制器(PLC),广泛应用于自动化控制领域。
本文将围绕S7-1200的指令进行介绍和解析,帮助读者更好地理解和应用该控制器。
一、概述S7-1200具有强大的处理能力和丰富的功能模块,可用于各种自动化控制系统。
它采用模块化设计,可根据实际需求选择不同的输入输出模块,实现对各类传感器和执行器的连接和控制。
此外,S7-1200还支持多种通信接口,可与上位机进行数据交换,实现远程监控和控制。
二、指令详解1. LD指令(Load)LD指令用于将一个位的状态(0或1)加载到一个变量中。
例如,LD X1.0表示将输入X1.0的状态加载到一个变量中。
LD指令常用于读取输入信号,判断逻辑条件。
2. AND指令AND指令用于逻辑与操作,将两个输入位的状态进行与运算,并将结果保存到输出位中。
例如,AND X1.0 X2.0 Y1.0表示将输入X1.0和X2.0的状态进行与运算,并将结果保存到输出Y1.0中。
3. OR指令OR指令用于逻辑或操作,将两个输入位的状态进行或运算,并将结果保存到输出位中。
例如,OR X1.0 X2.0 Y1.0表示将输入X1.0和X2.0的状态进行或运算,并将结果保存到输出Y1.0中。
4. SET指令SET指令用于将一个输出位的状态设置为1。
例如,SET Y1.0表示将输出Y1.0的状态设置为1,从而控制相应的执行器工作。
5. RESET指令RESET指令用于将一个输出位的状态复位为0。
例如,RESET Y1.0表示将输出Y1.0的状态复位为0,从而停止相应的执行器工作。
6. MOV指令(Move)MOV指令用于将一个变量的值移动到另一个变量中。
例如,MOV X1.0 Y1.0表示将输入X1.0的状态移动到输出Y1.0中,实现输入和输出之间的数据传输。
7. ADD指令(Addition)ADD指令用于对两个变量进行加法运算,并将结果保存到另一个变量中。
西门子PLC指令集讲解
“与”(A)、“与非”(AN)A:“与”指令适用于单个常开触点串联,完成逻辑“与”运算。
AN:“与非”指令适用于单个常闭触点串联,完成逻辑“与非”运算。
“与”(A)、“与非”(AN)指令由图可知,触点串联指令也用于串联逻辑行的开始。
CPU对逻辑行开始第1条语句如I1. 0的扫描称为首次扫描。
首次扫描的结果(I1.0的状态)被直接保存在RLO(逻辑操作结果位)中;在下一条语句,扫描触点Q5.3的状态,并将这次扫描的结果和RLO中保存的上一次结果相“与”产生的结果,再存入RLO中,如此依次进行。
在逻辑串结束处的RLO 可作进一步处理。
如赋值给Q4.2(=Q4.2)。
“或”(O)、“或非”(ON)O:“或”指令适用于单个常开触点并联,完成逻辑“或”的运算。
ON:“或非”指令适用于单个常闭触点并联,完成逻辑“或非”运算。
由图可知,触点并联指令也用于一个并联逻辑行的开始。
CPU对逻辑行开始第1条语句如I4.0的扫描称为首次扫描。
首次扫描的结果(I4.0的状态)被直接保存在RLO(逻辑操作结果位)中,并和下一条语句的扫描结果相“或”,产生新的结果再存入RLO中,如此一次进行。
在逻辑串结束处的RLO可用作进一步处理,如赋值给Q8.0(=Q8.0)。
此外,还有“异或”(X)、“异或非”(XN)、嵌套指令等等。
输出线圈输出线圈指令即逻辑串输出指令,又称赋值指令,该指令把RLO中的置赋给指定的位地址,当RLO变化时,相应位地址信号状态也变化 ,在LAD中,只能将输出指令放在触点电路的最右端,不能将输出指令单独放在一个空网络中。
下图是两个应用举例。
中间输出如图所示,中间输出指令被安置在逻辑串中间,用于将其前面的位逻辑操作结果(即本位置的RLO值)保存到指定地址,所以有时也称为“连接器”或“中间赋值元件”。
它和其他元件串联时,“连接器”指令和触点一样插入。
连接器不能直接连接母线,也不能放在逻辑串的结尾或分支结尾处。
置位指令、复位指令置位/复位指令也是一种输出指令。
西门子数控编程指令代码含义
刀具刀补号F进给率(与G4 一起可以编程停留时间) GG功能(准备功能字)G0快速移动G1直线插补G2顺时针圆弧插补G3逆时针圆弧插补CIP中间点圆弧插补G33恒螺距的螺纹切削G331不带补偿夹具切削内螺纹G332不带补偿夹具切削内螺纹. 退刀CT带切线的过渡圆弧插补G4快速移动G63快速移动G74回参考点G75回固定点G25主轴转速下限G26主轴转速上限G110极点尺寸,相对于上次编程的设定位置G110极点尺寸,相对于当前工件坐标系的零点G120极点尺寸,相对于上次有效的极点G17*X/Y平面Z/X平面G19Y/Z平面G40刀尖半径补偿方式的取消G41调用刀尖半径补偿, 刀具在轮廓左侧移动G42调用刀尖半径补偿, 刀具在轮廓右侧移动G500取消可设定零点偏置G54第一可设定零点偏置G55第二可设定零点偏置G56第三可设定零点偏置G57第四可设定零点偏置G58第五可设定零点偏置G59第六可设定零点偏置G53按程序段方式取消可设定零点偏置G60*准确定位G70英制尺寸G71*公制尺寸G700英制尺寸,也用于进给率FG710公制尺寸,也用于进给率FG90*绝对尺寸G91增量尺寸G94*进给率F,单位毫米/分G95主轴进给率F,单位毫米/转在圆弧段进给补偿“开”G900进给补偿“关”G450圆弧过渡G451等距线的交点I插补参数J插补参数K插补参数I1圆弧插补的中间点J1圆弧插补的中间点K1圆弧插补的中间点L子程序名及子程序调用M辅助功能M0程序停止M1程序有条件停止M2程序结束M3主轴顺时针旋转M4主轴逆时针旋转M5主轴停M6更换刀具N副程序段:主程序段P子程序调用次数子程序结束S主轴转速,在G4 中表示暂停时间T刀具号X坐标轴Y坐标轴Z坐标轴CALL循环调用CHF倒角,一般使用CHR倒角轮廓连线CR圆弧插补半径GOTOB向后跳转指令GOTOF向前跳转指令RND圆角支持参数编程SIEMENS802S/CM 固定循环循环说明LCYC82钻削,沉孔加工LCYC83深孔钻削LCYC840带补偿夹具的螺纹切削LCYC84不带补偿夹具的螺纹切削LCYC85镗孔LCYC60线性孔排列LCYC61圆弧孔排列矩形槽,键槽,圆形凹槽铣削SIEMENS802DM/810/840DM 固定循环循环说明CYCLE82中心钻孔CYCLE83深孔钻削CYCLE84性攻丝CYCLE85铰孔CYCLE86镗孔CYCLE88带停止镗孔CYCLE71端面铣削LONGHOLE一个圆弧上的长方形孔POCKET4环形凹槽铣削POCKET3矩形凹槽铣削SLOT1一个圆弧上的键槽SLOT2环行槽SIEMENS车床G 代码地址含义D刀具刀补号FF进给率(与G4 一起可以编程停留时间)GG功能(准备功能字)G0快速移动G1直线插补G2顺时针圆弧插补G3逆时针园弧插补G33恒螺距的螺纹切削G4快速移动G63快速移动G74回参考点G75回固定点G17(在加工中心孔时要求)G18*Z/X平面G40刀尖半径补偿方式的取消G41调用刀尖半径补偿, 刀具在轮廓左侧移动G42调用刀尖半径补偿, 刀具在轮廓右侧移动G500取消可设定零点偏置G54第一可设定零点偏置G55第二可设定零点偏置G56第三可设定零点偏置G57第四可设定零点偏置G58第五可设定零点偏置G59第六可设定零点偏置G53按程序段方式取消可设定零点偏置G70英制尺寸G71*公制尺寸G90*绝对尺寸G91增量尺寸G94*进给率F,单位毫米/分G95主轴进给率F,单位毫米/转I插补参数I1圆弧插补的中间点K1圆弧插补的中间点L子程序名及子程序调用M辅助功能M0程序停止M1程序有条件停止M2程序结束M30M17M3主轴顺时针旋转M4主轴逆时针旋转M5主轴停M6更换刀具N副程序段:主程序段P子程序调用次数RET子程序结束S主轴转速,在G4 中表示暂停时间T刀具号X坐标轴Y坐标轴Z坐标轴AR圆弧插补张角CALL循环调用CHF倒角,一般使用CHR倒角轮廓连线CR圆弧插补半径GOTOB向后跳转指令GOTOF向前跳转指令RND圆角支持参数编程SIEMENS 801、802S/CT、802SeT 固定循环循环说明LCYC82钻削,沉孔加工LCYC83深孔钻削LCYC840带补偿夹具的螺纹切削LCYC84不带补偿夹具的螺纹切削LCYC85镗孔LCYC93切槽循环LCYC95毛坯切削循环LCYC97螺纹切削SIEMENS 802D、810D/840D 固定循环循环说明CYCLE71平面铣削CYCLE82中心钻孔YCLE83深孔钻削CYCLE84刚性攻丝CYCLE85铰孔CYCLE86镗孔CYCLE88带停止镗孔CYCLE93切槽CYCLE94退刀槽形状E..FCYCLE95毛坯切削CYCLE97螺纹切削。
S7-200_PLC西门子指令中英文全称对照
指令(英文全称意思 ) :指令含义1 、LD ( Lode 装载 ) :动合触点2、LDN ( Lode 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( uP 上升) :正跳变19、N ( dowN 下降) :负跳变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 表示实数)它们都是加运算只是数的大小不同!!后面有很多这样的我就略写了!27、SUB ( Subtract 减去,减少) :减28、MUL ( Multiply ) : 乘29、DIV ( Divide ) : 除30、SQRT ( Square root ) : 求平方根31、LN ( Napierian Logarithm 自然对数 ) : 求自然对数32、EXP ( Exponential 指数的 ) :求指数33、INC_B ( Increment 增加 ) :增134、DEC_B ( Decrement 减少 ) :减135、WAND_B ( Word and 与命令 ) :逻辑与//其中_B代表数据类型还有W(字节)、DW双字后面几个都是这样的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
置位/复位指令根据RLO的值,来决定被寻址位的信号状态是否需要改变。
若RLO的值为1,被寻址位的信号状态被置1或清0;若RLO是0,则被寻址位的信号保持原状态不变。
对于置位操作,一旦RLO为1,则被寻址信号(输出信号)状态置1,即使RLO又变为0,输出仍保持为1;对于复位操作,一旦RLO为1,则被寻址信号(输出信号)状态置0,即使RLO又变为0,输出仍保持为0。
语句表STL表示的置位/复位指令●R Reset 复位指令●S Set 置位指令梯形图LAD表示的置位/复位指令●---( S ) Set Coil 线圈置位指令●---( R ) Reset Coil 线圈复位指令●SR Set-Reset Flip Flop 复位优先型SR双稳态触发器指令●RS Reset-Set Flip Flop 置位优先型RS双稳态触发器指令位逻辑指令的运算结果用两个二进制数字1和0来表示。
可以对布尔操作数(BOOL)的信号状态扫描并完成逻辑操作。
逻辑操作结果称为RLO(result of logic operation)。
语句表STL表示的基本位逻辑指令● A And 逻辑“与”●AN And Not 逻辑“与非”●O Or 逻辑“或”●ON Or Not 逻辑“或非”●X Exclusive Or 逻辑“异或”●XN Exclusive Or Not 逻辑“异或非”●= Assign 赋值指令●NOT Negate RLO RLO取反●SET Set RLO (=1) RLO=1●CLR Clear RLO (=0) RLO=0●SAVE Save RLO in BR Register 将RLO的状态保存到BR。
边沿信号识别指令。
位逻辑指令的运算规则:“先与后或”。
可以用括号将需先运算的部分括起来,运算规则为:“先括号内,后括号外”。
梯形图LAD表示的基本位逻辑指令●---| |--- Normally Open Contact (Address) 常开触点●---|/|--- Normally Closed Contact (Address) 常闭触点●---(SAVE) Save RLO into BR Memory将RLO的状态保存到BR●XOR Bit Exclusive OR 逻辑“异或”●---( ) Output Coil 输出线圈●---( # )--- Midline Output 中间标志输出●---|NOT|---Invert Power Flow RLO取反1.引言CPU寄存器状态字的各位给出了有关指令状态或结果的信息以及所出现的错误,我们可以将二进制逻辑操作状态位信号状态直接集成到程序中,以控制程序执行的流程。
2.状态字寄存器先简单介绍一下CPU中状态字。
● 首次检查位:状态字的0位称作首次检查位,如果/FC 位的信号状态为“0”,则表示伴随着下一条逻辑指令,程序中将开始一个新的逻辑串。
FC前面的斜杠表示对FC取反。
● 逻辑运算结果:状态字的第1位为RLO 位(RLO= “逻辑运算结果”),在二进制逻辑运算中用作暂时存储位。
比如,一串逻辑指令中的某个指令检查触点的信号状态,并根据布尔逻辑运算规则将检查的结果(状态位)与RLO位进行逻辑门运算,然后逻辑运算结果又存在RLO位中。
● 状态位:状态位(第2位)用以保存被寻址位的值。
状态位总是向扫描指令(A,AN,O,…)或写指令(=,S,R,)显示寻址位的状态(对于写指令,保存的寻址位状态是本条写指令执行后的该寻址位的状态)。
● OR位:在用指令OR执行或逻辑操作之前,执行与逻辑操作的时候,就需要用到OR这一状态位。
OR位表示先前执行的与逻辑操作产生的值为“1”,于是,逻辑操作或的执行结果就已被确定为“1”。
● OV位:溢出表示算术或比较指令执行时出现了错误。
根据所执行的算术或逻辑指令结果对该位进行设置。
● OS位:溢出存储位是与OV位一起被置位的,而且在更新算术指令之后,它能够保持这种状态,也就是说,它的状态不会由于下一个算术指令的结果而改变。
这样,即使是在程序的后面部分,也还有机会判断数字区域是否溢出或者指令是否含有无效实数。
OS位只有通过如下这些命令进行复位:JOS(若OS = 1,则跳转)命令,块调用和块结束命令。
● CC1及CC0位:CC1和CC0(条件代码)位给出有关下列结果的相关信息:• 算术指令结果• 比较指令结果• 字逻辑指令• 在移位功能中,移出位相关信息。
可以用以下指令来检查条件代码CC1和CC0。
CC1 CC0 检查完成后,如果:0 0 A == 0 结果=01 0 A > 0 结果> 00 1 A < 0 结果< 0● BR位:状态字的第8位称为二进制结果位。
它将字处理程序与位处理联系起来,在一段既有位操作又有字操作的程序中,用于表示字逻辑是否正确。
将BR位加入程序后,无论字操作结果如何,都不会造成二进制逻辑链中断。
在梯形图的方块指令中,BR位与ENO位有对应关系,用于表明方块指令是否被正确执行:如果执行出现了错误,BR位为0,ENO位也为0;如果功能被正确执行,BR位为1,ENO位也为1。
在用户编写的FB/FC程序中,应该对BR位进行管理,功能块正确执行后,使BR位为1,否则使其为0。
使用SAVE指令将RLO存入BR中,从而达到管理BR位目的。
状态字的9-15位未使用。
3.具体使用下面我们结合STEP7中的指针编程来具体介绍条件码CC0/CC0的用法。
不同的指令在CPU中执行时间是不同的。
浮点数比定点数执行时间要长;字逻辑指令比位逻辑指令执行时间要长;在某些程序中适当使用状态字来进行编程可以减少CPU程序的执行时间。
例1:比如说要比较一个DB中块的DBBO-DBB99这100个字节是正数是负数还是0,正数用1来表示;负数用-1来表示;0用0来表示。
并且将对应结果存入MB200开始的100个字节中。
我们通常的做法可能为:VB与西门子S7-300的通讯2007-04-30 21:21转自一工控博客,不知是否行得通,我还未曾做过该测试,先转载出来,或许对有兴趣的朋友有所帮助!西门子S7-300通讯协议不公开,我们无法按相应的协议写程序,但是西门子提供给我们更为简单的方式来与之通讯。
大家可以在某些组态软件中找到这样一个DLL:w95_s7.dll就是这个DLL,使的我们与PLC进行数据交互极为简单在DLL时定义了如下一些接口函数:Public Declare Function load_tool Lib "w95_s7.dll" (ByVal nr As Byte, ByVal dev As String, adr As Type_PlcAddressType) As Long这个函数是初始化连接用的,这个过程比较慢,大约要20S左右,这大概也是西门子为什么启动那么慢的原因吧;包括了如下几个参数:nr是指激活的连接数,范围是1-4dev是设备名,SetPG/PC里面有这个指定,一般用S7ONLINE就可以了,adr是指参数表,它是这样的一个type:Type Type_PlcAddressTypebytAddress As Byte'这是站号,默认是2bytPlcSegmentID As Byte'SegmentID,默认是0bytPlcSlotNo As Byte'槽号,默认是2bytPlcRackNo As Byte'Rack号,默认是0End TypePublic Declare Function new_ss Lib "w95_s7.dll" (ByVal nr As Byte) As Long这个函数没用到,可以去找一些资料来看Public Declare Function unload_tool Lib "w95_s7.dll" () As Long'这个函数是程序退出时用的,用来断开连接' no, amount, valuePublic Declare Function d_field_read Lib "w95_s7.dll" (ByVal db As Long, ByVal nr As Long, ByVal anz As Long, value As Byte) As Long'这是读取DB块中数据的函数db 是指DB块号,比如DB10,则这个参数指定为10就可以了nr 是指起始地址,比如读DB10的第4个字节中数据,则指定为4anz是指读取的长度value是返回的值,表面上看这是一个字节,但实际上它是一个字节数组,比如你要读取二十个字节的数据,那么应定义dim ReturnValue(20) as byte,然后用ReturnValue来做为传递的参数Public Declare Function d_field_write Lib "w95_s7.dll" (ByVal db As Long, ByVal nr As Long, ByVal anz As Long, value As Byte) As Long这是写DB块数据的函数,参数跟读数据函数一样,不多说了' no, amount, valuePublic Declare Function e_field_read Lib "w95_s7.dll" (ByVal nr As Long, ByVal anz As Long, value As Byte) As Long…这个是用来读取外部输入的值,包括开关量输入,模拟量输入nr 是指起始地址anz是指读取的长度value是返回的值,表面上看这是一个字节,但实际上它是一个字节数组,比如你要读取二十个字节的数据,那么应定义dim ReturnValue(20) as byte,然后用ReturnValue来做为传递的参数从分析也可以看出,只有外部输入的值不可以写,因而它单独存在Public Declare Function a_field_read Lib "w95_s7.dll" (ByVal nr As Long, ByVal anz As Long, value As Byte) As Long…这是用来读取外部输出的值,包括开关量输出,模拟量输出,参数可以参照上面的函数,Public Declare Function a_field_write Lib "w95_s7.dll" (ByVal nr As Long, ByVal anz As Long, value As Byte) As Long…这是用来写外部输出的值,包括开关量输出,模拟量输出nr 是指起始地址,anz是指读取的长度value是返回的值Public Declare Function m_field_read Lib "w95_s7.dll" (ByVal nr As Long, ByVal anz As Long, value As Byte) As Long读取内存变量的函数(M的值)nr 是指起始地址anz是指读取的长度value是返回的值Public Declare Function m_field_write Lib "w95_s7.dll" (ByVal nr As Long, ByVal anz As Long, value As Byte) As Long写内存变量的函数nr 是指起始地址anz是指读取的长度value是返回的值Public Declare Function t_field_read Lib "w95_s7.dll" (ByVal nr As Long, ByVal anz As Long, value As Integer) As Long‟读定时器的值nr 是指起始地址anz是指读取的长度value是返回的值,这个返回的是整型量的值Public Declare Function z_field_read Lib "w95_s7.dll" (ByVal nr As Long, ByVal anz As Long, value As Integer) As Long…读计数器的值nr 是指起始地址anz是指读取的长度value是返回的值,这个返回的是整型量的值Public Declare Function z_field_write Lib "w95_s7.dll" (ByVal nr As Long, ByVal anz As Long, value As Integer) As Long…写计数器的值nr 是指起始地址anz是指读取的长度value是返回的值,这个返回的是整型量的值有了以上这样函数,相信会VB的人都可以写跟西门子通讯的程序了。