2024年2月21日发(作者:)

DWORD拆分成WORD

s7-300中建立一个功能块,定义了一个中间变量名为linshi,它是的类型是DWORD,32位的,现在得知它所存的数据为01000101,也就是说高16位为0,只用低16位就可以保存整个数据了,现在我想从这个变量中把低16位取出,存到一个WORD中,应该怎么弄?我原本直接用传送指令将linshi中的32位数直接传送到16位的存储单元,但是下载程序时,整个块无法下载进去,提示数据长度出错,我想问用传送指令不对吗?还是有什么方法,请指点。

问题补充:

可是我不能用全局变量MD,只能用自定义变量linshi,用linshi这个变量怎么表示啊?

最佳答案

回答的不错!

针对你的问题补充:

我个人做个功能块,你可以参考下:

A(

A(

L#linshi

T#temp1

SET

SAVE

CLR

ABR

)

JNB_001

L#temp1

LDW#16#FF

AD

T#temp2

SET

SAVE

CLR

_001:ABR

)

JNB_002

L#temp2

T#Outword

_002:NOP0

你可以转化为梯形图看看!

当然,先要定义变量!

见附图:

图片说明:1,12,2

标签