发明内容
本发明所要解决的技术问题是:提供一种可扩展协议的通用安防设备控制方法,可实现对多种不同协议的设备的灵活控制。
另外,本发明进一步提供上述可扩展协议的通用安防设备控制方法的控制系统。
为解决上述技术问题,本发明采用如下技术方案:
一种可扩展协议的通用安防设备控制方法,所述方法包括如下步骤:
A、分析协议格式;
B、按自定义的格式存储设备协议驱动格式至外部记录;使用自定义的格式定义各种对应的设备协议动作,对控制动作定义数据类型、数据格式、偏移量、数据范围,用于格式化组织设备协议;
C、对自定义的设备协议格式驱动记录进行分析,将控制动作的固定格式和非固定格式数据进行组合,形成控制设备的协议命令。
作为本发明的一种优选方案,所述方法进一步包括:
协议控制扩展更新步骤,对各个控制动作对应的协议格式进行修改或增加,将更新的协议驱动格式以文件的方式保存上载到对应的服务器;
协议控制扩展配置步骤,对相应的设备指定设备控制协议驱动进行配置选择;
协议控制执行步骤,对自定义的设备协议格式驱动记录进行分析,将控制动作的固定格式和非固定格式数据进行组合成协议码,形成控制设备的协议命令,控制相应的设备。
作为本发明的一种优选方案,所述协议控制执行步骤中,使用对自定义的设备协议格式驱动记录的更新状态进行分析,对设备写驱动的改动实时的应用到设备的控制上。
作为本发明的一种优选方案,步骤B中,将控制协议的动作进行分析和细化,提取出协议中每个字节甚至是字节对应的比特位的具体组成形式,定义出各种数据类型和格式。
作为本发明的一种优选方案,步骤C中,组合后的数据成为特定设备可以识别的动作参数大小确定的动作协议码,为ASCII字符串或各种进制的ASCII码串,其中协议码里包含了动作类型、动作参数、设备标识符号、设备输入输出端口号、插槽号中的一种或多种;所包含的动作包括:上下左右转动、各种斜方向转动、变焦远近、聚焦远近、光圈大小、预置位设置调用、摄像机切换中的一种或多种。
作为本发明的一种优选方案,所述控制协议的动作包含如下动作的一种或多种:停止、右转、左转、上转、下转、右上转、右下转、左上转、左下转、变焦近、变焦远、聚焦近、聚焦远、光圈大、光圈小、设置预置位、调用预置位、清除预置位、开关开、开关关、清洗、雨刷、发播、停发、请求资源、释放资源、复位、重启、增益、快门、扩展控制、切换、登入验证、登出、以及相应动作的停止;
所述协议所述控制动作定义数据类型包含如下数据类型的一种或多种:常量——CONST、站点号/远端ID——SITEID、输入端口号INPUTPORT、输出端口号OUTPUTPORT、地址码ADDRESSCODE、输入插槽号INPUTSLOTNUM、输出插槽号OUTPUTSLOTNUM、对端IP——PEERIP、端口号PEERPORT、云台水平速度PANSPEED、云台垂直速度TILTSPEED、一般形式速度SPEED、预置位VIEWNO、校验和CHECKSUN、异或校验CHECKXOR、与标志量ANDFLAG、或标志量ORFLAG、年份YEAR、月份MONTH、日期DATE、小时HOUR、分钟MINUTE、秒SECOND、用户名USERNAME、验证码PASSWORD;
所述控制动作定义数据格式包含如下数据格式的一种或多种:ASCII字符——CHAR、ASCII码——ASCII、HEX+ASCII码——HEXASCII、DEC+ASCII码——DECASCII、HEX+ASCII字符——HEXCHAR、DEC+ASCII字符——DECCHAR、ASCII字符串——STRASCII。
作为本发明的一种优选方案,所述控制动作支持任意的数据长度和格式,将不变化的值的部分按常量CONST和对应数据格式确定,变化的值的部分选择好对应的数据类型和数据格式填充预留位置,相应的值留空,待运行时根据动作请求参数计算并填充;所述控制动作还定义了偏移量和范围值,对所述动作对应的各个固定和可变值的确定进行计算和限制。
作为本发明的一种优选方案,协议控制扩展更新步骤中,以直观的界面形式呈现给用户,用户在线获取对应服务器的所有驱动信息,打开后即可看到各个动作对应的协议格式,用户可对任意动作进行修改,完成修改后将更新的协议驱动格式以文件的发式保存上载到对应的服务器。
一种使用上述可扩展协议的通用安防设备控制方法的控制系统,所述系统包括:
协议分析模块,用以分析协议格式;
协议定义模块,按自定义的格式存储设备协议驱动格式至外部记录;使用自定义的格式定义各种对应的设备协议动作,对控制动作定义数据类型、数据格式、偏移量、数据范围,用于格式化组织设备协议;
协议控制扩展更新模块,用以对各个控制动作对应的协议格式进行修改或增加,将更新的协议驱动格式以文件的方式保存上载到对应的服务器;
协议控制扩展配置模块,用以对相应的设备指定设备控制协议驱动进行配置选择;
组合模块,用以对自定义的设备协议格式驱动记录进行分析,将控制动作的固定格式和非固定格式数据进行组合,形成控制设备的协议命令;
协议控制执行模块,用以对自定义的设备协议格式驱动记录进行分析,将控制动作的固定格式和非固定格式数据进行组合成协议码,形成控制设备的协议命令,控制相应的设备。
作为本发明的一种优选方案,所述协议控制扩展更新模块以直观的界面形式呈现给用户,用户在线获取对应服务器的所有驱动信息,打开后即可看到各个动作对应的协议格式,用户可对任意动作进行修改,完成修改后将更新的协议驱动格式以文件的发式保存上载到对应的服务器。
作为本发明的一种优选方案,对控制动作对应的协议格式进行修改时,所述协议控制扩展更新模块改变某个控制动作的取值,在下次请求动作时,所述协议控制执行模块对相应的配置协议文件进行分析,动态解析并保存相关动作格式信息,将该动作格式信息和相关的动作参数进行计算组合,形成准确可用的控制协议命令,发送并控制对应设备;对控制动作对应的协议格式进行增加时,所述协议控制扩展更新模块在线新建脚本驱动,完成建立后保存上载到对应服务器,同时使用所述协议控制扩展配置模块配置选择具体设备相应的控制协议类型,配置完成后会在系统的存储媒体进行保存,控制协议执行模块根据协议类型匹配选择对应的驱动脚本文件。
作为本发明的一种优选方案,所述控制协议执行模块在控制动作时首先判断驱动文件的状态,若驱动文件修改状态改变,则重新分析动作格式并在内存中生成动作格式模型,然后组合控制码控制设备;如果驱动文件没有改变则使用先前已经解析的格式模型进行组码。
本发明的有益效果在于:本发明提出的可扩展协议的通用安防设备控制方法及系统,增强了系统的扩展性,维护性,降低了开发和部署成本,并且给用户以更好的用户体验。
具体实施方式
下面结合附图详细说明本发明的优选实施例。
实施例一
请参阅图1,本发明揭示一种可扩展协议的通用安防设备控制方法,所述方法包括如下步骤:
【步骤一】分析协议格式。
【步骤二】按自定义的格式存储设备协议驱动格式至外部记录。
使用自定义的格式定义各种对应的设备协议动作,对控制动作定义数据类型、数据格式、偏移量、数据范围,用于格式化组织设备协议。
虽然各种控制协议有各自特定的格式,但是就某个特定的控制协议本身而言每个具体的动作的格式是相对确定的。根据这样的思路本发明的协议控制设计方法将控制协议的动作进行分析和细化,提取出协议中每个字节甚至是字节对应的比特位的具体组成形式,定义出各种数据类型和格式。
所述控制协议的动作包含如下动作的一种或多种:停止、右转、左转、上转、下转、右上转、右下转、左上转、左下转、变焦近、变焦远、聚焦近、聚焦远、光圈大、光圈小、设置预置位、调用预置位、清除预置位、开关开、开关关、清洗、雨刷、发播、停发、请求资源、释放资源、复位、重启、增益、快门、扩展控制、切换、登入验证、登出、以及相应动作的停止;
所述协议所述控制动作定义数据类型包含如下数据类型的一种或多种:常量——CONST、站点号/远端ID——SITEID、输入端口号INPUTPORT、输出端口号OUTPUTPORT、地址码ADDRESSCODE、输入插槽号I NPUTSLOTNUM、输出插槽号OUTPUTSLOTNUM、对端IP——PEERIP、端口号PEERPORT、云台水平速度PANSPEED、云台垂直速度TILTSPEED、一般形式速度SPEED、预置位VIEWNO、校验和CHECKSUN、异或校验CHECKXOR、与标志量ANDFLAG、或标志量ORFLAG、年份YEAR、月份MONTH、日期DATE、小时HOUR、分钟MINUTE、秒SECOND、用户名USERNAME、验证码PASSWORD;
所述控制动作定义数据格式包含如下数据格式的一种或多种:ASCII字符——CHAR、ASCII码——ASCII、HEX+ASCII码——HEXASCII、DEC+ASCII码——DECASCII、HEX+ASCII字符——HEXCHAR、DEC+ASCII字符——DECCHAR、ASCII字符串——STRASCII。
所述控制动作支持任意的数据长度和格式,将不变化的值的部分按常量CONST和对应数据格式确定,变化的值的部分选择好对应的数据类型和数据格式填充预留位置,相应的值留空,待运行时根据动作请求参数计算并填充;所述控制动作还定义了偏移量和范围值,对所述动作对应的各个固定和可变值的确定进行计算和限制。
【步骤三】协议控制扩展更新步骤。
对各个控制动作对应的协议格式进行修改或增加,将更新的协议驱动格式以文件的方式保存上载到对应的服务器。
更新步骤中,以直观的界面形式呈现给用户,用户在线获取对应服务器的所有驱动信息,打开后即可看到各个动作对应的协议格式,用户可对任意动作进行修改,完成修改后将更新的协议驱动格式以文件的发式保存上载到对应的服务器。
本发明所述协议控制扩展更新模块通过文件传输协议对系统目前支持的协驱动议进行获取,并且对控制协议的各种动作以直观的按钮体现出来。用户需要对某一动作进行修改时直接点击按键,此动作对应的协议格式则直观的呈现出来,选择格式类型,输入数值等即可完成配置,并且提供快速复制的功能,提供了方便快捷的操作。同时可以新建驱动协议,然后对动作的具体格式进行添加,完成新建驱动的操作。当修改或添加完成后,点击保存,本发明所述协议控制扩展更新模块则会将各种控制动作按照本发明所述的协议控制设计方法所定义出各种数据类型和格式进行存储。同时协议控制扩展更新模块会通过文件传输协议自动上载到服务器中。
【步骤四】协议控制扩展配置步骤。
对相应的设备指定设备控制协议驱动进行配置选择,配置选择具体设备相应的控制协议类型,配置完成后会在系统的存储媒体进行保存,控制协议执行模块会根据协议类型匹配选择对应的驱动脚本文件。
【步骤五】对自定义的设备协议格式驱动记录进行分析,将控制动作的固定格式和非固定格式数据进行组合,形成控制设备的协议命令。
组合后的数据成为特定设备可以识别的动作参数大小确定的动作协议码,一般为ASCII字符串或各种进制的ASCII码串等,其中协议码里包含了动作类型,动作参数,设备标识符号,设备输入输出端口号,插槽号等等。所包含的动作一般有:上下左右转动、各种斜方向转动、变焦远近、聚焦远近、光圈大小、预置位设置调用、摄像机切换等等。
【步骤六】协议控制执行步骤。
对自定义的设备协议格式驱动记录进行分析,将控制动作的固定格式和非固定格式数据进行组合成协议码,形成控制设备的协议命令,控制相应的设备。
其中,使用对自定义的设备协议格式驱动记录的更新状态进行分析,对设备写驱动的改动实时的应用到设备的控制上。
控制协议执行模块在控制动作时首先判断驱动文件的状态,若驱动文件修改状态改变,则重新分析动作格式并在内存中生成动作格式模型,然后组合控制码控制设备,如果驱动文件没有改变则使用先前已经解析的格式模型进行组码,提高了效率。从而实现了系统的在线更新,实时生效,不必重启控制系统。
以上介绍了本发明可扩展协议的通用安防设备控制方法的控制流程,本发明在揭示上述可扩展协议的通用安防设备控制方法的同时,还揭示了上述控制方法的控制系统;请参阅图2,所述系统包括协议分析模块1、协议定义模块2、协议控制扩展更新模块3、协议控制扩展配置模块4、组合模块5、协议控制执行模块6。
协议分析模块1用以分析协议格式。
协议定义模块2中,按自定义的格式存储设备协议驱动格式至外部记录;使用自定义的格式定义各种对应的设备协议动作,对控制动作定义数据类型、数据格式、偏移量、数据范围,用于格式化组织设备协议。
协议控制扩展更新模块3用以对各个控制动作对应的协议格式进行修改或增加,将更新的协议驱动格式以文件的方式保存上载到对应的服务器。
所述协议控制扩展更新模块3以直观的界面形式呈现给用户,用户在线获取对应服务器的所有驱动信息,打开后即可看到各个动作对应的协议格式,用户可对任意动作进行修改,完成修改后将更新的协议驱动格式以文件的发式保存上载到对应的服务器。
对控制动作对应的协议格式进行修改时,所述协议控制扩展更新模块3改变某个控制动作的取值,在下次请求动作时,所述协议控制执行模块对相应的配置协议文件进行分析,动态解析并保存相关动作格式信息,将该动作格式信息和相关的动作参数进行计算组合,形成准确可用的控制协议命令,发送并控制对应设备。对控制动作对应的协议格式进行增加时,所述协议控制扩展更新模块3在线新建脚本驱动,完成建立后保存上载到对应服务器,同时使用所述协议控制扩展配置模块配置选择具体设备相应的控制协议类型,配置完成后会在系统的存储媒体进行保存,控制协议执行模块根据协议类型匹配选择对应的驱动脚本文件。
协议控制扩展配置模块4用以对相应的设备指定设备控制协议驱动进行配置选择。
组合模块5用以对自定义的设备协议格式驱动记录进行分析,将控制动作的固定格式和非固定格式数据进行组合,形成控制设备的协议命令。
协议控制执行模块6用以对自定义的设备协议格式驱动记录进行分析,将控制动作的固定格式和非固定格式数据进行组合成协议码,形成控制设备的协议命令,控制相应的设备。
所述控制协议执行模块6在控制动作时首先判断驱动文件的状态,若驱动文件修改状态改变,则重新分析动作格式并在内存中生成动作格式模型,然后组合控制码控制设备;如果驱动文件没有改变则使用先前已经解析的格式模型进行组码。
本发明可广泛应用于安防监控领域的设备控制,快速方便的兼容多种厂家的设备控制协议,尤其是控制球机、摄像机、云台、矩阵、外部系统。
综上所述,本发明提出的可扩展协议的通用安防设备控制方法及系统,增强了系统的扩展性,维护性,降低了开发和部署成本,并且给用户以更好的用户体验。
实施例二
本发明揭示了一种可扩展协议的通用安防设备控制方法及对应的控制系统。
本发明的协议控制设计方法对安防监控设备的常规动作和设置进行组织整理和扩展。通过提取协议的固定类型和动态变化量,抽象出具体动作的协议格式,制定出一种易于扩展和维护的格式存储机制。
本发明控制系统主要包括协议控制扩展更新系统、协议控制扩展配置系统、控制执行系统。
控制执行系统通过解析存储的相应类型协议的动作格式组合成协议码,发送并控制相应的设备;这里的存储格式可以是任何自定义的文件格式。虽然各种控制协议有各自特定的格式,但是就某个特定的控制协议本身而言每个具体的动作的格式是相对确定的。根据这样的思路本发明所述的协议控制设计方法将控制协议的动作进行分析和细化,提取出协议中每个字节甚至是字节对应的比特位的具体组成形式,定义出各种数据类型和格式。
上述协议控制设计方法的动作包含停止、右转、左转、上转、下转、右上转、右下转、左上转、左下转、变焦近、变焦远、聚焦近、聚焦远、光圈大、光圈小、设置预置位、调用预置位、清除预置位、开关开、开关关、清洗、雨刷、发播、停发、请求资源、释放资源、复位、重启、增益、快门、扩展控制、切换、登入验证、登出、以及相应动作的停止等等,这里是说明了基本控制动作,本发明所述设计思想并不局限于这些动作。
上述协议所述控制动作定义数据类型包含常量(CONST)、站点号/远端ID(SITEID)、输入端口号(INPUTPORT)、输出端口号(OUTPUTPORT)、地址码(ADDRESSCODE)、输入插槽号(INPUTSLOTNUM)、输出插槽号(OUTPUTSLOTNUM)、对端IP(PEERIP)、端口号(PEERPORT)、云台水平速度(PANSPEED)云台垂直速度(TILTSPEED)、一般形式速度(SPEED)、预置位(VIEWNO)、校验和(CHECKSUN)、异或校验(CHECKXOR)、与标志量(ANDFLAG)、或标志量(ORFLAG)、年份(YEAR)、月份(MONTH)、日期(DATE)、小时(HOUR)、分钟(MINUTE)、秒(SECOND)、用户名(USERNAME)、验证码(PASSWORD)等等。
上述协议所述控制动作定义数据格式包含ASCII字符(CHAR)、ASCII码(ASCII)、HEX+ASCII码(HEXASCII)、DEC+ASCII码(DECASCII)、HEX+ASCII字符(HEXCHAR)、DEC+ASCII字符(DECCHAR)、ASCII字符串(STRASCII)等等。
上述协议所述控制动作支持任意的数据长度和格式,将不变化的值的部分按常量(CONST)和对应数据格式确定下来,变化的值的部分选择好对应的数据类型和数据格式填充预留位置,相应的值留空,待运行时根据动作请求参数计算并填充,所述控制动作还定义了偏移量和范围值,对所述动作对应的各个固定和可变值的确定进行更为复杂的计算和限制。其中:
上述偏移量以字符串的格式编写支持各种算术运算和逻辑运算,如:“+”、“-”、“*”、“/”、“&”、“|”、“^”、“-”、“( )”、“>”、“<”等;并且支持变量操作以$开始标识一个变量,如:$SITEID为站点号/远端ID、$INPUTPORT为输入端口号、$OUTPUTPORT为输出端口号、$ADDRESSCODE为地址码、$INPUTSLOTNUM为输入插槽号、$OUTPUTSLOTNUM为输出插槽号、$ACTIONVALUE为动作参数值;支持作为当前动作数据类型变量的值;支持运算符优先级,使用( )可以改变优先级等等。
上述范围值可以将动作对应的位置所传递的值映射到特定设备所需要的范围值。
所述协议控制扩展更新系统以直观的界面形式呈现给用户,所见即所得,用户可以使用协议控制扩展更新系统在线获取对应服务器的所有驱动信息,打开后即可看到各个动作对应的协议格式,用户可以对任意动作进行修改,完成修改后可以点击保存,协议控制扩展更新系统会将更新的协议驱动格式以文件的方式保存上载到对应的服务器。比如改变了某个动作位的数值。在下次请求动作时本发明所述协议控制执行系统对相应的配置协议文件进行分析,动态解析并保存相关动作格式信息,和相关的动作参数进行计算组合,形成准确可用的控制协议命令,发送并控制对应设备。此过程中原有系统无需重新编译和部署,在线更新,即改即用,方便快捷。如果需要支持对新型协议的设备的控制,使用本发明所述协议控制扩展更新系统在线新建脚本驱动,完成建立后保存上载到对应服务器。
同时使用协议控制扩展配置系统配置选择具体设备相应的控制协议类型,配置完成后会在系统的存储媒体进行保存,控制协议执行系统会根据协议类型匹配选择对应的驱动脚本文件。
用户通过一用户操作设备控制系统对设备进行控制,所述控制协议执行系统根据用户的请求动作和以及动作参数变量,对相应的配置协议文件进行分析组合形成协议控制命令,控制对应的设备。
本发明所述协议控制扩展更新系统通过文件传输协议对系统目前支持的协驱动议进行获取,并且对控制协议的各种动作以直观的按钮体现出来。用户需要对某一动作进行修改时直接点击按键,此动作对应的协议格式则直观的呈现出来,选择格式类型,输入数值等即可完成配置,并且提供快速复制的功能,提供了方便快捷的操作。同时可以新建驱动协议,然后对动作的具体格式进行添加,完成新建驱动的操作。当修改或添加完成后,点击保存,本发明所述协议控制扩展更新系统则会将各种控制动作按照本发明所述的协议控制设计方法所定义出各种数据类型和格式进行存储。同时协议控制扩展更新系统会通过文件传输协议自动上载到服务器中。
控制协议执行系统在控制动作时首先判断驱动文件的状态,若驱动文件修改状态改变,则重新分析动作格式并在内存中生成动作格式模型,然后组合控制码控制设备,如果驱动文件没有改变则使用先前已经解析的格式模型进行组码,提高了效率。从而实现了系统的在线更新,实时生效,不必重启控制系统。
如果在现有系统里使用了本发明所叙述的高度可扩展协议的通用设备控制方法和系统,使用现有控制系统的用户如果需要修改更新原有设备的控制方式,或者添加对新型协议的设备控制,只需使用上述方法就可以达到完美的解决办法。原有的系统执行程序无需任何改动,只要增加修改相关协议控制格式即可。同时让没有任何编程基本的用户和维护人员可以轻松扩展原有系统对未知新型设备的支持。
与现有技术相比,本发明提供的一种高度可扩展协议的通用安防设备控制方法和系统,增强了系统的扩展性,维护性,降低了开发和部署成本,并且给用户以更好的用户体验。
实施例三
下面展示了某种类型的脚本驱动协议的一部分,包含了一个向上的动作:
<?xml version=″1.0″encoding=″utf-8″?>
<Driver>
<DriverInfo>
<version>SetBitMode v1.0</version>
<author>zlg</author>
<updatetime>20091026</updatetime>
</DriverInfo>
<up format=″byte″>
<Size>8</Size>
<Loop>0</Loop>
<Interval />
<Byte1>
<type>CONST</type>
<format>HEXASCII</format>
<value1>FF</value1>
<value2 />
<value3 />
<offset />
</Byte1>
<Byte2>
<type>ADDRESSCODE</type>
<format>HEXASCII</format>
<value1 />
<value2 />
<value3 />
<offset />
</Byte2>
<Byte3>
<type>ORFLAG</type>
<format>HEXASCII</format>
<value1>01</value1>
<value2 />
<value3 />
<offset />
</Byte3>
<Byte4>
<type>CONST</type>
<format>HEXASCII</format>
<value1>00</value1>
<value2 />
<value3 />
<offset />
</Byte4>
<Byte5>
<type>CONST</type>
<format>HEXASCII</format>
<value1>00</value1>
<value2 />
<value3 />
<offset />
</Byte5>
<Byte6>
<type speedrange=″00-3F″>TILTSPEED</type>
<format>HEXASCII</format>
<value1 />
<value2 />
<value3 />
<offset />
</Byte6>
<Byte7>
<type>CONST</type>
<format>HEXASCII</format>
<value1>00</value1>
<value2 />
<value3 />
<offset />
</Byte7>
<Byte8>
<type>CHECKSUM</type>
<format>HEXASCII</format>
<value1>2</value1>
<value2>7</value2>
<value3 />
<offset />
</Byte8>
</up>
…其他动作略
</Driver>
上述协议驱动格式数据保存了一个协议格式,以<Driver>和</Driver>作为格式的开始和结尾,以<DriverInfo>和</DriverInfo>作为开始和结尾定义协议的附加信息,包含version版本信息,包含author作者信息,包含updatetime更新时间信息,其中version可以标志动作的类型:LoopMode循环发码模式,SetBitMode置位发码模式,SetBitLoopMode置位循环发码模式。此示例包含了一个向上的动作,format=″byte″表示动作位的格式为字节,<Size>8</Size>表示动作包含8个字节的数据,<Loop>0</Loop>表示动作为非循环发码,<Interval/>表示动作为循环发码时的时间间隔。<Byte1>表示了动作位的第一个字节,<type>CONST</type>表示类型为常量<format>HEXASCII</format>表示格式为16进制ascii码,<value1>FF</value1>表示值为FF,<value2/><value3/>表示第二和第三个值未用到为空,<offset/>表示此动作位的偏移量计算值,第二字节<Byte2>中<type>ADDRESSCODE</type>表示此动作位数据类型为地址码,第三字节<Byte3>中<type>ORFLAG</type>表示此动作位数据类型为或标志量。在支持置位的设备协议中,实际控制时会将多条协议动作对应的或标志量组合成一条协议码,发送给物理设备,设备会同时进行多个动作的组合操作。第六字节<Byte6>中<type speedrange=″00-3F″>TILTSPEED</type>表示此动作位数据类型为垂直速度,速度范围为00-3F。第六字节<Byte8>中<type>CHECKSUM</type>表示此动作位数据类型为校验和,<value1>2</value1><value2>7</value2>表示第2到第7位为进行校验和的数据位。
本发明所述协议控制扩展更新系统在最终保存动作协议时,使用了上述协议驱动格式数据保存成了一个协议格式文件,以上描述了一个特定协议向上的动作格式定义和保存格式。
本发明所述控制协议执行系统在解析控制动作时分析了生成的协议脚本文件,提取格式,生成控制码。下面以上述的向上的动作格式为例简要说明解析控制过程:
控制协议执行系统收到用户的向上控制请求,寻找设备对应的控制驱动格式文件,解析提取出向上动作的格式类型,如果用户控制设备的地址为31,向上的速度为153(假定范围为0-255),根据动作的格式定义,第二个字节为地址码,组合成控制码的16进制值为0x1F,第六个字节为垂直速度,因为格式定义里限制了设备的速度范围<type speedrange=″00-3F″>,所以将速度153映射到0x00-0x3F之间得到38即0x26,第三个字节为或标志量,当前没有其他动作组合则取值即为0x01,第八个字节为校验和,取第2到第7位做校验和得值为0x1F+0x01+0x00+0x00+0x26+0x00=0x46。其他位置对应的值为常量,由脚本文件给出。最终我们得到了使地址为31的物理设备以153速度向上运动的控制协议,以16进制Ascii码表示为:0xFF 0x1F 0x01 0x00 0x00 0x26 0x00 0x46。给设备发送控制码,设备得以被控制。
当然具体的协议格式多种多样,这里只是取一个特定协议动作作一个简要说明,用以使读者更容易直观的理解本发明,具体处理方法灵活多变,配置方法多样,不同的协议会用到不同的配置定义方式,例如定义动作某个字节位的数据格式为DEC+ASCII字符(DECCHAR),可以由传递的值的大小动态变化协议字节长度,也可以由脚本配置固定长度,再如利用偏移量可以进行复杂的计算(($ADDRESSCODE-1)*2&32512)/256等等,有很大的灵活性。本发明所述控制协议执行系统根据具体的配置进行解析组合控制协议最终对设备进行控制。
这里本发明的描述和应用是说明性的,并非想将本发明的范围限制在上述实施例中。这里所披露的实施例的变形和改变是可能的,对于那些本领域的普通技术人员来说实施例的替换和等效的各种部件是公知的。本领域技术人员应该清楚的是,在不脱离本发明的精神或本质特征的情况下,本发明可以以其它形式、结构、布置、比例,以及用其它组件、材料和部件来实现。在不脱离本发明范围和精神的情况下,可以对这里所披露的实施例进行其它变形和改变。