PLC编程液体混合自动运行控制系统程序编写实例
娄底市简思工控有限公司研发的新一代可编程PLC
不同于传统PLC基于继电器电路的梯形图编程方法
基于控制流程采用电脑中文指令进行编程
具有编程简易,维护方便的特点
1、液体混合自动控制系统设备示意图
液体混合自动控制系统设备示意图
2、控制要求:
1、按下启动按钮后,自动按顺序向容器注入A、B两种液体,注入液体到达低水位传感器位置时,A液体停止注入;接着注入B液体,当液体到达高水位传感器位置时,B液体停止注入。到达规定的注入量后,搅拌电机自动对混合液体进行搅拌5分钟,搅拌均匀后打开容器阀门让混合液体从流出口流出。
2、等待2分钟后,混合液流尽,流出口自动关闭。
3、按下停止按钮时,所有动作全部停止,恢复到初始状态。
3、PLC元件说明:
设:输入端:X0:启动按钮,X1:低水位传感器,X2:高水位传感器,X3:停止按钮;
输出端:Y0:液体A流入电磁阀,Y1:液体B流入电磁阀,Y2:混合液体流出电磁阀,Y3:搅拌电机。
4、控制程序:
输入端,输出端元件命名:
输入端软元件命名
输出端软元件命名
5、时序环逻辑实现方法:
①在时序环0实现主程序动作:按动作顺序添加程序指令。
用0环写入主程序
6、程序说明:
0环0帧,添加“等待输入X0通”指令(按下启动按钮),
0环1帧,“触发输出Y0通”(液体A流入开始,注入A液体),
0环2帧,“等待输入X1通”(当注入的A液体达到低水位感应器时,感应器为ON状态),
0环3帧,“触发输出Y0断”(当注入的A液体达到低水位感应器时,关闭A液体阀门,停止注入A液体),
0环4帧,“触发输出Y1通”(当注入的A液体达到低水位感应器时,打开B液体阀门,注入B液体),
0环5帧,“等待输入X2通”(当注入的B液体达到高水位感应器时,感应器为ON状态),
0环6帧,“触发输出Y1断”(关闭B液体阀门,停止注入B液体),
0环7帧,“触发输出Y3通”(开启搅拌电机,开始搅拌混合液体,时间5分钟),也就是5分钟后
0环8帧,搅拌混合液体,时间5分钟
0环9帧,“触发输出Y3断”(搅拌电机停止搅动),
0环10帧,“触发输出Y2通”(打开混合液体流出阀门,流出液体),
0环11帧,等待液体流出2分钟,也就是120s后,
0环12帧,“触发输出Y2断”(关闭混合液体流出阀门)。
7、在时序环1实现停止程序动作:
用1环写入停止程序
8、程序说明:
停止开关逻辑:按下信号导通,停止所有程序,松开时,信号断开,运行所有程序,且从主程序开始运行恢复至初始状态。(实际接线时,停止开关接常开点)
1环0帧,添加“等待输入X3通”指令(按下急停开关有信号),
1环1帧,添加“帧环控制”指令(控制时序环0主程序为停止状态),
1环2帧,再添加“触发输出Y0~Y3断”指令(触发所有的输出端断开,也就是两种液体阀门和搅拌机全部停止工作),
1环3帧,添加“帧环跳转”指令(将时序环0从当前指令帧跳转到第0帧,使0环回到初始状态),
1环4帧,添加“等待输入X10断”指令(等急停开关断开),
1环5帧,添加“帧环控制”指令(控制时序环0为运行状态)。
运动轴控制类:用RS485通信来读取绝对值伺服电机的定位操作
操作视频:
https://www.bilibili.com/video/BV1pf4y1c7Mw/
PLC程序文件与触摸屏界面程序(百度网盘下载):
https://pan.baidu.com/s/1h8zWfeZstM6G4d6anLhv_A
【正文】
PLC控制伺服电机用到的最多的方式就是脉冲控制,也就是PLC发送脉冲,伺服驱动器接收脉冲。现在呢,我们需要通过modbus协议,PLC用RS485通信来读取绝对位置伺服电机的当前位置值。
先了解用RS485通信(以下简称485)读取电机当前位置的作用:
PLC控制伺服电机运动,可以通过编程来设定电机的速度和位移,一旦PLC断电,再次上电运行时,我们就不能确定电机在PLC掉电前的位置,所以只能做上电回零的处理,那这样操作的话,设备就必须从头开始运行。
类似这样上电回零再运行的设置方式,对于个别行业是不适用的,因此我们需要记录PLC掉电前的电机实际位置,所以PLC必须要用到掉电记忆的功能,为了精准的采集到电机的当前位置,就需要PLC的掉电记忆以及跟伺服电机的485通信来达到实时读取电机位置的目的。
我们现在侧重于PLC与绝对位置伺服电机的设置方式。
此处PLC与绝对位置型的伺服电机通信,我们这里以纳智伺服电机为例:
一、PLC程序设置:
1.PLC控制伺服电机运行的启动程序:
在触摸屏界面做点动启动,用M1作为电机启动的按钮(按钮功能:交替)。
程序中对应的电机运动方式:按下M1按钮,电机正转,松开M1按钮,电机停止;再按一次M1按钮,电机反转,松开M1按钮,电机停止;如此往复循环。
2.PLC中的485通信设置程序:
请注意,电机驱动器内部通信数据为16进制,PLC的通信数据为10进制,所以两者之间的通信必须要进行进制转换 。
① PLC内部Modbus_RTU通信配置:
添加两条通信程序,如下图:
指令解析:
序号0 :检测标志M80,M80作为显示屏上采集伺服电机绝对位置的启动键;本机资料W0,表示将读取到的电机编码器位置,保存在PLC的W0寄存器里面;传输方向是双字,读取,用于读取伺服电机位置,因为用的W0寄存器来保存位置值的,所以是用双字节的读取方式;从机资料:4xd4127。(详细说明,见下方进制换算的解说)
其中M80的启动程序需要用到一个环编辑,用M0启动标志M80的程序。
在PLC与电机的通信过程中,用的是标准的modbus协议,所以是以“次”为单位计算的,每次通信,M80都会自动断开一次,如果M0一直有信号,就会一直触发M80通。
序号1 :检测标志M81,M81作为显示屏上对电机位置的清零键;本机资料G0,表示将清零的数据通过寄存器G0直接写入到电机驱动器里面,从而实现清零的操作;传输方向是写入,也就是写入清零的数据,因为用的是G0寄存器,所以是单字节的写入方式;从机资料4x4096。(详细说明,见下方进制换算的解说)
二、伺服电机参数对照-进制换算:伺服电机的数据是16进制,需要换算成10进制数据,才能对应到PLC,从而实现通信。
1、PLC读取伺服电机的绝对位置设置:
这个数据是读取伺服电机绝对位置的,我们需要将16进制的0x101F,换算成10进制的数据,再写进PLC程序中。
进制换算小助手
进制换算可以借助电脑的智能计算器
⬇⬇⬇
选择进入“程序员”的界面后,直接在“HEX”这一栏中输入101F,计算器的“HEX”一栏,表示16进制,在这里输入伺服电机的位置地址单元101F(地址单元是0x101F,只要输入101F);。
输入101F后,下面的“DEC”一栏就会自动的生成相对应的10进制地址值:4127,也就是PLC通过485方式读取的位置地址,在PLC中是0x4127,编辑程序的时候将地址值写成4127即可。
对应的PLC程序解析:
电机的多圈位置,是32位地址,对应到PLC的数据必须要用到双字节,PLC内部关于位置的双字节寄存器就是W32位寄存器,也就是用到W寄存器显示电机的绝对位置。
①M80:实时读取的启动键;
②主机资料:0,表示寄存器的ID;
③数据类型:选择的是:双字;写4xD,这个对应的是PLC的W32位寄存器,因为W寄存器是双字节的,所以表示W寄存器;对应到主机资料0,这条指令就是用的W0寄存器。
④从机资料:4127,就是PLC读取的伺服电机位置的10进制地址值;
2、伺服电机多圈位置清零设置:
多圈位置清零:伺服驱动器对应的清零地址单元是0x1000,清零写入的数据是0x1111。
用智能计算器进行进制换算,写入PLC内部通信的10进制的地址以及数据,分别是:
进制换算小助手
进制换算可以借助电脑的智能计算器
1>地址换算:伺服电机驱动器清零对应地址是0x1000。
计算器的“HEX”一栏,表示16进制,在这里输入伺服电机的清零地址单元1000(地址单元是0x1000,只要输入1000);
输入1000后,下面的“DEC”一栏就会自动的生成相对应的10进制地址值:4096,也就是PLC通过485方式读取的清零地址,在PLC中是0x4096,编辑程序的时候将地址值写成4096即可。
对应的PLC程序解析:
添加指令后,只要填写属性中打勾部分的参数,其他的默认。
①M81:清零键
②主机资料:0,表示寄存器的ID;
③数据类型:选择的是:字;写4x,这个对应的是PLC的G_16位寄存器,因为G寄存器是单字节的,所以表示G寄存器;对应到主机资料0,这条指令就是针对G0的数据写入。
④从机资料:4096,就是PLC识别的伺服电机清零位置的10进制地址值;
2>数据换算:伺服电机驱动器清零对应数据是0x1111。
伺服电机清零的数据是0x1111换算成十进制就是4369,也就是G0的数值是4369,我们可以直接在寄存器值那里填写4369。
以上所述,读取绝对值伺服电机的位置以及清零多圈位置,也就是PLC的寄存器W0显示电机的绝对位置,寄存器G0数据表示清零。这样对应写好,就能实现对绝对式伺服电机的位置读取以及对电机的多圈位置清零的操作。
请注意,必须填写对应的数据,否则读取或者清零都是无效的。
将设置好程序下载进PLC,PLC与伺服电机用485通信线连接,就可以检验设置的成果了。
操作视频:
https://www.bilibili.com/video/BV1pf4y1c7Mw/
PLC程序文件与触摸屏界面程序(百度网盘下载):
https://pan.baidu.com/s/1h8zWfeZstM6G4d6anLhv_A
JENASI_PLC
娄底市简思工控有限公司研发的新一代可编程PLC
不同于传统PLC基于继电器电路的梯形图编程方法
基于控制流程采用电脑中文指令进行编程
具有编程简易,维护方便的特点
相关问答
PLC编程方法:启动、停止程序设置?
国产简思PLC是由娄底市简思工控有限公司研发的新一代可编程控制器,不同于传统PLC基于继电器电路的梯形图编程方法,JENASIPLC基于控制流程采用电脑中文指令进行...