登录
首页 PLC论坛 PLC论坛
回帖 发帖
正文

主题:PLC上的各任务之间如何通信?[求助]

点击:1257 回复:4

有些PLC上允许跑多个任务,每个任务的运行周期不同。
请问这些任务之间,是否也可以类似PC机那样,进行通信呢?比如传递信号量或其他变量等等。
我感觉比较难。就我看到的PLC来说,每个task只允许一个program,而各个program的变量区域都是完全独立的。
最后修改:2009-1-24 9:25:52
09-01-24 09:24
正因为如此,在支持IEC61131-3编程中,都会有一个全局变量的概念。
全局变量可以给整个程序中的所有POU共享~~通过全局变量,就可以实现通讯。
而对于一些并不使用IEC61131编程语言进行编程的PLC来说,他们使用的一些特殊的内存地址进行通讯~~如三菱的GX Developer进行Q系列的编程,就会有链接寄存器的概念,而使用GX IEC Developer编程的话,那么就是全局变量~~
就您看到的PLC来说,也会有全局变量,比如西门子,会有符号变量,通过给符号变量定义全局寄存器地址,就是全局变量,如富士,使用的是在全局变量表中定义,三菱,欧姆龙,施耐德,AB皆是如此。
对于一些使用C语言编程的PLC来说,其使用Global这样的关键词也可以定义全局变量。
但是全局变量并不可滥用,原因为当大量使用全局变量时,会占用PLC的资源,导致运行效能的降低,其二是大量的全局变量会导致Program有多个出口,不利于程序的调试以及破坏程序的独立性。
Regards
09-01-24 09:50
我正是用的IEC61131-3啊,怎么没有看到全局变量一说?莫非是我学艺不精?
惭愧啊惭愧!
09-01-24 11:10
呵呵,跟cvlsam老师学习一下,我做项目时都是使用全局变量,很少使用局部变量。
以后要注意了。
09-01-24 21:09
没有象你们那样使用过!
09-01-27 11:41

工控新闻

更多新闻资讯