CN101047715A - 数据通讯编码方法 - Google Patents
数据通讯编码方法 Download PDFInfo
- Publication number
- CN101047715A CN101047715A CN 200710072872 CN200710072872A CN101047715A CN 101047715 A CN101047715 A CN 101047715A CN 200710072872 CN200710072872 CN 200710072872 CN 200710072872 A CN200710072872 A CN 200710072872A CN 101047715 A CN101047715 A CN 101047715A
- Authority
- CN
- China
- Prior art keywords
- module
- control module
- parameter
- instruction
- coding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Selective Calling Equipment (AREA)
Abstract
一种数据通讯编码方法,适用无线通信以及现场总线通讯传输,其中所述传输协议格式包含:0xAA、0x55、接收单元的模块类型、接收单元的模块类型内部相对编号、数据包长度、加密算法编号、发送单元的模块类型、发送单元的模块类型内部相对编号、执行指令模块的内部设备控制端口编码/面板模块设备的键值类型内部编码、执行指令模块的类型编码、执行指令模块标准指令的动作指令编码、指令参数个数、参数序列号、参数的分片个数、分片序列号、参数数据内容、校验码、0xFF、0xFF;其中0xAA、0x55为指令包的两个起始标识字节,0xFF、0xFF为指令包的两个结束标识字节。
Description
技术领域
本发明涉及一种工业数据总线与无线通讯领域的数据通讯编码方法。
背景技术
现场总线是近年来迅速发展起来的一种工业数据总线,它主要解决工业现场的智能化仪器仪表、控制器、执行机构等现场设备间的数字通信以及这些现场控制设备和高级控制系统之间的信息传递问题,所以现场总线既是通信网络,又是自控网络。
目前在现场总线进行通信的编码,基本上都是采用固定格式,严格每个指令长度,极其严谨的编码方法,而且更重要的是个各厂家都是根据自己的设备要求建立各自不同的格式和内容,在传输的时候,很难做到灵活使用的要求,有些未改变的值或者状态,必须毫无意义的重复传输,浪费不少的网络资源,而在一些数据可能受环境或者设备性能影响,其数据大小不一致时,难以做到良好的通信交流;最大的缺陷是,原有的现场总线通信的编码方法,难以满足今天数量众多的信息化家电的互通互控要求。
这种通信编码的方法,对于我们的扩充性带来极大的不便,甚至于超高温和超低温的表述也带来困扰,同时因为各个开发商的产品功能要求不一样,其格式是五花八门,因此给我们产品的兼容性和互通带来极大的阻碍。
发明内容
本发明的目的是提供一种数据通讯编码方法,适用于工业数据总线与无线通讯领域,它使单片机系统,特别是单片机之间的通讯与维护、使用、后续开发更具方便性、易使用性和安全性,同时保留业务内容的灵活性,能够在不修改业务通讯处理功能下,最大可能的支持业务内容的修改变化,克服了现有总线通信编码存在的缺陷。
实现本发明的技术方案是:这种总线通讯传输协议格式包含:0xAA、0x55、接收单元的模块类型、接收单元的模块类型内部相对编号、数据包长度、加密算法编号、发送单元的模块类型、发送单元的模块类型内部相对编号、执行指令模块的内部设备控制端口编码/面板模块设备的键值类型内部编码、执行指令模块的类型编码、执行指令模块标准指令的动作指令编码、指令参数个数、参数序列号、参数的分片个数、分片序列号、参数数据内容、校验码、0xFF、0xFF;其中0xAA、0x55为指令包的两个起始标识字节,0xFF、0xFF为指令包的两个结束标识字节。
该技术方案还包括:
所述模块类型的编码从1开始往上编,0为所有模块的广播地址;
所述模块类型内部相对编号,主要是指每种模块类型通信控制板的内部相对编码,即在一个CPU模块中央控制点下,同种模块类型的通信控制板/设备的各自内部相对编码;
所述数据包长度是,主要指从“加密算法编号”开始到“校验码”参数的字节数目,其值在11~247之间,长度大小主要受参数数据内容的影响;
所述加密算法编码,主要是指对从“发送单元的模块类型”到“参数数据内容”之间的字节数据进行加密处理;
所述模块内部端口/键值编码,主要是指执行指令模块内部设备控制端口编码或者指令上传模块设备的内部键值编码;
所述执行指令模块的类型编码包括标准指令的模块类型编码和标准指令的动作指令编码,其中标准指令的动作指令编码主要是指此类型设备中作何种动作;
所述指令参数个数,主要是指由标准动作指令决定,可以知道一个指令有没有全部完全发布结束;
所述参数序列号主要是由标准动作指令和发送的过程决定;
所述参数的分片个数主要是指参数的数据内容长度小于236个byte,其参数分片的个数为0,超过236byte,其参数的数据内容必须进行拆分成多个数据包来进行处理,以236byte为单位,,其参数分片个数等于拆成数据包的个数;
所述分片序列号主要是指与当前发送的分片个数相同;
所述参数数据内容主要是指当前指令需要发送的参数数据内容,为16进制,受标准动作指令和实际参数内容的影响;
所述校验码主要是指对从“加密算法编号”开始到“参数数据内容”间的所有byte进行异或运算结果数值。
所述传输协议格式发送的数据,其最小长度为19byte,最大长度为255byte。
所述模块类型包含类型名称和类型标准编码(10进制),其对应关系分别是:所有类型:0;主CPU模块:1;空调模块:2;Dimmer模块:3;On/Off模块:4;双路模块:5;面板类:6;酒店客房场景类:7;酒店客房I/O控制类:8;电源输出On/Off控制器:9;窗帘类低压控模块:10;非接触IC卡门钥盒模块:11。
述模块类型包含控制设备类型、设备标准动作、动作编码、设备标准动作参数,它们之间的对应关系分别是:
所有类型(0):时间广播:1:广播主cpu时间的格式为周、年、月、日、时、分、秒,分别用一个字节的参数表示,(0 99-12-11 11:20:31)时间参数即将七个字节(BCD码)时间数据作为一个参数来处理(Byte7表示周,Byte6表示年,Byte5表示月,Byte4表示日,byte3表示时,Byte2表示分,Byte1表示秒);
所有类型(0):设备自检指令:2;
主CPU模块:时间指令:1:(0 99-12-11 11:20:31)七个字节BCD码;
主CPU模块:设备自检指令:2;
主CPU模块:查询自检结果:3;
主CPU模块:数据查询:5;
主CPU模块:数据应答:6;
主CPU模块:状态查询:7;
空调模块(2):时间:(0 99-12-11 11:20:31)七个字节BCD码;
空调模块(2):设备自检指令:2;
空调模块(2):查询自检结果:3;
空调模块(2):上报自检结果:4:1byte为11111111结果正常,若有对应端口值为0该端口不正常。
空调模块(2):数据查询:5;
空调模块(2):数据应答:6:(校验正确:1/校验不正确:0);
空调模块(2):状态查询状态查询:7;
空调模块(2):状态上传:8:1电源状态(通电:1/断电:0)2风机状态(关:0低风:1,中风:2,高风:3)3温度值(度数参数:只传华摄氏度);
空调模块(2):断电:9;
空调模块(2):通电:10;
空调模块(2):低风:11;
空调模块(2):中风:12
空调模块(2):高风:13;
空调模块(2):温度上调:14;
空调模块(2):温度下调:15;
空调模块(2):温度设定:16;1度数参数(只传华摄氏度);
空调模块(2):温度风速指令下传:17:1温度2风速;
空调模块(2):温度上调最大值:18:1度数参数(只传华摄氏度);
空调模块(2):温度下调最大值:19:1度数参数(只传华摄氏度);
空调模块(2):温度调节最大值最小值:20:1最大度数参数(只传华摄氏度)2最小度数参数(只传华摄氏度);
空调模块(2):冷模式:21;
空调模块(2):热模式:22;
空调模块(2):开冷水阀:23;
空调模块(2):开热水阀:24;
Dimmer模块(3):时间:(0 99-12-11 11:20:31)七个字节BCD码;
Dimmer模块(3):设备自检指令:2;
Dimmer模块(3):查询自检结果:3;
Dimmer模块(3):上报自检结果:4;1byte为11111111结果正常,若有对应端口值为0该端口不正常;
Dimmer模块(3):数据查询:5;
Dimmer模块(3):数据应答:6:(校验正确:1/校验不正确:0);
Dimmer模块(3):状态查询:7;
Dimmer模块(3):状态上传:8:1电源状态(通电:1/断电:0)2亮度值(只传%);
Dimmer模块(3):断电指令:9;
Dimmer模块(3):通电指令:10;
Dimmer模块(3):亮度上调:11;
Dimmer模块(3):亮度下调:12;
Dimmer模块(3):亮度值下传指令:13:1亮度值(只传%);
Dimmer模块(3):亮度上调最大值:14:1亮度参数(只传%);
Dimmer模块(3):亮度下调最大值:15:1亮度参数(只传%);
On/Off模块(4):时间:1:(0 99-12-11 11:20:31)七个字节BCD码;
On/Off模块(4):设备自检指令:2;
On/Off模块(4):查询自检结果:3;
On/Off模块(4):上报自检结果:4;1byte为11111111结果正常,若有对应端口值为0该端口不正常;
On/Off模块(4):数据查询:5;
On/Off模块(4):数据应答:6:(校验正确:1/校验不正确:0);
On/Off模块(4):状态查询:7;
On/Off模块(4):状态上传:8:电源状态(通电:1/断电:0);
On/Off模块(4):断电指令:9;
On/Off模块(4):通电指令:10;
双路模块(5):时间:1:(0 99-12-11 11:20:31)七个字节BCD码;
双路模块(5):设备自检指令:2;
双路模块(5):查询自检结果:3;
双路模块(5):上报自检结果:4:1byte为11111111结果正常,若有对应端口值为0该端口不正常;
双路模块(5):数据查询:5;
双路模块(5):数据应答:6;(校验正确:1/校验不正确:0);
双路模块(5):状态查询:7;
双路模块(5):状态上传:8:电源状态(通电:1/断电:0);
双路模块(5):断电:9;
双路模块(5):通电:10;
面板类(6):时间下传:1:(0 99-12-11 11:20:31)七个字节BCD码;
面板类(6):设备自检指令:2;
面板类(6):查询自检结果:3;
面板类(6):上报自检结果:结果(正常:1/不正常:0);
面板类(6):数据查询:5;
面板类(6):数据应答:6:(校验正确:1/校验不正确:0);
酒店客房场景类(7):场景On:1:场景编号;
酒店客房场景类(7):场景Off:0;
酒店客房场景类(7):场景up:2;
酒店客房场景类(7):场景down:3;
酒店客房I/O控制类(8):有效:1:(服务IO类编号:1 DND2 MC3 MUR4门铃);
酒店客房I/O控制类(8):无效:0;
电源输出On/Off控制器(9):时间:1:(0 99-12-11 11:20:31)七个字节BCD码;
电源输出On/Off控制器(9):设备自检指令:2;
电源输出On/Off控制器(9):查询自检结果:3;
电源输出On/Off控制器(9):上报自检结果:4:1结果(正常/不正常);
电源输出On/Off控制器(9):数据查询:5;
电源输出On/Off控制器(9):数据应答:6:1(校验正确/校验不正确);
电源输出On/Off控制器(9):状态查询:7;
电源输出On/Off控制器(9):状态上传:8:电源状态(通电:1/断电:0);
电源输出On/Off控制器(9):通电指令:9;
电源输出On/Off控制器(9):断电指令:10;
窗帘类低压控制模块(10):时间:1:(0 99-12-11 11:20:31)七个字节BCD码;
窗帘类低压控制模块(10):设备自检指令:2;
窗帘类低压控制模块(10):查询自检结果:3;
窗帘类低压控制模块(10):上报自检结果:4:1byte为11111111结果正常,若有对应端口值为0该端口不正常;
窗帘类低压控制模块(10):数据查询:5;
窗帘类低压控制模块(10):数据应答:6:(校验正确:1/校验不正确:0);
窗帘类低压控制模块(10):状态查询:7;
窗帘类低压控制模块(10):状态上传:8:1电源状态(通电:1/断电:0)2幅度参数(%);
窗帘类低压控制模块(10):开窗帘:9:无;
窗帘类低压控制模块(10):关窗帘:10:无;
窗帘类低压控制模块(10):步进开帘(没幅度参数):11;
窗帘类低压控制模块(10):步进闭帘(没幅度参数):12;
窗帘类低压控制模块(10):步进开帘(有幅度参数):13:1幅度参数(百分数);
窗帘类低压控制模块(10):步进闭帘(有幅度参数):14:1幅度参数(百分数);
非接触IC卡门钥盒模块(11):时间:1:(0 99-12-11 11:20:31)七个字节BCD码;
非接触IC卡门钥盒模块(11):设备自检指令:2;
非接触IC卡门钥盒模块(11):查询自检结果:3;
非接触IC卡门钥盒模块(11):上报自检结果:4:结果(正常:1/不正常:0);
非接触IC卡门钥盒模块(11):数据查询:5;
非接触IC卡门钥盒模块(11):数据应答:6:(校验正确:1/校验不正确:0);
非接触IC卡门钥盒模块(11):状态查询:7:无;
非接触IC卡门钥盒模块(11):状态上传:8:1卡号2事件时间3事件类型。
本发明具有的有益效果:通过新的现场总线通信编码的方法,使得其既可以满足各个电子产品的现场总线通信与交换控制,又能灵活的满足各个厂商电子产品特点要求的数据传输与处理要求,也能根据在项目或者产品合作中根据相关授权进行相应的通信与交换,而且指令的升级对原功能不用做出修改。本通信编码的方法可以应用于现在的所有现场总线网络。
附图说明
图1是传统通讯编码的寻问指令B0格式框图。
图2是传统通讯编码的应答指令B1格式框图。
图3是本发明的控制设备模块类型标准分类规约框图,最多可控制255种不同类型的设备。
图4a-图4h是本发明的各模块类型控制设备动作指令及参数标准规约框图。
图5是空调操作中,面板将上升一度指令发送到主CPU——键值[0x06,0x01,0x02]框图。
图6是空调操作中,主CPU对上升一度进行场景运算通过后下传温度指令[23度]给空调模块框图。
图7是空调操作中,面板将风速为中速指令发送到主CPU——键值[0x06,0x01,0x02]框图。
图8是空调操作中,主CPU对风速为中速指令进行场景运算通过后下传温度指令给空调模块框图。
图9是Dimmer操作1中,面板将dimmer指令上传主CPU框图。
图10是Dimmer操作1中,主CPU对dimmer指令进行场景运算通过后下传dimmer通电[0x09]指令给dimmer模块框图。
图11是Dimmer操作2中,面板将dimmer指令上传主CPU框图。
图12是Dimmer操作2中,主CPU对dimmer指令进行场景运算通过后下传亮度上调指令给dimmer模块。
图13是Dimmer操作2中,主CPU对dimmer指令进行场景运算通过后下传亮度[50%]指令给dimmer模块框图。
图14是场景master操作中,面板将master的操作上传至主cpu,如果是主cpu自己检测控制,则不需要这一步。——键值[0x06,0x01,0xBA]框图。
图15是场景master操作中,主cpu向所有灯光类[此房间就三类:dimmer,on/off,双路]控制发出关灯指令框图。
图16是场景master操作中,主cpu发出开卧室吊灯[04类,02板,01号控制设备端口]指令框图。
图17是场景master操作中,主cpu发出开dimmer控制灯,所有亮度为60%框图。
图18是场景master操作中,主cpu向所有空调模块发出温度风速下传指令框图。
图19是平时,主cpu没什么需要指令进行下发的时候,使用数据查询来收集各485模块单元的指令框图。
图20是各485模块指令如果没有什么需要指令进行上传时,使用数据应答来回复框图。
具体实施方式
下面结合附图对本发明做进一步说明:
通讯规约
单片机群通信,主要做好两个方面:一是动作指令的标准化,使得通信协议能够有互操作性,二是通信指令格式规范化,不随业务内容多少进行变化(新增服务项目除外)。
(485)通信传输协议格式
0xAA、0x55、接收单元的模块类型、接收单元的模块类型内部相对编号、数据包长度、加密算法编号、发送单元的模块类型、发送单元的模块类型内部相对编号、执行指令模块的内部设备控制端口编码/面板模块设备的键值类型内部编码、执行指令模块的类型编码、执行指令模块标准指令的动作指令编码、指令参数个数、参数序列号、参数的分片个数、分片序列号、参数数据内容、校验码、0xFF、0xFF,
其中,0xAA、0x55为指令包的两个起始标识字节(包头),0xFF、0xFF为指令包的两个结束标识字节(包尾),除了参数数据内容的字节不定外(至少1byte,最多可达236byte,其长度可根据系统需要进行合理采用,通信协议上已经完全支持),其它的参数数据其长度都为1byte。“/”表示“或”。
通信传输协议指令解释
模块类型(即控制单元等模块的类型),(见图4),模块类型的编码从1开始往上编,0为所有模块的广播地址。通信目标的模块类型和执行指令/指令上传的模块类型,其标准都一样,只不过用于表述的不一样,这两者需要和[通信目标或者执行指令/指令上传的]模块类型内部相对编号组合在一起才能发挥作用。如主cpu模块为1,空调模块为2。
模块类型内部相对编号,这个主要是每种模块类型通信控制板(这里的通信通信控制板是指所有含有485通信功能的单元模块,既可以是要485通信的LCD温控面板,也可以是要485通信的LCD集控面板,以及3000平台下的有485通信功能的控制单元执行模块)的内部相对编号,即在一个CPU模块中央控制点下,同种模块类型的通信控制板/设备的各自内部相对编号,如某个CPU模块控制了3个空调(KT001,KT002,KT003),在空调控制单元模块里,每个空调控制单元模块最多只能控制2个空调,因此将KT001号空调和KT002号空调放在一个空调控制单元模块此时,将KT003号空调放在另外一个空调控制单元模块,需要对这几个空调的通信板地址进行编号。KT001和KT002所在的控制单元模块对其通信控制板地址编码(模块类型内部相对编号)设置为1,将KT003所在的控制单元模块的通信控制板地址编码(模块类型内部相对编号)设置为2。注:此时需要注意的是,任何模块类型的控制单元模块,其都不允许将其通信控制板地址编码(模块类型内部相对编号)设置为0,只能是从1往上增,0地址将用在对同种模块类型控制的设备进行同一个指令操作的广播性地址,亦即所有的相同模块类型的控制单元模块都需要进行接收处理。和模块类型也一样,它也分为两种,一种是通信目标的模块类型内部相对编号,一种是执行指令/指令上传的模块类型内部相对编号。其须和模块类型组合起来发挥作用。例如,通信目标的模块类型和通信目标的模块类型内部相对编号,表示的是我想通知哪种模块类型的模块内部编码是几的模块;而执行指令的模块类型、执行指令的模块类型内部相对编号,则是这个指令由哪个模块类型模块内部编码是几的模块去执行;而指令上传的模块类型、指令上传的模块类型内部相对编号,则是用于485面板类进行通信处理的,其需要和指令上传模块设备的内部键值编码相组合才能发挥作用,具体在指令上传模块设备的内部键值编码处进行解释。
数据包长度是指从“加密算法编号”开始到“校验码”参数的字节数目(不含“校验码”字节),其值在11~247之间,长度大小主要受参数数据内容的影响。
加密算法编码,是指对从“发送单元的模块类型”到“参数数据内容”之间的字节数据进行加密处理。但对“0xAA、0x55、通信目标的模块类型、通信目标的模块类型内部相对编号、数据包长度、加密算法编号、校验码、0xFF、0xFF”9个字节的数据将不在加密处理的范围内,这样有利于通信处理。加密算法及其算法编码见后续相关文件(若加密算法编码为0,则表示不作加密处理)。
模块内部端口/键值编码,主要是指执行指令模块内部设备控制端口编码或者指令上传模块设备的内部键值编码。其中在描述“执行指令模块内部设备控制端口编码”时,即非面板类,用这个byte里的每一个bit来表示此模块内部设备控制端口编码(因为一个byte里只有8个bit,因此最多只能单个模块只能控制相同类型的8个设备,超过的话,需要增加同种类型的单元控制模块来解决),如果其对应的是1,那么表示选上,需要做动作处理;如果是0则表示未选上,不用做动作处理。比如KT001,KT002所在空调控制单元模块,由于其控制了2个空调,那么可以对控制KT001号空调的模块内部设备控制端口编码定为b0表示,如果b0=1表示是需要KT001动作,如果b0=0,则表示KT001不需要做动作;KT002号空调的模块内部设备控制端口编码定位b1表示,如果b1=1则表示KT002需要动作,如果b1=0则表示KT002不需要动作;当然一般来讲发过来的时候都是一个byte的完整数据,如果需要KT001和KT002都作一个相同的动作指令的时候,一般来讲它会发出00000011,如果需要KT001做一个动作,那么其发送00000001,如果其需要KT002做一个动作,则发出00000010,当然如果需要进行广播操作的话,那么它就下发00000000,这时候KT001和KT002也需要进行处理,这是对应bit为0时需要进行的处理,是个特例,当然前提是整个byte都为0。键值类型内部编码:面板上传指令给CPU时,根据执行模块类型(见2.4节)分类编码,这样每种执行模块类型都有256种键值类型内部相对编码,其表示某种类型的设备/模块在本面板中的内部相对编码,如本面板上有3个空调需要控制,那么将面板上的空调操作按钮分别指定其属于内部第一号空调、第二号空调、第三号空调,这样的话,就可以告诉cpu,当前面板上进行的是第一号空调的风速调整为中风,只有指定了这个cpu才知道风速调整是针对那个空调作出的,至于本面板上第一号空调在cpu上其对应的是哪个控制模块及端口,则由cpu的map表进行配置并在cpu端进行解析,这样的好处是面板具有类型的通用性,可以同类型进行自由互换而不必去关心输出。
标准指令由两部分组成,一是标准指令的模块类型编码,二是标准指令的动作指令编码,只有这两者一起才能完成真正的标准指令编码。这主要是针对单元控制模块会发出的控制执行指令进行统一编码,为的是实现标准化编码(见图4)。
标准指令的模块类型编码,描述的是这个标准指令的对应的模块类型,其中模块类型在上面已经描述过。
标准指令的动作指令编码,描述的是此类型设备中作何种动作。
指令参数个数,这个主要是由标准动作指令决定,在这个协议里进行体现,主要是为了处理上的方便,同时可以知道一个指令有没有全部完全发布结束。
参数序列号,这个也是由标准动作指令和发送的过程决定的,如果其对应的标准动作指令不需要参数的话,那么其参数序列号为0,如果指令参数个数为2的话,那个其在发送标准动作指令的第一个指令数据包时,其为1,在发送标准动作指令的第二个指令数据包时,其为2。具体见后面的事列。
参数分片个数,如果参数的数据内容长度小于236个byte的话,那么其参数分片的个数为0,当然超过236byte,那么这个参数的数据内容必须进行拆分成多个数据包来进行处理(以236byte为单位),拆成多少个数据包,其参数分片个数就是几。如果没有参数的话,那么其参数分片个数为0。
分片序列号(即参数分片序列号),此主要受当前发送的分片参数内容有关,如果发送的是第一个分片参数内容指令,则分片序列号为1,如果是第二个分片参数内容指令,则分片序列号为2,如果是第三个则为3。当然如果没有当前发送的指令根本就没有参数,那么其参数分片序列号为0。
参数数据内容,这个就是当前指令需要发送的参数数据内容,为16进制表示,受标准动作指令和实际参数内容的影响。其长度不受标准动作指令限制,允许根据需要进行灵活应用。
校验码,其是对从“加密算法编号”开始到“参数数据内容”间的所有byte进行异或运算结果数值。
总的来讲,此格式发送的数据,其最小长度为19byte,最大长度为255byte。此协议将非常灵活,满足于任何可变的不同指令以及每个指令的动态参数,如在传送监控图片或者语音数据时,同时,能很好的满足标准化指令的传输(工业总线型通讯或者无线通讯,其传输的本身并没有与具体的指令或者指令参数结合,也达到了底层传输的平台化要求),不受未来新产品开发设计的影响,能够形成一个完整灵活稳定的工业总线型/无线通信通道。
实施例(用于酒店客房管理系统)
通信指令示例(485总线通讯传输协议指令举例,无线通讯传输协议指令只是包头部分不一样)。
1、空调操作
(要求会议室空调KT001[02类,01板,01控制设备端口]上升一度(22->23),风速为中速),见图5-图8列表。
2、Dimmer操作1
(开dimmer[03类,01板]模块1号端口和2号端口的灯具)——键值[0x06,0x01,0x03],见图19-图10列表。
3、Dimmer操作2
(将dimmer[03类,01板]模块1号端口和2号端口的灯具亮度增亮)——键值[0x06,0x01,0x03],见图11-图13列表。
4、场景master操作
(此场景编号为1,其将打开欢迎类灯具[卧室吊灯,dimmer控制灯],关闭其他的灯光[除卧室吊灯,dimmer控制灯之外的灯],同时将空调的设定调置为客户喜好设置[低风,25度])。分析:这里有几种方法实现,如果客户在系统设计时定义了要关闭的灯光较多,则我们可以先将所有的灯关闭,然后开欢迎类灯具[卧室吊灯,dimmer控制灯];如果关闭的灯较少,则我们先可以点亮欢迎类灯具[卧室吊灯,dimmer控制灯],然后关闭那几个需要关闭的灯。实现第一种方法的示例见图14-图18列表。
5、平时,主cpu没什么需要指令进行下发的时候,使用数据查询来收集各485模块单元的指令,见图19列表。
6、各485模块指令如果没有什么需要指令进行上传时,使用数据应答来回复,见图20列表。
Claims (5)
1.一种数据通讯编码方法,适用无线通信以及现场总线通讯传输,其特征是所述传输协议格式包含:0xAA、0x55、接收单元的模块类型、接收单元的模块类型内部相对编号、数据包长度、加密算法编号、发送单元的模块类型、发送单元的模块类型内部相对编号、执行指令模块的内部设备控制端口编码/面板模块设备的键值类型内部编码、执行指令模块的类型编码、执行指令模块标准指令的动作指令编码、指令参数个数、参数序列号、参数的分片个数、分片序列号、参数数据内容、校验码、0xFF、0xFF;其中0xAA、0x55为指令包的两个起始标识字节,0xFF、0xFF为指令包的两个结束标识字节。
2.如权利要求1所述的数据通讯编码方法,其特征是
所述模块类型的编码从1开始往上编,0为所有模块的广播地址;
所述模块类型内部相对编号,主要是指每种模块类型通信控制板的内部相对编码,即在一个CPU模块中央控制点下,同种模块类型的通信控制板/设备的各自内部相对编码;
所述数据包长度是,主要指从“加密算法编号”开始到“校验码”参数的字节数目,其值在11~247之间,长度大小主要受参数数据内容的影响;
所述加密算法编码,主要是指对从“发送单元的模块类型”到“参数数据内容”之间的字节数据进行加密处理;
所述模块内部端口/键值编码,主要是指执行指令模块内部设备控制端口编码或者指令上传模块设备的内部键值编码;
所述执行指令模块的类型编码包括标准指令的模块类型编码和标准指令的动作指令编码,其中标准指令的动作指令编码主要是指此类型设备中作何种动作;
所述指令参数个数,主要是指由标准动作指令决定,可以知道一个指令有没有全部完全发布结束;
所述参数序列号主要是由标准动作指令和发送的过程决定;
所述参数的分片个数主要是指参数的数据内容长度小于236个byte,其参数分片的个数为0,超过236byte,其参数的数据内容必须进行拆分成多个数据包来进行处理,以236byte为单位,,其参数分片个数等于拆成数据包的个数;
所述分片序列号主要是指与当前发送的分片个数相同;
所述参数数据内容主要是指当前指令需要发送的参数数据内容,为16进制,受标准动作指令和实际参数内容的影响;
所述校验码主要是指对从“加密算法编号”开始到“参数数据内容”间的所有byte进行异或运算结果数值。
3.如权利要求1所述的数据通讯编码方法,其特征是所述传输协议格式发送的数据,其最小长度为19byte,最大长度为255byte。
4.如权利要求1所述的数据通讯编码方法,其特征是所述模块类型包含类型名称和类型标准编码(10进制),其对应关系分别是:所有类型:0;主CPU模块:1;空调模块:2;Dimmer模块:3;On/Off模块:4;双路模块:5;面板类:6;酒店客房场景类:7;酒店客房I/O控制类:8;电源输出On/Off控制器:9;窗帘类低压控模块:10;非接触IC卡门钥盒模块:11。
5.如权利要求1所述的数据通讯编码方法,其特征是所述模块类型包含控制设备类型、设备标准动作、动作编码、设备标准动作参数,它们之间的对应关系分别是:
所有类型(0):时间广播:1:广播主cpu时间的格式为周、年、月、日、时、分、秒,分别用一个字节的参数表示,(0 99-12-11 11:20:31)时间参数即将七个字节(BCD码)时间数据作为一个参数来处理(Byte7表示周,Byte6表示年,Byte5表示月,Byte4表示日,byte3表示时,Byte2表示分,Byte1表示秒);
所有类型(0):设备自检指令:2;
主CPU模块:时间指令:1:(0 99-12-11 11:20:31)七个字节BCD码;
主CPU模块:设备自检指令:2;
主CPU模块:查询自检结果:3;
主CPU模块:数据查询:5;
主CPU模块:数据应答:6;
主CPU模块:状态查询:7;
空调模块(2):时间:(0 99-12-11 11:20:31)七个字节BCD码;
空调模块(2):设备自检指令:2;
空调模块(2):查询自检结果:3;
空调模块(2):上报自检结果:4:1byte为11111111结果正常,若有对应端口值为0该端口不正常。
空调模块(2):数据查询:5;
空调模块(2):数据应答:6:(校验正确:1/校验不正确:0);
空调模块(2):状态查询状态查询:7;
空调模块(2):状态上传:8:1电源状态(通电:1/断电:0)2风机状态(关:0低风:1,中风:2,高风:3)3温度值(度数参数:只传华摄氏度);
空调模块(2):断电:9;
空调模块(2):通电:10;
空调模块(2):低风:11;
空调模块(2):中风:12
空调模块(2):高风:13;
空调模块(2):温度上调:14;
空调模块(2):温度下调:15;
空调模块(2):温度设定:16;1度数参数(只传华摄氏度);
空调模块(2):温度风速指令下传:17:1温度2风速;
空调模块(2):温度上调最大值:18:1度数参数(只传华摄氏度);
空调模块(2):温度下调最大值:19:1度数参数(只传华摄氏度);
空调模块(2):温度调节最大值最小值:20:1最大度数参数(只传华摄氏度)2最小度数参数(只传华摄氏度);
空调模块(2):冷模式:21;
空调模块(2):热模式:22;
空调模块(2):开冷水阀:23;
空调模块(2):开热水阀:24;
Dimmer模块(3):时间;(0 99-12-11 11:20:31)七个字节BCD码;
Dimmer模块(3):设备自检指令:2;
Dimmer模块(3):查询自检结果:3;
Dimmer模块(3):上报自检结果:4;1byte为11111111结果正常,若有对应端口值为0该端口不正常;
Dimmer模块(3):数据查询:5;
Dimmer模块(3):数据应答:6:(校验正确:1/校验不正确:0);
Dimmer模块(3):状态查询:7;
Dimmer模块(3):状态上传:8:1电源状态(通电:1/断电:0)2亮度值(只传%);
Dimmer模块(3):断电指令:9;
Dimmer模块(3):通电指令:10;
Dimmer模块(3):亮度上调:11;
Dimmer模块(3):亮度下调:12;
Dimmer模块(3):亮度值下传指令:13:1亮度值(只传%);
Dimmer模块(3):亮度上调最大值:14:1亮度参数(只传%);
Dimmer模块(3):亮度下调最大值:15:1亮度参数(只传%);
On/Off模块(4):时间:1:(0 99-12-11 11:20:31)七个字节BCD码;
On/Off模块(4):设备自检指令:2;
On/Off模块(4):查询自检结果:3;
On/Off模块(4):上报自检结果:4;1byte为11111111结果正常,若有对应端口值为0该端口不正常;
On/Off模块(4):数据查询:5;
On/Off模块(4):数据应答:6:(校验正确:1/校验不正确:0);
On/Off模块(4):状态查询:7;
On/Off模块(4):状态上传:8:电源状态(通电:1/断电:0);
On/Off模块(4):断电指令:9;
On/Off模块(4):通电指令:10;
双路模块(5):时间:1:(0 99-12-11 11:20:31)七个字节BCD码;
双路模块(5):设备自检指令:2;
双路模块(5):查询自检结果:3;
双路模块(5):上报自检结果:4:1byte为11111111结果正常,若有对应端口值为0该端口不正常;
双路模块(5):数据查询:5;
双路模块(5):数据应答:6;(校验正确:1/校验不正确:0);
双路模块(5):状态查询:7;
双路模块(5):状态上传:8:电源状态(通电:1/断电:0);
双路模块(5):断电:9;
双路模块(5):通电:10;
面板类(6):时间下传:1:(0 99-12-11 11:20:31)七个字节BCD码;
面板类(6):设备自检指令:2;
面板类(6):查询自检结果:3;
面板类(6):上报自检结果:结果(正常:1/不正常:0);
面板类(6):数据查询:5;
面板类(6):数据应答:6:(校验正确:1/校验不正确:0);
酒店客房场景类(7):场景On:1:场景编号;
酒店客房场景类(7):场景Off:0;
酒店客房场景类(7):场景up:2;
酒店客房场景类(7):场景down:3;
酒店客房I/O控制类(8):有效:1:(服务IO类编号:1 DND2 MC3 MUR4门铃);
酒店客房I/O控制类(8):无效:0;
电源输出On/Off控制器(9):时间:1:(0 99-12-11 11:20:31)七个字节BCD码;
电源输出On/Off控制器(9):设备自检指令:2;
电源输出On/Off控制器(9):查询自检结果:3;
电源输出On/Off控制器(9):上报自检结果:4:1结果(正常/不正常);
电源输出On/Off控制器(9):数据查询:5;
电源输出On/Off控制器(9):数据应答:6:1(校验正确/校验不正确);
电源输出On/Off控制器(9):状态查询:7;
电源输出On/Off控制器(9):状态上传:8:电源状态(通电:1/断电:0);
电源输出On/Off控制器(9):通电指令:9;
电源输出On/Off控制器(9):断电指令:10;
窗帘类低压控制模块(10):时间:1:(0 99-12-11 11:20:31)七个字节BCD码;
窗帘类低压控制模块(10):设备自检指令:2;
窗帘类低压控制模块(10):查询自检结果:3;
窗帘类低压控制模块(10):上报自检结果:4:1byte为11111111结果正常,若有对应端口值为0该端口不正常;
窗帘类低压控制模块(10):数据查询:5;
窗帘类低压控制模块(10):数据应答:6:(校验正确:1/校验不正确:0);
窗帘类低压控制模块(10):状态查询:7;
窗帘类低压控制模块(10):状态上传:8:1电源状态(通电:1/断电:0)2幅度参数(%);
窗帘类低压控制模块(10):开窗帘:9:无;
窗帘类低压控制模块(10):关窗帘:10:无;
窗帘类低压控制模块(10):步进开帘(没幅度参数):11;
窗帘类低压控制模块(10):步进闭帘(没幅度参数):12;
窗帘类低压控制模块(10):步进开帘(有幅度参数):13:1幅度参数(百分数);
窗帘类低压控制模块(10):步进闭帘(有幅度参数):14:1幅度参数(百分数);
非接触IC卡门钥盒模块(11):时间:1:(0 99-12-11 11:20:31)七个字节BCD码;
非接触IC卡门钥盒模块(11):设备自检指令:2;
非接触IC卡门钥盒模块(11):查询自检结果:3;
非接触IC卡门钥盒模块(11):上报自检结果:4:结果(正常:1/不正常:0);
非接触IC卡门钥盒模块(11):数据查询:5;
非接触IC卡门钥盒模块(11):数据应答:6:(校验正确:1/校验不正确:0);
非接触IC卡门钥盒模块(11):状态查询:7:无;
非接触IC卡门钥盒模块(11):状态上传:8:1卡号 2事件时间 3事件类型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200710072872 CN101047715A (zh) | 2007-01-18 | 2007-01-18 | 数据通讯编码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200710072872 CN101047715A (zh) | 2007-01-18 | 2007-01-18 | 数据通讯编码方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101047715A true CN101047715A (zh) | 2007-10-03 |
Family
ID=38771925
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200710072872 Pending CN101047715A (zh) | 2007-01-18 | 2007-01-18 | 数据通讯编码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101047715A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541789A (zh) * | 2010-12-24 | 2012-07-04 | 英属开曼群岛商恒景科技股份有限公司 | 串行通讯系统及其控制方法 |
CN104247326A (zh) * | 2012-04-17 | 2014-12-24 | 德商倍福自动化有限公司 | 现场总线数据传输 |
CN103336511B (zh) * | 2013-06-27 | 2015-10-21 | 西安空间无线电技术研究所 | 一种开关矩阵通用化控制系统及控制方法 |
CN105119957A (zh) * | 2015-07-10 | 2015-12-02 | 普联技术有限公司 | 用于智能设备的信息传递方法及装置 |
CN106375470A (zh) * | 2016-09-29 | 2017-02-01 | 深圳前海弘稼科技有限公司 | 信息传输方法和信息传输系统 |
CN107968698A (zh) * | 2017-11-27 | 2018-04-27 | 中国铁道科学研究院通信信号研究所 | 一种基于mvb总线的通用安全通信方法 |
CN108255946A (zh) * | 2017-12-13 | 2018-07-06 | 东莞市奥海科技股份有限公司 | 一种镭雕设备的编码管理方法及装置、设备及存储介质 |
CN110312254A (zh) * | 2019-06-25 | 2019-10-08 | 深圳市浩科电子有限公司 | 一种服务器和终端进行通信的数据传输方法 |
CN112363479A (zh) * | 2020-12-09 | 2021-02-12 | 南昌航空大学 | 一种现场设备间的数字通信传输方法及系统 |
CN115361094A (zh) * | 2022-08-18 | 2022-11-18 | 合肥美菱物联科技有限公司 | 一种冰箱通讯方法 |
-
2007
- 2007-01-18 CN CN 200710072872 patent/CN101047715A/zh active Pending
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541789A (zh) * | 2010-12-24 | 2012-07-04 | 英属开曼群岛商恒景科技股份有限公司 | 串行通讯系统及其控制方法 |
US10438002B2 (en) | 2012-04-17 | 2019-10-08 | Beckhoff Automation Gmbh | Field-bus data transmission |
CN104247326A (zh) * | 2012-04-17 | 2014-12-24 | 德商倍福自动化有限公司 | 现场总线数据传输 |
CN104247326B (zh) * | 2012-04-17 | 2018-09-04 | 德商倍福自动化有限公司 | 现场总线数据传输 |
CN103336511B (zh) * | 2013-06-27 | 2015-10-21 | 西安空间无线电技术研究所 | 一种开关矩阵通用化控制系统及控制方法 |
CN105119957A (zh) * | 2015-07-10 | 2015-12-02 | 普联技术有限公司 | 用于智能设备的信息传递方法及装置 |
CN106375470A (zh) * | 2016-09-29 | 2017-02-01 | 深圳前海弘稼科技有限公司 | 信息传输方法和信息传输系统 |
CN107968698A (zh) * | 2017-11-27 | 2018-04-27 | 中国铁道科学研究院通信信号研究所 | 一种基于mvb总线的通用安全通信方法 |
CN108255946A (zh) * | 2017-12-13 | 2018-07-06 | 东莞市奥海科技股份有限公司 | 一种镭雕设备的编码管理方法及装置、设备及存储介质 |
CN110312254A (zh) * | 2019-06-25 | 2019-10-08 | 深圳市浩科电子有限公司 | 一种服务器和终端进行通信的数据传输方法 |
CN112363479A (zh) * | 2020-12-09 | 2021-02-12 | 南昌航空大学 | 一种现场设备间的数字通信传输方法及系统 |
CN112363479B (zh) * | 2020-12-09 | 2022-04-08 | 南昌航空大学 | 一种现场设备间的数字通信传输方法及系统 |
CN115361094A (zh) * | 2022-08-18 | 2022-11-18 | 合肥美菱物联科技有限公司 | 一种冰箱通讯方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101047715A (zh) | 数据通讯编码方法 | |
CN1183717C (zh) | 桥连HAVi子网络和UPnP子网络的方法及实施所述方法的装置 | |
CN101056208A (zh) | 业务跟踪方法、网络设备、o&m控制器、业务请求装置 | |
CN1143481C (zh) | 电子设备、控制其操作的方法及控制方法 | |
CN1863156A (zh) | 通过分组网络提供时钟同步的方法和系统 | |
CN1643464A (zh) | 用于集中监控工厂的设备和方法 | |
CN1832407A (zh) | 遥测数据的类属收集和传递 | |
CN1110484A (zh) | 用于空调器的驱动控制装置 | |
CN101060427A (zh) | 实现远程软件升级的系统及方法 | |
CN101052167A (zh) | 一种通信号码自动更新系统及其实现方法 | |
CN1323149A (zh) | 信息处理装置和方法、信息处理系统和介质 | |
CN1770708A (zh) | 信息处理系统和方法、电子装置和计算机可读程序 | |
CN1685664A (zh) | 具有诊断计算机节点的计算机网络 | |
CN1787459A (zh) | 一种下发命令的方法和系统 | |
CN1340943A (zh) | 用于通信网络的通信协议转换连接器和室内通信网络系统 | |
CN101035027A (zh) | 网管接口信息交互方法、装置及通知上报方法 | |
CN1701629A (zh) | 音频放大器本地接口系统 | |
CN1602615A (zh) | 分组路由设备和分组路由方法 | |
CN1631017A (zh) | 发送装置、接收装置和发送/接收装置 | |
CN1486559A (zh) | 信息处理设备和信息处理方法 | |
CN1835508A (zh) | 转发与控制分离网络件内信息交换的方法 | |
CN1756161A (zh) | 设备远程维护系统及方法 | |
CN1885811A (zh) | 一种快速生成网络设备树状拓扑结构的方法 | |
CN1495622A (zh) | 信息输出系统 | |
CN1604582A (zh) | 支持工业通信协议的现场智能单元及其操作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20071003 |