网站首页 > 技术文章 正文
前言
宏指令的作用
宏指令提供了应用程序之外所需的附加功能。在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画面中的“文本”不再那么单调?
- 1509℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 530℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 494℃MySQL service启动脚本浅析(r12笔记第59天)
- 473℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 470℃启用MySQL查询缓存(mysql8.0查询缓存)
- 451℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 430℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 427℃MySQL server PID file could not be found!失败
- 最近发表
- 标签列表
-
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- chromepost (65)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- checkout-b (67)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- linux删除一个文件夹 (65)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)