初学者必看!PLC转型C#上位机编程学习路线和方法

news2024/11/27 12:33:12

一.通过线上学习C#,机器视觉,运动控制卡,工程案例,我迈向工控软件开发的转型之路

大家好,我是华山编程培训中心的学员——李工,今天分享下我是如何从电气工程师成功转型上位机开发的经历,希望我的经历能鼓舞更多的自动化工程师往上位机发展。

在锂电行业从事电气工程师工作一年多,我渴望在C#上位机运动控制和视觉软件开发方向发展。通过X音、X度等网络平台,我发现了华山编程培训中心朱老师的工控行业C#,机器视觉,运动控制卡,工程案例全套学习课程,决定报名参加。

在2023年初,我完成了这门线上课程的学习,为我的工控软件开发之路奠定了基础。

线上学习方法: 为了在学习过程中获得最佳的经济效益,我选择了线上和线下相结合的学习方案。为了更好地同时观看视频和编写代码,我购买了一个价格适中的液晶显示器,作为笔记本的副屏。硬件问题得以解决后,我采取了以下学习方法:

1.按照C#、固高运动控制卡、雷赛运动控制卡、视觉(Halcon)、工程实例的顺序进行学习。

2.对于每个内容节点,我先观看视频,然后做笔记并编写相关代码,以便更好地理解和吸收内容。

3.进行代码调试时,遇到问题我会向老师请教,并详细记录问题点以及解决问题的思路和方法(通过一对一的技术辅导群进行交流)。通过这种不断积累的过程,我逐渐实现了由量变到质变的学习进步。

我清楚地认识到,C#作为上位机软件开发的基础知识至关重要。因此,在学习过程中,我充分利用自己的热情,尽可能多地吸收课程内容。通过聆听、观看、记录笔记和验证代码的过程,我能够对每个知识点有更深入的理解和消化能力,从而达到更好的学习效果。即使在以后对某些知识点变得生疏时,我可以通过查看笔记快速复习。

尽管这种学习方法需要投入大量时间和精力,但它被证明是最有效的。只有在基础知识足够丰富的基础上,我才能更轻松地理解和消化后续的内容。因此,对于一个小时的视频,我可能需要花费两个多小时的时间来进行学习和实践。只有通过付出足够的时间和精力,我才能达到甚至超过自己预期的学习效果。

二.从线上到线下学习:我选择踏入全职学习的新阶段

导言: 在线上学习C#的过程中,我意识到自己的本职工作压力和加班频繁使得无法专心学习,无法达到预期的效果。因此,我决定转向线下学习模式,并向原公司提交辞呈,迈入全职学习的新阶段。

以下是我转向线下学习的决策理由和好处。

1.全职学习:转向线下学习模式让我能够摆脱工作压力,全心投入学习,提高学习效果。

2.热爱和激情:我对上位机软件开发充满热爱和激情,相信能够保质保量地完成线下课程学习。

3.全日制上课:线下学习采用上午上课、下午进行视频学习的模式,给予我更大的发挥空间。我可以提前预习课程内容,让自己在老师上课之前就有一定的理解和消化,并能更好地参与课堂互动。

4.老师指导:线下学习中,老师将亲自指导我们,随时解答我们遇到的问题,提供及时的帮助和指导。

5.同学交流:与同班同学进行交流学习,创造良好的学习氛围,相互促进和激励。

6.优越硬件条件:线下学习提供了运动控制卡、相机、工控机等良好的硬件条件,可以进行实物验证等实践操作。

7.实际项目经验:朱老师提供适合的项目,我们有机会参与软件开发,积累实际项目经验。

综合考虑,我决定转向线下学习,并向原公司提交辞呈,为自己全心投入学习做好准备。这个决策将使我能够更好地专注于学习,迅速提升我的技能水平,为未来在工控软件开发领域取得更大的成功奠定基础。我期待着与朱老师和同班同学们一起,共同探索学习的道路,并为自己的梦想努力前行。

三.全情投入,坚定信念:线下学习C#上位机课程的实践之路

导言: 我在深圳华山编程培训中心开始了为期两个多月的C#上位机线下课程学习,带着坚定的信念和对知识的渴望,我决心在有限的时间内尽可能多地学习知识,将时间、精力和资金的投入发挥到最好的效果。在学习的过程中,我采用了一系列的学习方法和策略,始终将学习视作自己的责任。

学习方法和策略:

1.走在老师前面:提前对课程知识进行自我理解和消化,对不了解的知识点做好笔记。在课堂上遇到问题时,积极请教老师并寻找解决方法,进一步理解和消化知识。

2.认真听讲:在课堂上,我认真听讲,并将主要的知识点做好笔记。课后将预习的笔记和课堂笔记进行融合,以更好地理解和消化本章节的知识点。

3.自我经历问题:在预习过程中,我亲身经历了很多问题。通过自己的努力,我解决了这些问题,对知识点的理解更加深刻。同时,这也避免了在课堂上跟不上老师的节奏的情况。

4.硬件熟悉:提前熟悉教室中的所有硬件设备,有助于在学习硬件方面的知识时更加顺利。

5.帮助同学解决问题:走在老师和同学们的前面,不仅解决了自己的问题,还可以帮助同学解决他们的问题。这既提高了自己解决问题的能力,也得到了同学和老师的认可,激发了更大的学习激情。

6.全身心投入:我每天早出晚归,抽出尽可能多的时间来学习,全身心地投入其中,专心致志地学习。有时甚至连周末也不例外。

各个模块的重要知识点:

1.C#:重点学习线程和任务、数据库操作等基本知识和操作。

2.运动控制:学会阅读手册,封装Axis类、motor抽象类,应用多线程进行学习。

3.机器视觉:学习Halcon图像处理的算子和操作步骤,将Halcon程序转化为C#程序并实现功能。

4.工程案例:将C#、运动控制和视觉综合运用于实际工程案例中。学习使用SDK采集图像、进行模板匹配、坐标修正、自动流程逻辑和书写、实时运行轨迹绘制、历史报警记录、软件加密、软件期限管理等技术。通过多线程的方式将这些知识点融会贯通,达到较好的效果。

自我成长的关键: 在学习过程中,自我成长的关键在于坚定的信念和意志力。必须设定明确的学习目标并坚持执行,选择适合自己的学习方法,并愿意为之付出努力。学习是一项艰苦的过程,但经过一段时间的努力,成果将会显现。当我们感受到进步带来的快乐时,就会更加激发学习的激情和自信心,继续努力学习下去。

信念的重要性: 在学习和掌握技术的道路上,自己必须拥有坚定的信念。就像中国志愿军在朝鲜战争中,面对强大的敌人,凭借着钢铁般的意志坚持斗争一样,我们也要在工控领域的学习中具备这样的信念和决心。学习技术是为了自己的成长和未来的发展,无论其他人是否能够夺走我们的知识,我们都要努力学习。我们来到华山编程培训中心,学习C#上位机软件开发,最终目的是为了从事C#软件开发,获得更好的待遇和工作环境。我们必须在有限的时间内,尽可能多地、扎实地、快速地提升自己在C#软件开发领域的技术水平。

结语: 在C#上位机线下学习的实践中,我坚持全情投入,按照自己制定的学习方法和策略进行学习。通过掌握C#、运动控制和视觉等重要知识点,我努力提升自己的技术水平。在这个过程中,自我成长的关键是坚定的信念和意志力,只有坚持不懈地,努力学习,才能取得技术上的突破和进步。通过每天早出晚归的付出,我不仅充分利用了有限的时间,还获得了教室的钥匙,让我更加自由地学习。这种全身心的投入和不懈努力,使我更加专注和有动力去面对学习的挑战。

然而,学习不仅仅是在课堂上进行的,它需要我们不断地与实践相结合。在工程案例的学习中,我将所学的C#、运动控制和视觉知识综合运用,通过多线程的方式将各个模块的技术融会贯通。这样的实践让我更加深入地理解和掌握所学的知识,并提升了解决实际问题的能力。

四.学完找工作

完成培训后,你开始准备找工作。朱老师在培训结束后帮助你编写简历,并提供面试指导。每次面试后,你可以向朱老师请教面试问题,并得到专业的建议和反馈。如果你没有找到理想的工作,朱老师会不断推荐适合你的工作机会,直到你找到满意的职位为止。

此外,朱老师还会在课程结束后,根据学生的兴趣讲解一些C#知识,例如委托、事件注册、特征和序列化、MES数据传输等。通过朱老师的指导和工作推荐,你将能够快速找到满意的工作机会。

点击领取上位机编程全套入门教程+工具https://s.pdb2.com/pages/20230307/CnORDNt9HimMjNS.html

一旦进入新的工作岗位,你将全力以赴地投入工作,并进入项目实践阶段。通过不断努力和积累经验,经过一年半载的时间,你的技术水平和工作经验将得到提升,使你在任何地方的薪资都不会低于15K。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/764255.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【10】STM32·HAL库开发-MAP文件解析 | STM32启动过程

目录 1,MAP文件浅析(了解)1.1MAP文件概念和作用1.2MAP文件组成1.3MAP文件实操 2.STM32启动过程(了解)2.1STM32启动模式(F1/F4/F7/H7)(也称自举模式)2.1.1STM32启动模式&a…

MybatisPLus3-Activerecord

不用注入数据层对象&#xff0c;就可以实现对数据的访问和操作 具体步骤 1.实体类继承Model<实体类名> 2.mapper接口继承BaseMapper<类名> 3.通过实例化实体对象&#xff0c;就可以通过对象调用CRUD的方法 增 删除/修改/查找的方式都和上面一样

《TCP IP网络编程》第六章

《TCP IP网络编程》第六章&#xff1a;基于 UDP 的服务端/客户端 UDP 套接字的特点&#xff1a; 通过寄信来说明 UDP 的工作原理&#xff0c;这是讲解 UDP 时使用的传统示例&#xff0c;它与 UDP 的特点完全相同。寄信前应先在信封上填好寄信人和收信人的地址&#xff0c;之后…

力扣142. 环形链表 II

题目 给定一个链表的头节点head&#xff0c;返回链表开始入环的第一个节点。 如果链表无环&#xff0c;则返回null。 链接&#xff1a;142. 环形链表 II - 力扣&#xff08;LeetCode&#xff09; 题解 方法一&#xff1a;设置两个指针&#xff0c;一个指针指向链表头结点&#…

重生之我要学C++第一课

时隔三月&#xff0c;继C语言之后&#xff0c;博主学成C归来&#xff0c;欲重开博客&#xff0c;与诸位分享经验&#xff0c;共同学习&#xff0c;今天就开始我们的c第一课——入门篇。 既然要开始学习c&#xff0c;就要了解 什么是c&#xff1a; C 语言是结构化和模块化的语言…

Vue2 ➔ Vue3 都做了哪些改变?

不是吧&#xff0c;兄弟&#xff0c;Vue3 都出来多久了&#xff0c;你还对这个感兴趣&#xff0c;说&#xff01;是不是没好好卷&#xff1f;&#x1f60f; 俺也一样 &#x1f602;&#xff0c;Vue3 出来之后只是简单了解了一下&#xff0c;然后还是转头一直在写 Vue2。当然&a…

如何升级iOS17/iPadOS17公测版?iOS17公测版升级教程

苹果官方发布了iOS 17/iPadOS 17系统首个公测版更新&#xff0c;其版本号及更新内容与iOS 17 beta 3一致&#xff0c;版本号为21A5277j。 对于想升级iOS 17/iPadOS 17 公测版的用户&#xff0c;可以参考本教程进行操作。 升级注意事项&#xff1a; 1. 为防止意外情况&#xf…

AlignPS中的TOIM损失

本文介绍了CVPR2021行人重识别领域中一篇名为AlignPS论文中的TOIM损失函数 论文链接&#xff1a;https://arxiv.org/abs/2109.00211 代码链接&#xff1a;GitHub - daodaofr/AlignPS: Code for CVPR 2021 paper: Anchor-Free Person Search TOIM TOIM Loss OIM Loss Trip…

【STM32零基础入门教程02】STM32环境获取及搭建

(14条消息) 【STM32零基础入门教程01】STM32入门基础知识_小超电子笔记的博客-CSDN博客 工欲善其事必先利其器&#xff0c;在上一章了解完STM32的一些基础知识之后&#xff0c;我们需要对使用的环境进行获取和安装。 一、MDK&#xff08;KEIL&#xff09;的获取 Keil是一种…

CCF 202209-2 何以包邮? (01背包动态规划练习)

一、先温习一下01背包问题 有N件物品和一个容量为V的背包。第i件物品的体积是c[i]&#xff0c;价值是w[i]。求解将哪些物品装入背包可使价值总和最大。 条件汇总 -------- 背包限制容量&#xff1a;Z 此时背包容量&#xff1a;C 物品&#xff1a;1 , i ... …

WSA - root,frida与ida测试

本文旨在配置windows subsystem for android(win安卓子系统)来作为win在开启了hyper-v的情况下的一种轻量的安卓模拟器方案。使用MagiskOnWsa设置root权限&#xff0c;最终使其正常与开发环境、frida、ida打通。 1. Root的WSA 常用的Wsa版本在目前是没有默认root的。在物理机…

matlab滤波器设计-IIR滤波器的设计与仿真

matlab滤波器设计-IIR滤波器的设计与仿真 1 引言 在现代通信系统中&#xff0c;由于信号中经常混有各种复杂成分&#xff0c;所以很多信号的处理和分析都是基于滤波器而进行的。但是&#xff0c;传统的数字滤波器的设计使用繁琐的公式计算&#xff0c;改变参数后需要重新计…

【Matlab】智能优化算法_猎豹优化算法CO)

【Matlab】智能优化算法_猎豹优化算法CO 1.背景介绍2.数学模型2.1 搜索策略2.2 坐等策略2.3 攻击策略2.4 假设 3.文件结构4.伪代码5.详细代码及注释5.1 CO.m5.2 CO_VectorBased.m5.3 Get_Functions_details.m 6.运行结果7.参考文献 1.背景介绍 猎豹&#xff08;Achinonyx jubat…

Kubernetes部署服务到集群中的指定节点

# kubectl get node NAME STATUS ROLES AGE VERSION k8s-master Ready master 25h v1.17.3 k8s-node2 Ready <none> 25h v1.17.3 集群只有两个节点&#xff0c;这里打算将应用部署在k8s-node2节点上&#xff0c;需要先记下这个节点的…

【3】Vite Vue3 用户、角色、岗位选择组件封装

在当今前端开发的领域里&#xff0c;快速、高效的项目构建工具以及使用最新技术栈是非常关键的。ViteVue3 组合为一体的项目实战示例专栏将带领你深入了解和掌握这一最新的前端开发工具和框架。 作为下一代前端构建工具&#xff0c;Vite 在开发中的启动速度和热重载方面具有突…

攻不下dfs不参加比赛(十三)

标题 为什么练dfs题目为什么练dfs 相信学过数据结构的朋友都知道dfs(深度优先搜索)是里面相当重要的一种搜索算法,可能直接说大家感受不到有条件的大家可以去看看一些算法比赛。这些比赛中每一届或多或少都会牵扯到dfs,可能提到dfs大家都知道但是我们为了避免眼高手低有的东…

24 - 数组和广义表 - 二维数组

前面我们学习了一维数组、今天来看看二维数组,比一维数组更加复杂! 数组的特点 存储的空间连续 存储类型相同 可以使用地址+偏移快速访问 二维数组定义 二维数组本质上是以数组作为数组元素的数组,即“数组的数组”,语法格式如下: 类型说明符 数组名[常量表达式][常量表达…

977.有序数组的平方

977.有序数组的平方 1.暴力排序 这道题最直观的方法在于&#xff0c;将数组中的每个数平方之后&#xff0c;排个序 public int[] sortedSquares(int[] nums) {int[]ans new int[nums.length];for(int i0;i<nums.length;i){ans[i] nums[i]*nums[i];} Arrays.sort(ans);ret…

人工智能LLM模型:奖励模型的训练、PPO 强化学习的训练、RLHF

人工智能LLM模型&#xff1a;奖励模型的训练、PPO 强化学习的训练 1.奖励模型的训练 1.1大语言模型中奖励模型的概念 在大语言模型完成 SFT 监督微调后&#xff0c;下一阶段是构建一个奖励模型来对问答对作出得分评价。奖励模型源于强化学习中的奖励函数&#xff0c;能对当前…

高通芯片android进入EDL模式 下载 热启动 串口指令

参考&#xff1a;高通方案的Android设备几种开机模式的进入与退出_edl模式怎么退出_Rookie20190715的博客-CSDN博客 切换为EDL模式 向串口发送 4b 65 01 00 54 0f 7e 或者adb reboot edl