您现在所在的是:

PLC论坛

回帖:4个,阅读:1281 [上一页] [1] [下一页]
2072
wugamp
文章数:228
年度积分:50
历史总积分:2072
注册时间:2008/9/13
发站内信
发表于:2009/1/24 9:24:00
#0楼
有些PLC上允许跑多个任务,每个任务的运行周期不同。
请问这些任务之间,是否也可以类似PC机那样,进行通信呢?比如传递信号量或其他变量等等。
我感觉比较难。就我看到的PLC来说,每个task只允许一个program,而各个program的变量区域都是完全独立的。



[此贴子已经被作者于2009-1-24 9:25:52编辑过]
38159
cvlsam 版主
文章数:12495
年度积分:770
历史总积分:38159
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2009/1/24 9:50:07
#1楼
正因为如此,在支持IEC61131-3编程中,都会有一个全局变量的概念。

全局变量可以给整个程序中的所有POU共享~~通过全局变量,就可以实现通讯。

而对于一些并不使用IEC61131编程语言进行编程的PLC来说,他们使用的一些特殊的内存地址进行通讯~~如三菱的GX Developer进行Q系列的编程,就会有链接寄存器的概念,而使用GX IEC Developer编程的话,那么就是全局变量~~

就您看到的PLC来说,也会有全局变量,比如西门子,会有符号变量,通过给符号变量定义全局寄存器地址,就是全局变量,如富士,使用的是在全局变量表中定义,三菱,欧姆龙,施耐德,AB皆是如此。

对于一些使用C语言编程的PLC来说,其使用Global这样的关键词也可以定义全局变量。

但是全局变量并不可滥用,原因为当大量使用全局变量时,会占用PLC的资源,导致运行效能的降低,其二是大量的全局变量会导致Program有多个出口,不利于程序的调试以及破坏程序的独立性。

Regards
2072
wugamp
文章数:228
年度积分:50
历史总积分:2072
注册时间:2008/9/13
发站内信
发表于:2009/1/24 11:10:41
#2楼
我正是用的IEC61131-3啊,怎么没有看到全局变量一说?莫非是我学艺不精?
惭愧啊惭愧!
9783
lwcccf
文章数:7459
年度积分:56
历史总积分:9783
注册时间:2006/1/7
发站内信
09工控人生征文
发表于:2009/1/24 21:09:14
#3楼
呵呵,跟cvlsam老师学习一下,我做项目时都是使用全局变量,很少使用局部变量。
以后要注意了。
希望通过论坛与各位成为朋友!
学无止境,学有所用
966
shikailiang
文章数:56
年度积分:50
历史总积分:966
注册时间:2002/11/7
发站内信
发表于:2009/1/27 11:41:51
#4楼
没有象你们那样使用过!

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

46.8003