PLC用什么语言编程
西门子PLC支持以下几种编程语言,其中包含梯形图:
1、顺序功能图(SFC,Seauential Fuction Chart)
西门子STEP7中的该编程语言是S7 Graph。这是位于其它编程语言之上的图形语言,用来编程顺序控制的程序(如:机械手控制程序)。编写时,工艺过程被划分为若干个顺序出现的步,每步中包括控制输出的动作,从一步到另一步的转换由转换条件来控制,特别适合于生产制造过程。
2、梯形图(LAD,LAdder Diagram)
这是使用使用最多的PLC编程语言。因与继电器电路很相似,具有直观易懂的特点,很容易被熟悉继电器控制的电气人员所掌握,特别适合于数字量逻辑控制。梯形图由触点、线圈和用方框表示的指令构成。
触点代表逻辑输入条件,线圈代表逻辑运算结果,常用来控制的指示灯,开关和内部的标志位等。指令框用来表示定时器、计数器或数学运算等附加指令。在程序中,最左边是主信号流,信号流总是从左向右流动的。不适合于编写大型控制程序。
3、语句表(STL,STatement List)
是一种类似于微机汇编语言的一种文本编程语言,由多条语句组成一个程序段。语言表适合于经验丰富的程序员使用,可以实现某些梯形图不能实现的功能。
4、功能块图(FBD,Function Block Diagram)
功能块图使用类似于布尔代数的图形逻辑符号来表示控制逻辑,一些复杂的功能用指令框表示,适合于有数字电路基础的编程人员使用。
功能块图用类似于与门、或门的框图来表示逻辑运算关系,方框的左侧为逻辑运算的输入变量,右侧为输出变量,输入、输出端的小圆圈表示“非”运算,方框用“导线”连在一起,信号自左向右。
5、结构化文本(ST,Structured Text)
结构化文本(ST)是为IEC61131,3标准创建的一种专用的高级编程语言。与梯形图相比,它实现复杂的数学运算,编写的程序非常简洁和紧凑。STEP7的S7 SCL结构化控制语言,编程结构和C语言和Pascal语言相似,特别适合于习惯于使用高级语言编程的人使用。
扩展资料:
一、西门子plc编程软件分类:
1、STEP7 Microwin 是西门子S7-200编程软件。
2、STEP 7- Micro/WIN SMART: 是专门为S7-200 SMART 开发的编程软件,能在Windows XP SP3/Windows 7 上运行,支持LAD、FBD、STL语言。安装文件小于100MB。
3、STEP7 V5.5 是西门子S7-300,S7-400,ET200编程软件。
4、STEP 7 V11 —TIA Portal是西门子最新的编程软件,支持的plc有S7-300,S7-400,S7-1500,S7-1200。
二、支持操作系统:
上述软件支持 Windows XP SP3和 Windows7。
三、软件授权方式:
Micro Win和Micro Win Smart 不需要授权,STEP7 V5.5 和 V11 都需要授权,但是西门子提供14天免费使用版。
根据PLC应用范围,程序设计语言可以组合使用,常用的程序设计语言有以下几种:
(1) 梯形图(Ladder Diagram)程序设计语言
梯形图程序设计语言是用梯形图的图形符号来描述程序的一种程序设计语言。采用梯形图程序设计语言,这种程序设计语言采用因果关系来描述事件发生的条件和结果,每个梯级是一个因果关系。在梯级中,描述事件发生的条件表示在左面,事件发生的结果表示在右面。
梯形图程序设计语言是最常用的一种程序设计语言,它来源于继电器逻辑控制系统的描述。在工业过程控制领域,电气技术人员对继电器逻辑控制技术较为熟悉。因此,由这种逻辑控制技术发展而来的梯形图受到欢迎,并得到广泛的应用。
梯形图程序设计语言的特点是:
·与电气操作原理图相对应,具有直观性和对应性;
·与原有继电器逻辑控制技术相一致,易于撑握和学习;
·与原有的继电器逻辑控制技术的不同点是:梯形图中的能流(Power FLow)不是实际意义的电流,内部的继电器也不是实际存在的继电器,因此应用时需与原有继电器逻辑控制技术的有关概念区别对待;
·与布尔助记符程序设计语言有一一对应关系,便于相互转换和程序检查。
(2) 布尔助记符(Boolean Mnemonic)程序设计语言
布尔助记符程序设计语言是用布尔助记符来描述程序的一种程序设计语言。布尔助记符程序设计语言与计算机中的汇编语言非常相似,采用布尔助记符来表示操作功能。
布尔助记符程序设计语言具有下列特点:
·采用助记符来表示操作功能,具有容易记忆,便于撑握的特点;
·在编程器的键盘上采用助记符表示,具有便于操作的特点,可在无计算机的场合进行编程设计;
·与梯形图有一一对应关系,其特点与梯形图语言基本类同。
(3) 功能表图(Sepuential Function Chart)程序设计语言
功能表图程序设计语言是用功能表图来描述程序的一种程序设计语言。它是近年来发展起来的一种程序设计语言。采用功能表图的描述,控制系统被分为若干个子系统,从功能入手,使系统的操作具有明确的含义,便于设计人员和操作人员设计思想的沟通,便于程序的分工设计和检查调试。功能表图程序设计语言的特点是:
·以功能为主线,条理清楚,便于对程序操作的理解和沟通;
·对大型的程序,可分工设计,采用较为灵活的程序结构,可节省程序设计、调试时间;
·常用于系统规模校大、程序关系较复杂的场合;
·只有在活动步的命令和操作被执行,对活动步后的转换进行扫描,因此整个程序的扫描时间较其他程序编制的程序扫描时间要短得多。
功能表图来源于佩特利(Petri)网,由于它具有图形表达方式,能比较简单清楚地描述并发系统和复杂系统的所有现象,并能对系统中存在的象死锁、不安全等反常现象进行分析和建模,在模型的基础上可以直接编程,因此得到了广泛的应用。近几年推出的可编程控制器和小型集散控制系统中也已提供了采用功能表图描述语言进行编程的软件。(4) 功能模块图(Function Block)程序设计语言
功能模块图程序设计语言是采用功能模块来表示模块所具有的功能,不同的功能模块有不同的功能。它有若干个输入端和输出端,通过软连接的方式,分别连接到所需的其它端子,完成所需的控制运算或控制功能。功能模块可以分为不同的类型,在同一种类型中,也可能因功能参数的不同而使功能或应用范围有所差别,例如,输入端的数量、输入信号的类型等的不同使它的使用范围不同。由于采用软连接的方式进行功能模块之间及功能模块与外部端子的连接,因此控制方案的更改、信号连接的替换等操作可以很方便实现。功能模块图程序设计语言的特点是:
·以功能模块为单位,从控制功能入手,使控制方案的分析和理解变得容易;
·功能模块是用图形化的方法描述功能,它的直观性大大方便了设计人员的编程和组态,有较好的易操作性;
·对控制规模较大、控制关系较复录的系统,由于控制功能的关系可以较清楚地表达出来,因此,编程和组态时间可以缩短,调试时间也能减少;
·由于每种功能模块需要占用一定的程序内存,对功能模块的执行需要一定的执行时间,因此,这种设计语言在大中型PLC和集散控制系统的编程和组态中才被采用。
(5) 结构化语句(Structured Text)描述程序设计语言
结构化语句描述程序设计语言是用结构化的描述语句来描述程序的一种程序设计语言。它是一种类似于高级语言的程序设计语言。在大中型的可编程序控制器系统中,常采用结构化语句描述程序设计语言来描述控制系统中各个变量的关系。它也被用于集散控制系统的编程和组态。
结构化语句描述程序设计语言采用计算机的描述语句来描述系统中各种变量之间的运算关系,完成所需的功能或操作。大多数制造厂商采用的语句描述程序设计语言与BASIC语言、PASCAL语言或C语言等高级语言相类似,但为了应用方便,在语句的表达方法及语句的种类等方面都进行了简化。
结构化程序设计语言具有下列特点:
·采用高级语言进行编程,可以完成较复杂的控制运算;
·需要有一定的计算机高级程序设计语言的知识和编程技巧,对编程人员的技能要求较高,普通电气人员难以完成。
·直观性和易操作性等较差;
·常被用于采用功能模块等其他语言较难实现的一些控制功能的实施。
部分PLC的制造厂商为用户提供了简单的结构化程序设计语言,它与助记符程序设计语言相似,对程序的步数有一定的限制。同时,提供了与PLC间的接口或通信连接程序的编制方式,为用户的应用程序提供了扩展余地。 3 PLC程序设计语言应用实例
温度控制是许多机器的重要的构成部分。它的功能是将温度控制在所需要的温度范围内,然后进行工件的加工与处理。PID控制系统是得到广泛应用的控制方法之一,下面较为详尽地介绍了PID温度控制的PLC程序设计实例。
(1) 系统组成
本套系统采用Omron的PLC与其温控单元以及Pro-face的触摸屏所组成。系统包括CQM1H-51、扩展单元TC-101、GP577R以及探温器、加热/制冷单元。
(2) 触摸屏参数设置
设002代表现在的温度,而102表示输出的温度。如按下开始设置就可设置参数。需要设置的参数有6个,分别是比例带、积分时间、微分时间、滞后值、控制周期、偏移量。它们在PLC的地址与一些开关的地址如下:
比例带 : DM51 积分时间 : DM52
微分时间 : DM53 滞后值 : DM54
控制周期 : DM55 偏移量 : DM56
数据刷新 : 22905
(3) PLC程序
002:PID的输入字
102:PID的输出字
[NETWORK]
Name="Action Check" //常规检查
[STATEMENTLIST]
LD 253.13 //常ON.
OUT TR0
CMP 002 #FFFF
//确定温控单元是否完成初始化
AND NOT 255.06 //等于
OUT 041.15 //初始化完成
LD TR0
AND 041.15
OUT TR1
AND NOT 040.10
//不在参数设置状态
MOV DM0050 102
//将设置温度DM50传送给PID输出字
LD TR1
MOV 002 DM0057
//将002传送到DM57
[NETWORK]
Name="Setting Start" //设置开始
[STATEMENTLIST]
LD 253.13
OUT TR0
AND 229.05
//触摸屏上的开始设置开关
DIFU 080.05 //设置微分
LD TR0
AND 041.15
AND 080.05
SET 040.01 //开始设置标志位1
SET 040.10 //开始设置标志位2
[NETWORK]
Name="Poportion" //比例带设置
[STATEMENTLIST]
LD 040.01
OUT TR0
AND NOT 042.01
MOV #C110 102
//读输出边与输入边的比例带
CMP 002 #C110
//比较输入字是否变成C110
AND 255.06 //等于
SET 042.01 //设置比例带标志
LD TR0
AND 042.01
MOV DM0051 102
//将比例带的设定值写入输出字
CMP 002 DM0051 //是否写入
AND 255.06
SET 040.01 //复位标志1
RSET 042.01 //复位比例带标志
SET 040.02 //向下继续设置标志
[NETWORK]
Name="Integral"//积分时间设置
[STATEMENTLIST]
LD 040.02
OUT TR0
AND NOT 042.02
MOV #C220 102
//读输出边与输入边的积分
CMP 002 #C220
//比较输入字是否变成C220
AND 255.06
SET 042.02 //设置积分标志
LD TR0
AND 042.02
MOV DM0052 102
//将积分的设定值写入输出字
CMP 002 DM0052 //是否写入
AND 255.06
RSET 040.02
RSET 042.02
SET 040.03 //向下继续设置标志
[NETWORK]
Name="differential"//微分时间设置
[STATEMENTLIST]
LD 040.03
OUT TR0
AND NOT 042.03
MOV #C330 102
//读输出边与输入边的微分
CMP 002 #C330
//比较输入字是否变成C330
AND 255.06
SET 042.03 //设置微分标志
LD TR0
AND 042.03
MOV DM0053 102
//将微分的设定值写入输出字
CMP 002 DM0053 //是否写入AND 255.06
RSET 040.03
RSET 042.03
SET 040.04 //向下继续设置标志
[NETWORK]
Name="Hysteresis"//滞后值设置
[STATEMENTLIST]
LD 040.04
OUT TR0
AND NOT 042.04
MOV #C440 102
//读输出边与输入边的滞后值
CMP 002 #C440
//比较输入字是否变成C440
AND 255.06
SET 042.04 //设置滞后值标志
LD TR0
AND 042.04
MOV DM0054 102
//将滞后值的设定值写入输出字
CMP 002 DM0054 //是否写入
AND 255.06
RSET 040.04
RSET 042.04
SET 040.05 //向下继续设置标志
[NETWORK]
Name="Period" //控制周期设置
[STATEMENTLIST]
LD 040.05
OUT TR0
AND NOT 042.05
MOV #C550 102
//读输出边与输入边的控制周期
CMP 002 #C550
//比较输入字是否变成C550
AND 255.06
SET 042.05 //设置控制周期标志
LD TR0
AND 042.05
MOV DM0055 102
//将控制周期的设定值写入输出字
CMP 002 DM0055 //是否写入
AND 255.06
RSET 040.05
RSET 042.05
SET 040.06 //向下继续设置标志
[NETWORK]
Name="Shift" //偏移量设置
[STATEMENTLIST]
LD 040.06
OUT TR0
AND NOT 042.06
MOV #C660 102
//读输出边与输入边的偏移量
CMP 002 #C660
//比较输入字是否变成C660
AND 255.06
SET 042.06 //设置偏移量标志
LD TR0
AND 042.06
MOV DM0056 102
//将偏移量的设定值写入输出字
CMP 002 DM0056 //是否写入
AND 255.06
RSET 040.06
RSET 042.06
SET 040.00
[NETWORK]
Name="Return" //返回
[STATEMENTLIST]
OUT TR0
AND NOT 042.00
MOV #C070 102 //读输入边的处理值
CMP 002 #C070 //比较输入字变成C070
AND 255.06
SET 042.00 //返回标志
LD TR0
AND 042.00
MOV DM0050 102
//将设定温度值写入输出字
RSET 040.00
RSET 042.00
RSET 040.10 4 结束语
以上是PID温度控制的PLC程序设计实例,经过反复试验,该系统可以维持温度在1℃之间变化,保证了好的生产状况,减少了不合格品发生的几率。
PLC用什么语言编程的你知道吗?
梯形图。既直观又容易掌握
性用语lc是什么意思
答:LC是let me see的缩写,意思是“我明白了”。LC属于典型的英文首字母缩写类型的网络用语,而且这一类的网络语言越来越成为了人们网络生活中必不可少的一部分。LC这类词语往往有一定的时效性,所以随着时间的推进,就会被新的梗所覆盖,继而产生与“lc”意思类似的其他网络语言。
小白学LangChain:LangChain表达式语言(LCEL)
LangChain是一个基于语言模型开发应用程序的框架,其核心能力之一是LangChain表达式语言(LCEL),一种声明性方式,轻松组合链。LCEL提供以下优势:1.1 绑定运行时参数 通过使用`Runnable.bind()`,轻松传递常量参数,不依赖序列中的前一个Runnable输出或用户输入。以`prompt+model`序列为例,使用停止词...
求LC-2K汇编语言(Assembly Language)的算组合数C(n,r)的代码。已经写出...
你好,我是丁老师,a.k.a. Robert Dick.Hopefully you can optimize the code all by yourself. You know, this is a very important procedure for a coder to optimize the code to work well.Good luck!
lc是什么意思?
LC(lc)是一个多义词,代表的意思有很多——在化妆品中是一个品牌的名称;在外贸中是付款方式的一种缩写;在医学上是一个学术名词,是腹腔镜胆囊切除术;签证中的意思是信用证;也是语言中心的英文缩写;建筑中LC长度是指暗柱拉筋的布置长度范围;在电学中LC指振荡电路。 1、LC在化妆品牌中的意思 LC是护肤、彩妆、香水...
编程都有哪些语言?
目前热门的语言有:C、C++、JAVA、VB、VC、FoxPro、Delphi、SQL、PHP、ASP、JSP等等。专门有机构为编程语言进行排名,如下图:
c语言数据结构,把一个单链表LA中的奇数项和偶数项分开,分别放在两个...
\/\/输入时以-1结束 include <stdio.h> include <stdlib.h> struct node { int data;struct node * next;};struct node * create(){ struct node * head = NULL;struct node * p = NULL;struct node * tmp = NULL;int num;printf("input number end -1\\n");while (1){ scanf("%d"...
网络用语lc是什么意思?
在网络语言中,lc的含义是“蓝翅”,是一种对于某个网游角色名的称呼。在游戏中,每个玩家都会选择一个角色名字,有时玩家们会给自己取一个特别的名字,同时也会给其他玩家起昵称,这样可以更容易地辨认身份。除了在游戏中使用,lc也有可能在其他场合中出现。例如,我们可能会在社交媒体上看到有人说“lc...
请问什么是ST、 FC、 C、 AT?
答案:ST、STFC、C、和AT是不同的术语,分别有不同的含义。解释:1. **ST**:通常是"Structured Text"的缩写,是一种高级的程序设计语言,主要用于工业自动化和控制系统的开发。ST语言是IEC 61131-3标准的一部分,主要用于可编程逻辑控制器(PLC)的编程。2. **STFC**:没有通用的解释,可能是...
lc是什么意思
5、语言中心的缩写 英文缩写LC【英文全称】Language Centre,【中文解释】语言中心 6、建筑中的意思是 LC长度是指暗柱拉筋的布置长度范围.,LC表示约束边缘构件沿墙肢的长度,跟据建筑的抗震等级相对应。我们通过以上关于lc是什么意思内容介绍后,相信大家会对lc是什么意思有一定的了解,更希望可以对你有所...
C语言编程 我喜欢你,但是我喜欢你 这几个字不能出现
include <stdio.h> include <stdlib.h> include <locale.h> int main(void){ char str[12];wchar_t wstr[] = { 0x6211, 0x559c,0x6b22,0x4f60,0 };setlocale(LC_ALL, "");wcstombs(str, wstr, sizeof(str)\/sizeof(char));printf("%s", str);getchar();return 0;} ...
徐蕊肝速: 通常三种 : 梯形图,功能表,ST文本 ,还有其他2-3种,但不常用.现在高级点PLC都支持前3种混合使用.一般采用梯形图,如果有较复杂算法和自编通讯程序,考虑用ST文本.如果对电子、单片机精通,一边习惯用功能表.不管哪种语言,都是一种符号,最后都要转换为汇编,并生成机器语言下载到plc中.
岢岚县15131153172: PLC用哪种编程语言比较好 - ?
徐蕊肝速: PLC编程语言主要是梯形图,语句表,结构功能图,这三种,少数的PLC还支持C语言,哪种都是各有各的特点,没有什么好不好的,就看编程人员喜欢用哪种了,我就比较喜欢用梯形图,单片机编程转行PLC编程的就喜欢用语句表和C语言. 望采纳......
岢岚县15131153172: PLC编程语言有什么 - ?
徐蕊肝速: PLC有五种标准化编程语言:顺序功能图(SFC)、梯形图(LD)、功能模块图(FBD)三种图形化语言和语句表(IL)、结构文本(ST)两种文本语言 最常用的两种编程语言,一是梯形图,二是助记符语言表. 采用梯形图编程,因为它直观易懂,但需要一台个人计算机及相应的编程软件;采用助记符形式便于实验,因为它只需要一台简易编程器,而不必用昂贵的图形编程器或计算机来编程.
岢岚县15131153172: 近期学习PLC开发,想问下朋友们PLC开发常用的编程语言有哪几种啊??
徐蕊肝速: PLC开发标准编程语言主要有这几种:1.顺序功能图顺序图用于描述开关控制系统的功能,是一种高于其他编程语言的图形语言,用于编制顺序控制程序.2.梯形图梯形图是用图形符号及其在图中的关系来表达控制关系的编程语言.3.功能框图(FBD)这是一种类似数字逻辑门电路的编程语言,有数字电路基础的人很容易掌握.4.指令列表PLC的指令是一种类似于微机汇编语言指令的助记表达式.由指令组成的程序称为指令表程序.5.结构化文本文本(ST)是为IEC 61131-3标准创建的一种特殊的高级编程语言.
岢岚县15131153172: plc有几种编程语言以及它们的特点,求指点? - ?
徐蕊肝速: plc的编程语言有以下几种:1、梯形图(LD)2、功能块图(FBD)3、顺序功能图(SFC)4、结构化文本(ST)5、指令表(IL)语言类型PLC的用户程序,是设计人员根据控制系统的工艺控制要求,通过PLC编程语言的编制规范,按照实际...
岢岚县15131153172: PLC的编程语言有哪几种? - ?
徐蕊肝速: FBD:功能块图 SFC:顺序功能图 LD:梯形图 一般梯形图最常用,初学最易理解.你可以下载台达的编程软件,自己摸索下就知道了. http://www.deltagreentech.com/Upload/CTContent/E8069BA4-E3D3-4299-B205-C39FE202B82D/SC/Delta_WPLSoft_V2.34.zip