Out_CANData2 = Out_CANData2 + Out_CANData1

Out_CANData1 = !I2Hex(Out_Data2)

if !Len(Out_CANData1) 《》 2 then Out_CANData1 = “0” + Out_CANData1

Out_CANData2 = Out_CANData2 + Out_CANData1

Out_CANData1 = !I2Hex(Out_Data3)

if !Len(Out_CANData1) 《》 2 then Out_CANData1 = “0” + Out_CANData1

Out_CANData2 = Out_CANData2 + Out_CANData1

Out_CANData1 = !I2Hex(Out_Data4)

if !Len(Out_CANData1) 《》 2 then Out_CANData1 = “0” + Out_CANData1

Out_CANData2 = Out_CANData2 + Out_CANData1

Out_CANData1 = !I2Hex(Out_Data5)

if !Len(Out_CANData1) 《》 2 then Out_CANData1 = “0” + Out_CANData1

Out_CANData2 = Out_CANData2 + Out_CANData1

Out_CANData1 = !I2Hex(Out_Data6)

if !Len(Out_CANData1) 《》 2 then Out_CANData1 = “0” + Out_CANData1

Out_CANData2 = Out_CANData2 + Out_CANData1

Out_CANData1 = !I2Hex(Out_Data7)

if !Len(Out_CANData1) 《》 2 then Out_CANData1 = “0” + Out_CANData1

Out_CANData2 = Out_CANData2 + Out_CANData1

这样,以后要将In_CANData 的数据提取到In_*变量中,只需在脚本中按!setstgy(StringToObject)就可以了。而要将Out_*数据合并到Out_CANData, 可先调用!setstgy(ObjectToString),然后再把Out_CANData2的值赋给Out_CANData。

四、协议及报文格式

因为MCGS 不便于编写复杂的脚本程序,所以传输协议的设计以简单为原则。本系统使用HiLon 协议A 。HiLon 协议A 是一个通用的协议,基于非对称型主从式网络结构,支持广播和点对点传送命令数据,命令数据包可长达256 字节,非常适合用作本系统的通信协议HiLon 协议以CAN2.0A 帧结构为基础。下图是帧报文格式,一个CAN2.0A 标准帧由11 位ID 、1 位RTR 、4 位DLC 、数据区(最多8 个字节)组成。

通过CAN-bus总线对室内空调的温/湿度模拟系统进行控制

DIR :方向位。方向位决定一半的优先级而剩余的优先级,由节点地址决定低地址优先级高。当方向位为“1” 时,地址域是源节点地址(从节点到主节点),优先级由地址决定;当方向位为“0” 时,地址域是目标节点地址(主节点到从节点),优先级由地址决定。从节点也可使用地址滤波技术从而减少需处理的网络信息量,因而能有效节省CAN 节点控制器资源,提高控制器效率。

Address :目标地址,表示节点地址,范围只能设定为0~125

TYPE :帧类型。见下表中的帧类型说明。

通过CAN-bus总线对室内空调的温/湿度模拟系统进行控制