各位大虾请过来探讨一下具有挑战性的PLC题目 点击:3790 | 回复:131



zhouduoliang

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 156回
  • 年度积分:0
  • 历史总积分:1219
  • 注册:2007年2月14日
发表于:2009-04-13 20:43:05
楼主

某项目要求完成15个电磁阀的以下功能:电磁阀分别由y0,y1,...,y16控制,按规定的时间片段来控制,如表所示:

例如:第0时段,#1,#5电磁阀开,其他的关闭,工作时间1分钟;1分钟后切换到第1时段,第#2电磁阀开,其他的关,工作时间3分钟,3分钟后到切换到第2时段;按如此顺序从0~19时段反复循环。请写出能实现上述要求的PLC程序。

 

 




大话东游

  • 精华:2帖
  • 求助:6帖
  • 帖子:39帖 | 1815回
  • 年度积分:7
  • 历史总积分:8251
  • 注册:2008年12月19日
发表于:2009-04-23 15:32:55
81楼
回复内容:
对:wanggq 关于

 

  再写得简短一些:

 

内容的回复:你的应用指令已经到了出神入化的境界了。能不能说说你是怎样学的?或者灵活运用的?


007ian

  • 精华:0帖
  • 求助:0帖
  • 帖子:31帖 | 242回
  • 年度积分:0
  • 历史总积分:2872
  • 注册:2006年11月22日
发表于:2009-04-23 15:39:25
82楼

用西门子的编一个NETWORK就OK

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2009-04-23 15:43:14
83楼

 

  回复楼上的“大话东游”

 

  没有捷径可走,就是勤动手、勤动脑,多练习、多思考!

 

 

大话东游

  • 精华:2帖
  • 求助:6帖
  • 帖子:39帖 | 1815回
  • 年度积分:7
  • 历史总积分:8251
  • 注册:2008年12月19日
发表于:2009-04-23 15:48:48
84楼
回复内容:
对:wanggq 关于

 

  回复楼上的“大话东游”

 

  没有捷径可走,就是勤动手、勤动脑,多练习、多思考!

 

 

内容的回复:多谢指教。                 


zsh340

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 25回
  • 年度积分:0
  • 历史总积分:52
  • 注册:2009年3月23日
发表于:2009-04-23 15:54:53
85楼
用步进(SFC)很容易实现这个要求。我用三菱的步进控制机械做过有8年的经验。

zsh340

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 25回
  • 年度积分:0
  • 历史总积分:52
  • 注册:2009年3月23日
发表于:2009-04-23 15:59:35
86楼

用顺控程序来设计这个电路很麻烦,而且以后改变动作不好修改。用步进就可以很简单的实现要求。而且又便于以后的扩展动修改。如果有需要请来电,13926518754(张先生)

zhouduoliang

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 156回
  • 年度积分:0
  • 历史总积分:1219
  • 注册:2007年2月14日
发表于:2009-04-23 18:38:18
87楼
多谢72楼wanggq网友的指正,应该是从D210开始的20个数据,从D300开始的20个数据,原来LD> k14  RST V0  应该改为LD> K19  RST V0

zhouduoliang

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 156回
  • 年度积分:0
  • 历史总积分:1219
  • 注册:2007年2月14日
发表于:2009-04-23 19:46:57
88楼

其实西门子300也可以用间接寻址的来实现,时间段数据和每个时间段的阀位状态分别存在两个DB数据块中,用类似上述三菱PLC的算法思路就可以实现了。

任昊

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 96回
  • 年度积分:100
  • 历史总积分:33079
  • 注册:2005年4月03日
发表于:2009-04-23 20:30:31
89楼
引用wanggq 的回复内容:

 

  都说西门子PLC如何的灵活、三菱PLC如何的“笨”和“傻”!!在我看来:“笨”、“傻”及“灵活”都不在于PLC,而在于给PLC写程序的人!!

 

  同样的题目,有用西门子PLC来完成的,也有用三菱FX系列PLC来完成的,相比之下,用西门子PLC来完成该题目并没有显出其西门子PLC的“横向思维”的优点,而用三菱PLC来完成同一个题目的第48楼的程序只用了9条指令就搞定了!其程序也运用了“横向思维”把15个电磁阀的工作状态(组合)看成是一组“2维数据”的函数来处理,难道这也不算是“灵活”的思维吗?!

 

 





芳季

  • [版主]
  • 精华:5帖
  • 求助:5帖
  • 帖子:86帖 | 5336回
  • 年度积分:0
  • 历史总积分:20165
  • 注册:2003年1月31日
发表于:2009-04-23 21:54:42
90楼
请程序用调用数据的原始数据的块大小也列出来。因为这也是程序的不可分割部分。应该计算列入程序空间。

zhang2008abc

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 7回
  • 年度积分:0
  • 历史总积分:8
  • 注册:2008年12月13日
发表于:2009-04-24 17:11:43
91楼
使用三菱的INCD指令行也可以吧。

davidhsu

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 21回
  • 年度积分:0
  • 历史总积分:65
  • 注册:2008年12月20日
发表于:2009-04-25 12:48:53
92楼
引用大话东游 的回复内容:编好了,发上来看看吧。。。。。。。




7楼珠湖写的感觉有点问题。应该像18楼大话东游写的:大于等于的数据应该加1才对,要不每一个交替的时段都有一分钟的重复输出,比如Q1.6应该改为大于等于103、大于等于110.

liuyishuai

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 10回
  • 年度积分:0
  • 历史总积分:28
  • 注册:2009年4月24日
发表于:2009-04-25 19:22:18
93楼
 wanggq Xwanggq
高手啊

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2009-04-25 22:04:06
94楼

 

  Wanggq是来向大家学习的!不敢称“高手”!还有一点“不解”:这“Xwanggq”是谁呀?!这个主题帖下跟帖的根本没有网名叫“Xwanggq”的网友嘛!

 

 

gaoxq1115

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 9回
  • 年度积分:0
  • 历史总积分:30
  • 注册:2008年4月21日
发表于:2009-04-26 00:01:51
95楼
学习中,看到这么多高手,很是羡慕啊 ,小的才人门呵,乌 加油了

你最珍贵

  • 精华:0帖
  • 求助:0帖
  • 帖子:13帖 | 400回
  • 年度积分:0
  • 历史总积分:834
  • 注册:2009年3月22日
发表于:2009-04-26 09:17:34
96楼

   收藏,改天有空加以消化。   还不知能否消化得了。。        嘿嘿,各位不要说我侵权哦。

  

 问一下: wanggq 老师,

  你说你的程序要和‘数据块’结合起来运行才行,这个数据块在哪里编辑?

    gx developer 8  软件可以编吗?

              

zhouduoliang

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 156回
  • 年度积分:0
  • 历史总积分:1219
  • 注册:2007年2月14日
发表于:2009-04-26 09:51:39
97楼
不单单是水处理,其他应用可多呢,如垂直自动电镀线就是这样的控制思路,呵呵。

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2009-04-26 12:57:37
98楼

 

    回复第97楼的问题:

 

  数据寄存器中的数据可以有多种方法编辑。可以在编程软件的《寄存器界面》上集中编辑;可以在《梯形图界面》点右键菜单中的“改变当前值”弹出当前值修改对话框,在对话框中输入寄存器编号,及数据再敲回车;还可以在手持编程器“监视/测试”界面中给寄存器写入新的数据。

 

  关于数据块的编辑,请参阅《手把手教您写“让PLC唱歌”的程序》第2页的相关帖子的内容。

 

 

 

 

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2009-04-26 13:34:16
99楼

引用芳季 的回复内容:

 

  请程序用调用数据的原始数据的块大小也列出来。因为这也是程序的不可分割部分。应该计算列入程序空间。

 


 

 

  请教“芳季”网友:数据块的大小(譬如:1个数据与100个数据的区别)跟调用它的程序空间大小(假设调用这些数据的程序都是相同的“程序步数”譬如:都为26步。)有关联吗?

 

  我的程序调用的数据块已在第49楼贴出来了;楼主的程序调用的数据块虽没有贴出来,但他已经指出过:在哪20个寄存器中存放“时间”数据,哪20个寄存器中存放“空间(即:阀位)”数据。也算有过交代,只不过是略显一点粗略的表述而已。  不是说“大丈夫不拘小节”吗,只要做了交代,不一定要每一个数据都给您具体列出来。因为多数人都能想象得出来各个数据的具体数值是多少。

 

 

刘存刚

  • 精华:0帖
  • 求助:1帖
  • 帖子:13帖 | 110回
  • 年度积分:0
  • 历史总积分:337
  • 注册:2008年8月06日
发表于:2009-04-26 14:31:40
100楼
引用wanggq 的回复内容:

引用芳季 的回复内容:

 

  请程序用调用数据的原始数据的块大小也列出来。因为这也是程序的不可分割部分。应该计算列入程序空间。

 


 

 

  请教“芳季”网友:数据块的大小(譬如:1个数据与100个数据的区别)跟调用它的程序空间大小(假设调用这些数据的程序都是相同的“程序步数”譬如:都为26步。)有关联吗?

 

  我的程序调用的数据块已在第49楼贴出来了;楼主的程序调用的数据块虽没有贴出来,但他已经指出过:在哪20个寄存器中存放“时间”数据,哪20个寄存器中存放“空间(即:阀位)”数据。也算有过交代,只不过是略显一点粗略的表述而已。  不是说“大丈夫不拘小节”吗,只要做了交代,不一定要每一个数据都给您具体列出来。因为多数人都能想象得出来各个数据的具体数值是多少。

 在GX Developer中编好程序后,怎样编写数据块和写入plc?请你不要见笑,我只是想学习学习!

 






热门招聘