查看: 1724|回复: 10
收起左侧

[IT7000应用问题] 分享:HMI脚本文字跑马灯

Slimming 2022-3-30 16:04:56 | 显示全部楼层 |阅读模式
邀请回答

马上注册,享受更多特权

您需要 登录 才可以下载或查看,没有帐号?立即注册   

x
本帖最后由 Slimming 于 2022-4-1 08:44 编辑

分享个HMI的小功能,文字跑马灯效果,有点类似报警条的效果。

核心问题:
过长的字符串无法在有限长度的HMI上面显示,要么显示不全,要么显示######。

处理方法:
1.将字符串进行分段拆分,单独放入多个变量中单独并列显示,功能可实现但处理较麻烦。
2.对字符串显示结果进行限定,偏移显示的起始字符位置,可实现文字流动效果,再配上空格显示效果更佳。

主要功能:
JavaScript编程语言针对string类型的对象,面向对象定义了字符串以后,有多个方法可使用,例如:转大写、转小写、分割、合并、获取字符长度等,其余的部分方法涉及到显示效果汇川HMI可能是不支持的,目前主要使用的就是针对数据内容的方法。

这个流动文字,是采用了substr()来实现的,通过设定字符串的起始位置和长度,周期偏移变化显示字符。代码比较简单,我多加了初始空格的显示所以多了几个定义变量和代码。
代码如下,具体方法如下,HMI上位机版本0.8.8.30-R官网下载。具体效果看视频。

切记使用增强语法来运行程序!
image.png

string方法及其描述
方法描述
charAt()返回在指定位置的字符
charCodeAt()返回指定字符的 Unicode 编码
concat()拼接字符串
fromCharCode()将字符编码转换为一个字符串
indexOf()检索字符串,获取给定字符串在字符串对象中首次出现的位置
lastIndexOf()获取给定字符串在字符串对象中最后出现的位置
localeCompare()返回一个数字,并使用该数字来表示字符串对象是大于、小于还是等于给定字符串
match()根据正则表达式匹配字符串中的字符
replace()替换与正则表达式匹配的子字符串
search()获取与正则表达式相匹配字符串首次出现的位置
slice()截取字符串的片断,并将其返回
split()根据给定字符将字符串分割为字符串数组
substr()从指定索引位置截取指定长度的字符串
substring()截取字符串中两个指定的索引之间的字符
toLocaleLowerCase()把字符串转换为小写
toLocaleUpperCase()把字符串转换为大写
toLowerCase()把字符串转换为小写
toUpperCase()把字符串转换为大写
toString()返回字符串
valueOf()返回某个字符串对象的原始值


image.png image.png image.png

流动字符串.mp4

2.62 MB, 下载次数: 21

字符串跑马灯.7z

487.64 KB, 下载次数: 10

售价: 2  [记录]

HMI程序





上一篇:盘能不能搞机械手的动画
下一篇:分享:HMI脚本编写配方

已有 0 人打赏作者

回复 邀请回答送花

使用道具 举报

Slimming 2022-3-31 09:12:59 | 显示全部楼层
本帖最后由 Slimming 于 2022-3-31 09:14 编辑

额,你咋知道我姓孙
回复 送花

使用道具 举报

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

本版积分规则

有技术问题,就上汇川技术社区

INOVANCE汇川技术 公众号

扫码下载掌上汇川APP

全国服务热线:8:30-17:30

4000-300124

苏州地址:江苏省苏州市吴中区越溪友翔路16号

深圳地址:深圳市龙华新区观澜街道高新技术产业园汇川技术总部大厦

Copyright © 2003-2100 汇川技术 Powered by Discuz! X3.4 ( 苏ICP备12002088号 )
快速回复 返回列表 返回顶部