研选课堂
HOME
研选课堂
正文内容
plc编程手持程序 指令表(IL),梯形图(LD)都是PLC 的常用编程语言?图文详解
发布时间 : 2025-03-13
作者 : 小编
访问数量 : 23
扫码分享至微信

指令表(IL)、梯形图(LD)都是PLC 的常用编程语言?图文详解

PLC 是一种工业控制计算机,其软件必然是通过编程语言来编辑的。

目前 PLC 常用的编程语言有梯形图、指令语句表和顺序功能图。功能块图和结构文本高级语言则存在于某些PLC中。

一、指令表(IL)

指令语句表也叫助记符或列表,是基于字母符号的一种语言,类似于计算机的汇编语言。

这种编程语言是用一系列操作指令组成的 语句表将控制流程描述出来,并通过编程器或者编程软件送到PLC中去,指令语句表是由若干条语句组成的程序,语句是程序的最小单元。一个操作功能是由一条或若干条语句来完成的。PLC的操作指令系统比计算机的汇编语言简单很多。但表达形式类似。也是由地址、操作码和操作数三部分组成,关于FX2N的具体操作指令待讲解程序编制时再作介绍。

下图为—指令表程序(FX2N PLC)

若果把指令表的逻辑关系写成逻辑表达式则为:

Y0=(X0+Y0)* X1

不同品牌的PLC其指令表的形式是相同的,但是指令的符号表示,各编程元件表示则相差很大。

指令表编程语言是最基本的程序设计语言。它具有容易记忆便于操作的特点,它可以用最简单的编程工具—手持编程器进行编程。它与其他语言多有一一对应的关系,而且,一些其他语言无法表达的程序用它都可以进行表达。它的缺点是阅读困难,其中的操作功能很难一眼看出,不便于工控人员之间进行交流和沟通

早期,在编程软件普及前一般都是先用梯形图设计程序,然后再手工编译成指令表程序,最后用手持编程器将程序送入PLC。现在,编程软件已经普及,在编程软件上,我们只要编好梯形图程序,软件会自动编译成指令表程序。所以,我们今后重点是梯形图编程语言的学习和编程软件的操作。对指令表编程语言则不作进一步讲解。但是,PLC的各种操作指令的学习则是必不可少的编程基础。

二、梯形图(LD)

梯形图编程语言习惯上叫梯形图。其源自继电控制系统电气原理图的形式,也可以说,梯形图是在电气控制原理图上对常用的继电器,接触器等逻辑控制基础上简化了符号演变而来的,

由于PLC在结构上,工作原理都和继电器控制系统截然不同,因而他们之间必定存在着许多差异。初学者可以通过继电器控制电路图切入梯形图,但一旦入了门,则必须完全离开继电控制电路图

下图为根据指令表这一节中的指令表程序所画出的梯形图,其功能和指令表程序一样,但理解却容易多了,电工师傅们一看就知道,这是一个电动机起、保、停控制程序

和指令表编程语言一样,尽管都是梯形图,但各个厂家PLC对梯形图的画法还是有差别的。对最基本的逻辑控制指令差别并不大,但对功能指令(实现数据操作的指令)的表达上差别非常大。这也是为什么学习三菱PLC后再学习西门子S7-300/400,很多人感到不好学的原因之一。

梯形图语言优点非常特出,形象、直观、易学、实用,电气人员容易接受,是目前所有PLC都具备的编程语言,也是用的最多的一种PLC编程语言。

(未完待续,下一节内容为顺序功能图、功能快图、结构文本),电工小琦原创,未经授权不得转载,违者必究!

往期优秀文章回顾:

电气工程师的PLC基础应用实例:S7-200 SMART如何实现喷泉控制?

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的手持编程器是一种便携式设备,用于编程和设置PLC。首先,连接手持编程器与PLC,确保电源供应正常。然后,打开手持编程器,并选择“在线模式”。接...

三菱plc指令ADD用手持编程器肿么写-ZOL问答

三菱plc指令ADD用手持编程器无法直接输入。需要输入该应用指令的功能代号。ADD是加法指令,功能代号是FNC20.用手编输入方法:按“FNC”键,然后输入数字20,手编...

西门子编程器使用方法?

需要准备的工具:西门子PLC编程软件,电脑。1、计算机系统应用语言在“控制面板”(ControlPanel)的“区域与语言”(Regionandlanguage)中确认。2、单击...

PLC可编程控制器软件

[最佳回答]PLC可编程控制器软件:在工业生产过程中,大量的开关量顺序控制,它按照逻辑条件进行顺序动作,并按照逻辑关系进行连锁保护动作的控制,及大量离散量的...

光洋plc上电怎么进入工作?

PLC一般有三种上电模式,编程模式、监视模式和运行模式,上电后需要哪种模式可以在PLC的编程软件里进行设置。另外,哪怕是运行模式,也可以通过编程,利用外部的...

如何自己diyplc学习平台?

要学习PLC首先要有一台供学习和实验的样机以及该机品牌和型号的硬件资料和软件、编程资料,还要一台计算机(以前的手持编程器或图形编程器也可以,但没有电脑...

三菱A1SX40-S1三菱fx系列plc编程价格多少

[回答]输入点数:16点。输入电压:DC24。输入电流:7mA。连接方式:端子排。共用公共端的点数:16点。指令表编程语言是与汇编语言类似的一种助记符编程语言,和...

三菱A1SX40兼容三菱plc怎么选

[回答]输入点数:16点。输入电压:12-DC24。输入电流:3-7。连接方式:端子排共用公共端的点数:16点。指令表编程语言是与汇编语言类似的一种助记符编程语言,...

请问一下,触摸屏和PLC是不是要搭配才能用,还是触摸屏是根据PLC定做的?

不用,plc全称可编程控制器是可以根据使用要求编写程序的,编写途径可通过电脑、手持编程器等都可以。如需工作现场改写数据启停查看数据反馈等功能可与触摸屏...

跪求回答:长安工厂式教学的PLC自动化编程培训单位,PLC自动...

[回答]就是专门教CNC的,可以去看看。有一家学校,我老婆的弟弟在那里学的,学完后就可以实操,他还自己编程加工了一个烟灰缸,叫什么名师高徒吧,可以网上搜下...

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

QQ

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

热线

188-0000-0000
专属服务热线

微信

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