熟练掌握C/C++开发语言,面向对象编程、多线程编程、STL及常用数据结构,3年开发经验;熟练掌握QT程序开发,熟练使用QtCreator,精通Qt库开发,2年开发经验;熟练掌握编译原理,编译过程中的词法检查、语法分析等原理,有相关代码开发经验;
熟练掌握MFC程序开发;擅长上位机软件开发,包括软件UI界面设计、底层逻辑开发和TCP/UDP通讯。
项目名称:FA-AutoThink可编程控制软件
工作内容:FA-AutoThink--PLC编程工具开发工作,主要负责FA-AutoThink V4版本(支持跨平台,支持Windows、Linux等操作系统)的开发工作和FA-AutoThink V3(Windows操作系统)版本的维护工作。
主要开发工作项:
软件IEC模块:
1. ST (文本高级语言):独立负责ST语言全部功能的开发工作,包括UI界面和底层逻辑数据。ST语言程序单元POU的UI设计,文本编辑器(基于Qt平台下QScintilla文本编辑器的二次开发)的离线、在线视图及功能;基于lex的词法检查,使用常用数据结构--树,进行语法翻译、编译生成中间语法树;在线变量收集(包含调试模式和非调试模式的不同处理)和刷新;断点调试,主要处理对用户断点信息的下发和对PLC反馈断点信息的处理(包括界面和底层数据);变量自动声明(涉及未编译情况下对用户文本信息的初步词法分析)、输入助手、POU导入导出。
2. LD(图形语言-梯形图):基于Qt的Graphics View Framework(图形视图框架)对语言的各个元件开发,包括各个元件绘制,视图、场景及Item之间的交互;输入助手、变量自动声明、POU导入导出;
软件框架模块:
工程在线及各个视图刷新管理;用户断点调试操作对在线模块和IEC模块的处理;断点调试对断点增删的改处理和调用栈的UI及底层数据刷新。