数据高低字/高低字节交换功能块

其他算法  / 只看大图  / 正序浏览  © 著作权归作者所有感觉不错,请素质四连!点赞,收藏,加关注,送评分

#楼主# 2022-3-31

感觉不错,请素质四连哦!点赞,收藏,加关注,送评分!
跳转到指定楼层
邀请回答

马上注册,享受更多特权

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

x
汇川自带的功能块SWAP只能是WORD类型的变量进行交换,浮点型变量无法使用,汇川自带的SWAP功能块的接口是IN_OUT类型,转换后会覆盖之前的数据,这样需要加一个中间变量,使用起来有点麻烦。和西门子S7-1200/1500PLC(或者其他品牌设备)进行ModbusTCP进行通信的时候需要把数据高低字/高低字节进行交换后对方设备才能接收到正确的数据,因此自己写了一个功能块。
B1.png
B2.png
B3.png

Swap_real.rar

783.18 KB, 下载次数: 31

售价: 10  [记录]

已有 0 人打赏作者

0
回复 邀请回答送花

使用道具

wl99013 发表于 2022-8-27 13:01:37
这个功能块很好,MODBUS 通讯时需要 解码顺序 ,浮点数和双整数的 需要解码
回复 送花

使用道具 举报

fengw1215 发表于 2022-8-26 15:47:13
我也实现了一个4字节的SWAP函数

FUNCTION FC1000_SWAP_DWORD : DWORD
VAR_INPUT
        DW_In : DWORD; // 待swap数据
END_VAR

VAR
        p1 : POINTER TO BYTE;
        p2 : POINTER TO DWORD;
        a : ARRAY [0..3] OF BYTE;
        i : INT;
END_VAR

IF DW_In = 0 THEN
        RETURN;
END_IF

p1 := ADR(DW_In);

FOR i := 3 TO 0 BY -1 DO
        a[i] := p1^;
        p1 := p1 + 1;
END_FOR

p2 := ADR(a[0]);
FC1000_SWAP_DWORD := p2^;
回复 送花

使用道具 举报

notnt 发表于 2022-8-14 12:00:58
数据高低字/高低字节交换功能块
回复 送花

使用道具 举报

kkss 发表于 2022-6-6 18:36:19
看下楼主怎么实现的  TCP通讯和西门子的倒字节确实麻烦
回复 送花

使用道具 举报

我爱汇川 发表于 2022-6-6 17:48:22
数据高低字/高低字节交换功能块
回复 送花

使用道具 举报

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

本版积分规则

关于作者

阿亮学长

1级暴雨(Lv.10)

  • 主题

    34

  • 帖子

    351

  • 关注者

    0

Archiver|手机版|小黑屋|汇川技术-水滴社区 |苏ICP备12002088号
Powered by Discuz! X3.4  © 2019-2100 INOVANCE INC.