通过一个机床的滑台与主轴控制的示例来聊聊PLC编程的思路
当我们在刚开始学习PLC时,可以通过一些简单的功能要求示例来进行自己编程仿真,要抓住功能要求中的一些细节来进行编程。
今天给大家带来的就是一个比较简单的机床滑台与主轴正反转控制的示例,通过这个示例来熟悉SCL编程的控制语句的使用和计数指令的调用问题。
首先,功能要求,示意图如下图所示:
功能要求:
当按下启动按钮,滑台前进,同时主轴正转,滑台前进到前极限SQ1,自动反转,如此反复,要求滑台每反复运动一个循环,主轴方向改变一次。当按下停止按钮,滑台和主轴都停止。
对功能要求进行分析:
1、按下启动,滑台前进,主轴正转,
2、当滑台到达前极限SQ1,滑台后退,主轴正转。
3、当滑台到达后极限SQ2,滑台前进,主轴反转。
4、当滑台再次到达前极限SQ1,滑台后退,主轴反转。
5、当滑台再次到达后极限SQ2,滑台前进,主轴正转。
通过上述对功能要求的分解,我们可以知道滑台的前进和后退,需要使用两个限位进行切换。
但是主轴的正转和反转的切换是靠后退极限进行切换,当第一到达SQ2时,主轴由正转切换至反转,当第二次到达SQ2时,主轴由反转切换至正转。所以,对主轴的方向转换我们可以使用计数的指令来实现,计数为1,则为正转,计数为2则为反转。
通过上面的这些对功能要求的分析,相信大家对本示例的编程应该有了一定的思路了吧。
下面对编程进行介绍和仿真:
首先我们还是建立一个FB,并对FB的接口变量进行一个定义:
下面对程序进行一个编程:
这里就是完全按照功能分析来进行的一个编程,这里用到了控制语句和计数指令的使用,(不熟悉控制语句和指令调用的可以参见我的专栏)
下面在OB1中调用FB,并进行仿真:
本例的源代码如下:大家可以在西门子博途中进行模拟仿真,当然了也可以关注我的专栏,我会将我做的示例做好示例库,分享给大家。
#SQ2_counter.CTU(CU := #SQ2,
PV := 2,
R := #stop);
IF #start AND NOT #stop AND NOT #SQ1 THEN
#PLAT_forward := 1;
#spindle_forward := 1;
ELSIF #stop THEN
#PLAT_forward := 0;
#PLAT_backward := 0;
#spindle_forward := 0;
#spindle_backward := 0;
END_IF;
IF #PLAT_forward AND #SQ1 THEN
#PLAT_forward := 0;
#PLAT_backward := 1;
END_IF;
IF #PLAT_backward AND #SQ2 THEN
#PLAT_backward := 0;
#PLAT_forward := 1;
END_IF;
IF #SQ2_counter.CV = 1 THEN
#spindle_forward := 0;
#spindle_backward := 1;
ELSIF
#SQ2_counter.CV = 2 THEN
#spindle_backward := 0;
#spindle_forward := 1;
END_IF;
PLC编程中常常不知道怎么编程,看看本文也许会对你有启发
数字量控制系统可根据经验或继电器电路来进行设计,但这种设计法没有固定的方法和步骤,具有很大的试探性和随意性,在简单的控制系统中是可行的,但对于一些较大的工程来说,这种方法难免会有很多的不足和遗漏,本文主要给大家分享下顺序控制法。
所谓的顺序控制法,就是按照生产工艺说明中规定的顺序,在各个输入信号的作用下,根据内部状态和时间顺序,在生产过程各个执行机构自动有序的进行操作。这里就要用到顺序功能图,顺序功能图是描述控制系统的控制过程、功能和特性的一种图形,在西门子PLC中有很多PLC(如200系统)没有配备顺序功能图的语言,但是可以用顺序功能图来设计程序。
步的概念:顺序控制最基本的思想是将系统的一个工作周期分为若干个顺序相连的阶段,每个阶段就是每一步(step),然后用编程元件(如m位)来代表各步。
顺序功能图主要由步、有向连线、转换、转换条件和动作组成。
举例说明:下图是个液压动力滑台的进给运动示意图
功能要求:设定动力滑台的初始位在左边I0.3的位置,I0.3为1,Q4.0~Q4.2是控制动力滑台运动的三个电磁阀,按下启动后,滑台的一个工作周期由快进、工进、暂停和快退组成,返回初始位后停止运动。
我们来画顺序功能图:如下图所示,图中的矩形方框代表步。
这里初始步:是系统等待启动命令的相对静止的状态,
有向连线:随着转换的条件的实现,将会发生不得活动状态的进展,这种进展按有向连线的规定路线和方向进行。
转换:步的活动状态的进展是由转换的实现来完成。并与控制过程的发展相对应。
转换条件:使系统由当前步进入下一步的信号。
基本结构:有单序列、选择序列和并行序列(如下图所示)
一、使用置位和复位指令的顺序控制梯形图的编程方法
还是上面的滑台的例子。顺序功能图我们已经画出来了,需要用到初始化组织块OB100,在PLC上电或由STOP切换到RUN模式时,CPU调用OB100,在OB100中将M0.0~M0.7复位,然后用置位S指令将M0.0置位。如下图所示
根据顺序功能图,我们来编写OB1程序。如下图所示
再做一个较为复杂的程序,在日常控制中需要有多种控制方式,例如手动方式和自动方式,手动方式较简单了,就按照功能要求直接编程即可,自动方式就用顺序功能图的方式来编程,方便使用。
工艺功能说明:
如上图,机械手用来将工件从A运到B,操作面板如右图所示,Q4.1控制加紧电磁阀,为1时加紧工件,工作方式选择开关有5个位置,操作面板的6按钮是手动按钮,为保证在紧急情况下能可靠的切断PLC的负载电源,设置了交流接触器KM(如下图所示),运行时按下负载电源按钮,使KM线圈得电并自锁,KM的主触点接通,给外部负载提供电源,当紧急情况时,按下紧急停车按钮来断开电源。
工作方式有手动、单周期、单步、连续和回原点5种方式,
1)在手动模式下,用操作面板上的6个单步按钮来分别控制。
2)在单周期方式下,按下I2.6,从初始步M0.0开始,按如下顺序功能图完成一个周期的动作,返回并停留在初始步。
回原点
3)在连续工作方式下,按下启动按钮,机械手从初始步开始工作一个周期后,反复连续的动作。
4)单步方式下,从初始步开始,按一次启动按钮,系统切换到下一步,完成该步后,自动停止并停留在该步。
5)原始状态:机械手在最上面和最左边,且加紧装置松开。
程序的主体结构
在OB1中调用对应的功能FC,共用程序FC1是无条件调用,供各个FC来使用。
符号表如下图
公用程序FC1,手动程序FC2,回原点程序FC4,单周期、单步、自动程序FC3
首先在OB100编写初始化程序,根据功能说明的初始条件编写,如下图所示:
编写公共程序:
用于处理各种工作方式都要执行的任务,以及不同工作方式之间的相互切换处理,
1)当从自动模式切换到手动或回原点方式时,用MOVE将顺序功能图中的除了初始步以外的各步对应的存储器为(即MB2)复位。
2)退出自动回原点方式时,用MOVE将M1.0~M1.5复位。以放置下次进入自动回原点方式时,可能出现同时有两个活动步的异常状况。
3)非连续工作方式,当选在I2.4为0时,将连续标志位M0.7复位。
编写程序如下:
编写手动程序
根据顺序功能图编写自动程序
自动回原点程序
OB1程序
怎么样?是不是有了一些了解,后面我会继续GRAPH的编程方法,主要大家要对顺序功能图的编程方法要有一定的掌握,在编程的过程中会觉得有很大的方便。
写文章不易,觉得对你有帮助的话,别忘记关注、点赞和转发,你们的支持是我前进的动力。
相关问答
FMS弗迈斯电动滑台的内部结构都有什么啊?
1.电缸特点:a.闭环伺服控制,控制精度达到0.01mm;b.精密控制推力,增加压力传感器,控制精度可达1%;c.很容易与PLC等控制系统连接,实现高精密运动控制。d....b...
电动缸什么地方用的上?
伺服电动缸,又称电动执行器,是一种将电机同丝杆结合在一起的模块化产品,伺服电动缸能够将电机的旋转运动转化为直线运动,这些有些类似滑台的部分特征。那么伺...