机械必威体育网址

找回密码
注册会员

QQ登录

只需一步,快速开始

搜索
1 2 3 4 5 6 7 8 9 下一页
返回列表 发新帖
查看: 25762 | 回复: 86
打印 上一主题 下一主题

啃PLC才1年,每月有三四个工程的工作量,分享我的总结

[复制链接]
跳转到指定楼层
#
发表于 2009-9-6 14:55:12 | 只看该作者 回帖奖励 | 正序浏览 | 阅读模式
我并非专业出身,学电气才1年,后由于兴趣和形势逼迫才啃PLC,到现在总共才三年,虽然底子薄点,但一个月有三四个工程的工作量,实践机会很多. 在这里我不敢谈经验, 只是就我个人在这段时间走的弯路与大家分享.新人以为鉴:$ W( k' S; V6 _/ I

' R3 p. w$ J0 `9 P, Q
/ d0 p1 z& u! v1 接到工程的开始不要忙于设计图纸,应该多和机械设计人员多交流,还有设备调试人员,拿到设备运行的第一手资料,记住,你要最了解设备,包括生产出产品的工艺.
e. G' c3 {( z" Z/ m# A& A( C* k1 e1 R- x+ J) `; T
9 [/ D7 A# {5 {
2 绘制流程图,这个图纸只为自己使用,所以不用太规范,图中应包括设备的运行过程,标注注意事项,对设备应有总体规划.
, X& T% K* \" Y3 K9 ]% Q3 F8 w+ u- z3 F

8 }9 ^" d$ V, |$ }) d8 X3 用IO表格定义输入输出.0 x6 `" U2 Z2 x* Z
3 i) O( p; R; s4 S* G) e

, k. u3 n3 V# _0 ^) q. k, X$ v( Y输出:a.同一电压等级的尽量靠近 b.不同频率的应单独划分.以上两点便于配盘和现场抗干扰的方便. c.程序上顺承关系的输出应尽量靠近以方便编程 d.留出10%的空点做备用(我是做非标产品的,临时该设备是常事,定型产品则不用)
2 C' `: @+ ?, l2 @! b9 T3 m7 S+ S+ @
输入:a.根据设备程序工艺分配触摸屏输入和控制板输入,控制板输入点定义时应注意预留一个备用按钮.
9 J5 x3 q9 Y3 A: f) ?8 y; a0 P. W$ {; F ~' t
编制变量表:变量表的编制应合理规划:最失败的程序往往用到一个变量就随便用.对于与外设有关联的变量应保持连续并把只读,只写,读写型的合理分开,同一类型的变量靠近.这样有利于通讯的速度和程序的阅读.
! ]$ ?2 E9 l. e" P# `
. G' H) a- I1 H0 N' x( l+ _$ U1 b; |3 W2 G2 A7 q3 J7 A
4 出图:这个比较烦琐.除了电气图,还应有安装图.一定要规范配盘.不然将来等你拿到控制盘时发现要改的太多.基础图,将基础图中附加电气要求(其实主要是接地要求)! F8 k8 ]% z4 m7 P" w+ Q) g) {: i
6 _) T7 T' G4 z; ^5 B% s* Q* Y- O3 Z

. m" R: V, z0 u7 ^5 编程:我建议主程序不要写控制,而只有子程序的调用.子程序应分类,初始化\手动\单循环\自动多循环\全局中间控制的\运算的\报警的\复位程序,注意控制类程序转换时的复位.尽量的简化.

. F6 N( P9 T% K
6 _* }! e; d- I) w7 U) Y' K9 n6 M
& ]# l9 ?) N8 F# j& \; v5 c3 v9 W1 A6 n8 r$ U4 u( X
就编程而言,其实是整个系统的实现部分。
7 T/ a: b: \0 Q3 i, u
! _+ g1 J! ~6 Y$ l
3 h6 j. n( k6 N P( ~8 F到此时,工程已经完成70%了,所以程序只占系统的20%(其余10%是编制使用说明书、验收材料等用户文件),但也是最费我们氧气的环节,说到缺氧说点题外的,最近我正在编一台设备其中包括4模入、1模出、变频、3个HSC,定完程序框架一看,共用了10个子程序、11个中断,呵呵。回来说程序,我发现本必威APP精装版下载大多提到的是指令的应用,其实程序的定义很广,不是语句严谨就是好程序,还要结构合理、系统化、易移植性、易扩展性、安全性及冗余等等。
: o! S4 t$ ?5 D, u) l" Q" B
) J P, V s: A& w, S7 B. t3 X, P$ ~0 n! C
1、 程序结构很重要,便于别人阅读,把程序开发人员的思路清楚的展现给他人,编程中避免数据的交叉、语句的跳转,此处并不是说JUMP语句,而是顺序分布,不要编程序网,很多人(包括自己)会被网套住,要编成程序链,让别人读程序时有如扶着钢锁过桥的感觉。这也是我为什么喜欢用T型图而不喜欢用语句,实践证明用语句比T型图出逻辑错误的几率高。
( x; |5 |, a3 d: `$ \: v6 a+ O$ C1 V! l6 | e1 q

- V9 T) S1 c% d& X- b/ q
) n, v) a( }/ T5 @2、 程序的系统化,把程序按功能划分,即“块”的理念,把一台复杂的设备分成若干个块,每个块独立实现其功能,孙子说过,敌人强大,我设法把他分散开,再逐一击破。我从来不在主程序里写指令,全是调用,程序的树型结构在很多年前就被人认可,树干有若干分枝,枝上再分杈,如果你看见主树干上长满树叶和果实会不会觉得心堵?
8 E: f* M+ o' X# h4 j. a+ n# `, J7 Q8 @' a2 w

9 q, Z. A$ O6 v0 |M6 n* }$ L: W" K/ B4 k4 W6 t1 p

, E. ?2 o5 p8 A3、 移植和扩展,如果你搞过PC编程,这两个词肯定不生,移植是为了其它相同功能程序的调用,建议大家多做点库,扩展性是为了设备有可能发生的二次改造或与其它设备的合作(并非通讯)而预先考虑的预留,当然扩展性更适合我们这些做非标产品的,手指有点麻了。
( _* d7 M) A9 i$ w) ^ J4 Q$ {9 Z/ R N0 D7 q

$ }- C( Z( v* }/ s: g' O# a* U: v& ~0 A1 Y
4、 安全性和冗余应该放在一起说,安全性即稳定性,好的系统不仅仅是处理复杂的运行和运算,首要是安全稳定,能处理突发事故,和避免事故扩大,这里我说说“千万不要用STOP指令”,停机后,你连事故都处理不了了,再上电可能就会扩大事故。当然小设备除外,我知道STOP的唯一用途就是,别人不给你设备款,就在他用了一段时间后STOP他的设备,呵呵。冗余,好象300或400有,我没用过,我这里说的冗余是指软件冗余程序,并不是硬件的,在不影响系统性能的情况下,系统中的冗余程序应占总程序的50%~75%左右,当然这也和系统的复杂程度有关,我个人认为冗余程序的定义是:在非正常工作情况下运行,旨在发现处理故障及其它非正常状况或数据的程序。没有冗余就谈不到完整。1 b) P) }5 X- m$ z8 X

4 i5 F5 E f% c- G$ g3 a# c7 S6 J# l" ~; T
再深白话就是系统的自检测、自诊断、容错性和拟人模仿性了,下回和大家白话。
( Y) F9 b; T: I
! z& P- R& V5 q9 m2 h0 n) b8 h* C2 e& \: L0 K
总之,如果你把面前的一堆废铁变成一个机器人,赋予他眼耳鼻舌口手及思想和灵魂,你会发现你就是造物主,生命在你指尖诞生。2 z `' D% I* D; a% K, P! T! ~
86#
发表于 2014-7-15 08:47:55 | 只看该作者
很棒
85#
发表于 2014-7-14 20:08:27 | 只看该作者
总之,如果你把面前的一堆废铁变成一个机器人,赋予他眼耳鼻舌口手及思想和灵魂,你会发现你就是造物主,生命在你指尖诞生。3 M9 ~0 S. T1 b( Z
我觉得一个产品不是一个人的创造,是大家 合力的结果!机械工程师的作用很重要!
84#
发表于 2014-7-4 16:01:10 | 只看该作者
感谢分享
83#
发表于 2014-7-2 15:12:17 | 只看该作者
谢谢分享
82#
发表于 2014-7-1 23:34:42 | 只看该作者
经验啊
( j9 R% U9 q6 ?# D# P; [5 D
81#
发表于 2014-7-1 23:26:51 | 只看该作者
跟楼主学习可以吗?我也想自家做个项目,2403771654
80#
发表于 2014-7-1 11:41:31 | 只看该作者
感谢分享 ,坛子里最需要就是楼主这样的帖子。
79#
发表于 2014-6-12 15:27:34 | 只看该作者
学习了
78#
发表于 2014-6-12 15:06:11 | 只看该作者
实践出身
77#
发表于 2014-6-12 11:56:22 | 只看该作者
好东西,不过自己水平有限,多读几遍,能理解个大概
1 2 3 4 5 6 7 8 9 下一页
返回列表 发新帖
您需要登录后才可以回帖 登录| 注册会员

本版积分规则

小黑屋|手机版|Archiver|机械必威体育网址(京ICP备10217105号-1,京ICP证050210号,浙公网安备33038202004372号)

GMT+8, 2024-6-11 13:45, Processed in 0.056800 second(s), 16 queries , Gzip On.

Powered byDiscuz!X3.4Licensed

? 2001-2017Comsenz Inc.

快速回复 返回顶部 返回列表