直播课堂
HOME
直播课堂
正文内容
三菱plc运动编程 如何使用三菱ST语言编写一个完整的项目程序,照着写就能成功
发布时间 : 2024-10-06
作者 : 小编
访问数量 : 23
扫码分享至微信

如何使用三菱ST语言编写一个完整的项目程序,照着写就能成功

哈喽,大家上午好呀!

今天给大家带来如何使用三菱ST语言编写一个完整的项目程序

本文作者:陆冯

【本文如有不足之处,请各位高手指点】

众所周知,目前类似于C语言的ST结构化文本语言,已经成为了目前工控行业PLC编程的主流发展趋势。目前,三菱、西门子、施耐德等各大PLC厂商的编程软件,包括国产PLC所采用的CODESYS软件,这些编程开发平台均支持ST结构化文本语言。例如:西门子的SCL、三菱的ST等等。

当然,各家之间只是叫法不一样,但是本质上都是一样的。各家PLC厂商的ST结构化文本语言和C语言非常类似,并且符合IEC-61131-3国际电工委员会规定的标准,像定时器、计数器这些软元件,都有标准的数据结构和形式。因此,ST结构化文本语言,有着“支持跨平台移植”的独特能力,在它的面前,所有的PLC众生平等,不再有品牌之分,只要写一遍程序,就可以同时下载进入不同厂商生产的PLC,实现同样的功能;另外,ST结构化文本语言,也有着在“复杂数据运算处理”方面的天然优势。

那么,【西门子的SCL语言】或者【三菱的ST语言】好学吗?难吗?好用吗?为了回答这些问题,我特意今天给大家写出这样一篇文章,以FX3U小型PLC控制分拣设备为例,详细阐述三菱ST语言的在项目中的使用方法,并对程序进行详细的解析。

(设备总体视图)

正文开始:

内容目录

一、程序架构

二、详细程序解释

(注意:本文中全部程序是面向智控教育新北校区的物料分拣设备所编写的,不适用于世界上任何其他设备)

首先我们明确一点,我们要做的,是让这个设备安全、正确、高效 地运作起来。这是我们的唯一目的!那么为了这个目的去进行PLC编程调试。一个好的电气工程师编写出来的程序,应当具有:安全性、正确性、高效性、移植性和扩展性。PLC程序其实就是人的意志的延伸,你的思维和意识基本决定了这台设备是个傻瓜,还是聪慧过人,当然,这个世界上不可能有完美的程序.......

一、程序架构

为了我们的设备能够正常运行,我们将程序分为以下几个部分:

IO映射程序:

负责PLC输入输出虚拟地址与实际地址的映射。这样的做法,可有效降低PLC某个触点在损坏后,现场维修人员的工作量;并且,我们在本文第二章中,将详细讲解如何借助IO映射实现暂停和设备定时停机功能。

手动程序:

负责在设备进入手动状态后,对各个执行机构的手动操纵。

自动程序部分又分为6个小部分:

1.复位程序:

负责执行设备的复位,并对设备复位完成情况进行判断。

2.急停程序:

负责执行设备的紧急停止,该程序在被调用后,设备将无条件立即停止运行,所有机构停止运动,并保持当前位置不动,等待用户确认后,按下“复位按钮”进行设备复位。

3.暂停程序:

负责设备的暂时停止,该程序在被调用后,设备将无条件立即停止运行,所有机构停止运动,并保持当前位置不动,等待用户按下“启动按钮”进行重新启动,设备将继续去执行没有完成的任务,接着暂停前的流程继续正常运行。

4.预停程序:

负责执行设备的预先停止,该程序在被调用后,设备将在搬运完一个工件,也就是完成一个周期的顺序动作后立即停止运行,所有机构停止运动,并保持当前位置不动,等待用户确认后,按下“复位按钮”进行设备复位。

5.统计程序:

负责设备的完成工件数量的计数,并将数据存储到对应的数据寄存器中;同时为我们这套系统的1分钟工件完成趋势曲线提供参照数据。

6.顺控程序:

作为承载和配合以上4个子功能程序的主体,它负责对设备各个状态下的机构控制,但是也是最好写、行数最多的程序。

二.详细程序解释

1.实际输入信号X的全局标签建立

在全局标签中,建立类别为“全局标签-变量”,并设置对应的“标签名”,数据类型选择为“Bit”(位数据类型),并指定输入软元件X的编号,GXworks2软件会自动调出对应的X输入软元件地址。

2.实际输出信号Y的全局标签建立

在全局标签中,建立类别为“全局标签-变量”,并设置对应的“标签名”,数据类型选择为“Bit”(位数据类型),并指定输入软元件Y的编号,GXworks2软件会自动调出对应的Y输出软元件地址。

3.IO映射数据的全局标签建立

在全局标签中,建立类别为“全局标签-变量”,并设置对应的“标签名”,数据类型选择为“Bit”(位数据类型),并指定输入软元件M的编号,GXworks2软件会自动调出对应的M辅助继电器的软元件地址。

注意:在ST语言的全局标签建立过程中,可以不指定绝对地址,但是我们为了方便上位机HMI从PLC中读取各个信号的数据,要进行绝对地址指定,否则程序就会多出一个子程序部分,用这个子程序把数据传到绝对地址中,用来对监控信号的抓取操作,这样就不可取了,还不如直接在这里指定。

4.开关量数据(0/1标志位)的全局标签建立

在全局标签中,建立类别为“全局标签-变量”,并设置对应的“标签名”,数据类型选择为“Bit”(位数据类型),并指定输入软元件M的编号,GXworks2软件会自动调出对应的M辅助继电器的软元件地址。

注意:这些“0/1标志位”的建立,是为了ST语言程序在设备动作中,存储设备的动作完成信号、物料判别信号、系统中断信号、下一步动作许可信号等程序数据。

5.数字量数据(“字”数据类型状态存储器)的全局标签建立

在全局标签中,建立类别为“全局标签-变量”,并设置对应的“标签名”,数据类型选择为“Word”(“字”数据类型),并指定输入软元件D的编号,GXworks2软件会自动调出对应的D数据寄存器的软元件地址。

注意:这些“字”数据类型状态存储器的建立,是为了ST语言程序在设备动作中,存储设备的状态信号、完成个数、周期数量统计等程序数据。

6.HMI交互数据的全局标签建立

在全局标签中,建立类别为“全局标签-变量”,并设置对应的“标签名”,数据类型选择为“Bit”(位数据类型),并指定输入软元件M的编号,GXworks2软件会自动调出对应的M辅助继电器的软元件地址。

注意:这些“HMI交互数据”的建立,是为了PLC与上位机HMI之间的信号交互,主要是操作按钮,也是这台设备实现“人机交互”的关键一步。

7.IO映射、设备暂停程序的编写

将实际输入X软元件的状态,通过赋值语句传递到PLC内部我们建立的“I映射数据”;将PLC内部的“O映射数据”通过赋值语句传递到实际输出Y软元件。

注意:我们在“输出映射”程序段中,IF语句的执行条件被设为“暂停标志”的不得电状态,如果我们将“暂停标志”设置为1,设备将不再进行输出信号的数据更新,PLC所有实际输出软元件Y,将保持“暂停标志”为1前的状态,保持当前位置不动,从而实现设备暂停的功能。

PS:当然我们可以使用“级联方式”对时间继电器编程,自由设置一段时间,当时间到了之后,将“暂停标志”设置为1,设备将不再进行输出信号的数据更新,从而实现“设备的定时停机”。当然,这只是IO映射程序的一种特殊用法,希望能帮助到大家。

8.初始化程序的编写

当设备上电时,所有输出全部复位,为设备运行做好准备。

9.手动程序的编写

当设备处于手动状态时,上位机HMI交互数据(也就是触摸屏上的按钮),将分别控制每个执行机构动作,实现对设备的手动操纵。

10.复位程序的编写

当设备处于自动状态,并按下复位按钮时,系统状态将置为2,系统执行复位,在满足所有复位条件(所有机构的复位信号传感器得电)的情况下,将证明系统复位已经完成,系统状态将变为3,设备进入等待启动状态。

11.顺控程序的编写

主要是,一步一步走下去,正确地操作状态的转移和标志位的更新,就可以完成任务了。我们的顺序控制程序,主要分为3个部分,每个部分之间,依靠标志位进行信息的交换,这些交换的数据内容有很多,比如:设备的动作完成信号、物料判别信号、系统中断信号、下一步动作许可信号等。

顺序控制程序,需要把“0/1标志位”和“字”数据类型状态存储器的配合使用,烂熟于心,因为顺控程序承载的是整个程序的主体,其他所有的功能都是在这个主体上建立的,这个程序要是写不好,基本什么都没戏了。

12.急停、预停程序的编写

当接收到“急停”或者“预先停止”信号时,系统将判断在何时,将顺序控制程序的“字”数据类型状态存储器置为“1”,让设备进入停止状态,设备将从顺序控制的自动运行状态中跳出,不再继续向下执行,PLC所有输出软元件保持当前状态不动作,0依旧为0、1依旧为1,所有机构不会再动,由此可以实现设备的安全停止,防止对人员的二次伤害。

13.统计程序的编写

根据程序中抓取到的信号标志位,并配合“字”数据类型状态存储器,实现对物料分拣总数量的统计;通过定时器T20定时,每隔1分钟对“一分钟统计个数产能”清零,为上位机HMI的统计趋势曲线提供数据依据。

到这里,我们的“智控分拣设备ST语言程序”就全部解释完了。

如果大家对三菱ST语言感兴趣,可以来常州智控教育学习,这里有配套完整、功能先进的教学设备,有认真负责、一丝不苟的专业老师,能够帮助您在工控之路上,走得更快、更远!!!

三菱PLC运动控制指令的对比、使用

上几次我们提到了三菱PLC的运动控制指令使用说明,今天来说下这些指令功能的区别以及使用场合。主要有PLSY、PLSR、PLSV、DRVI、DRVA五个指令的不同。

三菱运动控制指令

1PLSY脉冲输出

指令语句 PLSY S1 S2 D1 S1是指定频率,S2是脉冲数量,D1是脉冲输出端口,从这个指令看出没有旋转方向控制或者说方向不能自动识别,在实际运转中需要指令方向,它的脉冲寄存器是累计型的就是说无论正反转脉冲数量都是增的不随着旋转方向的改变进行增减计数,这样就决定了指令中断后没有位置记忆。指令在OFF后再次ON时候从最初的开始,意思就是说我要走2000个脉冲,走到1000突然指令中断,重新ON后,又需要走2000个才停下来。需要注意的是指令执行中修改S1有效,S2无效,需要下次执行有效,指令中断后立即停止脉冲输出没有加减速。可以看出这只是一个简单的定位指令,缺点:

(1)旋转方向不自动识别,需要指定

(2)没有位置记忆功能

(3)没有加减速功能

2、PLSR加减速脉冲输出

指令语句 PLSR S1 S2 S3 D1,相比于PLSY,PLSR指令多了一个加减速时间S3,在输出脉冲时,可以进行加减速脉冲输出,其他都一样。此外数据S1 S2指令运行中修改无效,在下一次的指令驱动时,更改内容有效,

3、PLSV可变速脉冲输出

指令语句PLSV S1 D1 D2,S1是脉冲频率,D1是脉冲输出端,D2是旋转方向输出,从指令看出它的旋转方向不需要指定,能够自动输出旋转方向,没有指定的定位功能,但可以从脉冲寄存器获得位置信息,注意:a.S1的值可设置为负 b.指令运行中可改变S1频率的值(特别注意在换符号时需要先将S1设为0再修改,比如频率有+200改为-500,必须要先将值有200设置为0再由0改为-500),c.脉冲寄存器的增减计数由S1的符号决定,同样旋转方向也是,d.可通过置位特殊辅助继电器M8338激活加减速功能,加减速通过特殊数据寄存器设置完成,在遇到指令断开、正反转极限标志减速停止。

相比于PLSY、PLSR而言,PLSV带有加减速功能,旋转方向可控,具有位置记忆,在定位需要计算目标位置的距离与方向。

4、DRVI相对单速定位

指令语句DRVI S1 S2 D1 D2,S1是输出脉冲(相对位置),S2是脉冲频率,D1脉冲输出端口,D2是旋转方向输出,从这条指令看出,能够定位,方向不要指定能自动输出旋转方向。它能够输出指定的脉冲,脉冲可以是正的也可以是负的,脉冲数为正正传D2是ON状态,脉冲寄存器增计数,脉冲数为负反转,减计数,D2是OFF状态。同样具有加减速功能。

在这里要明白相对位置与绝对位置的区别,简单说相对位置说的是过程,绝对位置指的是目的,比如:

位置

假设1现在处于B地点坐标是20,现在往A地点(-100)的位置走:

采用相对位置,你需要计算AB的间距-120,则S1脉冲输出-120

采用绝对位置,你只需要输入A的坐标-100,则S1脉冲输出-100

2假设从B到C地点:

采用相对位置,你需要计算AB的间距180,则S1脉冲输出180

采用绝对位置,你只需要输入A的坐标200,则S1脉冲输出200.

5、DRVA绝对单速定位

指令语句DRVAS1 S2 D1 D2,基本与DRVI差不多,区别有两点:

1就是S1采用绝对位置定位

2,旋转方向的输出与脉冲寄存器的增减计数,采用目标位置与当前位置的的差值决定,差值为正,正转寄存器增计数,差值为负反转,寄存器减计数。

6、总结

运动控制指令大致分为调速、定位分类,只不过侧重点不一样,PLSY、PLSV能实现指令运行中变速,PLSR只能实现运行加减速(启动加速、减速停止),PLSV、DRVI、DRVA可实现任意减速停止。PLSY、DRVI、DRVA具有内置定位功能,但PLSY没有位置记忆功能,PLSV的定位功能需要根据脉冲寄存器实现定位。

总的来说,如果运动中变速要求高选用PLSY、PLSV指令,

如果要求定位要求较高且运动频繁则需要选用DRVI与DRVA指令。

相关问答

三菱PLC机械手编程加讲解?

1.编程加讲解是非常必要的。2.因为PLC机械手编程往往涉及到很多专业知识,需要对机械手的构造、传感器的原理、各种信号的处理等方面都有深入的了解,并且需要...

学会三菱plc运动控制编程要多久?

看你熟练程度,几个轴、动作的简易程度,没有固定的时间看你熟练程度,几个轴、动作的简易程度,没有固定的时间

三菱PLC怎么编程和读取程序。具体的型号是:电源的型号是Q61P...

如果是自己写的,利用三菱PLC编程软件可以进行编程以及对PLC进行程序的上传。就可以将PLC里的程序保存在电脑里。有用(0)回复lHl20121、电脑安装GXDevelop...

三菱plc手,自动程序怎么写?

1首先需要了解PLC是什么,以及它的基本结构和功能,然后才能开始写自动程序。2PLC程序一般由输入、处理和输出三部分组成,需要根据具体的控制要求编写相应的程...

三菱plc怎样输入程序?

1、打开三菱PLC编程软件的主页,需要确定一段简单的程序。2、下一步在工具面板那里点击注释编辑按钮,使按钮处于开启状态。3、这个时候可以选择X000这个元件,...

三菱plcm8006程序怎么写?

三菱PLC编程软件模拟运行步骤如下:1、首先,我们需要在开始菜单中打开三菱PLC编程软件GXDeveloper:2、然后,需要从工程菜单中创建新工程,并选择使用plc的...

三菱plc用st怎么写计数器?

在三菱PLC中,计数器可以使用ST编程语言进行编写。首先,需要定义一个计数器变量,具体可使用C语言的语法“D#”来定义一个双字寄存器。然后,使用计数器的低位...

三菱plc伺服编程实例讲解?

1、编写PLC伺服程序:(1)检查PLC系统技术参数;(2)使用联锁功能进行编程,确保程序中没有语法错误;(3)确定每个控制部件的伺服输入和输出寄存器...1、编写PLC...

三菱plc怎么插入直线?

要在三菱PLC中插入直线操作,需要编写相应的程序代码。以下是一个简单的示例:1.首先,在PLC编程软件中创建一个新项目或打开一个现有的项目。2.创建一个新的...

三菱PLC编程编的程左边怎么没有步数?

没听说过。打个比方吧可能控制Y0输出的条件是1.手动启动,停止。2自动压力控制。3行程控制4模拟量位置控制等很多条件。如果你要并在一起很麻烦...

 独特的英文名  上海市委书记现任名字 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部