kinuyツ
2022-04-22T18:44:54+00:00
[quote][pid=605468404,31506651,3]Reply[/pid] Post by [uid=63253336]melon9191[/uid] (2022-04-23 23:42):
还有一个干plc应用的人不会干到上位机开发的,当然你如果只是简单winform拖个界面配个串口或者udp当我没说![/quote]现在很多人对PLC调试人员,工控从业者有偏见。 。就像上面我引用的那个朋友的发言一样。
其实现在工控行业技术含量真是不低啊,除了java程序员要会的数据库,redis,mq,web框架,linux,还得会机器视觉,多轴插补联动的运动控制,还要把视觉和运控结合起来做项目。更别提传统的PLC了,每个合格的工控人至少得会三种以上的PLC,5种以上的组态软件,5种左右的通信协议。编程语言方面c语言和c# 基本上是必备的,如果有跨平台客户端的需求,大部分人选择的还是c++ 和qt,如果有树莓派的项目,那么python也是必须的。如果有web端需求,要么.netCore的webAPI,要么java的springboot
而且最难的是,这些前后端,上下位机,通信,大部分是一个人完成的。
给你看看我几个朋友和我本人做的项目。
这是我做的两个项目,一个是使用.net6 webAPI+redis+关系型数据库实现跨平台设备远程控制
[ModbusTCP+.NET6+EFcore+Redis+Sqlite实现远程/云端对设备的控制-哔哩哔哩] [url]https://b23.tv/Mu76jXn[/url]
另一个是用winform开发的通用上位机,支持opc,modbusTCP,modbusrtu,s7,开放式TCP/IP通讯等通信方式。支持历史趋势,报表打印,实时趋势:
8.92 wFU:/ C% 上位机 .NET [url]https://v.douyin.com/FdG6CXr/[/url] 复制此链接,打开Dou音搜索,直接观看视频!
还有一些Xamarin和wpf的项目没有传。因为我是上班十年后又读研的,已经三年没工作了,以前的技术栈太老就不发了。现在还没毕业,所以放出来的项目都是实验室和以前朋友委托的项目。
这几个项目是我的朋友做的:
机器视觉halcon工件检测+运动控制
[url]https://b23.tv/fr9tztB[/url]
和松下PLC配套的上位机
[url]https://b23.tv/4kAoMsC[/url]
张力系统
[url]https://b23.tv/iTjnb2u[/url]
[西门子plc与跨平台上位机通信,springboot实现
[url]https://b23.tv/KpjNKbO[/url]
企业投钱上自动化项目才刚刚开始。随着人口红利的枯竭,我们又不肯放弃制造业,加上年轻人不愿意进厂,未来20年肯定大规模机器换人,一片蓝海,只是需要的技术不单是几个io控制了,是柔性生产,是智能控制,是工业物联网。
[quote][pid=605663684,31612683,6]Reply[/pid] Post by [uid=34449544]IzualAzurewrath[/uid] (2022-04-24 17:30):
别纠结什么PLC做下位机了,思路要转换一下。
设备硬件基本就是模拟量开关量和伺服控制,为什么不能直接把这些东西直通上位机呢?
上位机反正是要码的,把这些东西码进去也就是包个状态机,调下PID,call运动函数走个点位而已。
老是纠结PLC下位机有什么意义呢?这些东西放PLC里或者放工控机里有区别吗?既然没区别,那为什么不干脆把所谓“下位机”砍了?
设计思路很重要,但是“茴”字有几种写法真的不重要,PLC行业现在各种私家协议人为设置障碍,被工控码农打是必然趋势。
现代全自动生产线设计与部署拆分这一趋势之下,码农和跑现场调机必然也是要分化的,头铁钻PLC的各位好自为之。
[/quote]第一, 也是最重要的: 码农的程序90%都跑在linux上. 无论linux或者是Windows, 它们都不是实时操作系统(Real-time operating system, RTOS). 而工业控制由于差之毫厘谬以千里, 会造成巨大损失, 一般只能跑在实时系统上,典型的实时操作系统有VxWorks,RT-Thread,uCOS,QNX,WinCE等. 你觉得现在的码农有几个会写这几个系统上的程序? 反而windows自家的.netFramework 能在WinCE跑. 要知道.netFramework 的主力开发语言就是C# 啊, 当然还有古老的VB.
第二, PLC这种高度专业化的嵌入式设备, 可以在恶劣的工业场景下持续工作几万小时不宕机, 你随便拿个PC 来我看看可以做到不.
第三, 开发成本. 工控机+板卡, 从上个世纪70年代就有了, 为什么最后没有竞争过PLC, 被市场淘汰? 因为PLC门槛低, 开发速度快, 成本低, 市场的选择, 工控机+板卡只能做上位机和一些运动控制了.
即使是单纯的PLC程序,也有不少难点的。
这段程序是我做KUKA机器人项目的时候,和一个德国佬一起对接伺服运动时候他写的工具函数,基于STL,注释是他用德语写的。
[img]https://img.nga.178.com/attachments/mon_202204/24/-vabhQ7i87-f7b7K1gT3cSki-ht.png[/img]
功能就是使用ar寄存器和指针,值类型和指针类型互相转换,用16进制绝对地址寻址,寄存器内和寄存器间寻址。
STL基于汇编。我相信大部分的Java程序员都看不懂也搞不定这些PLC程序。 因为Java连个指针都没,在某种层面上讲,很多Java程序员的水平不如这个德国电工。
[quote][pid=605742231,31612683,8]Reply[/pid] Post by [uid=62382171]windstring2000[/uid] (2022-04-24 23:34):
核心的关键是行业,自动化行业利润低,工资自然开不高
如果薪水能达到一线互联网的的水准,保证211、985排队来应聘PLC。
另外,技术含量这个东西真的很虚。
楼主给的项目工程,本质还是逻辑流程和调库,一个脑子灵活点的程序员的1年就能熟练掌握。[/quote]那你说说为啥java程序员比前端程序员有技术含量,不就是会调的库比前端多吗?
视觉,伺服都有大量矩阵运算和求逆,矩阵分解,包括自定义多级pid需要对超调量,环境有很深的理解。更别说需要目标跟踪的场合还需要卡尔曼滤波,粒子滤波了。。。脑子好点的程序员一年能搞定,我是不信
[img]https://img.nga.178.com/attachments/mon_202204/25/-vabhQ60ra-7pzfKqT3cSne-dw.jpg[/img][img]https://img.nga.178.com/attachments/mon_202204/25/-vabhQ60ra-8fdwK1fT3cSor-fg.jpg[/img]
[img]https://img.nga.178.com/attachments/mon_202204/25/-vabhQ8mzb-mwsZfT3cSon-ry.jpg[/img]
[img]https://img.nga.178.com/attachments/mon_202204/25/-vabhQn6nr-8mclZbT3cSpn-ou.jpg[/img][img]https://img.nga.178.com/attachments/mon_202204/25/-vabhQn6nr-87drK1xT3cSnd-qb.jpg[/img][img]https://img.nga.178.com/attachments/mon_202204/25/-vabhQn6nr-7lhtK1vT3cSor-vc.jpg[/img]
[img]https://img.nga.178.com/attachments/mon_202204/25/-vabhQ60sx-86d1ZdT3cSp0-vp.png[/img]
再给你看几段PLC程序,你是不是三观都被颠覆了? 先不说pid的优化了,就是这些PLC程序里的拉普拉斯变换,拉格朗日插值,快速傅里叶变换,有几个java程序员能搞定的?
有些人是数学不好,玩不了PLC,只能去当java程序员了
这是我们的技术交流群,我不觉得我们的技术含量低
[img]https://img.nga.178.com/attachments/mon_202204/24/-vabhQcqxg-id4nK25T1kShs-12i.png[/img]
还有一个干plc应用的人不会干到上位机开发的,当然你如果只是简单winform拖个界面配个串口或者udp当我没说![/quote]现在很多人对PLC调试人员,工控从业者有偏见。 。就像上面我引用的那个朋友的发言一样。
其实现在工控行业技术含量真是不低啊,除了java程序员要会的数据库,redis,mq,web框架,linux,还得会机器视觉,多轴插补联动的运动控制,还要把视觉和运控结合起来做项目。更别提传统的PLC了,每个合格的工控人至少得会三种以上的PLC,5种以上的组态软件,5种左右的通信协议。编程语言方面c语言和c# 基本上是必备的,如果有跨平台客户端的需求,大部分人选择的还是c++ 和qt,如果有树莓派的项目,那么python也是必须的。如果有web端需求,要么.netCore的webAPI,要么java的springboot
而且最难的是,这些前后端,上下位机,通信,大部分是一个人完成的。
给你看看我几个朋友和我本人做的项目。
这是我做的两个项目,一个是使用.net6 webAPI+redis+关系型数据库实现跨平台设备远程控制
[ModbusTCP+.NET6+EFcore+Redis+Sqlite实现远程/云端对设备的控制-哔哩哔哩] [url]https://b23.tv/Mu76jXn[/url]
另一个是用winform开发的通用上位机,支持opc,modbusTCP,modbusrtu,s7,开放式TCP/IP通讯等通信方式。支持历史趋势,报表打印,实时趋势:
8.92 wFU:/ C% 上位机 .NET [url]https://v.douyin.com/FdG6CXr/[/url] 复制此链接,打开Dou音搜索,直接观看视频!
还有一些Xamarin和wpf的项目没有传。因为我是上班十年后又读研的,已经三年没工作了,以前的技术栈太老就不发了。现在还没毕业,所以放出来的项目都是实验室和以前朋友委托的项目。
这几个项目是我的朋友做的:
机器视觉halcon工件检测+运动控制
[url]https://b23.tv/fr9tztB[/url]
和松下PLC配套的上位机
[url]https://b23.tv/4kAoMsC[/url]
张力系统
[url]https://b23.tv/iTjnb2u[/url]
[西门子plc与跨平台上位机通信,springboot实现
[url]https://b23.tv/KpjNKbO[/url]
企业投钱上自动化项目才刚刚开始。随着人口红利的枯竭,我们又不肯放弃制造业,加上年轻人不愿意进厂,未来20年肯定大规模机器换人,一片蓝海,只是需要的技术不单是几个io控制了,是柔性生产,是智能控制,是工业物联网。
[quote][pid=605663684,31612683,6]Reply[/pid] Post by [uid=34449544]IzualAzurewrath[/uid] (2022-04-24 17:30):
别纠结什么PLC做下位机了,思路要转换一下。
设备硬件基本就是模拟量开关量和伺服控制,为什么不能直接把这些东西直通上位机呢?
上位机反正是要码的,把这些东西码进去也就是包个状态机,调下PID,call运动函数走个点位而已。
老是纠结PLC下位机有什么意义呢?这些东西放PLC里或者放工控机里有区别吗?既然没区别,那为什么不干脆把所谓“下位机”砍了?
设计思路很重要,但是“茴”字有几种写法真的不重要,PLC行业现在各种私家协议人为设置障碍,被工控码农打是必然趋势。
现代全自动生产线设计与部署拆分这一趋势之下,码农和跑现场调机必然也是要分化的,头铁钻PLC的各位好自为之。
[/quote]第一, 也是最重要的: 码农的程序90%都跑在linux上. 无论linux或者是Windows, 它们都不是实时操作系统(Real-time operating system, RTOS). 而工业控制由于差之毫厘谬以千里, 会造成巨大损失, 一般只能跑在实时系统上,典型的实时操作系统有VxWorks,RT-Thread,uCOS,QNX,WinCE等. 你觉得现在的码农有几个会写这几个系统上的程序? 反而windows自家的.netFramework 能在WinCE跑. 要知道.netFramework 的主力开发语言就是C# 啊, 当然还有古老的VB.
第二, PLC这种高度专业化的嵌入式设备, 可以在恶劣的工业场景下持续工作几万小时不宕机, 你随便拿个PC 来我看看可以做到不.
第三, 开发成本. 工控机+板卡, 从上个世纪70年代就有了, 为什么最后没有竞争过PLC, 被市场淘汰? 因为PLC门槛低, 开发速度快, 成本低, 市场的选择, 工控机+板卡只能做上位机和一些运动控制了.
即使是单纯的PLC程序,也有不少难点的。
这段程序是我做KUKA机器人项目的时候,和一个德国佬一起对接伺服运动时候他写的工具函数,基于STL,注释是他用德语写的。
[img]https://img.nga.178.com/attachments/mon_202204/24/-vabhQ7i87-f7b7K1gT3cSki-ht.png[/img]
功能就是使用ar寄存器和指针,值类型和指针类型互相转换,用16进制绝对地址寻址,寄存器内和寄存器间寻址。
STL基于汇编。我相信大部分的Java程序员都看不懂也搞不定这些PLC程序。 因为Java连个指针都没,在某种层面上讲,很多Java程序员的水平不如这个德国电工。
[quote][pid=605742231,31612683,8]Reply[/pid] Post by [uid=62382171]windstring2000[/uid] (2022-04-24 23:34):
核心的关键是行业,自动化行业利润低,工资自然开不高
如果薪水能达到一线互联网的的水准,保证211、985排队来应聘PLC。
另外,技术含量这个东西真的很虚。
楼主给的项目工程,本质还是逻辑流程和调库,一个脑子灵活点的程序员的1年就能熟练掌握。[/quote]那你说说为啥java程序员比前端程序员有技术含量,不就是会调的库比前端多吗?
视觉,伺服都有大量矩阵运算和求逆,矩阵分解,包括自定义多级pid需要对超调量,环境有很深的理解。更别说需要目标跟踪的场合还需要卡尔曼滤波,粒子滤波了。。。脑子好点的程序员一年能搞定,我是不信
[img]https://img.nga.178.com/attachments/mon_202204/25/-vabhQ60ra-7pzfKqT3cSne-dw.jpg[/img][img]https://img.nga.178.com/attachments/mon_202204/25/-vabhQ60ra-8fdwK1fT3cSor-fg.jpg[/img]
[img]https://img.nga.178.com/attachments/mon_202204/25/-vabhQ8mzb-mwsZfT3cSon-ry.jpg[/img]
[img]https://img.nga.178.com/attachments/mon_202204/25/-vabhQn6nr-8mclZbT3cSpn-ou.jpg[/img][img]https://img.nga.178.com/attachments/mon_202204/25/-vabhQn6nr-87drK1xT3cSnd-qb.jpg[/img][img]https://img.nga.178.com/attachments/mon_202204/25/-vabhQn6nr-7lhtK1vT3cSor-vc.jpg[/img]
[img]https://img.nga.178.com/attachments/mon_202204/25/-vabhQ60sx-86d1ZdT3cSp0-vp.png[/img]
再给你看几段PLC程序,你是不是三观都被颠覆了? 先不说pid的优化了,就是这些PLC程序里的拉普拉斯变换,拉格朗日插值,快速傅里叶变换,有几个java程序员能搞定的?
有些人是数学不好,玩不了PLC,只能去当java程序员了
这是我们的技术交流群,我不觉得我们的技术含量低
[img]https://img.nga.178.com/attachments/mon_202204/24/-vabhQcqxg-id4nK25T1kShs-12i.png[/img]