网站首页 > 技术文章 正文
前言
宏指令的作用
宏指令提供了应用程序之外所需的附加功能。在HMI人机界面运行时,宏指令可以自动的执行这些命令。它可以担负执行譬如数据运算,传送等
宏指令脚本语言
是威纶通自己的语言,类似于C语言
如何实现一个简单的宏指令?
第一步:确定变量类型
第二步:编写脚本语句
第三步:宏指令触发条件
举例:触摸屏上连接了PLC A和PLC B,想将PLC A的某个位信号传送给PLC B的某个位地址?我们详细来阐述
步骤一 确定变量类型
常见的变量类型有:
bool 布尔型 对应位
short 整数型 对应单字
int 整数型 对应双字
float 浮点型 对应小数
此案例中,传送位信号,选定变量类型bool
步骤二 编写脚本语句
此案例中,想将PLC A的某个位信号传送给PLC B的某个位地址,先使用Getdata函数获取PLC A的位信号,再使用Setdata函数传送给PLC B的某个位地址,编写脚本如下:
这里推荐不是很熟悉脚本格式的朋友,使用编辑界面左下角的"函数"选项
推荐理由:通过"函数"选项调用后,主要选择下图中圈示的几个地方,格式自动生成,利于编译通过。
步骤三 宏指令执行条件
方法1.编辑界面就有个周期执行选项
方法2.功能键触发宏指令 每单击这个功能键时,选择的宏指令就会被执行一次
方法3. 使用 [位状态设定] 元件或者 [位状态切换开关] 元件,当这个元件被执行时,选择的宏指令就会被执行一次。
方法4.开机的时候执行1次宏指令
方法5.PLC的某个位 实现触发宏指令
方法6.宏指令一直执行
方法7. 在 [窗口设定] 设定宏的执行时机
[开启窗口时执行]:当开启此窗口时即执行指定的宏指令一次。
[循环执行]:当开启此窗口时,即每0.5秒循环执行指定的宏指令。
[关闭窗口时执行]:当离开此窗口时即执行指定的宏指令一次。
说明:如果您的程序中此项灰阶,代表此型号不支持此功能。
总结:通过以上三步,就可以实现三菱PLC的M10的位状态可以传给欧姆龙PLC的D_bit,200。
常见问题释疑
①问:宏指令定义了short,运算后,数据异常?
答:宏指令中默认的是有符号的短整,所以上限是32767;那么,数据大于此值的话,变量需要定义unsigned short。
②问:宏指令编译通不过?
答:自己写的脚本,PLC名称和设备列表中不一致,参考本文推荐的"函数"选项 。
③问:Getdata,Setdata和GetdataEX,SetdataEX的区别?
答:前者需要等到下位机回复才会继续往下执行;后者不会 。
猜你喜欢
- 2024-12-28 3步教你,百度网盘下载不限速,比SVIP速度还要快
- 2024-12-28 魔兽怀旧服,重复交任务宏,冲声望必备
- 2024-12-28 「安卓按键」怎么让脚本可以领取免费测试卡
- 2024-12-28 写作4年挣50万,推荐6个新手容易过稿的投稿平台
- 2024-12-28 黑客大神用什么杀毒?Windows自带的就够,只是加了亿点微小强化
- 2024-12-28 微软阻止第三方下载 Windows 镜像?
- 2024-12-28 B站视频下载详细教程 b站咋样下载视频
- 2024-12-28 从0开始学习Jmeter脚本编写 jmeter打开脚本报错
- 2024-12-28 网站渗透总结之Getshell用法大全 网站渗透技术
- 2024-12-28 如何通过C脚本在WinCC画面中的“文本”不再那么单调?
- 02-21走进git时代, 你该怎么玩?_gits
- 02-21GitHub是什么?它可不仅仅是云中的Git版本控制器
- 02-21Git常用操作总结_git基本用法
- 02-21为什么互联网巨头使用Git而放弃SVN?(含核心命令与原理)
- 02-21Git 高级用法,喜欢就拿去用_git基本用法
- 02-21Git常用命令和Git团队使用规范指南
- 02-21总结几个常用的Git命令的使用方法
- 02-21Git工作原理和常用指令_git原理详解
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)