课程中心
HOME
课程中心
正文内容
plc编程语言dmov 通过示例学习三菱ST编程(SUM指令和MOV指令的应用示例)
发布时间 : 2025-04-28
作者 : 小编
访问数量 : 23
扫码分享至微信

通过示例学习三菱ST编程(SUM指令和MOV指令的应用示例)

有人在学习PLC时总会说指令太多没有办法全都记住,我这里想说的是:你说的对,是很难全都记住,但是呢,要对一些指令有一些的了解,最起码的是知道有哪些指令,具体怎么用可以在用时查手册即可。

今天要跟大家分享的就是ON位数指令(SUM)和MOV指令综合应用的示例。

示例的功能要求:

四个按钮分别控制四组灯,当某一个按钮按下时,则此按钮对应的灯亮,同时按多个按钮,则无效。

具体程序如下图所示:

很简单就是用到了SUM和MOV指令。

具体讲解下:

第一条语句:就是判断X20~X23中是否有某位使能。

第二条语句:若X20~X23中的某一位使能,则将对应位的输出使能。同时能判断若多个位使能,则指令不执行。

仿真结果如下:

当X21使能,则Y21点亮

当X21和X22使能,则仍然只是Y21点亮

下面重点介绍下SUM指令:

SUM指令:说的通俗一点就是计算在指定的软元件中有多少个1。

指令格式如下图所示:

BOOL_EN :使能位

ANY16_S:16位的源,在本例中就是K1X20(也就是X20~X23)

ANY16_D:16位目标数据。在本例中就是K1M20。

西门子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 放置 ) : 置1

17、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双字后面几个都是这样的。

34、DEC_B ( Decrement 减少 ) :减1

35、WAND_B ( Word and 与命令 ) :逻辑与  

36、WOR_B ( Word or 或命令) : 逻辑或

37、WXOR_B ( Word exclusive or 异或命令) :逻辑异或

38、INV_B ( Inverse 相反 ) : 取反

39、MOV _B ( Move 移动 ) :数据传送

40、BLKMOV_B ( Block Move 块移动) :数据块传送

41、SWAP ( Swap 交换 ) :字节交换

42、FILL ( Fill 填充 ) :字填充

43、ROL_B ( Rotate Left 循环 向左) :循环左移位

44、ROR_B ( Rotate Right 循环 向右) : 循环右移位

45、SHL_B ( Shift Right 移动向左) :左移动

46、SHR_B ( Shift Right 移动向右 ) :右移动

47、SHRB ( Shift buffer 移动缓存) :寄存器移位

48、STOP ( Stop 停止 ) :暂停

49、END /MEND ( End /Mend ) : 条件/无条件结束

50、WDR ( Watch dog reset ) :看门狗复位

51、JMP ( Jump 跳) :跳转

52、LBL ( Label 位置 ) :跳转标号

53、FOR ( For 循环 ) :循环

54、NEXT ( Next 再下去) :循环结束

55、SBR ( Subprogram Regulating子程序控制 ) : 子程序调用

56、SBR_T ( Subprogram Regulating Take ) : 带参数子程序调用

57、SCR ( Sequence Control 顺序控制 ) : 步开始

58、SCRT ( Sequence Control Transfer 顺序控制转移 ) : 步转移

59、SCRE ( Sequence Control End 顺序控制结束 ) : 步结束

60、AD_T_TBL ( Add data to table 添加数据到表格中) :填数据表

61、FIFO ( First in First out 先进先出 ) :先进先出

62、LIFO ( Last in First out 后进先出 ) :后进先出

63、TBL_FIND ( Table Find 表格查找 ) :表查找

64、BCD_I ( Binary Coded Decimal _I 二进制编码的十进制 ) :BCD 码转整数

65、I_BCD ( I_ Binary Coded DecimaL ) :整数转BCD码

66、B_I ( Bit to int ) :字节转整数

67、I_B ( int to bit ) :整数转字节

68、DI_I ( Double int to int ) :双整数转整数

69、I_DI ( int to double int ) :整数转双整数

70、ROUND ( Round 取整 ) : 实数转双整数

71、TRUNC ( Trunc 截取 ) :转换32位实数整数部分(舍去小数取整)

72、DI_I (double int to int ) :双整数转实数

73、ENCO ( Encode 编码) :编码

74、DECO ( Decode 译码) :译码

75、SEG ( Segment decoder分断译码器 ) : 七段显示译码器

76、ATH ( ASCII码 turn hex ) : ASCII码转16进制

77、HTA ( Hexadecimal to ascii) : 16进制转ASCII码

78、ITA ( // int to ascii) : 整数转ASCII码

79、DTA ( // double int to ascii ) : 双整转ASCII码

80、RTA ( // real to ascii) : 实数转ASCII码

81、ATCH (//attach ) : 中断连接

82、DTCH ( Depatch ) : 中断分离

83、HDEF ( High speed counter definition ) : 高速计数器定义

84、HSC ( High Speed Counter 高速计数器 ) :启动高速计数器

85、PLS ( Pulse 脉冲 ) :脉冲输出

86、READ_ RTC ( Read real time clock 读实时时钟 ) :读实时时钟87、SET_RTC ( Set real time clock ) : 写实时时钟88、XMT ( Transmitter ) : 自由发送

89、RCV ( Receive 接收 ) : 自由接收

90、NETR ( Net read 网络读 ) : 网络读

91、NETW ( Net write 网络写 ) : 网络写

92、GET_ADDR ( Get address 获取地址 ) : 获取口地址

93、SET_ADDR ( Set address 设置地址 ) : 设定口地址

94、PID ( Proportional Integral Differential 比例、积分、微分 ) :比例积分微分调节器。

来源:本文转自网络,版权归原作者所有,如涉及作品版权问题,请及时与我们联系删除,谢谢!

如何获取 电气热门资料?

操作指引如下!

相关问答

PLc中dmovk1400D8146怎么解释啊?

把常数1400用双字(32位)的存储形式写入D8146存储器中程序执行后D8146里的数值就是1400把常数1400用双字(32位)的存储形式写入D8146存储器中程序执行后D8146...

三菱PLC中一个程序【DMOVK0K4M8000】代表什么意思,谢谢D是代表32位的,我想问是不是把K0和K1?

这是送数指令,把M8000-M8015全部置零,也就是复位。这是送数指令,把M8000-M8015全部置零,也就是复位。

PLC中MOV?

传送命令。。比如MOVK1D1是最简单的传送十进制数到数据寄存器的命令。MOVC0D0把计数器C0的数值传送到D0.等等。。MOV后面加P,MOVP是脉冲执行传送命令...

三菱plcmov指令详解?

三菱PLCMOV指令讲解:指令格式:MOVSDS进行传送的数据或者数据存储字软元件地址D数据传送目标的字软软件的地址指令解读:当驱动条件成立时,将原址S的...

三菱plc编程中MOVD220D10是什么意思?

K0,常数0,十进制d数据寄存器mov传输指令整个指令:movK0D101这个指令整体的意思是将常数0传到D101这个数据寄存器地址之中K0,常数0,十进制d数据寄...

三菱PLC里面的MOV指令K0D0和K1234D0.K0,K1234表示的常数?_作业帮

[最佳回答]MOVK0D0就是将立即数"0"传送到数据寄存器D0,传送完后,数据寄存器D0内存的数就是"0"了;MOVK1234D0就是将立即数"12...

【PLC中直接寻址举例,比如,MOVDVD100,16#1000结果是怎样...

[最佳回答]你应该是用的西门子的PLC吧,就直接拿一个应用的例子来解释吧。例如,直接寻址是你直接对一个区间的变量赋值或者搬移,例如MOV500,VB100;间接寻址是...

三菱PLCMOV指令,如何使用?

三菱PLCMOV指令可以用于将一个数据寄存器中的数据移动到另一个数据寄存器中。其具体使用方法为:首先确定需要移动数据的寄存器地址和数据,然后在程序中使用MO...

PLC中【MOVD100D100】什么意思?

这条指令好像没有意义啊,将暂存器D100的内容再存到暂存器D100中。这条指令好像没有意义啊,将暂存器D100的内容再存到暂存器D100中。

台达plc程序中movh96d1120是什么意思?

是通讯协议,,D1120是RS485通讯H96的意思是:波特率是19200数据位是7停止位是1校验是Even是通讯协议,,D1120是RS485通讯H96的意思是:波特率是...

 三星s5698  市政天元城 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2025  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部