技术论坛

一台PLC1500系统中,一个储水装置如何控制多个搅拌设备,求思路

作者 主题
游士

经验值: 240
发帖数: 48
精华帖: 0
主题:【求助】 一台PLC1500系统中,一个储水装置如何控制多个搅拌设备,求思路


只看楼主 楼主 2020-03-25 11:21:20

如下系统中,一台PLC控制【总进水】到储水装置中,储水装置有一个液位检测开关,当检测到水装满后,就可以随机往下面的3个搅拌装置中通水,通水满后,开始搅拌10分钟,搅拌完成后放水。

       搅拌装置共有3个(#1搅拌装置、#2搅拌装置、#3搅拌装置),每个搅拌装置有1个进水阀、搅拌棒和出水阀。

      1、储水装置水满后,随机选择1个搅拌装置(该装置必须空闲),假如选择空闲的#1,则#1的进水阀动作,开始注水,注水满后,开始搅拌,搅拌完成,#1出水阀动作

     2、储水装置水满后,如果#1搅拌正在搅拌,因此只能从#2和#3中选择一个空闲的设备(不能选择#1,因为#1正在工作),如果选择空闲#3,则#3的进水阀动作,开始注水,注水满后,开始搅拌,搅拌完成,#3出水阀动作.

      3、#1正在搅拌时,#3也有可能正在搅拌。


      请求思路,#1,#2,#3的进水阀、搅拌棒、出水阀该如何控制呀!








 
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1615678&b_id=66&s_id=0&num=27

至圣

经验值: 20134
发帖数: 2780
精华帖: 23
回复: 一台PLC1500系统中,一个储水装置如何控制多个搅拌设备,求思路


只看楼主 1楼 2020-03-25 11:44:29

状态查询,1或者0


Less is more……
以下网友喜欢您的帖子:

  
侠圣

经验值: 4868
发帖数: 547
精华帖: 2
回复: 一台PLC1500系统中,一个储水装置如何控制多个搅拌设备,求思路


只看楼主 2楼 2020-03-25 11:48:28

多个搅拌设备做好排序,按顺序来就可以,故障或者手动取消跳过该设备直到正常后继续参与轮询

每个搅拌设备做标志位,只有在空闲时参与轮询


 
以下网友喜欢您的帖子:

  
至圣

经验值: 19840
发帖数: 8834
精华帖: 39
回复: 一台PLC1500系统中,一个储水装置如何控制多个搅拌设备,求思路


只看楼主 3楼 2020-03-25 12:09:26

允许操作的放到一个队列中,然后做一个索引变量,从1到队列长度每个周期+1,条件满足了,就把当前索引的移出队列,对这个进行操作,剩下的继续等着翻牌。如果工作完成了,继续加入到队列中


 
以下网友喜欢您的帖子:

  
至圣

经验值: 16429
发帖数: 2402
精华帖: 0
回复: 一台PLC1500系统中,一个储水装置如何控制多个搅拌设备,求思路


只看楼主 4楼 2020-03-25 13:41:39

首先熟悉工艺流程


开心每一天,懂得包容、感恩!
以下网友喜欢您的帖子:

  
游士

经验值: 240
发帖数: 48
精华帖: 0
回复: 一台PLC1500系统中,一个储水装置如何控制多个搅拌设备,求思路


只看楼主 楼主 5楼 2020-03-25 13:46:08
以下是引用shine在2020-03-25 12:09:26的发言 >3楼

允许操作的放到一个队列中,然后做一个索引变量,从1到队列长度每个周期+1,条件满足了,就把当前索引的移出队列,对这个进行操作,剩下的继续等着翻牌。如果工作完成了,继续加入到队列中

请问能说的具体点吗?

1、队列如何操作

2、如何判断哪个搅拌设备空闲

3、如何(或什么时候)让进水阀动作、让搅拌阀动作、让出水阀动作


 
以下网友喜欢您的帖子:

  
侠圣

经验值: 4868
发帖数: 547
精华帖: 2
回复: 一台PLC1500系统中,一个储水装置如何控制多个搅拌设备,求思路


只看楼主 6楼 2020-03-25 15:22:49

 这样的系统200Smart也能办到吧

先说储水罐利用液位开关控制总进水开关来达到储水罐的控制

每个搅拌设备利用条件判定是否满足加水条件(条件可以是多个,比如故障/手动停止/正在搅拌等等)

把几个搅拌设备编好号按照顺序先检查1#设备是否满足加水条件满足就加水(不满足就检查2#设备),加完水检查2#设备是否满足加水条件,一直到最后一个设备,然后再从1#开始,周而复始就可以了。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 20134
发帖数: 2780
精华帖: 23
回复: 一台PLC1500系统中,一个储水装置如何控制多个搅拌设备,求思路


只看楼主 7楼 2020-03-26 01:33:25

根据三台搅拌设备的运行状态(搅拌FB的状态反馈信号,是否使用中)向三个连续的不同的位赋值,如1号对应写0位,2号对应写1位,3号对应写2位,以包含此三位的字节值或者字值作为总状态字节或者状态字。

利用一个输出范围为1~3(共3台搅拌设备)的随机数发生器(西门子通用库LGF中有此FC),使用上述状态字值分别穷举(此处比较暴力)从0到7的8种情况(0值对应无设备使用中,7值对应3台设备全部使用中,二进制位权,8421)结合条件表达式(如为0值时,则输出的任意在1~3之间的随机值都是合法有效值),

伪代码:

if statusWord = 0 then//3台设备都未使用

    mixID := randomRetVal;//随机数FC生成的1~3之间的任意数

end_if;

... ...

if statusWord = 7 then//3台设备全部使用中

;//执行空指令

end_if;


得到合法的随机值,将此随机值按分别等于1,2,3的比较触点,赋予搅拌设备FB接口的start管脚,作为执行1,2,3搅拌设备FB的条件,二级搅拌FB块“mixingEquipment”在总功能块“tank"中作为多重背景使用,至此完成项目要求。


Less is more……
以下网友喜欢您的帖子:

  
至圣

经验值: 20134
发帖数: 2780
精华帖: 23
回复: 一台PLC1500系统中,一个储水装置如何控制多个搅拌设备,求思路


只看楼主 8楼 2020-03-26 09:55:10

一码归一码,有码才有益。








Less is more……
以下网友喜欢您的帖子:

  
至圣

经验值: 20134
发帖数: 2780
精华帖: 23
回复: 一台PLC1500系统中,一个储水装置如何控制多个搅拌设备,求思路


只看楼主 9楼 2020-03-26 10:46:14

@qing__lin__li 上面采用穷举法列出所有可能求mixID的方法不够通用,在设备数量比较少时尚可行,数量多了就不简洁了,有好方法的话不妨一起讨论讨论。


Less is more……
以下网友喜欢您的帖子:

  
侠圣

经验值: 3343
发帖数: 650
精华帖: 1
回复: 一台PLC1500系统中,一个储水装置如何控制多个搅拌设备,求思路


只看楼主 10楼 2020-03-26 11:48:31

有没有搅拌机的各种工作状态

工作状态,水有没有满,等等信号

有这些就可以做当个搅拌机的工作流程了


剩下的就按照需求调用了


罢了,罢了.
以下网友喜欢您的帖子:

  
游士

经验值: 240
发帖数: 48
精华帖: 0
回复: 一台PLC1500系统中,一个储水装置如何控制多个搅拌设备,求思路


只看楼主 楼主 11楼 2020-03-26 15:54:31
以下是引用百夫长在2020-03-26 11:48:31的发言 >10楼

有没有搅拌机的各种工作状态

工作状态,水有没有满,等等信号

有这些就可以做当个搅拌机的工作流程了


剩下的就按照需求调用了

有水满标识和水空标识


 
以下网友喜欢您的帖子:

  
游士

经验值: 240
发帖数: 48
精华帖: 0
回复: 一台PLC1500系统中,一个储水装置如何控制多个搅拌设备,求思路


只看楼主 楼主 12楼 2020-03-26 16:46:30
以下是引用唐诗宋瓷在2020-03-26 10:46:14的发言 >9楼

@qing__lin__li 上面采用穷举法列出所有可能求mixID的方法不够通用,在设备数量比较少时尚可行,数量多了就不简洁了,有好方法的话不妨一起讨论讨论。

设计2个队列,其中队列A用于存储空闲设备,另外一个队列B用于存储正在工作的设备。


    1、初始化时,队列A为满,队列B为空

    2、如果选定#1设备开始工作,则从队列A中将#1删除,然后添加到队列B。

   3、如果#1设备工作结束,则从队列B中将#1删除,然后添加到队列A。


  不知道可行不可行


 
以下网友喜欢您的帖子:

  
游士

经验值: 240
发帖数: 48
精华帖: 0
回复: 一台PLC1500系统中,一个储水装置如何控制多个搅拌设备,求思路


只看楼主 楼主 13楼 2020-03-26 17:24:08
以下是引用唐诗宋瓷在2020-03-26 10:46:14的发言 >9楼

@qing__lin__li 上面采用穷举法列出所有可能求mixID的方法不够通用,在设备数量比较少时尚可行,数量多了就不简洁了,有好方法的话不妨一起讨论讨论。


   这这方面还有点搞不清楚


   假如:这次选择#1设备,#1设备开始工作,需要启动#1的进水阀;当#1设备工作完成,需要关闭#1的进水阀,该怎么开启和关闭#1进水阀呀(带电开、失电关)


 
以下网友喜欢您的帖子:

  
至圣

经验值: 20134
发帖数: 2780
精华帖: 23
回复: 一台PLC1500系统中,一个储水装置如何控制多个搅拌设备,求思路


只看楼主 14楼 2020-03-26 19:35:16
以下是引用qing__lin__li在2020-03-26 17:24:08的发言 >


   这这方面还有点搞不清楚


   假如:这次选择#1设备,#1设备开始工作,需要启动#1的进水阀;当#1设备工作完成,需要关闭#1的进水阀,该怎么开启和关闭#1进水阀呀(带电开、失电关)

这就要看工艺了


Less is more……
以下网友喜欢您的帖子:

  
至圣

经验值: 20134
发帖数: 2780
精华帖: 23
回复: 一台PLC1500系统中,一个储水装置如何控制多个搅拌设备,求思路


只看楼主 15楼 2020-03-26 19:57:41
以下是引用qing__lin__li在2020-03-26 16:46:30的发言 >12楼

设计2个队列,其中队列A用于存储空闲设备,另外一个队列B用于存储正在工作的设备。


    1、初始化时,队列A为满,队列B为空

    2、如果选定#1设备开始工作,则从队列A中将#1删除,然后添加到队列B。

   3、如果#1设备工作结束,则从队列B中将#1删除,然后添加到队列A。


  不知道可行不可行

以下是引用唐诗宋瓷在2020-03-26 10:46:14的发言 >9楼:@qing__lin__li 上...

引用9楼详细内容:

@qing__lin__li 上面采用穷举法列出所有可能求mixID的方法不够通用,在设备数量比较少时尚可行,数量多了就不简洁了,有好方法的话不妨一起讨论讨论。

使用Shine圣所提到的队列实现当然也可以,而且单从技巧上讲更精妙,更通用,抽象的是更本质的东西,涉及插入元素、删除元素,统计元素、间接寻址元素等数据结构方面的操作。但是对于你可能暂时用不上,因为从易到难循序渐进的学东西才更现实。

不知道你这个题目只是一道学习的练习题,还是某考试的试题。

先用最“笨”的方式实现它,然后再学习更精妙的技巧。

我上一张图,你琢磨琢磨。




Less is more……
以下网友喜欢您的帖子:

  
至圣

经验值: 20134
发帖数: 2780
精华帖: 23
回复: 一台PLC1500系统中,一个储水装置如何控制多个搅拌设备,求思路


只看楼主 16楼 2020-03-27 11:48:53

亿图 官网链接


Less is more……
以下网友喜欢您的帖子:

  
侠客

经验值: 698
发帖数: 104
精华帖: 0
回复: 一台PLC1500系统中,一个储水装置如何控制多个搅拌设备,求思路


只看楼主 17楼 2020-03-27 13:40:56

         我来个通用的思路,假设有n个搅拌装置,建立一个db1数据块,里面建立一个数组名字为“搅拌装置”,数组元素为自定义变量类型,存放搅拌装置的状态信息,例如是否空闲,传感器信号,阀的动作信号等信号。

        然后在空闲的搅拌装置中生成一个随机数X(这一步没想到怎么实现,有思路的可以讨论一下)

将DB1.搅拌装置[X].是否空闲信号,DB1.搅拌装置[X].动作信号等信号传入FC块,

在FC块里实现搅拌装置的控制


此后如竟没有炬火,我便是唯一的光
以下网友喜欢您的帖子:

  
游士

经验值: 240
发帖数: 48
精华帖: 0
回复: 一台PLC1500系统中,一个储水装置如何控制多个搅拌设备,求思路


只看楼主 楼主 18楼 2020-03-28 10:10:32

  1、储水装置水满后(检测到DI信号)选择空闲的#1搅拌设备

  2、#1搅拌设备开始进水(进水阀带电,即:Q100.0带电)

  3、#1搅拌装置装满后(检测到DI信号),则关闭进水阀,即:Q100.0失电

  4、然后开始搅拌,搅拌10分钟后

  5、#1搅拌装置开始放水(出水阀带电,即:Q100.1带电)

  6、水旋放完后,检测到DI信号,出水阀失电,即:Q100.1失电。


  问题是:现在有3个搅拌装置,在OB1中需要始终让各自的进水阀要么带电,要么失电,我怎么

在程序设置 根据选择空闲设备的情况来让对应的进水阀和出水阀带电呢?


 
以下网友喜欢您的帖子:

  
至圣

经验值: 43587
发帖数: 15780
精华帖: 61
回复: 一台PLC1500系统中,一个储水装置如何控制多个搅拌设备,求思路


只看楼主 19楼 2020-03-28 10:47:01

s,r指令置位,复位输出


活到老,学到老!为了生活学习吧!
以下网友喜欢您的帖子:

  
收起
一台PLC1500系统中,一个储水装置如何控制多个搅拌设备,求思路
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。