微信小程序 > 百家号Lite > 了解PLC编程语言,分享西门子PLC指令表功能的汇总
微信小程序,百家号Lite,了解PLC编程语言,分享西门子PLC指令表功能的汇总

了解PLC编程语言,分享西门子PLC指令表功能的汇总

2019-04-02 00:12:52

如何评价百家号Lite小程序热议话题「了解PLC编程语言,分享西门子PLC指令表功能的汇总」
一、西门子PLC编程语言
PLC的编程语言包括以下五种:梯形图语言(LD)、指令表语言(IL)、功能模块图语言(FBD)、顺序功能流程图语言(SFC)及结构化文本语言(ST)。不同型号的PLC编程软件对以上五种编程语言的支持种类是不同的,早期的PLC仅仅支持梯形图编程语言和指令表编程语言。目前的PLC对梯形图(LD)、指令表(STL)、功能模块图(FBD)编程语言都以支持。比如,SIMATICSTEP7MicroWINV3.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(LoadNot不装载):动断触点
3、A(And与动合):用于动合触点串联
4、AN(AndNot与动断):用于动断触点串联
5、O(Or或动合):用于动合触点并联
6、ON(OrNot或动断):用于动断触点并联
7、=(Out输出):用于线圈输出
8、OLD(OrLode):块或
9、ALD(AndLode):块与
10、LPS(LogicPush):逻辑入栈
11、LRD(LogicRead):逻辑读栈
12、LPP(LogicPop):逻辑出栈
13、NOT(not并非):非
14、NOP(NoOperationPerformed):无操作
15、AENO(AndENO):指令盒输出端ENO相与
16、S(Set放置):置1
17、R(Reset重置,清零):清零
18、P(Positive):上升沿
19、N(Negative):下降沿
20、TON(On_DelayTimer):接通延时定时器21、TONR(RetentiveOn_DelayTimer):有记忆接通延时定时器
22、TOF(Off_DelayTimer):断开延时定时器
23、CTU(CountUp):增计数器
24、CTD(CountDown):减计数器
25、CTUD(CountUp/CountDown):增减计数器
26、ADD(add加):加注意
//ADD_I(_I表示整数)
ADD_DI(DI表示双字节整数)
ADDR(R表示实数)
它们都是加运算只是数的大小不同。
27、SUB(Subtract减去,减少):减
28、MUL(Multiply):乘
29、DIV(Divide):除
30、SQRT(Squareroot):求平方根
31、LN(NapierianLogarithm自然对数):求自然对数
32、EXP(Exponential指数的):求指数
33、INC_B(Increment增加):增1
//其中_B代表数据类型还有W(字节)、DW双字后面几个都是这样的。34、DEC_B(Decrement减少):减1
35、WAND_B(Wordand与命令):逻辑与
36、WOR_B(Wordor或命令):逻辑或
37、WXOR_B(Wordexclusiveor异或命令):逻辑异或
38、INV_B(Inverse相反):取反
39、MOV_B(Move移动):数据传送
40、BLKMOV_B(BlockMove块移动):数据块传送
41、SWAP(Swap交换):字节交换
42、FILL(Fill填充):字填充
43、ROL_B(RotateLeft循环向左):循环左移位
44、ROR_B(RotateRight循环向右):循环右移位
45、SHL_B(ShiftRight移动向左):左移动
46、SHR_B(ShiftRight移动向右):右移动
47、SHRB(Shiftbuffer移动缓存):寄存器移位
48、STOP(Stop停止):暂停
49、END/MEND(End/Mend):条件/无条件结束
50、WDR(Watchdogreset):看门狗复位
51、JMP(Jump跳):跳转
52、LBL(Label位置):跳转标号
53、FOR(For循环):循环
54、NEXT(Next再下去):循环结束
55、SBR(SubprogramRegulating子程序控制):子程序调用
56、SBR_T(SubprogramRegulatingTake):带参数子程序调用
57、SCR(SequenceControl顺序控制):步开始
58、SCRT(SequenceControlTransfer顺序控制转移):步转移
59、SCRE(SequenceControlEnd顺序控制结束):步结束
60、AD_T_TBL(Adddatatotable添加数据到表格中):填数据表
61、FIFO(FirstinFirstout先进先出):先进先出
62、LIFO(LastinFirstout后进先出):后进先出
63、TBL_FIND(TableFind表格查找):表查找
64、BCD_I(BinaryCodedDecimal_I二进制编码的十进制):BCD码转整数
65、I_BCD(I_BinaryCodedDecimaL):整数转BCD码
66、B_I(Bittoint):字节转整数
67、I_B(inttobit):整数转字节
68、DI_I(Doubleinttoint):双整数转整数
69、I_DI(inttodoubleint):整数转双整数
70、ROUND(Round取整):实数转双整数
71、TRUNC(Trunc截取):转换32位实数整数部分(舍去小数取整)
72、DI_I(doubleinttoint):双整数转实数
73、ENCO(Encode编码):编码
74、DECO(Decode译码):译码
75、SEG(Segmentdecoder分断译码器):七段显示译码器
76、ATH(ASCII码turnhex):ASCII码转16进制
77、HTA(Hexadecimaltoascii):16进制转ASCII码
78、ITA(//inttoascii):整数转ASCII码
79、DTA(//doubleinttoascii):双整转ASCII码
80、RTA(//realtoascii):实数转ASCII码
81、ATCH(//attach):中断连接
82、DTCH(Depatch):中断分离
83、HDEF(Highspeedcounterdefinition):高速计数器定义
84、HSC(HighSpeedCounter高速计数器):启动高速计数器
85、PLS(Pulse脉冲):脉冲输出
86、READ_RTC(Readrealtimeclock读实时时钟):读实时时钟
87、SET_RTC(Setrealtimeclock):写实时时钟
88、XMT(Transmitter):自由发送
89、RCV(Receive接收):自由接收
90、NETR(Netread网络读):网络读
91、NETW(Netwrite网络写):网络写
92、GET_ADDR(Getaddress获取地址):获取口地址
93、SET_ADDR(Setaddress设置地址):设定口地址
94、PID(ProportionalIntegralDifferential比例、积分、微分):比例积分微分调节器。
如有不妥,欢迎指正!
该话题由百家号作者生活用电「简介:拥有多年电气维护实战经验」
更多有关了解PLC编程语言,分享西门子PLC指令表功能的汇总的话题讨论请访问百家号Litex小程序关注作者-生活用电
标签:
微信小程序,百家号Lite,了解PLC编程语言,分享西门子PLC指令表功能的汇总

「了解PLC编程语言,分享西门子PLC指令表功能的汇总」热议话题订阅

方法1:微信扫描百家号Lite小程序码即可订阅热议话题「了解PLC编程语言,分享西门子PLC指令表功能的汇总」

方法2:微信搜索百家号Lite小程序名称进入,即可订阅热议话题「了解PLC编程语言,分享西门子PLC指令表功能的汇总」

方法3:微信网页访问即速商店,长按识别百家号Lite小程序码即可订阅热议话题「了解PLC编程语言,分享西门子PLC指令表功能的汇总」

百家号Lite小程序热议话题「了解PLC编程语言,分享西门子PLC指令表功能的汇总」由百家号Lite原创摘录于微信小程序商店shop.jisuapp.cn,转载请注明出处。

百家号Lite热议话题「了解PLC编程语言,分享西门子PLC指令表功能的汇总」由百家号Lite开发者向微信用户提供,并对本服务内容、数据资料及其运营行为等真实性、合法性及有效性承担全部责任。