0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

深入分析西门子PLC指令表

1bGT_GKYXT1508 来源:未知 作者:胡薇 2018-11-09 14:37 次阅读

一、西门子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
    +关注

    关注

    4974

    文章

    12254

    浏览量

    454870
  • 西门子
    +关注

    关注

    91

    文章

    2849

    浏览量

    113764
  • 指令
    +关注

    关注

    1

    文章

    579

    浏览量

    35372

原文标题:了解PLC编程语言,分享精心整理的西门子PLC指令表

文章出处:【微信号:GKYXT1508,微信公众号:工控云学堂】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    深入浅出西门子S7-300PLC

    深入浅出西门子S7-300PLC西门子官方教程,值得学习
    发表于 12-02 09:49 0次下载

    西门子PLC指令表

    西门子PLC指令表
    发表于 10-16 10:28 37次下载

    图解西门子与三菱PLC高级指令的区别

    图解西门子与三菱PLC高级指令的区别
    的头像 发表于 05-02 10:09 5947次阅读
    图解<b class='flag-5'>西门子</b>与三菱<b class='flag-5'>PLC</b>高级<b class='flag-5'>指令</b>的区别

    正确区分西门子和三菱指令表

    史上最全西门子与三菱指令对照表
    的头像 发表于 07-04 10:34 5659次阅读
    正确区分<b class='flag-5'>西门子</b>和三菱<b class='flag-5'>指令表</b>

    西门子PLC指令的教程详细说明

    本文档的主要内容详细介绍的是西门子PLC指令的教程详细说明
    发表于 03-21 14:38 24次下载
    <b class='flag-5'>西门子</b><b class='flag-5'>PLC</b>位<b class='flag-5'>指令</b>的教程详细说明

    西门子PLC的数字指令教程详细说明

    本文档的主要内容详细介绍的是西门子PLC的数字指令教程详细说明。
    发表于 03-21 16:41 32次下载
    <b class='flag-5'>西门子</b><b class='flag-5'>PLC</b>的数字<b class='flag-5'>指令</b>教程详细说明

    西门子PLC的位指令教程详细说明

    本文档的主要内容详细介绍的是西门子PLC的位指令教程详细说明。
    发表于 03-23 16:51 38次下载
    <b class='flag-5'>西门子</b><b class='flag-5'>PLC</b>的位<b class='flag-5'>指令</b>教程详细说明

    西门子S7-300系列PLC基本指令系统

    西门子S7-300系列PLC基本指令系统资料免费下载。
    发表于 04-23 11:50 191次下载

    西门子PLC指令和程序设计

    西门子PLC指令和程序设计方法免费下载。
    发表于 05-07 09:42 116次下载

    西门子基础指令大全

    西门子基础指令
    的头像 发表于 09-14 09:59 3776次阅读

    西门子常用PLC指令表

    西门子常用PLC指令表
    的头像 发表于 02-09 14:34 3761次阅读

    分享精心整理的西门子PLC指令表

    PLC的编程语言包括以下五种:梯形图语言(LD)、指令表语言(IL)、功能模块图语言(FBD)、顺序功能流程图语言(SFC)及结构 化文本语言(ST)。不同型号的PLC编程软件对以上五种编程语言
    发表于 04-18 09:51 6次下载
    分享精心整理的<b class='flag-5'>西门子</b><b class='flag-5'>PLC</b><b class='flag-5'>指令表</b>

    西门子200PLC指令详解——位逻辑指令

    本文所描述的指令符合SIMATIC和IEC1131指令,不仅可用于 西门子S7-200PLC ,其他小型PLC也可作为参考。比如 SMART
    发表于 04-19 11:07 5次下载
    <b class='flag-5'>西门子</b>200<b class='flag-5'>PLC</b><b class='flag-5'>指令</b>详解——位逻辑<b class='flag-5'>指令</b>

    三菱和西门子PLC区别及优势分析

    首先它们的编程理念不同,三菱PLC是日系品牌,编程直观易懂,学习起来会比较轻松,而西门子PLC是德国品牌,指令比较抽象,学习难度较大,但指令
    的头像 发表于 10-26 08:07 1032次阅读
    三菱和<b class='flag-5'>西门子</b><b class='flag-5'>PLC</b>区别及优势<b class='flag-5'>分析</b>

    三菱or西门子品牌PLC的区别

    三菱PLC是日系品牌,编程直观易懂,学习起来会比较轻松,但指令较多。而西门子PLC是德国品牌,指令比较抽象,学习难度较大,但
    发表于 02-20 14:09 203次阅读