梦雨天涯
微信hui530527   &
级别: 网络英雄
精华主题: 0
发帖数量: 0 个
工控威望: 8373 点
下载积分: 18449 分
在线时间: 3458(小时)
注册时间: 2016-10-31
最后登录: 2025-09-13
查看梦雨天涯的 主题 / 回贴
楼主  发表于: 44天前
图片:
图片:
如图所示,假设第一次发送4个字符,第2次发送3个字符,还是保留上次第4个字符的内容,每次都需要截取3长度才行,大佬们有什么好的建议呢?
我目前使用求商,然后加1,最后利用变址把余数等于1的位置进行WAND
[ 此帖被梦雨天涯在2025-08-09 08:11重新编辑 ]
微信hui530527      b站账号,非标自动化谭工
请不要随意加我,不会随便通过。
工控技术交流QQ群942493953
电气小学生
级别: 论坛先锋
精华主题: 0
发帖数量: 0 个
工控威望: 1111 点
下载积分: 884 分
在线时间: 138(小时)
注册时间: 2021-04-15
最后登录: 2025-09-14
查看电气小学生的 主题 / 回贴
1楼  发表于: 44天前
前段时间做过一个项目,也是走TCP通信,我们是定义了数据长度和每个字节的含义,消息内容里当前消息无内容的字节用空格补上。这样就保证了每条消息的长度都是固定的。而且接收缓存区每次都会覆盖上一次的消息内容。
钢带,钢卷缠绕打包机,翻转机,托盘码垛机,栈板更换机,源头工厂。
VX:DQSJ_12345678
sjbandmm
级别: 略有小成
精华主题: 0
发帖数量: 234 个
工控威望: 419 点
下载积分: 1011 分
在线时间: 176(小时)
注册时间: 2008-08-23
最后登录: 2025-09-14
查看sjbandmm的 主题 / 回贴
2楼  发表于: 39天前
接收区第一个字是接收字节数,根据这个数字来确定读取长度就可以。
工控小c
级别: 工控侠客
精华主题: 0
发帖数量: 2 个
工控威望: 2307 点
下载积分: 8520 分
在线时间: 482(小时)
注册时间: 2022-10-14
最后登录: 2025-09-14
查看工控小c的 主题 / 回贴
3楼  发表于: 39天前
引用
引用第2楼sjbandmm于2025-08-06 21:04发表的  :
接收区第一个字是接收字节数,根据这个数字来确定读取长度就可以。

奇数字节不好取啊
sjbandmm
级别: 略有小成
精华主题: 0
发帖数量: 234 个
工控威望: 419 点
下载积分: 1011 分
在线时间: 176(小时)
注册时间: 2008-08-23
最后登录: 2025-09-14
查看sjbandmm的 主题 / 回贴
4楼  发表于: 37天前
引用
引用第3楼工控小c于2025-08-07 15:32发表的  :

奇数字节不好取啊


两个方法:
1、使用WTOB将字分解到字节,再BTOW合并到一起
2、计算具体是哪个字,使用wand指令将不用的字节复位就行了。
guanyumou
串口通信之家
级别: 论坛先锋
精华主题: 0
发帖数量: 673 个
工控威望: 1742 点
下载积分: 4496 分
在线时间: 34(小时)
注册时间: 2009-09-04
最后登录: 2025-09-02
查看guanyumou的 主题 / 回贴
5楼  发表于: 25天前
用功能块实现套接字通信方便:

  
微信:guanyumou
微信:chinesegongkong
QQ:149034219
串口通信之家http://modbus.taobao.com
棋影工控之家http://profibus.taobao.com