一个月前开始决定学习PLC的,目前主要从事设备维护的工作。考虑到个人的兴趣及未来的职业规划,自己必须付出行动,做出改变。经过这段时间的摸索,我计划从以下四步开始学习PLC。
第一步是首先学习电子与电工技术的基础理论知识。这段时间初步接触了西门子S7-200的书籍,发现还是欠缺基本的电工电子理论知识。之前学过电子与电工方面的知识,目前基本没有太多印象了。为了建立完整的知识体系,还是应该把基础知识学好,初步规划为2个月的学习时间。
第二步是通过书籍、视频等的方式,学习S7-200的理论知识,做好相应的笔记,通过模拟软件进行实战训练。因为之前学习的PLC比较简单,而且没有专门的模拟实战,可能这一步需要自己保持足够的耐心和毅力,初步规划为3-4个月的学习时间。
第三步是购买PLC模块来进行实战模拟,通过一些例子来进一步将理论与实践结合起来。这一步初步规划为2个月的时间。
第四步是在学好S7-200的基础上,进一步学习S7-300/400,这一步相当于真正与未来的工作接轨了。具体时间就暂且不定。
上述时间是初步的一个规划,因为工作的原因,我不能把学习时间周期缩得太短,自己尽量抓紧学习效率,争取提前完成任务。
每天我会将自己的学习进度在该贴下方进行记录,也算是记录一下自己PLC的整个学习过程。谢谢之前在论坛里对我提出指导的师傅,适当的时候我会继续向你们请教的,在此先提前谢谢大家。
曾文正公曾说过:慎独无愧于心。
好好珍惜现在的空闲时间,切莫白了少年头,空悲切。
这一个月来由于放假的原因,自己放松了警惕,可耻。零零散散地看了一些,也没有及时在论坛上记录下来,有愧于当时开贴的初衷。昨天公司在督促大家参与公司企业年金的事情,我没有选择加入。我不想给自己退路,那么,这样松散的学习也是不行的。
先说说PLC学习的计划吧。通过这段时间的学习,以及跟老师傅们的交流,我还是选择放弃学习西门子PLC了,选择学习麦克韦尔的PLC。因为现在上班的地方,一般都是AB的PLC,方便自己观察和实践;另外,据老师傅说,AB的PLC很完善,应该当做典型来学习。反正PLC学习也是举一反三的,可能每一家都很相近。考虑到方便实践的原因,我还是选择学习AB的PLC吧。
这一个月的学习计划分为三步走。第一步是熟悉AB PLC的理论知识,考虑到目前手上没有合适的书本,选择学习浙大AB的PLC教程,在此也感谢大家的分享,这32节课在十一放假完之后应完成;二是熟悉5000的编程软件,包括编程思路、步骤、程序编写的,我在网站上也下载了一些资料,其中有一培训资料不错,以它作为模板进行学习,此部分在10月20号前完成;三是实例训练部分,主要找经典的实例进行选型、编程等的实践,到达月底之前,应至少完成4例实例的训练。
前段时间看了乐嘉老师的《色眼识人》的书籍,发现自己属于黄+红+蓝性格的人,其中好胜心是黄色性格的典型体现,红色的胡思乱想也是有一定根基的,蓝色在学习方面表现明显,但是在生活中体现不够。知人者智,自知者明。通过该书让我又一次认识了自己,比如这次放假的放松,没有借口,就是你自己不够努力,不够坚守。
这两天把教学视屏的前四讲看完了,主要介绍了继电器控制系统、PLC基本组成、编程语言等方面的内容。因为以前有PLC的基础,这里就没有过多的学习了。但是,老师讲的PLC硬件方面的知识还是很有帮助,以前几乎没有机会接触PLC的硬件,通过老师的讲解,还是知道了一些硬件方面的常识。
PLC是在继电器控制系统的基础上发展而来的。最初提出将继电器硬接线逻辑转为软件逻辑的是美国GM(通用汽车公司)公司,它在1968年招标催生了第一代PLC的产生,随后PLC进入到黄金发展时期,尤其上世界70年代,日本和德国在该领域获得了极大的成功。
PLC一般由CPU(包括微处理器和存储器)、输入/输出模块、输入设备、输出设备、电源等组成,其工作方式是循环顺序扫描的方式。PLC的框架可分为本地框架和扩展框架,本地框架包括plc框架、输入/输出模块、电源等,一般框架的左侧为CPU,右侧为电源模块;扩展框架主要有输入/输出模块、通讯模块,其左侧一般为适配器模块。当然,这些东西我也是了解得一知半解,暂且这样有个印象吧。
至于AB PLC的型号,主要有基础型、增强型、网络型、小型、微型等,一般斜杠后数字越大代表点数越多,功能相对于更强大。PLC的变成语言主要有三种,一种是梯形图,一种是结构文本,一种是顺序功能图。对于自己而言,比较熟悉的是梯形图,其他两种暂时不学习,根据以后的需要再学。
PLC的性能指标主要有:内存容量,点数,扫描速度,扩展功能,通讯及网络等。
这部分关于硬件的知识,等到学习到一定层次后,再去现场找老师傅请教,其实还是有不少有对不上号的东西,暂且用笔记记下吧,到时候在对号入座。
中午看了教学视频的第五讲,主要讲的是PLC的物理、逻辑地址间的关系,包括寻址方面的内容。
前面已经提过,PLC-5系列最基本的组件为CPU、I/O模块、电源,其中CPU一般位于本地框架的最左端,而电源一般位于本地框架的最右端,I/O模块放置在中间。具体来讲,I/O模块也是有一定排序的,其左端为模拟量I/O模块,然后依次为直流I/O模块、交流I/O模块,其中按照电压大小依次从左往右从低到高排列,这样排序的依据是对CPU的干扰越小。
对于CPU而言,存在物理地址和逻辑地址,两者有一一对应的关系。物理地址,就是某一模块的某一插槽的某一端点的位置;而逻辑地址,指的是内存中与物理地址对应的存储位置,具体指的是某一机架的某一I/O数组的某一位数,一个机架包括8个I/O数组,1个I/O数组包括两字的存储空间,其中1字为输入数组,另一字为输出数组。通过此种分类,达到物理地址与逻辑地址一一对应起来的关系。
关于PLC的寻址,主要方式有2槽寻址、一槽寻址、1/2槽寻址,其方法其实都大同小异,差别在于2槽共用一个I/O数组,所以两槽必须是输出与输入模块的结合,而一槽寻址,是一槽对应一个I/O数组,如果模块点数在16点或以下时,则可以随意插入模块;而如果模块点数为32点时,则也需要按照互补的形式将I/O模块插入到框架中;而对于1/2槽寻址,则随便以何种组合将I/O模块插入到框架中,但是此种方法浪费的内存空间也较大。
对于PLC的寻址方法,基本原理还是了解了。但是其对应的用法,目前还是处于不知晓的状态。我猜测跟PLC框架的模块插入方法有关。这方面的疑惑,有待在接下来的学习揭晓。
10月1号看了三节教学视屏,主要内容有PLC的直接寻址、间接寻址、变址寻址,PLC的继电器指令、计时器/计数器指令,最后一节通过RSlogix 5的编程软件,老师进行了一次教学编程。
PLC的数据文件系统默认有八种,分别为:输出文件、输入文件、状态文件、计时器文件、计数器文件、整数文件、浮点文件。其文件编码及直接寻址比较容易接受,跟PLC插入框架有类似的地方,这里就不多说了。间接寻址和变址寻址也分别是通过一些文件中数字作为系统号、直接用文件名字来进行寻址,也好理解。
PLC的指令分为两种,一种是沿用继电器系统演变而来的继电器命令,跟继电器类似,但是在互锁上增加了互锁的命令,这是继电器的模块不具备的;计时器/计数器指令是类似的,可分为通电延时型、断电延时型、保持型、加法计数器、减法计数器等,其命令使用也好理解,注意断电延时型和减法计数器在阶梯命令接通时,其完成位DN处于置位的状态(1),这也平常我们思维所认为的有点区别,需要注意 一下。
对于编程这一节,我只是把编程的过程简单熟悉了一下,目前还不具备独立编程的能力,可能最近会通过例子再熟悉一下,这里就不细说了。等掌握了过后,再来详细说收编程的流程。
昨天因为有事只看了教学视频的一节,主要内容是关于编程以及一些基础指令。今天看了三节教学视频,主要内容还是关于指令的一些基本操作及里面一些参数的基本意思。通过今天的学习,我感觉到PLC的远离与C语言的编程有异曲同工之妙,只是PLC的作用对象的工程实际,而编程语言针对的是计算机这一大方向。
简单地介绍一下今天学习的指令,主要有:比较指令、计算指令、逻辑指令、转换指令、位处理和传送指令、文件指令等。
比较指令主要有CMP比较指令、等于指令EQU、大于指令GRT、小于等于指令LEQ、小于指令LES、极限测试指令LIM、相等的屏蔽比较MEQ、不等于NEQ等。用法都是用数据A与数据B进行比较,属于输入指令,因为涉及数据比较有关,个人感觉在模拟量的输入这块应用较多。
计算指令用来计算表达式或指定的算术指令有关的运算,属于输出指令。包含的指令涉及到日常的数学各运算方法,比如加减乘除、对数、三角函数等,用法一般是将数据A与数据B进行运算,然后存储在目的地址中,其中计算指令CPT包括了所有的单一计算指令,但是其占用内存大,切计算时间长。
逻辑指令主要用来进行逻辑操作,主要包括与操作、或操作、非操作、异或操作等,属于输出指令。其用法与计算指令类似,也是将数据A或者数据B进行逻辑运算,然后将其存储在目的地址中,其操作的对象是字,具体运算的是字的位进行一一运算。
转换指令是用来整数与BCD码之间的相互转换、角度与弧度之间的转换,属于输出指令。包括整数转换为BCD码(TOD),从BCD码转换为整数(FRD),弧度转换为角度(DEG),度转换为弧度(RAD)四个指令,其用法与计算指令类似。
位处理和传送指令主要用来调整位和位传送,涉及的指令具体有:位分配BTD,其主要用在字间或者字内的移动;字传送MOV,其用来将源值传递给目的地址;屏蔽传送MVM,其用来将源值拷贝到目的地址中,其中允许部分数据被屏蔽,指令中的MASK用来布局进行屏蔽的位。
文件指令的作用是用于文件数据的运算和文件数据的比较,其是对文字的操作,表示对多个字的操作,属于输出指令。类似于文件间的计算等指令,文件数据通常用#+文件数据起始地址的方式表示,其文件长度有专门的length来定义。其包括文件算术和逻辑指令、文件搜索和比较指令、文件填充和文件拷贝指令。
这两天学习的指令较多,不过感谢老师的耐心讲解,指令的用法及原理还是搞懂了。只是目前还是不熟悉,有些指令连简写都还没有记住,这需要案例的锻炼,也需要一个时间的磨砺。接下来的几天,把剩下的三节课学完,然后拿例子练练手,增强一下对指令的理解。
今天,看完了AB教程的最后三节。主要内容有:移位指令、程序控制指令、过程控制指令(PID)、块传送指令、信息指令等。因为今天的内容较为复杂,且理解起来较以前更为抽象,所以暂时无法进行记忆式地称述,只能借助于笔记。
移位指令是用来模拟部件和信息的运动和流动,属于输出指令。主要包括的指令有位左移BSL、位右移BSR、先入先出装入FFL、先入先出卸出FFU、先入后出转入LFL、后入先出卸出LFU。后面四个指令在计算机编程里面有学习,比较容易理解。位左移与位右移类似,当阶梯条件为真时,指定地址的位都左移一个位置。
程序控制指令是用来控制程序之间的操作的,包括主控复位指令MCR,跳转和标号指令,FOR、NXT循环和BRK中断指令,跳转子程序JSR,子程序SBR和返回RET,暂时结束TND指令和恒假指令AFI,一次启动指令ONS,上升沿启动OSR,下降沿启动OSF,用以复位顺序功能图的SFR指令,用以结束转换文件的转换结束EOT,用于允许或禁止用户终端的UIE和UID指令。上述指令的基本原理已经明白,等待实际编程时的熟悉。
块传送指令包括BTR和BTW,用来对本地或者远程I/O框架的块进行传出或读写,可分为处理器与I/O模块间的块传送写和块传送读,也可用于适配器与处理器之间进行相反的块传送指令,两者用法有点差别。
信息指令MSG用来在两处理器之间通过DH+网、以太网进行数据传送,最多传送1000个数据,DH+与以太网的数据包所含字数不同,一般以太网所含字数更多。
至此,浙大AB PLC教程已经粗略看完,感谢老师的耐心讲解,基本指令还是理解了不少。接下来一周,主要是按照学习资料进行指令等的熟悉,网络的建立以及模拟等,视屏教程的有些部分估计还是回炉再看。加油,接下来的一周!
这两天在晚上随意地找了些资料来看,结果在新浪微博上发现了一些基础的教材,将rslogix5000的编程地址问题搞懂了。原来,RSlogix5000跟传统的PLC选用的固定内存地址,他可以通过标签数据库创建自文档化代码,不必使用地址和符号,以使代码易于阅读。
所以,5000中建立地址的方式更为人性化,首先可以根据功能需要确定地址名称,然后在I/O组态后,将通过编辑标签页面来添加名称对应的物理逻辑地址,简单方便。这与500的编程显得更为简单。
不过,5000如何建立仿真还不会,Emulater的软件也没有,不过这也不着急。接下来的一步就是根据简单地例子来熟悉编程流程,按照之前制定的计划实施就行。