[西门子] 通信时,3种方法实现数据的转换

[复制链接]
查看133 | 回复0 | 2024-9-29 19:03:42 | 显示全部楼层 |阅读模式
>

文末有55个实战案例资料

导读:昨天接到粉丝问的一个问题大概的意思就是将两个Byte的数据组合成一个Word数据,问我有没有简单的一点的方法。这个问题其实问的特别好,因为在我们做数据通信的时候,可能往往是以字节的方式读取,然后需要我们再组合成对应数据。那么本文就来聊聊如何将数据组合的几种方法。

控制要求:

DB2数据块中的“Ptp”每两个字节数据组合成“hmi”中的一个字的数据

1种方法:直接地址传送法

1.先将DB数据块修改为非优化的访问块,这样的话就会出现绝对地址,然后将绝对地址的高低字节传送给对应的WORD中的高低字节即可。这种方法的缺点就是地址容易搞混,搞错。

2种方法:片段寻址法

这种方法可以使用优化的访问块,但是高低字节容易搞反,但是还是很直观的

3种方法:移位寄存器法

1.新建FC程序块,使用移位指令编写。首先是将Byte的值赋值给W,然后左移动8位,此时再将低8位的数据与Byte2相或。


  1.  2. 调用FC程序块,并且赋值。

这种方法的好处就是编写好了FC程序块之后,接下来的数据只需要依次填入管脚中,不容易出错。当然,也可以改变数组下标的变量来一次性将多个数据进行转换。

最近有很多小伙伴说要案例书籍,说是手机上看文章不是很方便,我抽时间把55个实战案例全部整理出来,案例都是比较典型的,其中包括气缸控制程序、报警程序、程序框架、运动控制程序封装、模拟量控制变频器、通信等实战案例。需要的可以加我微信:biao467524527,如果加不上可以私信我!


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

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

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则