① C语言入门什么是编程语言
学习编程语言之前,首先要搞清楚“编程语言”这个概念。
很小的时候,父母就教我们开口说话,也教我们如何理解别人讲话的意思。经过长时间的熏陶和自我学习,我们竟然在不知不觉中学会了说话,同时也能听弯和懂其他小朋友说话的意思了,我们开始向父母要零花钱买零食和玩具、被欺负了向父母倾诉……
我们说的是汉语,是“中国语言”,只要把我们的需求告诉父母,父母就会满足,我们用“中国语言”来控制父母,让父母做我们喜欢的事情。
“中国语言”有固定的格式,每个汉字代表的意思不同,我们必须正确的表达,父母才能理解我们的意思。例如让父母给我们10元零花钱,我们会说“妈妈给我10块钱吧,我要买小汽车”。如果我们说“10元给我汽车小零花钱妈妈”,或者“妈妈给我10亿人民币,我要买F-22”,妈妈就会觉得奇怪,听不懂我们的意思,或者理解错误,责备我们。
我们通过有固定格式和固定词汇的“语言”来控制他人,让他人为我们做事情。语言有很多种,包括汉语、英语、法语、韩语等,虽然他们的词汇和格式都不一样,但是可以达到同样的目的,我们可以选择任意一种语言去控制他人。
同样,我们也可以通过”语言“来控制计算机,让计算机为我们做事情,这样的语言就叫做编程语言(Programming Language)。
编程语言也有固定的格式和词汇,我们必须经过学习才会使用,才能控制计算机。
编程语言有很多种,常用的有C语言、C++、Java、C#、PHP、JavaScript等,每种语言都有自己擅长的方面,例如:
C语言和C++主要用于PC软件开发、底层开发、单片机和嵌入式系统;
Java和C#不但可以用来开发软件,还可以用来开发网站后台程序;
PHP主要用来开发网站后台程序;
JavaScript 主要负责网站的前端工作(现在也有公司使用 Node.js 开发网站后台)。
可以将不同的编程语言比喻成各国语言,为了表达同一个意思,可能使用不同的语句。例如,表达“世界你好”的意思:
汉语:世界你好;
英语:Hello World
法语:Bonjour tout le monde
在编程语言中,同样的操作也可能使用不同的语句。例如,在屏幕上显示“XX电子社区”:
C语言:puts("XX电子社区");
PHP:echo "XX电子社区";
Java:System.out.println("XX电子社区");
编程语言类似于人类语言,由直观的词汇组成,我们很容易就能理解它的.意思,例如在C语言中,我们使用puts这个词让计算机在屏幕上显示出文字;puts 是 output string(输出字符串)的缩写。
使用 puts 在屏幕上显示“XX电子社区”:
puts("XX电子社区");我们把要显示的内容放在("和")之间,并且在最后要有;。你必须要这样写,这是固定的格式。
激搭总结:编程语言是用来控制计算机的一系列指令(Instruction),它有固定的格式和词汇(不同编程语言的格式和词汇不一样),必须遵守,否则就会出错,达不到我们的目的。
C语言(C Language)是编程语言的一种,学习C语言,主要是学习它的格式和词汇。下面是一个C语言的完整例子,它会让计算机在屏幕上显示”XX电子社区“。
这个例子主要演示C语言的一些固有格式和词汇,看不懂的读者不必深究,也不必问为什么是这样,后续我们会逐步给大家讲解。
#include
int main(){
puts("XX电子社区");
return 0;
}
这些具有特定含义的词汇、语句,按照特定的格式组织在一起,就构成了源代码(Source Code),也称源码或代码(Code)。
那么,C语言肯定规定了源代码中每个词汇、语句的含义,也规定了它们该如何组织在一起,这就是语法(Syntax)。它与我们学习英语时所说的“语法”类似,都规定了如何将特定的词汇和句子组织明闹拿成能听懂的语言。
编写源代码的过程就叫做编程(Program)。从事编程工作的人叫程序员(Programmer)。程序员也很幽默,喜欢自嘲,经常说自己的工作辛苦,地位低,像农民一样,所以称自己是”码农“,就是写代码的农民。也有人自嘲称是”程序猿“。
② 如何自学PLC
1、门外汉阶段
此阶段建议看一些基础的东西,如什么是PLC( Programmable Logic Contro|ler可编程控制器),基本原理是什么、可以应用在哪些地方之类的,反正就是对它能有个整体的了解。
PLC就相当于人的大脑,各种检测原件(辅入信号)就好比人的眼睛、耳朵、鼻子,执行原件(输出信号就是手脚,PLC通过收集信号,然后通过逻辑运算(大脑思考判断),指挥执行原件动作。
2、初级入门
PLC种类很多,就说西门子吧。首先你需要一台电脑,配置一般就行,市面上主流配置就可以了,CPU(指PLQ就不用了:其次,安装编程软件Step7(简称S刀),版本建议54以上,现在我们做项目都是用5.5版本的。
软件安装完以后,就可以开始入门之旅了。建议装在虚拟机中,与正常使用的系统分开。
一是因为软件启动会有很多服务,影响电脑性能
二是编程软件容易被杀毒及其他软件破坏,导致无法使用,重装软件太过麻烦
①、开始入门当然就是梯形图了(在此插句,之前看到有人说梯形图落后,企业已经不用了,表示反对!语言无优劣,编程有技巧,本人在冶金行业央企工作,上亿的项目都会用到梯形图,大家不要认为简单就无用)先编写简单的小程序,比如红绿灯、运输带、小车之类的都是只有几行的程序,这时候用到的都是开关量,也就是0和1的逻辑,学会用 PLC SIM做模拟,会了模拟,什么是输入(Q),什么是输出(Q),什么是中间变量(M),就都理解了,前面说的小程序秒懂,此阶段一天时间就差不多了。
②、学习数据的处理,包括数据的传输,转换,其中涉及到数据类型等基础知识,如果是工科学生学过C语言应该很容易,数据处理中需要用到很多基础功能块,像加减乘除这些块一看就知道啥功能,比如move那些看不懂的块,按F1看帮助,帮助写的可能很复杂,多看几遍就明白了,看完最好自己做笔记,记成自己容易理解的(各种复杂的块,长篇的英文帮助,这个阶段是最容易让人失去学习兴趣和动力的,一定要坚持住)。数据处理也可以用模拟器模拟,很直观。
③、前面说的都是零件,学的差不多就可以开始功能和功能块。块类似于子程序,使我们的程序结构化,简化程序组织,便于修改、查错、调试,简单举个例子
你有一千个灯泡要控制开关,他们的控制逻辑相同,虽说每个控制程序只需要短短几行,但每个都写这么几行那就是几千行,非累吐血不可。这时候块的用武之地就来了,根据控制逻辑编写一个灯泡的控制程序,只把I/O作为接口做成功能块,然后对于每个灯泡调用这个功能块就好了。也就是说把零件拼成了部件,有需要就直接用部件。如果单体控制程序特别复杂,有多大好处你懂得。
软件中有自带的系统功能和功能块,学习这些块还是要找F1帮忙,自己做好笔记。
3、入门阶段
此阶段就需要学会编辑人机界面了,人机界面可以显示设备运行状态,也可以对设备进行控制。画面种类也很多,就说西门子自家的wncc吧。
我们做工程都是用 wincc70以上的版本了,但自学的话不建议安装7.0及以上版本,原因是对电脑硬件要求高,一般机器跑起来很吃力。推安装 wincc62版本,此版本功能完全能满足你学习需要,五年前的电脑就能跑的起来。软件很好找,英语不好的建议下载中文版。
安装完编辑界面就是这个样子,不是说软件复杂,是杂!
入门成功相当于什么水平?大学毕业的水平吧,可以找工作了!什么样的工作?电气维护、比如水站、液压站之类以控制泵阀为主的区域。当然你去了以后是要学习硬件的,逐步迈向中级阶段。
三、避免进入学习误区
对于很多在工厂从事维修保养的电工、想从事自动化行业的毕业生来说,PLC是绕不开的坎。可苦于没有相关经验,更没有前辈带路,再加上现在大师专家满天飞,导致走了很多弯路,为此特意整理一些误区,希望能给大家带来帮助。
1、纠结品牌
这是最常见的问题了,经常在后台留言上有人如此提问,入门是学习三菱plc还是西门子plc好?我有三菱的基础了,多久能学会西门子PLC?
如何选择PLC绝大多数情况是根据自己实际生活中的接触而定,工作中接触的三菱多就学三菱,反之就学西门子。
欧美品牌就学西门子,亚洲品牌就学三菱。值得一提的是,当你从未接触过PLC,想简单易上手可以选择三菱,想学目前市场应用最广泛的可以选择西门子。
2、不动手找资料
这个也是很常见的,在佳途的学员社群里面可以下载各种PLC的编程手册,仔细阅读里面的帖子就会发现有很多都是你需要的资料,千万不要遇到问题先开口问别人要,正确的做法应该是先主动去寻找,利用互联网强大的搜索功能,找到你需要的内容。
在自己无法找到想要的内容时,再去向老师请教学习。切记张口就来,找的过程不仅仅是锻炼个人收集信息的能力,也是锻炼你独立解决问题的能力,同时也能体会到资料的来之不易。
3、有了资料不看
当你获取了资料,希望能认真仔细的阅读,而不是让资料睡觉。这也是和第二条相通的,自己辛苦找到了才会好好珍惜、好好观看。
4、不去认真学习基础
学习任何东西都是从基础开始的,基础没有就去学,别总想着一蹴而就。
同样,学习PLC也是从电工基础开始的,你让一个钳工学PLC?他连直流电交流电都搞不懂,那还不是从如何区分直流电交流电开始?
PLC的基础包括,电工基础(直流电,交流电,开关按钮,继电器等元器件),计算机基础(基本计算机原理,二进制,十六进制,字节,字等常识)以及机械,液压,气动等等。
还是那句话,不会我们可以学,没基础就去学基础。
5、思维模式固定,不能举一反三,触类旁通
这是最可怕的,所谓的工作经验,就是不断的举一反三,完善自己的知识结构和储备,而不是简单机械的时间积累。
你弄十年自锁互锁和弄一个月自锁互锁是一样的。学习了PLC,就要用PLC的思维方式,不要老想着逻辑线路转换成梯形图,这是不对的,因为两者虽然有关系,但本质是不一样的,工作机理也有差别。最好的方法就是多去看别人写的程序,多学多实践,。
6、多练习模块化编程,不要拘泥于一种程序语言
有些学了三菱PLC,又没认真思考的人,一看西门子的程序,主要是S7-300、S7-1200、S7-1500的程序一脸懵逼,这都什么啊,这是PLC吗?怎么和我以前看到的不一样,怎么都是FB?
这其实是模块化的编程方法,是PLC的发展趋势。这种方式的优点非常之多,特别是对于大型工程,分布式工程,以及未来的信息化工厂,是非常便捷的。而且对于系统扩展,设备移植,也是很方便的,大家多多少少都要理解。