陈善荣
责任心强,善于独立思考、自学能力强、英语水平六级、沟通能力好、专业基础较扎实,能吃苦,团队协作能力强,有近两年的带队开发经验;乐观开朗,比较喜欢充实的生活,对于压力有着许多应对的有效办法,比较喜欢C或者C++语言类型的开发。
- 技术能力:
- 工作态度:
- 工作成果:
项目意向
软件工程师,项目总监,项目经理,项目主管
640元
全程集中
北京
工作经验:
擅长技能:
C++、PHP
平台工作经历
其他工作经历
公司名称
杭州迪普科技有限公司
在职时间
2010-03-01 ~ 2019-01-01
职位名称
高级软件工程师
薪水
0/月
项目描述
软件/互联网开发/系统集成
个人职责
主要负责MPLS协议开发,目前已经实现了MPLS协议族内的所有基本功能,主要有LDP协议,普通域内MPLS转发,MPLS L3VPN和MPLS L2VPN;
LDP协议开发过程中采用DoD与Independent方式来分发标签,用自由标签保留方式来保存标签,支持PHP机制以及显示空标签机制,目前已实现的会话数量为1000左右,标签容量达到10万,所拥有的特性主要有标签策略控制、远端会话、环路检测以及LDP GR功能等。
域内MPLS转发目前采用FTN加ILM方案进行设计,支持PHP机制和显示空标签机制,内核表项存储结构为哈希,目前已支持MPLS MTU机制;
MPLS L3VPN采用VRF以及RD RT属性来分离不同的VPN机制实现PE之间的数据流转发,目前已开发出来的系统中支持1K的VRF设置;
MPLS L2VPN目前已实现了Martini方式和VPLS方式的L2VPN,所支持的报文封装模式有Ethernet接入 Raw模式、Ethernet接入Tag模式、Vlan接入Raw模式、Vlan接入Tag模式等,其中Martini方式的L2VPN转发表项采用链表存储,而VPLS方式的表现则采用5阶B+树。在VPLS方式的L2VPN中支持MAC地址的动态老化以及回收,控制协议采用LDP,通过支持远端会话来实现VC表项的学习,同时支持Mac List Tlv等。
MPLS TE采用RSVP-TE来实现,目前已经实现的有ERO、RRO、CSPF、FRR、MBB、标签路径的抢占等,能过周期性检测所生成的标签交换路径的流量,并适时根据网络状况来调整转发策略。
目前已有近两年的带团队开发经验,对于Linux网络通信技术以及网络协议开发均有比较深的体会与心得,KDB以及GDB等两项主要的调试工具也能熟练驾驭。
使用技能
无
公司名称
大连高金数控
在职时间
2008-08-01 ~ 2010-02-01
职位名称
软件工程师
薪水
0/月
项目描述
软件/互联网开发/系统集成
个人职责
主要负责了高性能运动控制卡中核心算法的设计研发以及按照软件开发流程编写相关技术文档;负责的核心算法有:
梯形曲线速度轨迹规划: 输入参数为初速度、最大速度、最大加速度、加工距离、加工距离动态增量等,当给定以上参数后,该速度轨迹规划模块就能自动绘制出一条精度达标的速度曲线,保证在规定时间内的每一个时间点上输出既定的速度值,同时,当加工距离动态增量不为零时,可以在加工过程中动态改变已规划好的速度轨迹,并要求新旧速度轨迹变化时间极短,以免给加工造成影响。
而S形曲线速度轨迹规划: 输入参数为初速度、最大速度、加加速度、最大加速度、加工距离、加工距离动态增量等,当给定上述参数后,便能在该模块内自动绘制一条平滑且精确的轨迹,但由于S形曲线为七段曲线平滑连接而成,主要包括加加速阶段、匀加速阶段、减加速阶段、匀速阶段、减减速阶段、匀减速阶段以及加减速阶段,从而使得最终的加工终点处速度值为零,而如果加工过程中动态改变加工距离,则可能要延长其中的某些阶段;
此外,对于梯形曲线速度轨迹规划与S形速度轨迹规划中,除了加工距离可以动态改变外,加速度,加加速度以及最大速度,最大加速度等都能做出相应调整,以满足加工的实时性或者是精度的要求。
除此之外,还需要设计上述两种算法的非对称速度轨迹规划,其基本原理与对称曲线规划类似,所不同的是需要考虑刀具的初始位置是否为初始加工点,如果不是则很可能为非对称速度轨迹规划,此时就需要先加工到初始加工点,然后再以此刻的速度为初速度进行新的速度轨迹规划,如此规划出来的速度曲线则为非对称曲线。
在设计出上述两种类型的速度轨迹算法后,为了能尽可能减少用户的负担,需要将两个模块进行整合,使得在用户看来,他(她)只需要输入相应的参数即可,至于运动控制芯片到底选择哪种速度曲线就不必关心了。
另外,我还主要负责了一个伺服位置控制模块算法,该算法的主要输入参数为当前刀具的加工位置值,为X、Y、Z方向刀具加工位置的合成值,待得到该值后,在模块内便会自动分析该值与预期设定的加工位置是否有偏差,倘若曾在偏差将会将偏差值按照一定的比例系数与输入值进行权加和,然后输出,用于指导刀具到精准的位置进行加工。对于位置控制的算法分别采用当今比较流行的算法进行设计,同时也相应采用了四种方法进行采样。此外,我还负责了高精度数显尺的开发,该项目主要是为了刀具加工过程中的位置信息而开发,也即当刀具移动一定距离后,系统能够及时反映并将刀具瞬间的坐标值显示在数显尺上,同时用户也可以在数显尺上手动设置刀具的预期加工位置,分别设置其X、Y、Z坐标值,系统将根据这三个参数进行相应合成,然后反馈到刀具控制系统上控制刀具到指定位置。此外,数显尺还有坐标变化、刀具补偿、工作模式切换、单位转换、非线性或线性补偿、200刀具库、200点辅助零位补偿、EDM、N.N3、分中功能、矩形内腔加工、平滑R功能、上电自检、数字滤波、系统休眠、斜面加工、斜线打孔、轴叠加或分离模块以及锥度测量等等功能。在负责高性能四周运动控制卡开发时,我为主要负责人之一,因而我还负责编写前期开发的相关文档,主要有市场需求分析报告、可行性分析报告、软件需求分析报告、软件测试计划、立项报告以及项目进度安排报告等。
所使用的开发语言: C语言
开发环境: Window平台下的VC++6.0
运动控制卡项目的代码量大约在2.5万行左右
数显尺项目的代码量大约在1.5万行左右
使用技能
无
教育经历
院校名称
重庆大学
毕业时间
所学专业
计算机科学与技术
最高学历
本科
