PLC编程之前,要做哪些准备工作?
作为PLC编程人员,在拿到项目的时候我们首先要干什么?很多朋友可能说看工艺编程啊,其实远没有你想的那么简单,在你编程之前有很多任务要去完成。
【文末免费领取PLC学习资料】
【文末免费领取PLC学习资料】
我们很多PLC程序员经常接手别人的案子,对于别人的案子估计都很头大,原因就是很多PLC编程人员在项目的前期准备期间没有很好的做项目程序的规划,导致后面的编程越来越乱,最后乱的一塌糊涂,连自己都不愿意多看一眼。如果你是这样的PLC编程人员,请好好看看我的这篇文章。
本文以一个小项目为例。
前奏曲第一步:整理元器件
接到项目的同时你会收到一堆的资料和图纸,各种传感器,执行机构,各种P&ID图纸,一、二次电气图纸,工艺流程图,拿过来都浏览一下之后开始工作吧。
首先要做的是整理该项目所用到的所有传感器,执行单元,对着电气图纸给这些元器件命名,电气图纸上如果有的,基本上按着电气原理图所画的命名,分配用处,搞明白他的作用。和他的使用注意实现,最好包括到后来在现场的安装位置,根据P&ID图纸标注。
前奏曲第二步:制作I/0
拿出电气图纸,开始制作I/0表吧,这个打击估计都很熟悉,估计有很多人都不制作I/O表,在做程序的时候直接看图纸,我对这种做法是不认同的,因为在制作I/O表格的同时,关于I/0的点位分配也就整理好了。不信你看!【文末免费领取PLC学习资料】
模拟量
开关量
你也可以根据模块分布做成这样的,总之要好看,一目了然。
第三步:分配程序段和程序段所用的寄存器变量
所有的元器件都整理好,搞清楚以后下面要做的回过头来在看工艺,根据提供的工艺,规划我们程序的功能区划,定义功能分布。【文末免费领取PLC学习资料】
这个时候根据工艺主要的功能都以后分配完毕,下面就应该具体到每一个程序段里面了。
对于小一点的项目最好的情况下画出流程图。
对于比较大的项目画流程图就不实际了,费力不讨好,这个时候要做的就是直接分配寄存器位。
我这里举例的点位比较小,所有用的是M,大项目就别了,直接定义DB块吧。
前奏曲第四步:分配参数地址,报警故障
每个项目中都会有很多参数设定,报警故障,这写是必不可少的。【文末免费领取PLC学习资料】
前奏曲第五步:通盘考虑
这个时候对程序的整个流程估计已经非常清楚了,站在整体思考你还需要定义分配那些变量,是不是有通讯,是不是需要定义很多定时器。等等,总之把你能想到的全部提前准备好
俗话说磨刀不误砍柴工,有了上面的那么多准备,现在开始动手编写程序是不是有一种“读书破万卷,下笔如有神”的感觉,你也不会在写程序的同时被地址分配打断思路,减少错误,同时你在编程软件定义变量的时候,在做HMI画面的时候,你只需做的就是CTRL+C下一个动作就是CTRL+V,享受写程序一气呵成的感觉吧。如果在写程序的时候加上很恰当的注释,别人在接受你的程序的时候,也不会一个电话一个电话不停地追问你一些看不懂程序的问题。
一个整洁,漂亮的程序架构就这样完成了,如果内部处理得当,这就是一个成功的案例。
PLC编程学会顺序功能图,编程一点就通!
功能表图又称做状态转移图,它是描述控制系统的控制过程、功能和特性的一种图形,也是设计plc的顺序控制程序的有力工具。功能表图并不涉及所描述的控制功能的具体技术,它是—种通用的技术语言,可以用于进一步设计和不同专业的人员之间进行技术交流。
各个PLC厂家都开发了相应的功能表图,各国家也都制定了功能表图的国家标准。我国于1986年颁布了功能表图的国家标准(GB6988.6-86)。
如图1所示为功能表图的一般形式,它主要由步、有向连线、转换、转换条件和动作(命令)组成。
图1 功能表图的一般形式
PART1.步与动作
(1)步
在功能表图中用矩形框表示步,方框内是该步的编号。如图1所示各步的编号为n-1、n、n+1。编程时一般用PLC内部编程元件来代表各步,因此经常直接用代表该步的编程元件的元件号作为步的编号,如M300等,这样在根据功能表图设计梯形图时较为方便。
(2)初始步
与系统的初始状态相对应的步称为初始步。初始状态一般是系统等待启动命令的相对静止的状态。初始步用双线方框表示,每一个功能表图至少应该有一个初始步。
(3)动作
一个控制系统可以划分为被控系统和施控系统,例如在数控车床系统中,数控装置是施控系统,而车床是被控系统。对于被控系统,在某一步中要完成某些“动作”,对于施控系统,在某一步中则要向被控系统发出某些“命令”,将动作或命令简称为动作,并用矩形框中的文字或符号表示,该矩形框应与相应的步的符号相连。如果某一步有几个动作,可以用如图2所示的两种画法来表示,但是图中并不隐含这些动作之间的任何顺序。
图2 多个动作的表示
(4)活动步
当系统正处于某一步时,该步处于活动状态,称该步为“活动步”。步处于活动状态时,相应的动作被执行。若为保持型动作则该步不活动时继续执行该动作,若为非保持型动作则指该步不活动时,动作也停止执行。一般在功能表图中保持型的动作应该用文字或助记符标注,而非保持型动作不要标注。
PART2.有向连线、转换与转换条件
(1)有向连线
在功能表图中,随着时间的推移和转换条件的实现,将会发生步的活动状态的顺序进展,这种进展按有向连线规定的路线和方向进行。在画功能表图时,将代表各步的方框按它们成为活动步的先后次序顺序排列,并用有向连线将它们连接起来。活动状态的进展方向习惯上是从上到下或从左至右,在这两个方向有向连线上的箭头可以省略。如果不是上述的方向,应在有向连线上用箭头注明进展方向。
(2)转换
转换是用有向连线上与有向连线垂直的短划线来表示,转换将相邻两步分隔开。步的活动状态的进展是由转换的实现来完成的,并与控制过程的发展相对应。
(3)转换条件
转换条件是与转换相关的逻辑条件,转换条件可以用文字语言、布尔代数表达式或图形符号标注在表示转换的短线的旁边。转换条件X和x分别表示在逻辑信号X为“1”状态和“0”状态时转换实现。符号X↑和X↓分别表示当X从状态0到1和1到0状态时转换实现。使用最多的转换条件表示方法是布尔代数表达式。
PART3.功能表图的基本结构
(1)单序列
单序列由一系列相继激活的步组成,每一步的后面仅接有一个转换,每一个转换的后面只有一个步,如图3a所示。
图3 单序列与选择序列 a)单序列 b)选择序列开始 c)选择序列结束
(2)选择序列
选择序列的开始称为分支,如图3b所示,转换符号只能标在水平连线之下。如果步2是活动的,并且转换条件e=1,则发生由步5步6的进展;如果步5是活动的,并且f=1,则发生由步5步9的进展。在某一时刻一般只允许选择一个序列。
选择序列的结束称为合并,如图5-22c所示。如果步5是活动步,并且转换条件m=1,则发生由步5步12的进展;如果步8是活动步,并且n=1,则发生由步8步12的进展。
(3)并行序列
并行序列的开始称为分支,如图4a所示,当转换条件的实现导致几个序列同时激活时,这些序列称为并行序列。当步4是活动步,并且转换条件a=1、3、7、9这三步同时变为活动步,同时步4变为不活动步。为了强调转换的同步实现,水平连线用双线表示。步3、7、9被同时激活后,每个序列中活动步的进展将是独立的。在表示同步的水平双线之上,只允许有一个转换符号。
图4 并行序列 a)并行序列开始 b)并行序列结束
并行序列的结束称为合并,如图4b所示,在表示同步的水平双线之下,只允许有一个转换符号。当直接连在双线上的所有前级步都处于活动状态,并且转换条件b=1时,才会发生步3、6、9到步10的进展,即步3、6、9同时变为不活动步,而步10变为活动步。并行序列表示系统的几个同时工作的独立部分的工作情况。
(4)子步
如见图5所示,某一步可以包含一系列子步和转换,通常这些序列表示整个系统的一个完整的子功能。子步的使用使系统的设计者在总体设计时容易抓住系统的主要矛盾,用更加简洁的方式表示系统的整体功能和概貌,而不是一开始就陷入某些细节之中。设计者可以从最简单的对整个系统的全面描述开始,然后画出更详细的功能表图,子步中还可以包含更详细的子步,这使设计方法的逻辑性很强,可以减少设计中的错误,缩短总体设计和查错所需要的时间。
图5 子步
PART4.转换实现的基本规则
(1)转换实现的条件
在功能表图中,步的活动状态的进展是由转换的实现来完成的。转换实现必须同时满足两个条件:
1)该转换所有的前级步都是活动步;
2)相应的转换条件得到满足。
如果转换的前级步或后续步不止一个,转换的实现称为同步实现,如图6所示。
图6 转换的同步实现
(2)转换实现应完成的操作
转换的实现应完成两个操作:
1)使所有由有向连线与相应转换符号相连的后续步都变为活动步;
2)使所有由有向连线与相应转换符号相连的前级步都变为不活动步。
PART5.绘制功能表图应注意的问题
(1)两个步绝对不能直接相连,必须用一个转换将它们隔开。
(2)两个转换也不能直接相连,必须用一个步将它们隔开。
(3)功能表图中初始步是必不可少的,它一般对应于系统等待起动的初始状态,这一步可能没有什么动作执行,因此很容易遗漏这一步。如果没有该步,无法表示初始状态,系统也无法返回停止状态。
(4)只有当某一步所有的前级步都是活动步时,该步才有可能变成活动步。如果用无断电保持功能的编程元件代表各步,则PLC开始进入RUN方式时各步均处于“0”状态,因此必须要有初始化信号,将初始步预置为活动步,否则功能表图中永远不会出现活动步,系统将无法工作。
PART6.绘制功能表图举例
某组合机床液压滑台进给运动示意图如图7所示,其工作过程分成原位、快进、工进、快退四步,相应的转换条件为SB、SQ1、SQ2、SQ3。液压滑台系统各液压元件动作情况如表1所示。根据上述功能表图的绘制方法,液压滑台系统的功能表图如图7a所示。
表1 液压元件动作表
元件
工步
YV1
YV2
YV3
原位
―
―
―
快进
┼
―
―
工进
┼
―
┼
快退
―
┼
―
图7 液压滑台系统的功能表图
如果PLC已经确定,可直接用编程元件M300~M303(FX系列)来代表这四步,设输入/输出设备与PLC的I/O点对应关系如表2所示,则可直接画出如图7b所示的功能表图接线图,图中M8002为FX系列PLC的产生初始化脉冲的特殊辅助继电器。
表2 输入/输出设备与PLC I/O对应关系
PLC I/O
X0
X1
X2
X3
Y0
Y1
Y2
输入/输出设备
SB
SQ1
SQ2
SQ3
YV1
YV2
YV3
免责声明:本文转自网络,版权归原作者所有,如涉及作品版权问题,请及时与我们联系删除,谢谢!
相关问答
plc时序图怎么理解?
PLC时序图可以理解为一种描述PLC控制程序运行情况的图示方法。它通过图示PLC程序中各个部分的执行顺序和时间关系,来达到掌握程序结构和调试程序的目的。时序...
plc编程必背十大程序西门子?
梯形图语言(LD)、指令表语言(IL)、功能模块图语言(FBD)、顺序功能流程图语言(SFC)及结构化文本语言(ST)。不同型号的PLC编程软件对以上五种编程语言的...梯...
plc数据通讯程序编写步骤?
第一步:阅读产品说明书第二步:根据说明书,检查I/O第三步:打开编程软件,进行硬件配置,并将I/O地址写在符号表中第四步:写出程序流程图第五步:在软件中...
计算机编程与PLC编程有何区别?
其实编程方法都一样关键是硬件环境不一样PLC编程相对简单一点PLC编程一般有5种语言:梯形图语句表功能图ST文本流程图等;计算机编程语言就很多了一般...
plc高速分拣程序怎么写?
回答如下:PLC高速分拣程序的编写步骤如下:1.确定分拣器的工作方式和要求,包括分拣的物品种类、数量和速度等。2.根据分拣器的要求,设计PLC的程序框图,包...
PLC编程入门怎么学?
1、养成良好的兴趣既然都对PLC编程没有兴趣,那怎么可能学好呢。因此可以把编程当成一项趣味的智力游戏,这样就会促使你有足够及毅力耐心去完成编程。2.PLC学...
plc程序的设计一般包含五部分内容?
1.程序设计前的准备工作程序设计前的准备工作就是要了解控制系统的全部功能、规模、控制方式、输入/输出信号的种类和数量、是否有特殊功能的接口、与其它设...
plc梯形图怎么画?
有2个电动机,M1和M2,设计启停PLC控制程序。要求:1、M1点击启动5秒后M2启动2、M2停止3秒后M1才能停止3、M2可以单独停止4、M1和M2可以同时停止梯形图逻辑控...
做PLC项目的流程?
1、首先需要你自己编写项目文件,根据项目的规模和工艺特点,确定PLC的I/O点数,和大致的控制流程图、系统拓扑图。然后选择适合的PLC,同时选择适合的I/O模块,...
plc的编程方式有几种?
PLC的编程方式有梯形图语言(LD)、指令表语言(IL)、功能模块语言(FBD)、顺序功能流程图语言(SFC)、连续功能图(CFC)、结构化文本语言(ST)。但现目前在工业运用...