关于PLC的讨论,总觉得缺少点什么
我从没搞过PLC,只是在本网站的熏陶下,接触了一点点的皮毛,不知道说的对不对但是,看到大家讨论PLC的实现讨论的热火朝天,却觉得有些根本的东西,我个人认为是很重要的,却没有谈到:
1、IEC61131。因为我们对PLC没有深入的了解,以某种PLC作为蓝本,固然减少了考察的工作量和时间,但是往往各家PLC都有各家的标准。而把各家PLC都融合起来的标准,却还鲜有提及。毕竟,标准是浓缩了许多专家们的心得,比我们自己独立考察若干阵营的PLC要有借鉴意义得多。
2、下位机软件。版主总是鼓吹,下位机软件部分占用的工作量不大,技术门槛不高。这句话确实没错。可同时也要明白,就算它的技术含量最低,真要把它做好,也决不如大家想象中的简单。我很看重PLC的一点:确定性。论坛有人曾说“编译型PLC软件只是过渡产物,因为电工们的水平越来越高(言下之意,就是电工也会用单片机了)”。可我不这么认为。因为,PLC在时间上的确定性,是自己编程无论如何也很难达到的高度。例如,你怎么保证,一个循环的时间必定在你需要的范围内?如果代码有改动,再一次验证这种时间上的确定性,需要花多少精力?
其中第一点,我认为是上位机的精髓——工作量大不等于技术难度高,我们现在还仅仅局限在如何实现梯形图编程上,那对我们电子工程师来说,可能是有点难度,但对于软件工程师来说,其实并不是。
其中第二点,我认为是下位机软件的精髓——不知道大家对 http://cq.cx/ladder.pl 有什么感觉?有没有看过它的实现机制?我觉得它犯了一个极其严重的错误,那就是它没有IO扫描。对IO的操作,是在程序中需要的地方直接访问IO,而不是在扫描周期的开始,从IO端口读到内存,而在扫描周期的结束,写入IO端口。这对PLC来说,是大忌。
至于下位机的硬件,一方面电路看得见摸得着,可参考的东西不少,另一方面,目前也仅仅是为了实现功能验证,所以电路上的文章在现阶段就不深究了。 扫描周期的开始,从IO端口读到内存,而在扫描周期的结束,写入IO端口。这对PLC来说,是基本的要求。
程序中访问IO,可以使用 ref指令(三菱)。
(在程序中需要的地方直接访问IO) 这个是单片机工程师的片面理解。还有就是编译型plc,这个部分绝对不是在上位机实现。c模块除外。 lz说的有一些道理啊。我觉得上位机软件是关键,需要有相当水平的软件设计人员配合才能做好。 For plc designed.It should be Scan IO,Cannot Direct read io.for some case can use,some case cannot use,becauseIO change will effect other command like pluse input state,so .... 还有就是编译型plc,这个部分绝对不是在上位机实现,
its wrong,编译型plc can work on 上位机实现,because the window system is fast than plc,so can run on 上位机实现. 有的是这样做的。
下位机接收到上位的指令,并存储起来。
在PLC开机的时候,读出指令,并将其翻译成CPU可识别的汇编指令。这样操作只在开机的时候或者重新下载程序的时候做。
这样应该也算是一种编译型。这样的灵活性在于和上位机的指令接口统一,同时由于运行的是编译好的汇编代码,不必每个循环都重新解释执行,所以速度性能也很好。二者得到兼顾。
觉得简易型的PLC可以参考下这个方法 fx1-3大概都是这么做的。billleu 你的编译型是什么样子的?目前有没有编译成机器码下载的工业plc? 上位机和下位机难度应该是相当的.只是工作的侧重点不同.
如果设计模型建立得不好.后期的工作可能就是推倒重来.
现在大家所熟悉的国外的PLC产品和软件都经过的测试和验证的.我们只是使用者,就象是微机一样我们只是用好的.但距离制造还差很远.
但如果不去做,去想.就只会差得越来越远. billleu 你的编译型是什么样子的
Fisrt i study FX serial plc,and i develope compatable plc editor,then develope my procon plc,so my editor can edit fx plc.my plc editor can run from plc and on-line monitor on window,if you want download to plc,my editor can download command to plc or complier to avr hex code,use bootloader to download avr code,and on-line monitor,i have post the editor picture and hardware on the forum.PD7 is bootloader switch. 了解,FNC00—CJ开始的应用指令你是如何编译的呢? 【楼主位】 Cliff
其中第二点,我认为是下位机软件的精髓——不知道大家对 http://cq.cx/ladder.pl 有什么感觉?有没有看过它的实现机制?我觉得它犯了一个极其严重的错误,那就是它没有IO扫描。对IO的操作,是在程序中需要的地方直接访问IO,而不是在扫描周期的开始,从IO端口读到内存,而在扫描周期的结束,写入IO端口。这对PLC来说,是大忌。
-------------------------------------------------------------
http://cq.cx/ladder.pl这个软件我没有用过,不过知道他是用梯形图的编译方法编译程序。
人家也没有说那个是PLC。只是借用了梯形图的概念,做的编译器。所以它本身并没有什么严重错误啊。
页:
[1]