米乐棋牌:如何学习可编程逻辑控制器(PLC)?


来源:米乐棋牌手机端 作者:米乐棋牌m6正版

  最近做了一个小机器,有用到PLC和触摸屏,借着这个机会来讲讲关于PLC的一些学习方法。

  设备功能最简单,从画图到组装再到编程都是我一个人完成的,整整花费了我三个月时间,必须得说这年头想赚点钱是真难。

  2、实时检测光强值(这个设备主要是用于半导体行业晶圆解胶,核心部分是 UVLED光源)

  1、单轴控制,抽屉自动伸缩功能我这里没有采用气缸,而是用步进电机+丝杆传动的方式。

  2、MODBUS、RS485通讯,光强实时监测功能是通过读取能量计探照头数据得来的,采用的是标准的MODBUS通讯协议。分不清MODBUS协议和RS485协议的同学,可以查查资料了解一下。简单来说,RS485属于硬件层协议,MODBUS属于软件层协议。

  以上就是这一个小机器所涉及到的PLC和触摸屏的主要知识点,麻雀虽小,五脏俱全。说实话即使你去参加PLC培训班,内容比这也多不了多少。

  那肯定是做IO表及工艺流程图,然后再根据IO表中需要的点位及控制轴数来选择对应的PLC。

  在这里我选的市面上小设备比较主流的PLC品牌:三菱PLC。你别问我为啥不选西门子,问就是穷,买不起。

  通讯模块:FX3U-485ADP-MB(注意要走MODBUS通讯协议一定要选带MB的这个)

  模拟量:FX2N-2DA (本来我想用FX3G-1DA-BD,可是这个只有一个接口,被通讯模块占了,只能含泪买FX2N-2DA了)

  以上就是这台设备的配置,还有电机采用的是雷赛的步进电机:57CM23+DM542J;

  4、下载完之后就能安装了,安装之后需要一个ID号,在网上搜一下,选择一个能用的就可以了。这里就不细说了,实在不会就百度或者去抖音搜索,应该有很多博主有教的。

  简单描述一下工作过程:在自动模式下,可以再一次进行选择计时和能量两种工作模式。计时模式:按启动之后,抽屉自动缩回,缩回的过程中开始充氮气,三色灯闪烁黄灯。抽屉缩回到位之后,UVLED灯启动,三色灯变绿灯,并且开始倒计时。倒计时结束,抽屉自动伸出,三色灯闪烁黄灯。抽屉伸出到位,三色灯常亮黄灯。

  能量模式:按启动之后,抽屉自动缩回,缩回的过程中开始充氮气,三色灯闪烁黄灯。抽屉缩回到位之后,UVLED灯启动,三色灯变绿灯,累计能量与能量设置对比。当累计能量大于设置能量时,抽屉自动伸出,三色灯闪烁黄灯。抽屉伸出到位,三色灯常亮黄灯。

  关于PLC编程,实际上并不难,我基本都是一边查手册一边编程的。关键是要知道去哪里找资料,以及怎么查资料。不要把PLC编程搞得像互联网编程一样,有各种奇技淫巧的东西。PLC属于应用科学,只要能实现功能,不管你采用什么方法都可以。哪怕别人写100行代码可以搞定的东西,你写了500行也没关系,老板不会去看你写了多少东西,老板只会看功能有没有实现。

  关于三菱PLC做MODBUS通讯我也是第一次做,但是我对MODBUS协议比较了解,哪怕没做过我也知道怎么想办法解决问题。

  我们要用PLC实时读取能量计探头的数据,那么这里能量计肯定是作为MODBUS从站,PLC作为主站。

  从这里能够正常的看到串口的一些信息:1个起始位、8个数据位、1个停止位、无校验;波特率9600bps;站号:1

  由于他们这个手册不是很完备,我问了他们技术,他们采用协议其实就是MODBUS RTU协议。

  这个很关键,因为MODBUS协议又分为RTU和ASCll码两种,PLC在设置参数时需要用到。

  这里有相关配置,我们这里用的是通道1(为什么是通道1,手册里面有讲!)。

  通过手册我们大家都知道,通道1的通讯格式是通过设定D8400的值得来的。这样一个时间段我们再结合能量计探头的串口信息:1个起始位、8个数据位、1个停止位、无校验;波特率9600bps;

  ADPRW (从站站号:H1) (功能码:H3) (读取起始地址K201)(读取数量K4)(数据存放起始地址D131)

  就是将从站中地址为201开始的4个寄存器数据读取到PLC中D131开始的4个寄存器中。

  码了一下午字,腰酸背痛。感兴趣的朋友们帮忙点点赞,后面有时间我会将其他功能和如何接线等一一记录下来,供大家参考。

  这篇回答还是有一些朋友感兴趣的,那我就接着往下写了,感谢各位的点赞和关注!

  一般大型项目,电机数量比较多的情况下是采用总线控制。我们这个因为只有一个轴,就采用脉冲+方向的形式控制。

  这里采用的电机是雷赛的57CM23步进电机,驱动器是雷赛的DM542J步进驱动器,雷赛这个品牌还是有一定知名度的,他们家的运动控制卡有很多人用。

  电机的接线很简单,只要把A+、A-、B+、B-接到步进驱动器相应的A+、A-、B+、B-端子上就可以了。

  步距角1.8°的意思是,你每给一个脉冲,电机就旋转1.8°。那么电机旋转一圈是360°,也就是说发200个脉冲电机就旋转一圈。

  但是在很多场景中,在大多数情况下要控制精度不同,而我们最小的脉冲单位就是一个脉冲,这时候就要用到细分。

  细分我们一般是1、2、4、6、8、16、32、64这样的。假设我们的细分数是8,那么就是说我们电机转一圈的脉冲数是200X8=1600个。这个是能够最终靠计算得来的,但是现在很多的驱动器上都是帮我们算好的,我们只需要设置对应的拨码开关就可以了。

  上图中步进驱动器铭牌的下面这个表格就是细分所对应的电机转一圈所需要的脉冲数量,1细分就是200个脉冲,2细分就是400个脉冲,以此类推。

  知道细分和脉冲的关系之后,我们就能够最终靠丝杆的导程来计算脉冲与距离的关系。

  我这边用的丝杆是1605的丝杆,16指的是丝杆的直径是16mm,05就是丝杆的导程,也就是说每旋转一圈丝杆带动负载移动的距离是5mm。

  那么假设我们现在设置的细分为8,则走一圈需要的脉冲数是1600,那一个脉冲所走的距离就是5/1600,这个距离是所谓的脉冲当量。这个概念在很多面试题中都会考,所以初学的朋友们还是该掌握如何计算脉冲当量。

  首先这里有一个很重要的知识点,需要提一下!!!那就是步进驱动器接收脉冲信号是有两种电压的,一个是5V,一个是24V。这里千万别搞错,如果把24V接到5V的驱动器上,会把驱动器烧坏。所以在购买驱动器的时候肯定要问清楚供应商,驱动器是24V还是5V的。

  PLC一般都是24V的电压输出的,所以在选择驱动器时候尽可能地选择支持24V脉冲的。当然现在很多驱动器都比较人性化,上面会有5V和24V的拨码开关,可以供客户自行选择。

  当然如果你不小心买了5V的驱动器也不用慌,还有一个办法能够解决问题,那就是串一个2K左右的电阻就可以了。具体就不细说了,网上资料一大把。

  脉冲和方向接线端子,PUL+、PUL-是脉冲,DIR+、DIR-是方向。至于ENA和ALM,这个一个是使能信号,一个是报警信号,这两个端子我一般都不接,所以也不细说。关于使能信号,是在低电平的时候为上使能,高电平的时候掉使能。也就是说你给ENA+、ENA-一个24V的信号,这样一个时间段就是掉使能,你可以手转动电机。否则,电机有电的情况下是无法用手掰动的。

  注意不是所有的输出口都能发送脉冲,只有支持高速输出的IO口才能发送脉冲。FX3GA-24MT这款PLC应该是支持两个轴的,能发送脉冲的输出口是Y0和Y1,这个能通过查询PLC硬件手册知道。

  抽屉伸出距离是固定的,所以选择相对位置定位指令DRVI。但是DRVI所能接受的脉冲数是一个16位的,也就是-32768-+32767,0除外。这个不足以满足要求,所以采用DDRVI指令,可以接受一个32位的数据,范围是-999999-+999999,0除外。

  D21是脉冲输出频率,即每秒钟发送的脉冲数量,这个可以换算成速度在触摸屏上显示与设置;

  M8029是三菱PLC中指令完成标志位,也就是说当定位指令完成之后,M8029置1,这时候能够最终靠这个标志位去实现后续的功能。

  这里顺便提一下,M8029不仅仅局限于运动指令,其他的指令完成也是用的M8029,例如MODBUS通讯指令ADPRW。

  本来我是想用回零指令,但是发现回零指令在这里并不适用,所以改用了PLSY 指令。

  K0这个参数其实是一个脉冲数量的参数,如果填一个确定的脉冲数,例如6400,这表示发送6400个脉冲。但是这里一定要通过X2作为到位信号,所以将参数设置为0,表示一直发送脉冲,直到X2得电。

  应大家的要求,今天买了西门子S7-1200PLC,花了4500多大洋。。。