主页 > plc控制器 > 用于PLC的控制算法有哪些?

用于PLC的控制算法有哪些?

一、用于PLC的控制算法有哪些?

用梯形图和语句表的话,最常用的就是PID控制算法了。如果用高级语言例如SCL语言的话,C语言里面的很多方法,冒泡法等都能使用。

二、plc用于哪些领域?

PLC主要应用行业为纺织机纺织机械行业、起重机械行业、电梯行业、冶金行业、电力行业、石油石化行业、市政行业、化工行业、楼宇建筑行业、建材行业、机床行业、塑料机械、橡胶机械、电子专用设别、汽车行业等。 而纺织和冶金行业式PLC应用最多的两个行业。

冶金行业规模庞大,对自动化程度要求较高,对不同IO段的PLC的需求尤其是大中型PLC的需求大大超过其他行业的应用。

三、如何学习可编程逻辑控制器(PLC)?

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

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

闲话不多说,先看看整体结构。

半自动UV解胶机

功能描述:

1、抽屉自动伸缩

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

3、充氮气功能

4、光强调节功能

5、计时功能

针对以上这些要求,可以涉及到的PLC相关知识有:

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

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

3、电磁阀,这个简单,通过控制电磁阀控制氮气的通断;

4、模拟量,光强调节是通过0-10V模拟量输出实现的;

5、计时器、计数器等,有一些计时的功能,需要涉及到计时器和计数器等;

6、I/O口,这是任何PLC都要涉及到的最基础的功能;

7、HMI,触摸屏相关知识;

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

了解了工艺需求,第一步,我们应该做什么?

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

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

PLC型号:FX3GA-24MT

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

转接板:FX3G-CNV-ADP(通讯模块需要用这个转接板才能连接)

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

HMI:TK6071IP(威纶通,也算是主流的触摸屏了)

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

到这里,硬件差不多已经到位了,接下来就是软件了!

三菱编程软件:GX Works2

有些初入门想学PLC的朋友可能不知道这个软件怎么下载,这里简单提一下:

1、百度去三菱官网

三菱官网

2、->资料中心->可编程控制器MELSEC->软件

3、GX Works2->查看->云盘下载(需要注册登录一下)

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

HMI编程软件:EasyBuilder Pro

怎么下载安装这里就不细讲了,可以去威纶通官网自行下载安装。

软件搞定之后接下来就是重头戏------编程了!

一般我都是先写HMI界面,做出来大概是这样子的:

HMI界面

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

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

界面写好之后就可以进行PLC编程了!!

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

这里我先着重讲一下通讯部分吧。

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

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

我们先要查阅能量计通讯手册:

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

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

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

通讯配置部分已经搞定,接下来是地址映射。

实际上我们需要用到的值有:

1、整数光功率(实时值),用于实时显示光功率大小;

2、整数能量值(累计值),这个是32位的,占两个地址位;

寄存器地址搞清楚之后,就可以开始着手PLC编程了。

PLC怎么编?还是查手册!!!去官网下载FX系列MODBUS通信篇!

FX系列MODBUS通信篇

找到特殊数据寄存器!

特殊数据寄存器

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

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

计算一下D8400的设定值:

b0:1

b2,b1:0,0

b3:0

b7,b6,b5,b4:1,0,0,0

b12:1

得出D8400=0001 0000 1000 0001(2进制)

即:D8400=K4225=H1081

D8401为通讯协议配置:

b0:1

b4:0

b8:0

所以D8401=K1=H1

得出D8400和D8401的值后就可以正式编程了 !

通讯格式设定

M8411是设定MODBUS协议参数的标志位。

通讯格式设定完之后就是实时读取数据了:

读取从站数据

ADPRW是MODBUS通讯的专用指令

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

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

到这里通讯功能已经写完。

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


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

接下来写一下单轴控制!

一般控制步进/伺服电机的方式有两种:

1、脉冲+方向

2、总线

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

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

57CM23

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

这里我们讲讲步距角和细分,这款电机铭牌上写着这个步进电机的步距角是1.8°。

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

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

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

DM542J步进驱动器

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

知道细分和脉冲的关系之后,我们就可以通过丝杆的导程来计算脉冲与距离的关系。

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

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

细分和脉冲当量就讲到这了,接下来讲讲步进驱动器如何接线!

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

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

红色圈起来的地方是24V/5V拨码开关

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

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

讲了那么多,最后看下如何通过PLC编程给电机发送脉冲吧!

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

在这里将Y0作为脉冲发送、Y1作为方向控制。

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

相对位置定位指令

K-96000是脉冲数,+和-对应的不同方向;

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

Y0脉冲输出口;

Y1选择方向输出口;

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

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

通讯结束标志位M8029

抽屉伸出功能已经写好,抽屉收缩功能我用的是脉冲发送指令PLSY。

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

PLSY指令

Y1置位,把方向设置为抽屉收缩方向。

X2是一个光电传感器用于捕捉抽屉到位信号,当X2有信号时抽屉停止收缩。

D21还是脉冲频率;

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

以上,关于单轴控制的内容已经写完。如果对大家有帮助,还请帮忙点点赞,给我点持续更新的动力,谢谢大家!


后续来了,以下是关于威纶通触摸屏编程的内容,有兴趣朋友们可以看看!

威纶触摸屏 怎么编程?

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

怎么样去学习西门子plc,先学什么,再学什么?

四、plc有哪些软元件用于编程?

有:1.输入继电器(x)2.输出继电器(Y)3.辅助继电器(M)

在PLC的编程语言中,涉及X、Y、M、S、T、C等多种PLC内部的编程元件,这些元件并不表示实际的物理器件,只表示存储器单元的状态,单元状态为“1”,相当于元件接通;单元状态为“0”,则相当于元件断开。这些编程元件为“软元件”。

1.输入继电器(x)

输入继电器用来接收外部输入的开光量信号,它通过PLC设备上的输入端子与外部设备相连接。输入端子采用8进制方式进行编码。

2.输出继电器(Y)

输出继电器的作用是输出程序运行的结果,并通过输出端子控制外部负载,它也是采用8进制编码。

3.辅助继电器(M)

辅助继电器相当于继电器控制系统中的中间继电器,其用法与输入继电器类似,都是只能由程序驱动,不同的是:输出继电器是用来驱动外部负载的,而辅助继电器不能驱动外部负载。

辅助继电器通常可分为3类,通用型、断电保持型、特殊用途型。

4.状态继电器

状态继电器是用于编制顺序控制程序的状态标志,可分为5种类型:

初始状态继电器:S0~S9;

回原点状态继电器:S10~S19;

普通状态继电器:S20~S499;

断电保持状态继电器:S500~S899;

报警状态继电器:S900~S999。

状态继电器在顺序控制中主要配合步进指令(STL) 使用, 当不使用步进指令时, 状态继电器也可作为辅助继电器来使用。

5.定时器(T)

FX2N系列PLC定时器共有256个(T0~T255) , 当定时器线圈得电时, 定时器从0开始计数,当计数值等于设定值时,定时器常开触点动作。

定时器对应的时钟脉冲有100ms、10ms、1ms 3种。定时器分为普通定时器和积算定时器(又称失电保持定时器)。

6.计数器(C)

FX2N系列PLC计数器共有256个(C 0~C 255) , 其功能是对内部元件X、Y、M、TC的信号进行计数。计数器从0开始计数,计数端每来一个脉冲计数值,则计数器就加1,当计数值与设定值相等时,计数器的触点动作。

计数器可分为普通计数器、双向计数器、高速计数器3类。

7.数据寄存器(D)

数据寄存器用来存储PLC进行输入输出处理、模拟量控制、位置量控制时的数据和参数。FX2N系列PLC共有8256个(D 0~D 8255) , 数据寄存器, 可分为普通型、失电保持型和特殊型3种。

8.变址寄存器(V、Z)

变址寄存器是一种特殊用途的数据寄存器,相当于计算机中的变址寄存器,用于改变件的编号(变址)。V为高位。 变址寄存器都是16位寄存器,需要进行32位操作时,可将V、Z串联使用,Z为低位,V为高位。

9.常数(K、H)

常数(K、H)通常用来表示定时器或计数器的设定值和当前值。 十进制常数用K表示,如常数123表示为K123。十六进制常数则用H表示,如常数345表示为H159。

10.指针(P、I)

指针用来指示分支指令的跳转目标和中断程序的入口标号。可分为分支指针、输人中断指针、定时中断指针和计数中断指针。 其中分支指针用来指示跳转指令(CJ) 的跳转目标或子程序调用指令(CALL) 调用子程序的人口地址;中断指针可作为中断程序的入口地址标号。

五、求PLC方面的书籍用于入门学习?

1、兴趣。

2、先学习硬件电路知识,建议你买一本《电气控制与电机拖动技术》。

3、买一本PLC基础知识的书籍,看指令。先别管懂不懂,把指令先看完。

4、熟悉一下编程软件。

5、试着编一些简单的程序。

6、如果条件允许的话,最好将自己编的这些程序下载到PLC中试一下,感受一下。也可以利用仿真软件进行仿真。

7、多与别人交流经验。

8、多编程,多练习。调试或仿真是经常会出现各种各样的问题,当你每解决一个问题就意味着你进了一步。

六、诗经中用于勉励学习的诗句有哪些?

它山之石,可以攻玉.——《诗经·小雅·鹤鸣》

靡不有初,鲜克有终.——《诗经·大雅·荡》

高山仰止,景行行止.——《诗经·小雅·甫田之什·车舝》

如切如磋,如琢如磨。——《诗经.卫风.淇奥》

后世有许多人对《诗经》的评价很高,现在引用一下孔子和孟子的:孔子:对于《诗经》的思想内容,他说“诗三百,一言以蔽之,思无邪”。对于它的特点,则“温柔敦厚,诗教也”(即以为诗经使人读后有澄清心灵的功效,作为教化的工具实为最佳良策)。孔子甚至说“不学诗,无以言”,显示出《诗经》对中国古代文学的深刻影响.诗的作用:“小子何莫学夫诗?诗可以兴,可以观,可以群,可以怨,迩之事父,远之事君,多识鸟兽草术之名.”   孟子:孟子论诗,谓“说诗者不以问害辞,不以辞害志,以意逆志,是为得之”,“颂其诗,读其书,不知其人可乎?是以论其世也”.

七、codesys适用于哪些plc?

codesys适用于正泰plc

   CODESYS是一种功能强大的PLC软件编程工具,它支持IEC61131-3标准IL 、ST、 FBD 、LD、 CFC、 SFC 六种PLC编程语言,用户可以在同一项目中选择不同的语言编辑子程序,功能模块等

八、plc编程软件试用于widows10的有哪些?

只能告诉您主流厂商的官方文档,至于民间,基本上都可以在Win10上用。1、西门子目前官方文档没有表明可以用在Win10上,支持Win10的版本可能会在今年第二季度或者第三季度发布。

2、欧姆龙的软件目前均可以运行在Win10上,CX-ONE V4.33或以上版本支持了Win10.3、三菱也发布了基于Win10的PLC软件。

4、富士也发布了基于Win10的PLC软件。

5、施耐德的软件也可以应用在Win10的系统上。

6、松下从去年12月的版本也对Win10提供了支持。

九、博途软件用于编辑哪些plc?

博途适用于200、300、400、1200、1500等等西门子plc,可以根据自己想要的来安装

十、PLC应用于哪些领域呢?

PLC(可编程逻辑控制器)是一种用于自动化控制系统的电子设备,在许多领域中得到广泛应用。以下是一些常见的应用领域:

1. 工业自动化:PLC在工业领域中是最常见和广泛应用的。它们用于控制和监控各种自动化系统,如生产线、机器人、物料处理、装配线、包装设备、供应链管理等。PLC的可编程性使其能够适应各种需求和变化的生产环境。

2. 建筑自动化:PLC在建筑行业中用于控制和监测建筑设备和系统,如照明控制、暖通空调系统、安全系统和门禁系统。PLC可以实现能源管理、提高安全性和便利性,并提供对建筑设备的智能控制和监控。

3. 能源管理:PLC被广泛应用于电力系统、能源分配和能源管理领域。它们用于监控和控制电力设备、发电厂、输电线路和配电网络,以提高能源效率、减少能源浪费并保证安全稳定的能源供应。

4. 交通运输:PLC用于交通信号灯、隧道通风系统、电梯和扶梯控制,以及轨道交通系统。它们可以确保交通流畅、提高安全性,并在需要时进行故障检测和诊断。

5. 水处理和环境控制:PLC在水处理厂、污水处理系统和环境监测中发挥重要作用。它们用于监控和控制水位、流量、压力、pH值等参数,并执行相应的控制操作,以确保水质和环境的稳定和安全。

6. 农业自动化:PLC用于控制温室设备、灌溉系统、养殖设备和粮食加工等农业应用。它们可以实现农业生产的自动化管理、提高产量和质量,并节约能源和资源。

7. 医疗设备:PLC在医疗设备和医院自动化中广泛应用,如手术室控制系统、医疗图像处理、药物配送系统等。它们可以提高医疗设备的精确度和可靠性,并提供对设备和过程的实时监控和记录。

这只是一些常见的应用领域,实际上,PLC还可以在很多其他行业和领域中发挥作用,具体应用取决于需求和系统要求。