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

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

奇数字节不好取啊


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

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