有些时候我们和仪表通讯的时候,会遇到一个字里面存放了两个信息,例如某款仪表的年+月用了一个字,日+小时用了一个字,分+秒用了一个字。当我们通过通讯协议将这三个字读取上来,如何处理就成了一个问题。
经过实验,我们找到了一个方法,利用MCGS的脚本可以帮助我们解决这个问题,具体方法如下:
在全局变量里面建立三个变量
![da9d6095a50d715acfcea20921e2cd7a.png](https://i-blog.csdnimg.cn/blog_migrate/2052fab6b3dea085f7a1f87ff202f409.png)
在通讯接口表中将变量和地址连接
![cc21a28cfb832bf8fde6ad2550b7f891.png](https://i-blog.csdnimg.cn/blog_migrate/51b4e2b47a662fa861b93483f278f60a.png)
具体的数字分解方法:
1、双击用户窗口,在窗口属性的循环脚本中写入如下代码:
![a78ea6ca31a22cae10d368e8466d8925.png](https://i-blog.csdnimg.cn/blog_migrate/eda08f895e86c9eefd4d02bed3c1e150.png)
我们具体分析一条指令
根据协议,data1的数据中高8位字节是年,低8位字节是月。对于高字节,我们采用右移8位的指令,将高8位的数据移动到低8位