单片机好学还是plc好学?想转行选plc还是单片机?
大家好,我是无际。
很凑巧,单片机和PLC我都学过。
我在学校的时候读的是电气工程专业,学校的知识覆盖面很广,基本每个东西都有学到一点。
什么画一定比例的结构图,电机绕线、强电弱电、机柜接线、PLC这些基本都有接触过。
但是学的都比较肤浅,也不是很实用,导致毕业以后,手握高级证却感觉前途一片渺茫。
这也是很多应届生即将面临的问题。
学校更多是给你提供一个行业的知识,作为过来人,我的建议是从一个大行业里找一个细分的领域深造。
什么意思呢?
就拿我们今天这个话题来说,电气工程专业一般都会接触到PLC和单片机。
我记得在学校的时候也有plc和单片机的课程,只不过老师只教你的比较浅,或许是教深了学生学不会。
Plc我们学的是三菱的,后面西门子带过(很多同学环境都没装好就毕业了)。
三菱的相对西门子的比较简单一点,我们考试经常要考三菱的梯形图编程,去控制电机完成梯形加减速。
不过这也是10几年前了,具体细节也记不清楚了。
反正我觉得当时还是挺简单的,PLC也就学了几个小时基本就学会了,当然我知道自己只是学了皮毛,连门都没入。
单片机会复杂很多,不过学校也是教的比较浅,讲的是汇编语言,同学们只需要编写程序让LED灯闪就算毕业了。
如果毕业你只会这些,那100%找不到工作,毕竟太水了,说句难听的,现在小学生学的可能都比这个强。
这个也是前段时间有一位大姐找我,想让我带他上小学的儿子学单片机知道的。
我说我这个主要是针对成年人找工作,她儿子学习的话难度会很大,估计学不会。
然后她说她儿子已经学完C++了,听完我都惊呆了,现在的小学生都已经这么牛逼了?
包括后面我接触了很多大一的学生,他们的学习意识都很强,每次跟他们聊天我都自叹不如,我在这个年级的时候还在沉迷游戏。
同时我也感到欣慰,有他们祖国一定会更强大。
ok,扯远了,我们回到今天的主题。
毫无疑问,单片机比plc要复杂很多。
我们不妨从技术的角度来看下他们的区别:
单片机从事单片机开发你至少需要掌握电路基础,c语言,单片机,以及会看芯片的数据手册。
程序方面,c语言更加复杂和灵活,工程师能任意发挥自己天马行空的想象力去做很多有趣的功能。
3.PLC
plc内部的核心控制器也是单片机,只是基于单片机封装了很多硬件和软件上的东西。
相当于plc是单片机的一个产品应用,也是可以编程的,只不过编程的语言不是复杂的c语言,而是更简单图形化编程。
也不需要开发者去学习复杂的电路就能快速地做出应用。
如果想转行的话,我建议还是走单片机方向发展的前景更广阔一些。
做PLC的工资没做单片机开发的高,门槛还低,工作条件也差。
还要经常出差,plc做产品成本也比较高,不太利于个人以后创业发展。
单片机往上还有很大的提升空间,比如说Linux驱动开发,再往上就是人工智能领域。
任何一个领域想学精都要花费你一辈子的时间。
每个领域的门槛也不一样,所以一定要结合自己实际情况去选择。
西门子plc居然可以通过网页做监控画面了,我真的是out了
西门子plc的网页监控画面
今天心血来潮去看了看西门子1200的资料文档,突然发现了一个让我眼前一亮的功能——通过网页居然可以直接访问plc了,而且还支持用户定义web页面。顿时感觉这功能好高大上啊,那不是上位机软件都省了,在电脑上安装一个浏览器就可以直接监控设备了?
我抱着极大的兴趣好好的看了一下介绍,现将我了解的和大家分享一下。我首先关心的就是怎么自己做画面。然后发现它只通过创建html来展示画面的,支持css和js,你说它屌不屌?简直吊炸了。感觉现在的plc已经开始慢慢向微型电脑的概念发展了,感觉以后用plc来称呼它都不合适了。plc(可编程逻辑控制器)的起源是取代了中间继电器的逻辑,经过多年的发展功能是越来越强大,现在居然都能作为web服务器了。
所有带 PN 口的SIMATIC S7-300/400,S7-1200/1500 CPU 或者配置了CP 卡的SIMATIC S7-300/400、S7-1500的PLC 均支持 Web Server 功能,通过该功能,利用IE等浏览器工具,可实现无需TIA,STEP7等工具软件对PLC的诊断,我简单聊聊如何使用PC,平板电脑通过Internet实现对PLC的监控。
1. 以CPU1211C为例,CPU属性中左侧Web服务器,常规,勾选启用设备上的Web服务器,如下图:
此处,系统会自动勾选仅允许HTTPS访问,可以自行去掉勾选,为HTTP访问,HTTPS比HTTP更安全,建议勾选。
2.增加权限,或新建一个用户,赋予管理员权限,要设置密码,如下图:
3. 此时可以打开浏览器,建议使用IE浏览器,当然别的也可以,输入PLC的IP地址,PC和PLC在一个网段内,地址格式为https://192.168.2.102,或http://192.168.2.102,根据是否勾选仅允许使用HTTPS访问的选项。如下图:
以上操作只是通过网页来访问plc中的数据,下面来说说怎么用户自定义页面。
用户定义的 Web 页面该过程涉及到以下几项任务:
● 使用 HTML 编辑器(如 Microsoft Frontpage)创建 HTML 页面。
● 将 AWP 命令包含在 HTML 代码的 HTML 注释中 : AWP 命令是 Siemens
提供用于访问 CPU 信息的固定命令集。
● 将 STEP 7 组态为读取和处理 HTML 页面
● 基于 HTML 页面生成块
● 对 STEP 7 进行编程设计,以控制 HTML 页面的使用
● 编译程序块并将其下载到 CPU
● 通过 PC 访问用户定义的 Web 页面
创建 HTML 页面
可以根据需要使用软件包来创建自己的用于 Web 服务器的 HTML 页面。 请确保 HTML
代码符合 W3C(万维网联盟)的 HTML 标准。 STEP 7 不会对 HTML语法进行任何验证。
可使用能够以所见即所得或设计版式模式进行设计的软件包,但是必须能够在纯 HTML
表单中编辑 HTML 代码。 大部分 Web编写工具可以提供这种类型的编辑;否则,您始终可以使用简单文本编辑器来编辑 HTML代码。 将以下代码行包含在 HTML 页面中,以将页面的字符集设置为 UTF-8:<meta http-equiv="content-type" content="text/html; charset=utf-8">
还要确保以 UTF-8 字符编码的格式保存编辑器中的文件。
使用 STEP 7 将 HTML 页面中的所有内容编译到 STEP 7 数据块中。
这些数据块由一个管理 Web 页面显示的控制数据块、一个或多个包含已编译 Web页面的片段数据块组成。 请注意,如果有大量的 HTML网页,尤其是那些具有很多图像的页面,它们的片段 DB 需要非常大的装载存储器空间。 如果 CPU 的内部装载存储器不足以容纳用户定义的 Web页面,请使用存储卡来提供外部装载存储器。
要编写 HTML 代码程序以使用 S7-1200 中的数据,应将 AWP 命令 以 HTML注释的形式包含在代码中。 完成之后,将 HTML 页面保存到PC,并记下保存这些页面的文件夹路径。
与plc交互的语法在这里就不展开说明了,有兴趣的可以去看文档,如下图。
组态用户定义 Web 页面的使用
要通过 STEP 7 组态用户定义的 Web 页面,请执行以下步骤:
1. 在设备组态视图中选择 CPU。
2. 在巡视窗口中显示该 CPU 的“Web server”属性。
3. 如果尚未选择,则选中“激活此模块上的 Web 服务器”(Activate Web server on this
module) 复选框。
4. 选择“仅允许使用 HTTPS 访问”(Permit access only with HTTPS) 的默认设置,确保
Web 服务器使用加密的通信,并提高 Web 可访问 CPU 的安全性。
5. 输入或浏览到 PC 上保存 HTML 默认页面(起始页面)的文件夹的名称。
6. 输入该默认页面的名称。
7. 为应用程序提供名称(可选)。 Web 服务器使用应用程序名称对 web
页面进行进一步分类或分组。当您提供应用程序名称时, Web
服务器会用以下格式为用户定义页面创建
URL: http[s]://ww.xx.yy.zz/awp/<应用程序名称>/<页面名称>.html。
应用程序名称中避免使用特殊字符。有些字符可能会导致 Web
服务器无法显示用户定义的页面。
8. 输入包含 AWP 命令的文件的扩展名。默认情况下, STEP 7 分析扩展名为
.htm、 .html 或 .js 的文件。如果还有其它文件扩展名,请将其附上。
9. 保留默认的 Web DB 编号,或输入适合的编号。这是控制 Web 页面显示的控制 DB
的 DB 编号。
10. 保留默认的片段 DB 起始编号,或输入适合的编号。这是首个包含 Web
页面的片段 DB。
生成程序块
单击“生成块”(Generate blocks) 按钮时, STEP 7 会基于指定的 HTML 源目录下的 HTML
页面生成数据块,以及一个用于 Web页面操作的控制数据块。可以根据应用的需要设置这些属性 (页 1188)。 STEP 7还会生成一组片段数据块,以保存所有 HTML 页面的显示。在您生成数据块时, STEP 7会更新属性,以显示控制数据块编号和首个片段数据块编号。生成该数据块之后,用户定义的 Web 页面就会成为 STEP 7程序的一部分。与这些页面对应的块会出现在项目导航树中“程序块”(Program blocks)下“系统块”(System blocks) 文件夹中的“Web 服务器”(Web server) 文件夹中。
将程序块下载到 CPU
生成用户定义的 Web 页面块后,它们与所有其它程序块一样成为 STEP 7程序的一部分。 可以按照正常过程将这些程序块下载到 CPU。 注意,只能在 CPU 处于STOP 模式时下载用户定义的网页程序块。
下载到cpu中后,我们就可以通过网页来监控plc。大致的流程就是这样,详细的说明请自行下载西门子的文档阅读。这么牛逼的功能忍不住想亲手试一试了,当然这需要一线IT前端的知识,毕竟需要用到html。
如果有用过此功能的朋友请在评论中介绍介绍,让小编也看看眼。
顺便提一下,文章第一张图就是此功能的效果图。
相关问答
前端工程师和plc工程师一样吗?
两者还是有一定区别的,前端工程师主要做前端工作,比如html等一些网页的编辑,plc工程师是硬件工程师,两者有一定的区别。前端工程师是互联网时代软件产品研发...
前端工程师和plc工程师哪个好?
前端工程师和plc工程师都好,前端工程师是互联网时代软件产品研发中不可缺少的一种专业研发角色。从狭义上讲,前端工程师使用HTML、CSS、JavaScript等专业技...
plc前端用断路器还是漏电开关?
在PLC前端,选择使用断路器还是漏电开关,主要取决于具体的应用场景和需求。断路器是一种能够关合、承载和开断正常回路条件下的电流,并在规定的时间内承载和开...
plc怎么控制气缸运动?-懂得
气缸的运动是PLC控制气动电磁阀来进行的。气缸运动原理:气缸有进气口和排气口一端进气另一端排气,中间有活塞部件。如气缸后端进气前端排气则气缸伸...
plc怎么控制气缸运动?-小红薯7AB0DA23的回答-懂得
通过电磁阀。电磁阀里有个线圈,一般有5V24V等,PLC控制线圈是否通电就行。另外,需要把电磁阀和气缸连接起来。气缸的运动是PLC控制气动电磁阀来进...
PLC编程时间怎么设置以小时为单位?
很多小型PLC如西门子S7-200、三菱FX2N等并不提供以小时(或大于小时)为时基的定时器。这些PLC提供的指令最大只有100ms*32767,也就是约3200杪左右,不到一小时...
1t机械硬盘和512固态硬盘做编程够用吗?
其实主要用来编程的话,512G就够用了,如果用来存储各种教程视频,那就不够了,现在的视频太占资源,随便一个视频就好几百兆。编程的话建议内存配置大点,现在I...
编程学哪个好呢?
真是太可怕了,看了前面几位大神的评论。我表示超级震惊!第一次听说过C上手比JavaEE容易的。面向过程编程vs面向对象编程哪一个更容易让新手理解?C前期的薪...
CX-Programmer7.3PLC编程软件用新W7程序肿么安装不上-ZOL问答
因此,在选购鼠标时,有必要通过外盒包装和询问商家来获得微动信息。您的鼠标更换微动开关后可以恢复如常,但建议您不要劳神去买微动了,一来更换时太麻烦,二来现...
java培训够不够专业,大家来说说有谁知道么:培训Java好还是...
[回答]高—善表达:协同校区的每一位讲师权威性都是很高的,他们都是在IT方向从事多年的前辈,经验丰富。不仅如此,讲师授课方式好,由浅到深呈递进...不仅如...