电工学习网

 找回密码
 立即注册
查看: 20937|回复: 1
打印 上一主题 下一主题

威纶通触摸屏最基本的宏指令使用

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-12 14:01:28 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
简单的威纶通宏指令应用入门,主要是为了让大家对威纶通宏指令的一个基本了解,这里主要用两个内部函数来实现一个启保停的plc程序控制,程序用S7-200做了一个简单的描述,如下图。
威纶通触摸屏最基本的宏指令使用
简单的启保停控制
程序是这样,那如何用触摸屏的宏来实现呢,当然,我们这里是为了写宏而写,这个在触摸屏上是很容易实现的控制,大家可能都会,这里就不讨论了。
首先我们建立一个威纶通的画面,在新建画面的时候,会弹出系统参数,然后在设备名称中将LOCAL hmi改成HMI ,这样为了后面书写宏的时候方便点,如下图:
威纶通触摸屏最基本的宏指令使用
修改设备名称(为了简化书写)
威纶通触摸屏最基本的宏指令使用
触摸屏简单的画面描述
整个逻辑就是点击启动按钮,灯亮,点击停止按钮,等灭,那现在我们开始写脚本:
macro_command main() //这部分是系统自带的
// 写程序,对于新手先写一个大致的流程
// 1、先获取按钮1的状态
//2、然后判断按钮1的状态
//3、如果为1,指示灯亮
//4、获取按钮2的状态
//5、判断按钮2的状态
//6、如果为1,指示灯灭
bool button1 , button2 // 先声明个变量 button 1 是图上的启动按钮 ,button 2 是图上的停止按钮
bool on = 1 ,off = 0
Getdata[button1,”HMI”,LB,0,1] //这个函数的意思就是获取HMI这个设备名称中LB0 一个变量的值,然后存储在button1 中
Getdata[button2,”HMI”,LB,1,1] //获取 HMI设备 LB1 的一个变量值,然后存储在button2中
If button1 == 1 then
Setdata[on,”HMI”,LB,2,1] //将on 这个状态值设定到HMI设备名称中LB2的一个变量中
end if
if button 2 == 1 then
Setdata[off,”HMI”,LB,2,1]
end if
end macro_command //这部分是系统自带的
以上部分就是简单的介绍了威纶通触摸屏宏指令的基本应用,就是一个非常简单的案例分享,当然如果想学好宏指令还是要多多的写,其实这个并不是需要什么基础的,只要你多看威纶通关于宏这方面的介绍,然后遵循语法结构,就能够把宏很好的理解,总的心得就是给大家一个基本的案例,然后后面如果需要,可以去官网下载宏的使用说明书,谢谢。

回复

使用道具 举报

沙发
 楼主| 发表于 2019-11-13 16:07:24 | 只看该作者
遇到一些比较复杂的逻辑控制的时候,其实威纶通里面的PLC控制也是非常好用的一个元件,当然我这里先不说这个PLC的控制了,这里还是先讲下宏指令的基本应用吧,一些复杂的逻辑控制应用宏的话,对于一些编程高手来说应用肯定很灵活,而我现在暂时还只能应用一些基础性的,希望以后和大家交流后,通过自己的学习,不断提升,让自己电气自动化的知识慢慢完善,说的有点多,那现在我们进入主题,我这次主要写的是关于加法的宏应用。正常情况下,我们在PLC中是很容易实现加法运算的,然后触摸屏上想要显示的话,直接读取PLC中的地址就可以了,现在我这样做,主要的目的还是为了将宏而使用宏。
威纶通触摸屏最基本的宏指令使用
macro_command main()
// 程序流程
//1、获取LW0和LW1的值
//2、相加
//3、把计算结果放置在LW2中
// 先进行声明,把LW0和LW1 LW2的变量
short data1,data2,data3
GetData(data1,"HMI",LW,0,1)
GetData(data2,"HMI",LW,1,1)
data3 = data1 + data2
SetData(data3,"HMI",LW,2,1)
end macro_command
现在主要讲解下这两个函数的含义:
Getdata(存放地址,”设备名称”,地址类型,地址号,数量),就是从设备名称的地址类型中的地址号获得相应数量的数据存放在存放地址起始处,例如
Getdata(a,”HMI”,LB,10,1) 含义就是获取HMI的LB10的首地址的一个数据存放在a中。
Getdata(b[0],”HMI”,LB,20,4) 含义是获取HMI的LB2O的首地址的4个数据存放在b0起始的4个地址中。
Setdata(存放地址,”设备名称”,地址类型,地址号,数量)含义就是将存放地址的数据设置到设备名称的地址类型的地址号的起始处,例如:
Setdata(a,”HMI”,LB,30,1) 就是将a的数据存放到HMI中的LB30中。
其实不难看出Getdata 和Setdata的函数是差不多的,所以类似这样的函数,多看看威纶通的宏指令说明书,说明书也是为了以后查找相关函数的方便,写的不好,请见谅啊,后面我会陆续更新一些关于proface和昆仑通态MCGS还有维控的触摸屏,到时候欢迎大家进行指导。

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

电工学习网 ( )

GMT+8, 2024-4-20 04:32

Powered by © 2011-2022 www.diangon.com 版权所有 免责声明 不良信息举报

技术驱动未来! 电工学习网—专业电工基础知识电工技术学习网站。

栏目导航: 工控家园 | 三菱plc | 西门子plc | 欧姆龙plc | plc视频教程

快速回复 返回顶部 返回列表