SiemensPLC指令讲解
- 格式:doc
- 大小:228.00 KB
- 文档页数:12
第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、串联电路块的并联连接指令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”分别表示正跳变和负跳变6、空操作指令NOPNOP指令是一条无动作、无目标元件的一个序步指令。
空操作指令使该步序为空操作。
用NOP指令可替代已写入指令,可以改变电路。
在程序中加入NOP指令,在改动或追加程序时可以减少步序号的改变。
7、程序结束指令ENDEND是一条无目标元件的一序步指令。
PLC反复进行输入处理、程序运算、输出处理,在程序的最后写入END指令,表示程序结束,直接进行输出处理。
在程序调试过程中,可以按段插入END指令,可以按顺序扩大对各程序段动作的检查。
西门子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双字和双字相"异或“。
西门子PLC的基本指令程序设计西门子PLC的基本指令程序设计1. 引言2. 输入输出指令西门子PLC的输入输出指令用于控制PLC与外部设备(如传感器、执行器等)之间的数据交换。
其中,最常用的输入输出指令是电平指令、边沿指令和计时指令。
2.1 电平指令电平指令用于检测输入信号是否处于高电平或低电平状态。
常用的电平指令有:`I`指令:用于检测输入信号是否为高电平;`IB`指令:用于检测输入信号是否为低电平。
2.2 边沿指令边沿指令用于检测输入信号的变化。
常用的边沿指令有:`I8`指令:用于检测输入信号从低电平到高电平的上升沿;`I9`指令:用于检测输入信号从高电平到低电平的下降沿。
2.3 计时指令计时指令用于对输入信号的时间进行计时。
常用的计时指令有:`TON`指令:用于对输入信号的累计时间进行计时;`TOF`指令:用于对输入信号的间隔时间进行计时。
3. 逻辑运算指令逻辑运算指令用于进行逻辑判断和运算。
常用的逻辑运算指令有:`AND`指令:进行与运算;`OR`指令:进行或运算;`XOR`指令:进行异或运算;`NOT`指令:进行非运算。
4. 数据处理指令数据处理指令用于对数据进行处理和转换。
常用的数据处理指令有:`MOV`指令:用于将一个值从一个寄存器复制到另一个寄存器;`ADD`指令:用于对两个操作数进行相加运算;`SUB`指令:用于对两个操作数进行相减运算;`MUL`指令:用于对两个操作数进行相乘运算;`DIV`指令:用于对两个操作数进行相除运算。
5. 定时器指令定时器指令用于进行时间控制和延时操作。
常用的定时器指令有:`TON`指令:用于进行延时操作;`TOF`指令:用于进行时间控制。
6. 计数器指令计数器指令用于进行计数操作。
常用的计数器指令有:`CTU`指令:用于正向计数;`CTD`指令:用于逆向计数。
7. 程序控制指令程序控制指令用于控制程序的执行顺序和跳转。
常用的程序控制指令有:`JSR`指令:用于子程序调用;`JMP`指令:用于无条件跳转;`LBL`指令:用于标记指令。
西门⼦PLC常⽤指令举例(新⼿值得收藏)在西门⼦plc梯形图中,将其触点和线圈等称为程序中的编程元件。
编程元件也称为软元件,是指在plc编程时使⽤的输⼊/输出端⼦所对应的存储区以及内部的存储单元、寄存器等。
根据编程元件的功能,西门⼦plc梯形图中的常⽤的编程元件主要有输⼊继电器(I)、输出继电器(Q)、辅助继电器(M、SM)、定时器(T)、计数器(C)和⼀些其他较常见的编程元件等。
1、输⼊继电器(I)的标注西门⼦PLC梯形图中的输⼊继电器⽤“字母I 数字”进⾏标识,每个输⼊继电器均与PLC的⼀个输⼊端⼦对应,⽤于接收外部开关信号。
输⼊继电器由PLC端⼦连接的开关部件的通断状态(开关信号)进⾏驱动,当开关信号闭合时,输⼊继电器得电,其对应的常开触点闭合,常闭触点断开,如图1所⽰。
图1 西门⼦PLC梯形图中的输⼊继电器2、输出继电器(Q)的标注西门⼦PLC梯形图中的输出继电器⽤“字母Q 数字”进⾏标识,每⼀个输出继电器均与PLC的⼀个输出端⼦对应,⽤于控制PLC外接的负载。
输出继电器可以由PLC内部输⼊继电器的触点、其他内部继电器的触点或输出继电器⾃⼰的触点来驱动,如图2所⽰。
图2 西门⼦PLC梯形图中的输出继电器3、辅助继电器(M、SM)的标注在西门⼦PLC梯形图中,辅助继电器有两种,⼀种为通⽤辅助继电器,⼀种为特殊标志位辅助继电器。
(1)通⽤辅助继电器的标注。
通⽤辅助继电器,⼜称为内部标志位存储器,如同传统继电器控制系统中的中间继电器,⽤于存放中间操作状态,或存储其他相关数字,⽤“字母M 数字”进⾏标识,如图3所⽰。
图3 西门⼦PLC梯形图中的通⽤辅助继电器由图3可以看到,通⽤辅助继电器M0.0既不直接接受外部输⼊信号,也不直接驱动外接负载,它只是作为程序处理的中间环节,起到桥梁的作⽤。
(2)特殊标志位辅助继电器的标注。
特殊标志位辅助继电器,⽤“字母SM 数字”标识,如图4所⽰,通常简称为特殊标志位继电器,它是为保存PLC⾃⾝⼯作状态数据⽽建⽴的⼀种继电器,⽤于为⽤户提供⼀些特殊的控制功能及系统信息,如⽤于读取程序中设备的状态和运算结果,根据读取信息实现控制需求等。
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预置值必须大于最小需要的时间间隔。
西门子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基本指令表如下图所示名称助记符目标元件说明取指令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个点都被复位。
西门子plc数据传送指令的功能和使用方法
数据传送指令用于各个编程元件之间进行数据传送,依据每次传送数据的多少可分为单个数据传送指令和块传送指令。
1)单个数据传送指令
单个数据传送指令每次传送一个数据,传送数据的类型分为字节传送、字传送、双字传送和实数传送。
(1)字节传送指令
字节传送指令又分为一般字节传送指令和马上字节传送指令。
MOVB:字节传送指令。
指令格式如下:
BIR:马上读字节传送指令。
指令格式如下:
BIW:马上写字节传送指令。
指令格式如下:
(2)字传送指令
MOVW:字传送指令。
指令格式如下:
(3)双字传送指令
MOVD:双字传送指令。
指令格式如下:
(4)实数传送指令
MOVR:实数传送指令。
指令格式如下:
2)块传送指令
块传送指令用来一次传送多个数据,最多可将255个数据组成一个数据块,数据块的类型可以是字节块、字块和双字块。
(1)字节块传送指令
BMB:字节块传送指令。
指令格式如下:
(2)字块传送指令
BMW:字块传送指令。
指令格式如下:
(3)双字块传送指令
BMD:双字块传送指令。
指令格式如下:。
西门子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 表示实数)它们都是加运算只是数的大小不同。
27、SUB ( Subtract 减去,减少) :减28、MUL ( Multiply ) : 乘29、DIV ( Divide ) : 除30、SQRT ( Square root ) : 求平方根31、LN ( Napierian Logarithm 自然对数 ) : 求自然对数32、EXP ( Exponential 指数的 ) :求指数33、INC_B ( Increment 增加 ) :增1//其中_B代表数据类型还有W(字节)、DW双字后面几个都是这样的。
“与”(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值)保存到指定地址,所以有时也称为“连接器”或“中间赋值元件”。
它和其他元件串联时,“连接器”指令和触点一样插入。
连接器不能直接连接母线,也不能放在逻辑串的结尾或分支结尾处。
置位指令、复位指令置位/复位指令也是一种输出指令。
西门子PLC基础指令
位逻辑指令
(一)触点及线圈指令
PLC梯形图语言的编程原则
1、梯形图由多个梯级组成,每个线圈可构成一个梯级,每个梯级有多条支路,每个梯级代表一个逻辑方程;
2、梯形图中的继电器、接点、线圈不是物理的,是PLC存储器中的位(1=0N;0=0FF);编程时常开/常闭接点可无限次引用,线圈输出只能是一次;
3、梯形图中流过的不是物理电流而是“概念电流”,只能从左向右流;
4、用户程序的运算是根据PLC的输入/输出映象寄存器中的内容,逻辑运算结果可以立即被后面的程序使用;
5、PLC的内部继电器不能做控制用,只能存放逻辑控制的中间状态;
6、输出线圈不能直接驱动现场的执行元件,通过I/模块上的功率器件来驱动。
基本逻辑指令以位逻辑操作为主,在位逻辑指令中,除非有特殊说明,操作数的有效区域为:I、Q、M、SM、T、C、V、S、L且数据类型为BOOL触点和线圈指令又分为:标准指令、立即指令、取反指令、正(负)跳变指令。
定时器指令
包括:接通延时定时器(TON)、有记忆的接通延时(保持型)定时器(TONR)、断开延时定时器(TOF)。
S7-200有256个定时器(T0~T255)。
计数器指令
包括:加计数CTU、减计数CTD和加/减计数CTUD总共有256个(C0~C255)。
计数器是对PLC内部的时钟脉冲进行计数,而计数器是对外部的或由程序产生的计数脉冲进行计数。
计数器累计计数的当前值(16位有符号整数),它存放在计数器的16位(bit)当前值寄存器中。
每个计数器只有一个16位的当前值寄存器地址。
在一个程序中,同一计数器号不要重复使用,更不可分配给几个不同类型的计数器。
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预置值必须大于最小需要的时间间隔。
例如:使用10ms时基定时器实现140ms延时(时间间隔),则PT应设置为15
(10ms×15=150ms)。
2)功能
(1)接通延时定时器TON——一般用于单一时间间隔的定时
指令格式:见图,编号与分辨率及定时器类型有关。
(见教材P221:Fig8-3-3a)使能:——IN:I2.0 =“1”
当前值——T33,当在线(Online)时,此处显示当前值
预置值——PT=3,即定时时间=10ms×3=30ms
复位——IN:I2.0 = “0”
定时器状态(位)——“1”或“0”
与MODICON PLC的定时器指令对照:
区别:对MODICON PLC,当10001=“0” ,10002=“1”时,定时器当前值保持;当计时时间到,即(40040)= 30时,只要10002=“1”,定时器也是保持
对S7-200 PLC,只要I0.0=“1”,即计时,当T33当前值=3时,定时器继续计时,直至I0.0=“0”,定时器复位(相当于10002=“0” )
(1)断开延时定时器TOF——一般用于故障时间后的时间延时
指令格式:见图,编号与分辨率及定时器类型有关。
注意:定时器状态(位)=“1”(置位)及当前值复0与使能.I0.0=“1”同步;计时开始与使能I0.0从“1”→“0”(断开)同步,且当计时时间到而使能仍=“0”时,当前值保持。
(2)有记忆接通延时定时器TONR——一般用于累计许多时间间隔(指令功能及时序图见教材P222:Fig8-3-3c)
指令格式:见图,编号与分辨率及定时器类型有关。
注意:定时器状态(位)=“1”(置位)及当前值复0与使能.I0.0=“1”同步;计时开始与使能I0.0从“1”→“0”(断开)同步,且当计时时间到而使能仍=“0”时,当前值保持。
(3) 有记忆接通延时定时器TONR——一般用于累计许多时间间隔
S7-200系列PLC的计数器指令
1)类型及编号
CTU——增计数
CTD——减计数C0~C255
CTUD——增减计数
计数器6个要素:指令格式(类型、编号等)预置值——PV
使能——CU、CD 复位——R、LD
当前值——Cxxx 计数器状态(位)——与定时器类似
2)功能、时序图及应用示例
此例为一个增减计数器的应用示例,其与MODICON PLC计数器指令的比较,同学可自己进行,并注意到,计数器指令的使能均是采样上升沿(“0” →“1” )。
S7-200系列PLC其它常用指令
1.脉冲产生指令EU/ED的应用
EU指令在EU指令前的逻辑运算结果由OFF到ON时就产生一个宽度为一个扫描周期的脉冲,驱动其后面的输出线圈。
2 .逻辑堆栈的操作
LPS为进栈操作,LRD为读栈操作,LPP为出栈操作。
S7-200系列PLC中有一个9层堆栈,用于处理逻辑运算结果,称为逻辑堆栈。
3 .NOT、NOP和MEND指令
NOT、NOP及MEND指令的形式及功能如表4-19所示。
表4-19NOT、NOP及MEND指令的形式及功能
NOP为空操作,对程序没有实质影响。
MEND为无条件结束指令,在编程结束时一定要写上该指令,否则会出现编译错误。
调试程序时,在程序的适当位置插入MEND 指令可以实现程序的分段调试。
4.比较指令
比较指令是将两个操作数按规定的条件作比较,条件成立时,触点就闭合。
比较运算符有:=、>=、<=、>、<和<>。
(1)字节比较字节比较用于比较两个字节型整数值INl和IN2的大小,字节比较是无符号的。
比较式可以是LDB、AB或OB后直接加比较运算符构成。
如:LDB=、AB<>、OB>=等。
整数INl和IN2的寻址范围:VB、IB、QB、MB、SB、SMB、LB、*VD、*AC、*LD和常数。
指令格式例如:LDB= VBl0,VBl2
(2)整数比较整数比较用于比较两个一字长整数值INl和IN2的大小,整数比较是有符号的(整数范围为16#8000和16#7FFF之间)。
比较式可以是LDW、AW或OW后直接加比较运算符构成。
如:LDW=、AW<>。
OW>=等。
整数INl和IN2的寻址范围:VW、IW、QW、MW、SW、SMW、LW、AIW、T、C、AC、*VD、*AC、*LD和常数。
指令格式例如:LDW= VWl0,VWl2
(3)双字整数比较双字整数比较用于比较两个双字长整数值INl和IN2的大小,双字整数比较是有符号的(双字整数范围为16#80000000和16#7FFFFFFF之间)。
比较式可以是LDD、AD或OD后直接加比较运算符构成。
如:LDD=、AD<>、OD>=等。
双字整数INl和IN2的寻址范围:VD、ID、QD、MD、SD、SMD、LD、HC、AC、*VD、*AC、*LD和常数。
指令格式例如:LDD= VDl0,VDl2
(4)实数比较实数比较用于比较两个双字长实数值INl和IN2的大小,实数比较是有符号的(负实数范围为-1.175495E-38和-3.402823E+38,正实数范围为
+1.175495E-38和+3.402823E+38)。
比较式可以是LDR、AR或OR后直接加比较运算符构成。
如:LDR=、AR<>、OR>=等。
实数INl和IN2的寻址范围:VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*AC、*LD和常数。
指令格式例如:LDR= VDl0,VDl2
S7-200PLC功能指令概述
一般的逻辑控制系统用软继电器、定时器和计数器及基本指令就可以实现。
利用功能指令可以开发出更复杂的控制系统,以致构成网络控制系统。
这些功能指令实际上是厂商为满足各种客户的特殊需要而开发的通用子程序。
功能指令的丰富程度及其合用的方便程度是衡量PLC性能的一个重要指标。
S7-200的功能指令很丰富,大致包括这几方面:算术与逻辑运算、传送、移位与循环移位、程序流控制、数据表处理、PID指令、数据格式变换、高速处理、通信以及实时时钟等。
功能指令的助记符与汇编语言相似,略具计算机知识的人学习起来也不会有太大困难。
但S7-200系列PLC功能指令毕竟太多,一般读者不必准确记忆其详尽用法,需要时可可查阅产品手册。
S7-200PLC四则运算指令介绍
四则运算指令如表4-20所示。
表4-20 四则运算指令
S7-200PLC逻辑运算指令
逻辑运算指令如表4-21所示。
表4-21 逻辑运算指令。