PLC梯形图编程规范书
PLC梯形图编程语言

PLC梯形图编程语言
梯形图语言是plc程序设计中使用最多的一种编程语言,它是在继电接触器掌握系统电路图的基础上演化而来的。
它与继电接触器掌握系统的电路图非常相像,是一种图形语言,具有直观、简洁、易懂和易于检查等特点,很简单被熟识继电接触器掌握系统的工程技术人员把握。
梯形图语言特殊适用于开关量规律掌握,是PLC的主要编程语言。
图1是一个典型的鼠笼式异步电动机直接起动掌握电路,图2是与之相对应的采纳PLC掌握的梯形图程序。
图1 继电器掌握线路图
图2 PLC梯形图PLC的梯形图语言是图形化编程语言,梯形图中左右两条垂直的线称为母线,是不接任何电源的。
右边的母线常常省略,母线之间是触点的规律连接和线圈的输出。
PLC梯形图中的继电器、定时器、计数器不是物理继电器、定时器、计数器,实际上是存储器中的存储位,因此称为软元件。
相应位为“1”状态,表示继电器线圈得电,其常开触点闭合、常闭触点断开。
梯形图中并没有真实的物理电流流淌,而仅只是“假想电流”(虚电流、概念电流、能流)。
在分析梯形图的规律关系时,为了借用继电器电路图的分析方法,把梯形图中的左母线假想为电源相线,右母线假想为电源零线,假想电流只能从左向右流淌,层次转变只能先上后下。
假想电流是执行用户程序时满意输出执行条件的形象理解。
因此利用假想电流这一概念,可以关心我们更好地理解和分析梯形图。
PLC梯形图编程语言

PLC梯形图编程语言
梯形图编程语言:在继电器掌握线路的基础上简化了符号演化而来(图形编程)。
梯形图具有形象、直观、有用、电气人员简单接受的特点,是目前用得最多的一种plc编程语言。
继电器原理图与梯形图中所用图符的对比关系
例1:依据下列继电器原理图画出梯形图。
1)常开按钮SB2、SB3接输入继电器X1、X2:
2)常闭SB1接输入继电器X0:
3)线圈KM1、KM2接输出继电器Y0、Y1。
PLC等效电路为:
梯形图:
1、梯形图最左边是起始母线,最右边还有结束母线(可省略)。
说明:左右母线间不接任何电源,梯形图中没有实际的物理电流。
可假想左母线为电源相线,右母线为电源地线,假想的电流只能从左流向右,假想电流是执行用户程序时满意执行条件的形象理解。
2、梯形图中只有常开、常闭两种触点,触点可以串联、并联,输出继电器线圈画在最右端,且只能并联,不能串联。
说明:触点可以反复多次使用。
3、梯形图由多个梯形级构成,每个梯形级有一个或多个支路组成。
4、梯形图根据从左到右、从上到下挨次书写,PLC根据该挨次执行程序。
5、梯形图以END结束。
plc梯形图编程语言和指令语句表编程语言

plc梯形图编程语言和指令语句表编程语言plc梯形图编程语言和指令语句表编程语言1、梯形图编程语言梯形图是在原继电器—接触器控制系统的继电器梯形图基础上演变而来的一种图形语言。
它是目前用得最多的PLC编程语言。
注意:梯形图表示的并不是一个实际电路而只是一个控制程序,其间的连线表示的是它们之间的逻辑关系,即所谓“软接线”。
注意:它们并非是物理实体,而是“软继电器”。
每个“软继电器”仅对应PLC存储单元中的一位。
该位状态为“1”时,对应的继电器线圈接通,其常开触点闭合、常闭触点断开;状态为“0”时,对应的继电器线圈不通,其常开、常闭触点保持原态。
2、梯形图编程格式(1)梯形图按行从上至下编写,每一行从左往右顺序编写。
PLC 程序执行顺序与梯形图的编写顺序一致。
(2)图左、右边垂直线称为起始母线、终止母线。
每一逻辑行必须从起始母线开始画起,终止于继电器线圈或终止母线(有些PLC终止母线可以省略)。
(3)梯形图的起始母线与线圈之间一定要有触点,而线圈与终止母线之间则不能有任何触点。
3、指令语句表编程语言助记符语言类似于计算机汇编语言,用一些简洁易记的文字符号表达PLC的各种指令。
同一厂家的PLC产品,其助记符语言与梯形图语言是相互对应的,可互相转换。
助记符语言常用于手持编程器中,梯形图语言则多用于计算机编程环境中。
案例在生产实践过程中,某些生产机械常要求既能正常起动,又能实现调整位置的点动工作。
试用可编程控制器的基本逻辑指令来控制电动机的点动及连续运行。
1、异步电动机控制线路图图(a)为主电路。
工作时,合上刀开关QS ,三相交流电经过QS ,熔断起 FU ,接触器 KM 主触点,热继电器 FR 至三相交流电动机。
图(b)为最简单的点动控制线路。
起动按钮SB 没有并联接触器KM 的自锁触点,按下 SB , KM 线圈通电,松开按钮 SB 时,接触器KM 线圈又失电,其主触点断开,电动机停止运转。
图(c)是带手动开关SA 的点动控制线路。
PLC梯形图程序设计语言

4.顺序功能流程图程序设计
起动条件
• 采用顺序功能流程图
步1
动作
的描述,控制系统被 转移条件
分为若干个子系统,
步2
动作
从功能入手,使系统 的操作具有明确的含 义,便于设计人员和 操作人员设计思想的 沟通,便于程序的分 工设计和检查调试。
转移条件
步3
动作
图4-2 顺序功能流程图
PLC中的软元件功能及其地址分配
输入映象寄存器I(输入继电器)
输出映象寄存器Q(输出继电器)
①(重点)
内部标志位存储器M(中间继电器)
特殊标志位寄存器 SM
变量存储器V
④(了解)
局部变量存储器L
定时器T 计数器C
②(难点)
高速寄存器HC 累加器AC
④(了解)
顺序控制继电器S ③(难点)
模拟量输入输出映象寄存器AI/AQ ④(了解)
3、内部标志位存储器(中间继电器)
①符号表示 ②编址方式 按位编址 按字节编址 按字编址 按双字编址
字母 M
M0.0~M31.7 MB0~MB31 MW0~MW30 MD0~MD28
③使用方法 用来存储程序的中间状态。线圈得电,常开触 点闭合,常闭触点断开。每个线圈对应着中间继 电器的一位。
1.梯形图(Ladder Diagram)程序设计语言 • LAD图形指令有3个基本形式: 触点 、线圈 、指令盒
梯形图编程规则 1)程序从左母线开始,按照自上而下,自左至右的顺序
编程。 2)编程时每个元件都要有标号,表示其地址。 3)线圈或指令盒不能直接和左母线相连,触点不能放
PLC顺序控制梯形图的编程方式经典实用

T0
T0
M202
Y1
T1
T1
Y1 M203
Y2
Tቤተ መጻሕፍቲ ባይዱ T2
•PLC顺序控制梯形图的编程方式
例3 用传送带传送长物体的控制系统
GK1
GK2
用传送带传送长物体的控制
图如图所示。为了减少传送
带的运行时间,采用分段传
A
B
送方式。A、B为两条传送带, GK1、GK2为两个光电开关,
工作过程如下:按一下起动
1)I/O分配 2)画出功能表图 3)设计梯形图
•PLC顺序控制梯形图的编程方式
设计起保停电路的关键是:找出它的起动条件和停 止条件
Mi=(Mi-1 Xi+Mi) Mi+1
Mi-1 Xi
Mi Xi+1
Mi+1
Mi-1
Xi
Mi+1
Mi
Mi
•PLC顺序控制梯形图的编程方式
•PLC顺序控制梯形图的编程方式
5-10根据图示信号灯控制系统的时序图设计出梯形图
功能表图
GK1
GK2
M 8002
A
B
输入 GK1 X0 GK2 X1 启动按钮 X2
输出 A线圈 Y0 B线圈 Y1
M 20 X2
M 21 X0
M 22 X0
M 23 X1
•PLC顺序控制梯形图的编程方式
Y0 A运 行 Y0 Y1 A、 B都 运 行 Y1 B运 行
梯形图
M23
X1
M21
M8002
•PLC顺序控制梯形图的编程方式
3 PLC只执行活动步对应的电路块,不同的 STL触点可以分别驱动同一编程元件的1个 线圈。但是同一元件的线圈不能在可能同时 为活动步的STL区内出现,在有并行序列的 顺序功能图中,应特别注意
PLC(ST)编程规范

数据类型
数据长度
LINT
64位
ULINT
64位
REAL
32位
LREAL
64位
STRING
STRUCT
ENUM
16位/32位
UNION
TIME
TIME_OF_DAY
POINTER
Date
DATA_AND_TIME
前缀
备注
x
lTarget : LINT ;
by
ulPos : ULINT ;
f
fPos : REAL ;
设备
机构对象1
机构对象2
AM600:
机构对象3
...
设备公用:
整机自动程序 整机初始化程序 整机数据处理程序 整机报警处理程序(报警总和和复位) 状态枚举eState(未就绪、初始化、待机、手动、自动、故障)
每个机构对象(功能模块)包含: 自动程序 初始化程序 手动程序 报警程序(各个机构具体报警) 轴控程序(ETC任务)
AM600:
H3U:
程序框架规范
4、程序编写的状态机
未就绪
13
未就绪:伺服未使能且无报警
初始化中:伺服使能,执行机构回初始位过程
1
待机:有初始完成标志且无报警,并且在 没有命令的情况下机构不会运动
手动中:机构在点动、回原等状态运动中
2
初始化中
自动中:机构在自动运行中
14
故障:轴异常,遇到极限,运控功能块异常
程序框架规范
2、功能模块设计框架:
程序框架规范
3、程序流程编写要求
程序流程的编写需按照执行机构的动作流程来编写,将复杂的动作流程分解成单个动作的流程组 合,用一个步序状态字或者多个步序状态位将分解的动作关联起来,动作执行时序由动作执行条件通
梯形图最新编程规范

梯形图最新编程规范梯形图编程是学习PLC编程的必备技术。
要想掌握梯形图编程,必须要掌握梯形图的编程规范。
本文依据多年编程经验,对梯形图编程方法进行简化描述,对容易出现的错误进行说明,便于编程人员快速掌握梯形图。
梯形图编程最容易出错地方有其规律性,但只需要掌握以下编程规则即可以避免:1)每一逻辑行总是起于左母线,然后是触点的连接,最后终止于线圈或右母线(右母线可以不画出)。
注意:左母线与线圈之间一定要有触点,而线圈与右母线之间则不能有任何触点。
2)梯形图中的触点可以任意串联或并联,但继电器线圈只能并联而不能串联。
3)触点的使用次数不受限制。
4)一般情况下,在梯形图中同一线圈只能出现一次。
如果在程序中,同一线圈使用了两次或多次,称为“双线圈输出”。
对于“双线圈输出”,有些PLC将其视为语法错误,绝对不允许;有些PLC则将前面的输出视为无效,只有最后一次输出有效;而有些PLC,在含有跳转指令或步进指令的梯形图中允许双线圈输出。
5)掌握【上重下轻】、【左重右轻】二个重要原则。
有几个串联电路相并联时,应将串联触点多的回路放在上方,如下图a)所示。
在有几个并联电路相串联时,应将并联触点多的回路放在左方,如下图b)所示。
这样所编制的程序简洁明了,语句较少,PLC指令执行效率最高。
6)连接点应画在水平线上,不能画在垂直线上。
如下图所示中的X005,是错误的。
应该从左到右、从上到下的单向性原则,单独画出所有回路。
最后,在设计梯形图时输入继电器的触点状态最好按输入设备全部为常开进行设计更为合适,不易出错。
建议用户尽可能用输入设备的常开触点与PLC输入端连接,如果某些信号只能用常闭输入,可先按输入设备为常开来设计,然后将梯形图中对应的输入继电器触点取反(常开改成常闭、常闭改成常开)。
PLC梯形图基本编程规则和编程方法

PLC梯形图基本编程规则和编程方法
在日常的工作中,大家掌握了pie的基本编程指令之后,就可以根据控制要求编写简单的应用程序了。
但是想要提高编程质量和编程效率,还必须了解编写梯形圉程序的基本规则和基本编程方法。
/
基本缅程规则
1梯形图中的每一行都是从左侧母线开始画起,线圈或指令画在最右边,线圈或指令右边只能画右母线(OMRON PLC梯形图的右母线省略)。
2.线圈或指令不能直接与左侧母线连接(除极少数没有执行条件的指令,如E N D 等)。
如果必须时,可以通过特殊辅助继电器25313(常ON)的触点连接,如图1所示。
曰亡卫三之友克诺训l
^图一
3用OUT指令输出时,同一编号的继电器线圈在同一程序中使用两次以上,称为双线圈输出。
双线圈输出容易引起误动作或逻辑混乱,因此一般要避免出现这种情况。
例如,在图2(a)中,设00000为ON、00005为O FF。
由于PLC是按扫描方式执行
6与某梯级有两个分支时,若其中一条分支从分支点到输出线圈之间无触点,该分支应放在上方,这样可以使语句表的语句更少。
7尽量使用那些操作数少、执行时间短的指令编程,以缩短扫描周期,从而提高1/0响应速度。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
四川长虹电器股份有限公司工程技术中心管理文件JU××.××.××- ××××PLC梯形图编程规范××××–××–××发布××××–××–××实施四川长虹工程技术中心发布工程技术中心管理文件PLC梯形图编程规范JU××.××.××- ××××拟制:审核:会签:批准PLC梯形图编程规范(初稿)一、总则:本规范书规定了自动化所电气设计师在进行PLC程序编制过程中应当注意和遵守的相关事项,可以引导新进员工快速了解长虹生产线及非标设备的控制系统的编程思路和基本技巧,并加以规范,方便员工之间任务的继承、调配和协助处理。
本规范适用于自动化所所设计的生产线、单机设备的PLC程序设计。
二、PLC程序设计要求:一套完整的PLC程序,并不仅仅是使系统能够运行起来这么简单,它也需要完整的注释、精良的架构、良好的可扩展性、完备的报警保护系统、运行前的模拟系统。
最好的评价标准是实践。
看程序能否达到预期的目的。
但这还不够。
因为能达到目的的程序还有好与不好之分。
到底什么样的程序才算好的程序呢?大体有如下几个方面:1、简短性使PLC程序尽可能简短,也是应追求的目标。
简短的程序可以节省用户存储区;多数情况下也可节省执行时间,提高对输入的响应速度,还可提高程序的可读性。
程序是否简短,一般可用程序所用的指令条数衡量,用的条数少,程序自然就简短。
要想程序简短,从大的方面讲,要优化程序结构,用流程控制指令简化程序,从小的方面讲还要用功能强的指令取代功能单一的指令,以及注意指令的安排顺序等。
2、省时性程序简短可以节省程序运行时间,但简短与省时并不完全是一回事。
因为运行程序时间虽与程序所拥有指令条数有关,而且还与所使用的是什么指令有关。
PLC指令不同,执行的时间也不同。
而且,有的指令,在逻辑条件ON时执行与在OFF时执行其时间也不同。
另外,由于使用了流程控制指令,在程序中,不是所有指令都要执行等。
所以,运行程序的时间计算是较复杂的。
但要求其平均时间少,最大时间也不太长是必要的。
这样可提高PLC 的响应速度。
省时的关键是用好流程控制指令。
按情况确定一些必须执行的指令,作必备部分,其余的可依程序进行,有选择地执行,或作些分时工作的设计,避免最大时间太长等。
3、可读性要求所设计的程序可读性要好。
这不仅便于程序设计者加深对程序的理解,便于调试,而且,还要便于别人读懂你的程序,便于使用者维护。
必要时,也可使程序推广。
要使程序可读性好,所设计的程序就要尽可能清晰。
要注意层次,实现模块化,以至于用面向对象的方法进行设计。
要多用一些标准的设计。
如遇特殊情况下采用语言编程,多数情况下请使用梯形图编程,方便阅读。
再就是I/O分配要有规律性,便于记忆与理解。
必要时,还要做一些注释工作。
内部器件的使用也要讲规律性,不要随便地拿来就用。
可读性在程序设计开始时就要注意。
这不易完全做到。
因为在程序调试的过程中,指令的增减,内部器件的使用变化,可能使原较清晰的程序,变的有些乱。
所以在设计时就对调试增减留有一定的余地,然后调试完毕后再做一下整理,这样所设计的程序具有更高的质量。
程序的注释,起码应该有以下几个方面:A、系统注释:整套程序的版权公司和此套程序用途B、程序块注释:此程序块的主要用途和作者C、段注释:此段代码的用途D、变量注释:重要性无需多言,包含I/O注释、中间变量注释而至于保密性的考虑,我觉得应该在程序的加密算法或者块的加密上考虑,而不应该用减少注释这种小聪明来实现。
4、正确性PLC的程序一定要正确,并要经过实际工作验证,证明其能够正确工作。
这是对PLC程序的最根本的要求,若这一点做不到,其它的再好也没有用。
要使程序正确,一定要准确的使用指令,正确的使用内部器件。
准确的使用指令与准确理解指令相联系,为此对指令含义和使用条件一定要弄清楚。
必要时,可编些小程序对一些不清楚的指令作些测试。
同一指令,由于PLC的出厂批次不同或是PLC的系列型号的不同,一些指令细节有可能不一样,应仔细查阅编程手册。
内部器件正确使用也是重要的。
如有的PLC有掉电保护,有的PLC没有。
一定要做到该掉电保护的一定要用掉电保护的器件,反之则不能用。
总之,要准确的使用指令,正确使用内部器件,使所编的程序能正确要作,这是对PLC 程序最根本的要求。
5、可靠性程序不仅要正确,还要可靠。
可靠反映着PLC程序的稳定性,这也是对PLC程序的基本要求。
有的PLC程序,在正常的工作条件下或合法操作时能正确工作,而出现非正常工作条件(如临时停电,又很快再通电)或进行非法操作(如一些按钮不按顺序按,或同时按若干按钮)后,程序就不能正常工作了。
这种程序,就不大可靠,或说不稳定,就是不好的程序。
好的PLC程序对非正常工作条件出现,能予以识别,并能使其与正常条件衔接,可使程序适应于多种情况。
好的PLC程序对非法操作能予以拒绝,且不留下“痕迹”。
只接受合法操作。
联锁是拒绝非法操作常用的手段,继电电路常用这个方法,PLC也可继承这个方法。
6、易改性要使程序易改,也就是要便于修改。
PLC的特点之一就是方便,可灵活地适用于各种情况。
其办法就是靠修改或重新设计程序。
重新设计程序用于改变PLC工艺的用途要求的情况,不仅程序重编,而且I/O也要重新分配。
多数情况下不需要重编程序,作一些修改就可以了。
这就要求程序具有易性,便于修改。
易改也就是弹性,要求只要作很少的改动,即可达到改变参数或理改动作的目的。
7、良好的扩展性许多程序可能在进现场之前都已经编好,但是到了现场,可能还需要添加另外的程序,为了避免打乱整套系统的结构,需要在每个功能区预留一定的空间作为备用。
8、完备的报警保护系统PLC系统往往用于工业环境中,每一次的事故都会造成或大或小的损失,为了做到事故预处理或者在事故中将损失降到最小,必须重视PLC的报警和保护,在此将其摘出来作为系统的一个重要组成部分。
9、PLC程序模拟系统为了保证现场的调试进度或者给客户展示,往往在进现场之前,要对自己的程序进行全自动的模拟。
为此需要在程序中加入模拟程序部分,模拟程序部分在正常现场运行之后断开。
为了使程序具备模拟功能,需要做以下工作:(1)、将实际的PLCI/O点转换为PLC的中间变量或者数据块变量(2)、根据工艺要求编写各个设备的模拟程序在设计PLC程序的过程中,能够满足以上几个方面的要求的就能称的上是一个好程序了。
三、PLC程序设计规范:1、选择合适的PLC型号及I/O点数,有特殊功能需求时选择特殊功能模块。
2、熟悉所选择的PLC编程指令及编译软件。
3、进行软元件规划,包括内部继电器、保持继电器、数据寄存器、定时器、计数器等。
示例如下:软元件内部继电器保持继电器定时器数据寄存器移行1 20100~20199 HR100~HR115 TIM10~TIM19 D100~D199移行2 20200~20299 HR200~HR215 TIM20~TIM29 D200~D299移行3 20300~20399 HR300~HR315 TIM30~TIM39 D300~D399升降台20400~20499 HR400~HR415 TIM40~TIM49 D400~D499转角机20500~20599 HR500~HR515 TIM50~TIM59 D500~D599与PLC1通讯20600~20699 HR600~HR615 TIM60~TIM69 D600~D699与PLC2通讯20700~20799 HR700~HR715 TIM70~TIM79 D700~D7994、进行程序规划,一般以故障提取、故障处理、手动处理、自动处理、输出处理这样的顺序进行编程。
比较大型的工程或设备按功能单元分段、分块进行处理,如一条自动化生产线中有提升机、移行、顶起旋转装置等,则应按上述单元分段分块编程。
示例如下:5、在分段分块编写的程序前应加上简短的段注释,说明此段程序的功能,如有必要可以注明相应的工艺流程。
分块或分段的程序再总体程序的位置顺序应基本上按工艺流程顺序排列,便于程序的可读性。
示例如下:6、在程序设计之前,应对设备进行抽象,对如停止、急停、过载、超限、超时、安全光幕、碰停、门开关等共用因子进行提取,放在启动回路或启动主控、连锁回路,作为整个程序结构的大前提,在此基础下,再将程序分为自动、手动两大功能区。
示例如下:7、将程序结构手动功能区共用因子,如手动、危及设备人身安全等因数因子进行提取,放在手动主控、连锁回路,对手动控制进行保护、屏蔽、报警。
8、将程序结构自动功能区共用因子,如自动、超限、超时等因数因子进行提取,放在自动主控、连锁回路,对自动控制下设备进行保护、屏蔽、报警。
一个总的原则就是,在确保安全的前提下,严格限制设备的进,宽松限制设备的出。
9、程序设计时应设计程序总复位功能,便于使用者在设备出现故障情况下,可以方便尽快恢复设备正常工作。
总复位应充分考虑在复位过程中设备和人员的安全。
10、自动模式切换到手动模式时,程序应清除自动模式下的输出和中间状态。
特别是在自动模式使用SET指令时,必须在手动模式用RESET指令予以清除。
11、严禁在编制程序中使用双输出,即同一条输出语句或同一个输出线圈在程序中出现2次及以上。
在不同模式条件下的对同一输出点的输出使用中间继电器进行中转,最后集中到一起并列到输出点。
12、使用触摸屏时,对触摸屏和PLC公用的控制区和状态区,不得做其他功能方面的编程使用。
13、对PLC的特殊模块,在使用之前,应先查明其控制区和状态区是否占用工作字,若占用,不得将这些工作字做其他方面的编程。
14、PLC的输入、输出、中间继电器、定时器、计数器、数据寄存器等都要加中文注释。
输入、输出还要有元器件名称位号。
对应的输入点,一般情况下默认为外围开关连接的是NO触点,对于需要接NC触点的须在注释中标明。
所有注释应当清晰明了,不易产生误解,尽量少使用泛指(如机器检测1,而应注明为提升机入口检测行程开关等)。
15、工程调试完成后,系统必须保留最终软件程序,保存的文件名应包含日期信息,例如保存为“XXX项目20130818”16、关于程序加密:原则上所有程序不用加密,除非有特殊情况。
对于加密程序的密码必须有专门的文件予以保存,并注明相应的用户名+密码+权限。
四、编程参考1、PLC和上位机(或触摸屏)组成监控系统时,在画面上很多时候需要有“手动”、“自动”等控制模式(一般都是多个只能一个时)。