发布于 2005-03-03 09:30:54
0楼
要注意加减乘除等这些操作的数必须为INT,DINT,REAL这三种格式,而OR必须为BOOL BYTE WORD DWORD这四种格式,所以在运算前一定要格式相匹配,假如你已经把DB1.DBW24等这些操作数都定义为了INT型,则可如下操作(否则要先转成INT型):
FUNCTION FC1:VOID
BEGIN
MW0:=INT_TO_WORD(DB1.DBW24*10+DB1.DBW22*9+DB1.DBW20*8+DB1.DBW18*7+DB1.DBW16*6+DB1.DBW14*5+DB1.DBW12*4+DB1.DBW10*3+DB1.DBW8*2+DB1.DBW6*1) OR 55
END_FUNCTION
注意结果MW0为WORD型。
I can do it