本帖最后由 cao1fg 于 2014-8-11 22:32 编辑
威纶的计算 你要定义为char 运算的时候LW里的 要把高地位分为2个char 运算结果会一样的
short number
short change[30],change1[30],CRC_value1,CRC_value2,CRC_value3,return_value
int output[10],i
char sentwg[30],responsewg[30],sentcs[30],responsecs[30]
//读取重量//
sentwg[0] = 0x02//地址
sentwg[1] = 0x03//功能码
sentwg[2] = 0x00//寄存器地址高位
sentwg[3] = 0x28//寄存器地址低位
sentwg[4] = 0x00//数据个数高位
sentwg[5] = 0x02//数据个数低位
CRC(sentwg[0], CRC_value1, 6)
LOBYTE(CRC_value1, sentwg[6])//关键部分
HIBYTE(CRC_value1, sentwg[7])//关键部分
//数据显示
SetData(sentwg[0], "Local HMI", LW, 0, 1)
SetData(sentwg[1], "Local HMI", LW, 1, 1)
SetData(sentwg[2], "Local HMI", LW, 2, 1)
SetData(sentwg[3], "Local HMI", LW, 3, 1)
SetData(sentwg[4], "Local HMI", LW, 4, 1)
SetData(sentwg[5], "Local HMI", LW, 5, 1)
SetData(sentwg[6], "Local HMI", LW, 6, 1)
SetData(sentwg[7], "Local HMI", LW, 7, 1)
//
OUTPORT(sentwg[0], "Free Protocol", 8)
DELAY(10)
INPORT(responsewg[0], "Free Protocol", 9, return_value) |