技术论坛

 工程师究竟该不该沉迷于编程?

返回主题列表
作者 主题
宁超
至圣

经验值: 10636
发帖数: 961
精华帖: 37
楼主    2018-06-05 21:53:59
主题:工程师究竟该不该沉迷于编程? 精华帖 

镇楼:

        本人通STL,SCL,CFC,SFC,SFC type,Graph可以跟你们分享这些语言学习过程和技巧。(真大神不要打我。)


        我记得我在6年前刚进公司的时候,我跟所有的新手一样,刚入这行不知道为什么觉得学写程序就是工程师首要的学习任务。而且觉得会写程序光环加身,因为早就不知道羡慕那些拿着笔记本调试设备程序的工程师多少次了。

 

这些话熟悉吗?

“我好像只会LAD额”

" 想再学一种编程语言,STL和SCL,不知道学哪个好"

" CFC,SFC是什么鬼"

" 听说STL的指针很难,会的都是大神"

" 有没有SCL的源代码,贴出来学习一下"

" 我靠,这个逻辑用LAD写好麻烦"

       先说说大家都熟悉的STL和SCL,和我学习它们的基本过程:

       本人北漂一族,当年生活寒酸,租了一个没有窗户合租间,醒来时分不清白天黑夜的那种,我根本不愿意在里面待着,每天晚上在公司待到10点左右才回去,大把的时间研究编程这戏东西,加之带我的人就是使用STL的,公司也有大量的STL开源功能块可以研究,很快STL编程就有了质的飞跃。

       后来SCL盛行,不经意的一天,我也在朋友那里拿到了西门子BST库的实例,我也没想到这一天也是对我极其重要的一天。拿到BST后,我开始投入SCL的学习中,短短的5天时间,我就用SCL编写了一个功能复杂的功能块,就为了好玩,每天大概睡了4小时吧。

 

老板好着急啊!

每天路过你的工位都看见你在研究编程!

不管他说多少次编程够用关键是工艺都还是看见我在研究编程!

下班时间还要在公司蹭电到这么晚,没有自己的生活吗?

 

最近的一些事情,让我非常感激自己当时对编程这件事的执着。

1.       带工程师做项目,以下截图是我在他的S7-200 SMART程序里的截图,我真不敢相信这是工作快3年的工程师写的,而且是我在公司给他们培训了IEC61131-3,还给他们讲了一次又一次命名和编程规范的结果。

200 SMART子程序没做赋值和数据存储任何处理,程序一开始就是Set,Reset操作。

最让人气愤的是FMOpen =阀门open,GSDXSJ是什么拼音的首写字母?


通过这件事我反思:

我正是因为不断的研究编程,我提升了对自己的程序的要求。提高了自己的审美标准,对好的东西有种追求。正是我理解了什么是好程序,我才更关注工艺的原理,产品的微观变化,控制难点,安全要求。我去了解操作员的操作习惯,故障提前来临时他们是怎么样调节去避免发生的,实际自动就是模仿人的操作啊。我花更短的时间了解了编程的意义,远比一个连命名都没法标准的人走的弯路要少,走的更远。

我理解的一个PLC程序:

  1. 完成逻辑和基本的上位机要求功能,操作状态趋势消息操作记录等

  2. 如何处理故障和异常

  3. 优化,使其运行平稳,比如PID控制时是否需要对设定值斜坡等

  4. 最大可能做了怎么避免对操作员误操作的考虑吗?

  5. 操作是否简单,安全相关显示信息醒目吗?

  6. 断电开关机对设备的影响是什么,如何应对?

  7. 你是否在调试中能优化程序,提高生产效率,比如有些动作顺序执行可以改成并步进行而节省了时间,比如还可以通过优化程序优化,节省蒸汽等热能源。

  8. 你做完项目后,你能分析下你做的这个程序有哪些先进性吗?哪些设计是你强过别人的?这个绝对是你以后的谈资。

  9. 最后是一份漂亮的说明书。


不写了,再写跑题了。


Zane
版主

经验值: 50634
发帖数:16018
精华帖:288
4楼    2018-06-05 23:50:03
推荐帖  主题:回复:工程师究竟该不该沉迷于编程?

一说编程”是非“多!


针对宁侠的题目”工程师究竟该不该沉迷于编程?“


我想发表我的观点是:自动化工程师不该仅仅沉迷或关注于编程。除非你就是个专职的软件工程师。


编程仅仅是一个自动化工程师专业工作的一个方面而已,而一个自动化工程师的专业工作应该是多方面的,工艺消化,系统方案,产品选型,图纸设计,成套安装,软件开发,运行调试,培训维护等等都是需要考虑的问题。要做好一个项目和产品,上述的每一个方面都是很重要的。

 


但,最重要的是什么?编程吗?非也!


新入行的菜鸟们往往把编程看得那么高大尚,神奇,趋之若鹜,而忽略了其他方面的学习与训练及能力的培养,殊不知这恰恰给自己成长的道路上挖下了深坑。


我要说的是,编程一定要学,但在一定的阶段内真的不重要。


除非你有编程的天赋,否则就不要去过分的追求那些所谓的编程技巧,掌握基本的编程知识与技巧就足以应付绝大多数的项目编程需求了。虽然,每个人的编程水平有高低差别,但这都不是事儿。所以呢以上观点的反面就是现实中自以为是的人还是蛮多的。


一下几点供大家参考:

1. 扎实的硬件知识,对系统及指令的深入了解对编程是绝对有帮助的。

2. 算法与编程是两码事情,把算法转化为程序是编程,想出算法的人显然更高明。

3. 编程是有规范的,就是八股文,走套路。

4. 好的系统方案及硬件配置选型才是你能够完成编程任务的基础,硬件方案及设计上的缺陷,靠软件的是很难弥补的,相反,程序上的缺陷只要是硬件没问题,假以时日或者换人的手段,问题终究是可以解决的。


不是和万侠,宁侠唱反调,而是他们的观点与做法不是一个入门层次的技术员可以做到的,做了也是毫无理解的纯粹的模仿与瞎做,得修炼到一定的层次才行。



Zane 注册自动化系统工程师 Always save before download
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。