西马仪表 和 嘉兴自动化:看过26楼的简单回复,你们两位应该清醒一下头脑,你们所知道的作的只不过是一点皮毛而已,凭借着个人的一点小聪明是做不了大工程的,你们读过国外自动化公司编写的大规模控制控制程序吗?
我曾经管理过一个汽车涂装车间的设备,整个车间有29台S7-416-3DP的CPU,下载之前的PLC源代码就有500多MB。
程序的编写不是简单的实现功能,也不是什么“高手”所为,而是一个团队的智慧结晶,这个团队分工如下:有人负责程序整体架构规划,有人负责子程序设计(他们对被控对象的特性非常了解),有人负责代码的虚拟仿真,有人负责到现场调试验证。
程序的结构,变量地址的的分配,符号的命名原则,子程序的编号命名都是非常有学问的,比如子程序的编号,其编号来自电气图编号,而电气图上的编号来自机械化图,所有的编号具有超强的一贯性,决不是你们想象的那样随意。
这些人中,我只见过到现场调试的人,其他人员都未见过。
当过拿到,并花了两个月的时间,基本搞懂这些程序的时候,先前建立在日系PLC基础上的认识完全改变了,原来的认识太肤浅了,学PLC,首先要学计算机,要把PLC当成一台计算机(注:我所说的计算机不是那个有主机,显示器,鼠标,键盘组成的东西,而是有输入,输出,控制器,运算器,存储器组成的理论模型), 这样才能更好的理解和应用PLC.
我是个大四学生,机电一体化专业的,我对PLC非常的感兴趣,现在正在着手深入学习呢,工作基本也准备往这个方向发展了。
看了楼上前辈们的回复,我想我是不是应该做如下的一些准备:
学习一门编程语言,深入学习微机原理(还是什么,或者还有其他什么?),现在课本上教的是三菱FX2N的,我准备自学西门子系列的,试验的时候多观察硬件,有可能去市场看看各种PLC
这就是我的学习计划,请各位前辈帮忙回答下我的几个疑问,
除了学习微机原理,我还要学什么?我对微机结构和编程掌握的还是很不错的,我已经上过微机原理课了,只是没有那么深入而已。
西门子系列的PLC我该如何入手?用什么样的思维来学习他?按照传统的计算机编程吗?
我的学习计划正在进行中,请问还有什么需要调整的吗?
非常感谢大家,先谢谢了!
欢迎29楼的毕业生来我们公司工作(奇瑞汽车有限公司)
这是我2005年编写的一个红绿灯控制,当时俺要调动工作,领导就逼我给下属培训PLC知识, 我就写了这个程序,领导也是搞电气出身的,不过这位爷对字母不感冒,看到这个程序,当时就傻眼了,在他眼里,PLC应该是梯形图,与或非符号,没想到还有这个,其实还可以用高级语言呢,不过我也不会。
主要特点是没有采用S7PLC标准定时器, 简直就是汇编语言,给各位献丑了。
//---Author:赵明,2005年11月15日-----------
//---主题:Traffik Lampen----------------
//---Time Base---------------------
//----------------------------
OPN DB 1 //open DB
A DBX 14.0 //load Trig bit
= #Trig_Bit
A DBX 14.1 //loadmidbit
= #Mid_Bit
//----------------------------
A M 5.5 // 时间基准
FN #Mid_Bit //Negtive edge
S #Trig_Bit //Set flag
NOP 0
NOP 0
//----------------------------
A #Trig_Bit //if false,jump to mm3
JCN mm2
//----------------------------
L DBW 12 //current value
L 1 //---> -1,0,1 ???
<I //compare
JC mm1 //if current great setting,jump
L DBW 12 //otherwise current=current+1
L -1
+I //add 1
T DBW 12
&n
to:26楼,27楼的兄弟。
首先必须承认,我们都不是什么真正的高手,因为强中自有强中手。。。。呵呵。
其次我和嘉兴兄的回答是针对楼主的提问进行的回答。只是回答楼主有关西门子和三菱哪个好学的问题。楼主并没有要求要成为大师。再说,学三菱和学西门子有什么区别??你敢说人家用日系的高手就编不出西门子一样功能的程序???你敢说西门子就不能编出和三菱一样功能的程序???选择PLC只是在工艺需要和硬件指标之间完成最优化而已。。。
第三,楼主说29台dp,其实这并不算什么大不了的。。。你做涂装。我做窑炉。你做热工,我做水处理,等等。这些都不算什么大不了的东西。程序的容量大小并不能表示编程序的人有多高手。我还编过300的源代码将近500兆的程序呢。没有29台,是23台,走的是以太网。。但我这500兆的程序里面。正在困难的只有大概几十k。这几十k是控制高速脉冲阀和高速运动控制的。其余的全是很简单的逻辑和计算而已。。。
第四,你说的大项目,什么叫大项目?只是金额大而已。。。单纯系统集成800万够不够??
第五,不要老是提外国人怎么样怎么样的。虽然我们国家的加工制造水平相对国外是低,虽然我们的自动化程度是落后,但并不表示我们的工程师就比外国的差。。。当然,我还不能算是个好工程师。。。
第六,你说的所谓的分工,这在项目管理里面是很正常的,没有什么大不了的。。正规的企业,做的大项目而言。这些都是正常现象而已。。。。
第七,楼主用语句编程,说句实在话,还好是我看得,要老菜鸟等人看了估计要偷笑。。。当然。既然楼主提到时基问题和汇编问题,我还要问楼主一下,楼主对PLC循环扫描时间的控制是如何控制的。换句话说,用c也能做延时,用b也能做延时,但为什么很多时候在要求及其精确的延时时,搞电子设计的工程师很多都采用汇编呢????楼主考虑一下执行每个指令的周期时间吧。。。。