自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

私信我,领取入门资料包+工具包

私信领取入门资料包+工具包

  • 博客(89)
  • 收藏
  • 关注

原创 C++中虚函数和纯虚函数的完整指南

在一个类中声明虚函数,即使是空实现,也可以让这个函数在其子类中被覆盖(override),以便使用后期绑定实现多态。而纯虚函数只是一个接口的声明,必须在其子类中实现。虚函数可以在子类中不重写,但纯虚函数必须在子类中实现才能实例化子类。虚函数的类用于实现继承,既继承接口,也继承了父类的实现。纯虚函数关注的是接口的统一性,而其实现由子类完成。带有纯虚函数的类称为抽象类,这种类不能直接生成对象,只有被继承并重写其虚函数后才能使用。虚基类是虚继承中的基类,具体信息请参见下文的虚继承。

2023-04-07 12:26:13 543 1

原创 libhv:更简单、更强大的跨平台网络库

event模块实现了事件循环,支持IO、timer、idle等功能,不同的平台有不同的实现,例如Linux使用epoll,Windows使用IOCP、Mac使用kqueue、Solaris使用evport;· 精妙小巧跨平台,基于configure/cmake自动生成的平台宏和编译器宏实现了跨平台的hatomic原子操作、hthread线程、hmutex线程同步等;· 无论是开发基于HTTP的服务端还是客户端,使用libhv可以减少大量的代码编写,使您的开发过程更加简单高效。

2023-04-06 15:26:59 925

原创 Linux:一个受欢迎的职业选择

与其他操作系统不同的是,Linux 已经定义好了文件应该放在哪个位置,避免了用户需要处理杀毒、清理垃圾、激活、优化等烦人的操作。此外,Linux 的内核可以重新编译,使其安全性更高,用户不必担心后门程序的问题。此外,现今 Linux 运维也成为了一个受欢迎的职业。Linux 是一款功能强大的操作系统,它能够满足低功耗和性能要求,并提供许多现成的第三方库,方便使用。总的来说,Linux 是一款功能强大、安全可靠、可定制化的操作系统,对于需要满足低功耗和性能要求的用户来说,它是一个不错的选择。

2023-03-31 17:34:10 240

原创 作为一个嵌入式工程师我曾经也面临过学习Linux内核和驱动程序的挑

入门之后,如果您想要从事内核开发或驱动开发,那么可以去深入研究一些驱动程序,比如输入系统、I2C总线和SPI总线等。作为一个初学者,如果您只想了解一些简单的驱动程序,那么学习LED、按键和中断驱动程序是非常有利于工作交流的。同时,理解中断、进程、线程等概念,对驱动开发和应用程序开发都是很有好处的。请注意,摄像头(VL42)和声卡ALSA驱动是Linux中比较复杂的驱动程序,需要更高的技术水平和经验。对于初学者来说,如果想要学习Linux内核,那么从驱动程序入手是一个很好的方法。

2023-03-31 16:25:47 277

原创 C与Python:装备配置系统的比较

C的语法非常简单,但新手使用C写东西很难。C就像乐高玩具一样,你可以根据需要随意拼接每个零件,但同时也需要具备整体思维和局部思维的能力。如果你不了解数据结构,那么即使拼接了乐高零件,也无法得到想要的结果;相比之下,Python更像一个装备配置系统,你只需要在固定的格子中搭配合适的装备,就能满足各种需求。C适合用于系统级编程、嵌入式开发等领域,它的性能非常高,但同时也需要程序员具备一定的计算机系统知识。而Python则更适合用于数据处理、科学计算等领域,它的语法简单易学,但相对于C而言,性能可能稍低一些。

2023-03-30 16:27:35 99

原创 PLC编程的时间长短其实是有很多因素会影响的。

对于初学者来说,如果是比较小的项目,例如只有不到10个气缸和一个轴,采用脉冲加方向的控制方式去控制轴运动,如果愿意下一定的功夫,大约需要2个月到3个月的时间才能完成。如果您是PLC编程方面的新手,不用太过担心。我曾经也是一个小白,但通过不断学习和实践,我慢慢掌握了PLC编程技能。当然,除了自己的努力外,与其他同事的交流、公司的支持以及相关资料的学习,也对我的PLC编程之路有所帮助。可能有人觉得这个时间有点长,但是请注意,即使是经验丰富的PLC编程人员,在处理复杂项目时,也需要相应的时间来完成。

2023-03-30 16:12:06 204

原创 掌握C++:从C语言到面向对象思想

刚好,我这里有C语言资料包,私信我领取。

2023-03-29 13:37:31 56

原创 C++编程中常见的类和对象概念和技术

刚好,我这里有C语言资料包,私信我领取。

2023-03-28 17:02:44 74

原创 数组和链表:内存访问的性能差异和应用场景

如果使用线性搜索算法,相对于数组,链表的查找速度会慢很多。尽管从理论上讲,链表和数组的查找时间复杂度都是O(n),但在实际场景中,链表的效率远不如数组。在访问数组时,由于局部性原理,系统会将之后的连续内存预读入cache,因此后续对数组元素的访问都可以在L1 cache中完成。但链表不具有这种特性,每次访问节点都需要进行内存访问,而不是在cache中访问。然而,数组也有缺点,比如不能动态扩容,一次扩容需要移动大量的元素等等。因此,在选择使用数组或链表时,应该根据具体场景进行选择。

2023-03-24 11:27:47 117

原创 了解C语言的设计漏洞:为什么不允许函数重载?

在Unix体系中,进程被当作函数来调用,启动子进程后需要使用进程的返回值来获取子进程是否运行正确的状态。在汇编层面,函数返回的值是EAX寄存器的值,如果不赋值,EAX寄存器就是一个随机数。C语言的设计存在一些不太严谨的地方,有些是早期编译器遗留的问题,因此应该按照现代C语言规范来编写代码,以提高可读性和可维护性。C语言是调用者清栈,因此即使不写参数也可以在main函数中声明为void类型,程序不会出错,只是无法获取命令行参数。C语言不允许函数重载,同名函数只是参数不同,C语言视为重复的函数符号。

2023-03-23 14:23:49 114

原创 动态分配与静态分配:如何协调资源利用

在公司里,需要不同数量的人力资源,如果按照最大人数雇佣,很多时候很多人都是闲着摸鱼,造成公司资源的浪费,所以外包或者非正式雇佣(派遣)就成为了一种解决方案,以补充人力资源。如果你已经知道节点数是100个,那么使用数组可能更好,因为它不需要额外的指针来维护节点关系,而且可以直接访问任意元素。因此,动态分配内存就成为了一个解决方案,它可以在需要时分配内存,在不需要时释放内存。需要注意的是,动态分配只是在更大的一个层面上的静态分配当中的局部分配,而不是对整个资源进行增减。刚好,我这里有C语言资料包,私信我领取。

2023-03-22 14:05:00 129

原创 PLC梯形图语言编程的原则如下:

在位逻辑指令中,除非有特殊说明,操作数的有效区域为:I、Q、M、SM、T、C、V、S、L,且数据类型为BOOL。触点和线圈指令分为标准指令、立即指令、取反指令、正(负)跳变指令。用户程序的运算是基于PLC输入/输出映象寄存器中的内容进行的,逻辑运算结果可以立即被后续程序使用。在梯形图中,继电器、接点、线圈都不是物理实体,而是存储在PLC寄存器中的位。梯形图由多个梯级组成,每个线圈可构成一个梯级,每个梯级代表一个逻辑方程,每个梯级有多条支路。PLC的内部继电器只能存放逻辑控制的中间状态,不能用于控制。

2023-03-21 16:18:57 274

原创 为什么使用标准库函数更优

如果你认为自己的实现性能更好,那么可能是因为你的场景比较特殊,并且针对这个特殊场景有更优化的实现。但是,如果场景并不特殊,那么你更应该做的是贡献你的代码给标准库,用你的优秀实现去替换标准库里的不太好的实现,然后再在具体业务中使用标准库。标准库提供的函数是经过多次优化和测试的,能够满足各种场景下的需求,并且在未来也有可能会进行更新和优化。使用标准库的函数能够让你更加清晰和准确地表达你的意图,并且让你的代码包含更多高层次的语义信息,从而拥有更多优化的可能性。刚好,我这里有C语言资料包,私信我领取。

2023-03-21 13:59:06 65

原创 PLC近年来一直在不断扩展功能

当时的PLC需要设计人员对电路板和元器件进行参数设计和选型,这些设计人员都是电路发烧级别,因此当时的PLC的可靠性和稳定性极高,但操作的人性化却比较差,这是由于操作系统的发展背景所限制的。现在的PLC的电路板简单多了,除了芯片和简单的外围电路,其他元器件几乎都没有了。如果你还记得那个时代的产品,例如西家的S5、罗家的PLC5和施耐德的莫迪康984,它们的稳定性极高,甚至可以在没有任何保护的情况下运行数十年,而现代的产品却经常需要加入G3防腐等保护要求,这表明现代的PLC在稳定性方面存在着问题。

2023-03-20 15:59:35 99

原创 PLC是一种工业自动化控制器

作为用户,我们最希望看到的是SDC(软件定义控制器),即编程组态的工具统一标准化。通过一个编程工具,可以对各家的PLC进行编程组态,无论是控制还是监控,这将极大地方便用户使用。未来,PLC将成为一台小型计算机,可以完成各种任务,这将进一步扩展PLC的功能性。PLC的功能十分强大,包括工具软件的统一、控制功能的统一、支持WEB的诊断、集成多个网口等等。总之,PLC在工业自动化中的作用十分重要,它的功能不断完善和拓展,为自动化行业的发展提供了无限的可能。我这里有plc的资料需要的私我。

2023-03-20 15:58:17 467

原创 速成C语言:25天内掌握基础知识的难度

C语言是一种面向过程的编程语言,学习难度相对较高,尤其是在指针方面的理解和应用上。与其他编程语言相比,C语言的使用和发展较为局限,主要应用于低级程序设计中。相比之下,Java等编程语言在学习难度和发展上更具优势。学习C语言需要一定的时间和精力,25天的时间对于速成C语言来说难度很大。尽管在短时间内能够学会一些基本知识和写一些简单的小例子,但要完全掌握C语言需要更长时间的学习和实践。除了C语言,还有许多其他编程语言值得学习,例如Java等,它们难度不大且发展迅速,值得尝试。

2023-03-20 13:47:32 216

原创 Linux内核驱动,成为计算机行业就业的关键?

尤其是对于那些想要转行计算机行业的人来说,学习Linux内核驱动的知识可能会是一条比较顺畅的道路。虽然学习基本的C语言可能不是难事,但是对于操作系统的知识,很多人可能会一知半解。而学习Linux内核驱动可以帮助你更深入地理解操作系统的工作原理,提升自己的技能水平,成为一位更加专业的技术人员。对于想在计算机行业找工作的人来说,掌握Linux内核驱动的相关知识可能是一个不错的选择。虽然这种技能可能需要自学和较高的悟性和自律,但是一旦掌握,你会成为一位货真价实的软件工程师。

2023-03-17 14:45:31 95

原创 说一个通俗易懂的PLC工程师岗位要求

你到了一家新的单位,人家接了一套新的设备,在了解设备工艺流程之后,你就能决定用什么电气元件,至少95%以上电气原件不论你用过没用过都有把握拍板使用,剩下5%,3%你可以先买来做实验,这次不能用,下个项目可以用上,2%容错,选型错误,原件不适用等等。1、你是否有对设备、工艺、程序通过多年的积累形成自己正确、独到的解决方案,比如说行业内大佬们吃饭会提到:宋工说了这个是得这么去处理云云。3、在自动化领域以内,PLC电气自动化相关工作以外,你是否有能力指导其他人工作/或提出比其他人更专业的意见。

2023-03-16 15:34:54 461

原创 探究C语言:强大之处与不足

因此,C程序员需要对底层原理和细节有较深入的了解,并且能够处理指针、内存管理等复杂问题。· C语言是一种通用的语言,适用于开发各种应用程序,包括操作系统、数据库、编译器、图形界面等。· C语言具备结构化编程的特点,可以用模块化的方式编写程序,从而提高代码的可读性和可维护性。· 在数据封装方面,C语言没有提供类和对象等面向对象编程(OOP)的特性,数据安全性较低。· C语言作为许多其他编程语言的基础,拥有丰富的数据类型和强大的运算符。· C语言能够直接操作内存和寄存器,因此执行效率和灵活性都非常高。

2023-03-16 13:53:31 114

原创 qt 框架的开发效率如何?

不要以为qt的信号槽就是简单的回调函数哦,它可是支持多种连接方式的,既能同步调用,又能异步调用,对多线程程序的开发极为友好。例如,新的qt多线程程序就建议使用一个worker对象移入工作线程,然后通过信号槽的方式执行工作任务,非常优雅。qt还"多此一举"地自己实现了类似于stl的容器类,因为stl的实现在不同平台上是有细微差别的,有时写跨平台程序还会不小心碰到这种坑,用qt的容器类就避免这种情况了。总体感觉就是qt让c++变得不那么像c++了,而是糅合了某种现代语言的感觉,优雅、易用、不易出错。

2023-03-15 17:21:48 142

原创 C 和 C++:您需要知道的不同点

要完全理解 C 和 C++ 的区别,首先需要了解什么是面向对象编程。面向对象编程(OOP)使用对象的概念,一个对象是类或程序代码模板的实例,而类可以由数据和代码过程组成。C 语言是一种纯过程式编程语言,不支持面向对象,而 C++ 则是一种混合编程语言,既支持过程式编程,又支持面向对象编程。除此之外,C++ 还支持多态、封装和继承等面向对象编程的特性,而 C 不支持这些特性。除了面向对象编程方面的不同,C 和 C++ 在其他方面也有一些不同点。比如,C++ 可以运行大部分 C 代码,但反之则不行。C++ 使用

2023-03-15 12:05:07 69

原创 为什么先规划再动手编写代码很重要?

很多初学者经常忽略前两步(定义程序目标和设计程序),直接跳到第三步(编写代码)。程序中隐藏的错误也越来越难找,那些跳过前两个步骤的人往往浪费更多的时间,因为他们写出的程序难看、缺乏条理、让人难以理解。要编写的程序越大越复杂,事先定义和设计程序环节的工作量就越大。例如,在写代码时可能会发现之前的设计不切实际,或者想到一个更好的解决方案,或者在程序运行后想要改变原来的设计思路。养成先规划再动手编写代码的好习惯,用纸和笔记录下程序的目标和设计框架,这样在编写代码的过程中会更加得心应手、条理清晰。

2023-03-14 14:59:16 54

原创 如何在单片机、嵌入式开发中做好软件设计与性能优化?

在单片机、嵌入式开发中,很多时候软硬件设计都由一个人负责,公司也不特别注重开发过程的规范性,只看重软件是否能正常运行。这种情况下,很容易导致开发出来的程序虽然能跑,但代码不规范、不易读,且性能问题严重。在这种开发模式下,如果没有人专门负责代码规范性和易读性,开发人员就需要自己主动管理好代码。关注CPU、内存等硬件资源的占用情况,合理使用这些资源,避免过度占用导致程序崩溃或性能下降。使用专业的性能分析工具来对代码进行评估和优化,避免出现代码冗余、死循环等问题;制定一些自我管理的机制,如代码审查、代码重构等。

2023-03-13 16:32:31 181

原创 学习C#上位机前有必要先学习PLC吗?

您好,针对学习C#上位机和PLC的关系,我认为完全不必先学习PLC。上位机和下位机之间的通信可以使用通用的接口(如RS232、485、USB、网口等),通信双方只需要定义好通信数据协议即可,不需要知道对方的工作原理。对这方面感兴趣,我曾写过一些学习笔记,分享了一些经验和技巧。欢迎关注我的微信公众号ENG八戒,每周至少更新一篇原创技术笔记,并分享一些小乐趣。刚好我这里有资料需要的可以私我。

2023-03-13 15:54:30 482

原创 以下是一些常用的上位机开发工具:

Qt Creator:Qt Creator 是一款跨平台的 C++ 集成开发环境(IDE),可以帮助开发者创建图形化用户界面,同时具有良好的调试功能,可用于Linux、Windows、Mac等操作系统的应用程序开发。Python IDLE:Python IDLE 是Python语言自带的集成开发环境(IDE),它可以帮助开发者编写Python程序,同时提供了丰富的调试工具,适用于Windows、Linux、Mac等平台。上位机的开发工具很多,具体选择哪种开发工具需要根据具体的需求和开发经验来选择。

2023-03-10 11:13:45 5720

原创 给自动化学生的建议

很多学生会有一个错觉,就是我明明在学校各科成绩那么优秀,为什么工厂开的工资那么低,真是个垃圾专业。就比如学校的课程开设了PLC。你单纯的把PLC玩好是没用的,你要知道能控制PLC的是上位机,通过上位机的学习还可以继续学习机器视觉,运动控制等等。

2022-12-08 15:21:41 341

原创 自动化过来人,传授行业经验

看到了就算你捡漏了,想明白了这些,大学出来拿个万元起薪轻轻松松。

2022-12-08 15:03:25 180

原创 跳槽加薪快

这其实说明了资本家对自己员工的剥削是有多么的残忍,自己的员工就只能吃吃大饼只有市场才能在一定程度上促进公平。

2022-11-11 17:29:51 133

原创 开发工作为何都是软硬分离

公司的任何规定都与利益有着千丝万缕的联系

2022-11-11 17:18:58 148

原创 工控出差体验感好的时候你遇到过吗

我们出差开心一定是因为我们有一个好的领导。

2022-11-09 17:53:13 293

原创 工业智能中的组态

随着计算机技术的发展,控制技术,通信技术和图形显示,工业计算机控制系统急剧增长。

2022-11-07 17:58:03 281

原创 人工智能之机器视觉

机器视觉是人工智能快速发展的一个分支。简单地说,机械视觉是测量和评估机器而不是人眼

2022-11-07 17:51:53 996

原创 机器也要学习?

在我们生活中,可以见到各种各样的人工智能产品,比如智能音箱、智能机器人等。它们都拥有着特殊而又神奇的功能。

2022-11-07 17:45:09 223

原创 PLC为什么会被上位机取代

随着我们进入高速发展的轨道,许多工厂都已经完成了自动化流水线生产的打造。我们可以看到很多大厂已经搭建了智能生产线。所以越来越多的plc工程师开始感觉到,只会传统的plc控制,已经无法满足公司的企业发展业务需求,遇到一些涉及上位机,机器人,视觉及物联网的项目,自己已经无法胜任。结局就是被辞退或者边缘化。

2022-11-06 09:15:31 3297

原创 自动化控制编程分哪几个方向

自动化控制编程的发展方向主要有以下几个: 单片机编程,PLC编程 , 基于工控机的机器视觉和运动控制卡编程等。

2022-11-06 09:06:55 302

原创 搞上位机, 专科学历,会有人要吗?

很多专科的同学存在着一点学历包袱,读大专只是说明你在读书上不是别人的对手,在求职工作中你不会比别人差,社会是一个新的赛道,不必过多的担忧。

2022-11-05 14:22:10 277

原创 从事C#上位机开发,没前途

首先我个人认为C#工控上位机是一个比较好的行业,前景也不错。

2022-11-05 14:17:17 6490

原创 上位机开发的意义

通过操作预先设定好的命令,将命令传递给下位机,通过下位机来控制设备完成各项操作。

2022-11-05 14:13:00 628

原创 如果还能重选一次,你海选自动化专业吗?

对于很多同学来说,自动化专业是一个曲线救国的方法,先进自动化专业,然后再根据自己喜欢转型,如果能从来大家肯定一步到位的选择自己的专业。甚至有些人直接去买彩票躺平。

2022-11-03 23:34:01 104

原创 自动化专业做上位机,现在薪资水平如何?

自动化专业的人一说起薪资,第一反应就是向搞IT和互联网的同学投去羡慕的眼神,反而忽视了那些几K的岗位,难道IT和互联网就没有5K的码农?只看到笑的那个人,哭的完全看不到。我是一个普通本科自动化专业毕业的,毕业后去了一家设备厂做PLC,一个月有二十五天不是出差就是在出差的路上,刚开始觉得到处跑跑挺新鲜的,只是工资低了点,领到手5K。学校不好对于进厂干活也是有心里准备的,但是那么辛苦才5K就有点难受,心想着提升下自己,换个工作提高工资。我就选了上位机学习,学完后去了家软件公司干现场二次开发,月薪7k加上出差补贴

2022-10-28 17:53:30 851

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除