西门子PLC指令表
- 格式:pdf
- 大小:37.24 KB
- 文档页数:2
西门子PLCINV_I指令功能及应用实例
————————————————————————————————作者:————————————————————————————————日期:
西门子PLCINV_I指令功能及应用实例 plc的INV_I指令符号
表1为INV_I转换指令说明表。
表1 INV_I转换指令说明表
参数
数据类型
存储器区域
说明
EN
BOOL
I、Q、M、L、D 允许输入
ENO
BOOL
I、Q、L、D
允许输出
IN
INT
I、Q、M、L、D
整型数输入
OUT
INT
I、Q、M、L、D
整型数输入的反码
INV_I(整型数输入求反码)指令,读输人参数IN的内容,然后,与16进制屏蔽码W#16#FFFF进行XOR的波尔运算。
这一运算结果,将改变输入码的每一个位成相反的状态。
ENO总是与EN有相同的信号状态。
表2为INV_I转换指令对状态位的影响。
表2 INV_I转换指令对状态位的影响
-
BR
CC1
CC0
OV
OS
OR
STA
RLO
/FC 写状态位 1
-
-
-
-
1
1
1
图2 INV_I转换指令应用举例
如图2所示,如果输入I0.0的信号状态为“1”,然后,对MW8的每一个位求反码,举例:MW8= 0100 00011000 0001,指令运算结果MW10=1011 1110 01111110。
如果转换指令没有执行(即ENO= EN =0),则输出Q4.0置成“1”。
西门子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-200系列PLC顺序控制指令挨次掌握指令是plc生产厂家为用户供应的可使功能图编程简洁化和规范化的指令。
表1 挨次掌握指令的形式及功能STL LAD功能操作对象LSCR bit挨次状态开头S(位)SCRT bit挨次状态转移S(位)SCRE挨次状态结束无CSCRE条件挨次状态结束无从上表中可以看出,挨次掌握指令的操作对象为顺控继电器S,也把S称为状态器,每一个S的位都表示功能图中的一种状态。
S的范围为:即S0.0~S31.7。
从LSCR指令开头到SCRE指令结束的全部指令组成一个挨次掌握继电器(SCR)段。
LSCR指令标记一个SCR段的开头,当该段的状态器置位时,允许该SCR段工作。
SCR段必需用SCRE指令结束。
当SCRT 指令的输入端有效时,一方面置位下一个SCR段的状态器S,以便使下一个SCR段工作;另一方面又同时使该段的状态器复位,使该段停止工作。
由此可以总结出每一个SCR程序段一般有三种功能:(1)驱动处理:即在该段状态器有效时,处理相应的工作;有时也可能不做任何工作;(2)指定转移条件和目标:即满意什么条件后状态转移到何处;(3)转移源自动复位功能:状态发生转移后,置位下一个状态的同时,自动复位原状态。
1、挨次掌握指令的应用液压动力滑台在自动机床中被广泛采纳,这里以液压动力滑台掌握为例来说明挨次功能图设计方法以及挨次掌握指令的使用方法。
液压动力滑台在实际工作时的运动过程一般是:快进——工进——快退。
其运动过程由快进、工进、快退三个电磁阀掌握,掌握系统PLC各I/O功能及地址安排如表2所示。
机床液压滑台掌握系统如图1所示。
表2 液压动力滑台掌握系统PLC I/O地址安排功能名称动作器件I/O地址说明启动按钮SB1I0.0启动滑台原点位置SQ1I0.1滑台在原点位置工进起点SQ2I0.2滑台运动到工进起点位置工进终点SQ3I0.3滑台运动到工进终点位置快进YV1Q0.0滑台快进工进YV1、YV2Q0.0、Q0.1滑台工进快退YV3Q0.2滑台快退初始化脉冲SM0.1将初始状态S0.1置位。
西门子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预置值必须大于最小需要的时间间隔。
第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指令是指西门子公司生产的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个点都被复位。
指令(英文全称意思 ) :指令含义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 位逻辑指令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数据处理指令
⼀、传送类指令(⼀)单⼀传送◆MOVB,字节传送指令◆BIR,传送字节⽴即读指令◆BIW,传送字节⽴即写指令◆MOVW,字传送指令◆MOVD,双字传送指令◆MOVR,实数传送指令
1、MOVB,字节传送指令
使能输⼊有效时,把⼀个单字节⽆符号数据由IN 传送到OUT 所指的字节存储单元。
IN 的寻址范围:
VB、IB、QB、MB、SB、SMB、LB、AC、*VD、*AC、*LD 和常数。
VB、IB、QB、MB、SB、SMB、LB、AC、*VD、*AC、*LD。
指令格式:MOVB IN1, OUT
图1 MOVB 指令
例:MOVB VB0, QB0
2、BIR,传送字节⽴即读指令
使能输⼊有效时,⽴即读取单字节物理输⼊区数据IN,并传送到OUT 所指的字节存储单元。
IN 的寻址范围:IB
OUT 的寻址范围:
VB、IB、QB、MB、SB、SMB、LB、AC、*VD、*AC、*LD。
指令格式:BIR IN1, OUT
图2 BIR 指令
例:BIR IB0, VB10
(⼆)块传送◆BMB,字节块传送指令◆BMW,字块传送指令◆BMD,。
1 位逻辑指令
1.1 位逻辑指令概述
1.2 -||- 常开接点(地址)
1.3 -|/|-常闭接点(地址)
1.4 XOR位异或
1.5 -|NOT|- 信号流反向
1.6 -( ) 输出线圈
1.7 -(#)- 中间输出
1.8 -(R) 线圈复位
1.9 -(S) 线圈置位
1.10 RS复位置位触发器
1.11 RS置位复位触发器
1.12 -(N)- RLO下降沿检测
1.13 -(P)- PLO上升沿检测
1.14 -(SAVE) 将RLO存入BR存储器 1.15 MEG地址下降沿检测
1.16 POS地址上升沿检测
1.17 立即读操作
1.18 立即写操作
2 比较指令
2.1 比较指令概述
2.2 CMP?I整数比较
2.3 CMP?D双整数比较
2.4 CMP?R实数比较
3 转换指令
3.1 转换指令概述
3.2 BCD_IBCD码转换为整数
3.3 I_BCD整数转换为BCD码
3.4 I_DINT整数转换为双整数
3.5 BCD_DIBCD码转换为双整数
3.6 DI_BCD双整数转换为BCD码
3.7 DI_REAL双整数转换为浮点数 3.8 INV_I整数的二进制反码
3.9 INV_DI双整数的二进制反码
3.10 NEG_I整数的二进制补码
3.11 NEG_DI双整数的二进制补码
3.12 NEG_R浮点数求反
3.13 ROUND舍入为双整数
3.14 TRUNC舍去小数取整为双整数 3.15 CEIL上取整
3.16 FLOOR下取整
4 计数器指令
4.1 计数器指令概述
4.2 S_CUD加减计数 4.3 S_CU加计数器
4.4 S_CD减计数器
4.5 -(SC)计数器置初值
4.6 -(CU)加计数器线圈
4.7 -(CD)减计数器线圈
5 数据块指令
5.1 -(OPN)打开数据块:DB或DI
6 逻辑控制指令
6.1 逻辑控制指令概述
6.2 -(JMP)- 无条件跳转
6.3 -(JMP)- 条件跳转
6.4 -(JMPN)- 若非则跳转
6.5 LABEL标号
7 整数算术运算指令
7.1 整数算术运算指令概述
7.2 判断整数算术运算指令后状态字的位
7.3 ADD_I 整数加法
7.4 SUB_I 整数减法
7.5 MUL_I 整数乘法
7.6 DIV_I 整数除法
7.7 ADD_DI 双整数加法
7.8 SUB_DI 双整数减法
7.9 MUL_DI 双整数乘法
7.10 DIV_DI 双整数除法
7.11 MOD_DI 回送余数的双整数
8 浮点算术运算指令
8.1 浮点算术运算指令概述
8.2 判断浮点算术运算指令后状态字的位
8.3 基础指令
8.3.1 ADD_R实数加法
8.3.2 SUB_R实数减法
8.3.3 MUL_R实数乘法
8.3.4 DIV_R实数除法
8.3.5 ABS浮点数绝对值运算
8.4 扩展指令
8.4.1 SQR浮点数平方
8.4.2 SQRT浮点数平方根
8.4.3 EXP浮点数指数运算
8.4.4 LN浮点数自然对数运算
8.4.5 SIN浮点数正弦运算
8.4.6 COS浮点数余弦运算
8.4.7 TAN浮点数正切运算
8.4.8 ASIN浮点数反正弦运算
8.4.9 ACOS浮点数反余弦运算
8.4.10ATAN浮点数反正切运算
9 赋值指令
9.1 MOVE赋值
10 程序控制指令
10.1 程序控制指令概述
10.2 -(Call)从线圈调用FC/SFC(无参数)
10.3 CALL_FB从方块调用FB
10.4 CALL_FC从方块调用FC
10.5 CALL_SFB从方块调用SFB
10.6 CALL_SFC从方块调用SFC
10.7 调用多北京块
10.8 从库中调用块
10.9 使用MCR功能的重要注意事项
10.10 -(MCR<)主控继电器接通
10.11 -(MCR>)主控继电器断开
10.12 -(MCRA)主控继电器启动
10.13 -(MCRD)主控继电器停止
10.14 -(RET)返回
11 移位和循环指令
11.1 移位指令
11.1.1 移位指令概述
11.1.2 SHR_I整数右移
11.1.3 SHR_DI双整数右移
11.1.4 SHL_W字左移
11.1.5 SHR_W字右移
11.1.6 SHL_DW双字左移
11.1.7 SHR_DW双字右移
11.2 循环指令
11.2.1 循环指令概述
11.2.2 ROL_DW双字左循环
11.2.3 ROR_DW双字右循环
12 状态位指令
12.1 状态位指令概述
12.2 OV -||- 溢出异常位
12.3 OS -||- 存储溢出异常位
12.4 UO -||- 无序异常位
12.5 BR -||- 异常位二进制结果
12.6 ==0-||- 结果位等于"0"
12.7 <>0-||- 结果位不等于"0"
12.8 >0-||- 结果位大于"0"
12.9 <0-||- 结果位小于"0" 12.10 >=0-||- 结果位大于等于"0"
12.11 <=0-||- 结果位小于等于"0"
13 定时器指令
13.1 定时器指令概述
13.2 存储区中定时器的存储单元和定时器的组成部分
13.3 S_PULSE脉冲S5定时器
13.4 S_PEXT扩展脉冲S5定时器
13.5 S_ODT接通延时S5定时器
13.6 S_ODTS保持型接通延时S5定时器
13.7 S_OFFDT断电延时S5定时器
13.8 -(SP)脉冲定时器线圈
13.9 -(SE)扩展脉冲定时器线圈
13.10 -(SD)接通延时定时器线圈
13.11 -(SS)保持型接通延时定时器线圈
13.12 -(SF)断开延时定时器线圈
14 字逻辑指令
14.1 字逻辑指令概述
14.2 WAND_W字和字相"与"
14.3 WOR_W字和字相"或"
14.4 WAND_DW双字和双字相"与"
14.5 WOR_DW双字和双字相"或"
14.6 WXOR_W字和字相"异或"
14.7 WXOR_DW双字和双字相"异或。