PLC梯形图可视化编辑与语句表的自动生成
梯形图变成了语句表的问题

梯形图变成了语句表的问题
程序本来是梯形图的,梯形图程序中有些点事没有注释的,为了看的明白,今天把这个点加了注释,但是一保存梯形图就变成了语句表,请问这是为什么会这样?
怎么才能把它变回来呢?
最佳答案
一般情况下不会有楼主所说的情况发生。
建议如下:
1、检查是否有从数据类型冲突。
在默认情况下,lad指令对数据类型检查较严。
可在lad 编辑器中,选择菜单”options”-->“customize”,打开customize 对话框,选择”lad/fbd”标签页,确认”typecheckofaddresses”是否被选中。
如果编程时没有选择数据类型检查,过几天打开程序时却选择了数据类型检查,且正好有数据类型冲突,就会发生楼主所说的现象了。
2、确认是否某些被调用的程序块修改了接口(interface),但没有做块的一致性检查所引起的。
重点检查第一条。
PLC梯形图转语句表

PLC梯形图转语句表
我用plc梯形图写了个FC 在OB1中调用 在OB1视图选项中转换成STL后 为什么输入IN 参数都有一个L区地址与实参对应 而IN-OUT 和OUT 参数却没有呢 见图一
答:L是临时变量的意思。
楼主需要明白,所有的梯形图都可以转化成语句表。
不是所有的语句表都可以转化成梯形图。
只有附和一定格式的语句表才可以转化成梯形图。
比如你的这个句子。
如果只单纯的调用:
CALL FC2
start:= i0.1
stop:=I0.2
coil2:=q0.2
coil:=q0.1
是不能转化成梯形图的。
虽然运算结果相同。
分析它的语句表,就看到,它只是把输入参数,写转移到临时变量,然后再把临时变量的值赋予形参。
结果没有变化 。
但是相当啰嗦。
这也就是为什么STL要比梯形图执行效率好的原因。
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设计全自动洗衣机梯形图和语句表

LDN
A T40
LD C40
CTU C40, 4
Network 11
弱洗正转2s
LD
AN T44
LPS
AN
=
LPP
TON T41, 20
Network 12
弱洗暂停5s
LD T41
=
TON T42, 50
Network 13
弱洗反转2s
LD T42
LPS
AN
=
LPP
TON T43, 20
Network 14
弱洗反转暂停5s
LD T43
=
TON T44, 50
Network 15
弱洗循环判断
LD
A T44
LD C50
CTU C50, 2
Network 16
排水
LD
O C40
O C50
O
AN
AN T45
=
Network 17
脱水
LD
A
AN T
脱水计时10s
LD
序号
主令
I
序号
对象
Q
1
启/停按钮SF2
1
进水电磁阀MB1
2
停止按钮SF3
2
洗衣机正转接触器QA1
3
高水位开关BG1
3
洗衣机反转接触器QA2
4
强/弱洗按钮SF1
4
排水电磁阀MB2
5
低水位开关BG2
5
脱水电磁离合器
6
手动排水开关SF4
6
报警蜂鸣器PB
TON T45, 100
Network 19
大循环判断
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梯形图可视化编辑与语句表的自动生成

工编译的方式转换为语句 表又较 为复 杂, 这就 限制了 如梯形图形象、直观。
它的进一步发展和应用。如果能利用先进的计算机技 术实现可视化、规 范化的梯 形图设 计以及 PLC 指令序
2 系统设计
列的自动生成, 无 疑将极 大地 提高开 发效 率。我们在 2. 1 系统的窗体设计
充分分析 梯形 图设 计 规则 和语 句表 编 程规 则的 基础
合考虑了提高程序执行效率、节省存储空间、便于操作
等因素, 而采用十字链表数据结构来存储梯形图。
2. 3. 1 有向图
图是一种数据结构, 它的形式化定义为
Graph= ( V, R)
其中:
V= { x| x ) dataobject}
R= { VR}
VR= { < x, y> | P( x, y) ∗( x, y ) V) }
摘 要 介绍了 PLC 梯形图可视化编辑器的设计及由 PLC 梯形图自动生成语句的算法, 详细描述了实现主要数据结构及梯形图向语
句表转换的具体算法。
关键词 可编程控制器( PLC) 梯形图 语句表 有向图
Abstract The design of a visual editor of PLC ladder diagram and the algorithm of automatically generating sentence from PLC ladder diagram are pre
indegree: integer; +入度 outdegree: integer; +出度 firstin: arclink; +指向以该顶点( 图符) 为弧头
的第一个弧结点
firstout: arclink; +指向以该顶点( 图符) 为弧尾 的第一个弧结点
PLC梯形图可视化编辑与语句表的自动生成

PLC梯形图可视化编辑与语句表的自动生成
吕俊白;施敏芳
【期刊名称】《自动化仪表》
【年(卷),期】2005(026)003
【摘要】介绍了PLC梯形图可视化编辑器的设计及由PLC梯形图自动生成语句的算法,详细描述了实现主要数据结构及梯形图向语句表转换的具体算法.
【总页数】3页(P28-30)
【作者】吕俊白;施敏芳
【作者单位】华侨大学计算机科学系;华侨大学机电与自动化学院,泉州,362011【正文语种】中文
【中图分类】TH7
【相关文献】
1.梯形图可视化编辑与指令表的生成 [J], 李丹丹;蔡启先;于洋
2.软PLC梯形图到语句表转换新策略的研究 [J], 石锐;周雷;杨正益
3.关于软PLC梯形图向语句表转换方法的研究 [J], 毕辉;程良鸿
4.PLC梯形图向语句表的转换算法及实现 [J], 孙玉霞;李国屏;夏端峰
5.PLC语句表向梯形图自动转换的实现方法 [J], 吕俊白
因版权原因,仅展示原文概要,查看原文内容请购买。
学PLC必看:看懂电动机控制系统中PLC梯形图和语句表

学PLC必看:看懂电动机控制系统中PLC梯形图和语句表不同的电动机控制方式不同、系统中选用部件不同、部件间的组合方式以及数量的选用不同,最终PLC控制方式也有所不同,我们需要一些案例来看懂电动机控制系统中PLC的梯形图和语句表。
三相交流感应电动机连续控制电路中的PLC梯形图和语句表三相交流感应电动机连续控制线路基本上采用了交流继电器、接触器的控制方式,该种控制方式具有可靠性低、线路维护困难等缺点,将直接影响企业的生产效率。
由此,很多生产型企业中采用PLC控制方式对其进行控制。
图1所示为三相交流感应电动机连续控制电路的原理图。
该控制电路采用三菱FX2N系列PLC,电路中PLC控制I/O分配表见表1。
图1 三相交流感应电动机连续控制电路的原理图表1 三相交流感应电动机连续控制电路中PLC控制I/O分配表由图1可知,通过PLC的I/O接口与外部电气部件进行连接,提高了系统的可靠性,并能够有效地降低故障率,维护方便。
当使用编程软件向PLC中写入的控制程序,便可以实现外接电器部件及负载电动机等设备的自动控制了。
想要改动控制方式时,只需要修改PLC中的控制程序即可,大大提高调试和改装效率。
图2所示为三相交流感应电动机三菱FX2N系列PLC连续控制梯形图及语句表。
图2 三相交流感应电动机三菱FX2N系列PLC连续控制梯形图及语句表根据梯形图识读该PLC的控制过程,首先可对照PLC控制电路和I/O分配表,在梯形图中进行适当文字注解,然后再根据操作动作具体分析起动和停止的控制原理。
1.三相交流感应电动机连续控制线路的起动过程图3所示为PLC连续控制下三相交流感应电动机的起动过程。
图3 PLC连续控制下三相交流感应电动机的起动过程1 当按下起动按钮SB1时,其将PLC内的X1置“1”,即常开触点X1闭合。
1→2 输出继电器Y0线圈得电,控制PLC外接交流接触器KM线圈得电。
→2-1 自锁常开触点Y0闭合,实现自锁功能;→2-2 控制运行指示灯Y1的常开触点Y0闭合,Y1得电,运行指示灯RL点亮。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
P LC 梯形图可视化编辑与语句表的自动生成V isual Editing of P LC Ladder Diagram and the Auto matic Generation of Sentence List吕俊白1 施敏芳2(华侨大学计算机科学系1,华侨大学机电与自动化学院2,泉州 362011)摘 要 介绍了P LC 梯形图可视化编辑器的设计及由P LC 梯形图自动生成语句的算法,详细描述了实现主要数据结构及梯形图向语句表转换的具体算法。
关键词 可编程控制器(P LC ) 梯形图 语句表 有向图Abstract The design of a visual editor of P LC ladder diagram and the alg orithm of automatically generating sentence from P LC ladder diagram are pre 2sented.The im plementation of main data structure and the concrete alg orithm for converting ladder diagram into sentence list are described in detail.K eyw ords Programmable logic controller (P LC ) Ladder diagram Sentence list Directed graph0 引言可编程控制器P LC 是一种专门为工业自动控制而开发的通用自动控制装置。
它具有可靠性高、编程简单、使用方便、功能完善、通用性好等特点,并具有在线修改功能,给控制系统带来了很好的柔性。
它可以灵活地以不同的组态来适应不同控制对象、控制规模和控制功能的要求,是实现“机电一体化”较理想的控制设备。
P LC 的主要使用对象是广大工程技术人员。
为了适应他们的传统习惯,通常不采用微机的编程语言,而采用面向控制过程、面向问题的“自然语言”编程。
这些编程语言有梯形图、语句表、控制系统流程图、逻辑方程式或布尔代数式等,其中梯形图以其形象、直观、简单易用、与电气控制原理图相呼应、易于掌握等特点而成为P LC 的主要编程语言。
但是,梯形图不能被P LC 所识别,无法在P LC 中直接运行,把梯形图通过人工编译的方式转换为语句表又较为复杂,这就限制了它的进一步发展和应用。
如果能利用先进的计算机技术实现可视化、规范化的梯形图设计以及P LC 指令序列的自动生成,无疑将极大地提高开发效率。
我们在充分分析梯形图设计规则和语句表编程规则的基础上,设计了一个梯形图可视化编辑与P LC 程序自动生成系统。
该系统将梯形图的绘制、识别以及编译过程转移到计算机上,并自动生成P LC 可以识别的指令序列。
1 梯形图与语句表1.1 梯形图梯形图起源于继电器逻辑和执行线路,它用不同的图符来表示不同的指令,用串、并联等概念组织图符的顺序位置来表述逻辑。
梯形图的设计必须遵循以下规则:①触点应画在水平线上,不能画在垂直分支上,且应遵循自左至右、自上而下的绘制原则;②不包含触点的分支应放在垂直方向,不可放在水平位置以便于识别触点的组合和对输出线圈的控制路径;③在有几个串联回路相并联时应将触点最多的那个串联回路放在梯形图的最上面,而在有几个并联回路相串联时应将触点最多的并联回路放在梯形图的最左面;④不能将触点画在线圈的右边,而只能画在线圈的左边。
1.2 语句表语句表是若干指令的集合,类似于汇编语言程序,易于P LC 识别。
每条指令由指令字符串和操作数构成。
指令字符串是指令的助记符。
操作数是该指令所作用的继电器号、通道号、定时/计数器设定值或某些常数。
语句表编程有键入方便、编程灵活的优点,但不如梯形图形象、直观。
2 系统设计2.1 系统的窗体设计整个系统由6个主要窗体构成。
①主窗体:显示系统主菜单、工具栏,绘制梯形图所需的基本图符按钮。
②绘图窗体:用于梯形图的绘制。
为了使所绘制的梯形图更加整洁、美观,我们将系统的用户编辑区分隔成若干正方形编辑格,用点标识。
具体绘图时,系统还将根据所绘图符的特点调节所占区域的大小。
③代码生成窗体:显示由所绘梯形图编译生成的P LC 指令代码。
82《自动化仪表》第26卷第3期 2005年3月PR OCESS AUTOMATION INSTRU MENTATION V ol.26N o.3March 2005④参数输入窗体:为绘制的每个图符设置参数。
⑤出错信息窗体:报告梯形图编译成P LC指令时的出错信息。
⑥图符信息查看窗口:查看与每个图符对应的指令及其参数。
2.2 梯形图图符函数库和P LC指令索引表的建立本系统是基于Omron C MP1A可编程控制器开发的,该型号的可编程控制器共有88条指令(基本指令15条,功能指令73条),其中多数指令有图符与其对应。
为节省存贮空间,我们为每个图符的绘制定义了相应的自定义函数,形成一个梯形图图符函数库。
为便于编辑及编译功能的实现,我们以基本指令优先,并考虑指令的使用频度建立了一张P LC指令索引表。
索引表包含以下信息:索引号指令助记符参数个数输入端个数输出端个数图符函数入口2.3 系统的主要数据结构通过对梯形图及其设计规则的分析,我们发现,用梯形图编制程序的过程实质上是一个用梯形图图符来表示操作指令、用图符的串并联及位置顺序来表示操作指令之间逻辑关系的过程。
由此,一个梯形图可以看作是一个由梯形图图符和连接符组合而成的有向图,其中的梯形图图符可抽象为有向图的顶点,连接符可抽象为有向图的弧。
为了在程序设计中更合理地描述梯形图,以便于下一步P LC指令的自动生成,我们综合考虑了提高程序执行效率、节省存储空间、便于操作等因素,而采用十字链表数据结构来存储梯形图。
2.3.1 有向图图是一种数据结构,它的形式化定义为G raph=(V,R)其中:V={x|x∈dataobject}R={VR}VR={<x,y>|P(x,y)∧(x,y∈V)} 图中的数据元素通常称作顶点(vertex),V是顶点的有穷非空集合;VR是两个顶点之间关系的集合。
若<x,y>∈VR,则<x,y>表示从x到y的一条弧(arc),且称x为弧尾(tail),称y为弧头(head),此时的图称为有向图(diagraph)。
在有向图中,以顶点V为头的弧的数目称为顶点V的入度(indegree),记为ID(V);以顶点V为尾的弧的数目称为顶点V的出度(outdegree),记为OD(V)。
2.3.2 主要数据结构①图符(顶点)结构:保存梯形图中各个图符的基本信息。
type ∥图符(顶点)结构nodeptr=∧node;node=packed record inst:string;∥与该图符对应的指令 x,y:integer;∥图符所在区域的左上角坐标 index:integer;∥图符的索引号,它是图符的唯一标识 par1,par2,par3:string;∥3个参数(梯形图的图符最多含3个操作数) indegree:integer;∥入度 outdegree:integer;∥出度 firstin:arclink;∥指向以该顶点(图符)为弧头的第一个弧结点 firstout:arclink;∥指向以该顶点(图符)为弧尾的第一个弧结点 LeftIn:integer;∥左汇合数,初值为0 RightOut:integer;∥右分支数,初值为0end;②连接符(弧)结构:描述图符间的串并联关系。
type ∥连接符(弧)结构arclink=∧arctype;arctype=packed record tailvex:nodeptr;∥指向弧尾顶点(图符)在图中的位置 headvex:nodeptr;∥指向弧头顶点(图符)在图中的位置 hlink:arclink;∥指向弧头相同的下一条弧 tlink:arclink;∥指向弧尾相同的下一条弧end;2.4 系统编辑功能的实现P LC梯形图的设计过程实质上是有向图的生成过程,也是对应的十字链表的建立过程。
在设计中,我们注意到母线上的有效引出点实际上可看成有向图中的一个顶点,其入度(ID)为0,出度(OD)为1。
为了与其它顶点相区别,令其对应结点的索引号(index)为0。
为便于下一步的P LC指令生成,我们规定:①每个图符结点创建时都按其特点初始化其入度和出度,如E ND、I LC、JME等指令的ID(V)=0,OD (V)=0;OUT及部分功能指令的ID(V)=1,OD(V)=0。
②在梯形图设计过程中,若某一图符增加一个左汇合,则相应地其入度增1;若某一图符减少一个左汇92P LC梯形图可视化编辑与语句表的自动生成 吕俊白,等合,则相应地其入度减1;若某一图符增加一个右分支,则相应地其出度增1;若某一图符减少一个右分支,则相应地其出度减1。
③若某一图符顶点的出度大于等于2,则在其后引入一个虚顶点(以便今后进行并联及分支处理),并令其索引号(index )为-1。
2.5 梯形图到语句表的转换为了实现梯形图到语句表的自动转换,在设计中必须正确处理多路并联和有多个输出分支这两个核心问题。
为此,在设计前我们对大量电气系统的梯形图进行了分析,并注意到如下事实:在多种并联的情况下,母线上的有效引出点可等效为同一点;若梯形图中存在多路并联的情况,则其对应的有向图中必存在入度(ID )大于1的顶点;若梯形图中存在有输出分支或并联分支(且分支点均不在母线上),则其对应的有向图中必存在出度(OD )大于1的顶点。
梯形图到语句表的转换算法顺序如下:①根据自左至右、自上而下的原则扫描梯形图,并检验各图符参数的正确性和串并联关系的合法性;②从左至右、从上到下扫描梯形图,寻找入度为零的顶点;③若当前顶点的出度为零,则转⑧执行;若当前顶点的出度不为零,则将其出度减1、RightOut 标志加1、当前顶点的直接后继顶点的入度减1、LeftIn 标志加1;④若当前顶点为多分支点,且并联点队列为空,图符队列非空,则图符队列中的所有元素出列,按规则生成代码,并删除处理过的图符顶点及以其为弧尾的弧结点;⑤若当前顶点为虚顶点则进并联点队列及图符队列,若当前顶点为母线上的点则进并联点队列,若当前顶点为图符顶点,则进图符队列;⑥若当前顶点的直接后继顶点的LeftIn 标志值大于等于2,则并联点队列和图符队列中的所有元素出列,按规则生成相应代码,并删除处理过的图符顶点及以其为弧尾的弧结点。
对于虚顶点,若其出度为零,则删除它及所有以其为弧尾的弧结点,否则,令虚顶点的RightOut 标志减1;⑦若当前顶点的直接后继顶点的入度为-1,且对应图符的指令助记符为E ND 则图符队列和并联点队列中的所有元素出列,按规则生成相应代码,并删除所有的顶点及弧结点,程序结束,否则,当前顶点进入图符队列,转②继续执行;⑧若当前顶点的出度为零则判断其RightOut 标志是否大于零,若是则转②,否则,当前顶点进入图符队列,转②继续执行。