CN110196715A - 一种代码生成系统及方法 - Google Patents

一种代码生成系统及方法 Download PDF

Info

Publication number
CN110196715A
CN110196715A CN201910557125.7A CN201910557125A CN110196715A CN 110196715 A CN110196715 A CN 110196715A CN 201910557125 A CN201910557125 A CN 201910557125A CN 110196715 A CN110196715 A CN 110196715A
Authority
CN
China
Prior art keywords
code
dbc
formatted file
signal
cloud server
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
Application number
CN201910557125.7A
Other languages
English (en)
Inventor
姚轶臣
马贺敏
环翾
艾陈
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Electric Vehicle Electronic System Co Ltd
Original Assignee
Shanghai Electric Vehicle Electronic System Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Electric Vehicle Electronic System Co Ltd filed Critical Shanghai Electric Vehicle Electronic System Co Ltd
Priority to CN201910557125.7A priority Critical patent/CN110196715A/zh
Publication of CN110196715A publication Critical patent/CN110196715A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种代码生成系统及方法,主要是利用云服务器以及终端。终端用于对服务器发送DBC格式文件,云服务器用于存储所述DBC格式文件并对DBC格式文件进行解析处理得到第一信息。云服务器包括代码生成模板,所述代码生成模板用于根据所述第一信息生成所述DBC格式文件对应的代码。利用云服务器也即利用云平台技术实时在线进行DBC格式文件的解析,并通过代码生成模板根据需要自动生成代码。避免了在研发过程中需要人工查看DBC格式文件,并按照其信号矩阵的内容手工编写仪表CAN通信模块的应用配置代码,大大减小了编程的难度,有效缩短研发周期,并且通过云平台生成代码可有效避免人工编程时出现的低级失误,可在一定程度程度上提高代码质量。

Description

一种代码生成系统及方法
技术领域
本发明涉及汽车电子领域,尤其是涉及一种代码生成系统及方法。
背景技术
CAN是控制器局域网络(Controller Area Network)的简称,是国际上应用最广泛的现场总线之一。CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,被广泛应用于汽车电子控制单元(ECU)网络当中,ECU是汽车专用微控制器,一个ECU一般负责一个或多个智能硬件设备。DBC格式文件是一种CAN报文信号格式和信号矩阵的标准格式,其中包含了一个车载网络中各ECU接收及发送的报文及信号具体内容。现有的汽车仪表嵌入式软件开发工作中需要人工查看DBC格式文件,按照其中信号矩阵的内容手工编写仪表CAN通信模块的应用配置代码。在现有技术中,针对嵌入式软件CAN相关代码的生成,缺乏有效的工具,尤其是利用云平台技术在线进行DBC格式文件解析和C语言代码生成的方法。
因此,需要提出一种代码生成系统及方法。
发明内容
本发明的目的在于提供一种代码生成系统及方法,用于解决现有技术中缺乏有效的工具,尤其是利用云平台技术在线进行DBC格式文件解析和C语言代码生成的方法的问题。
为了解决上述技术问题,本发明的第一方面提出一种代码生成系统,包括云服务器以及终端;
所述云服务器与所述终端双向通信,所述终端用于对所述云服务器发送DBC格式文件,所述云服务器用于存储所述DBC格式文件并对所述DBC格式文件进行解析处理得到第一信息;
所述云服务器包括代码生成模板,所述代码生成模板用于根据所述第一信息生成所述DBC格式文件对应的代码。
可选的,所述第一信息包括ECU节点、CAN报文记录格式、CAN信号名称、CAN信号起始位、CAN信号偏移量、CAN信号精度以及CAN信号长度。
可选的,所述代码包括C语言代码。
可选的,所述C语言代码包括程序文件和头文件。
可选的,所述终端为电脑或手机或平板电脑。
本发明的第二方面提出一种代码生成方法,利用上述特征描述中任一种代码生成系统,包括步骤:
S1:所述终端将所述DBC格式文件上传至所述云服务器并存储;
S2:所述云服务器解析处理所述DBC格式文件,并得到所述第一信息;
S3:所述代码生成模板根据所述第一信息生成所述DBC格式文件对应的代码。
可选的,所述S2步骤包括:所述云服务器解析处理所述DBC格式文件,分析所述DBC格式文件的内容,并得到所述第一信息,所述第一信息包括ECU节点、CAN报文记录格式、CAN信号名称、CAN信号起始位、CAN信号偏移量、CAN信号精度以及CAN信号长度。
可选的,所述S2步骤还包括:
S21:选择需要的ECU节点;
S22:选择需要的报文ID,并通过HTTP方式传输至所述云服务器。
可选的,所述S3步骤包括:
S31:所述云服务器逐条对所述报文ID对应的CAN信号进行处理并提取第一数据到缓存中;
S32:所述代码生成模板根据所述第一数据生成所述DBC格式文件对应的代码;
S32:判断所述报文ID对应的CAN信号是否处理完成,若是,则进入S33,若否,则返回S31;
S33:判断所述报文ID是否全部处理完成,若是,则结束,若否,则返回S31。
可选的,所述第一数据包括CAN信号名称、CAN信号起始位、CAN信号长度、CAN信号精度、CAN信号偏移量以及CAN信号描述。
可选的,还包括步骤S0:
用户登录以及权限认证。
可选的,所述S0包括:
S01:判断是否已注册过账号,若是,则进入S03,若否,则进入S02;
S02:注册账号以及设置密码;
S03:填写账号、密码以及验证码;
S04:判断账号、密码以及验证码是否正确,若是,则进入S1,若否,则刷新验证码并进入S03。
可选的,所述S1包括:
S11:上传所述DBC格式文件至所述云服务器;
S12:判断所述DBC格式文件是否是.dbc的后缀名,若是,则进入S13,若否,则返回S11;
S13:利用所述DBC格式文件生成带有当前用户信息的uuid标记文件并存储所述uuid标记文件。
可选的,所述用户信息包括账号以及用户uuid。
可选的,还包括S4:
将所述账号、所述用户uuid以及系统信息作为注释信息存储在所述代码中。
可选的,所述系统信息包括UTC时间戳、系统环境以及系统版本号。
可选的,还包括S5:
通过web动态刷新技术,在所述终端上显示处理成功状态并显示供下载的文件列表。
可选的,还包括S6:
退出当前用户账号。
本发明提出一种代码生成系统及方法,主要是利用云服务器以及终端。所述云服务器与所述终端双向通信,所述终端用于对所述云服务器发送DBC格式文件,所述云服务器用于存储所述DBC格式文件并对所述DBC格式文件进行解析处理得到第一信息。所述云服务器包括代码生成模板,所述代码生成模板用于根据所述第一信息生成所述DBC格式文件对应的代码。利用云服务器也即利用云平台技术实时在线进行DBC格式文件的解析,并通过代码生成模板根据需要自动生成代码。避免了在研发过程中需要人工查看DBC格式文件,并按照其信号矩阵的内容手工编写仪表CAN通信模块的应用配置代码,大大减小了编程的难度,有效缩短研发周期,并且通过云平台生成代码可有效避免人工编程时出现的低级失误,可在一定程度程度上提高代码质量。
附图说明
图1为本发明实施例提供的一种代码生成系统示意图;
图2为本发明实施例提供的一种代码生成方法流程示意图;
图3为本发明实施例提供的另一种代码生成方法流程示意图;
10-终端,20-云服务器,201-代码生成模板,202-数据库。
具体实施方式
下面将结合示意图对本发明的具体实施方式进行更详细的描述。根据下列描述和权利要求书,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
在本发明的描述中,需要理解的是,术语“中心”、“上”、“下”、“左”、“右”等指示的方位或者位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
如图1所示,本发明提出了一种代码生成系统,包括云服务器20以及终端10。所述云服务器20与所述终端10双向通信,所述终端10用于对所述云服务器发送DBC格式文件,所述云服务器20用于存储所述DBC格式文件并对所述DBC格式文件进行解析处理得到第一信息。所述云服务器20包括代码生成模板201,所述代码生成模板201用于根据所述第一信息生成所述DBC格式文件对应的代码。
用户可在终端10上利用web浏览器操作选取对应的DBC格式文件并上传文件到云服务器20中,具体操作过程为:通过点击选择文件按钮,系统弹出资源管理器文件选择输入框,由用户选取需要上传的DBC格式文件。需要注意的是,云服务器20包括一数据库202,云服务器20在成功接收到DBC格式文件后会存储到数据库202中相应的位置。然后,云服务器20会对DBC格式文件进行解析处理,这个过程是通过云服务器20中的解析软件来完成的。解析软件分析DBC格式文件中的内容,并可根据访问用户的不同,存储到数据库202的相应位置。利用云服务器20也即利用云平台技术实时在线进行DBC格式文件的解析,并通过代码生成模板201根据需要自动生成代码。避免了在研发过程中需要人工查看DBC格式文件,并按照其信号矩阵的内容手工编写仪表CAN通信模块的应用配置代码,大大减小了编程的难度,有效缩短研发周期,并且通过云平台生成代码可有效避免人工编程时出现的低级失误,可在一定程度程度上提高代码质量。
需要注意的是,在本发明实施例中,所述终端10可为电脑或手机或平板电脑等智能设备,只要是可以访问web浏览器的智能设备均可,在此不做限制。
可选地,所述第一信息包括ECU节点、CAN报文记录格式、CAN信号名称、CAN信号起始位、CAN信号偏移量、CAN信号精度以及CAN信号长度。
可选地,所述代码包括C语言代码。云服务器20对终端10上传的数据进行处理,提取需要进行代码生成的数据到缓存中,并调用代码生成模板201生成C语言代码字符串存放于缓存中。所述C语言代码可包括程序文件和头文件。在代码生成模板201生成C语言代码后,并将C语言代码,储存在.C和.H文件格式。
如图2所示,本发明实施例还提供一种代码生成方法,利用上述特征描述中任一种代码生成系统,包括步骤:
S1:所述终端10将所述DBC格式文件上传至所述云服务器20并存储;
S2:所述云服务器20解析处理所述DBC格式文件,并得到所述第一信息;
S3:所述代码生成模板201根据所述第一信息生成所述DBC格式文件对应的代码。
本发明提出的一种代码生成方法利用云服务器20也即利用云平台技术实时在线进行DBC格式文件的解析,并通过代码生成模板201根据需要自动生成代码。避免了在研发过程中需要人工查看DBC格式文件,并按照其信号矩阵的内容手工编写仪表CAN通信模块的应用配置代码,大大减小了编程的难度,有效缩短研发周期,并且通过云平台生成代码可有效避免人工编程时出现的低级失误,可在一定程度程度上提高代码质量。
可选地,所述S2步骤可包括:所述云服务器20解析处理所述DBC格式文件,分析所述DBC格式文件的内容,并得到所述第一信息,所述第一信息包括ECU节点、CAN报文记录格式、CAN信号名称、CAN信号起始位、CAN信号偏移量、CAN信号精度以及CAN信号长度。当在终端10上上传完所述DBC格式文件后,系统会自动对上传的文件进行解析,通过运行云服务器20中解析软件,分析DBC格式文件中的内容,包括:ECU节点、CAN报文记录格式、CAN信号名称、CAN信号起始位、CAN信号偏移量、CAN信号精度以及CAN信号长度等必要的信息,并还可将信息根据访问用户的不同,存储到所述云服务器20的数据库202的相应位置。
可选地,所述S2步骤还可包括:
S21:选择需要的ECU节点;
S22:选择需要的报文ID,并通过HTTP方式传输至所述云服务器20。
由于DBC格式文件中包含了整个CAN网络的数据,一个整车CAN网络中可能包含100多个ECU。在具体操作时,一般只需要DBC格式文件中的部分数据,因此,只要选择实际需要的ECU即可。云服务器20在解析完DBC格式文件后会在终端10上显示当DBC格式文件中包含的所有ECU列表以及单个ECU中的所有信息的列表。在web浏览器页面上,用户可通过按钮选框选择需要进行生成的ECU,并指定相应ECU发送或接收的报文ID,用户操作完成后,通过HTTP方式传输到云服务器20,所述HTTP方式即HTTP请求是指从客户端到服务器端的请求消息。云服务器20的软件通过对终端10端上传的数据进行处理,提取需要进行代码生成的数据到缓存中,并调用相应模板生成相应的代码存放于缓存中。
可选地,所述S3步骤包括:
S31:所述云服务器20逐条对所述报文ID对应的CAN信号进行处理并提取第一数据到缓存中;
S32:所述代码生成模板201根据所述第一数据生成所述DBC格式文件对应的代码;
S32:判断所述报文ID对应的CAN信号是否处理完成,若是,则进入S33,若否,则返回S31;
S33:判断所述报文ID是否全部处理完成,若是,则结束,若否,则返回S31。
所述云服务器20对S2步骤中选择好的报文ID逐条依次处理,每条报文ID中都包含有多个CAN信号,这些CAN信号里包括CAN信号名称、CAN信号起始位、CAN信号长度、CAN信号精度、CAN信号偏移量以及CAN信号描述。通过软件判断每条报文ID中的CAN信号是否已经完全处理完成,如果处理完成,就可以进入下一步。如果还没有处理完就要接着处理该条报文ID,需要注意的是,一般判断是否处理完成的准则是通过比较报文ID里包含的数组大小和已经处理的数组来得到是否已经处理完当前报文ID的所有数据,实际上这些报文ID可以理解为包含有很多数据的一个个数组,每个数组大小以及内容不尽相同,当处理当前报文ID时,会依次对数组里的数据进行处理,通过比较已处理完的数组大小和处理前数组大小就能得到是否已经处理完成。
然后判断当前已处理完成的报文ID是否是之前选择好的报文ID中的最后一条,如果是,那么可以结束当前处理过程,如果不是,那就要依次处理下一条报文ID。
进一步地,为了提高系统的安全和保密性,还可设置用户注册和登录鉴权机制。包括步骤S0:
用户登录以及权限认证。
具体地,所述S0包括:
S01:判断是否已注册过账号,若是,则进入S03,若否,则进入S02;
S02:注册账号以及设置密码;
S03:填写账号、密码以及验证码;
S04:判断账号、密码以及验证码是否正确,若是,则进入S1,若否,则刷新验证码并进入S03。
通过终端10的web浏览器页面访问后,需要进行用户登录及权限验证。本步骤中,如果用户未注册过系统,可以点击注册按钮注册,系统会根据用户填写的账号和密码,记录用户身份信息,在今后的登录当中即可使用。如果用户已经注册,当用户输入正确的账号、密码、验证码时,即可通过用户鉴权验证,获取系统访问和使用的权限。用户提交登录账号及密码后,云服务器20的用户鉴权软件会及对用户信息的合法性进行判断,若用户登录合法,则允许此次访问。否则,将会拒绝访问,并重新回到登录界面要求用户输入正确的账号和密码等信息,并在这一过程刷新验证码。
可选地,所述S1包括:
S11:上传所述DBC格式文件至所述云服务器20;
S12:判断所述DBC格式文件是否是.dbc的后缀名,若是,则进入S13,若否,则返回S11;
S13:利用所述DBC格式文件生成带有当前用户信息的uuid标记文件并存储所述uuid标记文件。
可选地,所述用户信息包括账号以及用户uuid。
通过在web浏览器中操作选取并上传文件到服务器的过程,具体为:通过点击选择文件按钮,系统弹出资源管理器文件选择输入框,由用户选取需要上传的DBC格式文件。系统会对用户选择的文件进行判断,若文件不是.dbc的后缀名,则禁止用户此次上传,需重新选择正确的文件上传。当成功选取文件后,用户点击上传,web浏览器将会上传用户文件。云服务器20软件收到文件上传请求后,会生成唯一uuid(通用唯一识别码,UniversallyUnique Identifier)标记文件,并将用户文件储存到指定位置,同时返回200状态码,这里的200状态码也即HTTP200状态码,是指服务器成功处理了请求,一般情况下都是返回此状态码。若文件上传成功,则进入到信号解析步骤。
可选地,还包括S4:
将所述账号、所述用户uuid以及系统信息作为注释信息存储在所述代码中。
可选地,所述系统信息包括UTC时间戳、系统环境以及系统版本号。
可选地,还包括S5:
通过web动态刷新技术,在所述终端10上显示处理成功状态并显示供下载的文件列表。
当DBC格式文件解析及代码生成操作完成时,通过web动态刷新技术,能使用户在终端10web浏览器看到处理成功的状态,并显示可供下载的文件列表。用户通过在终端10点击下载按钮,云服务器20则查找对应文件并通过HTTP Response方式返回,也即对所述终端10响应回复。用户可在浏览器查看和编辑代码,亦可将代码的文件包存放到本地进行操作。
可选地,还包括S6:
退出当前用户账号。退出用户账号服务有两种方式,用户终端10主动结束,关闭web浏览器被动结束。两种方式具体为,方式一:用户在终端10主动操作退出按钮,该用户退出登录,结束服务。方式二:当用户直接关闭web浏览器或直接断开连接时,系统检测Session是否过期,当Session过期时,操作结束本次服务。Session是指在计算机中,尤其是在网络应用中,称为“会话控制”。Session对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的web网页之间跳转时,存储在Session对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的web网页时,如果该用户还没有会话,则服务器将自动创建一个Session对象。当会话过期或被放弃后,服务器将终止该会话。Session对象最常见的一个用法就是存储用户的首选项。
如图3所示,为了更加具体地描述本发明提供的方法,本发明实施例还提供一种代码生成方法,步骤1:打开浏览器,输入对应的网址,即可进入系统访问界面。
步骤2:通过web浏览器页面访问后,需要进行用户登录及权限验证。本步骤中,如果用户未注册过系统,可以点击注册按钮注册,系统会根据用户填写的用户名和密码,记录用户身份信息,在今后的登录当中即可使用。如果用户已经注册,当用户输入正确的用户名、密码、验证码时,即可通过用户鉴权验证,获取系统访问和使用的权限。
步骤3:用户提交登录用户名及密码后,云服务器20的用户鉴权软件会及对用户信息的合法性进行判断,若用户登录合法,则允许此次访问。否则,将会拒绝访问,并重新回到登录界面要求用户输入正确的用户名和密码等信息,并在这一过程刷新验证码。
步骤4:通过在web浏览器中操作选取并上传文件到服务器的过程,具体为:通过点击选择文件按钮,系统弹出资源管理器文件选择输入框,由用户选取需要上传的DBC格式文件。系统会对用户选择的文件进行判断,若文件不是.dbc格式后缀名,则禁止用户此次上传,需重新选择正确的文件上传。当成功选取文件后,用户点击上传,web浏览器将会上传用户文件。云服务器20软件收到文件上传请求后,会生成唯一uuid标记文件,并将用户文件储存到指定位置,同时返回200状态码。若文件上传成功,则进入到信号解析步骤。
步骤5:当用户文件上传成功后,系统会自动对用户上传的文件进行解析,通过运行云服务器20的解析软件,分析DBC格式文件中的内容,并根据访问用户的不同,存储到数据库202相应位置。
步骤6:在终端10浏览器页面上,用户通过按钮选框选择需要进行生成的ECU,并指定相应ECU发送或接收的报文ID,终端10用户操作完成后,通过HTTP方式传输到云服务器20。云服务器20的软件通过对终端10上传的数据进行处理,提取需要进行代码生成的数据到缓存中,并调用相应模板生成C语言代码字符串存放于缓存中。
步骤7:对步骤6中选择的报文ID逐条进行解析,按顺序提取其中的信号内容(包括信号名称、信号起始位、信号长度、信号精度、信号偏移量、信号描述)并根据模板生成对应信号的代码。
步骤8:判断步骤7中处理的CAN信号,是否是所在CAN报文中的最后一条,若不是最后一条,则读取下一条信号,重新返回步骤7进行生成。若是最后一条,则进入步骤9。
步骤9:云服务器20判断当前处理的报文ID是否为最后一条,若否,则进入步骤7,继续调用相应模板,将CAN信号的信息生成为代码。若已经是最后一条有效报文,则进入步骤10。
步骤10:当用户指定的全部有效报文相对应的所有信号的代码已经生成成功,根据用户信息(包括用户名、用户uuid)和系统信息(包括UTC时间戳、系统环境、版本号)生成注释信息,完毕后,将C语言代码和注释信息字符串进行拼合,并把它们储存在.C和.H文件格式,根据用户uuid存储到硬盘中。
步骤11:当DBC格式文件解析及代码生成操作完成时,通过web动态刷新技术,能使用户在终端10浏览器看到处理成功的状态,并显示可供下载的文件列表。用户通过在终端10点击下载按钮,云服务器20则查找对应文件并通过HTTP Response方式返回,用户可在浏览器查看和编辑代码,亦可将zip文件包存放到本地进行操作。
步骤12:系统结束服务有两种方式,用户终端10主动结束,关闭web浏览器被动结束。两种方式具体为,方式一:用户在终端10主动操作退出按钮,该用户退出登录,系统结束服务,退出。方式二:当用户直接关闭web浏览器或直接断开连接时,系统检测session是否过期,当session过期时,操作结束本次服务,退出。
综上所述,本发明提出一种代码生成系统及方法,主要是利用云服务器以及终端。所述云服务器与所述终端双向通信,所述终端用于对所述云服务器发送DBC格式文件,所述云服务器用于存储所述DBC格式文件并对所述DBC格式文件进行解析处理得到第一信息。所述云服务器包括代码生成模板,所述代码生成模板用于根据所述第一信息生成所述DBC格式文件对应的代码。利用云服务器也即利用云平台技术实时在线进行DBC格式文件的解析,并通过代码生成模板根据需要自动生成代码。避免了在研发过程中需要人工查看DBC格式文件,并按照其信号矩阵的内容手工编写仪表CAN通信模块的应用配置代码,大大减小了编程的难度,有效缩短研发周期,并且通过云平台生成代码可有效避免人工编程时出现的低级失误,可在一定程度程度上提高代码质量。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”或“具体示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例中以合适的方式结合。此外,本领域的技术人员可以将本说明书中描述的不同实施例或示例进行接合和组合。
上述仅为本发明的优选实施例而已,并不对本发明起到任何限制作用。任何所属技术领域的技术人员,在不脱离本发明的技术方案的范围内,对本发明揭露的技术方案和技术内容做任何形式的等同替换或修改等变动,均属未脱离本发明的技术方案的内容,仍属于本发明的保护范围之内。

Claims (18)

1.一种代码生成系统,其特征在于,包括云服务器以及终端;
所述云服务器与所述终端双向通信,所述终端用于向所述云服务器发送DBC格式文件,所述云服务器用于存储所述DBC格式文件并对所述DBC格式文件进行解析处理得到第一信息;
所述云服务器包括代码生成模板,所述代码生成模板用于根据所述第一信息生成所述DBC格式文件对应的代码。
2.如权利要求1所述的一种代码生成系统,其特征在于,所述第一信息包括ECU节点、CAN报文记录格式、CAN信号名称、CAN信号起始位、CAN信号偏移量、CAN信号精度以及CAN信号长度。
3.如权利要求1所述的一种代码生成系统,其特征在于,所述代码包括C语言代码。
4.如权利要求3所述的一种代码生成系统,其特征在于,所述C语言代码包括程序文件和头文件。
5.如权利要求1所述的一种代码生成系统,其特征在于,所述终端为电脑或手机或平板电脑。
6.一种代码生成方法,其特征在于,利用权利要求1-5所述的任一种代码生成系统,包括步骤:
S1:所述终端将所述DBC格式文件上传至所述云服务器并存储;
S2:所述云服务器解析处理所述DBC格式文件,并得到所述第一信息;
S3:所述代码生成模板根据所述第一信息生成所述DBC格式文件对应的代码。
7.如权利要求6所述的一种代码生成方法,其特征在于,所述S2步骤包括:所述云服务器解析处理所述DBC格式文件,分析所述DBC格式文件的内容,并得到所述第一信息,所述第一信息包括ECU节点、CAN报文记录格式、CAN信号名称、CAN信号起始位、CAN信号偏移量、CAN信号精度以及CAN信号长度。
8.如权利要求7所述的一种代码生成方法,其特征在于,所述S2步骤还包括:
S21:选择需要的ECU节点;
S22:选择需要的报文ID,并通过HTTP方式传输至所述云服务器。
9.如权利要求8所述的一种代码生成方法,其特征在于,所述S3步骤包括:
S31:所述云服务器逐条对所述报文ID对应的CAN信号进行处理并提取第一数据到缓存中;
S32:所述代码生成模板根据所述第一数据生成所述DBC格式文件对应的代码;
S32:判断所述报文ID对应的CAN信号是否处理完成,若是,则进入S33,若否,则返回S31;
S33:判断所述报文ID是否全部处理完成,若是,则结束,若否,则返回S31。
10.如权利要求9所述的一种代码生成方法,其特征在于,所述第一数据包括CAN信号名称、CAN信号起始位、CAN信号长度、CAN信号精度、CAN信号偏移量以及CAN信号描述。
11.如权利要求6所述的一种代码生成方法,其特征在于,还包括步骤S0:
用户登录以及权限认证。
12.如权利要求11所述的一种代码生成方法,其特征在于,所述S0包括:
S01:判断是否已注册过账号,若是,则进入S03,若否,则进入S02;
S02:注册账号以及设置密码;
S03:填写账号、密码以及验证码;
S04:判断账号、密码以及验证码是否正确,若是,则进入S1,若否,则刷新验证码并进入S03。
13.如权利要求12所述的一种代码生成方法,其特征在于,所述S1包括:
S11:上传所述DBC格式文件至所述云服务器;
S12:判断所述DBC格式文件是否是.dbc的后缀名,若是,则进入S13,若否,则返回S11;
S13:利用所述DBC格式文件生成带有当前用户信息的uuid标记文件并存储所述uuid标记文件。
14.如权利要求13所述的一种代码生成方法,其特征在于,所述用户信息包括账号以及用户uuid。
15.如权利要求14所述的一种代码生成方法,其特征在于,还包括S4:
将所述账号、所述用户uuid以及系统信息作为注释信息存储在所述代码中。
16.如权利要求15所述的一种代码生成方法,其特征在于,所述系统信息包括UTC时间戳、系统环境以及系统版本号。
17.如权利要求16所述的一种代码生成方法,其特征在于,还包括S5:
通过web动态刷新技术,在所述终端上显示处理成功状态并显示供下载的文件列表。
18.如权利要求17所述的一种代码生成方法,其特征在于,还包括S6:
退出当前用户账号。
CN201910557125.7A 2019-06-25 2019-06-25 一种代码生成系统及方法 Pending CN110196715A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910557125.7A CN110196715A (zh) 2019-06-25 2019-06-25 一种代码生成系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910557125.7A CN110196715A (zh) 2019-06-25 2019-06-25 一种代码生成系统及方法

Publications (1)

Publication Number Publication Date
CN110196715A true CN110196715A (zh) 2019-09-03

Family

ID=67755206

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910557125.7A Pending CN110196715A (zh) 2019-06-25 2019-06-25 一种代码生成系统及方法

Country Status (1)

Country Link
CN (1) CN110196715A (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110704055A (zh) * 2019-09-06 2020-01-17 北京三快在线科技有限公司 接口前置的优化方法、装置、电子设备及存储介质
CN112379883A (zh) * 2020-11-10 2021-02-19 上海拿森汽车电子有限公司 一种代码文件生成方法、装置、设备及存储介质
CN112378420A (zh) * 2020-10-30 2021-02-19 北斗星通智联科技有限责任公司 用于汽车导航测试的信号模拟方法、系统及电子设备
CN112398825A (zh) * 2020-11-03 2021-02-23 北京亿马先锋汽车科技有限公司 Can通讯代码生成方法及装置
CN112988158A (zh) * 2021-02-03 2021-06-18 天翼物联科技有限公司 自动生成代码的服务工程构建方法、系统、装置及介质
CN113495752A (zh) * 2020-04-03 2021-10-12 中国科学院沈阳自动化研究所 一种基于工艺变更后代码快速重构的方法及系统
CN113741879A (zh) * 2021-08-30 2021-12-03 北京宇信科技集团股份有限公司 一种可视化开发平台、方法、介质和设备
CN113852530A (zh) * 2021-09-02 2021-12-28 东风汽车集团股份有限公司 一种can通信模块的快速创建方法及系统
CN113867818A (zh) * 2021-09-28 2021-12-31 潍柴动力股份有限公司 一种ini文件的生成方法、装置、计算机设备及介质
CN114755990A (zh) * 2022-04-25 2022-07-15 深圳市赛诺梵科技有限公司 一种工业自动化产线低代码控制系统及其控制方法
WO2024104217A1 (zh) * 2022-11-17 2024-05-23 达芬骑动力科技(北京)有限公司 Dbc动态自适应更新方法、装置、电子设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1953542A (zh) * 2006-11-03 2007-04-25 张帆 网络视频传输系统及其处理方法
CN101697120A (zh) * 2009-11-05 2010-04-21 河南辉煌科技股份有限公司 基于关系型数据库的j2ee代码生成方法
US20150007131A1 (en) * 2011-09-26 2015-01-01 Norman Ortiz System and Method for mobile application development using mobile devices
CN104331292A (zh) * 2014-11-03 2015-02-04 重庆邮电大学 一种车联网中间件协议转换的配置生成方法
CN105703990A (zh) * 2014-11-28 2016-06-22 联创汽车电子有限公司 车载控制器can通信报文解析方法和构建方法
CN106020191A (zh) * 2016-05-26 2016-10-12 百度在线网络技术(北京)有限公司 无人车的控制方法、装置及系统
CN108536435A (zh) * 2018-02-27 2018-09-14 宁波央腾汽车电子有限公司 一种自动生成can通信代码的方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1953542A (zh) * 2006-11-03 2007-04-25 张帆 网络视频传输系统及其处理方法
CN101697120A (zh) * 2009-11-05 2010-04-21 河南辉煌科技股份有限公司 基于关系型数据库的j2ee代码生成方法
US20150007131A1 (en) * 2011-09-26 2015-01-01 Norman Ortiz System and Method for mobile application development using mobile devices
CN104331292A (zh) * 2014-11-03 2015-02-04 重庆邮电大学 一种车联网中间件协议转换的配置生成方法
CN105703990A (zh) * 2014-11-28 2016-06-22 联创汽车电子有限公司 车载控制器can通信报文解析方法和构建方法
CN106020191A (zh) * 2016-05-26 2016-10-12 百度在线网络技术(北京)有限公司 无人车的控制方法、装置及系统
CN108536435A (zh) * 2018-02-27 2018-09-14 宁波央腾汽车电子有限公司 一种自动生成can通信代码的方法

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110704055A (zh) * 2019-09-06 2020-01-17 北京三快在线科技有限公司 接口前置的优化方法、装置、电子设备及存储介质
CN113495752B (zh) * 2020-04-03 2024-04-30 中国科学院沈阳自动化研究所 一种基于工艺变更后代码快速重构的方法及系统
CN113495752A (zh) * 2020-04-03 2021-10-12 中国科学院沈阳自动化研究所 一种基于工艺变更后代码快速重构的方法及系统
CN112378420A (zh) * 2020-10-30 2021-02-19 北斗星通智联科技有限责任公司 用于汽车导航测试的信号模拟方法、系统及电子设备
CN112398825A (zh) * 2020-11-03 2021-02-23 北京亿马先锋汽车科技有限公司 Can通讯代码生成方法及装置
CN112379883A (zh) * 2020-11-10 2021-02-19 上海拿森汽车电子有限公司 一种代码文件生成方法、装置、设备及存储介质
CN112988158A (zh) * 2021-02-03 2021-06-18 天翼物联科技有限公司 自动生成代码的服务工程构建方法、系统、装置及介质
CN113741879A (zh) * 2021-08-30 2021-12-03 北京宇信科技集团股份有限公司 一种可视化开发平台、方法、介质和设备
CN113852530B (zh) * 2021-09-02 2022-11-08 东风汽车集团股份有限公司 一种can通信模块的快速创建方法及系统
CN113852530A (zh) * 2021-09-02 2021-12-28 东风汽车集团股份有限公司 一种can通信模块的快速创建方法及系统
CN113867818A (zh) * 2021-09-28 2021-12-31 潍柴动力股份有限公司 一种ini文件的生成方法、装置、计算机设备及介质
CN113867818B (zh) * 2021-09-28 2024-04-16 潍柴动力股份有限公司 一种ini文件的生成方法、装置、计算机设备及介质
CN114755990A (zh) * 2022-04-25 2022-07-15 深圳市赛诺梵科技有限公司 一种工业自动化产线低代码控制系统及其控制方法
CN114755990B (zh) * 2022-04-25 2022-10-28 深圳市赛诺梵科技有限公司 一种工业自动化产线低代码控制系统及其控制方法
WO2024104217A1 (zh) * 2022-11-17 2024-05-23 达芬骑动力科技(北京)有限公司 Dbc动态自适应更新方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN110196715A (zh) 一种代码生成系统及方法
CN109766262B (zh) 接口数据处理方法、自动化测试方法、装置、设备和介质
CN105577691B (zh) 一种安全访问方法和服务器
CN105871838B (zh) 一种第三方账号的登录控制方法及用户中心平台
CN106936853A (zh) 一种面向系统集成的跨域单点登录系统及方法
CN109710533A (zh) 一种接口测试方法、装置及服务器
CN102368768B (zh) 认证方法、设备、系统及认证服务器
US7752322B2 (en) System for ubiquitous network presence and access without cookies
CN101316219A (zh) 用于控制虚拟网络连接的虚拟网络连接装置、系统和方法
CN103795762B (zh) 一种反向代理的测试方法及系统
CN101990183A (zh) 保护用户信息的方法、装置及系统
CN110110509A (zh) 权限管理方法及相关产品
CN106656919B (zh) 一种基于Telnet协议的会话解析方法及系统
US6785705B1 (en) Method and apparatus for proxy chaining
CN109783357A (zh) 测试应用程序的方法及装置、计算机设备、存储介质
CN106209727B (zh) 一种会话访问方法和装置
CN109194765A (zh) 请求控制方法、装置、计算机设备和存储介质
US8027435B2 (en) Method and system for protocol embedded automated test control
CN110231965A (zh) 一种云端设备、应用程序处理方法及电子设备
CN103957189B (zh) 应用程序之间的交互方法和装置
CN115529154A (zh) 登录管理方法、装置、电子装置及可读存储介质
CN112799970B (zh) 测试数据处理方法、装置、电子设备及介质
CN104767672A (zh) 一种账户关系建立方法及设备
CN105184559B (zh) 一种支付系统及方法
CN114610605A (zh) 测试方法、装置、终端设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20190903

WD01 Invention patent application deemed withdrawn after publication