PLC编程时常用的5个编程技术方法
PLC 的编程方法大体上有 5 种:经验法、解析法、图解法、技巧法及计算机辅助设计法。
(1)经验法 :
运用已掌握的成功设计经验,结合实际的情况,选择与实际情况类似的一个或若干个成功的程序,或具有一些典型功能的标准程序作为“样机”,对“样机”逐一修改,直至满足新的任务要求。在工作过程中,应多收集与积累这些“样机”,从而不断丰富自己的经验。
(2)解析法 :
PLC用于逻辑控制的编程方法可根据组合逻辑或时序逻辑的理论,并运用相应的解析方法,对其进行逻辑关系的求解。然后,再根据求解的结果,或画成梯形图,或直接编写指令表。解析法比较严密,可以运用一定的标准,使程序优化与算法化,并可避免编程的盲目性,是一种比较有效的方法。
(3)图解法:
图解法是靠画图进行PLC程序设计。
常见的主要有3种方法:梯形图法、波形图法及流程图法 。
梯形图法 是最基本的方法。无论是经验法,还是解析法,若用梯形图编写PLC程序,就要用到梯形图法。
波形图法 很适合于时序控制电路。它先把对应信号的波形画出,再根据时间用逻辑关系去组合,就可以很容易地把电路设计出来。
流程图法 是用框图来表示PLC程序的执行过程及输入条件与输出间的关系。在步进控制中,用它进行设计是很方便的。
(4)技巧法
技巧法是在经验法及解析法的基础上,运用技巧进行编程,以提高进行编程的质量。巧妙地使用PLC所提供的多种功能指令进行编程,是对已有经验的“升华”,做到熟能生巧,实现创造性的编程。
(5)计算机辅助设计
PLC可通过上位连接单元与微型计算机连接,并运用微型机进行联机辅助编程。计算机辅助编程,应有相应的软件做支持。现有的编程软件可把梯形图翻译成指令表。编程时,可先在计算机屏幕上设计梯形图,然后再将该梯形图转换成对应的指令表。这种编程软件有现成的,例如,日本三菱公司的MEDOC和GPP等
总结以上5种编程方法是不能截然分开的。如经验法、解析法、技巧法都要用到图解法,而技巧法又是经验法的升华。
通过示例来聊聊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点数,IO余量)程序设计需要先要规划(数据寄存器,中间继电器分配,IO分配),程序结构框架,单元功能实现,整体程序调试...根软...
plc编程高级思路?
再开始编程会简单点。...4、合理分配主程序、子程序和定时中断程序等;5、合理分配数据块,定时器,计数器,存储器变量等,注意变量位置不能重叠。七、软件内部...
plc编程思路技巧?
常用的PLC编程方法有经验法、解析法、图解法。经验法:即是运用自己的或别人的经验进行设计,设计前选择与设计要求相类似的成功的例子,并进行修改,增删部分功...
plc编程思路框架和工艺流程?
PLC(可编程逻辑控制器)编程思路框架和工艺流程可以根据具体的应用和需求有所不同,但一般可以遵循以下基本步骤:1.确定需求:了解控制系统的具体需求和目标...
西门子plc编程思路?
一、西门子plc编程思路基本的硬件知识编程之前,需要了解一些基本的硬件知识,最好从硬件的选型和画图入手,等把输入输出的类型,模拟量的选型等搞清楚之后,再...
plc模块化编程思路?
PLC模块化编程的思路大致如下:1.确定系统的功能要求及功能模块,分析系统的功能单元,确定输入信号与输出信号;2.分析功能模块可以针对输入信号进行不同方...
PlC的程序怎么编写?
编写PLC程序需要遵循一定的步骤。首先,需要进行需求分析,确定系统的功能和操作流程。然后,根据需求设计程序结构,包括输入输出模块的配置和信号处理逻辑。...
plc编程没有思路怎么办?
思路嘛其实也并不难,你输入的是一个设定值和一个斜坡时间两个变量,另有一个变量是当前输出值,一个变量是当前计时时间,一共四个变量,对象模型就是在本次扫描...
plc如何编程?
PLC程序编写步骤:1.确定需求:确定PLC控制的对象、范围、控制方式等。2.确定输入输出:确定需要用到的输入输出模块以及对应的输入输出端口。3.编写IO列表...
plc编程逻辑思维的建立步骤?
PLC编程逻辑思维的建立步骤如下:1.确定系统功能和工作流程:了解系统的功能和工作流程,包括输入、输出、控制和报警等方面。2.确定程序设计的目标和要求:...