线下实训
HOME
线下实训
正文内容
plc编程SEGL 献给初学PLC的朋友们——咬咬牙,努努力,就会了!
发布时间 : 2024-10-14
作者 : 小编
访问数量 : 23
扫码分享至微信

献给初学PLC的朋友们——咬咬牙,努努力,就会了!

今天结合自身学习PLC(三菱系列)的经验,给广大PLC初学者分享一下,希望对大家的学习入门能带来一定的帮助。

虽说如今国内使用的PLC品牌不下几十种,但不外乎欧系和日系两大类。欧系以西门子PLC等品牌为代表,其功能与质量一流,但是价格昂贵;而日系因为价格相对便宜在国内被广泛使用和仿制,其中三菱与欧姆龙等为第一梯队,国内的信捷、台达等为第二梯队。

由于工作和学习经费问题,本人以三菱FX2N为主攻方向。各位电工朋友可根据自己的条件选择适合自己的PLC品牌,由于PLC的基本框架大同小异,学会一种至于其它的学习起来也就简单了。

在此要指出的是,初学阶段大家不必急于投入太多的资金购买PLC实物

学习伊始理论知识积累是必不可少的。此时一本货真价实的工具书是你的不二之选。电子工业出版社由李金城老师编写的《三菱FX2n PLC功能指令应用详解》一书非常值得一看,此外人民邮电出版社《三菱系列PLC快速入门与实践》一书也是非常不错的资料。

(在犀灵公众号后台回复关键词【三菱】,即可获得这两本书的高清电子版。)

其次,在学习初始阶段首先要弄清PLC的内部结构与选型方法,并牢记PLC在实际使用当中的禁忌。随后用心学习理解吸收PLC的基本语句和梯形图的编程方法。无论三菱还是西门子亦或国内各品牌PLC其官网都提供免费的编程软件,好一些的还有在线仿真软件提供,便于没有PLC实物的学习者模拟学习。该阶段我们可以将一些常用的电气线路图如正反转、Y/△启动等线路用PLC梯形图的方式编写并加以仿真。

现如今的PLC在基础指令后又加入了大量功能指令,这些指令功能十分丰富。原本需要繁琐线路完成的功能,现在仅用一个功能指令即可搞定。例如用一只常开按钮轮流控制接触器吸合、释放,若用传统的触点联锁线路来搞则十分复杂,如今三菱PLC里面的ALT指令就能轻松搞定。当然这么多的功能指令(FX2N系列PLC有近300条功能指令)在学习当中也应区别对待,像HKY、SEGD、SEGL等已经过时较少使用的指令可省略不学或者略做了解即可。

在功能指令的学习中应特别关注一下PID、CJ、CALL等一些较难理解而又应用广泛指令的学习和掌握。针对这些指令在学习理论知识的同时,还要结合一些成熟的程序范例加以深度的理解和揣摩,在此基础上可以针对一些小型的生产任务加以编程练习,以练促学,边学边练。

如果你已将PLC的基础指令、功能指令还有编程方法熟练掌握并能灵活运用,那么恭喜你已经踏入PLC的大门,当然这只是一个起点,后面的通讯、PID控制等功能更为复杂的任务还等着你去继续学习那!如果你三心二意出现 X08 Y19 等贻笑大方的典故,恐怕你登堂入室的时间会遥遥无期的!

1、坚强的毅力和足够的耐心

人各有所长。有些人把编程看作一项冗长而枯燥的工作;有些人把编程看作一项趣味的智力游戏。如果你是前者,强烈建议你远离这份工作。毕竟编程工作是对人的毅力和耐心的挑战。我所在实验室中,很多学生看到我编程序就会惊讶于我面对这一堆堆符号所表现出的专注。

其实,这是兴趣使然。兴趣使我具备了足够的毅力和耐心。经过无数次失败后,当看到一个个符号按我的思路整齐的排列,PLC按我的要求有条不紊的运行时,兴趣得到了极大的满足,如同打通了一个游戏的关口。所以,我告诉这些学生:你们看到的是一堆枯燥怪异的符号,我看到的却是一群热情奔放的舞者,而我则是她们的导演。

2、敢于实践的信心

我曾经教过一个学生学AutoCAD,我对她的唯一要求就是实践。我告诉她:你随便怎么操作,大不了一张图重画;最坏的结果是系统崩溃,没关系,系统重做,再来;只要电脑没被砸了,怎么都行。两年后,我再看到她做的CAD图纸,也自叹不如。

同样道理,只有不断地在PLC上运行这些指令,观察运行的结果,才能弄清PLC指令的作用。很多初学者对PLC一脸的迷茫,往往是出于一种畏惧,担心损坏设备。而这些畏惧是没有任何道理的。仔细的阅读手册是非常重要的,但是仅靠读书是成不了一个工程师的。更何况手册上的内容并非面面俱到。我在接触到那些不熟悉的指令时,喜欢单独编一个小程序,让PLC运行。然后逐个修改条件,观察运行的结果(MicroWin为用户提供了非常好的监控手段),反过来再重新理解手册的描述,这样就可以非常直观的理解这些指令的作用和使用方法。

不必担心自己写的程序会有什么问题,会影响PLC的正常工作。程序有没有问题,只有让PLC运行了才能发现。而发现问题并解决问题就是对自己能力的提高。撇开硬件操作不谈,单就软件来说,我还真没有遇到过由于软件问题而损坏PLC的事。在这里不必担心继电器电路接错线可能造成的后果。所以,大胆的实践是PLC编程的必由之路。

当然,大胆实践并不是野蛮操作,而是必须遵循必要的规范。还有一个要注意的,在程序未经可靠性证实之前,千万不要挂接负载,以免造成不必要的损失。数字量的输出有LED显示;而模拟量处理可以采用一些硬件或软件模拟手段来解决。

3、缜密的逻辑思维

编程本身就是一种逻辑思维过程。在高级语言中,使用最多的是if then else、select这些条件判别语句,这就是逻辑中的因果关系。PLC程序就是由这些因果关系组成的:判别条件是否成立,进而决定执行相应的指令。最初的PLC是用来替代继电器逻辑电路的,所以继承了继电器电路以触点作为触发条件的描述方式。

在PLC中,以虚拟触点代替了继电器的金属触点,而继电器电路所表达的逻辑关系还是被完整的保留下来。即使引入了继电器电路难以胜任的数值处理过程,PLC从根本上还是在执行一个个因果关系。所以,理顺对象的各个事件之间的逻辑关系,是编程之前必须精心做好的准备工作。我在接到一项任务后,第一件事就是整理出一份逻辑关系图,与用户反复商讨,取得用户的认可,然后才真正进入程序的编写过程。

4、不可或缺的相关知识

PLC的程序是直接作用于对象的具体工艺过程,那么对对象具体工艺过程的理解是非常重要的的。我在与用户的交流过程中,会用我所掌握的Unit Operation的知识分析用户的工艺过程,协助用户整理过程控制中的各个逻辑关系,甚至包括各种仪表、硬件的配置。这得益于我原本所学的专业。

当然,不能要求所有搞PLC程序的工程师都有我这样的经历。但是有两门知识却是不可或缺的:一是过程仪表的硬件知识,包括传感器、变送器(二次仪表)和PLC本身,这是构建控制系统的基础;二是过程控制理论,包括各种控制模型的原理和应用,其中最重要的是二位调节和PID调节模型。PID调节是目前用得最广泛的过程控制手段,且变化多端。学习PID最好的方法就是读书。

几乎所有讲解过程控制的书籍都有关于PID的内容,多读基本相关的书籍对理解PID是很有益处的。我发现不少网友在进入PLC领域时,缺乏这些相关知识。这并不可怕;可怕的是当事者不能静下心来弥补知识的缺陷。我们不要怪罪学校没有教授这些内容,而是要注重自己如何去学习这些知识。工作中遇到的许多问题是学校里没讲过的,这不能成为我们拒绝工作的理由,而应该以积极的态度去应对这些问题。我的体会是,为了解决工作中的问题而学习的知识,比课堂上学的东西更容易记住。

5、养成良好的编程习惯

每个人编程都会有不同的习惯和特点,不能强求一致。但是一些好的习惯还是应该为大多数人所遵循。一是理顺逻辑关系、时序关系,编制程序框图;二是合理分配主程序、子程序和中断程序;三是合理分配寄存器,编制寄存器符号表。

PLC编程更接近于单片机,或者说PLC就是模块化的单片机。因此PLC的很多操作都是直接针对寄存器的,如果在程序中出现不合理的寄存器地址重叠,一定会出现不可预想的后果。编制寄存器符号表不仅可以避免上述问题(MicroWin会有问题提示),而且可以使程序具备更好的可读性。这和VB中定义变量有异曲同工之处。

VB编程中关注的是事件,不强调主程序和子程序的观念,因为VB主程序的工作是由PC的操作系统完成的。PLC则不然。PLC程序是以主程序为主干的,CPU不断的循环执行主程序,只有触发条件成立时才会调用子程序或中断程序。即子程序和中断程序所执行的任务不是全时需要的。如果把这些任务都放在主程序中会无端增加主程序的工作量,降低程序的效率。这点和单片机的编程思路是一致的。子程序的使用可以使整个程序的逻辑更清晰。而且子程序可以分开编写、调试,最后“安装”到主程序上。这样你可以一个一个解决问题。

PLC编程,无论是LAD,抑或STL,都不如VB那么直观、有趣,更不如CAD那么形象。但比单片机的汇编语言的可视性强多了。对于初学者,LAD(梯形图)的编程相对直观,更容易上手。

最后,PLC提供了丰富的指令、模块,比单片机方便了很多。但是初学者编程时应尽量先使用简单的指令达到目的。尽管看上去有点土,却不失为一个入门的好途径,且对你理解那些较为复杂的指令会有帮助。具备了一定经验后,应该考虑掌握复杂指令的应用,以及程序的优化。

最后,“曾经的新手”给正在准备入门的学弟们介绍几点经验

1、先通读一遍“系统手册”(不管能不能看懂,先了解个大概,以便学习编程时查找);

2、由位控逻辑入手,逐渐增加定时、计数等条件,把或、与、非关系理顺;

3、进而练习整数运算、实数运算、类型转换;

4、量程转换、PID调节回路的建立及P、I、D参数的理解(最好是有个物理回路验证,比如变频器+电机+测速传感器);

5、循环、顺序、跳转等程序控制(尽量避免跳转,非跳不可时也是跳的越近越好);

6、中断、通讯、位置控制....

特别提醒

① 如果发现PLC工作不正常,先清除,再下载。

② 有疑问第一个动作按“F1”,第二动作查“系统手册”,第三动作“论坛搜索”,第四动作“提问”。

③ 无论是编程还是实际接线验证,切忌急躁,如果脑子不清楚就先别干,防止发生安全事故或损坏设备。

④ 自己的验证过的程序注意收藏,程序文件命名要简明清晰,以备今后复习或直接应用到项目中。

字节跳动的PLC指令多难学?

都说PLC指令多难学,实际就怎么多

1. 程序流程

• 条件跳转(CJ/FNC 00)

• 子程序调用(CALL/FNC 01)

• 允许中断(EI/FNC 04)

• 禁止中断(DI/FNC 05)

• 循环范围的起始(FOR/FNC 08)等

2. 传送·比较

• 比较(CMP/FNC 10)

• 触点比较(FNC 224~246)

• 浮点数比较 (ECMP/FNC 110、EZCP/FNC 111)

• 区间比较(ZCP/FNC 11)

• 高速计数器比较(FNC 53~55)

• 高速计数器表比较(HSCT/FNC 280)

• 数据传送(MOV/FNC 12)

• 浮点数数据传送(EMOV/FNC 112)

• 高速计数器传送(HCMOV/FNC 189)

• BCD转换(BCD/FNC 18)

• BIN转换(BIN/FNC 19)

• 格雷码的转换(FNC 170、171)等

3. 四则·逻辑运算

• BIN加法运算(ADD/FNC 20)

• BIN减法运算(SUB/FNC 21)

• BIN乘法运算(MUL/FNC 22)

• BIN除法运算(DIV/FNC 23)

• BIN加一(INC/FNC 24)

• BIN开方运算(SQR/FNC 48)

• 三角函数(FNC 130~135)

• 浮点数转换(FNC 49、118、119、129)

• 浮点数四则运算(FNC 120~123)

• 浮点数开方运算(ESQR/FNC 127)等

4. 循环·移位

• 循环右移(ROR/FNC 30)

• 循环左移(ROL/FNC 31)

• 带进位循环右移(RCR/FNC 32)

• 带进位循环左移(RCL/FNC 33)

• 位右移(SFTR/FNC 34)

• 位左移(SFTL/FNC 35)

• 字右移(WSFR/FNC 36)

• 字左移(WSFL/FNC 37)等

5. 数据处理

• 成批复位(ZRST/FNC 40)

• 译码(DECO/FNC 41)

• 编码(ENCO/FNC 42)

• ON位数(SUM/FNC 43)

• 平均值(MEAN/FNC 45)

• 字节单位的数据分离·结合(FNC 141、142)

• 16位数据的4位的结合·分离(FNC 143、144)

• 上下限限位控制(LIMIT/FNC 256)

• 死区控制(BAND/FNC 257)

• 区域控制(ZONE/FNC 258)

• 数据块处理(FNC 192~199)

• 字符串处理(FNC 200~209)等

6. 高速处理

• 输入刷新(REF/FNC 50)

• 输入刷新(带滤波器设定)(REFF/FNC 51)

• 脉冲密度(SPD/FNC 56)

• 脉冲输出(PLSY/FNC 57)

• 带加减速的脉冲输出(PLSR/FNC 59)等

7. 便捷指令·外围设备用的指令

• 初始化状态(IST/FNC 60)

• 示教定时器(TTMR/FNC 64)

• 交替输出(ALT/FNC 66)

• 斜坡指令(RAMP/FNC 67)

• 旋转工作台控制(ROTC/FNC 68)

• 数字键输入(TKY/FNC 70)

• 数字开关(DSW/FNC 72)

• 7段解码器(SEGD/FNC 73)

• 7SEG时分显示(SEGL/FNC 74)

• ASCII 数据输入(ASC/FNC 76)

• BFM的读出、BFM的写入 (FNC 78、79、278、279)

• 串行数据传送(FNC 80、87)

• 模拟量旋钮(FNC 85、86)

• 变频器通信(FNC 270~275)

• MODBUS通信(FNC 276)

• HEX→ASCII转换(ASCI/FNC 82)

• ASCII→HEX转换(HEX/FNC 83)

• CRC运算(CRC/FNC 188)

• 产生随机数(RND/FNC 184)

• 时钟数据处理(FNC 160~167)

• 计时表(HOUR/FNC 169)

• 发出定时脉冲(DUTY/FNC 186)

• 登录到扩展寄存器(LOGR/FNC 293)等

8. 复杂的控制

• 数据检索(SER/FNC 61)

• 数据排列(FNC 69、149)

• PID运算(PID/FNC 88)等

9. 定位控制

• 带DOG搜索的原点回归(DSZR/FNC 150)

• 中断定位(DVIT/FNC 151)

• 使用成批设定方式定位(TBL/FNC 152)

• 读出ABS的当前值(ABS/FNC 155)

未完待续。。。。。。

相关问答

三菱Fx2n系列,用SEGL指令,PLC需要接CD4511译码器再接数码管吗?

用SEGL指令,PLC不需要接CD4511译码器,而是采用晶体管型输出口直接接数码管,接线时要注意串接合适的电阻。用SEGL指令,PLC不需要接CD4511译码器,而是采用晶体...

 章萌芊  数字频率计 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部