OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 10754|回复: 9

一个PLC转行而来的辛路历程

[复制链接]

0

主题

5

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2021-2-6
在线时间
10 小时
发表于 2021-2-6 08:55:50 | 显示全部楼层 |阅读模式
本帖最后由 西和湖平 于 2021-2-6 09:30 编辑

  我是04年毕业的,毕业后一直在做PLC方面的工作,本以为自己自动化水平已经是大神级别了。直到2019年初开始接触STM32F7开发的工作,才发现PLC工作相比MCU来讲确实简单太多。虽然之前我开发PLC时候已经使用了西门子1500和s120再加倍福,并且也都使用了st高级语言来开发,所使用的也是面向对象的思路。但是还是比不过C语言在开发上的带来的挑战和乐趣。
  先说说我为什么想转嵌入式,第一原因当然是为了钱,各位可以去各大招聘网站了解一下。第二个原因,不想长期出差,我以有十年以上PLC工作经验来告诉大家,做PLC的基本逃不了长期出差的命运。技术上也基本没大长进了,总有一天心里不想在外飘了,关键收入的天花板太低。因为不是太难所以聪明一点的年轻人能随时替代你,这时候危机感就会很强烈。有机会转的乘早转吧。
  转MCU遇到的最大难点在哪里?一是需要遇到一个好的机会。这个对大多人已经关上了大门。因为很难一边做着不相干的事情一边学习不相干的知识。我也是抓住了这个机遇。但是我的这个机遇是靠自己的实力争取来的。我能让我领导相信我有这个自学能力,能在短期内转行成功。有多短呢?基础学习只用2周时间。从不知道单片,不会c语言更不知道STM32到可以用开发板完成一个个小例子。这里说的知识只是基础学习,到实际产品开发还非常遥远。接下来的时间一边学一边问一边做,不会的地方在论坛里找,找不到的自己想。在这过程中遇到过很多问题几近让自己崩溃。第一个难关在裸机系统往RTOS系统转。用惯了PLC思路,很难往操作系统上转。我也很难说出自己是怎么学出来的,应该是用出来的。如果你是初学者连编程,计算机本质都不知道的小鸡,想通过这关需要毅力。看完了ARM权威指南的,看过RTOS移植步骤的,看过实战指南的,对比过UCOS,FreeRTOS,RT-thread的你还能坚持的。你就已经非常了不起的了,你可以为你自己骄傲了。也许你自己这一圈看下来还是一头雾水,不过没关系,我相信大多数人都和你一样,都是一知半解的,关键点是你还能坚持下来,对不懂的东西还充满了求知欲望。我也很难在这里总结学习RTOS的心得,我记得看过UCOSII的一本书,拿过生活中的一些例子做比方,比如停车场抢车位什么的。你看我能记得的书本里的东西也不多,说明看书不能帮助你很多,但是还是需要看几本的。对什么是操作系统,系统里的任务调度,任务间怎么通信的,ARM架构上怎么使用RTOS需要有深刻的理解。初学者不要太纠结RTOS内部代码是怎么实现的,看过你也看不懂,懂了你也会忘记。但是必须要知道用户级别的API函数怎么使用,什么情况使用。
  第二个挑战是和“前辈”怎么一起共事,你一个刚转行来的,怎么能让别人有了多年嵌入式开发经验的来和你一起开发项目。我这这么做的,脸皮一定要够厚,不会的直接承认不会,千万不要不懂装懂。大家都做技术的最看不起明明自己不会,装着自己会还来偷学技术的。每个公司都有这样的技术败类。也许有些问题是问不到的,大家都是人,不可能什么都接触过,什么都遇到过。这个时候只有靠自己的思维能力了。遇到没人能帮自己的问题自己都能解决掉,恭喜你有过这关的潜质了。能独立思考,有分析问题的能力。即使是嵌入式MCU这个级别的开发,对于新人来说需要靠你自己去解决的这样的问题还是很多的。同时你还需要是一位爱提问题的人。
  第三个挑战是C语言的学习,如果你从来没编程过,这是很难很难很难很难的。我能做到是因为我有十年的逻辑编程经验,而且我有很强的逻辑思维能力。即使这样我转C语言的时候也遇到了不小的挑战。尤其是遇到一些宏定义的时候。宏定义的学习和指针的学习是需要花大力气的。这也只是c的基本功。更难的ARM下的C的编译规则,你根本就不清楚什么时候需要用到,去哪里学习。只能被动学习,遇见一个坑,学一个知识点。
  经过以上的磨砺,差不多快有1年左右的时间了,如果你还能坚持住的话。
恭喜你,你才有资格入门嵌入式“软件”开发的门槛。为什么我需要强调软件呢?因为我个人觉得嵌入式开发是一个团队的工作,至少需要分软件和硬件。总听见有人炫自己软硬兼备,我也只能在一边呵呵了。
  第四个MCU开发的挑战我认为也是最后一个,就是算法。因为MCU属于高级一点的单片机,主要应用的场合对象是信号处理,而且对信号的处理的实时性要求高的地方。其实大家不要一天听见算法两个字就心里发虚。我觉得算法分两个方面。一个方面是c语言上对算法的实现,这个需要一点数据结构的知识,不用知道太深,理解一些基础概念如链表和树之类的。还有一个方面就是高等数学和线性代数里的一些知识,也不用到达会解微分方程的地步。至少需要知道傅里叶变化,积分微分,行列式求解的概念。没有这些数学知识你无法去解决一些实际的控制问题和信号处理问题。本人在大学里是学自动化控制理论的,这对实际产品的开发也起到了很大的帮助,幸好大学里的课程没白学。
  有以上这些能力开发MCU产品是没什么大问题了。再往下学习就是SOC级别的开发了。这个级别就需要学习LINUX了。我目前在转LINUX中,这个过程也是一个很漫长煎熬的过程。用惯了keil和windows再去转GCC和LINUX是非常得不习惯。网上有太多的假大佬告诉你该怎么学LINUX。我的理解是关键点在于你有没有使用LINUX做开发的机会。LINUX里的应用方向很多,找准一个方向发力。在没找到方向前,就先了解一下LINUX开发环境的搭建,理解LINUX的三大核心,uboot,内核,根文件系统。为将来应用开发做准备。
    总之我非常感谢正点原子的学习资料,至少是一块很好的敲门砖。师傅领进门,以后的修行靠自己的努力才是关键。
    本人在杭州,想转ARM架构的LINUX应用开发的工作,最好是机器人加视觉方向的,请问哪里有好的机会。
    感谢大家的阅读,祝愿大家工作顺利。


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

93

主题

745

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1843
金钱
1843
注册时间
2012-9-16
在线时间
285 小时
发表于 2021-2-23 15:32:08 | 显示全部楼层
纵浪大化中,不喜亦不惧;应尽便须尽,无复独多虑!
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2021-2-6
在线时间
10 小时
 楼主| 发表于 2021-2-24 11:52:12 | 显示全部楼层

是本人 有合适的工作介绍吗?
回复 支持 反对

使用道具 举报

1

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
109
金钱
109
注册时间
2020-5-16
在线时间
24 小时
发表于 2021-3-25 17:19:29 | 显示全部楼层
请教一下我在Linux上移植了Snap7的库,现在要去读PLC的V区要怎么读啊,是和读DB一样的吗
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2021-2-6
在线时间
10 小时
 楼主| 发表于 2021-3-26 15:20:38 | 显示全部楼层
SuGuolin 发表于 2021-3-25 17:19
请教一下我在Linux上移植了Snap7的库,现在要去读PLC的V区要怎么读啊,是和读DB一样的吗

这个我不知道,读西门子PLC的V区?难道你还在用s7-200吗?PC机和PLC目前最流行的方式是走tcp/ip tcp也好UDP也好 都非常灵活和方便。如果是OPC的方法很难去校验。
回复 支持 反对

使用道具 举报

1

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
109
金钱
109
注册时间
2020-5-16
在线时间
24 小时
发表于 2021-4-2 09:01:49 | 显示全部楼层
西和湖平 发表于 2021-3-26 15:20
这个我不知道,读西门子PLC的V区?难道你还在用s7-200吗?PC机和PLC目前最流行的方式是走tcp/ip tcp也好U ...

谢谢。现场设备PLC装的我都不知道什么型号哈哈,只是说是S7协议。S7协议就是TCP,用Snap7库读取DB的接口去读
回复 支持 反对

使用道具 举报

1

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
192
金钱
192
注册时间
2020-7-12
在线时间
44 小时
发表于 2021-8-30 16:21:11 | 显示全部楼层
嵌入式+算法,很好啊1
回复 支持 反对

使用道具 举报

2

主题

6

帖子

0

精华

新手入门

积分
9
金钱
9
注册时间
2018-11-22
在线时间
0 小时
发表于 2021-11-24 17:20:52 | 显示全部楼层
我们招聘嵌入式硬件,北京房山窦店,特种机器人行业,楼主考虑吗?
回复 支持 反对

使用道具 举报

7

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
122
金钱
122
注册时间
2017-7-7
在线时间
14 小时
发表于 2022-1-5 16:56:29 来自手机 | 显示全部楼层
我现在是电气plc第三年,想转嵌入式,正点原子开发板也才做到中断的实验,不知道过完年直接投聘不需要经验的嵌入式岗位能不能成功
回复 支持 反对

使用道具 举报

6

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
68
金钱
68
注册时间
2022-1-9
在线时间
22 小时
发表于 2022-1-18 17:12:21 | 显示全部楼层
我从硬件转来Linux的,难到吐了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-25 01:47

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表