在一个字节内,如何实现字节高低位状态转换,比如MB0正常排列为0~7,
而MB1的0~7对应为MB07~0,不知道描述明白没,这个在STep7中应该通过什么样指令实现呢。
问题补充:
因为前期有个双字的状态位取反了,程序、上位画面都已做完了,所以想找类似的指令进行调换一下,比如我有32个电机运行状态编号从0~31,每个位对应一个电机运行状态,但由于沟通错误,实际对应电机应该是31~0这么编制,所以想取巧,看有没有相关指令。
最佳答案
没有这样的指令,只能编程了。
这个只有自己编一个程序块,来做的,caw,cad都不行,他们最少是字节交换,楼主要求的是位交换。自己做一个FC:
in:in1:byte
out:out1:byte
Lin1
Tlb0
Al0.0
=l1.7
Al0.1
=l1.6
Al0.2
=l1.5
Al0.3
=l1.4
Al0.4
=l1.3
Al0.5
=l1.2
Al0.6
=l1.1
Al0.7
=l1.0
Llb1
Tout1
以上程序处理一个字节,如果要处理一个字或者双字,只是定义的数据类型以及使用的中间变量额位数的区别,方法和上面的一样。
这个程序的输入in1链接你的mb0,out1链接你的mb1,这样就把mb0的信号倒序排列保存到mb1中了。
提问者对于答案的评价:
谢谢各位的回答,当时想图省事,有近500个点位,看来只能做个FC一点点处理了。