PLC编程系统设计方法,具体分步骤讲解
一、问题提出可编程控制器技术最主要是应用于自动化控制工程中,如何综合地运用前面学过知识点,根据实际工程要求合理组合成控制系统, 在此介绍组成可编程控制器控制系统的一般方法。
二、可编程控制器控制系统设计的基本步骤
1 .系统设计的主要内容
( 1 )拟定控制系统设计的技术条件。技术条件一般以设计任务书的形式来确定,它是整个设计的依据;
( 2 )选择电气传动形式和电动机、电磁阀等执行机构;
( 3 )选定 PLC 的型号;
( 4 )编制 PLC 的输入 / 输出分配表或绘制输入 / 输出端子接线图;
( 5 )根据系统设计的要求编写软件规格说明书,然后再用相应的编程语言(常用梯形图)进行程序设计;
( 6 )了解并遵循用户认知心理学,重视人机界面的设计,增强人与机器之间的友善关系;
( 7 )设计操作台、电气柜及非标准电器元部件;
( 8 )编写设计说明书和使用说明书;
根据具体任务,上述内容可适当调整。
2 . 系统设计的基本步骤
( 1 )深入了解和分析被控对象的工艺条件和控制要求
a .被控对象就是受控的机械、电气设备、生产线或生产过程。
b .控制要求主要指控制的基本方式、应完成的动作、自动工作循环的组成、必要的保护和联锁等。对较复杂的控制系统,还可将控制任务分成几个独立部分,这种可化繁为简,有利于编程和调试。
( 2 )确定 I/O 设备
根据被控对象对 PLC 控制系统的功能要求,确定系统所需的用户输入、输出设备。常用的输入设备有按钮、选择开关、行程开关、传感器等,常用的输出设备有继电器、接触器、指示灯、电磁阀等。
( 3 )选择合适的 PLC 类型
根据已确定的用户 I/O 设备,统计所需的输入信号和输出信号的点数,选择合适的 PLC 类型,包括机型的选择、容量的选择、 I/O 模块的选择、电源模块的选择等。
( 4 )分配 I/O 点
分配 PLC 的输入输出点,编制出输入 / 输出分配表或者画出输入 / 输出端子的接线图。接着九可以进行 PLC 程序设计,同时可进行控制柜或操作台的设计和现场施工。
( 5 )设计应用系统梯形图程序
根据工作功能图表或状态流程图等设计出梯形图即编程。这一步是整个应用系统设计的最核心工作,也是比较困难的一步,要设计好梯形图,首先要十分熟悉控制要求,同时还要有一定的电气设计的实践经验。
( 6 )将程序输入 PLC
当使用简易编程器将程序输入 PLC 时,需要先将梯形图转换成指令助记符,以便输入。当使用可编程序控制器的辅助编程软件在计算机上编程时,可通过上下位机的连接电缆将程序下载到 PLC 中去。
( 7 )进行软件测试
程序输入 PLC 后,应先进行测试工作。因为在程序设计过程中,难免会有疏漏的地方。因此在将 PLC 连接到现场设备上去之前,必需进行软件测试,以排除程序中的错误,同时也为整体调试打好基础,缩短整体调试的周期。
( 8 )应用系统整体调试
在 PLC 软硬件设计和控制柜及现场施工完成后,就可以进行整个系统的联机调试,如果控制系统是由几个部分组成,则应先作局部调试,然后再进行整体调试;如果控制程序的步序较多,则可先进行分段调试,然后再连接起来总调。调试中发现的问题,要逐一排除,直至调试成功。
( 9 )编制技术文件
系统技术文件包括说明书、电气原理图、电器布置图、电气元件明细表、 PLC 梯形图。
三、 PLC 硬件系统设计
1 . PLC 型号的选择
在作出系统控制方案的决策之前,要详细了解被控对象的控制要求,从而决定是否选用 PLC 进行控制。
在控制系统逻辑关系较复杂(需要大量中间继电器、时间继电器、计数器等)、工艺流程和产品改型较频繁、需要进行数据处理和信息管理(有数据运算、模拟量的控制、 PID 调节等)、系统要求有较高的可靠性和稳定性、准备实现工厂自动化联网等情况下,使用 PLC 控制是很必要的。
目前,国内外众多的生产厂家提供了多种系列功能各异的 PLC 产品,使用户眼花缭乱、无所适从。所以全面权衡利弊、合理地选择机型才能达到经济实用的目的。一般选择机型要以满足系统功能需要为宗旨,不要盲目贪大求全,以免造成投资和设备资源的浪费。机型的选择可从以下几个方面来考虑。
( 1 )对输入 / 输出点的选择
盲目选择点数多的机型会造成一定浪费。
要先弄清除控制系统的 I/O 总点数,再按实际所需总点数的 15 ~ 20 %留出备用量(为系统的改造等留有余地)后确定所需 PLC 的点数。
另外要注意,一些高密度输入点的模块对同时接通的输入点数有限制,一般同时接通的输入点不得超过总输入点的 60 %; PLC 每个输出点的驱动能力( A/ 点)也是有限的,有的 PLC 其每点输出电流的大小还随所加负载电压的不同而异;一般 PLC 的允许输出电流随环境温度的升高而有所降低等。在选型时要考虑这些问题。
PLC 的输出点可分为共点式、分组式和隔离式几种接法。隔离式的各组输出点之间可以采用不同的电压种类和电压等级,但这种 PLC 平均每点的价格较高。如果输出信号之间不需要隔离,则应选择前两种输出方式的 PLC 。
( 2 )对存储容量的选择
对用户存储容量只能作粗略的估算。在仅对开关量进行控制的系统中,可以用输入总点数乘 10 字 / 点+输出总点数乘 5 字 / 点来估算;计数器/ 定时器按( 3 ~ 5 )字 / 个估算;有运算处理时按( 5 ~ 10 )字 / 量估算;在有模拟量输入 / 输出的系统中,可以按每输入 / (或输出)一路模拟量约需( 80 ~ 100 )字左右的存储容量来估算;有通信处理时按每个接口 200 字以上的数量粗略估算。最后,一般按估算容量的50 ~ 100 %留有裕量。对缺乏经验的设计者,选择容量时留有裕量要大些。
( 3 )对 I/O 响应时间的选择
PLC 的 I/O 响应时间包括输入电路延迟、输出电路延迟和扫描工作方式引起的时间延迟(一般在 2 ~ 3 个扫描周期)等。对开关量控制的系统,PLC 和 I/O 响应时间一般都能满足实际工程的要求,可不必考虑 I/O 响应问题。但对模拟量控制的系统、特别是闭环系统就要考虑这个问题。
( 4 )根据输出负载的特点选型
不同的负载对 PLC 的输出方式有相应的要求。例如,频繁通断的感性负载,应选择晶体管或晶闸管输出型的,而不应选用继电器输出型的。但继电器输出型的 PLC 有许多优点,如导通压降小,有隔离作用,价格相对较便宜,承受瞬时过电压和过电流的能力较强,其负载电压灵活(可交流、可直流)且电压等级范围大等。所以动作不频繁的交、直流负载可以选择继电器输出型的 PLC 。
( 5 )对在线和离线编程的选择
离线编程示指主机和编程器共用一个 CPU ,通过编程器的方式选择开关来选择 PLC 的编程、监控和运行工作状态。编程状态时, CPU 只为编程器服务,而不对现场进行控制。专用编程器编程属于这种情况。在线编程是指主机和编程器各有一个 CPU ,主机的 CPU 完成对现场的控制,在每一个扫描周期末尾与编程器通信,编程器把修改的程序发给主机,在下一个扫描周期主机将按新的程序对现场进行控制。计算机辅助编程既能实现离线编程,也能实现在线编程。在线编程需购置计算机,并配置编程软件。采用哪种编程方法应根据需要决定。
( 6 )据是否联网通信选型
若 PLC 控制的系统需要联入工厂自动化网络,则 PLC 需要有通信联网功能,即要求 PLC 应具有连接其他 PLC 、上位计算机及 CRT 等的接口。大、中型机都有通信功能,目前大部分小型机也具有通信功能。
( 7 )对 PLC 结构形式的选择
在相同功能和相同 I/O 点数据的情况下,整体式比模块式价格低。但模块式具有功能扩展灵活,维修方便(换模块),容易判断故障等优点,要按实际需要选择 PLC 的结构形式。
2 .分配输入 / 输出点
一般输入点和输入信号、输出点和输出控制是一一对应的。
分配好后,按系统配置的通道与接点号,分配给每一个输入信号和输出信号,即进行编号。
在个别情况下,也有两个信号用一个输入点的,那样就应在接入输入点前,按逻辑关系接好线(如两个触点先串联或并联),然后再接到输入点。
( 1 )确定 I/O 通道范围
不同型号的 PLC ,其输入 / 输出通道的范围是不一样的,应根据所选 PLC 型号,查阅相应的编程手册,决不可“张冠李戴”。必须参阅有关操作手册。
( 2 )部辅助继电器
内部辅助继电器不对外输出,不能直接连接外部器件,而是在控制其他继电器、定时器 / 计数器时作数据存储或数据处理用。
从功能上讲,内部辅助继电器相当于传统电控柜中的中间继电器。
未分配模块的输入 / 输出继电器区以及未使用 1 : 1 链接时的链接继电器区等均可作为内部辅助继电器使用。根据程序设计的需要,应合理安排PLC 的内部辅助继电器,在设计说明书中应详细列出各内部辅助继电器在程序中的用途,避免重复使用。参阅有关操作手册。
( 3 )分配定时器 / 计数器
PLC 的定时器 / 计数器数量分别见有关操作手册。
7.3 PLC 软件系统设计方法及步骤
7.3.1 PLC 软件系统设计的方法
在了解了 PLC 程序结构之后,就要具体地编制程序了。编制 PLC 控制程序的方法很多,这里主要介绍几种典型的编程方法。
1. 图解法编程
图解法是靠画图进行 PLC 程序设计。常见的主要有梯形图法、逻辑流程图法、时序流程图法和步进顺控法。
(1) 梯形图法:梯形图法是用梯形图语言去编制 PLC 程序。这是一种模仿继电器控制系统的编程方法。其图形甚至元件名称都与继电器控制电路十分相近。这种方法很容易地就可以把原继电器控制电路移植成 PLC 的梯形图语言。这对于熟悉继电器控制的人来说,是最方便的一种编程方法。
(2) 逻辑流程图法:逻辑流程图法是用逻辑框图表示 PLC 程序的执行过程,反应输入与输出的关系。逻辑流程图法是把系统的工艺流程,用逻辑框图表示出来形成系统的逻辑流程图。这种方法编制的 PLC 控制程序逻辑思路清晰、输入与输出的因果关系及联锁条件明确。逻辑流程图会使整个程序脉络清楚,便于分析控制程序,便于查找故障点,便于调试程序和维修程序。有时对一个复杂的程序,直接用语句表和用梯形图编程可能觉得难以下手,则可以先画出逻辑流程图,再为逻辑流程图的各个部分用语句表和梯形图编制 PLC 应用程序。
(3) 时序流程图法:时序流程图法使首先画出控制系统的时序图(即到某一个时间应该进行哪项控制的控制时序图),再根据时序关系画出对应的控制任务的程序框图,最后把程序框图写成 PLC 程序。时序流程图法很适合于以时间为基准的控制系统的编程方法。
(4) 步进顺控法:步进顺控法是在顺控指令的配合下设计复杂的控制程序。一般比较复杂的程序,都可以分成若干个功能比较简单的程序段,一个程序段可以看成整个控制过程中的一步。从整个角度去看,一个复杂系统的控制过程是由这样若干个步组成的。系统控制的任务实际上可以认为在不同时刻或者在不同进程中去完成对各个步的控制。为此,不少 PLC 生产厂家在自己的 PLC 中增加了步进顺控指令。在画完各个步进的状态流程图之后,可以利用步进顺控指令方便地编写控制程序。
2. 经验法编程
经验法是运用自己的或别人的经验进行设计。多数是设计前先选择与自己工艺要求相近的程序,把这些程序看成是自己的“试验程序”。结合自己工程的情况,对这些“试验程序”逐一修改,使之适合自己的工程要求。这里所说的经验,有的是来自自己的经验总结,有的可能是别人的设计经验,就需要日积月累,善于总结。
3. 计算机辅助设计编程
计算机辅助设计是通过 PLC 编程软件在计算机上进行程序设计、离线或在线编程、离线仿真和在线调试等等。使用编程软件可以十分方便地在计算机上离线或在线编程、在线调试,使用编程软件可以十分方便地在计算机上进行程序的存取、加密以及形成 EXE 运行文件。
7.3.2 PLC 软件系统设计的步骤
在了解了程序结构和编程方法的基础上,就要实际地编写 PLC 程序了。编写 PLC 程序和编写其他计算机程序一样,都需要经历如下过程。
1. 对系统任务分块
分块的目的就是把一个复杂的工程,分解成多个比较简单的小任务。这样就把一个复杂的大问题化为多个简单的小问题。这样可便于编制程序。
2. 编制控制系统的逻辑关系图
从逻辑关系图上,可以反应出某一逻辑关系的结果是什么,这一结果又英国导出哪些动作。这个逻辑关系可以是以各个控制活动顺序为基准,也可能是以整个活动的时间节拍为基准。逻辑关系图反映了控制过程中控制作用与被控对象的活动,也反应了输入与输出的关系。
3. 绘制各种电路图
绘制各种电路的目的,是把系统的输入输出所设计的地址和名称联系起来。这是很关键的一步。在绘制 PLC 的输入电路时,不仅要考虑到信号的连接点是否与命名一致,还要考虑到输入端的电压和电流是否合适,也要考虑到在特殊条件下运行的可靠性与稳定条件等问题。特别要考虑到能否把高压引导到 PLC 的输入端,把高压引入 PLC 输入端,会对 PLC 造成比较大的伤害。在绘制 PLC 的输出电路时,不仅要考虑到输出信号的连接点是否与命名一致,还要考虑到 PLC 输出模块的带负载能力和耐电压能力。此外,还要考虑到电源的输出功率和极性问题。在整个电路的绘制中,还要考虑设计的原则努力提高其稳定性和可靠性。虽然用 PLC 进行控制方便、灵活。但是在电路的设计上仍然需要谨慎、全面。因此,在绘制电路图时要考虑周全,何处该装按钮,何处该装开关,都要一丝不苟。
4. 编制 PLC 程序并进行模拟调试
在绘制完电路图之后,就可以着手编制 PLC 程序了。当然可以用上述方法编程。在编程时,除了要注意程序要正确、可靠之外,还要考虑程序要简捷、省时、便于阅读、便于修改。编好一个程序块要进行模拟实验,这样便于查找问题,便于及时修改,最好不要整个程序完成后一起算总帐。
5. 制作控制台与控制柜
在绘制完电器、编完程序之后,就可以制作控制台和控制柜了。在时间紧张的时候,这项工作也可以和编制程序并列进行。在制作控制台和控制柜的时候要注意选择开关、按钮、继电器等器件的质量,规格必须满足要求。设备的安装必须注意安全、可靠。比如说屏蔽问题、接地问题、高压隔离等问题必须妥善处理。
6. 现场调试
现场调试是整个控制系统完成的重要环节。任何程序的设计很难说不经过现场调试就能使用的。只有通过现场调试才能发现控制回路和控制程序不能满足系统要求之处;只有通过现场调试才能发现控制电路和控制程序发生矛盾之处;只有进行现场调试才能最后实地测试和最后调整控制电路和控制程序,以适应控制系统的要求。
7. 编写技术文件并现场试运行
经过现场调试以后,控制电路和控制程序基本被确定了,整个系统的硬件和软件基本没有问题了。这时就要全面整流技术文件,包括整理电路图、PLC 程序、使用说明及帮助文件。到此工作基本结束。
资深工程师分享:PLC程序设计思路,初学者福利
前几天有个学员咨询一个程序设计的问题,程序的控制要求如下:需要控制5台电机的运行,每台电机运行时需要记录运行时间,电机启动运行时,根据记录的运行时间,从小到大,每个2s依次启动电机的运行。
我想对于这个程序的控制要求来讲,他的难点在于如何对这些电机运行时间进行排列,排列好了后,如何根据排列的顺序去起动电机的运行,从这个控制要求中我们可以看出,这主要是分为两个部分来完成这个程序的设计的:
第一部分:用于对电机的运行时间进行从小到大顺序的排列;
第二部分:根据排列好的数据,如何判断需要起动那一台电机。
这里我们以西门子S7-200SMART系列PLC为例,先说说,如何编写一个数据排列的带参数的子程序。
数据排列带参数子程序设计思路:
西门子S7-200系列的PLC中不像三菱的FX系列PLC具有数据排列的指令,因此我们要实现这个数据的排列功能,必须自己去搭建一个这样的功能块,在搭建这个功能块的时候,会使用到间接寻址和循环指令,同时还需要应用到带参数的子程序。那么如何编写一个数据排列的子程序呢?
假设有5个数据需要把他们的数据的大小按照顺序从小到大排列,那么我们可以先在这五个数中找到最大的数放在最后面。然后在剩下的四个数中找到最大的数放到倒数第二个的位置,接着在剩下的三个数中找到最大的值放到倒数第三的位置,依次下去,这样当全部比较完后,我们的数据就按照从小到大的顺序排列好了。那么很明显,我们需要用两个循环指令进行嵌套。外层的循环指令需要循环4次,而内层的循环指令的循环次数是会变化的,因为第一次从5个数据中找出最大值,循环4次,第二次的时候从4个数据中找出最大值,循环3次,依次下去,每次需要改变循环的次数。
如何找出最大值呢? 我们可以进行比较,首先用第二个数跟第一个数比较,如果第二个数比第一个数大,那么指针往下移动变成第二个数跟第三个数比较,如果第二个数比第三个数大,那么对第二个数和第三个数进行交换,依次下去,当比较完成后,最大的数就放到最后的地址里面去了。
程序设计:
(1)建立变量表
(2)根据变量表,编写数据排列子程序
第二部分的内容: 根据排列好的数据,如何判断需要起动那一台电机。
在启动电机时,我们需要把每一台电机运行的时间拿过来与排列好的数据进行比较,看看他是位于我们这个排列好的数据中的的什么位置。然后根据这个位置来判断启动的时候。
设计思路:
在这里面我们会用到两个功能,第一个功能时把我们电机运行的时间,按照编号顺序放到表格中,例如VW20到VW28分别表示电机1到电机5的运行时间,把它放到表格中,而后把我们排列好的数据,拿过来与表格中的数据进行比较(可以使用查表指令),看看最小的值时位于表格中的哪个位置,根据查表指令所查找的位置来启动那条电机,比如查找出来的值时3则表示的就是第三台电机的运行时间最少,可以启动这第三台电机,这里我们需要用到表格指令及间接寻址。
程序:
总结
本程序作为一个框架程序,主要应用到了以下几个内容,间接寻址的应用,循环指令的应用,带参数子程序的应用,查表指令的使用,希望读者看完后,对自己以后设计程序时思路会有所启发,若有考虑不周之处或更好的方法,望指出,谢谢。
本文为技成曾鑫老师原创作品,未经同意转载必究
↓↓↓下载可免费观看西门子系列课程
相关问答
plc编程思路怎么建立?
设计好电路图,统计好需要用的PLC输入输出点数及各点功能,然后根据控制要求编写程序,再检验与电路图之间是否合理,相互修改,然后进行程序模拟调试,调试中根...
PlC的程序怎么编写?
编写PLC程序需要遵循一定的步骤。首先,需要进行需求分析,确定系统的功能和操作流程。然后,根据需求设计程序结构,包括输入输出模块的配置和信号处理逻辑。...
plc程序设计语言?
1、梯形图(LadderDiagram)程序设计语言梯形图程序设计语言是用梯形图的图形符号来描述程序的一种程序设计语言。采用梯形图程序设计语言,程序采用梯形图的形...
plc如何写好示教和配方?
要写好PLC的示教和配方,需要注意以下几点:1.确定适当的项目范围首先需要确定项目的范围,包括需要生产的产品类型和数量,以及所需的设备和系统。在此基础上...
PLC控制系统的一般设计方法及步骤?
1、分析控制系统的控制要求熟悉被控对象的工艺要求,确定必须完成的动作及动作完成的顺序,归纳出顺序功能图。选择适当类型的PLC根据生产工艺要求,确定I/O点...
本人想配置一台电脑学plc编程,请问应配置什么样的电脑?-ZOL问答
屏幕方面需求必须自己确定,设计需求肯定对高色域有要求的,甚至需要进行校色的。校色后按说生成个小软件,让机器开*后运*。按说:正常下确定好处理器的档次。...
plc五种编程语言?
plc编程语言如下1、梯形图语言(LD)梯形图语言是PLC程序设计中最常用的编程语言。它是与继电器线路类似的一种编程语言。由于电气设计人员对继电器控制较为熟...
PLC天塔之光编程?
是可能的。因为PLC(可编程控制器)是一种用于自动化控制的电子设备,能够通过编程实现各种功能,而天塔之光是一款PLC编程软件,可以帮助用户进行PLC编程工作,...
plc编程需要怎样的电脑配置?
PLC编程需要一台能够运行PLC编程软件的电脑。不同品牌的PLC编程软件对电脑配置的要求略有不同,但一般而言,以下是一些常见的电脑配置要求:-处理器:IntelCo...
PLC程序设计注意事项是什么
[回答]PLC输出电路中没有保护,因此在外部电路中应设置串联熔断器等保护装置,以防止负载短路造成PLC损坏。熔断器容量一般为0.5A。(1).PLC输出电路中没有...