直播课堂
HOME
直播课堂
正文内容
plc编程的代号 PLC的指令是什么?
发布时间 : 2024-11-24
作者 : 小编
访问数量 : 23
扫码分享至微信

PLC的指令是什么?

指令语句表编程语言是所有PLC都具有的最基本的编程语言。而指令语句表程序是由一条一条的指令堆砌而成的。因此,我们有必要对指令进行进一步的说明和解读。

1、指令格式

PLC的指令语句表程序和微机汇编语言程序非常的相似,我们也是以汇编语言的指令和指令系统方式来进行介绍。

所谓指令是指对PLC的一种操作命令,告诉PLC怎么做,做什么?人们设计了一系列的操作命令,并对他进行二进制编码。但是对于人们设计和交流沟通来说,二进制十分不便于记忆、阅读和书写。进一步又设计出了助记符形式的表示,这就是汇编语言的助记符指令格式。助记符指令十分好记,方便阅读和书写。更好的是它可以直接用键盘输入,然后通过PLC内部的编译程序把它变成一系列的二进制操作编码,由PLC的CPU来执行。

那么一条操作指令是由哪些内容组成的呢?一般来说,一条指令是由操作码和操作数组成的,例:

操作码又叫助记符。表示这条指令的性质和功能,就是要求PLC怎么做,一条指令,器操作码是必不可少的。

操作数又叫地址码,操作数地址,表示参与操作数据或数据的地址,在PLC中,也可以把它叫做编程元件。操作数告诉PLC做什么。上面这条指令表示和一个常开触点X0相串联,并完成逻辑“与”运算。

在PLC指令系统中,操作数可有可无,没有操作数的指令只表示完成一种功能,例如下面指令:

END

它就没有操作数,仅表示程序就此结束。

在功能指令中,操作数可以有1-4个,例如下面指令:

ADD D0 D1 D2

这条指令中操作数有三个D0 、D1、 D2。这时候把操作数分为源数(源址)和目的操作数(终址)。源址表示操作数的来源,而终址表示指令操作结果存放地址。上面这条指令表示做加法,把D0和D1相加,相加结果放在D2里。显然D0和D1为源址,D2为终址。

往期优秀文章回顾:

18张电气自动化控制动态图,各种实操原理一眼就能看明白

PLC编程语言入门,常用指令集汇总分享

一、西门子PLC编程语言

PLC的编程语言包括以下五种:梯形图语言(LD)、指令表语言(IL)、功能模块图语言(FBD)、顺序功能流程图语言(SFC)及结构化文本语言(ST)。不同型号的PLC编程软件对以上五种编程语言的支持种类是不同的,早期的PLC仅仅支持梯形图编程语言和指令表编程语言。目前的PLC对梯形图(LD)、指令表(STL)、功能模块图(FBD)编程语言都以支持。比如,SIMATIC STEP7 MicroWIN V3.2。

(1)梯形图

在西门子PLC实际编程使用情况中中,梯形图语言是PLC程序设计中最常用的编程语言。它是与继电器线路类似的一种编程语言。由于电气设计人员对继电器控制较为熟悉,因此,梯形图编程语言得到了广泛的欢迎和应用。

梯形图编程语言的特点是:与电气操作原理图相对应,具有直观性和对应性;与原有继电器控制相一致,电气设计人员易于掌握。梯形图编程语言与原有的继电器控制的不同点是,梯形图中的能流不是实际意义的电流,内部的继电器也不是实际存在的继电器,应用时,需要与原有继电器控制的概念区别对待。

(2)指令表

松下PLC编程

指令表编程语言是与汇编语言类似的一种助记符编程语言,和汇编语言一样由操作码和操作数组成。在无计算机的情况下,适合采用PLC手持编程器对用户程序进行编制。同时,指令表编程语言与梯形图编程语言图一一对应,在PLC编程软件下可以相互转换。

指令表表编程语言的特点是:采用助记符来表示操作功能,具有容易记忆,便于掌握;在手持编程器的键盘上采用助记符表示,便于操作,可在无计算机的场合进行编程设计;与梯形图有一一对应关系。其特点与梯形图语言基本一致。

(3)功能模块图语言(FBD)

功能模块图语言是与数字逻辑电路类似的一种PLC编程语言。采用功能模块图的形式来表示模块所具有的功能,不同的功能模块有不同的功能。

功能模块图编程语言的特点:功能模块图程序设计语言的特点是:以功能模块为单位,分析理解控制方案简单容易;功能模块是用图形的形式表达功能,直观性强,对于具有数字逻辑电路基础的设计人员很容易掌握的编程;对规模大、控制逻辑关系复杂的控制系统,由于功能模块图能够清楚表达功能关系,使编程调试时间大大减少。

(4) 顺序功能流程图语言(SFC)

顺序功能流程图语言是为了满足顺序逻辑控制而设计的编程语言。编程时将顺序流程动作的过程分成步和转换条件,根据转移条件对控制系统的功能流程顺序进行分配,一步一步的按照顺序动作。每一步代表一个控制功能任务,用方框表示。在方框内含有用于完成相应控制功能任务的梯形图逻辑。这种编程语言使程序结构清晰,易于阅读及维护,大大减轻编程的工作量,缩短编程和调试时间。用于系统的规模校大,程序关系较复杂的场合。

顺序功能流程图编程语言的特点:以功能为主线,按照功能流程的顺序分配,条理清楚,便于对用户程序理解;避免梯形图或其他语言不能顺序动作的缺陷,同时也避免了用梯形图语言对顺序动作编程时,由于机械互锁造成用户程序结构复杂、难以理解的缺陷;用户程序扫描时间也大大缩短。

(5)结构化文本语言(ST)

结构化文本语言是用结构化的描述文本来描述程序的一种编程语言。它是类似于高级语言的一种编程语言。在大中型的PLC系统中,常采用结构化文本来描述控制系统中各个变量的关系。主要用于其他编程语言较难实现的用户程序编制。

结构化文本编程语言采用计算机的描述方式来描述系统中各种变量之间的各种运算关系,完成所需的功能或操作。大多数PLC制造商采用的结构化文本编程语言与BASIC语言、PASCAL语言或C语言等高级语言相类似,但为了应用方便,在语句的表达方法及语句的种类等方面都进行了简化。

结构化文本编程语言的特点:采用高级语言进行编程,可以完成较复杂的控制运算;需要有一定的计算机高级语言的知识和编程技巧,对工程设计人员要求较高。直观性和操作性较差。

在PLC控制系统设计中,要求设计人员不但对PLC的硬件性能了解外,也要了解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 放置 ) : 置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、CTUD ( 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的常用代码?

PLC品牌比较多!每个都不一样!西门子,施耐德,AB(罗克韦尔),GE。中型PLC:西门子,施耐德,欧姆龙,三菱。小型PLC:西门子,欧姆龙,三菱,LS,松下,富士...PLC品牌比较...

plc程序是代码么?

PLC的程序是代码。PLC的程序源代码通常由一系列指令和逻辑语句组成,编写它们的目的是实现特定的任务或控制过程。PLC的程序是代码。PLC的程序源代码通常由...

plc编程元件的编号方法?

在PLC编程中,元件的编号方法通常是根据其功能和类型进行命名。常见的元件包括输入(I)、输出(O)、中间继电器(M)、定时器(T)、计数器(C)等。编号方法...在PLC...

什么是plc程序源代码?

源代码就是plc程序的主回路代码,相当于电路中的主回路。源程序是用STL语言写的,可以通过梯形图生成。打开程序块,文件菜单下边有一个生成源文件就可以。最常...

plc程序源代码用什么程序写的?

源程序是用STL语言写的,可以通过梯形图生成。打开程序块,文件菜单下边有一个生成源文件就可以。最常用到的使用源文件的地方就是给程序块加密(虽然现在可以很...

plc电动机的正反转的程序代码?

在PLC编程中,实现电动机的正反转功能需要通过设定相应的PLC程序代码。首先,需要定义输入和输出变量,例如定义输入按钮为启动信号,定义输出变量为电动机的正转...

用PLC如何写报警程序?

编写PLC报警程序需要考虑以下几个步骤:定义报警条件:首先需要确定哪些条件会触发报警,例如某个设备的温度超过设定值、某个传感器的读数异常等。设计报警逻...

三菱PLC代号?

三菱PLC的代号指三菱电机自动化特推出经济型QUTESET型三菱PLC,即一款以自带64点高密度混合单元的5槽Q00JCOUSET;另一款自带2块16点开关量输入及2块16点开关量...

plc进出线编号怎么看?

答:plc控制柜线号要按照强弱电分离单独标识,各部件分别标注的原则。无论是信号线、电源线还是其他短接线都最好是一线一接,同一相或者称作等电位相的电路,连...

 英雄宽频  淘宝运营托管 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

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

热线

188-0000-0000
专属服务热线

微信

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