怎样学好PLC设计一套完整的PLC系统?你可以这样做!
一 PLC的功能:
可编程逻辑控制器,它采用一类可编程的存储器,用于其内部存储程序,执行逻辑运算、顺序控制、定时、计数与算术操作等面向用户的指令,并通过数字或模拟式输入/输出控制各种类型的机械或生产过程。
作为现代工业的核心,95%以上的工厂都使用PLC作为控制中心,所以学好PLC就意味着一技之长。
二怎样设计一套PLC系统?
系统设计的主要内容包括:
1 选择电气或者液压传动形式和电动机、电磁阀等执行机构;
2 选定 PLC 的型号;
3 编制 PLC 的输入 / 输出分配表或绘制输入 / 输出端子接线图;
4 根据系统设计的要求编写软件规格说明书,然后再用相应的编程语言(常用梯形图)进行程序设计;
5 了解并遵循用户认知心理学,重视人机界面的设计,增强人与机器之间的友善关系;
6 设计操作台、电气柜及非标准电器元部件;
7 编写设计说明书和使用说明书; 根据具体任务,上述内容可适当调整。
系统设计的基本步骤 :
可编程控制器应用系统设计与调试的主要步骤,如图 1 所示。
图 1 可编程控制器应用系统设计与调试的主要步骤
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 型号的选择
在控制系统逻辑关系较复杂(需要大量中间继电器、时间继电器、计数器等)、工艺流程和产品改型较频繁、需要进行数据处理和信息管理(有数据运算、模拟量的控制、PID 调节等)、系统要求有较高的可靠性和稳定性、准备实现工厂自动化联网等情况下,使用 PLC 控制是很必要的。
三 PLC学习的品牌问题:
学习PLC一个目的是为用户或者自己设计产品,另一个目的就是日常维护。那么市面上有那么多的PLC,我们到底应该学习哪种PLC呢?
其实最好的还是根据自身条件进行选择。如果没有选择的话我推荐西门子或者三菱。
有一些特别大型的企业在招标的时候会指定特定的PLC,一般德企只使用西门子,日企则要求使用日系的三菱和欧姆龙等等。
其实日系PLC和德系PLC在功能上已经很完善,在不同的应用场合都有选择。
比如说西门子的S7-200/S7-200smart属于小型PLC,特点是控制简单,性价比高。三菱的小型PLC有FX系列。
西门子的S7-300/400以及S1500属于大型PLC,性能优异,响应速度快,适用于大型项目中,三菱也有Q系列PLC可以应用在这些大型项目中。
那么为什么我会推荐这两种PLC呢?不仅仅是因为它们比别的品牌PLC稳定,更是因为它们在国内的市场占有率高,放眼望去,这两个品牌占据了国内市场80%以上的份额。
其实在小型PLC市场,国内品牌的PLC也很有竞争力,编程简洁,稳定性高。我很推荐大家使用国产品牌,但如果是学习的话还是以这两个品牌为主好一些。
我是搞西门子PLC出身的,我使用了三年的时间一直从事西门子PLC的编程调试。那三年我接触了西门子PLC,主要以S7-300/400为主。之后我去过其他公司,我使用过各种各样的品牌PLC,包括国产的小型PLC,包括三菱,欧姆龙,施耐德等等。
有了西门子大型PLC的根基,其他品牌的PLC对我来说都没有太大问题,熟悉一下软件操作以及指令,很快就可以编出一套完整的系统,对我来说,我的电脑里没有这个PLC视频,那个PLC教程,只有各个品牌PLC的系统手册,这些足矣。
还是回到西门子PLC和三菱PLC上,他们两者的仿真都很好用。
使用时间长了,很难说出它们两者之间的优劣势,每一系列都有自己的特点,因为就像一位网友说的,你不能拿iphone4和华为V20相比。
在一些小型项目上,西门子PLC控制的设备也不见得比国产PLC控制的设备更加流畅,那完全取决于使用者的编程水平和对设备的认知。
当然我说的是如果没有选择的话我推荐你学习这两个品牌的。
如果你的公司只使用国产PLC或者例如基恩士这样的PLC,让一个新人先去学习西门子就是背道而驰了。
因为学习PLC的目的是应用,只有在合适环境下,不断地接触它,研究它,学习它才能很好的掌握它。
因此,请从你身边的PLC学习,如果想深入学习的话再去学习西门子或者三菱。
三菱SFTL(P)位左移指令在转盘机构中的应用
一,先来认识下SFTL(P)指令
SFTL(P):位左移指令,使指定位长度的位软元件每次左移指定的位长度的指令。
移动后,从最低位开始传送n2点长度的S位软元件。
下面是FX3U编程手册中的指令截图:
举个例子好理解:
上面这行程序的意思是,当M0导通后,首先M20为起始地址的K8个M软元件,即M20-M27先往左移动K1位,然后将M10开始的K1位的位状态赋值给M20。
大家最好在编程软件上模拟仿真一下,看看具体是怎么移位和赋值的,比如把K1改成K2试试效果。
二,转盘机构:转盘是由分割器带动旋转的,每旋转一个分度就等于到了一个工位,例如8个分度盘,那么每个工位呈45°均匀分布。每个工位或者部分工位上都有气缸或者其他机构需要对工件进行装配打孔等操作。
要控制好转盘机构,最简单的办法就是同步动作,也就是,转盘每转动一次,所有的工位上的执行机构都动作一遍,等所有工位动作一遍完后,转盘再旋转一个分度,然后所有工位再动作一遍,这样周而复始。虽然这样做不存在什么问题 ,但是有时候却不能这么做,比如,因为没有工件,气缸动作时,会检测不到磁性开关信号,导致动作停滞等。
所以,当工位上没有产品时,相应的执行机构就不需要动作,这样既节省了节拍,又避免了误动作的问题。
三,SFTL(P)的记忆功能
那么如何知道当前工位上是否存在工件呢?
要么在每个工位上装一个传感器,这样每个工位就能知道是否存在工件,当有信号时,执行机构就会动作;反之就直接跳过去,直接输出完成信号。这么做的好处就是程序简单,只看信号的有无动作即可。但是这么做,却要花费大量的传感器,那么有什么办法可以既节省传感器,又可以记住工位上是否存在工件呢?
答案就是使用SFTL(P)。
那么它是如何来记忆呢?
有了第一部分的指令解释,那么我们具体来实际应用并验证一下。
首先我们先看下下面这个转盘机构,它的上面有8个模具,其中0为上料位,1为打孔位,2为上铆钉位,3为空,4为压铆钉位,5为下料位,6为空,7为空。
然后我们将这几个位进行编码,其中上料位是自动上料,此位不需要记忆,因为它需要一直给转盘供料,因此上料位不需要进入编码。另外,虽然里面有空位,但是我们也需要将它一起编码,这样可以保持连续性。当空位出现有料时,因为没有机构,所以空位是没有程序的,因此即使状态位是1也没关系。
下面对1到7个工位进行编码,我们用M21-M27分别表示这7个工位,然后我们就可以写出位左移指令:
SFLTP M20 M21 K7 K1
结合这个转盘机构,我们再看下这条语句的意思:
M20表示的是上料位,上料位装了一个感应开关,当有料来且上到位时,就触发转盘转动一次,且此时M20置位1,当分割器到位信号来要给上升沿时,M20复位0。
M21表示工位1,实际是打孔。
M22表示工位2,实际是上铆钉。
M23表示工位3,空位没有动作机构。
M24表示工位4,实际是压铆钉。
M25表示工位5,实际是下料。
M26表示工位6,空位没有动作机构。
M27表示工位6,空位没有动作机构。
当相应的M软元件置位1时,表示当前工位有料,然后开始执行机构开始动作。
我们再根据指令来分析这条语句的执行过程:
当M0导通时,先将M21-M27的K7个整体往左移动K1位,然后将M20开始的K1位,也就是一个M20,它的当前状态赋值到M21。此时M21-M217的二进制值为1000000。那么此时,除了工位1需要动作外,其他工位还是处于不动状态。
当又上料后,触发M0第二次导通,那么先将1000000左移1位,变成0100000,然后再将M20=1的值,赋值给M21,然后M21-M27变成了1100000,此时工位1和工位2需要动作。
依次类推。你只需要根据相应M软元件的状态来确定是否执行动作,1就动作,0就不动作。
下面的表格有助于大家好好理解:
无动作
无动作
无动作
后面的都移出去了
有料检测
打孔
上铆钉
空
压铆
下料
空
空
步骤
上料位
工位1
工位2
工位3
工位4
工位5
工位6
工位7
1
人工上料
料1
2
转盘转动一次
料1
0
0
0
0
0
0
3
人工上料
料2
4
转盘转动一次
料2
料1
0
0
0
0
0
5
人工上料
料3
6
转盘转动一次
料3
料2
料1
0
0
0
0
7
人工上料
料4
8
转盘转动一次
料4
料3
料2
料1
0
0
0
9
人工上料
料5
10
转盘转动一次
料5
料4
料3
料2
料1
0
0
11
不上料
料6
12
转盘转动一次
料6
料5
料4
料3
料2
料1
0
13
人工上料
料7
14
转盘转动一次
料7
料6
料5
料4
料3
料2
料1
15
人工上料
料8
16
转盘转动一次
料8
料7
料6
料5
料4
料3
料2
17
人工上料
料9
18
转盘转动一次
料9
料8
料7
料6
料5
料4
料3
19
不上料
料10
20
转盘转动一次
料10
料9
料8
料7
料6
料5
料4
21
不上料
料11
22
转盘转动一次
料11
料10
料9
料8
料7
料6
料5
经过以上分析,大家是否了解了SFTL(P)指令的记忆功能呢?
四,通过上面的分析,我们可以看到,在刚开始做的时候,由于后面几个工位上是没有料的,此时状态位为0,因此机构不会动作,这样的话,就可以避免因为感应器没感应到而导致停机。
五,在这个基础上,我们还可以给设备做一套清料程序。也就是说,当工人要下班了,那么选择清料功能,此时,不再上料,然后将余下的料做完后再停机。
那么具体如何做呢?
我给个思路,看下面的SFC图
总结:使用SFTL(P)位左移指令时,它是先把原来工件的状态向左移动1位,然后最前面那位填入当前工件的状态,这样每个工位就能知道当前工位上工件的状态了。
另外,位移指令只适合固定工位数量的情况,如果是输送带流水的话,由于上面没有固定工位,并且过来的产品数量也不固定,间距也不固定,因此这种情况只能用WSFL(P)字左移指令配合寻址指针Z0来做,比如:
MOV K1 D0/ MOV K0 D0:检测完成后,将检测结果存到D0中,1表示合格,0表示不合格。
WSFLP D0 D11 K100 K1:将D11开始的K100个D寄存器,也就是D11-D110先左移K1,也就是将D11-D110的当前状态向左移动到D12-D111中,这样就把当前的状态值转存了。注意:这里的K100表示的是,从检测口到下料口之间,传送带上所能容纳的最大产品数量,这个K100一定要比最大产品数量要大!
INC Z0:同时,Z0自增1,用来对产品进行计数,这样就知道检测了多少个产品。
MOV K0 D0:转存之后,当产品离开检测传感器后,就要将D0清零,以便存储下一个产品的状态。
[= D0Z0 K1]/[= D0Z0 K0]:这里是出口处的判断,产品如果是K1,也就是合格,那么就做相应的动作;如果是K0,表示不合格,就对应做相应的动作。
DEC Z0:当产品被分选后,或者剔除后,Z0自减1,这样出口处就可以对后面的那个D0Z0进行判断并分拣了。
最后,本人水平有限,本文有任何不正之处,请大家指正,谢谢!
相关问答
麻烦各位好基友 在线等!!专业的中央集尘器哪家强?
[回答]中央供料系统选用高思集中于供料系统特点一、中央控制器特点:使用plc及大尺寸10.4寸彩色人机触控面板,非常简单易懂,好操作者。2...
在座的大侠,有没有谁了解:开封供料机型号参数及原理,供料...
[回答]自动锁螺丝机的供料方式:1.吹气式:就是螺丝通过压缩空气吹到批嘴下面,电批下自动锁螺丝机进行工作。吹气式一般适合M5以下螺丝,长度小于25,同时螺丝...
帮个忙诸位老司机!急急急!!!南阳专业的螺丝机供料器专业定制...
[回答]中科良邦以质量为先:螺丝机等设备稳定性遥遥领先,采用亚德客、台湾上银、日本三菱等核心部件,保证设备稳定性高,故障率低。从刚开始的沟通都很耐心,...